=0&&g[e].splice(l,1);if(r!=d.move.TYPE_INNER)for(p=0,q=j[e].length;p0)t=a[e][a[e].length-1],t.isLastNode=!1;a[e].splice(a[e].length,0,c);c.isLastNode=!0;c.isFirstNode=a[e].length==1}else a.isFirstNode&&r==d.move.TYPE_PREV?(j[e].splice(w, 41 | 0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&r==d.move.TYPE_NEXT?(j[e].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(r==d.move.TYPE_PREV?j[e].splice(w,0,c):j[e].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);m.fixPIdKeyValue(b,c);m.setSonNodeLevel(b,c.getParentNode(),c);f.setNodeLineIcos(b,c);f.repairNodeLevelClass(b,c,D);!b.data.keep.parent&&g[e].length<1?(g.isParent=!1, 42 | g.open=!1,a=o(g,d.id.UL,b),r=o(g,d.id.SWITCH,b),e=o(g,d.id.ICON,b),f.replaceSwitchClass(g,r,d.folder.DOCU),f.replaceIcoClass(g,e,d.folder.DOCU),a.css("display","none")):x&&f.setNodeLineIcos(b,x);t&&f.setNodeLineIcos(b,t);b.check&&b.check.enable&&f.repairChkClass&&(f.repairChkClass(b,g),f.repairParentChkClassWithSelf(b,g),g!=c.parent&&f.repairParentChkClassWithSelf(b,c));i||f.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){o(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b, 43 | a){o(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;f.removeEditBtn(b,a);f.removeRemoveBtn(b,a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var f=o(a,b),g=o(a,d.id.A,b),b=o(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;f.removeClass(c);f.addClass(a);g.removeClass(c);g.addClass(a);b.removeClass(c);b.addClass(a)}},selectNodes:function(b,a){for(var c=0,d=a.length;c0)}},event:{}, 44 | data:{setSonNodeLevel:function(b,a,c){if(c){var d=b.data.key.children;c.level=a?a.level+1:0;if(c[d])for(var a=0,f=c[d].length;a 0)switch(i=m.getNodeCache(c,k),j){case "mousedownNode":e=x.onMousedownNode;break;case "hoverOverNode":e=x.onHoverOverNode;break;case "hoverOutNode":e=x.onHoverOutNode}return{stop:!1, 48 | node:i,nodeEventType:j,nodeEventCallback:e,treeEventType:"",treeEventCallback:null}});m.addInitRoot(function(b){var b=m.getRoot(b),a=m.getRoots();b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});m.addZTreeTools(function(b,a){a.cancelEditName=function(a){m.getRoot(this.setting).curEditNode&&f.cancelCurEditNode(this.setting,a?a:null,!0)};a.copyNode=function(a,b,k,i){if(!b)return null;if(a&&!a.isParent&&this.setting.data.keep.leaf&& 49 | k===d.move.TYPE_INNER)return null;var j=this,e=g.clone(b);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(b=function(){f.addNodes(j.setting,a,[e],i)},g.canAsync(this.setting,a)?f.asyncNode(this.setting,a,i,b):b()):(f.addNodes(this.setting,a.parentNode,[e],i),f.moveNode(this.setting,a,e,k,!1,i));return e};a.editName=function(a){a&&a.tId&&a===m.getNodeCache(this.setting,a.tId)&&(a.parentTId&&f.expandCollapseParentNode(this.setting,a.getParentNode(),!0),f.editNode(this.setting,a))};a.moveNode= 50 | function(a,b,k,i){function j(){f.moveNode(e.setting,a,b,k,!1,i)}if(!b)return b;if(a&&!a.isParent&&this.setting.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(b.parentTId==a.tId&&k==d.move.TYPE_INNER||o(b,this.setting).find("#"+a.tId).length>0))return null;else a||(a=null);var e=this;g.canAsync(this.setting,a)&&k===d.move.TYPE_INNER?f.asyncNode(this.setting,a,i,j):j();return b};a.setEditable=function(a){this.setting.edit.enable=a;return this.refresh()}});var N=f.cancelPreSelectedNode; 51 | f.cancelPreSelectedNode=function(b,a){for(var c=m.getRoot(b).curSelectedList,d=0,g=c.length;d "); 117 | }, 118 | showNode: function(setting, node, options) { 119 | node.isHidden = false; 120 | data.initShowForExCheck(setting, node); 121 | $$(node, setting).show(); 122 | }, 123 | showNodes: function(setting, nodes, options) { 124 | if (!nodes || nodes.length == 0) { 125 | return; 126 | } 127 | var pList = {}, i, j; 128 | for (i=0, j=nodes.length; i 0 && !parentNode[childKey][0].isHidden) { 172 | parentNode[childKey][0].isFirstNode = true; 173 | } else if (childLength > 0) { 174 | view.setFirstNodeForHide(setting, parentNode[childKey]); 175 | } 176 | }, 177 | setLastNode: function(setting, parentNode) { 178 | var childKey = setting.data.key.children, childLength = parentNode[childKey].length; 179 | if (childLength > 0 && !parentNode[childKey][0].isHidden) { 180 | parentNode[childKey][childLength - 1].isLastNode = true; 181 | } else if (childLength > 0) { 182 | view.setLastNodeForHide(setting, parentNode[childKey]); 183 | } 184 | }, 185 | setFirstNodeForHide: function(setting, nodes) { 186 | var n,i,j; 187 | for (i=0, j=nodes.length; i =0; i--) { 227 | n = nodes[i]; 228 | if (n.isLastNode) { 229 | break; 230 | } 231 | if (!n.isHidden && !n.isLastNode) { 232 | n.isLastNode = true; 233 | view.setNodeLineIcos(setting, n); 234 | break; 235 | } else { 236 | n = null; 237 | } 238 | } 239 | return n; 240 | }, 241 | setLastNodeForShow: function(setting, nodes) { 242 | var n,i,j, last, old; 243 | for (i=nodes.length-1; i>=0; i--) { 244 | n = nodes[i]; 245 | if (!last && !n.isHidden && n.isLastNode) { 246 | last = n; 247 | break; 248 | } else if (!last && !n.isHidden && !n.isLastNode) { 249 | n.isLastNode = true; 250 | last = n; 251 | view.setNodeLineIcos(setting, n); 252 | } else if (last && n.isLastNode) { 253 | n.isLastNode = false; 254 | old = n; 255 | view.setNodeLineIcos(setting, n); 256 | break; 257 | } else { 258 | n = null; 259 | } 260 | } 261 | return {"new":last, "old":old}; 262 | } 263 | }, 264 | 265 | _z = { 266 | view: _view, 267 | data: _data 268 | }; 269 | $.extend(true, $.fn.zTree._z, _z); 270 | 271 | var zt = $.fn.zTree, 272 | tools = zt._z.tools, 273 | consts = zt.consts, 274 | view = zt._z.view, 275 | data = zt._z.data, 276 | event = zt._z.event, 277 | $$ = tools.$; 278 | 279 | data.addInitNode(_initNode); 280 | data.addBeforeA(_beforeA); 281 | data.addZTreeTools(_zTreeTools); 282 | 283 | // Override method in core 284 | var _dInitNode = data.initNode; 285 | data.initNode = function(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag) { 286 | var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting), 287 | children = tmpPNode[setting.data.key.children]; 288 | data.tmpHideFirstNode = view.setFirstNodeForHide(setting, children); 289 | data.tmpHideLastNode = view.setLastNodeForHide(setting, children); 290 | if (openFlag) { 291 | view.setNodeLineIcos(setting, data.tmpHideFirstNode); 292 | view.setNodeLineIcos(setting, data.tmpHideLastNode); 293 | } 294 | isFirstNode = (data.tmpHideFirstNode === node); 295 | isLastNode = (data.tmpHideLastNode === node); 296 | if (_dInitNode) _dInitNode.apply(data, arguments); 297 | if (openFlag && isLastNode) { 298 | view.clearOldLastNode(setting, node, openFlag); 299 | } 300 | }; 301 | 302 | var _makeChkFlag = data.makeChkFlag; 303 | if (!!_makeChkFlag) { 304 | data.makeChkFlag = function(setting, node) { 305 | if (!!node && !!node.isHidden) { 306 | return; 307 | } 308 | _makeChkFlag.apply(data, arguments); 309 | } 310 | } 311 | 312 | var _getTreeCheckedNodes = data.getTreeCheckedNodes; 313 | if (!!_getTreeCheckedNodes) { 314 | data.getTreeCheckedNodes = function(setting, nodes, checked, results) { 315 | if (!!nodes && nodes.length > 0) { 316 | var p = nodes[0].getParentNode(); 317 | if (!!p && !!p.isHidden) { 318 | return []; 319 | } 320 | } 321 | return _getTreeCheckedNodes.apply(data, arguments); 322 | } 323 | } 324 | 325 | var _getTreeChangeCheckedNodes = data.getTreeChangeCheckedNodes; 326 | if (!!_getTreeChangeCheckedNodes) { 327 | data.getTreeChangeCheckedNodes = function(setting, nodes, results) { 328 | if (!!nodes && nodes.length > 0) { 329 | var p = nodes[0].getParentNode(); 330 | if (!!p && !!p.isHidden) { 331 | return []; 332 | } 333 | } 334 | return _getTreeChangeCheckedNodes.apply(data, arguments); 335 | } 336 | } 337 | 338 | var _expandCollapseSonNode = view.expandCollapseSonNode; 339 | if (!!_expandCollapseSonNode) { 340 | view.expandCollapseSonNode = function(setting, node, expandFlag, animateFlag, callback) { 341 | if (!!node && !!node.isHidden) { 342 | return; 343 | } 344 | _expandCollapseSonNode.apply(view, arguments); 345 | } 346 | } 347 | 348 | var _setSonNodeCheckBox = view.setSonNodeCheckBox; 349 | if (!!_setSonNodeCheckBox) { 350 | view.setSonNodeCheckBox = function(setting, node, value, srcNode) { 351 | if (!!node && !!node.isHidden) { 352 | return; 353 | } 354 | _setSonNodeCheckBox.apply(view, arguments); 355 | } 356 | } 357 | 358 | var _repairParentChkClassWithSelf = view.repairParentChkClassWithSelf; 359 | if (!!_repairParentChkClassWithSelf) { 360 | view.repairParentChkClassWithSelf = function(setting, node) { 361 | if (!!node && !!node.isHidden) { 362 | return; 363 | } 364 | _repairParentChkClassWithSelf.apply(view, arguments); 365 | } 366 | } 367 | })(jQuery); -------------------------------------------------------------------------------- /static/js/jquery.ztree.exhide-3.5.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * JQuery zTree exHideNodes v3.5.18 3 | * http://zTree.me/ 4 | * 5 | * Copyright (c) 2010 Hunter.z 6 | * 7 | * Licensed same as jquery - MIT License 8 | * http://www.opensource.org/licenses/mit-license.php 9 | * 10 | * email: hunter.z@263.net 11 | * Date: 2015-08-13 12 | */ 13 | (function(i){i.extend(!0,i.fn.zTree._z,{view:{clearOldFirstNode:function(c,a){for(var b=a.getNextNode();b;){if(b.isFirstNode){b.isFirstNode=!1;d.setNodeLineIcos(c,b);break}if(b.isLastNode)break;b=b.getNextNode()}},clearOldLastNode:function(c,a,b){for(a=a.getPreNode();a;){if(a.isLastNode){a.isLastNode=!1;b&&d.setNodeLineIcos(c,a);break}if(a.isFirstNode)break;a=a.getPreNode()}},makeDOMNodeMainBefore:function(c,a,b){c.push(" ")},showNode:function(c,a){a.isHidden=!1;f.initShowForExCheck(c,a);j(a,c).show()},showNodes:function(c,a,b){if(a&&a.length!=0){var e={},g,k;for(g=0,k=a.length;g 0&&!a[b][0].isHidden? 16 | a[b][0].isFirstNode=!0:e>0&&d.setFirstNodeForHide(c,a[b])},setLastNode:function(c,a){var b=c.data.key.children,e=a[b].length;e>0&&!a[b][0].isHidden?a[b][e-1].isLastNode=!0:e>0&&d.setLastNodeForHide(c,a[b])},setFirstNodeForHide:function(c,a){var b,e,g;for(e=0,g=a.length;e =0;e--){b=a[e];if(b.isLastNode)break;if(!b.isHidden&&!b.isLastNode){b.isLastNode=!0;d.setNodeLineIcos(c,b);break}else b=null}return b},setLastNodeForShow:function(c,a){var b,e,g,f;for(e=a.length-1;e>=0;e--)if(b=a[e],!g&&!b.isHidden&& 18 | b.isLastNode){g=b;break}else if(!g&&!b.isHidden&&!b.isLastNode)b.isLastNode=!0,g=b,d.setNodeLineIcos(c,b);else if(g&&b.isLastNode){b.isLastNode=!1;f=b;d.setNodeLineIcos(c,b);break}return{"new":g,old:f}}},data:{initHideForExCheck:function(c,a){if(a.isHidden&&c.check&&c.check.enable){if(typeof a._nocheck=="undefined")a._nocheck=!!a.nocheck,a.nocheck=!0;a.check_Child_State=-1;d.repairParentChkClassWithSelf&&d.repairParentChkClassWithSelf(c,a)}},initShowForExCheck:function(c,a){if(!a.isHidden&&c.check&& 19 | c.check.enable){if(typeof a._nocheck!="undefined")a.nocheck=a._nocheck,delete a._nocheck;if(d.setChkClass){var b=j(a,l.id.CHECK,c);d.setChkClass(c,b,a)}d.repairParentChkClassWithSelf&&d.repairParentChkClassWithSelf(c,a)}}}});var i=i.fn.zTree,m=i._z.tools,l=i.consts,d=i._z.view,f=i._z.data,j=m.$;f.addInitNode(function(c,a,b){if(typeof b.isHidden=="string")b.isHidden=m.eqs(b.isHidden,"true");b.isHidden=!!b.isHidden;f.initHideForExCheck(c,b)});f.addBeforeA(function(){});f.addZTreeTools(function(c,a){a.showNodes= 20 | function(a,b){d.showNodes(c,a,b)};a.showNode=function(a,b){a&&d.showNodes(c,[a],b)};a.hideNodes=function(a,b){d.hideNodes(c,a,b)};a.hideNode=function(a,b){a&&d.hideNodes(c,[a],b)};var b=a.checkNode;if(b)a.checkNode=function(c,d,f,h){(!c||!c.isHidden)&&b.apply(a,arguments)}});var n=f.initNode;f.initNode=function(c,a,b,e,g,i,h){var j=(e?e:f.getRoot(c))[c.data.key.children];f.tmpHideFirstNode=d.setFirstNodeForHide(c,j);f.tmpHideLastNode=d.setLastNodeForHide(c,j);h&&(d.setNodeLineIcos(c,f.tmpHideFirstNode), 21 | d.setNodeLineIcos(c,f.tmpHideLastNode));g=f.tmpHideFirstNode===b;i=f.tmpHideLastNode===b;n&&n.apply(f,arguments);h&&i&&d.clearOldLastNode(c,b,h)};var o=f.makeChkFlag;if(o)f.makeChkFlag=function(c,a){(!a||!a.isHidden)&&o.apply(f,arguments)};var p=f.getTreeCheckedNodes;if(p)f.getTreeCheckedNodes=function(c,a,b,e){if(a&&a.length>0){var d=a[0].getParentNode();if(d&&d.isHidden)return[]}return p.apply(f,arguments)};var q=f.getTreeChangeCheckedNodes;if(q)f.getTreeChangeCheckedNodes=function(c,a,b){if(a&& 22 | a.length>0){var d=a[0].getParentNode();if(d&&d.isHidden)return[]}return q.apply(f,arguments)};var r=d.expandCollapseSonNode;if(r)d.expandCollapseSonNode=function(c,a,b,e,f){(!a||!a.isHidden)&&r.apply(d,arguments)};var s=d.setSonNodeCheckBox;if(s)d.setSonNodeCheckBox=function(c,a,b,e){(!a||!a.isHidden)&&s.apply(d,arguments)};var t=d.repairParentChkClassWithSelf;if(t)d.repairParentChkClassWithSelf=function(c,a){(!a||!a.isHidden)&&t.apply(d,arguments)}})(jQuery); 23 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 日志查看系统 5 | 6 | 7 | 8 | 22 | 23 | 24 | 25 | 26 | 155 | 156 | 157 | 158 | 159 | 183 | 184 |185 |199 | 200 | {# #} 201 | 202 | 203 | 204 | -------------------------------------------------------------------------------- /templates/log_frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |186 |
198 |187 | 197 |188 | 190 |189 |
191 | 196 |log view 5 | 6 | 7 | 8 | 9 |查看文件内容
10 |[ 文件路径: {{ log_path }} ]
11 |12 |21 | 22 | --------------------------------------------------------------------------------13 |15 |14 |
16 |20 |17 | {{ log_content }} 18 |19 |