{"version":3,"sources":["webpack://cshs/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://cshs/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://cshs/./src/jquery.simpler-select.ts"],"names":[],"mappings":"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","file":"jquery.simpler-select.js","sourcesContent":["export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _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\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**\n * @file\n * Render standard select with hierarchical options: as set of selects, one for each level of the hierarchy.\n */\n\n(($, wrapperClass, pluginName): void => {\n 'use strict';\n\n const pluginId = 'plugin_' + pluginName;\n\n function $createElement(name: K): JQuery {\n return $(document.createElement(name));\n }\n\n class ClientSideHierarchicalSelect implements Cshs.Plugin {\n protected readonly $element: JQuery;\n protected readonly settings: Cshs.Settings;\n protected readonly disabled: boolean;\n protected readonly elementId: string;\n protected readonly isMultiple: boolean;\n protected readonly elementClasses: string;\n protected readonly options: Cshs.Option[] = [];\n protected readonly groups: Record | undefined> = {};\n protected currentLevel = -1;\n protected rootValue: string | undefined;\n\n constructor(element: HTMLSelectElement, settings: Partial) {\n this.$element = $(element);\n this.disabled = element.disabled;\n this.elementId = element.id;\n this.isMultiple = element.multiple;\n this.elementClasses = element.className.replace('simpler-select-root', 'simpler-select');\n // Use `$.extend()` to not care about `Object.assign()` polyfill for IE11.\n this.settings = $.extend({\n noFirstLevelNone: false,\n noneLabel: '- Please choose -',\n noneValue: '_none',\n labels: [],\n }, settings);\n\n this.init();\n }\n\n init(): void {\n // Ensure that we'll clearly initiate a new instance.\n this.destroy();\n this.buildOptions();\n\n let $currentWrapper = this.createSelectElement(this.$element, this.rootValue, !this.settings.noFirstLevelNone);\n\n if ($currentWrapper !== this.$element) {\n let lastSelectedValue = this.$element.val();\n\n if (lastSelectedValue instanceof Array) {\n lastSelectedValue = lastSelectedValue.pop();\n } else if (typeof lastSelectedValue === 'number') {\n lastSelectedValue = lastSelectedValue.toString();\n }\n\n if (lastSelectedValue) {\n // Reverse since we started from the last value.\n for (const value of this.getLineage(lastSelectedValue).reverse()) {\n $currentWrapper.find('select').val(value);\n $currentWrapper = this.createSelectElement($currentWrapper, value);\n }\n }\n\n // Hide the original.\n this.$element.hide();\n }\n }\n\n destroy(): void {\n // Allow reinitialization here.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this['groups'] = {};\n this.options.length = 0;\n this.removeSubsequentSelects(this.$element.show());\n }\n\n protected buildOptions(): void {\n for (const option of this.$element[0].options) {\n const group = option.parentNode instanceof HTMLOptGroupElement ? option.parentNode.label : undefined;\n\n if (group) {\n // Create the mapping as we'll need the total count later.\n this.groups[group] = undefined;\n }\n\n this.options.push({\n group,\n value: option.value,\n label: option.text.trim(),\n // `undefined` and `''` results in an `undefined`.\n parent: option.dataset.parent || undefined,\n });\n }\n\n // If the first option is a `_none`, then the next one is the\n // real where we should look for a parent to determine whether\n // the hierarchy starts from a specific item.\n this.rootValue = this.options[this.options[0]?.value === this.settings.noneValue ? 1 : 0]?.parent;\n }\n\n protected createSelectElement($element: T, parent?: string, addNoneOption = true): T | JQuery {\n const options = this.getChildren(parent);\n\n if (!options.length) {\n return $element;\n }\n\n this.currentLevel++;\n\n const levelPrefix = '--level-' + this.currentLevel;\n const selectId = this.elementId + levelPrefix;\n const $wrapper = $createElement('div')\n // Add level-specific class to ease the styling.\n .addClass([wrapperClass, wrapperClass + levelPrefix])\n // Provide the read-only attribute for those who may need to query it.\n .attr('data-level', this.currentLevel);\n const $select = $createElement('select')\n .addClass(this.elementClasses)\n .attr('id', selectId)\n // Suppress `Argument of type 'boolean' is not assignable to\n // parameter of type 'string | number` because it's not true.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore TS2345.\n .attr('disabled', this.disabled);\n\n if (addNoneOption) {\n $createElement('option')\n .attr('value', this.settings.noneValue)\n .attr('data-parent-value', parent || null)\n .text(this.settings.noneLabel)\n .appendTo($select);\n }\n\n for (const option of options) {\n // Do not add the `_none` option 'cause it's already added above.\n if (option.value !== this.settings.noneValue) {\n this.createOptionElement($select, option);\n }\n }\n\n $select.on('change', (event): void => {\n const selectedOption = event.target.options[event.target.selectedIndex];\n\n this.removeSubsequentSelects($wrapper);\n\n this\n .$element\n // The `data-parent-value` exists only on the `_none` option, meaning\n // we should refer to the selection picked in the previous select.\n .val(this.getValue(selectedOption.dataset.parentValue ?? selectedOption.value))\n .trigger(event.type);\n\n if (selectedOption.value !== this.settings.noneValue) {\n this.createSelectElement($wrapper, selectedOption.value);\n }\n });\n\n if (this.settings.labels[this.currentLevel]) {\n $createElement('label')\n .attr('for', selectId)\n .text(this.settings.labels[this.currentLevel])\n .appendTo($wrapper);\n }\n\n this.$element.trigger(jQuery.Event(`${pluginName}ChildCreated`, { $wrapper }));\n\n return $wrapper\n .append($select)\n .insertAfter($element);\n }\n\n protected createOptionElement($select: JQuery, option: Cshs.Option): JQuery {\n const $option = $createElement('option')\n .attr('value', option.value)\n .text(option.label);\n\n if (this.getChildren(option.value).length) {\n $option.addClass('has-children');\n }\n\n // Group options on the first level only if there are at least 2 groups.\n if (!option.parent && option.group && Object.keys(this.groups).length > 1) {\n this.groups[option.group] ??= $createElement('optgroup')\n .attr('label', option.group)\n .appendTo($select);\n\n // The group is no longer `undefined`.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n $option.appendTo(this.groups[option.group]);\n } else {\n $option.appendTo($select);\n }\n\n return $option;\n }\n\n /**\n * Returns the value for a given `option` element.\n */\n protected getValue(value: string): string | string[] {\n return this.isMultiple ? this.getLineage(value) : value;\n }\n\n /**\n * Removes subsequent `select` elements after a given element.\n */\n protected removeSubsequentSelects($element: JQuery): void {\n const $wrappers = $element.nextAll('.' + wrapperClass);\n this.currentLevel -= $wrappers.length;\n\n if ($wrappers.length) {\n this.$element.trigger(jQuery.Event(`${pluginName}ChildrenDeleted`, { $wrappers }));\n }\n\n $wrappers.remove();\n }\n\n /**\n * Returns the first found option with a given value.\n */\n protected getOptionByValue(value: string): Cshs.Option | undefined {\n for (const option of this.options) {\n if (option.value === value) {\n return option;\n }\n }\n\n return undefined;\n }\n\n /**\n * Returns the options that are children of a given parent.\n */\n protected getChildren(parent: string | undefined): Cshs.Option[] {\n return this.options.filter((option) => option.parent === parent);\n }\n\n /**\n * Returns the values tree for a given value.\n */\n protected getLineage(value: string): string[] {\n const parents: string[] = [value];\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (value !== this.settings.noneValue) {\n const option = this.getOptionByValue(value);\n\n // Do not allow going beyond the configured root.\n if (option?.parent && option.parent !== this.rootValue) {\n parents.push(option.parent);\n\n const child = this.getOptionByValue(option.parent);\n\n if (child?.value) {\n value = child.value;\n continue;\n }\n }\n }\n\n break;\n }\n\n return parents;\n }\n }\n\n $.fn[pluginName] = function (settings: Partial) {\n return this.each((index, element) => {\n if (!$.data(element, pluginId)) {\n if (element instanceof HTMLSelectElement) {\n $.data(element, pluginId, new ClientSideHierarchicalSelect(element, settings));\n } else {\n throw new Error(`The \"${element.id}\" must be an instance of HTMLSelectElement.`);\n }\n }\n });\n };\n})(jQuery, 'select-wrapper', 'simplerSelect');\n"],"sourceRoot":""}