1 line
109 KiB
JSON
1 line
109 KiB
JSON
{"ast":null,"code":"import React, { Component, createRef } from 'react';\nimport { classNames, ObjectUtils, DomHandler, ZIndexUtils, ConnectedOverlayScrollHandler } from 'primereact/utils';\nimport PrimeReact, { localeOption } from 'primereact/api';\nimport { OverlayService } from 'primereact/overlayservice';\nimport { Tree } from 'primereact/tree';\nimport { CSSTransition } from 'primereact/csstransition';\nimport { Portal } from 'primereact/portal';\nimport { Ripple } from 'primereact/ripple';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _createSuper$1(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$1();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct$1() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar TreeSelectPanelComponent = /*#__PURE__*/function (_Component) {\n _inherits(TreeSelectPanelComponent, _Component);\n\n var _super = _createSuper$1(TreeSelectPanelComponent);\n\n function TreeSelectPanelComponent() {\n _classCallCheck(this, TreeSelectPanelComponent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(TreeSelectPanelComponent, [{\n key: \"renderElement\",\n value: function renderElement() {\n var className = classNames('p-treeselect-panel p-component', this.props.panelClassName);\n return /*#__PURE__*/React.createElement(CSSTransition, {\n nodeRef: this.props.forwardRef,\n classNames: \"p-connected-overlay\",\n \"in\": this.props[\"in\"],\n timeout: {\n enter: 120,\n exit: 100\n },\n options: this.props.transitionOptions,\n unmountOnExit: true,\n onEnter: this.props.onEnter,\n onEntering: this.props.onEntering,\n onEntered: this.props.onEntered,\n onExit: this.props.onExit,\n onExited: this.props.onExited\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: this.props.forwardRef,\n className: className,\n style: this.props.panelStyle,\n onClick: this.props.onClick\n }, this.props.header, /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-items-wrapper\",\n style: {\n maxHeight: this.props.scrollHeight || 'auto'\n }\n }, this.props.children), this.props.footer));\n }\n }, {\n key: \"render\",\n value: function render() {\n var element = this.renderElement();\n return /*#__PURE__*/React.createElement(Portal, {\n element: element,\n appendTo: this.props.appendTo\n });\n }\n }]);\n\n return TreeSelectPanelComponent;\n}(Component);\n\nvar TreeSelectPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(TreeSelectPanelComponent, _extends({\n forwardRef: ref\n }, props));\n});\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar TreeSelect = /*#__PURE__*/function (_Component) {\n _inherits(TreeSelect, _Component);\n\n var _super = _createSuper(TreeSelect);\n\n function TreeSelect(props) {\n var _this;\n\n _classCallCheck(this, TreeSelect);\n\n _this = _super.call(this, props);\n _this.state = {\n focused: false,\n overlayVisible: false,\n expandedKeys: {}\n };\n\n if (!_this.props.onFilterValueChange) {\n _this.state['filterValue'] = '';\n }\n\n _this.onClick = _this.onClick.bind(_assertThisInitialized(_this));\n _this.onInputFocus = _this.onInputFocus.bind(_assertThisInitialized(_this));\n _this.onInputBlur = _this.onInputBlur.bind(_assertThisInitialized(_this));\n _this.onInputKeyDown = _this.onInputKeyDown.bind(_assertThisInitialized(_this));\n _this.onFilterInputChange = _this.onFilterInputChange.bind(_assertThisInitialized(_this));\n _this.onFilterInputKeyDown = _this.onFilterInputKeyDown.bind(_assertThisInitialized(_this));\n _this.onOverlayClick = _this.onOverlayClick.bind(_assertThisInitialized(_this));\n _this.onOverlayEnter = _this.onOverlayEnter.bind(_assertThisInitialized(_this));\n _this.onOverlayEntered = _this.onOverlayEntered.bind(_assertThisInitialized(_this));\n _this.onOverlayExit = _this.onOverlayExit.bind(_assertThisInitialized(_this));\n _this.onOverlayExited = _this.onOverlayExited.bind(_assertThisInitialized(_this));\n _this.onSelectionChange = _this.onSelectionChange.bind(_assertThisInitialized(_this));\n _this.onNodeSelect = _this.onNodeSelect.bind(_assertThisInitialized(_this));\n _this.onNodeUnselect = _this.onNodeUnselect.bind(_assertThisInitialized(_this));\n _this.onNodeToggle = _this.onNodeToggle.bind(_assertThisInitialized(_this));\n _this.onFilterValueChange = _this.onFilterValueChange.bind(_assertThisInitialized(_this));\n _this.hide = _this.hide.bind(_assertThisInitialized(_this));\n _this.show = _this.show.bind(_assertThisInitialized(_this));\n _this.overlayRef = /*#__PURE__*/createRef();\n return _this;\n }\n\n _createClass(TreeSelect, [{\n key: \"getFilterValue\",\n value: function getFilterValue() {\n return this.props.onFilterValueChange ? this.props.filterValue : this.state.filterValue;\n }\n }, {\n key: \"getSelectedNodes\",\n value: function getSelectedNodes() {\n var selectedNodes = [];\n\n if (ObjectUtils.isNotEmpty(this.props.value) && this.props.options) {\n var keys = this.props.selectionMode === 'single' ? _defineProperty({}, \"\".concat(this.props.value), true) : _objectSpread({}, this.props.value);\n this.findSelectedNodes(null, keys, selectedNodes);\n }\n\n return selectedNodes;\n }\n }, {\n key: \"getLabel\",\n value: function getLabel() {\n var value = this.getSelectedNodes();\n return value.length ? value.map(function (node) {\n return node.label;\n }).join(', ') : this.props.placeholder;\n }\n }, {\n key: \"isValueEmpty\",\n value: function isValueEmpty() {\n return !this.props.value || Object.keys(this.props.value).length === 0;\n }\n }, {\n key: \"hasNoOptions\",\n value: function hasNoOptions() {\n return !this.props.options || this.props.options.length === 0;\n }\n }, {\n key: \"show\",\n value: function show() {\n this.setState({\n overlayVisible: true\n });\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this.setState({\n overlayVisible: false\n });\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus() {\n this.setState({\n focused: true\n });\n }\n }, {\n key: \"onInputBlur\",\n value: function onInputBlur() {\n this.setState({\n focused: false\n });\n }\n }, {\n key: \"onClick\",\n value: function onClick(event) {\n if (!this.props.disabled && (!this.overlayRef || !this.overlayRef.current || !this.overlayRef.current.contains(event.target)) && !DomHandler.hasClass(event.target, 'p-treeselect-close')) {\n this.focusInput.focus();\n\n if (this.state.overlayVisible) {\n this.hide();\n } else {\n this.show();\n }\n }\n }\n }, {\n key: \"onSelectionChange\",\n value: function onSelectionChange(event) {\n if (this.props.onChange) {\n this.selfChange = true;\n this.props.onChange({\n originalEvent: event.originalEvent,\n value: event.value,\n stopPropagation: function stopPropagation() {},\n preventDefault: function preventDefault() {},\n target: {\n name: this.props.name,\n id: this.props.id,\n value: event.value\n }\n });\n }\n }\n }, {\n key: \"onNodeSelect\",\n value: function onNodeSelect(node) {\n this.props.onNodeSelect && this.props.onNodeSelect(node);\n\n if (this.props.selectionMode === 'single') {\n this.hide();\n }\n }\n }, {\n key: \"onNodeUnselect\",\n value: function onNodeUnselect(node) {\n this.props.onNodeUnselect && this.props.onNodeUnselect(node);\n }\n }, {\n key: \"onNodeToggle\",\n value: function onNodeToggle(e) {\n this.setState({\n expandedKeys: e.value\n });\n }\n }, {\n key: \"onFilterValueChange\",\n value: function onFilterValueChange(e) {\n this.setState({\n filterValue: e.value\n });\n }\n }, {\n key: \"onOverlayClick\",\n value: function onOverlayClick(event) {\n OverlayService.emit('overlay-click', {\n originalEvent: event,\n target: this.container\n });\n }\n }, {\n key: \"onInputKeyDown\",\n value: function onInputKeyDown(event) {\n switch (event.which) {\n //down\n case 40:\n if (!this.state.overlayVisible && event.altKey) {\n this.show();\n }\n\n break;\n //space\n\n case 32:\n if (!this.state.overlayVisible) {\n this.show();\n event.preventDefault();\n }\n\n break;\n //enter and escape\n\n case 13:\n case 27:\n if (this.state.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n\n break;\n //tab\n\n case 9:\n this.hide();\n break;\n }\n }\n }, {\n key: \"onFilterInputKeyDown\",\n value: function onFilterInputKeyDown(event) {\n //enter\n if (event.which === 13) {\n event.preventDefault();\n }\n }\n }, {\n key: \"onFilterInputChange\",\n value: function onFilterInputChange(event) {\n var filterValue = event.target.value;\n\n if (this.props.onFilterValueChange) {\n this.props.onFilterValueChange({\n originalEvent: event,\n value: filterValue\n });\n } else {\n this.setState({\n filterValue: filterValue\n });\n }\n }\n }, {\n key: \"resetFilter\",\n value: function resetFilter() {\n this.setState({\n filterValue: ''\n });\n }\n }, {\n key: \"onOverlayEnter\",\n value: function onOverlayEnter() {\n ZIndexUtils.set('overlay', this.overlayRef.current, PrimeReact.autoZIndex, PrimeReact.zIndex['overlay']);\n this.alignOverlay();\n this.scrollInView();\n }\n }, {\n key: \"onOverlayEntered\",\n value: function onOverlayEntered() {\n this.bindDocumentClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.props.filter && this.props.filterInputAutoFocus) {\n this.filterInput.focus();\n }\n\n this.props.onShow && this.props.onShow();\n }\n }, {\n key: \"onOverlayExit\",\n value: function onOverlayExit() {\n this.unbindDocumentClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n }\n }, {\n key: \"onOverlayExited\",\n value: function onOverlayExited() {\n if (this.props.filter && this.props.resetFilterOnHide) {\n this.resetFilter();\n }\n\n ZIndexUtils.clear(this.overlayRef.current);\n this.props.onHide && this.props.onHide();\n }\n }, {\n key: \"alignOverlay\",\n value: function alignOverlay() {\n DomHandler.alignOverlay(this.overlayRef.current, this.trigger.parentElement, this.props.appendTo || PrimeReact.appendTo);\n }\n }, {\n key: \"scrollInView\",\n value: function scrollInView() {\n var highlightItem = DomHandler.findSingle(this.overlayRef.current, '.p-treenode-content.p-highlight');\n\n if (highlightItem) {\n highlightItem.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n }\n }, {\n key: \"bindDocumentClickListener\",\n value: function bindDocumentClickListener() {\n var _this2 = this;\n\n if (!this.documentClickListener) {\n this.documentClickListener = function (event) {\n if (_this2.state.overlayVisible && _this2.isOutsideClicked(event)) {\n _this2.hide();\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n }, {\n key: \"unbindDocumentClickListener\",\n value: function unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n }, {\n key: \"bindScrollListener\",\n value: function bindScrollListener() {\n var _this3 = this;\n\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.container, function () {\n if (_this3.state.overlayVisible) {\n _this3.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n }, {\n key: \"unbindScrollListener\",\n value: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n }, {\n key: \"bindResizeListener\",\n value: function bindResizeListener() {\n var _this4 = this;\n\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this4.state.overlayVisible && !DomHandler.isTouchDevice()) {\n _this4.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n }\n }, {\n key: \"unbindResizeListener\",\n value: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n }, {\n key: \"isOutsideClicked\",\n value: function isOutsideClicked(event) {\n return this.container && !(this.container.isSameNode(event.target) || this.container.contains(event.target) || this.overlayRef && this.overlayRef.current.contains(event.target));\n }\n }, {\n key: \"findSelectedNodes\",\n value: function findSelectedNodes(node, keys, selectedNodes) {\n if (node) {\n if (this.isSelected(node, keys)) {\n selectedNodes.push(node);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n var _iterator = _createForOfIteratorHelper(node.children),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var childNode = _step.value;\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n } else {\n var _iterator2 = _createForOfIteratorHelper(this.props.options),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _childNode = _step2.value;\n this.findSelectedNodes(_childNode, keys, selectedNodes);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }, {\n key: \"isSelected\",\n value: function isSelected(node, keys) {\n return this.props.selectionMode === 'checkbox' ? keys[node.key] && keys[node.key].checked : keys[node.key];\n }\n }, {\n key: \"updateTreeState\",\n value: function updateTreeState() {\n var keys = this.props.selectionMode === 'single' ? _defineProperty({}, \"\".concat(this.props.value), true) : _objectSpread({}, this.props.value);\n this.setState({\n expandedKeys: {}\n });\n\n if (keys && this.props.options) {\n this.updateTreeBranchState(null, null, keys);\n }\n }\n }, {\n key: \"updateTreeBranchState\",\n value: function updateTreeBranchState(node, path, keys) {\n if (node) {\n if (this.isSelected(node, keys)) {\n this.expandPath(path);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n var _iterator3 = _createForOfIteratorHelper(node.children),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var childNode = _step3.value;\n path.push(node.key);\n this.updateTreeBranchState(childNode, path, keys);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n } else {\n var _iterator4 = _createForOfIteratorHelper(this.props.options),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _childNode2 = _step4.value;\n this.updateTreeBranchState(_childNode2, [], keys);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }\n }, {\n key: \"expandPath\",\n value: function expandPath(path) {\n if (path.length > 0) {\n var expandedKeys = _objectSpread({}, this.state.expandedKeys || {});\n\n var _iterator5 = _createForOfIteratorHelper(path),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var key = _step5.value;\n expandedKeys[key] = true;\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.setState({\n expandedKeys: expandedKeys\n });\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateTreeState();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.state.overlayVisible) {\n if (this.props.filter || prevState.expandedKeys !== this.state.expandedKeys) {\n this.alignOverlay();\n }\n\n if (prevProps.value !== this.props.value) {\n if (!this.selfChange) {\n this.updateTreeState();\n }\n\n this.scrollInView();\n this.selfChange = false;\n }\n }\n\n if (prevProps.options !== this.props.options) {\n this.updateTreeState();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unbindDocumentClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n ZIndexUtils.clear(this.overlayRef.current);\n }\n }, {\n key: \"renderKeyboardHelper\",\n value: function renderKeyboardHelper() {\n var _this5 = this;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-hidden-accessible\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n ref: function ref(el) {\n return _this5.focusInput = el;\n },\n role: \"listbox\",\n id: this.props.inputId,\n type: \"text\",\n readOnly: true,\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": this.state.overlayVisible,\n onFocus: this.onInputFocus,\n onBlur: this.onInputBlur,\n onKeyDown: this.onInputKeyDown,\n disabled: this.props.disabled,\n tabIndex: this.props.tabIndex,\n \"aria-label\": this.props.ariaLabel,\n \"aria-labelledby\": this.props.ariaLabelledBy\n }));\n }\n }, {\n key: \"renderLabel\",\n value: function renderLabel(selectedNodes) {\n var isValueEmpty = this.isValueEmpty();\n var labelClassName = classNames('p-treeselect-label', {\n 'p-placeholder': this.getLabel() === this.props.placeholder,\n 'p-treeselect-label-empty': !this.props.placeholder && isValueEmpty\n });\n var content = null;\n\n if (this.props.valueTemplate) {\n content = ObjectUtils.getJSXElement(this.props.valueTemplate, selectedNodes, this.props);\n } else {\n if (this.props.display === 'comma') {\n content = this.getLabel() || 'empty';\n } else if (this.props.display === 'chip') {\n var _selectedNodes = this.getSelectedNodes();\n\n content = /*#__PURE__*/React.createElement(React.Fragment, null, _selectedNodes && _selectedNodes.map(function (node, index) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-token\",\n key: \"\".concat(node.key, \"_\").concat(index)\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-treeselect-token-label\"\n }, node.label));\n }), isValueEmpty && (this.props.placeholder || 'empty'));\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-label-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: labelClassName\n }, content));\n }\n }, {\n key: \"renderDropdownIcon\",\n value: function renderDropdownIcon() {\n var _this6 = this;\n\n var iconClassName = classNames('p-treeselect-trigger-icon p-clickable', this.props.dropdownIcon);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: function ref(el) {\n return _this6.trigger = el;\n },\n className: \"p-treeselect-trigger\",\n role: \"button\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": this.state.overlayVisible\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: iconClassName\n }));\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var filterValue = this.getFilterValue();\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tree, {\n value: this.props.options,\n selectionMode: this.props.selectionMode,\n selectionKeys: this.props.value,\n metaKeySelection: this.props.metaKeySelection,\n onSelectionChange: this.onSelectionChange,\n onSelect: this.onNodeSelect,\n onUnselect: this.onNodeUnselect,\n expandedKeys: this.state.expandedKeys,\n onToggle: this.onNodeToggle,\n onExpand: this.props.onNodeExpand,\n onCollapse: this.props.onNodeCollapse,\n filter: this.props.filter,\n filterValue: filterValue,\n filterBy: this.props.filterBy,\n filterMode: this.props.filterMode,\n filterPlaceholder: this.props.filterPlaceholder,\n filterLocale: this.props.filterLocale,\n showHeader: false,\n onFilterValueChange: this.onFilterValueChange\n }), this.hasNoOptions() && /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-empty-message\"\n }, this.props.emptyMessage || localeOption('emptyMessage')));\n }\n }, {\n key: \"renderFilterElement\",\n value: function renderFilterElement() {\n var _this7 = this;\n\n if (this.props.filter) {\n var filterValue = this.getFilterValue();\n filterValue = ObjectUtils.isNotEmpty(filterValue) ? filterValue : '';\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-filter-container\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n ref: function ref(el) {\n return _this7.filterInput = el;\n },\n type: \"text\",\n value: filterValue,\n autoComplete: \"off\",\n className: \"p-treeselect-filter p-inputtext p-component\",\n placeholder: this.props.filterPlaceholder,\n onKeyDown: this.onFilterInputKeyDown,\n onChange: this.onFilterInputChange,\n disabled: this.props.disabled\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-treeselect-filter-icon pi pi-search\"\n }));\n }\n\n return null;\n }\n }, {\n key: \"renderHeader\",\n value: function renderHeader() {\n var filterElement = this.renderFilterElement();\n var closeElement = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"p-treeselect-close p-link\",\n onClick: this.hide\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-treeselect-close-icon pi pi-times\"\n }), /*#__PURE__*/React.createElement(Ripple, null));\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-header\"\n }, filterElement, closeElement);\n\n if (this.props.header) {\n var defaultOptions = {\n className: 'p-treeselect-header',\n filterElement: filterElement,\n closeElement: closeElement,\n closeElementClassName: 'p-treeselect-close p-link',\n closeIconClassName: 'p-treeselect-close-icon pi pi-times',\n onCloseClick: this.hide,\n element: content,\n props: this.props\n };\n return ObjectUtils.getJSXElement(this.props.header, defaultOptions);\n }\n\n return content;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this8 = this;\n\n var className = classNames('p-treeselect p-component p-inputwrapper', {\n 'p-treeselect-chip': this.props.display === 'chip',\n 'p-disabled': this.props.disabled,\n 'p-focus': this.state.focused,\n 'p-inputwrapper-filled': !this.isValueEmpty(),\n 'p-inputwrapper-focus': this.state.focused || this.state.overlayVisible\n }, this.props.className);\n var selectedNodes = this.getSelectedNodes();\n var keyboardHelper = this.renderKeyboardHelper();\n var labelElement = this.renderLabel(selectedNodes);\n var dropdownIcon = this.renderDropdownIcon();\n var content = this.renderContent();\n var header = this.renderHeader();\n var footer = ObjectUtils.getJSXElement(this.props.footer, this.props);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: this.props.id,\n ref: function ref(el) {\n return _this8.container = el;\n },\n className: className,\n style: this.props.style,\n onClick: this.onClick\n }, keyboardHelper, labelElement, dropdownIcon, /*#__PURE__*/React.createElement(TreeSelectPanel, {\n ref: this.overlayRef,\n appendTo: this.props.appendTo,\n panelStyle: this.props.panelStyle,\n panelClassName: this.props.panelClassName,\n scrollHeight: this.props.scrollHeight,\n onClick: this.onOverlayClick,\n header: header,\n footer: footer,\n transitionOptions: this.props.transitionOptions,\n \"in\": this.state.overlayVisible,\n onEnter: this.onOverlayEnter,\n onEntered: this.onOverlayEntered,\n onExit: this.onOverlayExit,\n onExited: this.onOverlayExited\n }, content));\n }\n }]);\n\n return TreeSelect;\n}(Component);\n\n_defineProperty(TreeSelect, \"defaultProps\", {\n id: null,\n value: null,\n name: null,\n style: null,\n className: null,\n disabled: false,\n options: null,\n scrollHeight: '400px',\n placeholder: null,\n tabIndex: null,\n inputId: null,\n ariaLabel: null,\n ariaLabelledBy: null,\n selectionMode: 'single',\n panelStyle: null,\n panelClassName: null,\n appendTo: null,\n emptyMessage: null,\n display: 'comma',\n metaKeySelection: true,\n valueTemplate: null,\n panelHeaderTemplate: null,\n panelFooterTemplate: null,\n transitionOptions: null,\n dropdownIcon: 'pi pi-chevron-down',\n filter: false,\n filterValue: null,\n filterBy: 'label',\n filterMode: 'lenient',\n filterPlaceholder: null,\n filterLocale: undefined,\n filterInputAutoFocus: true,\n resetFilterOnHide: false,\n onShow: null,\n onHide: null,\n onChange: null,\n onNodeSelect: null,\n onNodeUnselect: null,\n onNodeExpand: null,\n onNodeCollapse: null,\n onFilterValueChange: null\n});\n\nexport { TreeSelect };","map":{"version":3,"names":["React","Component","createRef","classNames","ObjectUtils","DomHandler","ZIndexUtils","ConnectedOverlayScrollHandler","PrimeReact","localeOption","OverlayService","Tree","CSSTransition","Portal","Ripple","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","constructor","value","_typeof","obj","Symbol","iterator","_possibleConstructorReturn","call","_getPrototypeOf","getPrototypeOf","_defineProperty","_extends","assign","arguments","source","hasOwnProperty","apply","_createSuper$1","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$1","_createSuperInternal","Super","result","NewTarget","Reflect","construct","sham","Proxy","Boolean","valueOf","e","TreeSelectPanelComponent","_Component","_super","renderElement","className","panelClassName","createElement","nodeRef","forwardRef","timeout","enter","exit","options","transitionOptions","unmountOnExit","onEnter","onEntering","onEntered","onExit","onExited","ref","style","panelStyle","onClick","header","maxHeight","scrollHeight","children","footer","render","element","appendTo","TreeSelectPanel","_createForOfIteratorHelper","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","F","s","n","done","_e","f","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread","forEach","getOwnPropertyDescriptors","defineProperties","_createSuper","_isNativeReflectConstruct","TreeSelect","_this","state","focused","overlayVisible","expandedKeys","onFilterValueChange","bind","onInputFocus","onInputBlur","onInputKeyDown","onFilterInputChange","onFilterInputKeyDown","onOverlayClick","onOverlayEnter","onOverlayEntered","onOverlayExit","onOverlayExited","onSelectionChange","onNodeSelect","onNodeUnselect","onNodeToggle","hide","show","overlayRef","getFilterValue","filterValue","getSelectedNodes","selectedNodes","isNotEmpty","selectionMode","concat","findSelectedNodes","getLabel","map","node","label","join","placeholder","isValueEmpty","hasNoOptions","setState","event","disabled","current","contains","hasClass","focusInput","focus","onChange","selfChange","originalEvent","stopPropagation","preventDefault","id","emit","container","which","altKey","resetFilter","set","autoZIndex","zIndex","alignOverlay","scrollInView","bindDocumentClickListener","bindScrollListener","bindResizeListener","filterInputAutoFocus","filterInput","onShow","unbindDocumentClickListener","unbindScrollListener","unbindResizeListener","resetFilterOnHide","clear","onHide","trigger","parentElement","highlightItem","findSingle","scrollIntoView","block","inline","_this2","documentClickListener","isOutsideClicked","document","addEventListener","removeEventListener","_this3","scrollHandler","_this4","resizeListener","isTouchDevice","window","isSameNode","isSelected","_iterator","_step","childNode","_iterator2","_step2","_childNode","checked","updateTreeState","updateTreeBranchState","path","expandPath","_iterator3","_step3","_iterator4","_step4","_childNode2","_iterator5","_step5","componentDidMount","componentDidUpdate","prevProps","prevState","componentWillUnmount","destroy","renderKeyboardHelper","_this5","el","role","inputId","type","readOnly","onFocus","onBlur","onKeyDown","tabIndex","ariaLabel","ariaLabelledBy","renderLabel","labelClassName","content","valueTemplate","getJSXElement","display","_selectedNodes","Fragment","index","renderDropdownIcon","_this6","iconClassName","dropdownIcon","renderContent","selectionKeys","metaKeySelection","onSelect","onUnselect","onToggle","onExpand","onNodeExpand","onCollapse","onNodeCollapse","filterBy","filterMode","filterPlaceholder","filterLocale","showHeader","emptyMessage","renderFilterElement","_this7","autoComplete","renderHeader","filterElement","closeElement","defaultOptions","closeElementClassName","closeIconClassName","onCloseClick","_this8","keyboardHelper","labelElement","panelHeaderTemplate","panelFooterTemplate","undefined"],"sources":["/Users/paolasanchez/Desktop/Pry4/Katoikia/katoikia-app/web-ui/sakai-react/node_modules/primereact/treeselect/treeselect.esm.js"],"sourcesContent":["import React, { Component, createRef } from 'react';\nimport { classNames, ObjectUtils, DomHandler, ZIndexUtils, ConnectedOverlayScrollHandler } from 'primereact/utils';\nimport PrimeReact, { localeOption } from 'primereact/api';\nimport { OverlayService } from 'primereact/overlayservice';\nimport { Tree } from 'primereact/tree';\nimport { CSSTransition } from 'primereact/csstransition';\nimport { Portal } from 'primereact/portal';\nimport { Ripple } from 'primereact/ripple';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar TreeSelectPanelComponent = /*#__PURE__*/function (_Component) {\n _inherits(TreeSelectPanelComponent, _Component);\n\n var _super = _createSuper$1(TreeSelectPanelComponent);\n\n function TreeSelectPanelComponent() {\n _classCallCheck(this, TreeSelectPanelComponent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(TreeSelectPanelComponent, [{\n key: \"renderElement\",\n value: function renderElement() {\n var className = classNames('p-treeselect-panel p-component', this.props.panelClassName);\n return /*#__PURE__*/React.createElement(CSSTransition, {\n nodeRef: this.props.forwardRef,\n classNames: \"p-connected-overlay\",\n \"in\": this.props[\"in\"],\n timeout: {\n enter: 120,\n exit: 100\n },\n options: this.props.transitionOptions,\n unmountOnExit: true,\n onEnter: this.props.onEnter,\n onEntering: this.props.onEntering,\n onEntered: this.props.onEntered,\n onExit: this.props.onExit,\n onExited: this.props.onExited\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: this.props.forwardRef,\n className: className,\n style: this.props.panelStyle,\n onClick: this.props.onClick\n }, this.props.header, /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-items-wrapper\",\n style: {\n maxHeight: this.props.scrollHeight || 'auto'\n }\n }, this.props.children), this.props.footer));\n }\n }, {\n key: \"render\",\n value: function render() {\n var element = this.renderElement();\n return /*#__PURE__*/React.createElement(Portal, {\n element: element,\n appendTo: this.props.appendTo\n });\n }\n }]);\n\n return TreeSelectPanelComponent;\n}(Component);\n\nvar TreeSelectPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(TreeSelectPanelComponent, _extends({\n forwardRef: ref\n }, props));\n});\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar TreeSelect = /*#__PURE__*/function (_Component) {\n _inherits(TreeSelect, _Component);\n\n var _super = _createSuper(TreeSelect);\n\n function TreeSelect(props) {\n var _this;\n\n _classCallCheck(this, TreeSelect);\n\n _this = _super.call(this, props);\n _this.state = {\n focused: false,\n overlayVisible: false,\n expandedKeys: {}\n };\n\n if (!_this.props.onFilterValueChange) {\n _this.state['filterValue'] = '';\n }\n\n _this.onClick = _this.onClick.bind(_assertThisInitialized(_this));\n _this.onInputFocus = _this.onInputFocus.bind(_assertThisInitialized(_this));\n _this.onInputBlur = _this.onInputBlur.bind(_assertThisInitialized(_this));\n _this.onInputKeyDown = _this.onInputKeyDown.bind(_assertThisInitialized(_this));\n _this.onFilterInputChange = _this.onFilterInputChange.bind(_assertThisInitialized(_this));\n _this.onFilterInputKeyDown = _this.onFilterInputKeyDown.bind(_assertThisInitialized(_this));\n _this.onOverlayClick = _this.onOverlayClick.bind(_assertThisInitialized(_this));\n _this.onOverlayEnter = _this.onOverlayEnter.bind(_assertThisInitialized(_this));\n _this.onOverlayEntered = _this.onOverlayEntered.bind(_assertThisInitialized(_this));\n _this.onOverlayExit = _this.onOverlayExit.bind(_assertThisInitialized(_this));\n _this.onOverlayExited = _this.onOverlayExited.bind(_assertThisInitialized(_this));\n _this.onSelectionChange = _this.onSelectionChange.bind(_assertThisInitialized(_this));\n _this.onNodeSelect = _this.onNodeSelect.bind(_assertThisInitialized(_this));\n _this.onNodeUnselect = _this.onNodeUnselect.bind(_assertThisInitialized(_this));\n _this.onNodeToggle = _this.onNodeToggle.bind(_assertThisInitialized(_this));\n _this.onFilterValueChange = _this.onFilterValueChange.bind(_assertThisInitialized(_this));\n _this.hide = _this.hide.bind(_assertThisInitialized(_this));\n _this.show = _this.show.bind(_assertThisInitialized(_this));\n _this.overlayRef = /*#__PURE__*/createRef();\n return _this;\n }\n\n _createClass(TreeSelect, [{\n key: \"getFilterValue\",\n value: function getFilterValue() {\n return this.props.onFilterValueChange ? this.props.filterValue : this.state.filterValue;\n }\n }, {\n key: \"getSelectedNodes\",\n value: function getSelectedNodes() {\n var selectedNodes = [];\n\n if (ObjectUtils.isNotEmpty(this.props.value) && this.props.options) {\n var keys = this.props.selectionMode === 'single' ? _defineProperty({}, \"\".concat(this.props.value), true) : _objectSpread({}, this.props.value);\n this.findSelectedNodes(null, keys, selectedNodes);\n }\n\n return selectedNodes;\n }\n }, {\n key: \"getLabel\",\n value: function getLabel() {\n var value = this.getSelectedNodes();\n return value.length ? value.map(function (node) {\n return node.label;\n }).join(', ') : this.props.placeholder;\n }\n }, {\n key: \"isValueEmpty\",\n value: function isValueEmpty() {\n return !this.props.value || Object.keys(this.props.value).length === 0;\n }\n }, {\n key: \"hasNoOptions\",\n value: function hasNoOptions() {\n return !this.props.options || this.props.options.length === 0;\n }\n }, {\n key: \"show\",\n value: function show() {\n this.setState({\n overlayVisible: true\n });\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this.setState({\n overlayVisible: false\n });\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus() {\n this.setState({\n focused: true\n });\n }\n }, {\n key: \"onInputBlur\",\n value: function onInputBlur() {\n this.setState({\n focused: false\n });\n }\n }, {\n key: \"onClick\",\n value: function onClick(event) {\n if (!this.props.disabled && (!this.overlayRef || !this.overlayRef.current || !this.overlayRef.current.contains(event.target)) && !DomHandler.hasClass(event.target, 'p-treeselect-close')) {\n this.focusInput.focus();\n\n if (this.state.overlayVisible) {\n this.hide();\n } else {\n this.show();\n }\n }\n }\n }, {\n key: \"onSelectionChange\",\n value: function onSelectionChange(event) {\n if (this.props.onChange) {\n this.selfChange = true;\n this.props.onChange({\n originalEvent: event.originalEvent,\n value: event.value,\n stopPropagation: function stopPropagation() {},\n preventDefault: function preventDefault() {},\n target: {\n name: this.props.name,\n id: this.props.id,\n value: event.value\n }\n });\n }\n }\n }, {\n key: \"onNodeSelect\",\n value: function onNodeSelect(node) {\n this.props.onNodeSelect && this.props.onNodeSelect(node);\n\n if (this.props.selectionMode === 'single') {\n this.hide();\n }\n }\n }, {\n key: \"onNodeUnselect\",\n value: function onNodeUnselect(node) {\n this.props.onNodeUnselect && this.props.onNodeUnselect(node);\n }\n }, {\n key: \"onNodeToggle\",\n value: function onNodeToggle(e) {\n this.setState({\n expandedKeys: e.value\n });\n }\n }, {\n key: \"onFilterValueChange\",\n value: function onFilterValueChange(e) {\n this.setState({\n filterValue: e.value\n });\n }\n }, {\n key: \"onOverlayClick\",\n value: function onOverlayClick(event) {\n OverlayService.emit('overlay-click', {\n originalEvent: event,\n target: this.container\n });\n }\n }, {\n key: \"onInputKeyDown\",\n value: function onInputKeyDown(event) {\n switch (event.which) {\n //down\n case 40:\n if (!this.state.overlayVisible && event.altKey) {\n this.show();\n }\n\n break;\n //space\n\n case 32:\n if (!this.state.overlayVisible) {\n this.show();\n event.preventDefault();\n }\n\n break;\n //enter and escape\n\n case 13:\n case 27:\n if (this.state.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n\n break;\n //tab\n\n case 9:\n this.hide();\n break;\n }\n }\n }, {\n key: \"onFilterInputKeyDown\",\n value: function onFilterInputKeyDown(event) {\n //enter\n if (event.which === 13) {\n event.preventDefault();\n }\n }\n }, {\n key: \"onFilterInputChange\",\n value: function onFilterInputChange(event) {\n var filterValue = event.target.value;\n\n if (this.props.onFilterValueChange) {\n this.props.onFilterValueChange({\n originalEvent: event,\n value: filterValue\n });\n } else {\n this.setState({\n filterValue: filterValue\n });\n }\n }\n }, {\n key: \"resetFilter\",\n value: function resetFilter() {\n this.setState({\n filterValue: ''\n });\n }\n }, {\n key: \"onOverlayEnter\",\n value: function onOverlayEnter() {\n ZIndexUtils.set('overlay', this.overlayRef.current, PrimeReact.autoZIndex, PrimeReact.zIndex['overlay']);\n this.alignOverlay();\n this.scrollInView();\n }\n }, {\n key: \"onOverlayEntered\",\n value: function onOverlayEntered() {\n this.bindDocumentClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.props.filter && this.props.filterInputAutoFocus) {\n this.filterInput.focus();\n }\n\n this.props.onShow && this.props.onShow();\n }\n }, {\n key: \"onOverlayExit\",\n value: function onOverlayExit() {\n this.unbindDocumentClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n }\n }, {\n key: \"onOverlayExited\",\n value: function onOverlayExited() {\n if (this.props.filter && this.props.resetFilterOnHide) {\n this.resetFilter();\n }\n\n ZIndexUtils.clear(this.overlayRef.current);\n this.props.onHide && this.props.onHide();\n }\n }, {\n key: \"alignOverlay\",\n value: function alignOverlay() {\n DomHandler.alignOverlay(this.overlayRef.current, this.trigger.parentElement, this.props.appendTo || PrimeReact.appendTo);\n }\n }, {\n key: \"scrollInView\",\n value: function scrollInView() {\n var highlightItem = DomHandler.findSingle(this.overlayRef.current, '.p-treenode-content.p-highlight');\n\n if (highlightItem) {\n highlightItem.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n }\n }, {\n key: \"bindDocumentClickListener\",\n value: function bindDocumentClickListener() {\n var _this2 = this;\n\n if (!this.documentClickListener) {\n this.documentClickListener = function (event) {\n if (_this2.state.overlayVisible && _this2.isOutsideClicked(event)) {\n _this2.hide();\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n }, {\n key: \"unbindDocumentClickListener\",\n value: function unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n }, {\n key: \"bindScrollListener\",\n value: function bindScrollListener() {\n var _this3 = this;\n\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.container, function () {\n if (_this3.state.overlayVisible) {\n _this3.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n }, {\n key: \"unbindScrollListener\",\n value: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n }, {\n key: \"bindResizeListener\",\n value: function bindResizeListener() {\n var _this4 = this;\n\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this4.state.overlayVisible && !DomHandler.isTouchDevice()) {\n _this4.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n }\n }, {\n key: \"unbindResizeListener\",\n value: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n }, {\n key: \"isOutsideClicked\",\n value: function isOutsideClicked(event) {\n return this.container && !(this.container.isSameNode(event.target) || this.container.contains(event.target) || this.overlayRef && this.overlayRef.current.contains(event.target));\n }\n }, {\n key: \"findSelectedNodes\",\n value: function findSelectedNodes(node, keys, selectedNodes) {\n if (node) {\n if (this.isSelected(node, keys)) {\n selectedNodes.push(node);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n var _iterator = _createForOfIteratorHelper(node.children),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var childNode = _step.value;\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n } else {\n var _iterator2 = _createForOfIteratorHelper(this.props.options),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _childNode = _step2.value;\n this.findSelectedNodes(_childNode, keys, selectedNodes);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }, {\n key: \"isSelected\",\n value: function isSelected(node, keys) {\n return this.props.selectionMode === 'checkbox' ? keys[node.key] && keys[node.key].checked : keys[node.key];\n }\n }, {\n key: \"updateTreeState\",\n value: function updateTreeState() {\n var keys = this.props.selectionMode === 'single' ? _defineProperty({}, \"\".concat(this.props.value), true) : _objectSpread({}, this.props.value);\n this.setState({\n expandedKeys: {}\n });\n\n if (keys && this.props.options) {\n this.updateTreeBranchState(null, null, keys);\n }\n }\n }, {\n key: \"updateTreeBranchState\",\n value: function updateTreeBranchState(node, path, keys) {\n if (node) {\n if (this.isSelected(node, keys)) {\n this.expandPath(path);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n var _iterator3 = _createForOfIteratorHelper(node.children),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var childNode = _step3.value;\n path.push(node.key);\n this.updateTreeBranchState(childNode, path, keys);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n } else {\n var _iterator4 = _createForOfIteratorHelper(this.props.options),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _childNode2 = _step4.value;\n this.updateTreeBranchState(_childNode2, [], keys);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }\n }, {\n key: \"expandPath\",\n value: function expandPath(path) {\n if (path.length > 0) {\n var expandedKeys = _objectSpread({}, this.state.expandedKeys || {});\n\n var _iterator5 = _createForOfIteratorHelper(path),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var key = _step5.value;\n expandedKeys[key] = true;\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.setState({\n expandedKeys: expandedKeys\n });\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateTreeState();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.state.overlayVisible) {\n if (this.props.filter || prevState.expandedKeys !== this.state.expandedKeys) {\n this.alignOverlay();\n }\n\n if (prevProps.value !== this.props.value) {\n if (!this.selfChange) {\n this.updateTreeState();\n }\n\n this.scrollInView();\n this.selfChange = false;\n }\n }\n\n if (prevProps.options !== this.props.options) {\n this.updateTreeState();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unbindDocumentClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n ZIndexUtils.clear(this.overlayRef.current);\n }\n }, {\n key: \"renderKeyboardHelper\",\n value: function renderKeyboardHelper() {\n var _this5 = this;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-hidden-accessible\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n ref: function ref(el) {\n return _this5.focusInput = el;\n },\n role: \"listbox\",\n id: this.props.inputId,\n type: \"text\",\n readOnly: true,\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": this.state.overlayVisible,\n onFocus: this.onInputFocus,\n onBlur: this.onInputBlur,\n onKeyDown: this.onInputKeyDown,\n disabled: this.props.disabled,\n tabIndex: this.props.tabIndex,\n \"aria-label\": this.props.ariaLabel,\n \"aria-labelledby\": this.props.ariaLabelledBy\n }));\n }\n }, {\n key: \"renderLabel\",\n value: function renderLabel(selectedNodes) {\n var isValueEmpty = this.isValueEmpty();\n var labelClassName = classNames('p-treeselect-label', {\n 'p-placeholder': this.getLabel() === this.props.placeholder,\n 'p-treeselect-label-empty': !this.props.placeholder && isValueEmpty\n });\n var content = null;\n\n if (this.props.valueTemplate) {\n content = ObjectUtils.getJSXElement(this.props.valueTemplate, selectedNodes, this.props);\n } else {\n if (this.props.display === 'comma') {\n content = this.getLabel() || 'empty';\n } else if (this.props.display === 'chip') {\n var _selectedNodes = this.getSelectedNodes();\n\n content = /*#__PURE__*/React.createElement(React.Fragment, null, _selectedNodes && _selectedNodes.map(function (node, index) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-token\",\n key: \"\".concat(node.key, \"_\").concat(index)\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-treeselect-token-label\"\n }, node.label));\n }), isValueEmpty && (this.props.placeholder || 'empty'));\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-label-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: labelClassName\n }, content));\n }\n }, {\n key: \"renderDropdownIcon\",\n value: function renderDropdownIcon() {\n var _this6 = this;\n\n var iconClassName = classNames('p-treeselect-trigger-icon p-clickable', this.props.dropdownIcon);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: function ref(el) {\n return _this6.trigger = el;\n },\n className: \"p-treeselect-trigger\",\n role: \"button\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": this.state.overlayVisible\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: iconClassName\n }));\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var filterValue = this.getFilterValue();\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tree, {\n value: this.props.options,\n selectionMode: this.props.selectionMode,\n selectionKeys: this.props.value,\n metaKeySelection: this.props.metaKeySelection,\n onSelectionChange: this.onSelectionChange,\n onSelect: this.onNodeSelect,\n onUnselect: this.onNodeUnselect,\n expandedKeys: this.state.expandedKeys,\n onToggle: this.onNodeToggle,\n onExpand: this.props.onNodeExpand,\n onCollapse: this.props.onNodeCollapse,\n filter: this.props.filter,\n filterValue: filterValue,\n filterBy: this.props.filterBy,\n filterMode: this.props.filterMode,\n filterPlaceholder: this.props.filterPlaceholder,\n filterLocale: this.props.filterLocale,\n showHeader: false,\n onFilterValueChange: this.onFilterValueChange\n }), this.hasNoOptions() && /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-empty-message\"\n }, this.props.emptyMessage || localeOption('emptyMessage')));\n }\n }, {\n key: \"renderFilterElement\",\n value: function renderFilterElement() {\n var _this7 = this;\n\n if (this.props.filter) {\n var filterValue = this.getFilterValue();\n filterValue = ObjectUtils.isNotEmpty(filterValue) ? filterValue : '';\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-filter-container\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n ref: function ref(el) {\n return _this7.filterInput = el;\n },\n type: \"text\",\n value: filterValue,\n autoComplete: \"off\",\n className: \"p-treeselect-filter p-inputtext p-component\",\n placeholder: this.props.filterPlaceholder,\n onKeyDown: this.onFilterInputKeyDown,\n onChange: this.onFilterInputChange,\n disabled: this.props.disabled\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-treeselect-filter-icon pi pi-search\"\n }));\n }\n\n return null;\n }\n }, {\n key: \"renderHeader\",\n value: function renderHeader() {\n var filterElement = this.renderFilterElement();\n var closeElement = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"p-treeselect-close p-link\",\n onClick: this.hide\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-treeselect-close-icon pi pi-times\"\n }), /*#__PURE__*/React.createElement(Ripple, null));\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: \"p-treeselect-header\"\n }, filterElement, closeElement);\n\n if (this.props.header) {\n var defaultOptions = {\n className: 'p-treeselect-header',\n filterElement: filterElement,\n closeElement: closeElement,\n closeElementClassName: 'p-treeselect-close p-link',\n closeIconClassName: 'p-treeselect-close-icon pi pi-times',\n onCloseClick: this.hide,\n element: content,\n props: this.props\n };\n return ObjectUtils.getJSXElement(this.props.header, defaultOptions);\n }\n\n return content;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this8 = this;\n\n var className = classNames('p-treeselect p-component p-inputwrapper', {\n 'p-treeselect-chip': this.props.display === 'chip',\n 'p-disabled': this.props.disabled,\n 'p-focus': this.state.focused,\n 'p-inputwrapper-filled': !this.isValueEmpty(),\n 'p-inputwrapper-focus': this.state.focused || this.state.overlayVisible\n }, this.props.className);\n var selectedNodes = this.getSelectedNodes();\n var keyboardHelper = this.renderKeyboardHelper();\n var labelElement = this.renderLabel(selectedNodes);\n var dropdownIcon = this.renderDropdownIcon();\n var content = this.renderContent();\n var header = this.renderHeader();\n var footer = ObjectUtils.getJSXElement(this.props.footer, this.props);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: this.props.id,\n ref: function ref(el) {\n return _this8.container = el;\n },\n className: className,\n style: this.props.style,\n onClick: this.onClick\n }, keyboardHelper, labelElement, dropdownIcon, /*#__PURE__*/React.createElement(TreeSelectPanel, {\n ref: this.overlayRef,\n appendTo: this.props.appendTo,\n panelStyle: this.props.panelStyle,\n panelClassName: this.props.panelClassName,\n scrollHeight: this.props.scrollHeight,\n onClick: this.onOverlayClick,\n header: header,\n footer: footer,\n transitionOptions: this.props.transitionOptions,\n \"in\": this.state.overlayVisible,\n onEnter: this.onOverlayEnter,\n onEntered: this.onOverlayEntered,\n onExit: this.onOverlayExit,\n onExited: this.onOverlayExited\n }, content));\n }\n }]);\n\n return TreeSelect;\n}(Component);\n\n_defineProperty(TreeSelect, \"defaultProps\", {\n id: null,\n value: null,\n name: null,\n style: null,\n className: null,\n disabled: false,\n options: null,\n scrollHeight: '400px',\n placeholder: null,\n tabIndex: null,\n inputId: null,\n ariaLabel: null,\n ariaLabelledBy: null,\n selectionMode: 'single',\n panelStyle: null,\n panelClassName: null,\n appendTo: null,\n emptyMessage: null,\n display: 'comma',\n metaKeySelection: true,\n valueTemplate: null,\n panelHeaderTemplate: null,\n panelFooterTemplate: null,\n transitionOptions: null,\n dropdownIcon: 'pi pi-chevron-down',\n filter: false,\n filterValue: null,\n filterBy: 'label',\n filterMode: 'lenient',\n filterPlaceholder: null,\n filterLocale: undefined,\n filterInputAutoFocus: true,\n resetFilterOnHide: false,\n onShow: null,\n onHide: null,\n onChange: null,\n onNodeSelect: null,\n onNodeUnselect: null,\n onNodeExpand: null,\n onNodeCollapse: null,\n onFilterValueChange: null\n});\n\nexport { TreeSelect };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} |