UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ 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) 5.93 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/utils");function t(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 r=t(e);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},l.apply(this,arguments)}function a(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function o(e){if(Array.isArray(e))return a(e)}function i(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function c(e,n){if(e){if("string"==typeof e)return a(e,n);var t=Object.prototype.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)?a(e,n):void 0}}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(e){if(Array.isArray(e))return e}function d(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,l,a=[],o=!0,i=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(a.push(r.value),!n||a.length!==n);o=!0);}catch(e){i=!0,l=e}finally{try{o||null==t.return||t.return()}finally{if(i)throw l}}return a}}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f=r.memo((function(e){var t,l,a,o,i,s,p=e.node,h=r.useState(p.expanded),g=(l=2,u(t=h)||d(t,l)||c(t,l)||m()),v=g[0],y=g[1],b=!1!==p.leaf&&!(p.children&&p.children.length),N=p.children&&p.children.length?2*p.children.length:null,E=e.isSelected(p),S=!b&&v?"inherit":"hidden",O=function(n,t){e.onNodeClick(n,t)},z=function(){if(!b){var e=n.classNames("p-node-toggler-icon",{"pi pi-chevron-down":v,"pi pi-chevron-up":!v});return r.createElement("a",{href:"#",className:"p-node-toggler",onClick:function(e){return n=e,y((function(e){return!e})),void n.preventDefault();var n}},r.createElement("i",{className:e}))}return null},C=function(){var t=e.nodeTemplate&&n.ObjectUtils.getJSXElement(e.nodeTemplate,p)||p.label;return r.createElement("div",null,t)},j=(a=n.classNames("p-organizationchart-node-content",{"p-organizationchart-selectable-node":e.selectionMode&&!1!==p.selectable,"p-highlight":E},p.className),o=C(),i=z(),r.createElement("tr",null,r.createElement("td",{colSpan:N},r.createElement("div",{className:a,onClick:function(e){return O(e,p)}},o,i)))),M=r.createElement("tr",{style:{visibility:S},className:"p-organizationchart-lines"},r.createElement("td",{colSpan:N},r.createElement("div",{className:"p-organizationchart-line-down"}))),w=(s=p.children&&p.children.length,r.createElement("tr",{style:{visibility:S},className:"p-organizationchart-lines"},p.children&&1===p.children.length&&r.createElement("td",{colSpan:N},r.createElement("div",{className:"p-organizationchart-line-down"})),p.children&&p.children.length>1&&p.children.map((function(e,t){var l=n.classNames("p-organizationchart-line-left",{"p-organizationchart-line-top":0!==t}),a=n.classNames("p-organizationchart-line-right",{"p-organizationchart-line-top":t!==s-1});return[r.createElement("td",{key:t+"_lineleft",className:l}," "),r.createElement("td",{key:t+"_lineright",className:a}," ")]})))),k=r.createElement("tr",{style:{visibility:S},className:"p-organizationchart-nodes"},p.children&&p.children.map((function(n,t){return r.createElement("td",{key:t,colSpan:"2"},r.createElement(f,{node:n,nodeTemplate:e.nodeTemplate,selectionMode:e.selectionMode,onNodeClick:e.onNodeClick,isSelected:e.isSelected}))})));return r.createElement("table",{className:"p-organizationchart-table"},r.createElement("tbody",null,j,M,w,k))}));f.displayName="OrganizationChartNode";var p=r.memo(r.forwardRef((function(e,t){var a=r.useRef(null),u=e.value&&e.value.length?e.value[0]:null,d=function(n){if(e.selectionMode&&e.selection){if("single"===e.selectionMode)return e.selection===n?0:-1;if("multiple"===e.selectionMode)return e.selection.findIndex((function(e){return e===n}))}return-1};r.useImperativeHandle(t,(function(){return{props:e,getElement:function(){return a.current}}}));var m=n.ObjectUtils.findDiffKeys(e,p.defaultProps),h=n.classNames("p-organizationchart p-component",e.className);return r.createElement("div",l({id:e.id,ref:a,style:e.style,className:h},m),r.createElement(f,{node:u,nodeTemplate:e.nodeTemplate,selectionMode:e.selectionMode,onNodeClick:function(t,r){if(e.selectionMode){var l=t.target;if(!1===r.selectable||!n.DomHandler.hasClass(l,"p-node-toggler")||!n.DomHandler.hasClass(l,"p-node-toggler-icon"))return;var a,u=d(r),m=u>=0;"single"===e.selectionMode?m?(a=null,e.onNodeUnselect&&e.onNodeUnselect({originalEvent:t,node:r})):(a=r,e.onNodeSelect&&e.onNodeSelect({originalEvent:t,node:r})):"multiple"===e.selectionMode&&(m?(a=e.selection.filter((function(e,n){return n!==u})),e.onNodeUnselect&&e.onNodeUnselect({originalEvent:t,node:r})):(a=[].concat(o(f=e.selection||[])||i(f)||c(f)||s(),[r]),e.onNodeSelect&&e.onNodeSelect({originalEvent:t,node:r}))),e.onSelectionChange&&e.onSelectionChange({originalEvent:t,data:a})}var f},isSelected:function(e){return-1!==d(e)}}))})));p.displayName="OrganizationChart",p.defaultProps={__TYPE:"OrganizationChart",id:null,value:null,style:null,className:null,selectionMode:null,selection:null,nodeTemplate:null,onSelectionChange:null,onNodeSelect:null,onNodeUnselect:null},exports.OrganizationChart=p;