UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime

2 lines (1 loc) 10.4 kB
this.primereact=this.primereact||{},this.primereact.organizationchart=function(e,n,t,r,o,l,i,a){"use strict";function c(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}}),n.default=e,Object.freeze(n)}var s=c(n);function u(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function d(e){if(Array.isArray(e))return u(e)}function p(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function m(e,n){if(e){if("string"==typeof e)return u(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?u(e,n):void 0}}function g(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f=r.ComponentBase.extend({defaultProps:{__TYPE:"OrganizationChart",id:null,value:null,style:null,className:null,selectionMode:null,selection:null,nodeTemplate:null,onSelectionChange:null,onNodeSelect:null,onNodeUnselect:null,togglerIcon:null,children:void 0},css:{classes:{root:"p-organizationchart p-component",table:"p-organizationchart-table",node:function(e){var n=e.node;return l.classNames("p-organizationchart-node-content",{"p-organizationchart-selectable-node":e.nodeProps.selectionMode&&!1!==n.selectable,"p-highlight":e.selected},n.className)},nodes:"p-organizationchart-nodes",lines:"p-organizationchart-lines",lineLeft:function(e){return l.classNames("p-organizationchart-line-left",{"p-organizationchart-line-top":0!==e.index})},lineRight:function(e){return l.classNames("p-organizationchart-line-right",{"p-organizationchart-line-top":e.index!==e.nodeChildLength-1})},lineDown:"p-organizationchart-line-down",nodeTogglerIcon:"p-node-toggler-icon",nodeToggler:"p-node-toggler"},styles:"\n@layer primereact {\n .p-organizationchart-table {\n border-spacing: 0;\n border-collapse: separate;\n margin: 0 auto;\n }\n \n .p-organizationchart-table > tbody > tr > td {\n text-align: center;\n vertical-align: top;\n padding: 0 .75rem;\n }\n \n .p-organizationchart-node-content {\n display: inline-block;\n position: relative;\n }\n \n .p-organizationchart-node-content .p-node-toggler {\n position: absolute;\n bottom: -.75rem;\n margin-left: -.75rem;\n z-index: 2;\n left: 50%;\n user-select: none;\n cursor: pointer;\n width: 1.5rem;\n height: 1.5rem;\n text-decoration: none;\n }\n \n .p-organizationchart-node-content .p-node-toggler .p-node-toggler-icon {\n position: relative;\n top: .25rem;\n }\n \n .p-organizationchart-line-down {\n margin: 0 auto;\n height: 20px;\n width: 1px;\n }\n \n .p-organizationchart-line-right {\n border-radius: 0px;\n }\n \n .p-organizationchart-line-left {\n border-radius: 0;\n }\n \n .p-organizationchart-selectable-node {\n cursor: pointer;\n }\n}\n"}});function h(){return h=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},h.apply(null,arguments)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function b(e,n){if("object"!=y(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=y(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function v(e){var n=b(e,"string");return"symbol"==y(n)?n:n+""}function N(e,n,t){return(n=v(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function E(e){if(Array.isArray(e))return e}function O(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,l,i,a=[],c=!0,s=!1;try{if(l=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=l.call(t)).done)&&(a.push(r.value),a.length!==n);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(s)throw o}}return a}}function S(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function j(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?x(Object(t),!0).forEach(function(n){N(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):x(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var w=function(e,n){for(var t=[],r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t},z=s.memo(function(e){var n,t,r,c,u,d,p,g=o.useMergeProps(),f=e.node,y=s.useState(f.expanded),b=(t=2,E(n=y)||O(n,t)||m(n,t)||S()),v=b[0],N=b[1],x=!1!==f.leaf&&!(f.children&&f.children.length),C=e.isSelected(f),P=!x&&v?"inherit":"hidden",I=e.ptm,M=e.cx,T=e.sx,k=function(n,t){return I(n,j({hostName:e.hostName},t))},D=function(n){return k(n,{state:{expanded:v},context:{selected:e.isSelected(f)}})},U=function(e,n){return k(n,{context:{lineTop:e}})},A=function(n,t){e.onNodeClick(n,t)},R=function(e,n){N(function(e){return!e}),e.preventDefault()},_=function(){if(!x){var n=g({className:M("nodeTogglerIcon")},k("nodeTogglerIcon")),t=l.IconUtils.getJSXIcon(v?e.togglerIcon||s.createElement(i.ChevronDownIcon,n):e.togglerIcon||s.createElement(a.ChevronUpIcon,n),j({},n),{props:e}),r=g({className:M("nodeToggler"),tabIndex:0,onKeyDown:function(e){var n;"Enter"!==(n=e).code&&"NumpadEnter"!==n.code&&"Space"!==n.code||(R(n),n.preventDefault())},onClick:function(e){return R(e)},href:"#"},D("nodeToggler"));return s.createElement("a",r,s.createElement("i",null," ",t," "))}return null},L=function(){var n=e.nodeTemplate&&l.ObjectUtils.getJSXElement(e.nodeTemplate,f)||f.label;return s.createElement("div",null,n)},H=(r=L(),c=_(),u=g({colSpan:f.children&&f.children.length?2*Math.min(f.children.length,10):2},k("cell")),d=g({className:M("node",{selected:C,node:f,nodeProps:e}),style:f.style,onClick:function(e){return A(e,f)}},D("node")),p=g(k("row")),s.createElement("tr",p,s.createElement("td",u,s.createElement("div",d,r,c)))),F=g({className:M("table")},k("table"));return s.createElement("table",F,s.createElement("tbody",null,H,f.children&&!1!==f.expanded?w(f.children,10).map(function(n,t){return s.createElement(s.Fragment,{key:t},f.children&&!1!==f.expanded?w(f.children,10).map(function(e,n){var t=2*e.length,r=g({className:M("lines"),style:{visibility:P}},k("lines")),o=g({colSpan:t},k("lineCell")),l=g({className:M("lineDown")},k("lineDown"));return s.createElement("tr",h({},r,{key:n}),s.createElement("td",o,s.createElement("div",l)))}):null,f.children&&!1!==f.expanded?w(f.children,10).map(function(e,n){var t=e.length,r=g({className:M("lines"),style:{visibility:P}},k("lines"));return s.createElement("tr",h({},r,{key:n}),e.map(function(e,n){var r=g({className:M("lineLeft",{index:n})},U(0!==n,"lineLeft")),o=g({className:M("lineRight",{index:n,nodeChildLength:t})},U(n!==t-1,"lineRight"));return s.createElement(s.Fragment,{key:n},s.createElement("td",r," "),s.createElement("td",o," "))}))}):null,f.children&&!1!==f.expanded?w(f.children,10).map(function(n,t){var r=g({className:M("nodes"),style:{visibility:P}},k("nodes")),o=g({colSpan:"2"},k("nodeCell"));return s.createElement("tr",h({},r,{key:t}),n.map(function(n,t){return s.createElement("td",h({key:t},o),s.createElement(z,{node:n,nodeTemplate:e.nodeTemplate,selectionMode:e.selectionMode,onNodeClick:e.onNodeClick,isSelected:e.isSelected,togglerIcon:e.togglerIcon,ptm:I,cx:M,sx:T}))}))}):null)}):null))});z.displayName="OrganizationChartNode";var C=s.memo(s.forwardRef(function(e,n){var i=o.useMergeProps(),a=s.useContext(t.PrimeReactContext),c=f.getProps(e,a),u=f.setMetaData({props:c}),h=u.ptm,y=u.cx,b=u.sx;r.useHandleStyle(f.css.styles,u.isUnstyled,{name:"orgchart"});var v=s.useRef(null),N=c.value&&c.value.length?c.value[0]:null,E=function(e){if(c.selectionMode&&c.selection){if("single"===c.selectionMode)return c.selection===e?0:-1;if("multiple"===c.selectionMode)return c.selection.findIndex(function(n){return n===e})}return-1};s.useImperativeHandle(n,function(){return{props:c,getElement:function(){return v.current}}});var O=i({id:c.id,ref:v,style:c.style,className:l.classNames(c.className,y("root"))},f.getOtherProps(c),h("root"));return s.createElement("div",O,s.createElement(z,{hostName:"OrganizationChart",node:N,nodeTemplate:c.nodeTemplate,selectionMode:c.selectionMode,onNodeClick:function(e,n){if(c.selectionMode){var t=e.target;if(!1===n.selectable||l.DomHandler.hasClass(t,"p-node-toggler")||l.DomHandler.hasClass(t,"p-node-toggler-icon"))return;var r,o=E(n),i=o>=0;"single"===c.selectionMode?i?(r=null,c.onNodeUnselect&&c.onNodeUnselect({originalEvent:e,node:n})):(r=n,c.onNodeSelect&&c.onNodeSelect({originalEvent:e,node:n})):"multiple"===c.selectionMode&&(i?(r=c.selection.filter(function(e,n){return n!==o}),c.onNodeUnselect&&c.onNodeUnselect({originalEvent:e,node:n})):(r=[].concat(d(a=c.selection||[])||p(a)||m(a)||g(),[n]),c.onNodeSelect&&c.onNodeSelect({originalEvent:e,node:n}))),c.onSelectionChange&&c.onSelectionChange({originalEvent:e,data:r})}var a},isSelected:function(e){return-1!==E(e)},togglerIcon:c.togglerIcon,ptm:h,cx:y,sx:b}))}));return C.displayName="OrganizationChart",e.OrganizationChart=C,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.hooks,primereact.utils,primereact.icons.chevrondown,primereact.icons.chevronup);