diff --git a/demo/edit-hybrid-chart.html b/demo/edit-hybrid-chart.html new file mode 100644 index 00000000..14eb2ac9 --- /dev/null +++ b/demo/edit-hybrid-chart.html @@ -0,0 +1,221 @@ + + + + + Organization Chart Plugin + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+ + + + + + \ No newline at end of file diff --git a/demo/index.html b/demo/index.html index 07a3cd82..b2dd8ab4 100755 --- a/demo/index.html +++ b/demo/index.html @@ -122,6 +122,7 @@
  • right to left
  • drag and drop
  • edit chart
  • +
  • edit hybrid chart
  • export chart as a picture
  • export chart as a PDF
  • filter node
  • diff --git a/dist/js/jquery.orgchart.js b/dist/js/jquery.orgchart.js index 2466732f..f04f5de7 100644 --- a/dist/js/jquery.orgchart.js +++ b/dist/js/jquery.orgchart.js @@ -748,25 +748,38 @@ }, // determines how to show arrow buttons nodeEnterLeaveHandler: function (event) { - var $node = $(event.delegateTarget), flag = false; - var $topEdge = $node.children('.topEdge'); - var $rightEdge = $node.children('.rightEdge'); - var $bottomEdge = $node.children('.bottomEdge'); - var $leftEdge = $node.children('.leftEdge'); - if (event.type === 'mouseenter') { - if ($topEdge.length) { - flag = this.getNodeState($node, 'parent').visible; - $topEdge.toggleClass('oci-chevron-up', !flag).toggleClass('oci-chevron-down', flag); - } - if ($bottomEdge.length) { - flag = this.getNodeState($node, 'children').visible; - $bottomEdge.toggleClass('oci-chevron-down', !flag).toggleClass('oci-chevron-up', flag); - } - if ($leftEdge.length) { - this.switchHorizontalArrow($node); + var $node = $(event.delegateTarget); + var flag = false; + if ($node.closest('.nodes.vertical').length) { + var $toggleBtn = $node.children('.toggleBtn'); + if (event.type === 'mouseenter') { + if ($node.children('.toggleBtn').length) { + flag = this.getNodeState($node, 'children').visible; + $toggleBtn.toggleClass('oci-plus-square', !flag).toggleClass('oci-minus-square', flag); + } + } else { + $toggleBtn.removeClass('oci-plus-square oci-minus-square'); } } else { - $node.children('.edge').removeClass('oci-chevron-up oci-chevron-down oci-chevron-right oci-chevron-left'); + var $topEdge = $node.children('.topEdge'); + var $rightEdge = $node.children('.rightEdge'); + var $bottomEdge = $node.children('.bottomEdge'); + var $leftEdge = $node.children('.leftEdge'); + if (event.type === 'mouseenter') { + if ($topEdge.length) { + flag = this.getNodeState($node, 'parent').visible; + $topEdge.toggleClass('oci-chevron-up', !flag).toggleClass('oci-chevron-down', flag); + } + if ($bottomEdge.length) { + flag = this.getNodeState($node, 'children').visible; + $bottomEdge.toggleClass('oci-chevron-down', !flag).toggleClass('oci-chevron-up', flag); + } + if ($leftEdge.length) { + this.switchHorizontalArrow($node); + } + } else { + $node.children('.edge').removeClass('oci-chevron-up oci-chevron-down oci-chevron-right oci-chevron-left'); + } } }, // @@ -1270,8 +1283,8 @@ var flags = data.relationship || ''; if (opts.verticalLevel && level >= opts.verticalLevel) { if ((level + 1) > opts.verticalLevel && Number(flags.substr(2,1))) { - var icon = level + 1 > opts.visibleLevel ? 'plus' : 'minus'; - $nodeDiv.append(''); + $nodeDiv.append('') + .children('.title').prepend(''); } } else { if (Number(flags.substr(0,1))) { @@ -1368,12 +1381,18 @@ // exposed method addChildren: function ($node, data) { this.buildChildNode($node.closest('.hierarchy'), data); - if (!$node.children('.bottomEdge').length) { - $node.append(''); - } if (!$node.find('.symbol').length) { $node.children('.title').prepend(''); } + if ($node.closest('.nodes.vertical').length) { + if (!$node.children('.toggleBtn').length) { + $node.append(''); + } + } else { + if (!$node.children('.bottomEdge').length) { + $node.append(''); + } + } if (this.isInAction($node)) { this.switchVerticalArrow($node.children('.bottomEdge')); } diff --git a/dist/js/jquery.orgchart.min.js b/dist/js/jquery.orgchart.min.js index 832a7029..0deca70e 100644 --- a/dist/js/jquery.orgchart.min.js +++ b/dist/js/jquery.orgchart.min.js @@ -1,2 +1,2 @@ -"use strict";!function(e){"object"==typeof module&&"object"==typeof module.exports?e(require("jquery"),window,document):e(jQuery,window,document)}(function(p,f,u,d){function t(e,t){this.$chartContainer=p(e),this.opts=t,this.defaultOptions={nodeTitle:"name",nodeId:"id",toggleSiblingsResp:!1,visibleLevel:999,chartClass:"",exportButton:!1,exportButtonName:"Export",exportFilename:"OrgChart",exportFileextension:"png",parentNodeSymbol:"oci-leader",draggable:!1,direction:"t2b",pan:!1,zoom:!1,zoominLimit:7,zoomoutLimit:.5}}t.prototype={init:function(e){var s=this;this.options=p.extend({},this.defaultOptions,this.opts,e);var t=this.$chartContainer;this.$chart&&this.$chart.remove();var i=this.options.data,n=this.$chart=p("
    ",{data:{options:this.options},class:"orgchart"+(""!==this.options.chartClass?" "+this.options.chartClass:"")+("t2b"!==this.options.direction?" "+this.options.direction:""),click:function(e){p(e.target).closest(".node").length||n.find(".node.focused").removeClass("focused")}});"undefined"!=typeof MutationObserver&&this.triggerInitEvent();var o=n.append(p('')).find(".hierarchy");return"object"===p.type(i)?i instanceof p?this.buildHierarchy(o,this.buildJsonDS(i.children()),0,this.options):this.buildHierarchy(o,this.options.ajaxURL?i:this.attachRel(i,"00")):(n.append(''),p.ajax({url:i,dataType:"json"}).done(function(e,t,i){s.buildHierarchy(o,s.options.ajaxURL?e:s.attachRel(e,"00"),0,s.options)}).fail(function(e,t,i){console.log(i)}).always(function(){n.children(".spinner").remove()})),t.append(n),this.options.exportButton&&!t.find(".oc-export-btn").length&&this.attachExportButton(),this.options.pan&&this.bindPan(),this.options.zoom&&this.bindZoom(),this},triggerInitEvent:function(){var n=this,o=new MutationObserver(function(e){o.disconnect();e:for(var t=0;t",{class:"oc-export-btn"+(""!==this.options.chartClass?" "+this.options.chartClass:""),text:this.options.exportButtonName,click:function(e){e.preventDefault(),t.export()}});this.$chartContainer.append(e)},setOptions:function(e,t){return"string"==typeof e&&("pan"===e&&(t?this.bindPan():this.unbindPan()),"zoom"===e&&(t?this.bindZoom():this.unbindZoom())),"object"==typeof e&&(e.data?this.init(e):(void 0!==e.pan&&(e.pan?this.bindPan():this.unbindPan()),void 0!==e.zoom&&(e.zoom?this.bindZoom():this.unbindZoom()))),this},panStartHandler:function(e){var o=p(e.delegateTarget);if(p(e.target).closest(".node").length||e.touches&&1i.zoomoutLimit&&oi.zoomoutLimit&&o').children().not(".spinner").css("opacity",.2),t.data("inAjax",!0),p(".oc-export-btn"+(""!==this.options.chartClass?"."+this.options.chartClass:"")).prop("disabled",!0),!0)},endLoading:function(e){var t=e.parent();e.removeClass("hidden"),t.find(".spinner").remove(),t.children().removeAttr("style"),this.$chart.data("inAjax",!1),p(".oc-export-btn"+(""!==this.options.chartClass?"."+this.options.chartClass:"")).prop("disabled",!1)},isInAction:function(e){return-1').after('
      ').siblings(".nodes").append(i.find(".horizontalEdge").remove().end().closest(".hierarchy")),t.children(".title").length&&t.children(".title").prepend('');1===s.siblings(".nodes").children(".hierarchy").length?s.siblings(".nodes").children(".hierarchy").find(".node:first").find(".horizontalEdge").remove():0===s.siblings(".nodes").children(".hierarchy").length&&s.find(".bottomEdge, .symbol").remove().end().siblings(".nodes").remove()}}}else this.$chart.triggerHandler({type:"otherdropped.orgchart",draggedItem:i,dropZone:t})},touchstartHandler:function(e){this.touchHandled||e.touches&&1").addClass("node "+(i.className||"")+(e>s.visibleLevel?" slide-up":""));s.nodeTemplate?t.append(s.nodeTemplate(i)):t.append('
      '+i[s.nodeTitle]+"
      ").append(void 0!==s.nodeContent?'
      '+(i[s.nodeContent]||"")+"
      ":"");var n=p.extend({},i);delete n.children,t.data("nodeData",n);var o=i.relationship||"";if(s.verticalLevel&&e>=s.verticalLevel){if(e+1>s.verticalLevel&&Number(o.substr(2,1))){var a=e+1>s.visibleLevel?"plus":"minus";t.append('')}}else Number(o.substr(0,1))&&t.append(''),Number(o.substr(1,1))&&t.append(''),Number(o.substr(2,1))&&t.append('').children(".title").prepend('');return t.on("mouseenter mouseleave",this.nodeEnterLeaveHandler.bind(this)),t.on("click",this.nodeClickHandler.bind(this)),t.on("click",".topEdge",this.topEdgeClickHandler.bind(this)),t.on("click",".bottomEdge",this.bottomEdgeClickHandler.bind(this)),t.on("click",".leftEdge, .rightEdge",this.hEdgeClickHandler.bind(this)),t.on("click",".toggleBtn",this.toggleVNodes.bind(this)),s.draggable&&(this.bindDragDrop(t),this.touchHandled=!1,this.touchMoved=!1,this.touchTargetNode=null),s.createNode&&s.createNode(t,i),t},buildHierarchy:function(e,t){var i=this,s=this.options,n=0;if(n=t.level?t.level:t.level=e.parentsUntil(".orgchart",".nodes").length,2s.visibleLevel||t.collapsed!==d&&t.collapsed;s.verticalLevel&&n+1>=s.verticalLevel?(a=p('
        '),r&&n+1>=s.verticalLevel&&a.addClass("hidden"),n+1===s.verticalLevel?e.addClass("hybrid").append(a.addClass("vertical")):e.append(a)):(a=p('
          '),2===Object.keys(t).length||r&&e.addClass("isChildrenCollapsed"),e.append(a)),p.each(t.children,function(){var e=p('
        • ');a.append(e),this.level=n+1,i.buildHierarchy(e,this)})}},buildChildNode:function(e,t){this.buildHierarchy(e,{children:t})},addChildren:function(e,t){this.buildChildNode(e.closest(".hierarchy"),t),e.children(".bottomEdge").length||e.append(''),e.find(".symbol").length||e.children(".title").prepend(''),this.isInAction(e)&&this.switchVerticalArrow(e.children(".bottomEdge"))},buildParentNode:function(e,t){t.relationship=t.relationship||"001";var i=p('
          ').find(".hierarchy").append(this.createNode(t)).end();this.$chart.prepend(i).find(".hierarchy:first").append(e.closest("ul").addClass("nodes"))},addParent:function(e,t){this.buildParentNode(e,t),e.children(".topEdge").length||e.children(".title").after(''),this.isInAction(e)&&this.switchVerticalArrow(e.children(".topEdge"))},buildSiblingNode:function(e,t){var i=p.isArray(t)?t.length:t.children.length,s=e.parent().is(".nodes")?e.siblings().length+1:1,n=s+i,o=1')).children(".hierarchy:first"),t),e.prevAll(".hierarchy").children(".nodes").children().eq(o).after(e)},addSiblings:function(e,t){this.buildSiblingNode(e.closest(".hierarchy"),t),e.closest(".nodes").data("siblingsLoaded",!0),e.children(".leftEdge").length||e.children(".topEdge").after(''),this.isInAction(e)&&(this.switchHorizontalArrow(e),e.children(".topEdge").removeClass("oci-chevron-up").addClass("oci-chevron-down"))},removeNodes:function(e){var t=e.closest(".hierarchy").parent();t.parent().is(".hierarchy")?this.getNodeState(e,"siblings").exist?(e.closest(".hierarchy").remove(),1===t.children().length&&t.find(".node:first .horizontalEdge").remove()):t.siblings(".node").find(".bottomEdge").remove().end().end().remove():t.closest(".orgchart").siblings(".oc-export-btn").addBack().remove()},hideDropZones:function(){this.$chart.find(".allowedDrop").removeClass("allowedDrop")},showDropZones:function(e){this.$chart.find(".node").each(function(e,t){p(t).addClass("allowedDrop")}),this.$chart.data("dragged",p(e))},processExternalDrop:function(e,t){t&&this.$chart.data("dragged",p(t)),e.closest(".node").triggerHandler({type:"drop"})},exportPDF:function(e,t){var i={},s=Math.floor(e.width),n=Math.floor(e.height);f.jsPDF||(f.jsPDF=f.jspdf.jsPDF),(i=n'),o.find(a).attr("href",e.toDataURL())[0].click()}},export:function(t,i){var s=this;if(t=void 0!==t?t:this.options.exportFilename,i=void 0!==i?i:this.options.exportFileextension,p(this).children(".spinner").length)return!1;var n=this.$chartContainer,e=n.find(".mask");e.length?e.removeClass("hidden"):n.append('
          ');var o=n.addClass("canvasContainer").find('.orgchart:not(".hidden")').get(0),a="l2r"===s.options.direction||"r2l"===s.options.direction;html2canvas(o,{width:a?o.clientHeight:o.clientWidth,height:a?o.clientWidth:o.clientHeight,onclone:function(e){p(e).find(".canvasContainer").css("overflow","visible").find('.orgchart:not(".hidden"):first').css("transform","")}}).then(function(e){n.find(".mask").addClass("hidden"),"pdf"===i.toLowerCase()?s.exportPDF(e,t):s.exportPNG(e,t),n.removeClass("canvasContainer")},function(){n.removeClass("canvasContainer")})}},p.fn.orgchart=function(e){return new t(this,e).init()}}); +"use strict";!function(e){"object"==typeof module&&"object"==typeof module.exports?e(require("jquery"),window,document):e(jQuery,window,document)}(function(p,u,f,d){function t(e,t){this.$chartContainer=p(e),this.opts=t,this.defaultOptions={nodeTitle:"name",nodeId:"id",toggleSiblingsResp:!1,visibleLevel:999,chartClass:"",exportButton:!1,exportButtonName:"Export",exportFilename:"OrgChart",exportFileextension:"png",parentNodeSymbol:"oci-leader",draggable:!1,direction:"t2b",pan:!1,zoom:!1,zoominLimit:7,zoomoutLimit:.5}}t.prototype={init:function(e){var s=this;this.options=p.extend({},this.defaultOptions,this.opts,e);var t=this.$chartContainer;this.$chart&&this.$chart.remove();var i=this.options.data,n=this.$chart=p("
          ",{data:{options:this.options},class:"orgchart"+(""!==this.options.chartClass?" "+this.options.chartClass:"")+("t2b"!==this.options.direction?" "+this.options.direction:""),click:function(e){p(e.target).closest(".node").length||n.find(".node.focused").removeClass("focused")}});"undefined"!=typeof MutationObserver&&this.triggerInitEvent();var o=n.append(p('
          ')).find(".hierarchy");return"object"===p.type(i)?i instanceof p?this.buildHierarchy(o,this.buildJsonDS(i.children()),0,this.options):this.buildHierarchy(o,this.options.ajaxURL?i:this.attachRel(i,"00")):(n.append(''),p.ajax({url:i,dataType:"json"}).done(function(e,t,i){s.buildHierarchy(o,s.options.ajaxURL?e:s.attachRel(e,"00"),0,s.options)}).fail(function(e,t,i){console.log(i)}).always(function(){n.children(".spinner").remove()})),t.append(n),this.options.exportButton&&!t.find(".oc-export-btn").length&&this.attachExportButton(),this.options.pan&&this.bindPan(),this.options.zoom&&this.bindZoom(),this},triggerInitEvent:function(){var n=this,o=new MutationObserver(function(e){o.disconnect();e:for(var t=0;t",{class:"oc-export-btn"+(""!==this.options.chartClass?" "+this.options.chartClass:""),text:this.options.exportButtonName,click:function(e){e.preventDefault(),t.export()}});this.$chartContainer.append(e)},setOptions:function(e,t){return"string"==typeof e&&("pan"===e&&(t?this.bindPan():this.unbindPan()),"zoom"===e&&(t?this.bindZoom():this.unbindZoom())),"object"==typeof e&&(e.data?this.init(e):(void 0!==e.pan&&(e.pan?this.bindPan():this.unbindPan()),void 0!==e.zoom&&(e.zoom?this.bindZoom():this.unbindZoom()))),this},panStartHandler:function(e){var o=p(e.delegateTarget);if(p(e.target).closest(".node").length||e.touches&&1i.zoomoutLimit&&oi.zoomoutLimit&&o').children().not(".spinner").css("opacity",.2),t.data("inAjax",!0),p(".oc-export-btn"+(""!==this.options.chartClass?"."+this.options.chartClass:"")).prop("disabled",!0),!0)},endLoading:function(e){var t=e.parent();e.removeClass("hidden"),t.find(".spinner").remove(),t.children().removeAttr("style"),this.$chart.data("inAjax",!1),p(".oc-export-btn"+(""!==this.options.chartClass?"."+this.options.chartClass:"")).prop("disabled",!1)},isInAction:function(e){return-1').after('
            ').siblings(".nodes").append(i.find(".horizontalEdge").remove().end().closest(".hierarchy")),t.children(".title").length&&t.children(".title").prepend('');1===s.siblings(".nodes").children(".hierarchy").length?s.siblings(".nodes").children(".hierarchy").find(".node:first").find(".horizontalEdge").remove():0===s.siblings(".nodes").children(".hierarchy").length&&s.find(".bottomEdge, .symbol").remove().end().siblings(".nodes").remove()}}}else this.$chart.triggerHandler({type:"otherdropped.orgchart",draggedItem:i,dropZone:t})},touchstartHandler:function(e){this.touchHandled||e.touches&&1").addClass("node "+(i.className||"")+(e>s.visibleLevel?" slide-up":""));s.nodeTemplate?t.append(s.nodeTemplate(i)):t.append('
            '+i[s.nodeTitle]+"
            ").append(void 0!==s.nodeContent?'
            '+(i[s.nodeContent]||"")+"
            ":"");var n=p.extend({},i);delete n.children,t.data("nodeData",n);var o=i.relationship||"";return s.verticalLevel&&e>=s.verticalLevel?e+1>s.verticalLevel&&Number(o.substr(2,1))&&t.append('').children(".title").prepend(''):(Number(o.substr(0,1))&&t.append(''),Number(o.substr(1,1))&&t.append(''),Number(o.substr(2,1))&&t.append('').children(".title").prepend('')),t.on("mouseenter mouseleave",this.nodeEnterLeaveHandler.bind(this)),t.on("click",this.nodeClickHandler.bind(this)),t.on("click",".topEdge",this.topEdgeClickHandler.bind(this)),t.on("click",".bottomEdge",this.bottomEdgeClickHandler.bind(this)),t.on("click",".leftEdge, .rightEdge",this.hEdgeClickHandler.bind(this)),t.on("click",".toggleBtn",this.toggleVNodes.bind(this)),s.draggable&&(this.bindDragDrop(t),this.touchHandled=!1,this.touchMoved=!1,this.touchTargetNode=null),s.createNode&&s.createNode(t,i),t},buildHierarchy:function(e,t){var i=this,s=this.options,n=0;if(n=t.level?t.level:t.level=e.parentsUntil(".orgchart",".nodes").length,2s.visibleLevel||t.collapsed!==d&&t.collapsed;s.verticalLevel&&n+1>=s.verticalLevel?(a=p('
              '),r&&n+1>=s.verticalLevel&&a.addClass("hidden"),n+1===s.verticalLevel?e.addClass("hybrid").append(a.addClass("vertical")):e.append(a)):(a=p('
                '),2===Object.keys(t).length||r&&e.addClass("isChildrenCollapsed"),e.append(a)),p.each(t.children,function(){var e=p('
              • ');a.append(e),this.level=n+1,i.buildHierarchy(e,this)})}},buildChildNode:function(e,t){this.buildHierarchy(e,{children:t})},addChildren:function(e,t){this.buildChildNode(e.closest(".hierarchy"),t),e.find(".symbol").length||e.children(".title").prepend(''),e.closest(".nodes.vertical").length?e.children(".toggleBtn").length||e.append(''):e.children(".bottomEdge").length||e.append(''),this.isInAction(e)&&this.switchVerticalArrow(e.children(".bottomEdge"))},buildParentNode:function(e,t){t.relationship=t.relationship||"001";var i=p('
                ').find(".hierarchy").append(this.createNode(t)).end();this.$chart.prepend(i).find(".hierarchy:first").append(e.closest("ul").addClass("nodes"))},addParent:function(e,t){this.buildParentNode(e,t),e.children(".topEdge").length||e.children(".title").after(''),this.isInAction(e)&&this.switchVerticalArrow(e.children(".topEdge"))},buildSiblingNode:function(e,t){var i=p.isArray(t)?t.length:t.children.length,s=e.parent().is(".nodes")?e.siblings().length+1:1,n=s+i,o=1')).children(".hierarchy:first"),t),e.prevAll(".hierarchy").children(".nodes").children().eq(o).after(e)},addSiblings:function(e,t){this.buildSiblingNode(e.closest(".hierarchy"),t),e.closest(".nodes").data("siblingsLoaded",!0),e.children(".leftEdge").length||e.children(".topEdge").after(''),this.isInAction(e)&&(this.switchHorizontalArrow(e),e.children(".topEdge").removeClass("oci-chevron-up").addClass("oci-chevron-down"))},removeNodes:function(e){var t=e.closest(".hierarchy").parent();t.parent().is(".hierarchy")?this.getNodeState(e,"siblings").exist?(e.closest(".hierarchy").remove(),1===t.children().length&&t.find(".node:first .horizontalEdge").remove()):t.siblings(".node").find(".bottomEdge").remove().end().end().remove():t.closest(".orgchart").siblings(".oc-export-btn").addBack().remove()},hideDropZones:function(){this.$chart.find(".allowedDrop").removeClass("allowedDrop")},showDropZones:function(e){this.$chart.find(".node").each(function(e,t){p(t).addClass("allowedDrop")}),this.$chart.data("dragged",p(e))},processExternalDrop:function(e,t){t&&this.$chart.data("dragged",p(t)),e.closest(".node").triggerHandler({type:"drop"})},exportPDF:function(e,t){var i={},s=Math.floor(e.width),n=Math.floor(e.height);u.jsPDF||(u.jsPDF=u.jspdf.jsPDF),(i=n'),o.find(a).attr("href",e.toDataURL())[0].click()}},export:function(t,i){var s=this;if(t=void 0!==t?t:this.options.exportFilename,i=void 0!==i?i:this.options.exportFileextension,p(this).children(".spinner").length)return!1;var n=this.$chartContainer,e=n.find(".mask");e.length?e.removeClass("hidden"):n.append('
                ');var o=n.addClass("canvasContainer").find('.orgchart:not(".hidden")').get(0),a="l2r"===s.options.direction||"r2l"===s.options.direction;html2canvas(o,{width:a?o.clientHeight:o.clientWidth,height:a?o.clientWidth:o.clientHeight,onclone:function(e){p(e).find(".canvasContainer").css("overflow","visible").find('.orgchart:not(".hidden"):first').css("transform","")}}).then(function(e){n.find(".mask").addClass("hidden"),"pdf"===i.toLowerCase()?s.exportPDF(e,t):s.exportPNG(e,t),n.removeClass("canvasContainer")},function(){n.removeClass("canvasContainer")})}},p.fn.orgchart=function(e){return new t(this,e).init()}}); //# sourceMappingURL=jquery.orgchart.min.js.map diff --git a/dist/js/jquery.orgchart.min.js.map b/dist/js/jquery.orgchart.min.js.map index 6cf6baba..a25fd670 100644 --- a/dist/js/jquery.orgchart.min.js.map +++ b/dist/js/jquery.orgchart.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["jquery.orgchart.js"],"names":["factory","module","exports","require","window","document","jQuery","$","undefined","OrgChart","elem","opts","this","$chartContainer","defaultOptions","nodeTitle","nodeId","toggleSiblingsResp","visibleLevel","chartClass","exportButton","exportButtonName","exportFilename","exportFileextension","parentNodeSymbol","draggable","direction","pan","zoom","zoominLimit","zoomoutLimit","prototype","init","that","options","extend","$chart","remove","data","class","click","event","target","closest","length","find","removeClass","MutationObserver","triggerInitEvent","$root","append","type","buildHierarchy","buildJsonDS","children","ajaxURL","attachRel","ajax","url","dataType","done","textStatus","jqXHR","fail","errorThrown","console","log","always","attachExportButton","bindPan","bindZoom","mo","mutations","disconnect","initTime","i","j","addedNodes","classList","contains","initCompleted","initEvent","Event","trigger","observe","childList","triggerLoadEvent","$target","rel","triggerShowEvent","triggerHideEvent","$exportBtn","text","e","preventDefault","export","setOptions","val","unbindPan","unbindZoom","panStartHandler","delegateTarget","touches","css","lastX","lastY","lastTf","temp","split","indexOf","parseInt","startX","startY","targetTouches","pageX","pageY","on","newX","newY","matrix","join","panEndHandler","chart","off","zoomWheelHandler","oc","newScale","originalEvent","deltaY","setChartScale","zoomStartHandler","dist","getPinchDist","zoomingHandler","zoomEndHandler","diff","Math","sqrt","clientX","clientY","targetScale","abs","parseFloat","$li","subObj","name","contents","eq","trim","relationship","parent","is","siblings","each","key","value","push","flags","forEach","item","loopChart","includeNodeData","$node","id","getHierarchy","valid","getNodeState","relation","isVerticalNode","parents","exist","visible","getRelatedNodes","hideParentEnd","addClass","hideParent","$parent","hideSiblings","one","showParentEnd","node","isInAction","switchVerticalArrow","showParent","repaint","bind","stopAjax","$nodeLevel","isVisibleNode","index","hideChildrenEnd","animatedNodes","hideChildren","$lowerLevel","$animatedNodes","filter","get","lowerLevel","showChildrenEnd","showChildren","$levels","isVerticalDesc","hideSiblingsEnd","$nodeContainer","nodeContainer","$siblings","prevAll","nextAll","end","switchHorizontalArrow","showSiblingsEnd","visibleNodes","showRelatedParentEnd","showSiblings","$upperLevel","$visibleNodes","startLoading","$edge","not","prop","endLoading","removeAttr","attr","$arrow","toggleClass","$prevSib","prev","$nextSib","next","$sibs","sibsVisible","style","offsetWidth","nodeEnterLeaveHandler","flag","$topEdge","$bottomEdge","$leftEdge","nodeClickHandler","loadNodes","isEmptyObject","addParent","addChildren","addSiblings","HideFirstParentEnd","topEdge","topEdgeClickHandler","stopPropagation","parentState","isFunction","bottomEdgeClickHandler","childrenState","hEdgeClickHandler","$hEdge","siblingsState","families","expandVNodesEnd","vNodes","collapseVNodesEnd","toggleVNodes","$toggleBtn","$descWrapper","$descendants","$children","createGhostNode","ghostNode","nodeCover","$nodeDiv","origEvent","isFirefox","test","navigator","userAgent","toLowerCase","querySelector","createElementNS","add","appendChild","transValues","isHorizontal","scale","slice","setAttribute","outerWidth","outerHeight","xOffset","offsetX","yOffset","offsetY","ghostNodeWrapper","createElement","src","XMLSerializer","serializeToString","dataTransfer","setDragImage","filterAllowedDropNodes","$dragged","draggingNode","hasClass","$dragZone","$dragHier","dropCriteria","dragstartHandler","setData","dragoverHandler","dropEffect","dragendHandler","dropHandler","$dropZone","dropEvent","draggedNode","dragZone","dropZone","isDefaultPrevented","horizontalEdges","$dropSibs","after","prepend","triggerHandler","draggedItem","touchstartHandler","touchHandled","touchMoved","touchmoveHandler","currentTarget","touchDragImage","createDragImage","moveDragImage","$touchingNodes","elementFromPoint","touchingNodeElement","touchTargetNode","touchendHandler","destroyDragImage","fakeEventForDropHandler","firstTouch","changedTouches","fakeMouseClickEvent","createEvent","initMouseEvent","screenX","screenY","ctrlKey","altKey","shiftKey","metaKey","dispatchEvent","source","dragImage","cloneNode","copyStyle","top","left","sourceRectangle","getBoundingClientRect","sourcePoint","getTouchPoint","touchDragImageOffset","x","y","opacity","body","parentElement","removeChild","dst","att","removeAttribute","HTMLCanvasElement","cSrc","cDst","width","height","getContext","drawImage","cs","getComputedStyle","pointerEvents","image","orgChartMaster","requestAnimationFrame","pt","s","position","zIndex","round","bindDragDrop","createNode","level","child","parentId","className","nodeTemplate","nodeContent","nodeData","verticalLevel","Number","substr","icon","$appendTo","parentsUntil","Object","keys","$nodesLayer","isHidden","collapsed","$nodeCell","buildChildNode","buildParentNode","$currentRoot","$newRootWrapper","buildSiblingNode","$nodeChart","newSiblingCount","isArray","existingSibligCount","siblingCount","insertPostion","floor","before","addBack","unwrap","removeNodes","$wrapper","hideDropZones","showDropZones","dragged","processExternalDrop","exportPDF","canvas","doc","docWidth","docHeight","jsPDF","jspdf","orientation","unit","format","addImage","toDataURL","save","exportPNG","isWebkit","documentElement","isFf","sidebar","isEdge","appName","appVersion","msSaveBlob","msToBlob","selector","$mask","sourceChart","html2canvas","clientHeight","clientWidth","onclone","cloneDoc","then","fn","orgchart"],"mappings":"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","file":"jquery.orgchart.min.js","sourcesContent":["/*\n * jQuery OrgChart Plugin\n * https://github.com/dabeng/OrgChart\n *\n * Copyright 2016, dabeng\n * https://github.com/dabeng\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/MIT\n */\n'use strict';\n\n(function (factory) {\n if (typeof module === 'object' && typeof module.exports === 'object') {\n factory(require('jquery'), window, document);\n } else {\n factory(jQuery, window, document);\n }\n}(function ($, window, document, undefined) {\n var OrgChart = function (elem, opts) {\n this.$chartContainer = $(elem);\n this.opts = opts;\n this.defaultOptions = {\n 'nodeTitle': 'name',\n 'nodeId': 'id',\n 'toggleSiblingsResp': false,\n 'visibleLevel': 999,\n 'chartClass': '',\n 'exportButton': false,\n 'exportButtonName': 'Export',\n 'exportFilename': 'OrgChart',\n 'exportFileextension': 'png',\n 'parentNodeSymbol': 'oci-leader',\n 'draggable': false,\n 'direction': 't2b',\n 'pan': false,\n 'zoom': false,\n 'zoominLimit': 7,\n 'zoomoutLimit': 0.5\n };\n };\n //\n OrgChart.prototype = {\n //\n init: function (opts) {\n var that = this;\n this.options = $.extend({}, this.defaultOptions, this.opts, opts);\n // build the org-chart\n var $chartContainer = this.$chartContainer;\n if (this.$chart) {\n this.$chart.remove();\n }\n var data = this.options.data;\n var $chart = this.$chart = $('
                ', {\n 'data': { 'options': this.options },\n 'class': 'orgchart' + (this.options.chartClass !== '' ? ' ' + this.options.chartClass : '') + (this.options.direction !== 't2b' ? ' ' + this.options.direction : ''),\n 'click': function(event) {\n if (!$(event.target).closest('.node').length) {\n $chart.find('.node.focused').removeClass('focused');\n }\n }\n });\n if (typeof MutationObserver !== 'undefined') {\n this.triggerInitEvent();\n }\n var $root = $chart.append($('
                ')).find('.hierarchy');\n if ($.type(data) === 'object') {\n if (data instanceof $) { // ul datasource\n this.buildHierarchy($root, this.buildJsonDS(data.children()), 0, this.options);\n } else { // local json datasource\n this.buildHierarchy($root, this.options.ajaxURL ? data : this.attachRel(data, '00'));\n }\n } else {\n $chart.append('');\n $.ajax({\n 'url': data,\n 'dataType': 'json'\n })\n .done(function(data, textStatus, jqXHR) {\n that.buildHierarchy($root, that.options.ajaxURL ? data : that.attachRel(data, '00'), 0, that.options);\n })\n .fail(function(jqXHR, textStatus, errorThrown) {\n console.log(errorThrown);\n })\n .always(function() {\n $chart.children('.spinner').remove();\n });\n }\n $chartContainer.append($chart);\n\n // append the export button\n if (this.options.exportButton && !$chartContainer.find('.oc-export-btn').length) {\n this.attachExportButton();\n }\n\n if (this.options.pan) {\n this.bindPan();\n }\n\n if (this.options.zoom) {\n this.bindZoom();\n }\n\n return this;\n },\n //\n triggerInitEvent: function () {\n var that = this;\n var mo = new MutationObserver(function (mutations) {\n mo.disconnect();\n initTime:\n for (var i = 0; i < mutations.length; i++) {\n for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n if (mutations[i].addedNodes[j].classList.contains('orgchart')) {\n if (that.options.initCompleted && typeof that.options.initCompleted === 'function') {\n that.options.initCompleted(that.$chart);\n }\n var initEvent = $.Event('init.orgchart');\n that.$chart.trigger(initEvent);\n break initTime;\n }\n }\n }\n });\n mo.observe(this.$chartContainer[0], { childList: true });\n },\n triggerLoadEvent: function ($target, rel) {\n var initEvent = $.Event('load-' + rel +'.orgchart');\n $target.trigger(initEvent);\n },\n triggerShowEvent: function ($target, rel) {\n var initEvent = $.Event('show-' + rel + '.orgchart');\n $target.trigger(initEvent);\n },\n triggerHideEvent: function ($target, rel) {\n var initEvent = $.Event('hide-' + rel + '.orgchart');\n $target.trigger(initEvent);\n },\n //\n attachExportButton: function () {\n var that = this;\n var $exportBtn = $('
            ' + '
        '; @@ -123,8 +123,8 @@ describe('orgchart -- integration tests', function () { '
        Lao Lao
        ' + '
        '; @@ -141,8 +141,8 @@ describe('orgchart -- integration tests', function () { '
        Lao Lao
        ' + '
        ';