{"version":3,"file":"jquery.ztree.excheck.mjs","sources":["../../../../../../packages/components/tree/js/jquery.ztree.excheck.js"],"sourcesContent":["/*\r\n * JQuery zTree excheck\r\n * v3.5.48\r\n * http://treejs.cn/\r\n *\r\n * Copyright (c) 2010 Hunter.z\r\n *\r\n * Licensed same as jquery - MIT License\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * Date: 2020-11-21\r\n */\r\nimport { isClient } from '@vueuse/core'\r\n\r\nexport const ztreeExcheck = ($) => {\r\n  //default consts of excheck\r\n  var _consts = {\r\n      event: {\r\n        CHECK: \"ztree_check\"\r\n      },\r\n      id: {\r\n        CHECK: \"_check\"\r\n      },\r\n      checkbox: {\r\n        STYLE: \"checkbox\",\r\n        DEFAULT: \"chk\",\r\n        DISABLED: \"disable\",\r\n        FALSE: \"false\",\r\n        TRUE: \"true\",\r\n        FULL: \"full\",\r\n        PART: \"part\",\r\n        FOCUS: \"focus\"\r\n      },\r\n      radio: {\r\n        STYLE: \"radio\",\r\n        TYPE_ALL: \"all\",\r\n        TYPE_LEVEL: \"level\"\r\n      }\r\n    },\r\n    //default setting of excheck\r\n    _setting = {\r\n      check: {\r\n        enable: false,\r\n        autoCheckTrigger: false,\r\n        chkStyle: _consts.checkbox.STYLE,\r\n        nocheckInherit: false,\r\n        chkDisabledInherit: false,\r\n        radioType: _consts.radio.TYPE_LEVEL,\r\n        chkboxType: {\r\n          \"Y\": \"ps\",\r\n          \"N\": \"ps\"\r\n        }\r\n      },\r\n      data: {\r\n        key: {\r\n          checked: \"checked\"\r\n        }\r\n      },\r\n      callback: {\r\n        beforeCheck: null,\r\n        onCheck: null\r\n      }\r\n    },\r\n    //default root of excheck\r\n    _initRoot = function (setting) {\r\n      var r = data.getRoot(setting);\r\n      r.radioCheckedList = [];\r\n    },\r\n    //default cache of excheck\r\n    _initCache = function (treeId) {\r\n    },\r\n    //default bind event of excheck\r\n    _bindEvent = function (setting) {\r\n      var o = setting.treeObj,\r\n        c = consts.event;\r\n      o.bind(c.CHECK, function (event, srcEvent, treeId, node) {\r\n        event.srcEvent = srcEvent;\r\n        tools.apply(setting.callback.onCheck, [event, treeId, node]);\r\n      });\r\n    },\r\n    _unbindEvent = function (setting) {\r\n      var o = setting.treeObj,\r\n        c = consts.event;\r\n      o.unbind(c.CHECK);\r\n    },\r\n    //default event proxy of excheck\r\n    _eventProxy = function (e) {\r\n      var target = e.target,\r\n        setting = data.getSetting(e.data.treeId),\r\n        tId = \"\", node = null,\r\n        nodeEventType = \"\", treeEventType = \"\",\r\n        nodeEventCallback = null, treeEventCallback = null;\r\n\r\n      if (tools.eqs(e.type, \"mouseover\")) {\r\n        if (setting.check.enable && tools.eqs(target.tagName, \"span\") && target.getAttribute(\"treeNode\" + consts.id.CHECK) !== null) {\r\n          tId = tools.getNodeMainDom(target).id;\r\n          nodeEventType = \"mouseoverCheck\";\r\n        }\r\n      } else if (tools.eqs(e.type, \"mouseout\")) {\r\n        if (setting.check.enable && tools.eqs(target.tagName, \"span\") && target.getAttribute(\"treeNode\" + consts.id.CHECK) !== null) {\r\n          tId = tools.getNodeMainDom(target).id;\r\n          nodeEventType = \"mouseoutCheck\";\r\n        }\r\n      } else if (tools.eqs(e.type, \"click\")) {\r\n        if (setting.check.enable && tools.eqs(target.tagName, \"span\") && target.getAttribute(\"treeNode\" + consts.id.CHECK) !== null) {\r\n          tId = tools.getNodeMainDom(target).id;\r\n          nodeEventType = \"checkNode\";\r\n        }\r\n      }\r\n      if (tId.length > 0) {\r\n        node = data.getNodeCache(setting, tId);\r\n        switch (nodeEventType) {\r\n          case \"checkNode\" :\r\n            nodeEventCallback = _handler.onCheckNode;\r\n            break;\r\n          case \"mouseoverCheck\" :\r\n            nodeEventCallback = _handler.onMouseoverCheck;\r\n            break;\r\n          case \"mouseoutCheck\" :\r\n            nodeEventCallback = _handler.onMouseoutCheck;\r\n            break;\r\n        }\r\n      }\r\n      var proxyResult = {\r\n        stop: nodeEventType === \"checkNode\",\r\n        node: node,\r\n        nodeEventType: nodeEventType,\r\n        nodeEventCallback: nodeEventCallback,\r\n        treeEventType: treeEventType,\r\n        treeEventCallback: treeEventCallback\r\n      };\r\n      return proxyResult\r\n    },\r\n    //default init node of excheck\r\n    _initNode = function (setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {\r\n      if (!n) return;\r\n      var checked = data.nodeChecked(setting, n);\r\n      n.checkedOld = checked;\r\n      if (typeof n.nocheck == \"string\") n.nocheck = tools.eqs(n.nocheck, \"true\");\r\n      n.nocheck = !!n.nocheck || (setting.check.nocheckInherit && parentNode && !!parentNode.nocheck);\r\n      if (typeof n.chkDisabled == \"string\") n.chkDisabled = tools.eqs(n.chkDisabled, \"true\");\r\n      n.chkDisabled = !!n.chkDisabled || (setting.check.chkDisabledInherit && parentNode && !!parentNode.chkDisabled);\r\n      if (typeof n.halfCheck == \"string\") n.halfCheck = tools.eqs(n.halfCheck, \"true\");\r\n      n.halfCheck = !!n.halfCheck;\r\n      n.check_Child_State = -1;\r\n      n.check_Focus = false;\r\n      n.getCheckStatus = function () {\r\n        return data.getCheckStatus(setting, n);\r\n      };\r\n\r\n      if (setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL && checked) {\r\n        var r = data.getRoot(setting);\r\n        r.radioCheckedList.push(n);\r\n      }\r\n    },\r\n    //add dom for check\r\n    _beforeA = function (setting, node, html) {\r\n      if (setting.check.enable) {\r\n        data.makeChkFlag(setting, node);\r\n        html.push(\"<span ID='\", node.tId, consts.id.CHECK, \"' class='\", view.makeChkClass(setting, node), \"' treeNode\", consts.id.CHECK, (node.nocheck === true ? \" style='display:none;'\" : \"\"), \"></span>\");\r\n      }\r\n    },\r\n    //update zTreeObj, add method of check\r\n    _zTreeTools = function (setting, zTreeTools) {\r\n      zTreeTools.checkNode = function (node, checked, checkTypeFlag, callbackFlag) {\r\n        var nodeChecked = data.nodeChecked(setting, node);\r\n        if (node.chkDisabled === true) return;\r\n        if (checked !== true && checked !== false) {\r\n          checked = !nodeChecked;\r\n        }\r\n        callbackFlag = !!callbackFlag;\r\n\r\n        if (nodeChecked === checked && !checkTypeFlag) {\r\n          return;\r\n        } else if (callbackFlag && tools.apply(this.setting.callback.beforeCheck, [this.setting.treeId, node], true) == false) {\r\n          return;\r\n        }\r\n        if (tools.uCanDo(this.setting) && this.setting.check.enable && node.nocheck !== true) {\r\n          data.nodeChecked(setting, node, checked);\r\n          var checkObj = $$(node, consts.id.CHECK, this.setting);\r\n          if (checkTypeFlag || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node);\r\n          view.setChkClass(this.setting, checkObj, node);\r\n          view.repairParentChkClassWithSelf(this.setting, node);\r\n          if (callbackFlag) {\r\n            this.setting.treeObj.trigger(consts.event.CHECK, [null, this.setting.treeId, node]);\r\n          }\r\n        }\r\n      }\r\n\r\n      zTreeTools.checkAllNodes = function (checked) {\r\n        view.repairAllChk(this.setting, !!checked);\r\n      }\r\n\r\n      zTreeTools.getCheckedNodes = function (checked) {\r\n        checked = (checked !== false);\r\n        var children = data.nodeChildren(setting, data.getRoot(this.setting));\r\n        return data.getTreeCheckedNodes(this.setting, children, checked);\r\n      }\r\n\r\n      zTreeTools.getChangeCheckedNodes = function () {\r\n        var children = data.nodeChildren(setting, data.getRoot(this.setting));\r\n        return data.getTreeChangeCheckedNodes(this.setting, children);\r\n      }\r\n\r\n      zTreeTools.setChkDisabled = function (node, disabled, inheritParent, inheritChildren) {\r\n        disabled = !!disabled;\r\n        inheritParent = !!inheritParent;\r\n        inheritChildren = !!inheritChildren;\r\n        view.repairSonChkDisabled(this.setting, node, disabled, inheritChildren);\r\n        view.repairParentChkDisabled(this.setting, node.getParentNode(), disabled, inheritParent);\r\n      }\r\n\r\n      var _updateNode = zTreeTools.updateNode;\r\n      zTreeTools.updateNode = function (node, checkTypeFlag) {\r\n        if (_updateNode) _updateNode.apply(zTreeTools, arguments);\r\n        if (!node || !this.setting.check.enable) return;\r\n        var nObj = $$(node, this.setting);\r\n        if (nObj.get(0) && tools.uCanDo(this.setting)) {\r\n          var checkObj = $$(node, consts.id.CHECK, this.setting);\r\n          if (checkTypeFlag == true || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node);\r\n          view.setChkClass(this.setting, checkObj, node);\r\n          view.repairParentChkClassWithSelf(this.setting, node);\r\n        }\r\n      }\r\n    },\r\n    //method of operate data\r\n    _data = {\r\n      getRadioCheckedList: function (setting) {\r\n        var checkedList = data.getRoot(setting).radioCheckedList;\r\n        for (var i = 0, j = checkedList.length; i < j; i++) {\r\n          if (!data.getNodeCache(setting, checkedList[i].tId)) {\r\n            checkedList.splice(i, 1);\r\n            i--;\r\n            j--;\r\n          }\r\n        }\r\n        return checkedList;\r\n      },\r\n      getCheckStatus: function (setting, node) {\r\n        if (!setting.check.enable || node.nocheck || node.chkDisabled) return null;\r\n        var checked = data.nodeChecked(setting, node),\r\n          r = {\r\n            checked: checked,\r\n            half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (checked ? (node.check_Child_State > -1 && node.check_Child_State < 2) : (node.check_Child_State > 0)))\r\n          };\r\n        return r;\r\n      },\r\n      getTreeCheckedNodes: function (setting, nodes, checked, results) {\r\n        if (!nodes) return [];\r\n        var onlyOne = (checked && setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL);\r\n        results = !results ? [] : results;\r\n        for (var i = 0, l = nodes.length; i < l; i++) {\r\n          var node = nodes[i];\r\n          var children = data.nodeChildren(setting, node);\r\n          var nodeChecked = data.nodeChecked(setting, node);\r\n          if (node.nocheck !== true && node.chkDisabled !== true && nodeChecked == checked) {\r\n            results.push(node);\r\n            if (onlyOne) {\r\n              break;\r\n            }\r\n          }\r\n          data.getTreeCheckedNodes(setting, children, checked, results);\r\n          if (onlyOne && results.length > 0) {\r\n            break;\r\n          }\r\n        }\r\n        return results;\r\n      },\r\n      getTreeChangeCheckedNodes: function (setting, nodes, results) {\r\n        if (!nodes) return [];\r\n        results = !results ? [] : results;\r\n        for (var i = 0, l = nodes.length; i < l; i++) {\r\n          var node = nodes[i];\r\n          var children = data.nodeChildren(setting, node);\r\n          var nodeChecked = data.nodeChecked(setting, node);\r\n          if (node.nocheck !== true && node.chkDisabled !== true && nodeChecked != node.checkedOld) {\r\n            results.push(node);\r\n          }\r\n          data.getTreeChangeCheckedNodes(setting, children, results);\r\n        }\r\n        return results;\r\n      },\r\n      makeChkFlag: function (setting, node) {\r\n        if (!node) return;\r\n        var chkFlag = -1;\r\n        var children = data.nodeChildren(setting, node);\r\n        if (children && setting.check.cascade) {\r\n          for (var i = 0, l = children.length; i < l; i++) {\r\n            var cNode = children[i];\r\n            var nodeChecked = data.nodeChecked(setting, cNode);\r\n            var tmp = -1;\r\n            if (setting.check.chkStyle == consts.radio.STYLE) {\r\n              if (cNode.nocheck === true || cNode.chkDisabled === true) {\r\n                tmp = cNode.check_Child_State;\r\n              } else if (cNode.halfCheck === true) {\r\n                tmp = 2;\r\n              } else if (nodeChecked) {\r\n                tmp = 2;\r\n              } else {\r\n                tmp = cNode.check_Child_State > 0 ? 2 : 0;\r\n              }\r\n              if (tmp == 2) {\r\n                chkFlag = 2;\r\n                break;\r\n              } else if (tmp == 0) {\r\n                chkFlag = 0;\r\n              }\r\n            } else if (setting.check.chkStyle == consts.checkbox.STYLE) {\r\n              if (cNode.nocheck === true || cNode.chkDisabled === true) {\r\n                tmp = cNode.check_Child_State;\r\n              } else if (cNode.halfCheck === true) {\r\n                tmp = 1;\r\n              } else if (nodeChecked) {\r\n                tmp = (cNode.check_Child_State === -1 || cNode.check_Child_State === 2) ? 2 : 1;\r\n              } else {\r\n                tmp = (cNode.check_Child_State > 0) ? 1 : 0;\r\n              }\r\n              if (tmp === 1) {\r\n                chkFlag = 1;\r\n                break;\r\n              } else if (tmp === 2 && chkFlag > -1 && i > 0 && tmp !== chkFlag) {\r\n                chkFlag = 1;\r\n                break;\r\n              } else if (chkFlag === 2 && tmp > -1 && tmp < 2) {\r\n                chkFlag = 1;\r\n                break;\r\n              } else if (tmp > -1) {\r\n                chkFlag = tmp;\r\n              }\r\n            }\r\n          }\r\n        }\r\n        node.check_Child_State = chkFlag;\r\n      }\r\n    },\r\n    //method of event proxy\r\n    _event = {},\r\n    //method of event handler\r\n    _handler = {\r\n      onCheckNode: function (event, node) {\r\n        if (node.chkDisabled === true) return false;\r\n        var setting = data.getSetting(event.data.treeId);\r\n        if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true;\r\n        var nodeChecked = data.nodeChecked(setting, node);\r\n        data.nodeChecked(setting, node, !nodeChecked);\r\n        view.checkNodeRelation(setting, node);\r\n        var checkObj = $$(node, consts.id.CHECK, setting);\r\n        view.setChkClass(setting, checkObj, node);\r\n        view.repairParentChkClassWithSelf(setting, node);\r\n        setting.treeObj.trigger(consts.event.CHECK, [event, setting.treeId, node]);\r\n        return true;\r\n      },\r\n      onMouseoverCheck: function (event, node) {\r\n        if (node.chkDisabled === true) return false;\r\n        var setting = data.getSetting(event.data.treeId),\r\n          checkObj = $$(node, consts.id.CHECK, setting);\r\n        node.check_Focus = true;\r\n        view.setChkClass(setting, checkObj, node);\r\n        return true;\r\n      },\r\n      onMouseoutCheck: function (event, node) {\r\n        if (node.chkDisabled === true) return false;\r\n        var setting = data.getSetting(event.data.treeId),\r\n          checkObj = $$(node, consts.id.CHECK, setting);\r\n        node.check_Focus = false;\r\n        view.setChkClass(setting, checkObj, node);\r\n        return true;\r\n      }\r\n    },\r\n    //method of tools for zTree\r\n    _tools = {},\r\n    //method of operate ztree dom\r\n    _view = {\r\n      checkNodeRelation: function (setting, node) {\r\n        var pNode, i, l,\r\n          r = consts.radio;\r\n        var nodeChecked = data.nodeChecked(setting, node);\r\n        if (setting.check.chkStyle == r.STYLE) {\r\n          // 单选\r\n          var checkedList = data.getRadioCheckedList(setting);\r\n          if (nodeChecked) {\r\n            if (setting.check.radioType == r.TYPE_ALL) {\r\n              for (i = checkedList.length - 1; i >= 0; i--) {\r\n                pNode = checkedList[i];\r\n                var pNodeChecked = data.nodeChecked(setting, pNode);\r\n                if (pNodeChecked && pNode != node) {\r\n                  data.nodeChecked(setting, pNode, false);\r\n                  checkedList.splice(i, 1);\r\n\r\n                  view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode);\r\n                  if (pNode.parentTId != node.parentTId) {\r\n                    view.repairParentChkClassWithSelf(setting, pNode);\r\n                  }\r\n                }\r\n              }\r\n              checkedList.push(node);\r\n            } else {\r\n              var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);\r\n              var children = data.nodeChildren(setting, parentNode);\r\n              for (i = 0, l = children.length; i < l; i++) {\r\n                pNode = children[i];\r\n                var pNodeChecked = data.nodeChecked(setting, pNode);\r\n                if (pNodeChecked && pNode != node) {\r\n                  data.nodeChecked(setting, pNode, false);\r\n                  view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode);\r\n                }\r\n              }\r\n            }\r\n          } else if (setting.check.radioType == r.TYPE_ALL) {\r\n            for (i = 0, l = checkedList.length; i < l; i++) {\r\n              if (node == checkedList[i]) {\r\n                checkedList.splice(i, 1);\r\n                break;\r\n              }\r\n            }\r\n          }\r\n        } else {\r\n          // 多选\r\n          var children = data.nodeChildren(setting, node);\r\n          if (nodeChecked && (!children || children.length == 0 || setting.check.chkboxType.Y.indexOf(\"s\") > -1)) {\r\n            view.setSonNodeCheckBox(setting, node, true);\r\n          }\r\n          if (!nodeChecked && (!children || children.length == 0 || setting.check.chkboxType.N.indexOf(\"s\") > -1)) {\r\n            view.setSonNodeCheckBox(setting, node, false);\r\n          }\r\n          if (nodeChecked && setting.check.chkboxType.Y.indexOf(\"p\") > -1) {\r\n            view.setParentNodeCheckBox(setting, node, true);\r\n          }\r\n          if (!nodeChecked && setting.check.chkboxType.N.indexOf(\"p\") > -1) {\r\n            view.setParentNodeCheckBox(setting, node, false);\r\n          }\r\n        }\r\n      },\r\n      makeChkClass: function (setting, node) {\r\n        var c = consts.checkbox, r = consts.radio,\r\n          fullStyle = \"\";\r\n        var nodeChecked = data.nodeChecked(setting, node);\r\n        if (node.chkDisabled === true) {\r\n          fullStyle = c.DISABLED;\r\n        } else if (node.halfCheck) {\r\n          fullStyle = c.PART;\r\n        } else if (setting.check.chkStyle == r.STYLE) {\r\n          fullStyle = (node.check_Child_State < 1) ? c.FULL : c.PART;\r\n        } else {\r\n          fullStyle = nodeChecked ? ((node.check_Child_State === 2 || node.check_Child_State === -1) ? c.FULL : c.PART) : ((node.check_Child_State < 1) ? c.FULL : c.PART);\r\n        }\r\n        var chkName = setting.check.chkStyle + \"_\" + (nodeChecked ? c.TRUE : c.FALSE) + \"_\" + fullStyle;\r\n        chkName = (node.check_Focus && node.chkDisabled !== true) ? chkName + \"_\" + c.FOCUS : chkName;\r\n        return consts.className.BUTTON + \" \" + c.DEFAULT + \" \" + chkName;\r\n      },\r\n      repairAllChk: function (setting, checked) {\r\n        if (setting.check.enable && setting.check.chkStyle === consts.checkbox.STYLE) {\r\n          var root = data.getRoot(setting);\r\n          var children = data.nodeChildren(setting, root);\r\n          for (var i = 0, l = children.length; i < l; i++) {\r\n            var node = children[i];\r\n            if (node.nocheck !== true && node.chkDisabled !== true) {\r\n              data.nodeChecked(setting, node, checked);\r\n            }\r\n            view.setSonNodeCheckBox(setting, node, checked);\r\n          }\r\n        }\r\n      },\r\n      repairChkClass: function (setting, node) {\r\n        if (!node) return;\r\n        data.makeChkFlag(setting, node);\r\n        if (node.nocheck !== true) {\r\n          var checkObj = $$(node, consts.id.CHECK, setting);\r\n          view.setChkClass(setting, checkObj, node);\r\n        }\r\n      },\r\n      repairParentChkClass: function (setting, node) {\r\n        if (!node || !node.parentTId) return;\r\n        var pNode = node.getParentNode();\r\n        view.repairChkClass(setting, pNode);\r\n        view.repairParentChkClass(setting, pNode);\r\n      },\r\n      repairParentChkClassWithSelf: function (setting, node) {\r\n        if (!node) return;\r\n        var children = data.nodeChildren(setting, node);\r\n        if (children && children.length > 0) {\r\n          view.repairParentChkClass(setting, children[0]);\r\n        } else {\r\n          view.repairParentChkClass(setting, node);\r\n        }\r\n      },\r\n      repairSonChkDisabled: function (setting, node, chkDisabled, inherit) {\r\n        if (!node) return;\r\n        if (node.chkDisabled != chkDisabled) {\r\n          node.chkDisabled = chkDisabled;\r\n        }\r\n        view.repairChkClass(setting, node);\r\n        var children = data.nodeChildren(setting, node);\r\n        if (children && inherit) {\r\n          for (var i = 0, l = children.length; i < l; i++) {\r\n            var sNode = children[i];\r\n            view.repairSonChkDisabled(setting, sNode, chkDisabled, inherit);\r\n          }\r\n        }\r\n      },\r\n      repairParentChkDisabled: function (setting, node, chkDisabled, inherit) {\r\n        if (!node) return;\r\n        if (node.chkDisabled != chkDisabled && inherit) {\r\n          node.chkDisabled = chkDisabled;\r\n        }\r\n        view.repairChkClass(setting, node);\r\n        view.repairParentChkDisabled(setting, node.getParentNode(), chkDisabled, inherit);\r\n      },\r\n      setChkClass: function (setting, obj, node) {\r\n        if (!obj) return;\r\n        if (node.nocheck === true) {\r\n          obj.hide();\r\n        } else {\r\n          obj.show();\r\n        }\r\n        obj.attr('class', view.makeChkClass(setting, node));\r\n      },\r\n      setParentNodeCheckBox: function (setting, node, value, srcNode) {\r\n        var checkObj = $$(node, consts.id.CHECK, setting);\r\n        if (!srcNode) srcNode = node;\r\n        data.makeChkFlag(setting, node);\r\n        if (node.nocheck !== true && node.chkDisabled !== true) {\r\n          data.nodeChecked(setting, node, value);\r\n          view.setChkClass(setting, checkObj, node);\r\n          if (setting.check.autoCheckTrigger && node != srcNode) {\r\n            setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]);\r\n          }\r\n        }\r\n        if (node.parentTId) {\r\n          var pSign = true;\r\n          if (!value) {\r\n            var pNodes = data.nodeChildren(setting, node.getParentNode());\r\n            for (var i = 0, l = pNodes.length; i < l; i++) {\r\n              var pNode = pNodes[i];\r\n              var nodeChecked = data.nodeChecked(setting, pNode);\r\n              if ((pNode.nocheck !== true && pNode.chkDisabled !== true && nodeChecked)\r\n                || ((pNode.nocheck === true || pNode.chkDisabled === true) && pNode.check_Child_State > 0)) {\r\n                pSign = false;\r\n                break;\r\n              }\r\n            }\r\n          }\r\n          if (pSign) {\r\n            view.setParentNodeCheckBox(setting, node.getParentNode(), value, srcNode);\r\n          }\r\n        }\r\n      },\r\n      setSonNodeCheckBox: function (setting, node, value, srcNode) {\r\n        if (!node) return;\r\n        var checkObj = $$(node, consts.id.CHECK, setting);\r\n        if (!srcNode) srcNode = node;\r\n\r\n        var hasDisable = false;\r\n        var children = data.nodeChildren(setting, node);\r\n        if (children) {\r\n          for (var i = 0, l = children.length; i < l; i++) {\r\n            var sNode = children[i];\r\n            view.setSonNodeCheckBox(setting, sNode, value, srcNode);\r\n            if (sNode.chkDisabled === true) hasDisable = true;\r\n          }\r\n        }\r\n\r\n        if (node != data.getRoot(setting) && node.chkDisabled !== true) {\r\n          if (hasDisable && node.nocheck !== true) {\r\n            data.makeChkFlag(setting, node);\r\n          }\r\n          if (node.nocheck !== true && node.chkDisabled !== true) {\r\n            data.nodeChecked(setting, node, value);\r\n            if (!hasDisable) node.check_Child_State = (children && children.length > 0) ? (value ? 2 : 0) : -1;\r\n          } else {\r\n            node.check_Child_State = -1;\r\n          }\r\n          view.setChkClass(setting, checkObj, node);\r\n          if (setting.check.autoCheckTrigger && node != srcNode && node.nocheck !== true && node.chkDisabled !== true) {\r\n            setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]);\r\n          }\r\n        }\r\n\r\n      }\r\n    },\r\n\r\n    _z = {\r\n      tools: _tools,\r\n      view: _view,\r\n      event: _event,\r\n      data: _data\r\n    };\r\n\r\n  if(isClient) {\r\n    $.extend(true, $.fn.zTree.consts, _consts);\r\n    $.extend(true, $.fn.zTree._z, _z);\r\n    var zt = $.fn.zTree,\r\n        tools = zt._z.tools,\r\n        consts = zt.consts,\r\n        view = zt._z.view,\r\n        data = zt._z.data,\r\n        event = zt._z.event,\r\n        $$ = tools.$;\r\n    data.nodeChecked = function (setting, node, newChecked) {\r\n      if (!node) {\r\n        return false;\r\n      }\r\n      var key = setting.data.key.checked;\r\n      if (typeof newChecked !== 'undefined') {\r\n        if (typeof newChecked === \"string\") {\r\n          newChecked = tools.eqs(newChecked, \"true\");\r\n        }\r\n        newChecked = !!newChecked;\r\n        node[key] = newChecked;\r\n      } else if (typeof node[key] == \"string\") {\r\n        node[key] = tools.eqs(node[key], \"true\");\r\n      } else {\r\n        node[key] = !!node[key];\r\n      }\r\n      return node[key];\r\n    };\r\n\r\n    data.exSetting(_setting);\r\n    data.addInitBind(_bindEvent);\r\n    data.addInitUnBind(_unbindEvent);\r\n    data.addInitCache(_initCache);\r\n    data.addInitNode(_initNode);\r\n    data.addInitProxy(_eventProxy, true);\r\n    data.addInitRoot(_initRoot);\r\n    data.addBeforeA(_beforeA);\r\n    data.addZTreeTools(_zTreeTools);\r\n\r\n    var _createNodes = view.createNodes;\r\n    view.createNodes = function (setting, level, nodes, parentNode, index) {\r\n      if (_createNodes) _createNodes.apply(view, arguments);\r\n      if (!nodes) return;\r\n      view.repairParentChkClassWithSelf(setting, parentNode);\r\n    }\r\n    var _removeNode = view.removeNode;\r\n    view.removeNode = function (setting, node) {\r\n      var parentNode = node.getParentNode();\r\n      if (_removeNode) _removeNode.apply(view, arguments);\r\n      if (!node || !parentNode) return;\r\n      view.repairChkClass(setting, parentNode);\r\n      view.repairParentChkClass(setting, parentNode);\r\n    }\r\n\r\n    var _appendNodes = view.appendNodes;\r\n    view.appendNodes = function (setting, level, nodes, parentNode, index, initFlag, openFlag) {\r\n      var html = \"\";\r\n      if (_appendNodes) {\r\n        html = _appendNodes.apply(view, arguments);\r\n      }\r\n      if (parentNode) {\r\n        data.makeChkFlag(setting, parentNode);\r\n      }\r\n      return html;\r\n    }\r\n  }\r\n}\r\n"],"names":[],"mappings":"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"}