UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue 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 PrimeBloc

1 lines 31.6 kB
{"version":3,"file":"index.mjs","sources":["../../src/organizationchart/BaseOrganizationChart.vue","../../src/organizationchart/OrganizationChartNode.vue","../../src/organizationchart/OrganizationChartNode.vue?vue&type=template&id=04ab497a&lang.js","../../src/organizationchart/OrganizationChart.vue","../../src/organizationchart/OrganizationChart.vue?vue&type=template&id=2cf815ac&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport OrganizationChartStyle from 'primevue/organizationchart/style';\n\nexport default {\n name: 'BaseOrganizationChart',\n extends: BaseComponent,\n props: {\n value: {\n type: null,\n default: null\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n },\n collapsible: {\n type: Boolean,\n default: false\n },\n collapsedKeys: {\n type: null,\n default: null\n }\n },\n style: OrganizationChartStyle,\n provide() {\n return {\n $pcOrganizationChart: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <table :class=\"cx('table')\" v-bind=\"ptm('table')\">\n <tbody v-bind=\"ptm('body')\">\n <tr v-if=\"node\" v-bind=\"ptm('row')\">\n <td :colspan=\"colspan\" v-bind=\"ptm('cell')\">\n <div :class=\"[cx('node'), node.styleClass]\" @click=\"onNodeClick\" v-bind=\"getPTOptions('node')\">\n <component :is=\"templates[node.type] || templates['default']\" :node=\"node\" />\n <a v-if=\"toggleable\" tabindex=\"0\" :class=\"cx('nodeToggleButton')\" @click=\"toggleNode\" @keydown=\"onKeydown\" v-bind=\"getPTOptions('nodeToggleButton')\">\n <!--TODO: togglericon deprecated since v4.0-->\n <component v-if=\"templates.toggleicon || templates.togglericon\" :is=\"templates.toggleicon || templates.togglericon\" :expanded=\"expanded\" :class=\"cx('nodeToggleButtonIcon')\" v-bind=\"getPTOptions('nodeToggleButtonIcon')\" />\n <component v-else :is=\"expanded ? 'ChevronDownIcon' : 'ChevronUpIcon'\" :class=\"cx('nodeToggleButtonIcon')\" v-bind=\"getPTOptions('nodeToggleButtonIcon')\" />\n </a>\n </div>\n </td>\n </tr>\n <tr :style=\"childStyle\" :class=\"cx('connectors')\" v-bind=\"ptm('connectors')\">\n <td :colspan=\"colspan\" v-bind=\"ptm('lineCell')\">\n <div :class=\"cx('connectorDown')\" v-bind=\"ptm('connectorDown')\"></div>\n </td>\n </tr>\n <tr :style=\"childStyle\" :class=\"cx('connectors')\" v-bind=\"ptm('connectors')\">\n <template v-if=\"node.children && node.children.length === 1\">\n <td :colspan=\"colspan\" v-bind=\"ptm('lineCell')\">\n <div :class=\"cx('connectorDown')\" v-bind=\"ptm('connectorDown')\"></div>\n </td>\n </template>\n <template v-if=\"node.children && node.children.length > 1\">\n <template v-for=\"(child, i) of node.children\" :key=\"child.key\">\n <td :class=\"cx('connectorLeft', { index: i })\" v-bind=\"getNodeOptions(!(i === 0), 'connectorLeft')\">&nbsp;</td>\n <td :class=\"cx('connectorRight', { index: i })\" v-bind=\"getNodeOptions(!(i === node.children.length - 1), 'connectorRight')\">&nbsp;</td>\n </template>\n </template>\n </tr>\n <tr :style=\"childStyle\" :class=\"cx('nodeChildren')\" v-bind=\"ptm('nodeChildren')\">\n <td v-for=\"child of node.children\" :key=\"child.key\" colspan=\"2\" v-bind=\"ptm('nodeCell')\">\n <OrganizationChartNode\n :node=\"child\"\n :templates=\"templates\"\n :collapsedKeys=\"collapsedKeys\"\n @node-toggle=\"onChildNodeToggle\"\n :collapsible=\"collapsible\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @node-click=\"onChildNodeClick\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { isAttributeEquals } from '@primeuix/utils/dom';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\n\nexport default {\n name: 'OrganizationChartNode',\n hostName: 'OrganizationChart',\n extends: BaseComponent,\n emits: ['node-click', 'node-toggle'],\n props: {\n node: {\n type: null,\n default: null\n },\n templates: {\n type: null,\n default: null\n },\n collapsible: {\n type: Boolean,\n default: false\n },\n collapsedKeys: {\n type: null,\n default: null\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n }\n },\n methods: {\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n expanded: this.expanded,\n selectable: this.selectable,\n selected: this.selected,\n toggleable: this.toggleable,\n active: this.selected\n }\n });\n },\n getNodeOptions(lineTop, key) {\n return this.ptm(key, {\n context: {\n lineTop\n }\n });\n },\n onNodeClick(event) {\n if (isAttributeEquals(event.target, 'data-pc-section', 'nodetogglebutton') || isAttributeEquals(event.target, 'data-pc-section', 'nodetogglebuttonicon')) {\n return;\n }\n\n if (this.selectionMode) {\n this.$emit('node-click', this.node);\n }\n },\n onChildNodeClick(node) {\n this.$emit('node-click', node);\n },\n toggleNode() {\n this.$emit('node-toggle', this.node);\n },\n onChildNodeToggle(node) {\n this.$emit('node-toggle', node);\n },\n onKeydown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.toggleNode();\n event.preventDefault();\n }\n }\n },\n computed: {\n leaf() {\n return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n },\n colspan() {\n return this.node.children && this.node.children.length ? this.node.children.length * 2 : null;\n },\n childStyle() {\n return {\n visibility: !this.leaf && this.expanded ? 'inherit' : 'hidden'\n };\n },\n expanded() {\n return this.collapsedKeys[this.node.key] === undefined;\n },\n selectable() {\n return this.selectionMode && this.node.selectable !== false;\n },\n selected() {\n return this.selectable && this.selectionKeys && this.selectionKeys[this.node.key] === true;\n },\n toggleable() {\n return this.collapsible && this.node.collapsible !== false && !this.leaf;\n }\n },\n components: {\n ChevronDownIcon: ChevronDownIcon,\n ChevronUpIcon: ChevronUpIcon\n }\n};\n</script>\n","<template>\n <table :class=\"cx('table')\" v-bind=\"ptm('table')\">\n <tbody v-bind=\"ptm('body')\">\n <tr v-if=\"node\" v-bind=\"ptm('row')\">\n <td :colspan=\"colspan\" v-bind=\"ptm('cell')\">\n <div :class=\"[cx('node'), node.styleClass]\" @click=\"onNodeClick\" v-bind=\"getPTOptions('node')\">\n <component :is=\"templates[node.type] || templates['default']\" :node=\"node\" />\n <a v-if=\"toggleable\" tabindex=\"0\" :class=\"cx('nodeToggleButton')\" @click=\"toggleNode\" @keydown=\"onKeydown\" v-bind=\"getPTOptions('nodeToggleButton')\">\n <!--TODO: togglericon deprecated since v4.0-->\n <component v-if=\"templates.toggleicon || templates.togglericon\" :is=\"templates.toggleicon || templates.togglericon\" :expanded=\"expanded\" :class=\"cx('nodeToggleButtonIcon')\" v-bind=\"getPTOptions('nodeToggleButtonIcon')\" />\n <component v-else :is=\"expanded ? 'ChevronDownIcon' : 'ChevronUpIcon'\" :class=\"cx('nodeToggleButtonIcon')\" v-bind=\"getPTOptions('nodeToggleButtonIcon')\" />\n </a>\n </div>\n </td>\n </tr>\n <tr :style=\"childStyle\" :class=\"cx('connectors')\" v-bind=\"ptm('connectors')\">\n <td :colspan=\"colspan\" v-bind=\"ptm('lineCell')\">\n <div :class=\"cx('connectorDown')\" v-bind=\"ptm('connectorDown')\"></div>\n </td>\n </tr>\n <tr :style=\"childStyle\" :class=\"cx('connectors')\" v-bind=\"ptm('connectors')\">\n <template v-if=\"node.children && node.children.length === 1\">\n <td :colspan=\"colspan\" v-bind=\"ptm('lineCell')\">\n <div :class=\"cx('connectorDown')\" v-bind=\"ptm('connectorDown')\"></div>\n </td>\n </template>\n <template v-if=\"node.children && node.children.length > 1\">\n <template v-for=\"(child, i) of node.children\" :key=\"child.key\">\n <td :class=\"cx('connectorLeft', { index: i })\" v-bind=\"getNodeOptions(!(i === 0), 'connectorLeft')\">&nbsp;</td>\n <td :class=\"cx('connectorRight', { index: i })\" v-bind=\"getNodeOptions(!(i === node.children.length - 1), 'connectorRight')\">&nbsp;</td>\n </template>\n </template>\n </tr>\n <tr :style=\"childStyle\" :class=\"cx('nodeChildren')\" v-bind=\"ptm('nodeChildren')\">\n <td v-for=\"child of node.children\" :key=\"child.key\" colspan=\"2\" v-bind=\"ptm('nodeCell')\">\n <OrganizationChartNode\n :node=\"child\"\n :templates=\"templates\"\n :collapsedKeys=\"collapsedKeys\"\n @node-toggle=\"onChildNodeToggle\"\n :collapsible=\"collapsible\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @node-click=\"onChildNodeClick\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { isAttributeEquals } from '@primeuix/utils/dom';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\n\nexport default {\n name: 'OrganizationChartNode',\n hostName: 'OrganizationChart',\n extends: BaseComponent,\n emits: ['node-click', 'node-toggle'],\n props: {\n node: {\n type: null,\n default: null\n },\n templates: {\n type: null,\n default: null\n },\n collapsible: {\n type: Boolean,\n default: false\n },\n collapsedKeys: {\n type: null,\n default: null\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n }\n },\n methods: {\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n expanded: this.expanded,\n selectable: this.selectable,\n selected: this.selected,\n toggleable: this.toggleable,\n active: this.selected\n }\n });\n },\n getNodeOptions(lineTop, key) {\n return this.ptm(key, {\n context: {\n lineTop\n }\n });\n },\n onNodeClick(event) {\n if (isAttributeEquals(event.target, 'data-pc-section', 'nodetogglebutton') || isAttributeEquals(event.target, 'data-pc-section', 'nodetogglebuttonicon')) {\n return;\n }\n\n if (this.selectionMode) {\n this.$emit('node-click', this.node);\n }\n },\n onChildNodeClick(node) {\n this.$emit('node-click', node);\n },\n toggleNode() {\n this.$emit('node-toggle', this.node);\n },\n onChildNodeToggle(node) {\n this.$emit('node-toggle', node);\n },\n onKeydown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.toggleNode();\n event.preventDefault();\n }\n }\n },\n computed: {\n leaf() {\n return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n },\n colspan() {\n return this.node.children && this.node.children.length ? this.node.children.length * 2 : null;\n },\n childStyle() {\n return {\n visibility: !this.leaf && this.expanded ? 'inherit' : 'hidden'\n };\n },\n expanded() {\n return this.collapsedKeys[this.node.key] === undefined;\n },\n selectable() {\n return this.selectionMode && this.node.selectable !== false;\n },\n selected() {\n return this.selectable && this.selectionKeys && this.selectionKeys[this.node.key] === true;\n },\n toggleable() {\n return this.collapsible && this.node.collapsible !== false && !this.leaf;\n }\n },\n components: {\n ChevronDownIcon: ChevronDownIcon,\n ChevronUpIcon: ChevronUpIcon\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <OrganizationChartNode\n :node=\"value\"\n :templates=\"$slots\"\n @node-toggle=\"onNodeToggle\"\n :collapsedKeys=\"d_collapsedKeys\"\n :collapsible=\"collapsible\"\n @node-click=\"onNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n </div>\n</template>\n\n<script>\nimport BaseOrganizationChart from './BaseOrganizationChart.vue';\nimport OrganizationChartNode from './OrganizationChartNode.vue';\n\nexport default {\n name: 'OrganizationChart',\n extends: BaseOrganizationChart,\n inheritAttrs: false,\n emits: ['node-unselect', 'node-select', 'update:selectionKeys', 'node-expand', 'node-collapse', 'update:collapsedKeys'],\n data() {\n return {\n d_collapsedKeys: this.collapsedKeys || {}\n };\n },\n watch: {\n collapsedKeys(newValue) {\n this.d_collapsedKeys = newValue;\n }\n },\n methods: {\n onNodeClick(node) {\n const key = node.key;\n\n if (this.selectionMode) {\n let _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n\n if (_selectionKeys[key]) {\n delete _selectionKeys[key];\n this.$emit('node-unselect', node);\n } else {\n if (this.selectionMode === 'single') {\n _selectionKeys = {};\n }\n\n _selectionKeys[key] = true;\n this.$emit('node-select', node);\n }\n\n this.$emit('update:selectionKeys', _selectionKeys);\n }\n },\n onNodeToggle(node) {\n const key = node.key;\n\n if (this.d_collapsedKeys[key]) {\n delete this.d_collapsedKeys[key];\n this.$emit('node-expand', node);\n } else {\n this.d_collapsedKeys[key] = true;\n this.$emit('node-collapse', node);\n }\n\n this.d_collapsedKeys = { ...this.d_collapsedKeys };\n this.$emit('update:collapsedKeys', this.d_collapsedKeys);\n }\n },\n components: {\n OrganizationChartNode: OrganizationChartNode\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <OrganizationChartNode\n :node=\"value\"\n :templates=\"$slots\"\n @node-toggle=\"onNodeToggle\"\n :collapsedKeys=\"d_collapsedKeys\"\n :collapsible=\"collapsible\"\n @node-click=\"onNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n :pt=\"pt\"\n :unstyled=\"unstyled\"\n />\n </div>\n</template>\n\n<script>\nimport BaseOrganizationChart from './BaseOrganizationChart.vue';\nimport OrganizationChartNode from './OrganizationChartNode.vue';\n\nexport default {\n name: 'OrganizationChart',\n extends: BaseOrganizationChart,\n inheritAttrs: false,\n emits: ['node-unselect', 'node-select', 'update:selectionKeys', 'node-expand', 'node-collapse', 'update:collapsedKeys'],\n data() {\n return {\n d_collapsedKeys: this.collapsedKeys || {}\n };\n },\n watch: {\n collapsedKeys(newValue) {\n this.d_collapsedKeys = newValue;\n }\n },\n methods: {\n onNodeClick(node) {\n const key = node.key;\n\n if (this.selectionMode) {\n let _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n\n if (_selectionKeys[key]) {\n delete _selectionKeys[key];\n this.$emit('node-unselect', node);\n } else {\n if (this.selectionMode === 'single') {\n _selectionKeys = {};\n }\n\n _selectionKeys[key] = true;\n this.$emit('node-select', node);\n }\n\n this.$emit('update:selectionKeys', _selectionKeys);\n }\n },\n onNodeToggle(node) {\n const key = node.key;\n\n if (this.d_collapsedKeys[key]) {\n delete this.d_collapsedKeys[key];\n this.$emit('node-expand', node);\n } else {\n this.d_collapsedKeys[key] = true;\n this.$emit('node-collapse', node);\n }\n\n this.d_collapsedKeys = { ...this.d_collapsedKeys };\n this.$emit('update:collapsedKeys', this.d_collapsedKeys);\n }\n },\n components: {\n OrganizationChartNode: OrganizationChartNode\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","selectionKeys","selectionMode","String","collapsible","Boolean","collapsedKeys","style","OrganizationChartStyle","provide","$pcOrganizationChart","$parentInstance","hostName","emits","node","templates","methods","getPTOptions","key","ptm","context","expanded","selectable","selected","toggleable","active","getNodeOptions","lineTop","onNodeClick","event","isAttributeEquals","target","$emit","onChildNodeClick","toggleNode","onChildNodeToggle","onKeydown","code","preventDefault","computed","leaf","children","length","colspan","childStyle","visibility","undefined","components","ChevronDownIcon","ChevronUpIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","_createElementVNode","$props","$options","styleClass","onClick","apply","arguments","_createBlock","_resolveDynamicComponent","tabindex","toggleicon","togglericon","_Fragment","child","i","index","_renderList","_createVNode","_component_OrganizationChartNode","onNodeToggle","pt","unstyled","BaseOrganizationChart","inheritAttrs","data","d_collapsedKeys","watch","newValue","_selectionKeys","_objectSpread","OrganizationChartNode","ptmi","$slots","$data"],"mappings":"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"}