@postnord/pn-marketweb-components 3.0.1 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +1 -1
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +2 -2
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +4 -4
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js.map +1 -1
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +2 -2
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js.map +1 -1
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +1 -1
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js +2 -2
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js.map +1 -1
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.js +4 -4
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.js.map +1 -1
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js +2 -2
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js.map +1 -1
- package/components/pn-dropdown-choice-adds-row.js +1 -1
- package/components/pn-dropdown-choice-adds-row.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows.js +2 -2
- package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
- package/components/pn-multi-row-connected-dropdown-row2.js +4 -4
- package/components/pn-multi-row-connected-dropdown-row2.js.map +1 -1
- package/components/pn-multi-row-connected-dropdown.js +2 -2
- package/components/pn-multi-row-connected-dropdown.js.map +1 -1
- package/esm/pn-dropdown-choice-adds-row.entry.js +1 -1
- package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows.entry.js +2 -2
- package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
- package/esm/pn-multi-row-connected-dropdown-row.entry.js +4 -4
- package/esm/pn-multi-row-connected-dropdown-row.entry.js.map +1 -1
- package/esm/pn-multi-row-connected-dropdown.entry.js +2 -2
- package/esm/pn-multi-row-connected-dropdown.entry.js.map +1 -1
- package/package.json +1 -1
- package/pn-market-web-components/p-07253be3.entry.js +2 -0
- package/pn-market-web-components/{p-3847f9af.entry.js.map → p-07253be3.entry.js.map} +1 -1
- package/pn-market-web-components/{p-23916c49.entry.js → p-3ae1657a.entry.js} +2 -2
- package/pn-market-web-components/{p-23916c49.entry.js.map → p-3ae1657a.entry.js.map} +1 -1
- package/pn-market-web-components/p-5ff663be.entry.js +2 -0
- package/pn-market-web-components/p-5ff663be.entry.js.map +1 -0
- package/pn-market-web-components/p-af16f7e3.entry.js +2 -0
- package/pn-market-web-components/p-af16f7e3.entry.js.map +1 -0
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/pn-market-web-components/p-00ea6211.entry.js +0 -2
- package/pn-market-web-components/p-00ea6211.entry.js.map +0 -1
- package/pn-market-web-components/p-3847f9af.entry.js +0 -2
- package/pn-market-web-components/p-67089fc8.entry.js +0 -2
- package/pn-market-web-components/p-67089fc8.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-dropdown-choice-adds-row.js","mappings":"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","names":[],"sources":["src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.scss?tag=pn-dropdown-choice-adds-row","src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-choice-adds-row {\n gap: 1rem;\n\n .dropdown-choice-form-row {\n display: flex;\n gap: 1rem;\n }\n\n .pn-row-select-dropdown {\n width: 50%;\n margin-bottom: 1rem;\n }\n\n @media only screen and (max-width: 640px) {\n .pn-row-select-dropdown {\n width: 100%;\n }\n }\n\n .pn-dropdown-choice-table {\n width: 100%;\n border-spacing: 0rem;\n\n thead {\n th {\n text-align: left;\n padding: 1rem 0.5rem;\n\n label {\n color: $gray700;\n font-size: 1.4rem;\n font-weight: 400;\n }\n }\n\n .table-header {\n &--name {\n width: 40%;\n }\n\n &--dropdown {\n width: 40%;\n }\n\n &--input {\n width: 10%;\n }\n\n &--delete {\n width: 10%;\n }\n }\n }\n\n tbody {\n td {\n padding: 0.5rem;\n }\n\n tr:nth-child(even) {\n background-color: #effbff;\n }\n\n .tr-delete {\n text-align: center;\n }\n }\n\n tfoot {\n td {\n small {\n color: $warning;\n vertical-align: middle;\n }\n\n pn-icon {\n margin-right: 0.25em;\n vertical-align: middle;\n }\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter } from '@stencil/core';\nimport { FormValue, RowValue, Root } from './types';\nimport debounce from 'debounce';\nimport { alert_exclamation_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-choice-adds-row',\n styleUrl: 'pn-dropdown-choice-adds-row.scss',\n})\nexport class pnDropdownChoiceAddsRow {\n @Element() hostElement: Element;\n pnRowSelectDropdown: HTMLElement = null;\n tableHead: HTMLElement = null;\n tableBody: HTMLElement = null;\n private _dropdownData: Root[];\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() addRowDropdownName: string = '';\n @Prop() addRowDropdownPlaceholder: string = '';\n @Prop() addRowDropdownLabel: string = '';\n @Prop() rowNameLabel: string = '';\n @Prop() rowHasDropdown: boolean = true;\n @Prop() rowDropdownLabel: string = '';\n @Prop() rowDropdownPlaceholder: string = '';\n @Prop() rowInputLabel: string = '';\n @Prop() rowDeleteButtonText: string = '';\n @Prop() totalInputLimit: number = 0;\n @Prop() inputLimitWarning: string = null;\n\n @State() nextRowIndex: number = null;\n @State() rowSelectDropdownArr: string[] = null;\n @State() columnCount: number = null;\n @State() showWarning: boolean = false;\n @State() formValue: string = null;\n\n @Event() rowvalues: EventEmitter<string>;\n\n @Watch('dropdownData')\n dropdownDataWatcher() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n componentWillLoad() {\n this.dropdownDataWatcher();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n }\n\n addEventHandlers() {\n this.pnRowSelectDropdown.addEventListener('selectOption', debounce(this.addRowElement.bind(this), 500));\n }\n\n setInitialValues() {\n this.nextRowIndex = 0;\n this.columnCount = this.rowHasDropdown ? 4 : 3;\n this.setRowSelectDropdownArr();\n }\n\n setRowSelectDropdownArr() {\n this.rowSelectDropdownArr = [];\n this._dropdownData.forEach(element => {\n this.rowSelectDropdownArr.push(element.label);\n });\n }\n\n formRowEvent = e => {\n const debouncedAddValue = debounce(this.updateHiddenFieldValue.bind(this), 500);\n\n if (e.target.matches('input')) {\n ['change', 'keyup'].forEach(eventName => {\n e.target.addEventListener(eventName, debouncedAddValue);\n });\n } else {\n const rowDropdown = e.target.closest('.generated-table-row')?.querySelector('pn-select') as HTMLElement;\n if (rowDropdown) {\n rowDropdown.addEventListener('selectOption', debouncedAddValue);\n }\n }\n };\n\n updateHiddenFieldValue() {\n const allRows = [...this.tableBody.querySelectorAll('tr')];\n const columnValueCount = this.rowHasDropdown ? 3 : 2;\n const formValues: FormValue[] = [];\n\n if (allRows.length) {\n allRows.forEach(elm => {\n const row: FormValue = { row: [] };\n const nameElm = elm.querySelector('.tr-name');\n const dropdownElm = elm.querySelector('.tr-dropdown');\n const inputElm = elm.querySelector('.tr-input');\n\n const nameValue: RowValue = { name: this.rowNameLabel, value: nameElm?.innerHTML };\n row.row.push(nameValue);\n\n const dropdown = dropdownElm.querySelector('.current-selection');\n if (dropdown) {\n const dropdownSelection = dropdown.textContent ?? '';\n\n if (dropdownSelection.length) {\n const dropdownValue: RowValue = {\n name: this.rowDropdownLabel,\n value: dropdownSelection,\n };\n row.row.push(dropdownValue);\n }\n }\n if (!dropdown && columnValueCount === 3) {\n const dropdownValue: RowValue = {\n name: this.rowDropdownLabel,\n value: '',\n };\n row.row.push(dropdownValue);\n }\n\n const inputValue = parseInt(inputElm.querySelector('input')?.value ?? '0');\n if (inputValue > 0) {\n const inputColumnValue: RowValue = { name: this.rowInputLabel, value: inputValue.toString() };\n row.row.push(inputColumnValue);\n }\n\n if (row.row.length === columnValueCount) {\n formValues.push(row);\n }\n });\n }\n\n if (formValues.length && formValues.length === allRows.length) {\n const valueJsonString = JSON.stringify(formValues);\n this.formValue = `PN-JSON|${valueJsonString}`;\n } else {\n this.formValue = '';\n }\n\n this.rowvalues.emit(this.formValue);\n this.checkInputTotal();\n }\n\n addRowElement() {\n const selected = this.pnRowSelectDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n const slotElm = this.tableBody;\n const newRow = document.createElement('tr');\n newRow.setAttribute('index', `${this.nextRowIndex}`);\n newRow.setAttribute('class', 'generated-table-row');\n newRow.onclick = e => this.formRowEvent(e);\n const rowNameColumn = document.createElement('td');\n rowNameColumn.setAttribute('class', 'tr-name');\n rowNameColumn.innerHTML = selectedValue;\n rowNameColumn.dataset.name = selectedValue;\n newRow.appendChild(rowNameColumn);\n\n if (this.rowHasDropdown) {\n const rowDropdownColumn = this.createDropdownColumn(selectedValue);\n newRow.appendChild(rowDropdownColumn);\n }\n\n const rowInputColumn = this.createInputColumn(selectedValue);\n newRow.appendChild(rowInputColumn);\n const deleteButton = this.createDeleteButtonColumn();\n newRow.appendChild(deleteButton);\n\n slotElm.appendChild(newRow);\n this.updateRowSelectDropdown();\n this.nextRowIndex++;\n }\n\n getCurrentRow(selectedValue: string) {\n return this.hostElement.querySelectorAll(`.tr-name[data-name='${selectedValue}'`);\n }\n\n createDropdownColumn(selectedValue: string) {\n const dropdownColumn = document.createElement('td');\n dropdownColumn.setAttribute('class', 'tr-dropdown');\n const selectedItem = this._dropdownData.find(arr => arr.label === selectedValue);\n const selectedOptionValues = [];\n const currentRow = this.getCurrentRow(selectedValue);\n\n currentRow.forEach(row => {\n selectedOptionValues.push(row.parentElement?.querySelector('.tr-dropdown [aria-selected=true]')?.textContent);\n });\n\n if (Array.isArray(selectedItem.values) && selectedItem.values.length) {\n const dropdown = document.createElement('pn-select');\n dropdown.setAttribute('name', `${selectedValue}-dropdown`);\n dropdown.setAttribute('placeholder', this.rowDropdownPlaceholder);\n\n const filtereredValues = selectedItem.values.filter(item => !selectedOptionValues?.includes(item.value));\n\n filtereredValues.forEach(childItem => {\n const childOption = document.createElement('pn-option');\n childOption.setAttribute(\"label\", childItem.label);\n childOption.setAttribute(\"value\", childItem.label)\n dropdown.appendChild(childOption);\n });\n\n dropdownColumn.appendChild(dropdown);\n }\n\n return dropdownColumn;\n }\n\n createInputColumn(selectedValue: string) {\n const inputColumn = document.createElement('td');\n inputColumn.setAttribute('class', 'tr-input');\n const inputElm = document.createElement('pn-marketweb-input');\n inputElm.setAttribute('type', 'number');\n inputElm.setAttribute('name', `${selectedValue}-input`);\n inputElm.setAttribute('placeholder', '0');\n inputColumn.appendChild(inputElm);\n return inputColumn;\n }\n\n createDeleteButtonColumn() {\n const buttonColumn = document.createElement('td');\n buttonColumn.setAttribute('class', 'tr-delete');\n const buttonElm = document.createElement('pn-button');\n buttonElm.onclick = e => this.deleteRow(e);\n buttonElm.setAttribute('appearance', 'warning');\n buttonElm.setAttribute('small', 'true');\n buttonElm.appendChild(document.createTextNode(this.rowDeleteButtonText));\n buttonColumn.appendChild(buttonElm);\n return buttonColumn;\n }\n\n updateRowSelectDropdown() {\n type Row = { rowName: string; selectedValue: string; placeholder: string };\n\n const rows: Row[] = [].map.call(this.tableBody.querySelectorAll('.tr-name'), el => {\n const dropdownColumn = el?.parentElement?.querySelector('.tr-dropdown');\n const dropdownPlaceholder = dropdownColumn?.querySelector('.pn-select-content span')?.textContent;\n const row: Row = {\n rowName: el?.innerHTML,\n selectedValue: dropdownColumn?.querySelector('[aria-selected=true]')?.textContent,\n placeholder: dropdownPlaceholder,\n };\n return row;\n });\n\n if (rows.length) {\n this.rowSelectDropdownArr = [];\n\n this._dropdownData.forEach(element => {\n const filteredRows = rows.filter(row => row.rowName === element.label);\n const mainOptionReachedMaxPossibleRows =\n (element.values.length > 0 && filteredRows.length >= element.values.length) || (element.values.length === 0 && filteredRows.length === 1);\n if (!mainOptionReachedMaxPossibleRows) {\n this.rowSelectDropdownArr.push(element.label);\n }\n });\n } else {\n this.setRowSelectDropdownArr();\n }\n\n const selectOptions = this.pnRowSelectDropdown.querySelectorAll('pn-option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n\n const placeholder = this.pnRowSelectDropdown.querySelector('.pn-select-content span');\n placeholder.innerHTML = this.addRowDropdownPlaceholder;\n\n this.updateHiddenFieldValue();\n }\n\n deleteRow(e: Event) {\n e.preventDefault();\n this.nextRowIndex--;\n const targetElm = e.currentTarget as HTMLButtonElement;\n const targetRow = targetElm.closest('tr');\n targetRow.remove();\n const allRows = [...this.tableBody.querySelectorAll('tr')];\n\n allRows.map((elm, index) => {\n elm.setAttribute('index', `${index}`);\n });\n\n this.updateRowSelectDropdown();\n }\n\n checkInputTotal() {\n const allRows = this.tableBody.querySelectorAll('tr');\n\n if (this.totalInputLimit === 0 || allRows.length < 1) {\n this.showWarning = false;\n return;\n }\n\n let totalInput = 0;\n\n allRows.forEach(element => {\n const inputField = element.querySelector('pn-marketweb-input');\n if (inputField.value) {\n totalInput += parseInt(inputField.value) ?? 0;\n }\n });\n this.showWarning = totalInput > this.totalInputLimit ? true : false;\n }\n\n render() {\n return (\n <Host>\n <div class=\"dropdown-choice-form-row\">\n <pn-select\n ref={el => (this.pnRowSelectDropdown = el as HTMLElement)}\n name={this.addRowDropdownName}\n placeholder={this.addRowDropdownPlaceholder}\n label={this.addRowDropdownLabel}\n class=\"pn-row-select-dropdown\"\n >\n {this.rowSelectDropdownArr?.map((value: string) => <pn-option label={value} value={value}></pn-option>)}\n </pn-select>\n </div>\n <div class=\"dropdown-choice-form-row\">\n <table class=\"pn-dropdown-choice-table\">\n <thead ref={el => (this.tableHead = el as HTMLElement)}>\n {this.nextRowIndex === 0 ? null : (\n <tr>\n <th class=\"table-header--name\">\n <label>{this.rowNameLabel}</label>\n </th>\n {this.rowHasDropdown ? (\n <th class=\"table-header--dropdown\">\n <label>{this.rowDropdownLabel}</label>\n </th>\n ) : null}\n <th class=\"table-header--input\">\n <label>{this.rowInputLabel}</label>\n </th>\n <th class=\"table-header--delete\"></th>\n </tr>\n )}\n </thead>\n <tbody ref={el => (this.tableBody = el as HTMLElement)} class=\"pn-dropdown-choice-table-slot\">\n <slot></slot>\n </tbody>\n <tfoot>\n {this.showWarning ? (\n <tr>\n <td colSpan={this.columnCount}>\n <pn-icon icon={alert_exclamation_circle} small color=\"warning\"></pn-icon>\n <small class=\"dropdown-choice-error-message\">{this.inputLimitWarning}</small>\n </td>\n </tr>\n ) : null}\n </tfoot>\n </table>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-dropdown-choice-adds-row.js","mappings":";;;;AAAA,MAAM,0BAA0B,GAAG,igDAAigD,CAAC;AACriD,sCAAe,0BAA0B;;MCQ5B,uBAAuB;;;;;QAElC,wBAAmB,GAAgB,IAAI,CAAC;QACxC,cAAS,GAAgB,IAAI,CAAC;QAC9B,cAAS,GAAgB,IAAI,CAAC;QA2D9B,iBAAY,GAAG,CAAC;;YACd,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAEhF,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS;oBACnC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;iBACzD,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,WAAW,GAAG,MAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,0CAAE,aAAa,CAAC,WAAW,CAAgB,CAAC;gBACxG,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,gBAAgB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;iBACjE;aACF;SACF,CAAC;4BArEsC,IAAI;kCACP,EAAE;yCACK,EAAE;mCACR,EAAE;4BACT,EAAE;8BACC,IAAI;gCACH,EAAE;sCACI,EAAE;6BACX,EAAE;mCACI,EAAE;+BACN,CAAC;iCACC,IAAI;4BAER,IAAI;oCACM,IAAI;2BACf,IAAI;2BACH,KAAK;yBACR,IAAI;;IAKjC,mBAAmB;QACjB,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;SACxC;KACF;IAED,iBAAiB;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB;QACd,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;KACzG;IAED,gBAAgB;QACd,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAED,uBAAuB;QACrB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO;YAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/C,CAAC,CAAC;KACJ;IAiBD,sBAAsB;QACpB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,OAAO,CAAC,OAAO,CAAC,GAAG;;gBACjB,MAAM,GAAG,GAAc,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAEhD,MAAM,SAAS,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE,CAAC;gBACnF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAExB,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;gBACjE,IAAI,QAAQ,EAAE;oBACZ,MAAM,iBAAiB,GAAG,MAAA,QAAQ,CAAC,WAAW,mCAAI,EAAE,CAAC;oBAErD,IAAI,iBAAiB,CAAC,MAAM,EAAE;wBAC5B,MAAM,aAAa,GAAa;4BAC9B,IAAI,EAAE,IAAI,CAAC,gBAAgB;4BAC3B,KAAK,EAAE,iBAAiB;yBACzB,CAAC;wBACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qBAC7B;iBACF;gBACD,IAAI,CAAC,QAAQ,IAAI,gBAAgB,KAAK,CAAC,EAAE;oBACvC,MAAM,aAAa,GAAa;wBAC9B,IAAI,EAAE,IAAI,CAAC,gBAAgB;wBAC3B,KAAK,EAAE,EAAE;qBACV,CAAC;oBACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBAC7B;gBAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAA,MAAA,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,KAAK,mCAAI,GAAG,CAAC,CAAC;gBAC3E,IAAI,UAAU,GAAG,CAAC,EAAE;oBAClB,MAAM,gBAAgB,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC9F,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;iBAChC;gBAED,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,gBAAgB,EAAE;oBACvC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACtB;aACF,CAAC,CAAC;SACJ;QAED,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;YAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,WAAW,eAAe,EAAE,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAED,aAAa;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACnD,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/C,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC;QACxC,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACnE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACvC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEjC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAED,aAAa,CAAC,aAAqB;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,uBAAuB,aAAa,GAAG,CAAC,CAAC;KACnF;IAED,oBAAoB,CAAC,aAAqB;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpD,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;QACjF,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAErD,UAAU,CAAC,OAAO,CAAC,GAAG;;YACpB,oBAAoB,CAAC,IAAI,CAAC,MAAA,MAAA,GAAG,CAAC,aAAa,0CAAE,aAAa,CAAC,mCAAmC,CAAC,0CAAE,WAAW,CAAC,CAAC;SAC/G,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;YACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACrD,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,aAAa,WAAW,CAAC,CAAC;YAC3D,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAElE,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAC,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;YAEzG,gBAAgB,CAAC,OAAO,CAAC,SAAS;gBAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACxD,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBACnD,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;gBAClD,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;aACnC,CAAC,CAAC;YAEH,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACtC;QAED,OAAO,cAAc,CAAC;KACvB;IAED,iBAAiB,CAAC,aAAqB;QACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACjD,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC9D,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,aAAa,QAAQ,CAAC,CAAC;QACxD,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC1C,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,WAAW,CAAC;KACpB;IAED,wBAAwB;QACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClD,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACtD,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3C,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAChD,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACzE,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,YAAY,CAAC;KACrB;IAED,uBAAuB;QAGrB,MAAM,IAAI,GAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE;;YAC7E,MAAM,cAAc,GAAG,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YACxE,MAAM,mBAAmB,GAAG,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,CAAC,yBAAyB,CAAC,0CAAE,WAAW,CAAC;YAClG,MAAM,GAAG,GAAQ;gBACf,OAAO,EAAE,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,SAAS;gBACtB,aAAa,EAAE,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,CAAC,sBAAsB,CAAC,0CAAE,WAAW;gBACjF,WAAW,EAAE,mBAAmB;aACjC,CAAC;YACF,OAAO,GAAG,CAAC;SACZ,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAE/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO;gBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,gCAAgC,GACpC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;gBAC5I,IAAI,CAAC,gCAAgC,EAAE;oBACrC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC/C;aACF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC7E,aAAa,CAAC,OAAO,CAAC,GAAG;YACvB,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;SACjC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACtF,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAEvD,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IAED,SAAS,CAAC,CAAQ;QAChB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,CAAC,CAAC,aAAkC,CAAC;QACvD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,SAAS,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK;YACrB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,OAAO;SACR;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,OAAO,CAAC,OAAO,CAAC,OAAO;;YACrB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC/D,IAAI,UAAU,CAAC,KAAK,EAAE;gBACpB,UAAU,IAAI,MAAA,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC;aAC/C;SACF,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,KAAK,CAAC;KACrE;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAC,0BAA0B,IACnC,kEACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,mBAAmB,GAAG,EAAiB,CAAC,EACzD,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAC7B,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAC3C,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAC/B,KAAK,EAAC,wBAAwB,kBACjB,MAAM,IAElB,MAAA,IAAI,CAAC,oBAAoB,0CAAE,GAAG,CAAC,CAAC,KAAa,KAAK,iBAAW,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAc,CAAC,CAC7F,CACR,EACN,4DAAK,KAAK,EAAC,0BAA0B,IACnC,8DAAO,KAAK,EAAC,0BAA0B,IACrC,8DAAO,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,IACnD,IAAI,CAAC,YAAY,KAAK,CAAC,GAAG,IAAI,IAC7B,cACE,UAAI,KAAK,EAAC,oBAAoB,IAC5B,iBAAQ,IAAI,CAAC,YAAY,CAAS,CAC/B,EACJ,IAAI,CAAC,cAAc,IAClB,UAAI,KAAK,EAAC,wBAAwB,IAChC,iBAAQ,IAAI,CAAC,gBAAgB,CAAS,CACnC,IACH,IAAI,EACR,UAAI,KAAK,EAAC,qBAAqB,IAC7B,iBAAQ,IAAI,CAAC,aAAa,CAAS,CAChC,EACL,UAAI,KAAK,EAAC,sBAAsB,GAAM,CACnC,CACN,CACK,EACR,8DAAO,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,+BAA+B,IAC3F,8DAAa,CACP,EACR,gEACG,IAAI,CAAC,WAAW,IACf,cACE,UAAI,OAAO,EAAE,IAAI,CAAC,WAAW,IAC3B,eAAS,IAAI,EAAE,wBAAwB,EAAE,KAAK,QAAC,KAAK,EAAC,SAAS,GAAW,EACzE,aAAO,KAAK,EAAC,+BAA+B,IAAE,IAAI,CAAC,iBAAiB,CAAS,CAC1E,CACF,IACH,IAAI,CACF,CACF,CACJ,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.scss?tag=pn-dropdown-choice-adds-row","src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-choice-adds-row {\n gap: 1rem;\n\n .dropdown-choice-form-row {\n display: flex;\n gap: 1rem;\n }\n\n .pn-row-select-dropdown {\n width: 50%;\n margin-bottom: 1rem;\n }\n\n @media only screen and (max-width: 640px) {\n .pn-row-select-dropdown {\n width: 100%;\n }\n }\n\n .pn-dropdown-choice-table {\n width: 100%;\n border-spacing: 0rem;\n\n thead {\n th {\n text-align: left;\n padding: 1rem 0.5rem;\n\n label {\n color: $gray700;\n font-size: 1.4rem;\n font-weight: 400;\n }\n }\n\n .table-header {\n &--name {\n width: 40%;\n }\n\n &--dropdown {\n width: 40%;\n }\n\n &--input {\n width: 10%;\n }\n\n &--delete {\n width: 10%;\n }\n }\n }\n\n tbody {\n td {\n padding: 0.5rem;\n }\n\n tr:nth-child(even) {\n background-color: #effbff;\n }\n\n .tr-delete {\n text-align: center;\n }\n }\n\n tfoot {\n td {\n small {\n color: $warning;\n vertical-align: middle;\n }\n\n pn-icon {\n margin-right: 0.25em;\n vertical-align: middle;\n }\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter } from '@stencil/core';\nimport { FormValue, RowValue, Root } from './types';\nimport debounce from 'debounce';\nimport { alert_exclamation_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-choice-adds-row',\n styleUrl: 'pn-dropdown-choice-adds-row.scss',\n})\nexport class pnDropdownChoiceAddsRow {\n @Element() hostElement: Element;\n pnRowSelectDropdown: HTMLElement = null;\n tableHead: HTMLElement = null;\n tableBody: HTMLElement = null;\n private _dropdownData: Root[];\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() addRowDropdownName: string = '';\n @Prop() addRowDropdownPlaceholder: string = '';\n @Prop() addRowDropdownLabel: string = '';\n @Prop() rowNameLabel: string = '';\n @Prop() rowHasDropdown: boolean = true;\n @Prop() rowDropdownLabel: string = '';\n @Prop() rowDropdownPlaceholder: string = '';\n @Prop() rowInputLabel: string = '';\n @Prop() rowDeleteButtonText: string = '';\n @Prop() totalInputLimit: number = 0;\n @Prop() inputLimitWarning: string = null;\n\n @State() nextRowIndex: number = null;\n @State() rowSelectDropdownArr: string[] = null;\n @State() columnCount: number = null;\n @State() showWarning: boolean = false;\n @State() formValue: string = null;\n\n @Event() rowvalues: EventEmitter<string>;\n\n @Watch('dropdownData')\n dropdownDataWatcher() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n componentWillLoad() {\n this.dropdownDataWatcher();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n }\n\n addEventHandlers() {\n this.pnRowSelectDropdown.addEventListener('selectOption', debounce(this.addRowElement.bind(this), 500));\n }\n\n setInitialValues() {\n this.nextRowIndex = 0;\n this.columnCount = this.rowHasDropdown ? 4 : 3;\n this.setRowSelectDropdownArr();\n }\n\n setRowSelectDropdownArr() {\n this.rowSelectDropdownArr = [];\n this._dropdownData.forEach(element => {\n this.rowSelectDropdownArr.push(element.label);\n });\n }\n\n formRowEvent = e => {\n const debouncedAddValue = debounce(this.updateHiddenFieldValue.bind(this), 500);\n\n if (e.target.matches('input')) {\n ['change', 'keyup'].forEach(eventName => {\n e.target.addEventListener(eventName, debouncedAddValue);\n });\n } else {\n const rowDropdown = e.target.closest('.generated-table-row')?.querySelector('pn-select') as HTMLElement;\n if (rowDropdown) {\n rowDropdown.addEventListener('selectOption', debouncedAddValue);\n }\n }\n };\n\n updateHiddenFieldValue() {\n const allRows = [...this.tableBody.querySelectorAll('tr')];\n const columnValueCount = this.rowHasDropdown ? 3 : 2;\n const formValues: FormValue[] = [];\n\n if (allRows.length) {\n allRows.forEach(elm => {\n const row: FormValue = { row: [] };\n const nameElm = elm.querySelector('.tr-name');\n const dropdownElm = elm.querySelector('.tr-dropdown');\n const inputElm = elm.querySelector('.tr-input');\n\n const nameValue: RowValue = { name: this.rowNameLabel, value: nameElm?.innerHTML };\n row.row.push(nameValue);\n\n const dropdown = dropdownElm.querySelector('.current-selection');\n if (dropdown) {\n const dropdownSelection = dropdown.textContent ?? '';\n\n if (dropdownSelection.length) {\n const dropdownValue: RowValue = {\n name: this.rowDropdownLabel,\n value: dropdownSelection,\n };\n row.row.push(dropdownValue);\n }\n }\n if (!dropdown && columnValueCount === 3) {\n const dropdownValue: RowValue = {\n name: this.rowDropdownLabel,\n value: '',\n };\n row.row.push(dropdownValue);\n }\n\n const inputValue = parseInt(inputElm.querySelector('input')?.value ?? '0');\n if (inputValue > 0) {\n const inputColumnValue: RowValue = { name: this.rowInputLabel, value: inputValue.toString() };\n row.row.push(inputColumnValue);\n }\n\n if (row.row.length === columnValueCount) {\n formValues.push(row);\n }\n });\n }\n\n if (formValues.length && formValues.length === allRows.length) {\n const valueJsonString = JSON.stringify(formValues);\n this.formValue = `PN-JSON|${valueJsonString}`;\n } else {\n this.formValue = '';\n }\n\n this.rowvalues.emit(this.formValue);\n this.checkInputTotal();\n }\n\n addRowElement() {\n const selected = this.pnRowSelectDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n const slotElm = this.tableBody;\n const newRow = document.createElement('tr');\n newRow.setAttribute('index', `${this.nextRowIndex}`);\n newRow.setAttribute('class', 'generated-table-row');\n newRow.onclick = e => this.formRowEvent(e);\n const rowNameColumn = document.createElement('td');\n rowNameColumn.setAttribute('class', 'tr-name');\n rowNameColumn.innerHTML = selectedValue;\n rowNameColumn.dataset.name = selectedValue;\n newRow.appendChild(rowNameColumn);\n\n if (this.rowHasDropdown) {\n const rowDropdownColumn = this.createDropdownColumn(selectedValue);\n newRow.appendChild(rowDropdownColumn);\n }\n\n const rowInputColumn = this.createInputColumn(selectedValue);\n newRow.appendChild(rowInputColumn);\n const deleteButton = this.createDeleteButtonColumn();\n newRow.appendChild(deleteButton);\n\n slotElm.appendChild(newRow);\n this.updateRowSelectDropdown();\n this.nextRowIndex++;\n }\n\n getCurrentRow(selectedValue: string) {\n return this.hostElement.querySelectorAll(`.tr-name[data-name='${selectedValue}'`);\n }\n\n createDropdownColumn(selectedValue: string) {\n const dropdownColumn = document.createElement('td');\n dropdownColumn.setAttribute('class', 'tr-dropdown');\n const selectedItem = this._dropdownData.find(arr => arr.label === selectedValue);\n const selectedOptionValues = [];\n const currentRow = this.getCurrentRow(selectedValue);\n\n currentRow.forEach(row => {\n selectedOptionValues.push(row.parentElement?.querySelector('.tr-dropdown [aria-selected=true]')?.textContent);\n });\n\n if (Array.isArray(selectedItem.values) && selectedItem.values.length) {\n const dropdown = document.createElement('pn-select');\n dropdown.setAttribute('name', `${selectedValue}-dropdown`);\n dropdown.setAttribute('placeholder', this.rowDropdownPlaceholder);\n\n const filtereredValues = selectedItem.values.filter(item => !selectedOptionValues?.includes(item.value));\n\n filtereredValues.forEach(childItem => {\n const childOption = document.createElement('pn-option');\n childOption.setAttribute(\"label\", childItem.label);\n childOption.setAttribute(\"value\", childItem.label)\n dropdown.appendChild(childOption);\n });\n\n dropdownColumn.appendChild(dropdown);\n }\n\n return dropdownColumn;\n }\n\n createInputColumn(selectedValue: string) {\n const inputColumn = document.createElement('td');\n inputColumn.setAttribute('class', 'tr-input');\n const inputElm = document.createElement('pn-marketweb-input');\n inputElm.setAttribute('type', 'number');\n inputElm.setAttribute('name', `${selectedValue}-input`);\n inputElm.setAttribute('placeholder', '0');\n inputColumn.appendChild(inputElm);\n return inputColumn;\n }\n\n createDeleteButtonColumn() {\n const buttonColumn = document.createElement('td');\n buttonColumn.setAttribute('class', 'tr-delete');\n const buttonElm = document.createElement('pn-button');\n buttonElm.onclick = e => this.deleteRow(e);\n buttonElm.setAttribute('appearance', 'warning');\n buttonElm.setAttribute('small', 'true');\n buttonElm.appendChild(document.createTextNode(this.rowDeleteButtonText));\n buttonColumn.appendChild(buttonElm);\n return buttonColumn;\n }\n\n updateRowSelectDropdown() {\n type Row = { rowName: string; selectedValue: string; placeholder: string };\n\n const rows: Row[] = [].map.call(this.tableBody.querySelectorAll('.tr-name'), el => {\n const dropdownColumn = el?.parentElement?.querySelector('.tr-dropdown');\n const dropdownPlaceholder = dropdownColumn?.querySelector('.pn-select-content span')?.textContent;\n const row: Row = {\n rowName: el?.innerHTML,\n selectedValue: dropdownColumn?.querySelector('[aria-selected=true]')?.textContent,\n placeholder: dropdownPlaceholder,\n };\n return row;\n });\n\n if (rows.length) {\n this.rowSelectDropdownArr = [];\n\n this._dropdownData.forEach(element => {\n const filteredRows = rows.filter(row => row.rowName === element.label);\n const mainOptionReachedMaxPossibleRows =\n (element.values.length > 0 && filteredRows.length >= element.values.length) || (element.values.length === 0 && filteredRows.length === 1);\n if (!mainOptionReachedMaxPossibleRows) {\n this.rowSelectDropdownArr.push(element.label);\n }\n });\n } else {\n this.setRowSelectDropdownArr();\n }\n\n const selectOptions = this.pnRowSelectDropdown.querySelectorAll('pn-option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n\n const placeholder = this.pnRowSelectDropdown.querySelector('.pn-select-content span');\n placeholder.innerHTML = this.addRowDropdownPlaceholder;\n\n this.updateHiddenFieldValue();\n }\n\n deleteRow(e: Event) {\n e.preventDefault();\n this.nextRowIndex--;\n const targetElm = e.currentTarget as HTMLButtonElement;\n const targetRow = targetElm.closest('tr');\n targetRow.remove();\n const allRows = [...this.tableBody.querySelectorAll('tr')];\n\n allRows.map((elm, index) => {\n elm.setAttribute('index', `${index}`);\n });\n\n this.updateRowSelectDropdown();\n }\n\n checkInputTotal() {\n const allRows = this.tableBody.querySelectorAll('tr');\n\n if (this.totalInputLimit === 0 || allRows.length < 1) {\n this.showWarning = false;\n return;\n }\n\n let totalInput = 0;\n\n allRows.forEach(element => {\n const inputField = element.querySelector('pn-marketweb-input');\n if (inputField.value) {\n totalInput += parseInt(inputField.value) ?? 0;\n }\n });\n this.showWarning = totalInput > this.totalInputLimit ? true : false;\n }\n\n render() {\n return (\n <Host>\n <div class=\"dropdown-choice-form-row\">\n <pn-select\n ref={el => (this.pnRowSelectDropdown = el as HTMLElement)}\n name={this.addRowDropdownName}\n placeholder={this.addRowDropdownPlaceholder}\n label={this.addRowDropdownLabel}\n class=\"pn-row-select-dropdown\"\n empty-option=\"true\"\n >\n {this.rowSelectDropdownArr?.map((value: string) => <pn-option label={value} value={value}></pn-option>)}\n </pn-select>\n </div>\n <div class=\"dropdown-choice-form-row\">\n <table class=\"pn-dropdown-choice-table\">\n <thead ref={el => (this.tableHead = el as HTMLElement)}>\n {this.nextRowIndex === 0 ? null : (\n <tr>\n <th class=\"table-header--name\">\n <label>{this.rowNameLabel}</label>\n </th>\n {this.rowHasDropdown ? (\n <th class=\"table-header--dropdown\">\n <label>{this.rowDropdownLabel}</label>\n </th>\n ) : null}\n <th class=\"table-header--input\">\n <label>{this.rowInputLabel}</label>\n </th>\n <th class=\"table-header--delete\"></th>\n </tr>\n )}\n </thead>\n <tbody ref={el => (this.tableBody = el as HTMLElement)} class=\"pn-dropdown-choice-table-slot\">\n <slot></slot>\n </tbody>\n <tfoot>\n {this.showWarning ? (\n <tr>\n <td colSpan={this.columnCount}>\n <pn-icon icon={alert_exclamation_circle} small color=\"warning\"></pn-icon>\n <small class=\"dropdown-choice-error-message\">{this.inputLimitWarning}</small>\n </td>\n </tr>\n ) : null}\n </tfoot>\n </table>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -296,10 +296,10 @@ const PnDropdownWithMultiInputRows$1 = /*@__PURE__*/ proxyCustomElement(class Pn
|
|
|
296
296
|
}
|
|
297
297
|
render() {
|
|
298
298
|
var _a, _b, _c, _d, _e, _f;
|
|
299
|
-
return (h(Host, { key: 'db917d14641b4a13e6ed4d3a56f4b9ea52a8e0c1', class: "dropdown-with-multi-input-elemet" }, h("div", { key: 'bdc73044cdb1e6a791b9965086971ecbb796719d', class: "dropdown-with-multi-input-elemet__row" }, h("div", { key: 'b605ca3179d5884577c78abddf1b9a572a78b927' }, h("pn-select", { key: '
|
|
299
|
+
return (h(Host, { key: 'db917d14641b4a13e6ed4d3a56f4b9ea52a8e0c1', class: "dropdown-with-multi-input-elemet" }, h("div", { key: 'bdc73044cdb1e6a791b9965086971ecbb796719d', class: "dropdown-with-multi-input-elemet__row" }, h("div", { key: 'b605ca3179d5884577c78abddf1b9a572a78b927' }, h("pn-select", { key: 'fd3a84a88a5fb2eb1cae9288b2750f495d10f75d', ref: el => (this.pnFirstDropdown = el), class: "pn-row-select-dropdown dropDown1-dropdown", label: this.firstDropdownLabel, "empty-option": "true" }, (_a = this.dropdownDataRoot) === null || _a === void 0 ? void 0 : _a.map((item, i) => (h("pn-option", { index: i, label: item.value, value: item.value, selected: item.checked, onClick: debounce(this.handleFirstDropdown.bind(this), 500) })))), ((_b = this.firstDropdownHelperText) === null || _b === void 0 ? void 0 : _b.length) ? h("small", null, this.firstDropdownHelperText) : null)), h("div", { key: '8b44e50e1460925caec54bd4013ee38420d66761', class: "dropdown-with-multi-input-elemet__row" }, h("div", { key: '5a0c06493c7a1176f0a98df2742766d876b2c605' }, h("pn-select", { key: '7bcd69a360ef76ff93f610fe8f8d3a2346838538', ref: el => (this.pnSecondDropdown = el), class: "pn-row-select-dropdown dropDown2-dropdown", label: this.secondDropdownLabel, "empty-option": "true" }, (_c = this.secondDropdownArr) === null || _c === void 0 ? void 0 : _c.map((item, i) => (h("pn-option", { index: i, label: item, value: item, selected: item === this._secondDropdownSelection, onClick: debounce(this.handleSecondDropdown.bind(this), 500) })))), ((_d = this.secondDropdownHelperText) === null || _d === void 0 ? void 0 : _d.length) ? h("small", null, this.secondDropdownHelperText) : null)), this.showDelteConfirm ? (h("div", { class: "dropdown-with-multi-input-elemet__delete" }, h("p", null, this.deleteMultipleRowsWarningText), h("pn-button", { ref: el => (this.pnConfirmDeleteButton = el), small: "true", appearance: "warning", onClick: this.deleteExcessRows.bind(this) }, this.confirmDeleteButtonText), h("pn-button", { ref: el => (this.pnAbortDeleteButton = el), small: "true", appearance: "light", onClick: this.abortDeleteRows.bind(this) }, this.abortDeleteButtonText))) : null, h("div", { key: '442d4cb2e1929663d3c684ae2b8144354d6c1ca3', class: "dropdown-with-multi-input-elemet__label-row" }, h("div", { key: '67ea3ffdd6145f4f54196c2d4661f44172ca862b', class: "dropdown-with-multi-input-elemet__label" }, h("label", { key: '5f67d7f607818ef0734da82ec2319ff09a6e22aa' }, this.fristInputLabel)), h("div", { key: '191274165ed68bc8d15192e1bae9fe0b51cfabfa', class: "dropdown-with-multi-input-elemet__label" }, h("label", { key: '03b4feed9670e23d437c180be328638a6818d683' }, this.secondInputLabel)), h("div", { key: '0ada8f9bb65f5328243b284717dd237a624a15bd', class: "dropdown-with-multi-input-elemet__label" }, h("label", { key: 'bb453907c1d3ede20e707799b194826fbbeffa71' }, this.dateLabel))), (_e = this.rowData) === null || _e === void 0 ? void 0 :
|
|
300
300
|
_e.map((data, i) => {
|
|
301
301
|
return (h("div", { class: 'dropdown-with-multi-input-elemet__row generated-row-' + i, id: 'generated-row-' + i }, h("pn-dropdown-with-multi-input-rows-row", { "language-code": this.languageCode, "frist-input-placeholder": this.fristInputPlaceholder, "first-input-min": this.firstInputMin, "first-input-max": this.firstInputMax, "first-input-warning": this.firstInputWarning, "first-input-warning-text": this.firstInputWarningText, "first-input-low-error-text": this.firstInputLowErrorText, "first-input-high-error-text": this.firstInputHighErrorText, "second-input-placeholder": this.secondInputPlaceholder, "second-input-min": this.secondInputMin, "second-input-max": this.secondInputMax, "second-input-warning": this.secondInputWarning, "second-input-warning-text": this.secondInputWarningText, "second-input-low-error-text": this.secondInputLowErrorText, "second-input-high-error-text": this.secondInputHighErrorText, datePlaceholder: this.datePlaceholder, firstValidDate: this.firstValidDateString, lastValidDate: this.lastValidDateString, "predefined-value": JSON.stringify(data), "min-row-count": this.minRowCount, "row-index": i })));
|
|
302
|
-
}), h("div", { key: '
|
|
302
|
+
}), h("div", { key: 'f82a77eb8e120440084210f5cdec604a5dd05172', class: "dropdown-with-multi-input-elemet__row sum-row" }, h("pn-marketweb-input", { key: '8197ba89d43c00fa04bd81c33a5e36dbca40b255', disabled: true, ref: el => (this.pnSumField = el), type: "number", value: this.rowSum, label: this.sumFieldLabel }), h("pn-button", { key: '6c11671b82b65dbf541d2b85c5dc79f437a62d67', tooltip: this.addRowText ? this.addRowText : null, "left-icon": "true", arialabel: "Add", icon: plus, appearance: "light", variant: "borderless", class: "connected-dropdown__button-right", onClick: () => {
|
|
303
303
|
this.addRow(this.generateUniqueId());
|
|
304
304
|
} }, this.addRowText)), ((_f = this.elementHelperText) === null || _f === void 0 ? void 0 : _f.length) ? h("div", { class: "dropdown-with-multi-input-elemet__row" }, this.elementHelperText) : null));
|
|
305
305
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-dropdown-with-multi-input-rows.js","mappings":"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","names":["PnDropdownWithMultiInputRows","uuidv4"],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.scss?tag=pn-dropdown-with-multi-input-rows","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows {\n .dropdown-with-multi-input-elemet {\n &__row {\n margin-bottom: 1rem;\n }\n\n &__delete {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n padding: 1rem;\n background-color: $gray25;\n\n pn-button {\n margin-top: 0.9rem;\n }\n }\n\n &__label-row {\n display: flex;\n gap: 1rem;\n }\n\n &__label {\n width: 30%;\n font-size: 0.875em;\n color: #5e554a;\n }\n }\n\n .sum-row {\n display: flex;\n justify-content: space-between;\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, RowValue, Root, PredefinedValues } from './types';\nimport { v4 as uuidv4 } from 'uuid';\nimport debounce from 'debounce';\nimport { plus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows',\n styleUrl: 'pn-dropdown-with-multi-input-rows.scss',\n})\nexport class PnDropdownWithMultiInputRows {\n @Element() hostElement: Element;\n pnFirstDropdown: HTMLElement = null;\n pnSecondDropdown: HTMLElement = null;\n pnSumField: HTMLElement = null;\n pnConfirmDeleteButton: HTMLElement = null;\n pnAbortDeleteButton: HTMLElement = null;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() firstDropdownHelperText: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() secondDropdownHelperText: string = null;\n @Prop() secondDropdownMax: number = null;\n @Prop() deleteMultipleRowsWarningText: string = null;\n @Prop() confirmDeleteButtonText: string = null;\n @Prop() abortDeleteButtonText: string = null;\n @Prop() fristInputLabel: string = null;\n @Prop() fristInputPlaceholder: string = null;\n @Prop() firstInputMin: number = null;\n @Prop() firstInputMax: number = null;\n @Prop() firstInputWarning: number = null;\n @Prop() firstInputWarningText: string = null;\n @Prop() firstInputLowErrorText: string = null;\n @Prop() firstInputHighErrorText: string = null;\n @Prop() secondInputLabel: string = null;\n @Prop() secondInputPlaceholder: string = null;\n @Prop() secondInputMin: number = null;\n @Prop() secondInputMax: number = null;\n @Prop() secondInputWarning: number = null;\n @Prop() secondInputWarningText: string = null;\n @Prop() secondInputLowErrorText: string = null;\n @Prop() secondInputHighErrorText: string = null;\n @Prop() dateLabel: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = 1;\n @Prop() yearsToAddToEndDate: number = null;\n @Prop() sumFieldLabel: string = null;\n @Prop() addRowText: string = null;\n @Prop() elementHelperText: string = null;\n\n @State() dropdownDataRoot: Root[] = null;\n @State() secondDropdownArr: number[] = [];\n @State() rowCount: number = null;\n @State() rowData: PredefinedValues[] = null;\n @State() formValues: FormValue[] = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n @State() rowSum: string = null;\n @State() minRowCount: number = null;\n @State() showDelteConfirm: boolean = false;\n\n @Event() allFormValues: EventEmitter<string>;\n\n private _firstDropdownSelection: string = null;\n private _secondDropdownSelection: number = null;\n\n private _defaultRow: PredefinedValues = {\n id: this.generateUniqueId(),\n firstInput: '',\n secondInput: this.secondInputWarning.toString(),\n date: '',\n };\n\n componentWillLoad() {\n this.formValues = [];\n this.setDropDownData();\n this.updateSecondDropdown();\n this.setRowData();\n this.setFirstValidDate();\n }\n\n componentDidLoad() {\n this.updateSum();\n }\n\n setDropDownData() {\n if (typeof this.dropdownData === 'string') {\n this.dropdownDataRoot = JSON.parse(this.dropdownData);\n } else {\n this.dropdownDataRoot = this.dropdownData;\n }\n\n if (this.dropdownDataRoot?.length) {\n this.dropdownDataRoot.forEach(element => {\n if (!element.value) {\n element.value = 0;\n }\n });\n }\n\n if (this.dropdownDataRoot.length > 0) {\n this.dropdownDataRoot[0].checked = true;\n this._firstDropdownSelection = this.dropdownDataRoot[0].label;\n this._secondDropdownSelection = this.dropdownDataRoot[0].value;\n this.minRowCount = this.dropdownDataRoot[0].value;\n }\n }\n\n updateSecondDropdown() {\n const selectedItem = this.dropdownDataRoot.find(arr => arr.checked === true);\n this.secondDropdownArr = [];\n\n for (let index = selectedItem.value; index <= this.secondDropdownMax; index++) {\n this.secondDropdownArr.push(index);\n }\n }\n\n updateSelectItemArr(arr: Root[], caption: string) {\n arr.forEach(item => {\n if (item.label === caption) {\n item.checked = !item.checked;\n } else {\n item.checked = false;\n }\n });\n return arr;\n }\n\n setRowData() {\n this.rowData = [];\n for (let index = 0; index < this._secondDropdownSelection; index++) {\n const row = Object.assign({}, this._defaultRow);\n row.id = this.generateUniqueId();\n this.rowData = [...this.rowData, row];\n }\n\n this.rowCount = this.rowData.length;\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n setFirstValidDate() {\n const yearsToadd = this.yearsToAddToEndDate ? this.yearsToAddToEndDate : 2;\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + yearsToadd;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n addRow(newRowId: string) {\n const newRow = Object.assign({}, this.rowData[0]);\n newRow.id = newRowId ? newRowId : this.generateUniqueId();\n newRow.date = '';\n this.rowData = [...this.rowData, newRow];\n this.rowCount = this.rowData.length;\n\n this._secondDropdownSelection = this.rowCount;\n this.secondDropdownArr = [...this.secondDropdownArr];\n this.updateSum();\n this.emitValuesIfValid();\n }\n\n handleFirstDropdown() {\n const selected = this.pnFirstDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n if (!selectedValue?.length) {\n return;\n }\n\n this.dropdownDataRoot.forEach(element => {\n element.checked = false;\n });\n\n const selectionRoot = this.dropdownDataRoot.find(x => x.label === selectedValue);\n selectionRoot.checked = true;\n this._firstDropdownSelection = selectionRoot.label;\n this.minRowCount = selectionRoot.value;\n\n if (selectionRoot.value > this._secondDropdownSelection) {\n this.dropdownDataRoot = [...this.dropdownDataRoot];\n\n for (let index = this.rowCount; index < selectionRoot.value; index++) {\n this.addRow(this.generateUniqueId());\n }\n }\n\n this.updateSecondDropdown();\n this.updateSum();\n this.emitValuesIfValid();\n }\n\n handleSecondDropdown() {\n const selected = this.pnSecondDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n if (!selectedValue?.length) {\n return;\n }\n\n const value = parseInt(selectedValue);\n if (value < this._secondDropdownSelection) {\n this.showDelteConfirm = true;\n } else {\n for (let index = this.rowCount; index < value; index++) {\n this.addRow(this.generateUniqueId());\n }\n }\n this.updateSum();\n this.emitValuesIfValid();\n }\n\n @Listen('rowValueChange')\n @Listen('firstInputChange')\n @Listen('secondInputChange')\n predefinedValueChange(e) {\n const indexToUpdate = this.rowData.findIndex(data => data.id === e.detail.id);\n const val: PredefinedValues = e.detail;\n this.rowData[indexToUpdate] = {\n ...this.rowData[indexToUpdate],\n firstInput: val.firstInput,\n secondInput: val.secondInput,\n date: val.date,\n };\n\n if (e.type === 'firstInputChange' && indexToUpdate === 0) {\n this.updateFirstInputOfRows(val.firstInput);\n }\n\n if (e.type === 'secondInputChange' && indexToUpdate === 0) {\n this.updateSecondInputOfRows(val.secondInput);\n }\n\n this.rowData = [...this.rowData];\n this.emitValuesIfValid();\n this.updateSum();\n }\n\n updateFirstInputOfRows(value: string) {\n for (let index = 1; index < this.rowCount; index++) {\n this.rowData[index] = {\n ...this.rowData[index],\n firstInput: value,\n };\n }\n }\n\n updateSecondInputOfRows(value: string) {\n for (let index = 1; index < this.rowCount; index++) {\n this.rowData[index] = {\n ...this.rowData[index],\n secondInput: value,\n };\n }\n }\n\n @Listen('deleteRowEvent')\n deleteRowEvent(e) {\n const indexToRemove = this.rowData.findIndex(data => data.id === e.detail);\n if (indexToRemove < 0) {\n return;\n }\n\n this.rowData.splice(indexToRemove, 1);\n this.rowData = [...this.rowData];\n this.rowCount = this.rowData.length;\n\n this._secondDropdownSelection = this.rowCount;\n this.secondDropdownArr = [...this.secondDropdownArr];\n this.emitValuesIfValid();\n this.updateSum();\n }\n\n updateSum() {\n this.rowSum = '';\n let sum = 0;\n this.rowData.forEach(element => {\n if (element?.firstInput?.length) {\n sum += parseInt(element.firstInput);\n }\n });\n\n this.rowSum = sum.toString();\n }\n\n deleteExcessRows() {\n const selected = this.pnSecondDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n if (!selectedValue?.length) {\n return;\n }\n const rowsToDelete = this.rowCount - parseInt(selectedValue);\n for (let index = 0; index < rowsToDelete; index++) {\n this.rowData.pop();\n }\n this.rowData = [...this.rowData];\n this.showDelteConfirm = false;\n this.updateSum();\n }\n\n abortDeleteRows() {\n this.showDelteConfirm = false;\n }\n\n emitValuesIfValid() {\n this.formValues = [];\n this.rowData.forEach(item => {\n const rowValue: FormValue = { row: [] };\n\n if (this._firstDropdownSelection?.length) {\n const dropDownValue: RowValue = { name: this.firstDropdownLabel, value: this._firstDropdownSelection };\n rowValue.row.push(dropDownValue);\n }\n\n if (item.firstInput?.length) {\n const firstInputValue: RowValue = { name: this.fristInputLabel, value: item.firstInput };\n rowValue.row.push(firstInputValue);\n }\n\n if (item.secondInput?.length) {\n const secondInputValue: RowValue = { name: this.secondInputLabel, value: item.secondInput };\n rowValue.row.push(secondInputValue);\n }\n\n if (item.date?.length) {\n const dateValue: RowValue = { name: this.dateLabel, value: item.date };\n rowValue.row.push(dateValue);\n }\n\n if (rowValue.row.length === 4) {\n this.formValues.push(rowValue);\n }\n });\n\n if (this.formValues.length === this.rowData.length) {\n const valueJsonString = JSON.stringify(this.formValues);\n this.allFormValues.emit(valueJsonString);\n } else {\n this.allFormValues.emit('');\n }\n }\n\n render() {\n return (\n <Host class=\"dropdown-with-multi-input-elemet\">\n <div class=\"dropdown-with-multi-input-elemet__row\">\n <div>\n <pn-select ref={el => (this.pnFirstDropdown = el as HTMLElement)} class=\"pn-row-select-dropdown dropDown1-dropdown\" label={this.firstDropdownLabel}>\n {this.dropdownDataRoot?.map((item, i) => (\n <pn-option index={i} label={item.value} value={item.value} selected={item.checked} onClick={debounce(this.handleFirstDropdown.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n {this.firstDropdownHelperText?.length ? <small>{this.firstDropdownHelperText}</small> : null}\n </div>\n </div>\n\n <div class=\"dropdown-with-multi-input-elemet__row\">\n <div>\n <pn-select ref={el => (this.pnSecondDropdown = el as HTMLElement)} class=\"pn-row-select-dropdown dropDown2-dropdown\" label={this.secondDropdownLabel}>\n {this.secondDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item} value={item} selected={item === this._secondDropdownSelection} onClick={debounce(this.handleSecondDropdown.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n {this.secondDropdownHelperText?.length ? <small>{this.secondDropdownHelperText}</small> : null}\n </div>\n </div>\n\n {this.showDelteConfirm ? (\n <div class=\"dropdown-with-multi-input-elemet__delete\">\n <p>{this.deleteMultipleRowsWarningText}</p>\n <pn-button ref={el => (this.pnConfirmDeleteButton = el as HTMLElement)} small=\"true\" appearance=\"warning\" onClick={this.deleteExcessRows.bind(this)}>\n {this.confirmDeleteButtonText}\n </pn-button>\n <pn-button ref={el => (this.pnAbortDeleteButton = el as HTMLElement)} small=\"true\" appearance=\"light\" onClick={this.abortDeleteRows.bind(this)}>\n {this.abortDeleteButtonText}\n </pn-button>\n </div>\n ) : null}\n\n <div class=\"dropdown-with-multi-input-elemet__label-row\">\n <div class=\"dropdown-with-multi-input-elemet__label\">\n <label>{this.fristInputLabel}</label>\n </div>\n <div class=\"dropdown-with-multi-input-elemet__label\">\n <label>{this.secondInputLabel}</label>\n </div>\n <div class=\"dropdown-with-multi-input-elemet__label\">\n <label>{this.dateLabel}</label>\n </div>\n </div>\n\n {this.rowData?.map((data, i) => {\n return (\n <div class={'dropdown-with-multi-input-elemet__row generated-row-' + i} id={'generated-row-' + i}>\n <pn-dropdown-with-multi-input-rows-row\n language-code={this.languageCode}\n frist-input-placeholder={this.fristInputPlaceholder}\n first-input-min={this.firstInputMin}\n first-input-max={this.firstInputMax}\n first-input-warning={this.firstInputWarning}\n first-input-warning-text={this.firstInputWarningText}\n first-input-low-error-text={this.firstInputLowErrorText}\n first-input-high-error-text={this.firstInputHighErrorText}\n second-input-placeholder={this.secondInputPlaceholder}\n second-input-min={this.secondInputMin}\n second-input-max={this.secondInputMax}\n second-input-warning={this.secondInputWarning}\n second-input-warning-text={this.secondInputWarningText}\n second-input-low-error-text={this.secondInputLowErrorText}\n second-input-high-error-text={this.secondInputHighErrorText}\n datePlaceholder={this.datePlaceholder}\n firstValidDate={this.firstValidDateString}\n lastValidDate={this.lastValidDateString}\n predefined-value={JSON.stringify(data)}\n min-row-count={this.minRowCount}\n row-index={i}\n ></pn-dropdown-with-multi-input-rows-row>\n </div>\n );\n })}\n\n <div class=\"dropdown-with-multi-input-elemet__row sum-row\">\n <pn-marketweb-input disabled={true} ref={el => (this.pnSumField = el as HTMLElement)} type=\"number\" value={this.rowSum} label={this.sumFieldLabel}></pn-marketweb-input>\n\n <pn-button\n tooltip={this.addRowText ? this.addRowText : null}\n left-icon=\"true\"\n arialabel=\"Add\"\n icon={plus}\n appearance=\"light\"\n variant=\"borderless\"\n class=\"connected-dropdown__button-right\"\n onClick={() => {\n this.addRow(this.generateUniqueId());\n }}\n >\n {this.addRowText}\n </pn-button>\n </div>\n\n {this.elementHelperText?.length ? <div class=\"dropdown-with-multi-input-elemet__row\">{this.elementHelperText}</div> : null}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-dropdown-with-multi-input-rows.js","mappings":"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","names":["PnDropdownWithMultiInputRows","uuidv4"],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.scss?tag=pn-dropdown-with-multi-input-rows","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows {\n .dropdown-with-multi-input-elemet {\n &__row {\n margin-bottom: 1rem;\n }\n\n &__delete {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n padding: 1rem;\n background-color: $gray25;\n\n pn-button {\n margin-top: 0.9rem;\n }\n }\n\n &__label-row {\n display: flex;\n gap: 1rem;\n }\n\n &__label {\n width: 30%;\n font-size: 0.875em;\n color: #5e554a;\n }\n }\n\n .sum-row {\n display: flex;\n justify-content: space-between;\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, RowValue, Root, PredefinedValues } from './types';\nimport { v4 as uuidv4 } from 'uuid';\nimport debounce from 'debounce';\nimport { plus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows',\n styleUrl: 'pn-dropdown-with-multi-input-rows.scss',\n})\nexport class PnDropdownWithMultiInputRows {\n @Element() hostElement: Element;\n pnFirstDropdown: HTMLElement = null;\n pnSecondDropdown: HTMLElement = null;\n pnSumField: HTMLElement = null;\n pnConfirmDeleteButton: HTMLElement = null;\n pnAbortDeleteButton: HTMLElement = null;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() firstDropdownHelperText: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() secondDropdownHelperText: string = null;\n @Prop() secondDropdownMax: number = null;\n @Prop() deleteMultipleRowsWarningText: string = null;\n @Prop() confirmDeleteButtonText: string = null;\n @Prop() abortDeleteButtonText: string = null;\n @Prop() fristInputLabel: string = null;\n @Prop() fristInputPlaceholder: string = null;\n @Prop() firstInputMin: number = null;\n @Prop() firstInputMax: number = null;\n @Prop() firstInputWarning: number = null;\n @Prop() firstInputWarningText: string = null;\n @Prop() firstInputLowErrorText: string = null;\n @Prop() firstInputHighErrorText: string = null;\n @Prop() secondInputLabel: string = null;\n @Prop() secondInputPlaceholder: string = null;\n @Prop() secondInputMin: number = null;\n @Prop() secondInputMax: number = null;\n @Prop() secondInputWarning: number = null;\n @Prop() secondInputWarningText: string = null;\n @Prop() secondInputLowErrorText: string = null;\n @Prop() secondInputHighErrorText: string = null;\n @Prop() dateLabel: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = 1;\n @Prop() yearsToAddToEndDate: number = null;\n @Prop() sumFieldLabel: string = null;\n @Prop() addRowText: string = null;\n @Prop() elementHelperText: string = null;\n\n @State() dropdownDataRoot: Root[] = null;\n @State() secondDropdownArr: number[] = [];\n @State() rowCount: number = null;\n @State() rowData: PredefinedValues[] = null;\n @State() formValues: FormValue[] = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n @State() rowSum: string = null;\n @State() minRowCount: number = null;\n @State() showDelteConfirm: boolean = false;\n\n @Event() allFormValues: EventEmitter<string>;\n\n private _firstDropdownSelection: string = null;\n private _secondDropdownSelection: number = null;\n\n private _defaultRow: PredefinedValues = {\n id: this.generateUniqueId(),\n firstInput: '',\n secondInput: this.secondInputWarning.toString(),\n date: '',\n };\n\n componentWillLoad() {\n this.formValues = [];\n this.setDropDownData();\n this.updateSecondDropdown();\n this.setRowData();\n this.setFirstValidDate();\n }\n\n componentDidLoad() {\n this.updateSum();\n }\n\n setDropDownData() {\n if (typeof this.dropdownData === 'string') {\n this.dropdownDataRoot = JSON.parse(this.dropdownData);\n } else {\n this.dropdownDataRoot = this.dropdownData;\n }\n\n if (this.dropdownDataRoot?.length) {\n this.dropdownDataRoot.forEach(element => {\n if (!element.value) {\n element.value = 0;\n }\n });\n }\n\n if (this.dropdownDataRoot.length > 0) {\n this.dropdownDataRoot[0].checked = true;\n this._firstDropdownSelection = this.dropdownDataRoot[0].label;\n this._secondDropdownSelection = this.dropdownDataRoot[0].value;\n this.minRowCount = this.dropdownDataRoot[0].value;\n }\n }\n\n updateSecondDropdown() {\n const selectedItem = this.dropdownDataRoot.find(arr => arr.checked === true);\n this.secondDropdownArr = [];\n\n for (let index = selectedItem.value; index <= this.secondDropdownMax; index++) {\n this.secondDropdownArr.push(index);\n }\n }\n\n updateSelectItemArr(arr: Root[], caption: string) {\n arr.forEach(item => {\n if (item.label === caption) {\n item.checked = !item.checked;\n } else {\n item.checked = false;\n }\n });\n return arr;\n }\n\n setRowData() {\n this.rowData = [];\n for (let index = 0; index < this._secondDropdownSelection; index++) {\n const row = Object.assign({}, this._defaultRow);\n row.id = this.generateUniqueId();\n this.rowData = [...this.rowData, row];\n }\n\n this.rowCount = this.rowData.length;\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n setFirstValidDate() {\n const yearsToadd = this.yearsToAddToEndDate ? this.yearsToAddToEndDate : 2;\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + yearsToadd;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n addRow(newRowId: string) {\n const newRow = Object.assign({}, this.rowData[0]);\n newRow.id = newRowId ? newRowId : this.generateUniqueId();\n newRow.date = '';\n this.rowData = [...this.rowData, newRow];\n this.rowCount = this.rowData.length;\n\n this._secondDropdownSelection = this.rowCount;\n this.secondDropdownArr = [...this.secondDropdownArr];\n this.updateSum();\n this.emitValuesIfValid();\n }\n\n handleFirstDropdown() {\n const selected = this.pnFirstDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n if (!selectedValue?.length) {\n return;\n }\n\n this.dropdownDataRoot.forEach(element => {\n element.checked = false;\n });\n\n const selectionRoot = this.dropdownDataRoot.find(x => x.label === selectedValue);\n selectionRoot.checked = true;\n this._firstDropdownSelection = selectionRoot.label;\n this.minRowCount = selectionRoot.value;\n\n if (selectionRoot.value > this._secondDropdownSelection) {\n this.dropdownDataRoot = [...this.dropdownDataRoot];\n\n for (let index = this.rowCount; index < selectionRoot.value; index++) {\n this.addRow(this.generateUniqueId());\n }\n }\n\n this.updateSecondDropdown();\n this.updateSum();\n this.emitValuesIfValid();\n }\n\n handleSecondDropdown() {\n const selected = this.pnSecondDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n if (!selectedValue?.length) {\n return;\n }\n\n const value = parseInt(selectedValue);\n if (value < this._secondDropdownSelection) {\n this.showDelteConfirm = true;\n } else {\n for (let index = this.rowCount; index < value; index++) {\n this.addRow(this.generateUniqueId());\n }\n }\n this.updateSum();\n this.emitValuesIfValid();\n }\n\n @Listen('rowValueChange')\n @Listen('firstInputChange')\n @Listen('secondInputChange')\n predefinedValueChange(e) {\n const indexToUpdate = this.rowData.findIndex(data => data.id === e.detail.id);\n const val: PredefinedValues = e.detail;\n this.rowData[indexToUpdate] = {\n ...this.rowData[indexToUpdate],\n firstInput: val.firstInput,\n secondInput: val.secondInput,\n date: val.date,\n };\n\n if (e.type === 'firstInputChange' && indexToUpdate === 0) {\n this.updateFirstInputOfRows(val.firstInput);\n }\n\n if (e.type === 'secondInputChange' && indexToUpdate === 0) {\n this.updateSecondInputOfRows(val.secondInput);\n }\n\n this.rowData = [...this.rowData];\n this.emitValuesIfValid();\n this.updateSum();\n }\n\n updateFirstInputOfRows(value: string) {\n for (let index = 1; index < this.rowCount; index++) {\n this.rowData[index] = {\n ...this.rowData[index],\n firstInput: value,\n };\n }\n }\n\n updateSecondInputOfRows(value: string) {\n for (let index = 1; index < this.rowCount; index++) {\n this.rowData[index] = {\n ...this.rowData[index],\n secondInput: value,\n };\n }\n }\n\n @Listen('deleteRowEvent')\n deleteRowEvent(e) {\n const indexToRemove = this.rowData.findIndex(data => data.id === e.detail);\n if (indexToRemove < 0) {\n return;\n }\n\n this.rowData.splice(indexToRemove, 1);\n this.rowData = [...this.rowData];\n this.rowCount = this.rowData.length;\n\n this._secondDropdownSelection = this.rowCount;\n this.secondDropdownArr = [...this.secondDropdownArr];\n this.emitValuesIfValid();\n this.updateSum();\n }\n\n updateSum() {\n this.rowSum = '';\n let sum = 0;\n this.rowData.forEach(element => {\n if (element?.firstInput?.length) {\n sum += parseInt(element.firstInput);\n }\n });\n\n this.rowSum = sum.toString();\n }\n\n deleteExcessRows() {\n const selected = this.pnSecondDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n if (!selectedValue?.length) {\n return;\n }\n const rowsToDelete = this.rowCount - parseInt(selectedValue);\n for (let index = 0; index < rowsToDelete; index++) {\n this.rowData.pop();\n }\n this.rowData = [...this.rowData];\n this.showDelteConfirm = false;\n this.updateSum();\n }\n\n abortDeleteRows() {\n this.showDelteConfirm = false;\n }\n\n emitValuesIfValid() {\n this.formValues = [];\n this.rowData.forEach(item => {\n const rowValue: FormValue = { row: [] };\n\n if (this._firstDropdownSelection?.length) {\n const dropDownValue: RowValue = { name: this.firstDropdownLabel, value: this._firstDropdownSelection };\n rowValue.row.push(dropDownValue);\n }\n\n if (item.firstInput?.length) {\n const firstInputValue: RowValue = { name: this.fristInputLabel, value: item.firstInput };\n rowValue.row.push(firstInputValue);\n }\n\n if (item.secondInput?.length) {\n const secondInputValue: RowValue = { name: this.secondInputLabel, value: item.secondInput };\n rowValue.row.push(secondInputValue);\n }\n\n if (item.date?.length) {\n const dateValue: RowValue = { name: this.dateLabel, value: item.date };\n rowValue.row.push(dateValue);\n }\n\n if (rowValue.row.length === 4) {\n this.formValues.push(rowValue);\n }\n });\n\n if (this.formValues.length === this.rowData.length) {\n const valueJsonString = JSON.stringify(this.formValues);\n this.allFormValues.emit(valueJsonString);\n } else {\n this.allFormValues.emit('');\n }\n }\n\n render() {\n return (\n <Host class=\"dropdown-with-multi-input-elemet\">\n <div class=\"dropdown-with-multi-input-elemet__row\">\n <div>\n <pn-select ref={el => (this.pnFirstDropdown = el as HTMLElement)} class=\"pn-row-select-dropdown dropDown1-dropdown\" label={this.firstDropdownLabel} empty-option=\"true\">\n {this.dropdownDataRoot?.map((item, i) => (\n <pn-option index={i} label={item.value} value={item.value} selected={item.checked} onClick={debounce(this.handleFirstDropdown.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n {this.firstDropdownHelperText?.length ? <small>{this.firstDropdownHelperText}</small> : null}\n </div>\n </div>\n\n <div class=\"dropdown-with-multi-input-elemet__row\">\n <div>\n <pn-select ref={el => (this.pnSecondDropdown = el as HTMLElement)} class=\"pn-row-select-dropdown dropDown2-dropdown\" label={this.secondDropdownLabel} empty-option=\"true\">\n {this.secondDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item} value={item} selected={item === this._secondDropdownSelection} onClick={debounce(this.handleSecondDropdown.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n {this.secondDropdownHelperText?.length ? <small>{this.secondDropdownHelperText}</small> : null}\n </div>\n </div>\n\n {this.showDelteConfirm ? (\n <div class=\"dropdown-with-multi-input-elemet__delete\">\n <p>{this.deleteMultipleRowsWarningText}</p>\n <pn-button ref={el => (this.pnConfirmDeleteButton = el as HTMLElement)} small=\"true\" appearance=\"warning\" onClick={this.deleteExcessRows.bind(this)}>\n {this.confirmDeleteButtonText}\n </pn-button>\n <pn-button ref={el => (this.pnAbortDeleteButton = el as HTMLElement)} small=\"true\" appearance=\"light\" onClick={this.abortDeleteRows.bind(this)}>\n {this.abortDeleteButtonText}\n </pn-button>\n </div>\n ) : null}\n\n <div class=\"dropdown-with-multi-input-elemet__label-row\">\n <div class=\"dropdown-with-multi-input-elemet__label\">\n <label>{this.fristInputLabel}</label>\n </div>\n <div class=\"dropdown-with-multi-input-elemet__label\">\n <label>{this.secondInputLabel}</label>\n </div>\n <div class=\"dropdown-with-multi-input-elemet__label\">\n <label>{this.dateLabel}</label>\n </div>\n </div>\n\n {this.rowData?.map((data, i) => {\n return (\n <div class={'dropdown-with-multi-input-elemet__row generated-row-' + i} id={'generated-row-' + i}>\n <pn-dropdown-with-multi-input-rows-row\n language-code={this.languageCode}\n frist-input-placeholder={this.fristInputPlaceholder}\n first-input-min={this.firstInputMin}\n first-input-max={this.firstInputMax}\n first-input-warning={this.firstInputWarning}\n first-input-warning-text={this.firstInputWarningText}\n first-input-low-error-text={this.firstInputLowErrorText}\n first-input-high-error-text={this.firstInputHighErrorText}\n second-input-placeholder={this.secondInputPlaceholder}\n second-input-min={this.secondInputMin}\n second-input-max={this.secondInputMax}\n second-input-warning={this.secondInputWarning}\n second-input-warning-text={this.secondInputWarningText}\n second-input-low-error-text={this.secondInputLowErrorText}\n second-input-high-error-text={this.secondInputHighErrorText}\n datePlaceholder={this.datePlaceholder}\n firstValidDate={this.firstValidDateString}\n lastValidDate={this.lastValidDateString}\n predefined-value={JSON.stringify(data)}\n min-row-count={this.minRowCount}\n row-index={i}\n ></pn-dropdown-with-multi-input-rows-row>\n </div>\n );\n })}\n\n <div class=\"dropdown-with-multi-input-elemet__row sum-row\">\n <pn-marketweb-input disabled={true} ref={el => (this.pnSumField = el as HTMLElement)} type=\"number\" value={this.rowSum} label={this.sumFieldLabel}></pn-marketweb-input>\n\n <pn-button\n tooltip={this.addRowText ? this.addRowText : null}\n left-icon=\"true\"\n arialabel=\"Add\"\n icon={plus}\n appearance=\"light\"\n variant=\"borderless\"\n class=\"connected-dropdown__button-right\"\n onClick={() => {\n this.addRow(this.generateUniqueId());\n }}\n >\n {this.addRowText}\n </pn-button>\n </div>\n\n {this.elementHelperText?.length ? <div class=\"dropdown-with-multi-input-elemet__row\">{this.elementHelperText}</div> : null}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -143,12 +143,12 @@ const PnMultiRowConnectedDropdownRow = /*@__PURE__*/ proxyCustomElement(class Pn
|
|
|
143
143
|
setDateValue() {
|
|
144
144
|
var _a, _b, _c;
|
|
145
145
|
if (this.allowMultipleDates) {
|
|
146
|
-
this.pnDateRangeContainer.style.display = ((_a = this._predefinedValue.dates) === null || _a === void 0 ? void 0 : _a.length) ? '' : 'none';
|
|
147
|
-
this.generatedDatesArr = ((_b = this._predefinedValue.dates) === null || _b === void 0 ? void 0 : _b.length) ? this._predefinedValue.dates.split(',') : [];
|
|
146
|
+
this.pnDateRangeContainer.style.display = ((_a = this._predefinedValue.dates["start"]) === null || _a === void 0 ? void 0 : _a.length) ? '' : 'none';
|
|
147
|
+
this.generatedDatesArr = ((_b = this._predefinedValue.dates["start"]) === null || _b === void 0 ? void 0 : _b.length) ? this._predefinedValue.dates["start"].split(',') : [];
|
|
148
148
|
this.saveGeneratedDates();
|
|
149
149
|
}
|
|
150
150
|
else {
|
|
151
|
-
this.dateValue = ((_c = this._predefinedValue.dates) === null || _c === void 0 ? void 0 : _c.length) ? this._predefinedValue.dates : '';
|
|
151
|
+
this.dateValue = ((_c = this._predefinedValue.dates["start"]) === null || _c === void 0 ? void 0 : _c.length) ? this._predefinedValue.dates["start"] : '';
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
setDateRangeDefaults() {
|
|
@@ -366,7 +366,7 @@ const PnMultiRowConnectedDropdownRow = /*@__PURE__*/ proxyCustomElement(class Pn
|
|
|
366
366
|
}
|
|
367
367
|
render() {
|
|
368
368
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
369
|
-
return (h(Host, { key: '
|
|
369
|
+
return (h(Host, { key: 'ad539e2ba8ab36a8b052be6cd30a901847de6f00' }, h("div", { key: '36b00805294171c2bf910cda8fb80da2b449cd31', ref: el => (this.pnConnectedDropdownSlotElement = el), class: "connected-dropdown-slot-element" }, h("div", { key: '3d3e46feab301b4e9f3db92365fd0e3c4b69a518', class: "connected-dropdown-parent-element connected-dropdown" }, h("div", { key: '62bd8eb88f0ca11ad06c2a1053bd823500719c6a', class: "connected-dropdown__row__no-margin" }, h("label", { key: 'afe3977594b5a3e54865e6cd10a6cbdefb578c79' }, this.label)), h("div", { key: '96ffced084b72620088cb2357f8266fc12c9fc87', class: "connected-dropdown__row button-row" }, h("div", { key: '9539103ef44c6e314c792f46b8ef33e114ce8306', class: "connected-dropdown__button-container option-buttons" }, (_a = this.buttonsArray) === null || _a === void 0 ? void 0 : _a.map(item => (h("button", { class: `${this.setActive(item.selected)}`, id: this.generateUniqueId(), onClick: this.handleOptionButtonClick.bind(this) }, item.value)))), h("div", { key: '39fdaad5b12573c7e8d453deaf5b10ad558a8eb3', class: "connected-dropdown__button-container delete-button" }, this.index > 0 ? (h("pn-button", { ref: el => (this.pnDeleteRowButton = el), small: "true", icon: minus, appearance: "warning", index: this.index }, "Delete")) : null)), h("div", { key: 'c8c808aa6214dfd234b0d383c2f3dbe075c938af', class: "connected-dropdown__row input-row" }, h("pn-select", { key: '54a0e807950b4d70b6a253ffff772452767a9d1b', ref: el => (this.pnFirstDropdown = el), class: "pn-row-select-dropdown dropDown1-dropdown", placeholder: this.firstDropdownPlaceholder, label: this.firstDropdownLabel, "empty-option": "true" }, (_b = this.firstDropdownArr) === null || _b === void 0 ? void 0 : _b.map((item, i) => (h("pn-option", { index: i, label: item.label, value: item.value, selected: item.selected, onClick: debounce(this.handleFirstDropdownChange.bind(this), 500) })))), h("pn-select", { key: 'ac1a665b98da67b0cb7e74609c4e21f0d67a7244', ref: el => (this.pnSecondDropdown = el), class: "pn-row-select-dropdown dropDown2-dropdown", placeholder: this.secondDropdownPlaceholder, label: this.secondDropdownLabel, "empty-option": "true" }, (_c = this.secondDropdownArr) === null || _c === void 0 ? void 0 : _c.map((item, i) => (h("pn-option", { index: i, label: item.label, value: item.value, selected: item.selected, onClick: debounce(this.handleSecondDropdownChange.bind(this), 500) })))), h("pn-marketweb-input", { key: '7c8c8093092dae071cb25473062b0da157f7070f', ref: el => (this.pnInputField = el), type: "number", placeholder: "0", label: this.inputFildLabel, value: this.inputFieldValue, min: "1" }), this.allowMultipleDates ? (h("pn-button", { ref: el => (this.pnShowDateRangeFiledButton = el), class: "connected-dropdown__toggle-date-button", small: "true", appearance: "light" }, this.dateButtonText)) : (h("div", { class: "connected-dropdown__date-container" }, h("div", { class: "connected-dropdown__label-container" }, h("label", null, this.dateButtonText)), h("pn-date-picker", { ref: el => (this.pnSingleDatePicker = el), range: "false", "disable-weekends": true, "min-date": this.firstValidDateString, language: this.languageCode, placeholder: this.datePlaceholder, class: "connected-dropdown__date-picker", start: ((_d = this.dateValue) === null || _d === void 0 ? void 0 : _d.length) ? this.dateValue : null })))), this.allowMultipleDates ? (h("div", { ref: el => (this.pnDateRangeContainer = el), class: "connected-dropdown__date-container", style: { display: 'none' } }, this.multiDateHelperText ? (h("div", { class: "connected-dropdown__row" }, h("p", null, this.multiDateHelperText))) : null, h("div", { class: "connected-dropdown__multi-date-row" }, h("div", { class: "connected-dropdown__date-container" }, h("div", { class: "connected-dropdown__label-container" }, h("label", null, this.startDateLabel)), h("pn-date-picker", { ref: el => (this.pnStartDate = el), range: "false", "disable-weekends": true, class: "connected-dropdown__date-picker", "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.languageCode, placeholder: this.datePlaceholder, start: ((_e = this.starDateValue) === null || _e === void 0 ? void 0 : _e.length) ? this.starDateValue : null })), h("div", { class: "connected-dropdown__date-container" }, h("div", { class: "connected-dropdown__label-container" }, h("label", null, this.endDateLabel)), h("pn-date-picker", { ref: el => (this.pnEndDate = el), range: "false", "disable-weekends": true, class: "connected-dropdown__date-picker", "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.languageCode, placeholder: this.datePlaceholder, start: ((_f = this.endDateValue) === null || _f === void 0 ? void 0 : _f.length) ? this.endDateValue : null }))), h("div", { ref: el => (this.pnDaysRow = el), class: "connected-dropdown__multi-date-row" }, (_g = this.daysArr) === null || _g === void 0 ? void 0 : _g.map((day) => (h("div", { class: "connected-dropdown__checkbox" }, h("pn-filter-checkbox", { checkboxid: 'day-' + day.value, name: '__' + day.label, value: day.value, checked: day.selected }), h("label", { htmlFor: 'day-' + day.value }, day.label))))), h("div", { class: "connected-dropdown__row" }, h("pn-button", { ref: el => (this.pnGenerateDatesButton = el), small: "true" }, this.generateDatesButtonText)), h("div", { ref: el => (this.pnGeneratedDatesSlot = el), class: "connected-dropdown__date-slot" }, (_h = this.generatedDatesArr) === null || _h === void 0 ? void 0 :
|
|
370
370
|
_h.map((date, i) => (h("div", { class: "connected-dropdown__row generated-date-row" }, h("p", null, date), h("pn-button", { index: i, small: "true", icon: minus, appearance: "warning", id: 'delete-date-' + i, onClick: this.deleteGeneratedDateRow.bind(this, i) }, date)))), !((_j = this.generatedDatesArr) === null || _j === void 0 ? void 0 : _j.length) ? h("p", null, this.noDatesText) : null), h("div", { class: "connected-dropdown__row" }, h("pn-button", { ref: el => (this.pnSaveGeneratedDatesButton = el), class: "connected-dropdown__button-right", small: "true" }, this.saveDateButtonText)))) : null))));
|
|
371
371
|
}
|
|
372
372
|
get hostElement() { return this; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-multi-row-connected-dropdown-row2.js","mappings":"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","names":["uuidv4"],"sources":["src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.scss?tag=pn-multi-row-connected-dropdown-row","src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-multi-row-connected-dropdown-row {\n gap: 1rem;\n\n .connected-dropdown-parent-element {\n margin-bottom: 0.5rem;\n }\n\n pn-select {\n width: 35%;\n }\n\n pn-marketweb-input {\n width: 10%;\n\n input {\n height: 4.3rem;\n }\n }\n\n .connected-dropdown {\n padding: 1rem;\n border-left: 0.2rem solid $blue700;\n\n &:hover {\n background-color: $gray25;\n }\n\n &__toggle-date-button {\n width: 20%;\n margin-bottom: 0.5rem;\n }\n\n &__row {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n margin-bottom: 1rem;\n justify-content: space-between;\n\n &__no-margin {\n margin: 0;\n }\n }\n\n &__multi-date-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n &__button-container {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n }\n\n &__button {\n background-color: #ffffff;\n border: solid;\n border-width: 0.1rem;\n border-radius: 0.8rem;\n border-color: $blue700;\n padding: 0.4rem 0.8rem;\n color: $blue700;\n font-size: 1.4rem;\n text-align: center;\n text-decoration: none;\n cursor: pointer;\n\n &:hover,\n &.active {\n background-color: $blue900;\n border-color: $blue900;\n color: #ffffff;\n }\n }\n\n &__buttom-container-right {\n display: flex;\n }\n\n &__button-right {\n margin-left: auto;\n }\n\n &__label-container {\n margin-bottom: 0.4rem;\n color: $gray700;\n font-size: 0.875em;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n &__checkbox {\n display: flex;\n gap: 0.5rem;\n }\n\n &__date-slot {\n border: 0.1rem solid $blue700;\n margin-bottom: 1rem;\n padding: 1rem;\n }\n }\n\n .generated-date-row {\n border-bottom: 0.1rem solid $blue700;\n }\n}\n","import { Component, Prop, h, Element, Host, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Root, SelectItem, PredefinedValues } from './types';\nimport debounce from 'debounce';\nimport { v4 as uuidv4 } from 'uuid';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-multi-row-connected-dropdown-row',\n styleUrl: 'pn-multi-row-connected-dropdown-row.scss',\n})\nexport class PnMultiRowConnectedDropdownRow {\n @Element() hostElement: Element;\n private _dropdownData: Root[];\n private _predefinedValue: PredefinedValues;\n pnConnectedDropdown: HTMLElement = null;\n pnConnectedDropdownSlotElement: HTMLElement = null;\n pnAddFieldButton: HTMLElement = null;\n pnFirstDropdown: HTMLElement = null;\n pnSecondDropdown: HTMLElement = null;\n pnInputField: HTMLElement = null;\n pnSingleDatePicker: HTMLElement = null;\n pnStartDate: HTMLElement = null;\n pnEndDate: HTMLElement = null;\n pnShowDateRangeFiledButton: HTMLElement = null;\n pnDateRangeContainer: HTMLElement = null;\n pnGenerateDatesButton: HTMLElement = null;\n pnDaysRow: HTMLElement = null;\n pnGeneratedDatesSlot: HTMLElement = null;\n pnSaveGeneratedDatesButton: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() label: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() dropdownPlaceholder: string = null;\n @Prop() addRowText: string = null;\n @Prop() inputFildLabel: string = null;\n @Prop() inputFildPlaceholder: string = null;\n @Prop() dateButtonText: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = 1;\n @Prop() allowMultipleDates: boolean = null;\n @Prop() startDateLabel: string = null;\n @Prop() endDateLabel: string = null;\n @Prop() multiDateHelperText: string = null;\n @Prop() generateDatesButtonText: string = null;\n @Prop() saveDateButtonText: string = null;\n @Prop() noDatesText: string = null;\n @Prop() index: number = null;\n @Prop() predefinedValue: string = null;\n @Prop() yearsToAddToEndDate: number = null;\n\n @State() buttonsArray: SelectItem[] = null;\n @State() firstDropdownArr: SelectItem[] = null;\n @State() secondDropdownArr: SelectItem[] = [];\n @State() firstDropdownClass: string = null;\n @State() secondDropdownClass: string = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n @State() firstDropdownPlaceholder: string = '-';\n @State() secondDropdownPlaceholder: string = '-';\n @State() starDateValue: string = '';\n @State() endDateValue: string = '';\n @State() generatedDatesArr: string[] = [];\n @State() selectedButtonValue: string = '';\n @State() inputFieldValue: string = '';\n @State() dateValue: string = '';\n @State() daysArr: SelectItem[] = null;\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setDropDownData();\n this.setFirstValidDate();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n this.emittRowValues();\n }\n\n setDropDownData() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n getPredefinedValues() {\n this._predefinedValue = JSON.parse(this.predefinedValue);\n }\n\n @Watch('predefinedValue')\n applyPredefinedValue() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n setInitialValues() {\n this.setButtonsValue();\n this.setFirstDropdownValues();\n this.setSecondDropdownValues();\n this.setInputField();\n this.setDateValue();\n this.setDateRangeDefaults();\n\n this.firstDropdownClass = this.firstDropdownLabel.replace(' ', '_') + '-dropdown';\n this.secondDropdownClass = this.secondDropdownLabel.replace(' ', '_') + '-dropdown';\n }\n\n setButtonsValue() {\n this.buttonsArray = [];\n\n if (this._predefinedValue.buttons?.length) {\n this.buttonsArray = this._predefinedValue.buttons;\n\n this.buttonsArray.forEach(item => {\n if (item.selected) {\n this.selectedButtonValue = item.value;\n }\n });\n } else {\n this._dropdownData.forEach(item => {\n const button: SelectItem = { selected: false, value: item.label, label: item.label };\n this.buttonsArray.push(button);\n });\n }\n }\n\n setFirstDropdownValues() {\n this.firstDropdownArr = [];\n\n if (this._predefinedValue.firstDropdown?.length) {\n this.firstDropdownArr = [...this._predefinedValue.firstDropdown];\n }\n }\n\n setSecondDropdownValues() {\n this.secondDropdownArr = [];\n\n if (this._predefinedValue.secondDropdown?.length) {\n this.secondDropdownArr = [...this._predefinedValue.secondDropdown];\n }\n }\n\n setInputField() {\n this.inputFieldValue = this._predefinedValue.input?.length ? this._predefinedValue.input : '';\n }\n\n setDateValue() {\n if (this.allowMultipleDates) {\n this.pnDateRangeContainer.style.display = this._predefinedValue.dates?.length ? '' : 'none';\n this.generatedDatesArr = this._predefinedValue.dates?.length ? this._predefinedValue.dates.split(',') : [];\n this.saveGeneratedDates();\n } else {\n this.dateValue = this._predefinedValue.dates?.length ? this._predefinedValue.dates : '';\n }\n }\n\n setDateRangeDefaults() {\n this.daysArr = this._predefinedValue.dateRange.days;\n this.starDateValue = this._predefinedValue.dateRange.startDate?.length ? this._predefinedValue.dateRange.startDate : '';\n this.endDateValue = this._predefinedValue.dateRange.endDate?.length ? this._predefinedValue.dateRange.endDate : '';\n }\n\n setFirstValidDate() {\n const yearsToadd = this.yearsToAddToEndDate ? this.yearsToAddToEndDate : 2;\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + yearsToadd;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emittRowValues.bind(this), 500);\n\n this.pnInputField.addEventListener('keyup', this.handleInput.bind(this));\n this.pnInputField.addEventListener('change', this.handleInput.bind(this));\n this.pnInputField.addEventListener('input', this.handleInput.bind(this));\n this.pnInputField.addEventListener('keyup', emmitValues);\n this.pnInputField.addEventListener('change', emmitValues);\n this.pnInputField.addEventListener('input', emmitValues);\n\n if (this.allowMultipleDates) {\n this.pnShowDateRangeFiledButton.addEventListener('click', this.showDateRangeRow.bind(this));\n this.pnStartDate.addEventListener('dateselection', this.HandleRangeDatePickers.bind(this));\n this.pnEndDate.addEventListener('dateselection', this.HandleRangeDatePickers.bind(this));\n this.pnGenerateDatesButton.addEventListener('click', this.generateDates.bind(this));\n this.pnSaveGeneratedDatesButton.addEventListener('click', this.saveGeneratedDates.bind(this));\n this.pnSaveGeneratedDatesButton.addEventListener('click', emmitValues);\n } else {\n this.pnSingleDatePicker.addEventListener('dateselection', this.setSingleDateValue.bind(this));\n this.pnSingleDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n if (this.index > 0) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n updateSelectItemArr(arr: SelectItem[], val: string) {\n arr.forEach(item => {\n if (item.value === val) {\n item.selected = !item.selected;\n } else {\n item.selected = false;\n }\n });\n return arr;\n }\n\n handleOptionButtonClick(e) {\n e.preventDefault();\n const elmValue = e.target.innerHTML;\n\n this.buttonsArray = [...this.updateSelectItemArr(this.buttonsArray, elmValue)];\n this.selectedButtonValue = this.buttonsArray.filter(e => e.selected === true).length > 0 ? elmValue : '';\n\n if (this.selectedButtonValue?.length) {\n this.firstDropdownArr = [];\n const selectionChildren = this._dropdownData.find(arr => arr.label === elmValue);\n selectionChildren.values.forEach(item => {\n this.firstDropdownArr.push({ selected: false, value: item.label, label: item.label });\n });\n\n this.firstDropdownArr = [...this.firstDropdownArr];\n this.firstDropdownPlaceholder = this.dropdownPlaceholder;\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = this.dropdownPlaceholder;\n\n this.secondDropdownArr = [];\n this.secondDropdownPlaceholder = '-';\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n } else {\n this.firstDropdownArr = [];\n this.firstDropdownPlaceholder = '-';\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = this.firstDropdownPlaceholder;\n\n this.secondDropdownArr = [];\n this.secondDropdownPlaceholder = '-';\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n }\n\n this.emittRowValues();\n }\n\n handleFirstDropdownChange() {\n const selected = this.pnFirstDropdown.querySelector(\"[aria-selected=true]\");\n const selectedValue = selected?.textContent;\n this.firstDropdownArr = [...this.updateSelectItemArr(this.firstDropdownArr, selectedValue)];\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = selectedValue;\n\n this.secondDropdownArr = [];\n const selectedButton = this.buttonsArray.findIndex(item => item.selected === true);\n const firstChildren = this._dropdownData.find(arr => arr.label === this.buttonsArray[selectedButton].value);\n const secondChildren = firstChildren.values.find(arr => arr.label === selectedValue);\n secondChildren.values.forEach(item => {\n this.secondDropdownArr.push({ selected: false, value: item.label, label: item.label });\n });\n\n this.secondDropdownPlaceholder = this.dropdownPlaceholder;\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n this.emittRowValues();\n }\n\n handleSecondDropdownChange() {\n const selected = this.pnSecondDropdown.querySelector(\"[aria-selected=true]\");\n const selectedValue = selected?.textContent;\n this.secondDropdownArr = [...this.updateSelectItemArr(this.secondDropdownArr, selectedValue)];\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = selectedValue;\n this.emittRowValues();\n }\n\n handleInput(e) {\n const elm = e.target;\n if (elm.value !== '0') {\n this.inputFieldValue = elm.value;\n }\n }\n\n showDateRangeRow() {\n if (this.pnDateRangeContainer.style.display === 'none') {\n this.pnDateRangeContainer.style.display = '';\n } else {\n this.pnDateRangeContainer.style.display = 'none';\n }\n }\n\n HandleRangeDatePickers(e) {\n const elm = e.target;\n\n if (elm === this.pnStartDate) {\n this.starDateValue = e.detail;\n }\n\n if (elm === this.pnEndDate) {\n this.endDateValue = e.detail;\n }\n }\n\n generateDates(e) {\n e.preventDefault();\n const allCheckboxes = this.pnDaysRow.querySelectorAll('pn-filter-checkbox');\n const selectedDays: string[] = [];\n this.generatedDatesArr = [];\n allCheckboxes.forEach(element => {\n const input = element.querySelector('input');\n if (input.value) {\n selectedDays.push(input.value);\n }\n });\n\n if (selectedDays.length && this.starDateValue && this.endDateValue) {\n this.daysArr.forEach(item => {\n if (selectedDays.some(x => x === item.value)) {\n item.selected = true;\n } else {\n item.selected = false;\n }\n });\n\n const startDate = new Date(Date.parse(this.starDateValue));\n const endDate = new Date(Date.parse(this.endDateValue));\n\n for (var d = startDate; d <= endDate; d.setDate(d.getDate() + 1)) {\n const i = this.daysArr.findIndex(item => parseInt(item.value) === d.getDay());\n\n if (this.daysArr[i]?.selected) {\n const year = d.getFullYear();\n const month = (d.getMonth() + 1).toString().padStart(2, '0');\n const day = d.getDate().toString().padStart(2, '0');\n this.generatedDatesArr.push(`${year}-${month}-${day}`);\n }\n }\n }\n }\n\n deleteGeneratedDateRow(index) {\n this.generatedDatesArr.splice(index, 1);\n this.generatedDatesArr = [...this.generatedDatesArr];\n }\n\n saveGeneratedDates() {\n if (this.generatedDatesArr?.length) {\n this.dateValue = String(this.generatedDatesArr);\n const dateCount = this.generatedDatesArr.length;\n const buttonTextElm = this.pnShowDateRangeFiledButton.querySelector('.pn-button-content');\n buttonTextElm.innerHTML = dateCount > 0 ? `${this.dateButtonText} (${dateCount})` : this.dateButtonText;\n this.showDateRangeRow();\n }\n }\n\n setSingleDateValue(e) {\n const elm = e.target;\n if (elm === this.pnSingleDatePicker) {\n this.dateValue = e.detail;\n }\n }\n\n emittRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n buttons: this.buttonsArray,\n firstDropdown: this.firstDropdownArr,\n secondDropdown: this.secondDropdownArr,\n input: this.inputFieldValue,\n dates: this.dateValue,\n dateRange: {\n days: this.daysArr,\n startDate: this.starDateValue,\n endDate: this.endDateValue,\n },\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n setActive(active: boolean) {\n return active ? 'connected-dropdown__button active' : 'connected-dropdown__button';\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.pnConnectedDropdownSlotElement = el as HTMLElement)} class=\"connected-dropdown-slot-element\">\n <div class=\"connected-dropdown-parent-element connected-dropdown\">\n <div class=\"connected-dropdown__row__no-margin\">\n <label>{this.label}</label>\n </div>\n\n <div class=\"connected-dropdown__row button-row\">\n <div class=\"connected-dropdown__button-container option-buttons\">\n {this.buttonsArray?.map(item => (\n <button class={`${this.setActive(item.selected)}`} id={this.generateUniqueId()} onClick={this.handleOptionButtonClick.bind(this)}>\n {item.value}\n </button>\n ))}\n </div>\n\n <div class=\"connected-dropdown__button-container delete-button\">\n {this.index > 0 ? (\n <pn-button ref={el => (this.pnDeleteRowButton = el as HTMLElement)} small=\"true\" icon={minus} appearance=\"warning\" index={this.index}>\n Delete\n </pn-button>\n ) : null}\n </div>\n </div>\n\n <div class=\"connected-dropdown__row input-row\">\n <pn-select\n ref={el => (this.pnFirstDropdown = el as HTMLElement)}\n class=\"pn-row-select-dropdown dropDown1-dropdown\"\n placeholder={this.firstDropdownPlaceholder}\n label={this.firstDropdownLabel}\n >\n {this.firstDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item.label} value={item.value} selected={item.selected} onClick={debounce(this.handleFirstDropdownChange.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n\n <pn-select\n ref={el => (this.pnSecondDropdown = el as HTMLElement)}\n class=\"pn-row-select-dropdown dropDown2-dropdown\"\n placeholder={this.secondDropdownPlaceholder}\n label={this.secondDropdownLabel}\n >\n {this.secondDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item.label} value={item.value} selected={item.selected} onClick={debounce(this.handleSecondDropdownChange.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n\n <pn-marketweb-input\n ref={el => (this.pnInputField = el as HTMLElement)}\n type=\"number\"\n placeholder=\"0\"\n label={this.inputFildLabel}\n value={this.inputFieldValue}\n min=\"1\"\n ></pn-marketweb-input>\n\n {this.allowMultipleDates ? (\n <pn-button ref={el => (this.pnShowDateRangeFiledButton = el as HTMLElement)} class=\"connected-dropdown__toggle-date-button\" small=\"true\" appearance=\"light\">\n {this.dateButtonText}\n </pn-button>\n ) : (\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.dateButtonText}</label>\n </div>\n <pn-date-picker\n ref={el => (this.pnSingleDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n min-date={this.firstValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n class=\"connected-dropdown__date-picker\"\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n )}\n </div>\n\n {this.allowMultipleDates ? (\n <div ref={el => (this.pnDateRangeContainer = el as HTMLElement)} class=\"connected-dropdown__date-container\" style={{ display: 'none' }}>\n {this.multiDateHelperText ? (\n <div class=\"connected-dropdown__row\">\n <p>{this.multiDateHelperText}</p>\n </div>\n ) : null}\n\n <div class=\"connected-dropdown__multi-date-row\">\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.startDateLabel}</label>\n </div>\n\n <pn-date-picker\n ref={el => (this.pnStartDate = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n class=\"connected-dropdown__date-picker\"\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.starDateValue?.length ? this.starDateValue : null}\n ></pn-date-picker>\n </div>\n\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.endDateLabel}</label>\n </div>\n <pn-date-picker\n ref={el => (this.pnEndDate = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n class=\"connected-dropdown__date-picker\"\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.endDateValue?.length ? this.endDateValue : null}\n ></pn-date-picker>\n </div>\n </div>\n <div ref={el => (this.pnDaysRow = el as HTMLElement)} class=\"connected-dropdown__multi-date-row\">\n {this.daysArr?.map((day: SelectItem) => (\n <div class=\"connected-dropdown__checkbox\">\n <pn-filter-checkbox checkboxid={'day-' + day.value} name={'__' + day.label} value={day.value} checked={day.selected}></pn-filter-checkbox>\n <label htmlFor={'day-' + day.value}>{day.label}</label>\n </div>\n ))}\n </div>\n\n <div class=\"connected-dropdown__row\">\n <pn-button ref={el => (this.pnGenerateDatesButton = el as HTMLElement)} small=\"true\">\n {this.generateDatesButtonText}\n </pn-button>\n </div>\n\n <div ref={el => (this.pnGeneratedDatesSlot = el as HTMLElement)} class=\"connected-dropdown__date-slot\">\n {this.generatedDatesArr?.map((date: string, i) => (\n <div class=\"connected-dropdown__row generated-date-row\">\n <p>{date}</p>\n <pn-button index={i} small=\"true\" icon={minus} appearance=\"warning\" id={'delete-date-' + i} onClick={this.deleteGeneratedDateRow.bind(this, i)}>\n {date}\n </pn-button>\n </div>\n ))}\n\n {!this.generatedDatesArr?.length ? <p>{this.noDatesText}</p> : null}\n </div>\n\n <div class=\"connected-dropdown__row\">\n <pn-button ref={el => (this.pnSaveGeneratedDatesButton = el as HTMLElement)} class=\"connected-dropdown__button-right\" small=\"true\">\n {this.saveDateButtonText}\n </pn-button>\n </div>\n </div>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-multi-row-connected-dropdown-row2.js","mappings":";;;;;;;AAAA,MAAM,iCAAiC,GAAG,0xEAA0xE,CAAC;AACr0E,6CAAe,iCAAiC;;MCSnC,8BAA8B;;;;;;QAIzC,wBAAmB,GAAgB,IAAI,CAAC;QACxC,mCAA8B,GAAgB,IAAI,CAAC;QACnD,qBAAgB,GAAgB,IAAI,CAAC;QACrC,oBAAe,GAAgB,IAAI,CAAC;QACpC,qBAAgB,GAAgB,IAAI,CAAC;QACrC,iBAAY,GAAgB,IAAI,CAAC;QACjC,uBAAkB,GAAgB,IAAI,CAAC;QACvC,gBAAW,GAAgB,IAAI,CAAC;QAChC,cAAS,GAAgB,IAAI,CAAC;QAC9B,+BAA0B,GAAgB,IAAI,CAAC;QAC/C,yBAAoB,GAAgB,IAAI,CAAC;QACzC,0BAAqB,GAAgB,IAAI,CAAC;QAC1C,cAAS,GAAgB,IAAI,CAAC;QAC9B,yBAAoB,GAAgB,IAAI,CAAC;QACzC,+BAA0B,GAAgB,IAAI,CAAC;QAC/C,sBAAiB,GAAgB,IAAI,CAAC;4BAEE,IAAI;4BACb,IAAI;qBACX,IAAI;kCACS,IAAI;mCACH,IAAI;mCACJ,IAAI;0BACb,IAAI;8BACA,IAAI;oCACE,IAAI;8BACV,IAAI;+BACH,IAAI;iCACF,CAAC;kCACC,IAAI;8BACT,IAAI;4BACN,IAAI;mCACG,IAAI;uCACA,IAAI;kCACT,IAAI;2BACX,IAAI;qBACV,IAAI;+BACM,IAAI;mCACA,IAAI;4BAEJ,IAAI;gCACA,IAAI;iCACH,EAAE;kCACP,IAAI;mCACH,IAAI;oCACH,EAAE;mCACH,EAAE;wCACG,GAAG;yCACF,GAAG;6BACf,EAAE;4BACH,EAAE;iCACK,EAAE;mCACF,EAAE;+BACN,EAAE;yBACR,EAAE;uBACE,IAAI;;IAKrC,iBAAiB;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,eAAe;QACb,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;SACxC;KACF;IAED,mBAAmB;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC1D;IAGD,oBAAoB;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;QAClF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;KACrF;IAED,eAAe;;QACb,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,0CAAE,MAAM,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAElD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI;gBAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC;iBACvC;aACF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI;gBAC7B,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC,CAAC,CAAC;SACJ;KACF;IAED,sBAAsB;;QACpB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,0CAAE,MAAM,EAAE;YAC/C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;SAClE;KACF;IAED,uBAAuB;;QACrB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,0CAAE,MAAM,EAAE;YAChD,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;SACpE;KACF;IAED,aAAa;;QACX,IAAI,CAAC,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;KAC/F;IAED,YAAY;;QACV,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,0CAAE,MAAM,IAAG,EAAE,GAAG,MAAM,CAAC;YACrG,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7H,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3G;KACF;IAED,oBAAoB;;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QACxH,IAAI,CAAC,YAAY,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;KACpH;IAED,iBAAiB;;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,mCAAI,CAAC,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC;QAElC,IAAI,CAAC,oBAAoB,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjE,IAAI,CAAC,mBAAmB,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;KACpE;IAED,gBAAgB;QACd,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAElE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACxE;aAAM;YACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;SACxE;QAED,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7E;KACF;IAED,gBAAgB;QACd,OAAOA,EAAM,EAAE,CAAC;KACjB;IAED,mBAAmB,CAAC,GAAiB,EAAE,GAAW;QAChD,GAAG,CAAC,OAAO,CAAC,IAAI;YACd,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;SACF,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;KACZ;IAED,uBAAuB,CAAC,CAAC;;QACvB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAEpC,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;QAEzG,IAAI,MAAA,IAAI,CAAC,mBAAmB,0CAAE,MAAM,EAAE;YACpC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;YACjF,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;gBACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aACvF,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACxF,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAEvD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;YACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC;YACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACxF,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAE5D,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;YACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;SAC/D;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,yBAAyB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;QAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACtF,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC;QAE9C,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5G,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;QACrF,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;YAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SACxF,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,0BAA0B;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;QAC9F,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC1F,kBAAkB,CAAC,SAAS,GAAG,aAAa,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,WAAW,CAAC,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE;YACrB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC;SAClC;KACF;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YACtD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAClD;KACF;IAED,sBAAsB,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QAErB,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;SAC/B;QAED,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;SAC9B;KACF;IAED,aAAa,CAAC,CAAC;;QACb,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,aAAa,CAAC,OAAO,CAAC,OAAO;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gBACvB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAExD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE9E,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,EAAE;oBAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;iBACxD;aACF;SACF;KACF;IAED,sBAAsB,CAAC,KAAK;QAC1B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACtD;IAED,kBAAkB;;QAChB,IAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,EAAE;YAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAChD,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC1F,aAAa,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;YACxG,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;KACF;IAED,kBAAkB,CAAC,CAAC;QAClB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,GAAG,KAAK,IAAI,CAAC,kBAAkB,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;SAC3B;KACF;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,cAAc,EAAE,IAAI,CAAC,iBAAiB;YACtC,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,SAAS,EAAE,IAAI,CAAC,aAAa;gBAC7B,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B;SACF,CAAC,CAAC;KACJ;IAED,SAAS;QACP,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;KACpD;IAED,SAAS,CAAC,MAAe;QACvB,OAAO,MAAM,GAAG,mCAAmC,GAAG,4BAA4B,CAAC;KACpF;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,8BAA8B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,iCAAiC,IAChH,4DAAK,KAAK,EAAC,sDAAsD,IAC/D,4DAAK,KAAK,EAAC,oCAAoC,IAC7C,gEAAQ,IAAI,CAAC,KAAK,CAAS,CACvB,EAEN,4DAAK,KAAK,EAAC,oCAAoC,IAC7C,4DAAK,KAAK,EAAC,qDAAqD,IAC7D,MAAA,IAAI,CAAC,YAAY,0CAAE,GAAG,CAAC,IAAI,KAC1B,cAAQ,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAC7H,IAAI,CAAC,KAAK,CACJ,CACV,CAAC,CACE,EAEN,4DAAK,KAAK,EAAC,oDAAoD,IAC5D,IAAI,CAAC,KAAK,GAAG,CAAC,IACb,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,iBAAiB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,SAAS,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,aAExH,IACV,IAAI,CACJ,CACF,EAEN,4DAAK,KAAK,EAAC,mCAAmC,IAC5C,kEACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,eAAe,GAAG,EAAiB,CAAC,EACrD,KAAK,EAAC,2CAA2C,EACjD,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAC1C,KAAK,EAAE,IAAI,CAAC,kBAAkB,kBACjB,MAAM,IAElB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAClC,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAc,CACpK,CAAC,CACQ,EAEZ,kEACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,gBAAgB,GAAG,EAAiB,CAAC,EACtD,KAAK,EAAC,2CAA2C,EACjD,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAC3C,KAAK,EAAE,IAAI,CAAC,mBAAmB,kBAClB,MAAM,IAElB,MAAA,IAAI,CAAC,iBAAiB,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MACnC,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAc,CACrK,CAAC,CACQ,EAEZ,2EACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,GAAG,EAAiB,CAAC,EAClD,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,GAAG,EACf,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,GAAG,EAAC,GAAG,GACa,EAErB,IAAI,CAAC,kBAAkB,IACtB,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,0BAA0B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,wCAAwC,EAAC,KAAK,EAAC,MAAM,EAAC,UAAU,EAAC,OAAO,IACxJ,IAAI,CAAC,cAAc,CACV,KAEZ,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,cAAc,CAAS,CAChC,EACN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,kBAAkB,GAAG,EAAiB,CAAC,EACxD,KAAK,EAAC,OAAO,sBACK,IAAI,cACZ,IAAI,CAAC,oBAAoB,EACnC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAC,iCAAiC,EACvC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,IAAG,IAAI,CAAC,SAAS,GAAG,IAAI,GACrC,CACd,CACP,CACG,EAEL,IAAI,CAAC,kBAAkB,IACtB,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,oCAAoC,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IACnI,IAAI,CAAC,mBAAmB,IACvB,WAAK,KAAK,EAAC,yBAAyB,IAClC,aAAI,IAAI,CAAC,mBAAmB,CAAK,CAC7B,IACJ,IAAI,EAER,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,cAAc,CAAS,CAChC,EAEN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAiB,CAAC,EACjD,KAAK,EAAC,OAAO,sBACK,IAAI,EACtB,KAAK,EAAC,iCAAiC,cAC7B,IAAI,CAAC,oBAAoB,cACzB,IAAI,CAAC,mBAAmB,EAClC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,IAAG,IAAI,CAAC,aAAa,GAAG,IAAI,GAC7C,CACd,EAEN,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,YAAY,CAAS,CAC9B,EACN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,EAC/C,KAAK,EAAC,OAAO,sBACK,IAAI,EACtB,KAAK,EAAC,iCAAiC,cAC7B,IAAI,CAAC,oBAAoB,cACzB,IAAI,CAAC,mBAAmB,EAClC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,IAAG,IAAI,CAAC,YAAY,GAAG,IAAI,GAC3C,CACd,CACF,EACN,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,oCAAoC,IAC7F,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,GAAe,MACjC,WAAK,KAAK,EAAC,8BAA8B,IACvC,0BAAoB,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,GAAuB,EAC1I,aAAO,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,IAAG,GAAG,CAAC,KAAK,CAAS,CACnD,CACP,CAAC,CACE,EAEN,WAAK,KAAK,EAAC,yBAAyB,IAClC,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,qBAAqB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,MAAM,IACjF,IAAI,CAAC,uBAAuB,CACnB,CACR,EAEN,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,+BAA+B,IACnG,MAAA,IAAI,CAAC,iBAAiB;eAAE,GAAG,CAAC,CAAC,IAAY,EAAE,CAAC,MAC3C,WAAK,KAAK,EAAC,4CAA4C,IACrD,aAAI,IAAI,CAAK,EACb,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,SAAS,EAAC,EAAE,EAAE,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAC3I,IAAI,CACK,CACR,CACP,CAAC,EAED,EAAC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,CAAA,GAAG,aAAI,IAAI,CAAC,WAAW,CAAK,GAAG,IAAI,CAC/D,EAEN,WAAK,KAAK,EAAC,yBAAyB,IAClC,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,0BAA0B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,kCAAkC,EAAC,KAAK,EAAC,MAAM,IAC/H,IAAI,CAAC,kBAAkB,CACd,CACR,CACF,IACJ,IAAI,CACJ,CACF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["uuidv4"],"sources":["src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.scss?tag=pn-multi-row-connected-dropdown-row","src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-multi-row-connected-dropdown-row {\n gap: 1rem;\n\n .connected-dropdown-parent-element {\n margin-bottom: 0.5rem;\n }\n\n pn-select {\n width: 35%;\n }\n\n pn-marketweb-input {\n width: 10%;\n\n input {\n height: 4.3rem;\n }\n }\n\n .connected-dropdown {\n padding: 1rem;\n border-left: 0.2rem solid $blue700;\n\n &:hover {\n background-color: $gray25;\n }\n\n &__toggle-date-button {\n width: 20%;\n margin-bottom: 0.5rem;\n }\n\n &__row {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n margin-bottom: 1rem;\n justify-content: space-between;\n\n &__no-margin {\n margin: 0;\n }\n }\n\n &__multi-date-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n &__button-container {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n }\n\n &__button {\n background-color: #ffffff;\n border: solid;\n border-width: 0.1rem;\n border-radius: 0.8rem;\n border-color: $blue700;\n padding: 0.4rem 0.8rem;\n color: $blue700;\n font-size: 1.4rem;\n text-align: center;\n text-decoration: none;\n cursor: pointer;\n\n &:hover,\n &.active {\n background-color: $blue900;\n border-color: $blue900;\n color: #ffffff;\n }\n }\n\n &__buttom-container-right {\n display: flex;\n }\n\n &__button-right {\n margin-left: auto;\n }\n\n &__label-container {\n margin-bottom: 0.4rem;\n color: $gray700;\n font-size: 0.875em;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n &__checkbox {\n display: flex;\n gap: 0.5rem;\n }\n\n &__date-slot {\n border: 0.1rem solid $blue700;\n margin-bottom: 1rem;\n padding: 1rem;\n }\n }\n\n .generated-date-row {\n border-bottom: 0.1rem solid $blue700;\n }\n}\n","import { Component, Prop, h, Element, Host, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Root, SelectItem, PredefinedValues } from './types';\nimport debounce from 'debounce';\nimport { v4 as uuidv4 } from 'uuid';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-multi-row-connected-dropdown-row',\n styleUrl: 'pn-multi-row-connected-dropdown-row.scss',\n})\nexport class PnMultiRowConnectedDropdownRow {\n @Element() hostElement: Element;\n private _dropdownData: Root[];\n private _predefinedValue: PredefinedValues;\n pnConnectedDropdown: HTMLElement = null;\n pnConnectedDropdownSlotElement: HTMLElement = null;\n pnAddFieldButton: HTMLElement = null;\n pnFirstDropdown: HTMLElement = null;\n pnSecondDropdown: HTMLElement = null;\n pnInputField: HTMLElement = null;\n pnSingleDatePicker: HTMLElement = null;\n pnStartDate: HTMLElement = null;\n pnEndDate: HTMLElement = null;\n pnShowDateRangeFiledButton: HTMLElement = null;\n pnDateRangeContainer: HTMLElement = null;\n pnGenerateDatesButton: HTMLElement = null;\n pnDaysRow: HTMLElement = null;\n pnGeneratedDatesSlot: HTMLElement = null;\n pnSaveGeneratedDatesButton: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() label: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() dropdownPlaceholder: string = null;\n @Prop() addRowText: string = null;\n @Prop() inputFildLabel: string = null;\n @Prop() inputFildPlaceholder: string = null;\n @Prop() dateButtonText: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = 1;\n @Prop() allowMultipleDates: boolean = null;\n @Prop() startDateLabel: string = null;\n @Prop() endDateLabel: string = null;\n @Prop() multiDateHelperText: string = null;\n @Prop() generateDatesButtonText: string = null;\n @Prop() saveDateButtonText: string = null;\n @Prop() noDatesText: string = null;\n @Prop() index: number = null;\n @Prop() predefinedValue: string = null;\n @Prop() yearsToAddToEndDate: number = null;\n\n @State() buttonsArray: SelectItem[] = null;\n @State() firstDropdownArr: SelectItem[] = null;\n @State() secondDropdownArr: SelectItem[] = [];\n @State() firstDropdownClass: string = null;\n @State() secondDropdownClass: string = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n @State() firstDropdownPlaceholder: string = '-';\n @State() secondDropdownPlaceholder: string = '-';\n @State() starDateValue: string = '';\n @State() endDateValue: string = '';\n @State() generatedDatesArr: string[] = [];\n @State() selectedButtonValue: string = '';\n @State() inputFieldValue: string = '';\n @State() dateValue: string = '';\n @State() daysArr: SelectItem[] = null;\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setDropDownData();\n this.setFirstValidDate();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n this.emittRowValues();\n }\n\n setDropDownData() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n getPredefinedValues() {\n this._predefinedValue = JSON.parse(this.predefinedValue);\n }\n\n @Watch('predefinedValue')\n applyPredefinedValue() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n setInitialValues() {\n this.setButtonsValue();\n this.setFirstDropdownValues();\n this.setSecondDropdownValues();\n this.setInputField();\n this.setDateValue();\n this.setDateRangeDefaults();\n\n this.firstDropdownClass = this.firstDropdownLabel.replace(' ', '_') + '-dropdown';\n this.secondDropdownClass = this.secondDropdownLabel.replace(' ', '_') + '-dropdown';\n }\n\n setButtonsValue() {\n this.buttonsArray = [];\n\n if (this._predefinedValue.buttons?.length) {\n this.buttonsArray = this._predefinedValue.buttons;\n\n this.buttonsArray.forEach(item => {\n if (item.selected) {\n this.selectedButtonValue = item.value;\n }\n });\n } else {\n this._dropdownData.forEach(item => {\n const button: SelectItem = { selected: false, value: item.label, label: item.label };\n this.buttonsArray.push(button);\n });\n }\n }\n\n setFirstDropdownValues() {\n this.firstDropdownArr = [];\n\n if (this._predefinedValue.firstDropdown?.length) {\n this.firstDropdownArr = [...this._predefinedValue.firstDropdown];\n }\n }\n\n setSecondDropdownValues() {\n this.secondDropdownArr = [];\n\n if (this._predefinedValue.secondDropdown?.length) {\n this.secondDropdownArr = [...this._predefinedValue.secondDropdown];\n }\n }\n\n setInputField() {\n this.inputFieldValue = this._predefinedValue.input?.length ? this._predefinedValue.input : '';\n }\n\n setDateValue() {\n if (this.allowMultipleDates) {\n this.pnDateRangeContainer.style.display = this._predefinedValue.dates[\"start\"]?.length ? '' : 'none';\n this.generatedDatesArr = this._predefinedValue.dates[\"start\"]?.length ? this._predefinedValue.dates[\"start\"].split(',') : [];\n this.saveGeneratedDates();\n } else {\n this.dateValue = this._predefinedValue.dates[\"start\"]?.length ? this._predefinedValue.dates[\"start\"] : '';\n }\n }\n\n setDateRangeDefaults() {\n this.daysArr = this._predefinedValue.dateRange.days;\n this.starDateValue = this._predefinedValue.dateRange.startDate?.length ? this._predefinedValue.dateRange.startDate : '';\n this.endDateValue = this._predefinedValue.dateRange.endDate?.length ? this._predefinedValue.dateRange.endDate : '';\n }\n\n setFirstValidDate() {\n const yearsToadd = this.yearsToAddToEndDate ? this.yearsToAddToEndDate : 2;\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + yearsToadd;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emittRowValues.bind(this), 500);\n\n this.pnInputField.addEventListener('keyup', this.handleInput.bind(this));\n this.pnInputField.addEventListener('change', this.handleInput.bind(this));\n this.pnInputField.addEventListener('input', this.handleInput.bind(this));\n this.pnInputField.addEventListener('keyup', emmitValues);\n this.pnInputField.addEventListener('change', emmitValues);\n this.pnInputField.addEventListener('input', emmitValues);\n\n if (this.allowMultipleDates) {\n this.pnShowDateRangeFiledButton.addEventListener('click', this.showDateRangeRow.bind(this));\n this.pnStartDate.addEventListener('dateselection', this.HandleRangeDatePickers.bind(this));\n this.pnEndDate.addEventListener('dateselection', this.HandleRangeDatePickers.bind(this));\n this.pnGenerateDatesButton.addEventListener('click', this.generateDates.bind(this));\n this.pnSaveGeneratedDatesButton.addEventListener('click', this.saveGeneratedDates.bind(this));\n this.pnSaveGeneratedDatesButton.addEventListener('click', emmitValues);\n } else {\n this.pnSingleDatePicker.addEventListener('dateselection', this.setSingleDateValue.bind(this));\n this.pnSingleDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n if (this.index > 0) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n updateSelectItemArr(arr: SelectItem[], val: string) {\n arr.forEach(item => {\n if (item.value === val) {\n item.selected = !item.selected;\n } else {\n item.selected = false;\n }\n });\n return arr;\n }\n\n handleOptionButtonClick(e) {\n e.preventDefault();\n const elmValue = e.target.innerHTML;\n\n this.buttonsArray = [...this.updateSelectItemArr(this.buttonsArray, elmValue)];\n this.selectedButtonValue = this.buttonsArray.filter(e => e.selected === true).length > 0 ? elmValue : '';\n\n if (this.selectedButtonValue?.length) {\n this.firstDropdownArr = [];\n const selectionChildren = this._dropdownData.find(arr => arr.label === elmValue);\n selectionChildren.values.forEach(item => {\n this.firstDropdownArr.push({ selected: false, value: item.label, label: item.label });\n });\n\n this.firstDropdownArr = [...this.firstDropdownArr];\n this.firstDropdownPlaceholder = this.dropdownPlaceholder;\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = this.dropdownPlaceholder;\n\n this.secondDropdownArr = [];\n this.secondDropdownPlaceholder = '-';\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n } else {\n this.firstDropdownArr = [];\n this.firstDropdownPlaceholder = '-';\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = this.firstDropdownPlaceholder;\n\n this.secondDropdownArr = [];\n this.secondDropdownPlaceholder = '-';\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n }\n\n this.emittRowValues();\n }\n\n handleFirstDropdownChange() {\n const selected = this.pnFirstDropdown.querySelector(\"[aria-selected=true]\");\n const selectedValue = selected?.textContent;\n this.firstDropdownArr = [...this.updateSelectItemArr(this.firstDropdownArr, selectedValue)];\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = selectedValue;\n\n this.secondDropdownArr = [];\n const selectedButton = this.buttonsArray.findIndex(item => item.selected === true);\n const firstChildren = this._dropdownData.find(arr => arr.label === this.buttonsArray[selectedButton].value);\n const secondChildren = firstChildren.values.find(arr => arr.label === selectedValue);\n secondChildren.values.forEach(item => {\n this.secondDropdownArr.push({ selected: false, value: item.label, label: item.label });\n });\n\n this.secondDropdownPlaceholder = this.dropdownPlaceholder;\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n this.emittRowValues();\n }\n\n handleSecondDropdownChange() {\n const selected = this.pnSecondDropdown.querySelector(\"[aria-selected=true]\");\n const selectedValue = selected?.textContent;\n this.secondDropdownArr = [...this.updateSelectItemArr(this.secondDropdownArr, selectedValue)];\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = selectedValue;\n this.emittRowValues();\n }\n\n handleInput(e) {\n const elm = e.target;\n if (elm.value !== '0') {\n this.inputFieldValue = elm.value;\n }\n }\n\n showDateRangeRow() {\n if (this.pnDateRangeContainer.style.display === 'none') {\n this.pnDateRangeContainer.style.display = '';\n } else {\n this.pnDateRangeContainer.style.display = 'none';\n }\n }\n\n HandleRangeDatePickers(e) {\n const elm = e.target;\n\n if (elm === this.pnStartDate) {\n this.starDateValue = e.detail;\n }\n\n if (elm === this.pnEndDate) {\n this.endDateValue = e.detail;\n }\n }\n\n generateDates(e) {\n e.preventDefault();\n const allCheckboxes = this.pnDaysRow.querySelectorAll('pn-filter-checkbox');\n const selectedDays: string[] = [];\n this.generatedDatesArr = [];\n allCheckboxes.forEach(element => {\n const input = element.querySelector('input');\n if (input.value) {\n selectedDays.push(input.value);\n }\n });\n\n if (selectedDays.length && this.starDateValue && this.endDateValue) {\n this.daysArr.forEach(item => {\n if (selectedDays.some(x => x === item.value)) {\n item.selected = true;\n } else {\n item.selected = false;\n }\n });\n\n const startDate = new Date(Date.parse(this.starDateValue));\n const endDate = new Date(Date.parse(this.endDateValue));\n\n for (var d = startDate; d <= endDate; d.setDate(d.getDate() + 1)) {\n const i = this.daysArr.findIndex(item => parseInt(item.value) === d.getDay());\n\n if (this.daysArr[i]?.selected) {\n const year = d.getFullYear();\n const month = (d.getMonth() + 1).toString().padStart(2, '0');\n const day = d.getDate().toString().padStart(2, '0');\n this.generatedDatesArr.push(`${year}-${month}-${day}`);\n }\n }\n }\n }\n\n deleteGeneratedDateRow(index) {\n this.generatedDatesArr.splice(index, 1);\n this.generatedDatesArr = [...this.generatedDatesArr];\n }\n\n saveGeneratedDates() {\n if (this.generatedDatesArr?.length) {\n this.dateValue = String(this.generatedDatesArr);\n const dateCount = this.generatedDatesArr.length;\n const buttonTextElm = this.pnShowDateRangeFiledButton.querySelector('.pn-button-content');\n buttonTextElm.innerHTML = dateCount > 0 ? `${this.dateButtonText} (${dateCount})` : this.dateButtonText;\n this.showDateRangeRow();\n }\n }\n\n setSingleDateValue(e) {\n const elm = e.target;\n if (elm === this.pnSingleDatePicker) {\n this.dateValue = e.detail;\n }\n }\n\n emittRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n buttons: this.buttonsArray,\n firstDropdown: this.firstDropdownArr,\n secondDropdown: this.secondDropdownArr,\n input: this.inputFieldValue,\n dates: this.dateValue,\n dateRange: {\n days: this.daysArr,\n startDate: this.starDateValue,\n endDate: this.endDateValue,\n },\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n setActive(active: boolean) {\n return active ? 'connected-dropdown__button active' : 'connected-dropdown__button';\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.pnConnectedDropdownSlotElement = el as HTMLElement)} class=\"connected-dropdown-slot-element\">\n <div class=\"connected-dropdown-parent-element connected-dropdown\">\n <div class=\"connected-dropdown__row__no-margin\">\n <label>{this.label}</label>\n </div>\n\n <div class=\"connected-dropdown__row button-row\">\n <div class=\"connected-dropdown__button-container option-buttons\">\n {this.buttonsArray?.map(item => (\n <button class={`${this.setActive(item.selected)}`} id={this.generateUniqueId()} onClick={this.handleOptionButtonClick.bind(this)}>\n {item.value}\n </button>\n ))}\n </div>\n\n <div class=\"connected-dropdown__button-container delete-button\">\n {this.index > 0 ? (\n <pn-button ref={el => (this.pnDeleteRowButton = el as HTMLElement)} small=\"true\" icon={minus} appearance=\"warning\" index={this.index}>\n Delete\n </pn-button>\n ) : null}\n </div>\n </div>\n\n <div class=\"connected-dropdown__row input-row\">\n <pn-select\n ref={el => (this.pnFirstDropdown = el as HTMLElement)}\n class=\"pn-row-select-dropdown dropDown1-dropdown\"\n placeholder={this.firstDropdownPlaceholder}\n label={this.firstDropdownLabel}\n empty-option=\"true\"\n >\n {this.firstDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item.label} value={item.value} selected={item.selected} onClick={debounce(this.handleFirstDropdownChange.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n\n <pn-select\n ref={el => (this.pnSecondDropdown = el as HTMLElement)}\n class=\"pn-row-select-dropdown dropDown2-dropdown\"\n placeholder={this.secondDropdownPlaceholder}\n label={this.secondDropdownLabel}\n empty-option=\"true\"\n >\n {this.secondDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item.label} value={item.value} selected={item.selected} onClick={debounce(this.handleSecondDropdownChange.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n\n <pn-marketweb-input\n ref={el => (this.pnInputField = el as HTMLElement)}\n type=\"number\"\n placeholder=\"0\"\n label={this.inputFildLabel}\n value={this.inputFieldValue}\n min=\"1\"\n ></pn-marketweb-input>\n\n {this.allowMultipleDates ? (\n <pn-button ref={el => (this.pnShowDateRangeFiledButton = el as HTMLElement)} class=\"connected-dropdown__toggle-date-button\" small=\"true\" appearance=\"light\">\n {this.dateButtonText}\n </pn-button>\n ) : (\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.dateButtonText}</label>\n </div>\n <pn-date-picker\n ref={el => (this.pnSingleDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n min-date={this.firstValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n class=\"connected-dropdown__date-picker\"\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n )}\n </div>\n\n {this.allowMultipleDates ? (\n <div ref={el => (this.pnDateRangeContainer = el as HTMLElement)} class=\"connected-dropdown__date-container\" style={{ display: 'none' }}>\n {this.multiDateHelperText ? (\n <div class=\"connected-dropdown__row\">\n <p>{this.multiDateHelperText}</p>\n </div>\n ) : null}\n\n <div class=\"connected-dropdown__multi-date-row\">\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.startDateLabel}</label>\n </div>\n\n <pn-date-picker\n ref={el => (this.pnStartDate = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n class=\"connected-dropdown__date-picker\"\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.starDateValue?.length ? this.starDateValue : null}\n ></pn-date-picker>\n </div>\n\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.endDateLabel}</label>\n </div>\n <pn-date-picker\n ref={el => (this.pnEndDate = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n class=\"connected-dropdown__date-picker\"\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.endDateValue?.length ? this.endDateValue : null}\n ></pn-date-picker>\n </div>\n </div>\n <div ref={el => (this.pnDaysRow = el as HTMLElement)} class=\"connected-dropdown__multi-date-row\">\n {this.daysArr?.map((day: SelectItem) => (\n <div class=\"connected-dropdown__checkbox\">\n <pn-filter-checkbox checkboxid={'day-' + day.value} name={'__' + day.label} value={day.value} checked={day.selected}></pn-filter-checkbox>\n <label htmlFor={'day-' + day.value}>{day.label}</label>\n </div>\n ))}\n </div>\n\n <div class=\"connected-dropdown__row\">\n <pn-button ref={el => (this.pnGenerateDatesButton = el as HTMLElement)} small=\"true\">\n {this.generateDatesButtonText}\n </pn-button>\n </div>\n\n <div ref={el => (this.pnGeneratedDatesSlot = el as HTMLElement)} class=\"connected-dropdown__date-slot\">\n {this.generatedDatesArr?.map((date: string, i) => (\n <div class=\"connected-dropdown__row generated-date-row\">\n <p>{date}</p>\n <pn-button index={i} small=\"true\" icon={minus} appearance=\"warning\" id={'delete-date-' + i} onClick={this.deleteGeneratedDateRow.bind(this, i)}>\n {date}\n </pn-button>\n </div>\n ))}\n\n {!this.generatedDatesArr?.length ? <p>{this.noDatesText}</p> : null}\n </div>\n\n <div class=\"connected-dropdown__row\">\n <pn-button ref={el => (this.pnSaveGeneratedDatesButton = el as HTMLElement)} class=\"connected-dropdown__button-right\" small=\"true\">\n {this.saveDateButtonText}\n </pn-button>\n </div>\n </div>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|