Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/interact.../assets/admin/vendor/jsonTree
File: jsonTree.js
self.toggle(e.ctrlKey || e.metaKey);
[500] Fix | Delete
}, false);
[501] Fix | Delete
[502] Fix | Delete
self.isRoot = false;
[503] Fix | Delete
} else {
[504] Fix | Delete
self.isRoot = true;
[505] Fix | Delete
self.parent = null;
[506] Fix | Delete
[507] Fix | Delete
el.classList.add('jsontree_node_expanded');
[508] Fix | Delete
}
[509] Fix | Delete
[510] Fix | Delete
self.el = el;
[511] Fix | Delete
self.childNodes = childNodes;
[512] Fix | Delete
self.childNodesUl = childNodesUl;
[513] Fix | Delete
[514] Fix | Delete
utils.forEachNode(val, function(label, node, isLast) {
[515] Fix | Delete
self.addChild(new Node(label, node, isLast));
[516] Fix | Delete
});
[517] Fix | Delete
[518] Fix | Delete
self.isEmpty = !Boolean(childNodes.length);
[519] Fix | Delete
if (self.isEmpty) {
[520] Fix | Delete
el.classList.add('jsontree_node_empty');
[521] Fix | Delete
}
[522] Fix | Delete
}
[523] Fix | Delete
[524] Fix | Delete
utils.inherits(_NodeComplex, _NodeSimple);
[525] Fix | Delete
[526] Fix | Delete
utils.extend(_NodeComplex.prototype, {
[527] Fix | Delete
constructor : _NodeComplex,
[528] Fix | Delete
[529] Fix | Delete
/*
[530] Fix | Delete
* Add child node to list of child nodes
[531] Fix | Delete
*
[532] Fix | Delete
* @param child {Node} - child node
[533] Fix | Delete
*/
[534] Fix | Delete
addChild : function(child) {
[535] Fix | Delete
this.childNodes.push(child);
[536] Fix | Delete
this.childNodesUl.appendChild(child.el);
[537] Fix | Delete
child.parent = this;
[538] Fix | Delete
},
[539] Fix | Delete
[540] Fix | Delete
/*
[541] Fix | Delete
* Expands this list of node child nodes
[542] Fix | Delete
*
[543] Fix | Delete
* @param isRecursive {boolean} - if true, expands all child nodes
[544] Fix | Delete
*/
[545] Fix | Delete
expand : function(isRecursive){
[546] Fix | Delete
if (this.isEmpty) {
[547] Fix | Delete
return;
[548] Fix | Delete
}
[549] Fix | Delete
[550] Fix | Delete
if (!this.isRoot) {
[551] Fix | Delete
this.el.classList.add('jsontree_node_expanded');
[552] Fix | Delete
}
[553] Fix | Delete
[554] Fix | Delete
if (isRecursive) {
[555] Fix | Delete
this.childNodes.forEach(function(item, i) {
[556] Fix | Delete
if (item.isComplex) {
[557] Fix | Delete
item.expand(isRecursive);
[558] Fix | Delete
}
[559] Fix | Delete
});
[560] Fix | Delete
}
[561] Fix | Delete
},
[562] Fix | Delete
[563] Fix | Delete
/*
[564] Fix | Delete
* Collapses this list of node child nodes
[565] Fix | Delete
*
[566] Fix | Delete
* @param isRecursive {boolean} - if true, collapses all child nodes
[567] Fix | Delete
*/
[568] Fix | Delete
collapse : function(isRecursive) {
[569] Fix | Delete
if (this.isEmpty) {
[570] Fix | Delete
return;
[571] Fix | Delete
}
[572] Fix | Delete
[573] Fix | Delete
if (!this.isRoot) {
[574] Fix | Delete
this.el.classList.remove('jsontree_node_expanded');
[575] Fix | Delete
}
[576] Fix | Delete
[577] Fix | Delete
if (isRecursive) {
[578] Fix | Delete
this.childNodes.forEach(function(item, i) {
[579] Fix | Delete
if (item.isComplex) {
[580] Fix | Delete
item.collapse(isRecursive);
[581] Fix | Delete
}
[582] Fix | Delete
});
[583] Fix | Delete
}
[584] Fix | Delete
},
[585] Fix | Delete
[586] Fix | Delete
/*
[587] Fix | Delete
* Expands collapsed or collapses expanded node
[588] Fix | Delete
*
[589] Fix | Delete
* @param {boolean} isRecursive - Expand all child nodes if this node is expanded
[590] Fix | Delete
* and collapse it otherwise
[591] Fix | Delete
*/
[592] Fix | Delete
toggle : function(isRecursive) {
[593] Fix | Delete
if (this.isEmpty) {
[594] Fix | Delete
return;
[595] Fix | Delete
}
[596] Fix | Delete
[597] Fix | Delete
this.el.classList.toggle('jsontree_node_expanded');
[598] Fix | Delete
[599] Fix | Delete
if (isRecursive) {
[600] Fix | Delete
var isExpanded = this.el.classList.contains('jsontree_node_expanded');
[601] Fix | Delete
[602] Fix | Delete
this.childNodes.forEach(function(item, i) {
[603] Fix | Delete
if (item.isComplex) {
[604] Fix | Delete
item[isExpanded ? 'expand' : 'collapse'](isRecursive);
[605] Fix | Delete
}
[606] Fix | Delete
});
[607] Fix | Delete
}
[608] Fix | Delete
},
[609] Fix | Delete
[610] Fix | Delete
/**
[611] Fix | Delete
* Find child nodes that match some conditions and handle it
[612] Fix | Delete
*
[613] Fix | Delete
* @param {Function} matcher
[614] Fix | Delete
* @param {Function} handler
[615] Fix | Delete
* @param {boolean} isRecursive
[616] Fix | Delete
*/
[617] Fix | Delete
findChildren : function(matcher, handler, isRecursive) {
[618] Fix | Delete
if (this.isEmpty) {
[619] Fix | Delete
return;
[620] Fix | Delete
}
[621] Fix | Delete
[622] Fix | Delete
this.childNodes.forEach(function(item, i) {
[623] Fix | Delete
if (matcher(item)) {
[624] Fix | Delete
handler(item);
[625] Fix | Delete
}
[626] Fix | Delete
[627] Fix | Delete
if (item.isComplex && isRecursive) {
[628] Fix | Delete
item.findChildren(matcher, handler, isRecursive);
[629] Fix | Delete
}
[630] Fix | Delete
});
[631] Fix | Delete
}
[632] Fix | Delete
});
[633] Fix | Delete
[634] Fix | Delete
[635] Fix | Delete
/*
[636] Fix | Delete
* The constructor for object values
[637] Fix | Delete
* {...
[638] Fix | Delete
* [+] "label": object,
[639] Fix | Delete
* ...}
[640] Fix | Delete
* object = {"abc": "def"}
[641] Fix | Delete
*
[642] Fix | Delete
* @constructor
[643] Fix | Delete
* @param label {string} - key name
[644] Fix | Delete
* @param val {Object} - value of object type, {"abc": "def"}
[645] Fix | Delete
* @param isLast {boolean} - true if node is last in list of siblings
[646] Fix | Delete
*/
[647] Fix | Delete
function NodeObject(label, val, isLast) {
[648] Fix | Delete
this.sym = ['{', '}'];
[649] Fix | Delete
this.type = "object";
[650] Fix | Delete
[651] Fix | Delete
_NodeComplex.call(this, label, val, isLast);
[652] Fix | Delete
}
[653] Fix | Delete
utils.inherits(NodeObject,_NodeComplex);
[654] Fix | Delete
[655] Fix | Delete
[656] Fix | Delete
/*
[657] Fix | Delete
* The constructor for array values
[658] Fix | Delete
* {...
[659] Fix | Delete
* [+] "label": array,
[660] Fix | Delete
* ...}
[661] Fix | Delete
* array = [1,2,3]
[662] Fix | Delete
*
[663] Fix | Delete
* @constructor
[664] Fix | Delete
* @param label {string} - key name
[665] Fix | Delete
* @param val {Array} - value of array type, [1,2,3]
[666] Fix | Delete
* @param isLast {boolean} - true if node is last in list of siblings
[667] Fix | Delete
*/
[668] Fix | Delete
function NodeArray(label, val, isLast) {
[669] Fix | Delete
this.sym = ['[', ']'];
[670] Fix | Delete
this.type = "array";
[671] Fix | Delete
[672] Fix | Delete
_NodeComplex.call(this, label, val, isLast);
[673] Fix | Delete
}
[674] Fix | Delete
utils.inherits(NodeArray, _NodeComplex);
[675] Fix | Delete
[676] Fix | Delete
[677] Fix | Delete
/* ---------- The tree constructor ---------- */
[678] Fix | Delete
[679] Fix | Delete
/*
[680] Fix | Delete
* The constructor for json tree.
[681] Fix | Delete
* It contains only one Node (Array or Object), without property name.
[682] Fix | Delete
* CSS-styles of .tree define main tree styles like font-family,
[683] Fix | Delete
* font-size and own margins.
[684] Fix | Delete
*
[685] Fix | Delete
* Markup:
[686] Fix | Delete
* <ul class="jsontree_tree clearfix">
[687] Fix | Delete
* {Node}
[688] Fix | Delete
* </ul>
[689] Fix | Delete
*
[690] Fix | Delete
* @constructor
[691] Fix | Delete
* @param jsonObj {Object | Array} - data for tree
[692] Fix | Delete
* @param domEl {DOMElement} - DOM-element, wrapper for tree
[693] Fix | Delete
*/
[694] Fix | Delete
function Tree(jsonObj, domEl) {
[695] Fix | Delete
this.wrapper = document.createElement('ul');
[696] Fix | Delete
this.wrapper.className = 'jsontree_tree clearfix';
[697] Fix | Delete
[698] Fix | Delete
this.rootNode = null;
[699] Fix | Delete
[700] Fix | Delete
this.sourceJSONObj = jsonObj;
[701] Fix | Delete
[702] Fix | Delete
this.loadData(jsonObj);
[703] Fix | Delete
this.appendTo(domEl);
[704] Fix | Delete
}
[705] Fix | Delete
[706] Fix | Delete
Tree.prototype = {
[707] Fix | Delete
constructor : Tree,
[708] Fix | Delete
[709] Fix | Delete
/**
[710] Fix | Delete
* Fill new data in current json tree
[711] Fix | Delete
*
[712] Fix | Delete
* @param {Object | Array} jsonObj - json-data
[713] Fix | Delete
*/
[714] Fix | Delete
loadData : function(jsonObj) {
[715] Fix | Delete
if (!utils.isValidRoot(jsonObj)) {
[716] Fix | Delete
alert('The root should be an object or an array');
[717] Fix | Delete
return;
[718] Fix | Delete
}
[719] Fix | Delete
[720] Fix | Delete
this.sourceJSONObj = jsonObj;
[721] Fix | Delete
[722] Fix | Delete
this.rootNode = new Node(null, jsonObj, 'last');
[723] Fix | Delete
this.wrapper.innerHTML = '';
[724] Fix | Delete
this.wrapper.appendChild(this.rootNode.el);
[725] Fix | Delete
},
[726] Fix | Delete
[727] Fix | Delete
/**
[728] Fix | Delete
* Appends tree to DOM-element (or move it to new place)
[729] Fix | Delete
*
[730] Fix | Delete
* @param {DOMElement} domEl
[731] Fix | Delete
*/
[732] Fix | Delete
appendTo : function(domEl) {
[733] Fix | Delete
domEl.appendChild(this.wrapper);
[734] Fix | Delete
},
[735] Fix | Delete
[736] Fix | Delete
/**
[737] Fix | Delete
* Expands all tree nodes (objects or arrays) recursively
[738] Fix | Delete
*
[739] Fix | Delete
* @param {Function} filterFunc - 'true' if this node should be expanded
[740] Fix | Delete
*/
[741] Fix | Delete
expand : function(filterFunc) {
[742] Fix | Delete
if (this.rootNode.isComplex) {
[743] Fix | Delete
if (typeof filterFunc == 'function') {
[744] Fix | Delete
this.rootNode.childNodes.forEach(function(item, i) {
[745] Fix | Delete
if (item.isComplex && filterFunc(item)) {
[746] Fix | Delete
item.expand();
[747] Fix | Delete
}
[748] Fix | Delete
});
[749] Fix | Delete
} else {
[750] Fix | Delete
this.rootNode.expand('recursive');
[751] Fix | Delete
}
[752] Fix | Delete
}
[753] Fix | Delete
},
[754] Fix | Delete
[755] Fix | Delete
/**
[756] Fix | Delete
* Collapses all tree nodes (objects or arrays) recursively
[757] Fix | Delete
*/
[758] Fix | Delete
collapse : function() {
[759] Fix | Delete
if (typeof this.rootNode.collapse === 'function') {
[760] Fix | Delete
this.rootNode.collapse('recursive');
[761] Fix | Delete
}
[762] Fix | Delete
},
[763] Fix | Delete
[764] Fix | Delete
/**
[765] Fix | Delete
* Returns the source json-string (pretty-printed)
[766] Fix | Delete
*
[767] Fix | Delete
* @param {boolean} isPrettyPrinted - 'true' for pretty-printed string
[768] Fix | Delete
* @returns {string} - for exemple, '{"a":2,"b":3}'
[769] Fix | Delete
*/
[770] Fix | Delete
toSourceJSON : function(isPrettyPrinted) {
[771] Fix | Delete
if (!isPrettyPrinted) {
[772] Fix | Delete
return JSON.stringify(this.sourceJSONObj);
[773] Fix | Delete
}
[774] Fix | Delete
[775] Fix | Delete
var DELIMETER = "[%^$#$%^%]",
[776] Fix | Delete
jsonStr = JSON.stringify(this.sourceJSONObj, null, DELIMETER);
[777] Fix | Delete
[778] Fix | Delete
jsonStr = jsonStr.split("\n").join("<br />");
[779] Fix | Delete
jsonStr = jsonStr.split(DELIMETER).join("&nbsp;&nbsp;&nbsp;&nbsp;");
[780] Fix | Delete
[781] Fix | Delete
return jsonStr;
[782] Fix | Delete
},
[783] Fix | Delete
[784] Fix | Delete
/**
[785] Fix | Delete
* Find all nodes that match some conditions and handle it
[786] Fix | Delete
*/
[787] Fix | Delete
findAndHandle : function(matcher, handler) {
[788] Fix | Delete
this.rootNode.findChildren(matcher, handler, 'isRecursive');
[789] Fix | Delete
},
[790] Fix | Delete
[791] Fix | Delete
/**
[792] Fix | Delete
* Unmark all nodes
[793] Fix | Delete
*/
[794] Fix | Delete
unmarkAll : function() {
[795] Fix | Delete
this.rootNode.findChildren(function(node) {
[796] Fix | Delete
return true;
[797] Fix | Delete
}, function(node) {
[798] Fix | Delete
node.unmark();
[799] Fix | Delete
}, 'isRecursive');
[800] Fix | Delete
}
[801] Fix | Delete
};
[802] Fix | Delete
[803] Fix | Delete
[804] Fix | Delete
/* ---------- Public methods ---------- */
[805] Fix | Delete
return {
[806] Fix | Delete
/**
[807] Fix | Delete
* Creates new tree by data and appends it to the DOM-element
[808] Fix | Delete
*
[809] Fix | Delete
* @param jsonObj {Object | Array} - json-data
[810] Fix | Delete
* @param domEl {DOMElement} - the wrapper element
[811] Fix | Delete
* @returns {Tree}
[812] Fix | Delete
*/
[813] Fix | Delete
create : function(jsonObj, domEl) {
[814] Fix | Delete
return new Tree(jsonObj, domEl);
[815] Fix | Delete
}
[816] Fix | Delete
};
[817] Fix | Delete
})();
[818] Fix | Delete
[819] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function