@postnord/pn-marketweb-components 3.3.4 → 3.3.5
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-charts-card.cjs.entry.js +1 -1
- package/cjs/pn-charts-card.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js +2 -2
- package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +20 -19
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +2 -2
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +1 -1
- package/collection/components/charts/pn-charts-card/pn-charts-card.js +1 -1
- package/collection/components/charts/pn-charts-card/pn-charts-card.js.map +1 -1
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.js +2 -2
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.js.map +1 -1
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js +20 -19
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.stories.js +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.css +5 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.js +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js +23 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js.map +1 -1
- package/components/pn-charts-card.js +1 -1
- package/components/pn-charts-card.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows-row2.js +2 -2
- package/components/pn-dropdown-with-multi-input-rows-row2.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows.js +20 -19
- package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-linklist2.js +2 -2
- package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
- package/esm/pn-charts-card.entry.js +1 -1
- package/esm/pn-charts-card.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows-row.entry.js +2 -2
- package/esm/pn-dropdown-with-multi-input-rows-row.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows.entry.js +21 -20
- package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js +2 -2
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +1 -1
- package/package.json +1 -1
- package/pn-market-web-components/p-27be422f.entry.js +2 -0
- package/pn-market-web-components/p-27be422f.entry.js.map +1 -0
- package/pn-market-web-components/{p-d40ff187.entry.js → p-5845b81b.entry.js} +2 -2
- package/pn-market-web-components/p-5845b81b.entry.js.map +1 -0
- package/pn-market-web-components/p-85f1e4c3.entry.js +2 -0
- package/pn-market-web-components/p-85f1e4c3.entry.js.map +1 -0
- package/pn-market-web-components/{p-190c671b.entry.js → p-a8618acd.entry.js} +2 -2
- package/pn-market-web-components/{p-190c671b.entry.js.map → p-a8618acd.entry.js.map} +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/types/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.d.ts +1 -0
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.d.ts +1 -0
- package/pn-market-web-components/p-781ef432.entry.js +0 -2
- package/pn-market-web-components/p-781ef432.entry.js.map +0 -1
- package/pn-market-web-components/p-b2dcce7c.entry.js +0 -2
- package/pn-market-web-components/p-b2dcce7c.entry.js.map +0 -1
- package/pn-market-web-components/p-d40ff187.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-dropdown-with-multi-input-rows-row.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.scss?tag=pn-dropdown-with-multi-input-rows-row","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows-row {\n .input-element-row {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n\n .input-container {\n width: 30%;\n\n pn-marketweb-input {\n .input-container {\n width: 100%;\n }\n }\n\n pn-date-picker {\n width: 100%;\n }\n\n .input-element-message-container {\n margin-top: 0.3rem;\n &__error {\n color: red;\n line-height: 1;\n }\n\n &__warning {\n line-height: 1;\n }\n }\n }\n }\n\n .delete-button-contianer {\n margin-top: 0.6rem;\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 debounce from 'debounce';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows-row',\n styleUrl: 'pn-dropdown-with-multi-input-rows-row.scss',\n})\nexport class PnDropdownWithMultiInputRowsRow {\n @Element() hostElement: Element;\n private _predefinedValue: PredefinedValues;\n pnFirstInputField: HTMLElement = null;\n pnSecondInputField: HTMLElement = null;\n pnDatePicker: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() languageCode: 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() 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() firstValidDate: string = null;\n @Prop() lastValidDate: string = null;\n @Prop() predefinedValue: string = null;\n @Prop() rowIndex: number = null;\n @Prop() minRowCount: number = null;\n\n @State() showFirstInputWarning: boolean = false;\n @State() showFirstInputLowError: boolean = false;\n @State() showFirstInputHighError: boolean = false;\n @State() showSecondInputWarning: boolean = false;\n @State() showSecondInputLowError: boolean = false;\n @State() showSecondInputHighError: boolean = false;\n\n @State() firstInputValue: string = '';\n @State() secondInputValue: string = '';\n @State() dateValue: string = '';\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n @Event() firstInputChange: EventEmitter<PredefinedValues>;\n @Event() secondInputChange: EventEmitter<PredefinedValues>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.addEventHandlers();\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 if (this.firstInputValue?.length) {\n this.validateFirstInput(parseInt(this.firstInputValue));\n }\n\n if (this.secondInputValue?.length) {\n this.validateSecondInput(parseInt(this.secondInputValue));\n }\n\n if (this.rowIndex >= this.minRowCount) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n setInitialValues() {\n this.firstInputValue = this._predefinedValue.firstInput;\n this.secondInputValue = this._predefinedValue.secondInput;\n this.dateValue = this._predefinedValue.date;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emitRowValues.bind(this), 500);\n this.pnFirstInputField.addEventListener('keyup', debounce(this.handleFirstInput.bind(this), 500));\n this.pnSecondInputField.addEventListener('keyup', debounce(this.handleSecondInput.bind(this), 500));\n this.pnDatePicker.addEventListener('dateselection', this.handleDateChange.bind(this));\n this.pnDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n handleFirstInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.firstInputValue = elm.value;\n this.firstInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateFirstInput(value);\n this.emitRowValues();\n }\n\n handleSecondInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.secondInputValue = elm.value;\n this.secondInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateSecondInput(value);\n this.emitRowValues();\n }\n\n validateFirstInput(input: number) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = false;\n\n if (input < this.firstInputWarning) {\n this.showFirstInputWarning = true;\n }\n\n if (input < this.firstInputMin) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = true;\n }\n\n if (input > this.firstInputMax) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = true;\n }\n }\n\n validateSecondInput(input: number) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = false;\n\n if (input < this.secondInputWarning) {\n this.showSecondInputWarning = true;\n }\n\n if (input < this.secondInputMin) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = true;\n }\n\n if (input > this.secondInputMax) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = true;\n }\n }\n\n handleDateChange(e) {\n const elm = e.target;\n if (elm === this.pnDatePicker) {\n this.dateValue = e.detail;\n }\n }\n\n emitRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n render() {\n return (\n <Host>\n <div class=\"input-element-row\">\n <div class=\"input-container\">\n <pn-marketweb-input\n ref={el => (this.pnFirstInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.fristInputPlaceholder}\n value={this.firstInputValue}\n min=\"1\"\n ></pn-marketweb-input>\n {this.showFirstInputLowError || this.showFirstInputHighError || this.showFirstInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showFirstInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.firstInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-marketweb-input\n ref={el => (this.pnSecondInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.secondInputPlaceholder}\n value={this.secondInputValue}\n min=\"1\"\n ></pn-marketweb-input>\n {this.showSecondInputLowError || this.showSecondInputHighError || this.showSecondInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showSecondInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.secondInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n min-date={this.firstValidDate}\n max-date={this.lastValidDate}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n\n {this.rowIndex >= this.minRowCount ? (\n <div class=\"delete-button-contianer\">\n <pn-button\n ref={el => (this.pnDeleteRowButton = el as HTMLElement)}\n small=\"true\"\n icon={minus}\n appearance=\"warning\"\n index={this.rowIndex}\n onClick={() => {\n this.deleteRow();\n }}\n >\n Delete\n </pn-button>\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-dropdown-with-multi-input-rows-row.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.scss?tag=pn-dropdown-with-multi-input-rows-row","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows-row {\n .input-element-row {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n\n .input-container {\n width: 30%;\n\n pn-marketweb-input {\n .input-container {\n width: 100%;\n }\n }\n\n pn-date-picker {\n width: 100%;\n }\n\n .input-element-message-container {\n margin-top: 0.3rem;\n &__error {\n color: red;\n line-height: 1;\n }\n\n &__warning {\n line-height: 1;\n }\n }\n }\n }\n\n .delete-button-contianer {\n margin-top: 0.6rem;\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 debounce from 'debounce';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows-row',\n styleUrl: 'pn-dropdown-with-multi-input-rows-row.scss',\n})\nexport class PnDropdownWithMultiInputRowsRow {\n @Element() hostElement: Element;\n private _predefinedValue: PredefinedValues;\n pnFirstInputField: HTMLElement = null;\n pnSecondInputField: HTMLElement = null;\n pnDatePicker: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() languageCode: 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() 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() firstValidDate: string = null;\n @Prop() lastValidDate: string = null;\n @Prop() predefinedValue: string = null;\n @Prop() rowIndex: number = null;\n @Prop() minRowCount: number = null;\n\n @State() showFirstInputWarning: boolean = false;\n @State() showFirstInputLowError: boolean = false;\n @State() showFirstInputHighError: boolean = false;\n @State() showSecondInputWarning: boolean = false;\n @State() showSecondInputLowError: boolean = false;\n @State() showSecondInputHighError: boolean = false;\n\n @State() firstInputValue: string = '';\n @State() secondInputValue: string = '';\n @State() dateValue: string = '';\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n @Event() firstInputChange: EventEmitter<PredefinedValues>;\n @Event() secondInputChange: EventEmitter<PredefinedValues>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.addEventHandlers();\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 if (this.firstInputValue?.length) {\n this.validateFirstInput(parseInt(this.firstInputValue));\n }\n\n if (this.secondInputValue?.length) {\n this.validateSecondInput(parseInt(this.secondInputValue));\n }\n\n if (this.rowIndex >= this.minRowCount) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n setInitialValues() {\n this.firstInputValue = this._predefinedValue.firstInput;\n this.secondInputValue = this._predefinedValue.secondInput;\n this.dateValue = this._predefinedValue.date;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emitRowValues.bind(this), 500);\n this.pnFirstInputField.addEventListener('keyup', debounce(this.handleFirstInput.bind(this), 500));\n this.pnSecondInputField.addEventListener('keyup', debounce(this.handleSecondInput.bind(this), 500));\n this.pnDatePicker.addEventListener('dateselection', this.handleDateChange.bind(this));\n this.pnDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n handleFirstInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.firstInputValue = elm.value;\n this.firstInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateFirstInput(value);\n this.emitRowValues();\n }\n\n handleSecondInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.secondInputValue = elm.value;\n this.secondInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateSecondInput(value);\n this.emitRowValues();\n }\n\n validateFirstInput(input: number) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = false;\n\n if (input < this.firstInputWarning) {\n this.showFirstInputWarning = true;\n }\n\n if (input < this.firstInputMin) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = true;\n }\n\n if (input > this.firstInputMax) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = true;\n }\n }\n\n validateSecondInput(input: number) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = false;\n\n if (input < this.secondInputWarning) {\n this.showSecondInputWarning = true;\n }\n\n if (input < this.secondInputMin) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = true;\n }\n\n if (input > this.secondInputMax) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = true;\n }\n }\n\n handleDateChange(e) {\n const elm = e.target;\n if (elm === this.pnDatePicker) {\n this.dateValue = e.detail.start;\n }\n }\n\n emitRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n render() {\n return (\n <Host>\n <div class=\"input-element-row\">\n <div class=\"input-container\">\n <pn-marketweb-input\n ref={el => (this.pnFirstInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.fristInputPlaceholder}\n value={this.firstInputValue}\n min=\"1\"\n ></pn-marketweb-input>\n {this.showFirstInputLowError || this.showFirstInputHighError || this.showFirstInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showFirstInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.firstInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-marketweb-input\n ref={el => (this.pnSecondInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.secondInputPlaceholder}\n value={this.secondInputValue}\n min=\"1\"\n ></pn-marketweb-input>\n {this.showSecondInputLowError || this.showSecondInputHighError || this.showSecondInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showSecondInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.secondInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n min-date={this.firstValidDate}\n max-date={this.lastValidDate}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n\n {this.rowIndex >= this.minRowCount ? (\n <div class=\"delete-button-contianer\">\n <pn-button\n ref={el => (this.pnDeleteRowButton = el as HTMLElement)}\n small=\"true\"\n icon={minus}\n appearance=\"warning\"\n index={this.rowIndex}\n onClick={() => {\n this.deleteRow();\n }}\n >\n Delete\n </pn-button>\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as getElement, r as registerInstance, c as createEvent, h, d as Host } from './index-fa51bde4.js';
|
|
2
2
|
import { d as debounce } from './index-1093ae90.js';
|
|
3
3
|
import { p as plus } from './plus-7ee93ae7.js';
|
|
4
4
|
import { v as v4 } from './v4-964634d6.js';
|
|
@@ -7,6 +7,16 @@ const pnDropdownWithMultiInputRowsCss = "pn-button-dropdown .pn-button-dropdown>
|
|
|
7
7
|
const PnDropdownWithMultiInputRowsStyle0 = pnDropdownWithMultiInputRowsCss;
|
|
8
8
|
|
|
9
9
|
const PnDropdownWithMultiInputRows = class {
|
|
10
|
+
get hostElement() { return getElement(this); }
|
|
11
|
+
pnFirstDropdown = null;
|
|
12
|
+
pnSecondDropdown = null;
|
|
13
|
+
pnSumField = null;
|
|
14
|
+
pnConfirmDeleteButton = null;
|
|
15
|
+
pnAbortDeleteButton = null;
|
|
16
|
+
allFormValues;
|
|
17
|
+
_firstDropdownSelection = null;
|
|
18
|
+
_secondDropdownSelection = null;
|
|
19
|
+
_defaultRow;
|
|
10
20
|
constructor(hostRef) {
|
|
11
21
|
registerInstance(this, hostRef);
|
|
12
22
|
this.allFormValues = createEvent(this, "allFormValues", 7);
|
|
@@ -53,22 +63,13 @@ const PnDropdownWithMultiInputRows = class {
|
|
|
53
63
|
this.rowSum = null;
|
|
54
64
|
this.minRowCount = null;
|
|
55
65
|
this.showDelteConfirm = false;
|
|
66
|
+
this._defaultRow = {
|
|
67
|
+
id: this.generateUniqueId(),
|
|
68
|
+
firstInput: '',
|
|
69
|
+
secondInput: this.secondInputWarning !== null ? this.secondInputWarning.toString() : '',
|
|
70
|
+
date: '',
|
|
71
|
+
};
|
|
56
72
|
}
|
|
57
|
-
get hostElement() { return getElement(this); }
|
|
58
|
-
pnFirstDropdown = null;
|
|
59
|
-
pnSecondDropdown = null;
|
|
60
|
-
pnSumField = null;
|
|
61
|
-
pnConfirmDeleteButton = null;
|
|
62
|
-
pnAbortDeleteButton = null;
|
|
63
|
-
allFormValues;
|
|
64
|
-
_firstDropdownSelection = null;
|
|
65
|
-
_secondDropdownSelection = null;
|
|
66
|
-
_defaultRow = {
|
|
67
|
-
id: this.generateUniqueId(),
|
|
68
|
-
firstInput: '',
|
|
69
|
-
secondInput: this.secondInputWarning.toString(),
|
|
70
|
-
date: '',
|
|
71
|
-
};
|
|
72
73
|
componentWillLoad() {
|
|
73
74
|
this.formValues = [];
|
|
74
75
|
this.setDropDownData();
|
|
@@ -161,7 +162,7 @@ const PnDropdownWithMultiInputRows = class {
|
|
|
161
162
|
this.dropdownDataRoot.forEach(element => {
|
|
162
163
|
element.checked = false;
|
|
163
164
|
});
|
|
164
|
-
const selectionRoot = this.dropdownDataRoot.find(x => x.
|
|
165
|
+
const selectionRoot = this.dropdownDataRoot.find(x => x.value?.toString() === selectedValue);
|
|
165
166
|
selectionRoot.checked = true;
|
|
166
167
|
this._firstDropdownSelection = selectionRoot.label;
|
|
167
168
|
this.minRowCount = selectionRoot.value;
|
|
@@ -284,7 +285,7 @@ const PnDropdownWithMultiInputRows = class {
|
|
|
284
285
|
const secondInputValue = { name: this.secondInputLabel, value: item.secondInput };
|
|
285
286
|
rowValue.row.push(secondInputValue);
|
|
286
287
|
}
|
|
287
|
-
if (item.date
|
|
288
|
+
if (item.date) {
|
|
288
289
|
const dateValue = { name: this.dateLabel, value: item.date };
|
|
289
290
|
rowValue.row.push(dateValue);
|
|
290
291
|
}
|
|
@@ -301,9 +302,9 @@ const PnDropdownWithMultiInputRows = class {
|
|
|
301
302
|
}
|
|
302
303
|
}
|
|
303
304
|
render() {
|
|
304
|
-
return (h(Host, { key: '
|
|
305
|
+
return (h(Host, { key: '0a39e32ed3f2a2a59f5b9d9a5e4841a03f8ebef3', class: "dropdown-with-multi-input-elemet" }, h("div", { key: 'aa6de4df4b8bc9be801539b9839b9e090088c589', class: "dropdown-with-multi-input-elemet__row" }, h("div", { key: 'b8d7dc7e35aeb5b92f08393eb829d390e15f3abe' }, h("pn-select", { key: '7d30c9249a523e4b9a8a4435668cc37dee57398d', ref: el => (this.pnFirstDropdown = el), class: "pn-row-select-dropdown dropDown1-dropdown", label: this.firstDropdownLabel, "empty-option": "true", language: this.languageCode }, this.dropdownDataRoot?.map((item, i) => (h("pn-option", { index: i, label: item.value, value: item.value, selected: item.checked, onClick: debounce(this.handleFirstDropdown.bind(this), 500) })))), this.firstDropdownHelperText?.length ? h("small", null, this.firstDropdownHelperText) : null)), h("div", { key: 'd1732d071e4244f3c27a52db59b6bb74015ba28b', class: "dropdown-with-multi-input-elemet__row" }, h("div", { key: '4c57f1f5048669473f326476735b8440535a1aa2' }, h("pn-select", { key: '58980dea2e4545efe141837a8454f0860505bb6f', ref: el => (this.pnSecondDropdown = el), class: "pn-row-select-dropdown dropDown2-dropdown", label: this.secondDropdownLabel, "empty-option": "true", language: this.languageCode }, this.secondDropdownArr?.map((item, i) => (h("pn-option", { index: i, label: item, value: item, selected: item === this._secondDropdownSelection, onClick: debounce(this.handleSecondDropdown.bind(this), 500) })))), this.secondDropdownHelperText?.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: '023ffe29ad8465a3c139903f44f8d825290f0946', class: "dropdown-with-multi-input-elemet__label-row" }, h("div", { key: '7a590ad0801b14933b1104b9e7d10d595174d194', class: "dropdown-with-multi-input-elemet__label" }, h("label", { key: '352cca674f5282f4ad0e3c0aec8307e23288b9ca' }, this.fristInputLabel)), h("div", { key: '6cc82e56ca355d23dfe1bdaf814875f1c02cebd7', class: "dropdown-with-multi-input-elemet__label" }, h("label", { key: '3421119a657ec0891c1c429a73ed5c092f80f18d' }, this.secondInputLabel)), h("div", { key: '9ad9a6e01eb8d5ac2788a22e42ae240f570566a0', class: "dropdown-with-multi-input-elemet__label" }, h("label", { key: '6909d759977802e1cedeb92c35dfee9ffc12c01d' }, this.dateLabel))), this.rowData?.map((data, i) => {
|
|
305
306
|
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 })));
|
|
306
|
-
}), h("div", { key: '
|
|
307
|
+
}), h("div", { key: '878ef1b83a0090520ab84450a1b80b0c5529a610', class: "dropdown-with-multi-input-elemet__row sum-row" }, h("pn-marketweb-input", { key: 'aab23b9eb8616d1e737ddc8bfd06dcc56d89bf72', disabled: true, ref: el => (this.pnSumField = el), type: "number", value: this.rowSum, label: this.sumFieldLabel }), h("pn-button", { key: '1c98a7886cad539d6fea5689696006850fff6d5b', tooltip: this.addRowText ? this.addRowText : null, "left-icon": "true", arialabel: "Add", icon: plus, appearance: "light", variant: "borderless", class: "connected-dropdown__button-right", onClick: () => {
|
|
307
308
|
this.addRow(this.generateUniqueId());
|
|
308
309
|
} }, this.addRowText)), this.elementHelperText?.length ? h("div", { class: "dropdown-with-multi-input-elemet__row" }, this.elementHelperText) : null));
|
|
309
310
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-dropdown-with-multi-input-rows.entry.js","mappings":"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","names":["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\" language={this.languageCode}>\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\" language={this.languageCode}>\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.entry.js","mappings":"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","names":["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\n constructor() {\n this._defaultRow = {\n id: this.generateUniqueId(),\n firstInput: '',\n secondInput: this.secondInputWarning !== null ? this.secondInputWarning.toString() : '',\n date: '',\n };\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 const selectionRoot = this.dropdownDataRoot.find(x => x.value?.toString() === 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 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) {\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\" language={this.languageCode}>\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\" language={this.languageCode}>\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}
|
|
@@ -6,7 +6,7 @@ import './index-a11fc165.js';
|
|
|
6
6
|
const icon = '<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M21.78 11.375a1 1 0 0 1 0 1.25l-4 5a1 1 0 1 1-1.56-1.25L18.92 13H7a1 1 0 1 1 0-2h11.92l-2.7-3.375a1 1 0 1 1 1.56-1.25zM11 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3z" clip-rule="evenodd"/></svg>';
|
|
7
7
|
const transfer = icon;
|
|
8
8
|
|
|
9
|
-
const pnMarketwebSiteheaderLoginLinklistCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-marketweb-siteheader-login-linklist{display:flex;flex-direction:column}pn-marketweb-siteheader-login-linklist strong{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul{list-style-type:none;padding:0;margin:0}pn-marketweb-siteheader-login-linklist ul>li{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul>li a:not(.pn-button){color:#005d92}pn-marketweb-siteheader-login-linklist ul>li a{text-decoration:none;font-size:1.6rem;line-height:1.5;font-weight:500}pn-marketweb-siteheader-login-linklist ul>li pn-icon{padding-left:0.8rem}pn-marketweb-siteheader-login-linklist ul>li pn-icon svg>path{fill:#005d92 !important}pn-marketweb-siteheader-login-linklist ul>li:hover a{text-decoration:underline}pn-marketweb-siteheader-login-linklist ul>li:last-of-type{margin-bottom:0}";
|
|
9
|
+
const pnMarketwebSiteheaderLoginLinklistCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-marketweb-siteheader-login-linklist{display:flex;flex-direction:column}pn-marketweb-siteheader-login-linklist .pn-marketweb-siteheader-login-linklist-heading{font-weight:500;font-size:1.6rem;margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist strong{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul{list-style-type:none;padding:0;margin:0}pn-marketweb-siteheader-login-linklist ul>li{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul>li a:not(.pn-button){color:#005d92}pn-marketweb-siteheader-login-linklist ul>li a{text-decoration:none;font-size:1.6rem;line-height:1.5;font-weight:500}pn-marketweb-siteheader-login-linklist ul>li pn-icon{padding-left:0.8rem}pn-marketweb-siteheader-login-linklist ul>li pn-icon svg>path{fill:#005d92 !important}pn-marketweb-siteheader-login-linklist ul>li:hover a{text-decoration:underline}pn-marketweb-siteheader-login-linklist ul>li:last-of-type{margin-bottom:0}";
|
|
10
10
|
const PnMarketwebSiteheaderLoginLinklistStyle0 = pnMarketwebSiteheaderLoginLinklistCss;
|
|
11
11
|
|
|
12
12
|
const PnMarketwebSiteheaderLoginLinklist = class {
|
|
@@ -74,7 +74,7 @@ const PnMarketwebSiteheaderLoginLinklist = class {
|
|
|
74
74
|
if (!this.links || this.links.length === 0) {
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
|
-
return (h(Host, null, this.heading ? h("
|
|
77
|
+
return (h(Host, null, this.heading ? h("h4", { class: "pn-marketweb-siteheader-login-linklist-heading" }, this.heading) : null, h("ul", null, this.links.map(link => {
|
|
78
78
|
{
|
|
79
79
|
return this.showUnifiedLogin ? this.renderListAsLinks(link) : this.renderListAsButtons(link);
|
|
80
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-marketweb-siteheader-login-linklist.entry.js","mappings":";;;;;AAAA,MAAM,IAAI,GAAG,gcAAgc,CAAC;AACvc,MAAM,QAAQ,GAAG,IAAI;;ACD5B,MAAM,qCAAqC,GAAG,
|
|
1
|
+
{"file":"pn-marketweb-siteheader-login-linklist.entry.js","mappings":"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","names":["headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/transfer.js","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.scss?tag=pn-marketweb-siteheader-login-linklist","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M21.78 11.375a1 1 0 0 1 0 1.25l-4 5a1 1 0 1 1-1.56-1.25L18.92 13H7a1 1 0 1 1 0-2h11.92l-2.7-3.375a1 1 0 1 1 1.56-1.25zM11 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3z\" clip-rule=\"evenodd\"/></svg>';\nexport const transfer = icon;\n","@import '../../../globals/main.scss';\n\n@import './pn-marketweb-siteheader-common.scss';\n\npn-marketweb-siteheader-login-linklist {\n display: flex;\n flex-direction: column;\n\n .pn-marketweb-siteheader-login-linklist-heading {\n font-weight: 500;\n font-size: 1.6rem;\n margin-bottom: 2.4rem;\n }\n \n strong {\n margin-bottom: 2.4rem;\n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0;\n }\n\n ul > li {\n margin-bottom: 2.4rem;\n a:not(.pn-button) {\n color: $blue700;\n }\n\n a {\n text-decoration: none;\n font-size: 1.6rem;\n line-height: 1.5;\n font-weight: 500;\n }\n\n pn-icon {\n padding-left: 0.8rem;\n svg > path {\n fill: $blue700 !important;\n }\n }\n\n &:hover {\n a {\n text-decoration: underline;\n }\n }\n\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n}\n/* } */\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialogLink } from './pn-marketweb-siteheader-types';\nimport { arrow_right, transfer } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login-linklist',\n styleUrl: 'pn-marketweb-siteheader-login-linklist.scss',\n})\nexport class PnMarketwebSiteheaderLoginLinklist {\n @Element() hostElement: HTMLElement;\n\n @Prop() heading: string = null;\n @Prop() links: LoginDialogLink[] = [];\n @Prop() idNamespace: string = '';\n @Prop() showUnifiedLogin: boolean = false;\n\n componentWillLoad() {}\n\n uniqueId(text: string) {\n return 'loginlink-' + text.replace(/[^A-Za-z0-9.\\\\\\/]/gim, '') + '-' + this.idNamespace;\n }\n\n linkAppearanceAttributes(link) {\n let attributes = {};\n if (link.linkType) {\n switch (link.linkType) {\n case 'primary':\n attributes = {\n appearance: '',\n variant: '',\n };\n break;\n case 'secondary':\n attributes = {\n appearance: 'light',\n variant: 'outlined',\n };\n break;\n case 'regularlink':\n default:\n attributes = {\n appearance: 'light',\n variant: 'borderless',\n icon: arrow_right,\n };\n break;\n }\n return attributes;\n }\n if (!link.linkType) {\n attributes = {\n appearance: link.primaryLinkApperance ? 'dark' : 'light',\n };\n }\n return attributes;\n }\n\n renderListAsButtons(link) {\n return (\n <li>\n <pn-button\n href={link.href}\n id={this.uniqueId(link.linkText)}\n {...(link.openInNewWindow && { target: '_blank' })}\n {...this.linkAppearanceAttributes(link)}\n onClick={() => {\n if (link.isLogoutLink) {\n headerState.loginManager.clearUserData();\n }\n }}\n >\n {link.linkText}\n </pn-button>\n </li>\n );\n }\n\n renderListAsLinks(link) {\n return (\n <li>\n <a\n href={link.href}\n id={this.uniqueId(link.linkText)}\n {...(link.openInNewWindow && { target: '_blank' })}\n onClick={() => {\n if (link.isLogoutLink) {\n headerState.loginManager.clearUserData();\n }\n }}\n >\n {link.linkText}\n {link.isLogoutLink ? <pn-icon icon={transfer}></pn-icon> : <pn-icon icon={arrow_right}></pn-icon>}\n </a>\n </li>\n );\n }\n\n render() {\n if (!this.links || this.links.length === 0) {\n return;\n }\n return (\n <Host>\n {this.heading ? <h4 class=\"pn-marketweb-siteheader-login-linklist-heading\">{this.heading}</h4> : null}\n <ul>\n {this.links.map(link => {\n {\n return this.showUnifiedLogin ? this.renderListAsLinks(link) : this.renderListAsButtons(link);\n }\n })}\n </ul>\n </Host>\n );\n }\n}\n"],"version":3}
|
package/package.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,g as i,h as t,d as n}from"./p-06555615.js";import{s as l}from"./p-07edd5e4.js";import{a}from"./p-36b39340.js";import"./p-3f8aa7d1.js";const r='<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M21.78 11.375a1 1 0 0 1 0 1.25l-4 5a1 1 0 1 1-1.56-1.25L18.92 13H7a1 1 0 1 1 0-2h11.92l-2.7-3.375a1 1 0 1 1 1.56-1.25zM11 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3z" clip-rule="evenodd"/></svg>';const s=r;const o="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-marketweb-siteheader-login-linklist{display:flex;flex-direction:column}pn-marketweb-siteheader-login-linklist .pn-marketweb-siteheader-login-linklist-heading{font-weight:500;font-size:1.6rem;margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist strong{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul{list-style-type:none;padding:0;margin:0}pn-marketweb-siteheader-login-linklist ul>li{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul>li a:not(.pn-button){color:#005d92}pn-marketweb-siteheader-login-linklist ul>li a{text-decoration:none;font-size:1.6rem;line-height:1.5;font-weight:500}pn-marketweb-siteheader-login-linklist ul>li pn-icon{padding-left:0.8rem}pn-marketweb-siteheader-login-linklist ul>li pn-icon svg>path{fill:#005d92 !important}pn-marketweb-siteheader-login-linklist ul>li:hover a{text-decoration:underline}pn-marketweb-siteheader-login-linklist ul>li:last-of-type{margin-bottom:0}";const p=o;const h=class{constructor(i){e(this,i);this.heading=null;this.links=[];this.idNamespace="";this.showUnifiedLogin=false}get hostElement(){return i(this)}componentWillLoad(){}uniqueId(e){return"loginlink-"+e.replace(/[^A-Za-z0-9.\\\/]/gim,"")+"-"+this.idNamespace}linkAppearanceAttributes(e){let i={};if(e.linkType){switch(e.linkType){case"primary":i={appearance:"",variant:""};break;case"secondary":i={appearance:"light",variant:"outlined"};break;case"regularlink":default:i={appearance:"light",variant:"borderless",icon:a};break}return i}if(!e.linkType){i={appearance:e.primaryLinkApperance?"dark":"light"}}return i}renderListAsButtons(e){return t("li",null,t("pn-button",{href:e.href,id:this.uniqueId(e.linkText),...e.openInNewWindow&&{target:"_blank"},...this.linkAppearanceAttributes(e),onClick:()=>{if(e.isLogoutLink){l.loginManager.clearUserData()}}},e.linkText))}renderListAsLinks(e){return t("li",null,t("a",{href:e.href,id:this.uniqueId(e.linkText),...e.openInNewWindow&&{target:"_blank"},onClick:()=>{if(e.isLogoutLink){l.loginManager.clearUserData()}}},e.linkText,e.isLogoutLink?t("pn-icon",{icon:s}):t("pn-icon",{icon:a})))}render(){if(!this.links||this.links.length===0){return}return t(n,null,this.heading?t("h4",{class:"pn-marketweb-siteheader-login-linklist-heading"},this.heading):null,t("ul",null,this.links.map((e=>{{return this.showUnifiedLogin?this.renderListAsLinks(e):this.renderListAsButtons(e)}}))))}};h.style=p;export{h as pn_marketweb_siteheader_login_linklist};
|
|
2
|
+
//# sourceMappingURL=p-27be422f.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["icon","transfer","pnMarketwebSiteheaderLoginLinklistCss","PnMarketwebSiteheaderLoginLinklistStyle0","PnMarketwebSiteheaderLoginLinklist","componentWillLoad","uniqueId","text","replace","this","idNamespace","linkAppearanceAttributes","link","attributes","linkType","appearance","variant","arrow_right","primaryLinkApperance","renderListAsButtons","h","href","id","linkText","openInNewWindow","target","onClick","isLogoutLink","headerState","loginManager","clearUserData","renderListAsLinks","render","links","length","Host","heading","class","map","showUnifiedLogin"],"sources":["node_modules/pn-design-assets/pn-assets/icons/transfer.js","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.scss?tag=pn-marketweb-siteheader-login-linklist","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M21.78 11.375a1 1 0 0 1 0 1.25l-4 5a1 1 0 1 1-1.56-1.25L18.92 13H7a1 1 0 1 1 0-2h11.92l-2.7-3.375a1 1 0 1 1 1.56-1.25zM11 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3z\" clip-rule=\"evenodd\"/></svg>';\nexport const transfer = icon;\n","@import '../../../globals/main.scss';\n\n@import './pn-marketweb-siteheader-common.scss';\n\npn-marketweb-siteheader-login-linklist {\n display: flex;\n flex-direction: column;\n\n .pn-marketweb-siteheader-login-linklist-heading {\n font-weight: 500;\n font-size: 1.6rem;\n margin-bottom: 2.4rem;\n }\n \n strong {\n margin-bottom: 2.4rem;\n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0;\n }\n\n ul > li {\n margin-bottom: 2.4rem;\n a:not(.pn-button) {\n color: $blue700;\n }\n\n a {\n text-decoration: none;\n font-size: 1.6rem;\n line-height: 1.5;\n font-weight: 500;\n }\n\n pn-icon {\n padding-left: 0.8rem;\n svg > path {\n fill: $blue700 !important;\n }\n }\n\n &:hover {\n a {\n text-decoration: underline;\n }\n }\n\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n}\n/* } */\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialogLink } from './pn-marketweb-siteheader-types';\nimport { arrow_right, transfer } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login-linklist',\n styleUrl: 'pn-marketweb-siteheader-login-linklist.scss',\n})\nexport class PnMarketwebSiteheaderLoginLinklist {\n @Element() hostElement: HTMLElement;\n\n @Prop() heading: string = null;\n @Prop() links: LoginDialogLink[] = [];\n @Prop() idNamespace: string = '';\n @Prop() showUnifiedLogin: boolean = false;\n\n componentWillLoad() {}\n\n uniqueId(text: string) {\n return 'loginlink-' + text.replace(/[^A-Za-z0-9.\\\\\\/]/gim, '') + '-' + this.idNamespace;\n }\n\n linkAppearanceAttributes(link) {\n let attributes = {};\n if (link.linkType) {\n switch (link.linkType) {\n case 'primary':\n attributes = {\n appearance: '',\n variant: '',\n };\n break;\n case 'secondary':\n attributes = {\n appearance: 'light',\n variant: 'outlined',\n };\n break;\n case 'regularlink':\n default:\n attributes = {\n appearance: 'light',\n variant: 'borderless',\n icon: arrow_right,\n };\n break;\n }\n return attributes;\n }\n if (!link.linkType) {\n attributes = {\n appearance: link.primaryLinkApperance ? 'dark' : 'light',\n };\n }\n return attributes;\n }\n\n renderListAsButtons(link) {\n return (\n <li>\n <pn-button\n href={link.href}\n id={this.uniqueId(link.linkText)}\n {...(link.openInNewWindow && { target: '_blank' })}\n {...this.linkAppearanceAttributes(link)}\n onClick={() => {\n if (link.isLogoutLink) {\n headerState.loginManager.clearUserData();\n }\n }}\n >\n {link.linkText}\n </pn-button>\n </li>\n );\n }\n\n renderListAsLinks(link) {\n return (\n <li>\n <a\n href={link.href}\n id={this.uniqueId(link.linkText)}\n {...(link.openInNewWindow && { target: '_blank' })}\n onClick={() => {\n if (link.isLogoutLink) {\n headerState.loginManager.clearUserData();\n }\n }}\n >\n {link.linkText}\n {link.isLogoutLink ? <pn-icon icon={transfer}></pn-icon> : <pn-icon icon={arrow_right}></pn-icon>}\n </a>\n </li>\n );\n }\n\n render() {\n if (!this.links || this.links.length === 0) {\n return;\n }\n return (\n <Host>\n {this.heading ? <h4 class=\"pn-marketweb-siteheader-login-linklist-heading\">{this.heading}</h4> : null}\n <ul>\n {this.links.map(link => {\n {\n return this.showUnifiedLogin ? this.renderListAsLinks(link) : this.renderListAsButtons(link);\n }\n })}\n </ul>\n </Host>\n );\n }\n}\n"],"mappings":"oJAAA,MAAMA,EAAO,icACN,MAAMC,EAAWD,ECDxB,MAAME,EAAwC,0/BAC9C,MAAAC,EAAeD,E,MCSFE,EAAkC,M,sCAGnB,K,WACS,G,iBACL,G,sBACM,K,kCAEpC,iBAAAC,GAAiB,CAEjB,QAAAC,CAASC,GACP,MAAO,aAAeA,EAAKC,QAAQ,uBAAwB,IAAM,IAAMC,KAAKC,W,CAG9E,wBAAAC,CAAyBC,GACvB,IAAIC,EAAa,GACjB,GAAID,EAAKE,SAAU,CACjB,OAAQF,EAAKE,UACX,IAAK,UACHD,EAAa,CACXE,WAAY,GACZC,QAAS,IAEX,MACF,IAAK,YACHH,EAAa,CACXE,WAAY,QACZC,QAAS,YAEX,MACF,IAAK,cACL,QACEH,EAAa,CACXE,WAAY,QACZC,QAAS,aACThB,KAAMiB,GAER,MAEJ,OAAOJ,C,CAET,IAAKD,EAAKE,SAAU,CAClBD,EAAa,CACXE,WAAYH,EAAKM,qBAAuB,OAAS,Q,CAGrD,OAAOL,C,CAGT,mBAAAM,CAAoBP,GAClB,OACEQ,EAAA,UACEA,EAAA,aACEC,KAAMT,EAAKS,KACXC,GAAIb,KAAKH,SAASM,EAAKW,aAClBX,EAAKY,iBAAmB,CAAEC,OAAQ,aACnChB,KAAKE,yBAAyBC,GAClCc,QAAS,KACP,GAAId,EAAKe,aAAc,CACrBC,EAAYC,aAAaC,e,IAI5BlB,EAAKW,U,CAMd,iBAAAQ,CAAkBnB,GAChB,OACEQ,EAAA,UACEA,EAAA,KACEC,KAAMT,EAAKS,KACXC,GAAIb,KAAKH,SAASM,EAAKW,aAClBX,EAAKY,iBAAmB,CAAEC,OAAQ,UACvCC,QAAS,KACP,GAAId,EAAKe,aAAc,CACrBC,EAAYC,aAAaC,e,IAI5BlB,EAAKW,SACLX,EAAKe,aAAeP,EAAA,WAASpB,KAAMC,IAAuBmB,EAAA,WAASpB,KAAMiB,K,CAMlF,MAAAe,GACE,IAAKvB,KAAKwB,OAASxB,KAAKwB,MAAMC,SAAW,EAAG,CAC1C,M,CAEF,OACEd,EAACe,EAAI,KACF1B,KAAK2B,QAAUhB,EAAA,MAAIiB,MAAM,kDAAkD5B,KAAK2B,SAAgB,KACjGhB,EAAA,UACGX,KAAKwB,MAAMK,KAAI1B,IACd,CACE,OAAOH,KAAK8B,iBAAmB9B,KAAKsB,kBAAkBnB,GAAQH,KAAKU,oBAAoBP,E","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as i,g as e,h as s,d as n}from"./p-06555615.js";import{d as l}from"./p-aed52bc1.js";import{m as h}from"./p-b2f2fbb6.js";const a="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-with-multi-input-rows-row .input-element-row{display:flex;gap:1rem;margin-bottom:1rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container{width:30%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-marketweb-input .input-container{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-date-picker{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container{margin-top:0.3rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__error{color:red;line-height:1}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__warning{line-height:1}pn-dropdown-with-multi-input-rows-row .delete-button-contianer{margin-top:0.6rem}";const r=a;const u=class{constructor(e){t(this,e);this.rowValueChange=i(this,"rowValueChange",7);this.deleteRowEvent=i(this,"deleteRowEvent",7);this.firstInputChange=i(this,"firstInputChange",7);this.secondInputChange=i(this,"secondInputChange",7);this.languageCode=null;this.fristInputPlaceholder=null;this.firstInputMin=null;this.firstInputMax=null;this.firstInputWarning=null;this.firstInputWarningText=null;this.firstInputLowErrorText=null;this.firstInputHighErrorText=null;this.secondInputPlaceholder=null;this.secondInputMin=null;this.secondInputMax=null;this.secondInputWarning=null;this.secondInputWarningText=null;this.secondInputLowErrorText=null;this.secondInputHighErrorText=null;this.dateLabel=null;this.datePlaceholder=null;this.firstValidDate=null;this.lastValidDate=null;this.predefinedValue=null;this.rowIndex=null;this.minRowCount=null;this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=false;this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=false;this.firstInputValue="";this.secondInputValue="";this.dateValue=""}get hostElement(){return e(this)}_predefinedValue;pnFirstInputField=null;pnSecondInputField=null;pnDatePicker=null;pnDeleteRowButton=null;rowValueChange;deleteRowEvent;firstInputChange;secondInputChange;componentWillLoad(){this.getPredefinedValues();this.setInitialValues()}componentDidLoad(){this.addEventHandlers()}getPredefinedValues(){this._predefinedValue=JSON.parse(this.predefinedValue)}applyPredefinedValue(){this.getPredefinedValues();this.setInitialValues();if(this.firstInputValue?.length){this.validateFirstInput(parseInt(this.firstInputValue))}if(this.secondInputValue?.length){this.validateSecondInput(parseInt(this.secondInputValue))}if(this.rowIndex>=this.minRowCount){this.pnDeleteRowButton.addEventListener("click",this.deleteRow.bind(this))}}setInitialValues(){this.firstInputValue=this._predefinedValue.firstInput;this.secondInputValue=this._predefinedValue.secondInput;this.dateValue=this._predefinedValue.date}addEventHandlers(){const t=l(this.emitRowValues.bind(this),500);this.pnFirstInputField.addEventListener("keyup",l(this.handleFirstInput.bind(this),500));this.pnSecondInputField.addEventListener("keyup",l(this.handleSecondInput.bind(this),500));this.pnDatePicker.addEventListener("dateselection",this.handleDateChange.bind(this));this.pnDatePicker.addEventListener("dateselection",t)}handleFirstInput(t){const i=t.target;const e=parseInt(i.value);if(e>0){this.firstInputValue=i.value;this.firstInputChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}this.validateFirstInput(e);this.emitRowValues()}handleSecondInput(t){const i=t.target;const e=parseInt(i.value);if(e>0){this.secondInputValue=i.value;this.secondInputChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}this.validateSecondInput(e);this.emitRowValues()}validateFirstInput(t){this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=false;if(t<this.firstInputWarning){this.showFirstInputWarning=true}if(t<this.firstInputMin){this.showFirstInputWarning=false;this.showFirstInputLowError=true}if(t>this.firstInputMax){this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=true}}validateSecondInput(t){this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=false;if(t<this.secondInputWarning){this.showSecondInputWarning=true}if(t<this.secondInputMin){this.showSecondInputWarning=false;this.showSecondInputLowError=true}if(t>this.secondInputMax){this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=true}}handleDateChange(t){const i=t.target;if(i===this.pnDatePicker){this.dateValue=t.detail}}emitRowValues(){this.rowValueChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}deleteRow(){this.deleteRowEvent.emit(this._predefinedValue.id)}render(){return s(n,{key:"
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as i,g as e,h as s,d as n}from"./p-06555615.js";import{d as l}from"./p-aed52bc1.js";import{m as h}from"./p-b2f2fbb6.js";const a="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-with-multi-input-rows-row .input-element-row{display:flex;gap:1rem;margin-bottom:1rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container{width:30%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-marketweb-input .input-container{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-date-picker{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container{margin-top:0.3rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__error{color:red;line-height:1}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__warning{line-height:1}pn-dropdown-with-multi-input-rows-row .delete-button-contianer{margin-top:0.6rem}";const r=a;const u=class{constructor(e){t(this,e);this.rowValueChange=i(this,"rowValueChange",7);this.deleteRowEvent=i(this,"deleteRowEvent",7);this.firstInputChange=i(this,"firstInputChange",7);this.secondInputChange=i(this,"secondInputChange",7);this.languageCode=null;this.fristInputPlaceholder=null;this.firstInputMin=null;this.firstInputMax=null;this.firstInputWarning=null;this.firstInputWarningText=null;this.firstInputLowErrorText=null;this.firstInputHighErrorText=null;this.secondInputPlaceholder=null;this.secondInputMin=null;this.secondInputMax=null;this.secondInputWarning=null;this.secondInputWarningText=null;this.secondInputLowErrorText=null;this.secondInputHighErrorText=null;this.dateLabel=null;this.datePlaceholder=null;this.firstValidDate=null;this.lastValidDate=null;this.predefinedValue=null;this.rowIndex=null;this.minRowCount=null;this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=false;this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=false;this.firstInputValue="";this.secondInputValue="";this.dateValue=""}get hostElement(){return e(this)}_predefinedValue;pnFirstInputField=null;pnSecondInputField=null;pnDatePicker=null;pnDeleteRowButton=null;rowValueChange;deleteRowEvent;firstInputChange;secondInputChange;componentWillLoad(){this.getPredefinedValues();this.setInitialValues()}componentDidLoad(){this.addEventHandlers()}getPredefinedValues(){this._predefinedValue=JSON.parse(this.predefinedValue)}applyPredefinedValue(){this.getPredefinedValues();this.setInitialValues();if(this.firstInputValue?.length){this.validateFirstInput(parseInt(this.firstInputValue))}if(this.secondInputValue?.length){this.validateSecondInput(parseInt(this.secondInputValue))}if(this.rowIndex>=this.minRowCount){this.pnDeleteRowButton.addEventListener("click",this.deleteRow.bind(this))}}setInitialValues(){this.firstInputValue=this._predefinedValue.firstInput;this.secondInputValue=this._predefinedValue.secondInput;this.dateValue=this._predefinedValue.date}addEventHandlers(){const t=l(this.emitRowValues.bind(this),500);this.pnFirstInputField.addEventListener("keyup",l(this.handleFirstInput.bind(this),500));this.pnSecondInputField.addEventListener("keyup",l(this.handleSecondInput.bind(this),500));this.pnDatePicker.addEventListener("dateselection",this.handleDateChange.bind(this));this.pnDatePicker.addEventListener("dateselection",t)}handleFirstInput(t){const i=t.target;const e=parseInt(i.value);if(e>0){this.firstInputValue=i.value;this.firstInputChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}this.validateFirstInput(e);this.emitRowValues()}handleSecondInput(t){const i=t.target;const e=parseInt(i.value);if(e>0){this.secondInputValue=i.value;this.secondInputChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}this.validateSecondInput(e);this.emitRowValues()}validateFirstInput(t){this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=false;if(t<this.firstInputWarning){this.showFirstInputWarning=true}if(t<this.firstInputMin){this.showFirstInputWarning=false;this.showFirstInputLowError=true}if(t>this.firstInputMax){this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=true}}validateSecondInput(t){this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=false;if(t<this.secondInputWarning){this.showSecondInputWarning=true}if(t<this.secondInputMin){this.showSecondInputWarning=false;this.showSecondInputLowError=true}if(t>this.secondInputMax){this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=true}}handleDateChange(t){const i=t.target;if(i===this.pnDatePicker){this.dateValue=t.detail.start}}emitRowValues(){this.rowValueChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}deleteRow(){this.deleteRowEvent.emit(this._predefinedValue.id)}render(){return s(n,{key:"25ce543d9bad0bb62f02966dc58423dc2f774cde"},s("div",{key:"1271fc6c14cff8b206deab0b1760b446a8563b5e",class:"input-element-row"},s("div",{key:"a8a585012b82f5b3bb04b293d166f0b8514e36f3",class:"input-container"},s("pn-marketweb-input",{key:"74c1a571e925f0732ac7375c3a7a5d30a2a45bbc",ref:t=>this.pnFirstInputField=t,type:"number",placeholder:this.fristInputPlaceholder,value:this.firstInputValue,min:"1"}),this.showFirstInputLowError||this.showFirstInputHighError||this.showFirstInputWarning?s("div",{class:"input-element-message-container"},this.showFirstInputLowError?s("div",{class:"input-element-message-container__error"},s("small",null,this.firstInputLowErrorText)):null,this.showFirstInputHighError?s("div",{class:"input-element-message-container__error"},s("small",null,this.firstInputHighErrorText)):null,this.showFirstInputWarning?s("div",{class:"input-element-message-container__warning"},s("small",null,this.firstInputWarningText)):null):null),s("div",{key:"abf3f14c2d3ede9b5a76013c6d5a0994a3d09188",class:"input-container"},s("pn-marketweb-input",{key:"364fd23a48d89932c6ada0a615750f7bd2233098",ref:t=>this.pnSecondInputField=t,type:"number",placeholder:this.secondInputPlaceholder,value:this.secondInputValue,min:"1"}),this.showSecondInputLowError||this.showSecondInputHighError||this.showSecondInputWarning?s("div",{class:"input-element-message-container"},this.showSecondInputLowError?s("div",{class:"input-element-message-container__error"},s("small",null,this.secondInputLowErrorText)):null,this.showSecondInputHighError?s("div",{class:"input-element-message-container__error"},s("small",null,this.secondInputHighErrorText)):null,this.showSecondInputWarning?s("div",{class:"input-element-message-container__warning"},s("small",null,this.secondInputWarningText)):null):null),s("div",{key:"8da4638217aee0b48cfe8bc9371bc588dfc3ac0d",class:"input-container"},s("pn-date-picker",{key:"afb0f900fe19c4c2d12bd00b72e86b68cd3c7256",ref:t=>this.pnDatePicker=t,range:"false","disable-weekends":true,"min-date":this.firstValidDate,"max-date":this.lastValidDate,language:this.languageCode,placeholder:this.datePlaceholder,start:this.dateValue?.length?this.dateValue:null})),this.rowIndex>=this.minRowCount?s("div",{class:"delete-button-contianer"},s("pn-button",{ref:t=>this.pnDeleteRowButton=t,small:"true",icon:h,appearance:"warning",index:this.rowIndex,onClick:()=>{this.deleteRow()}},"Delete")):null))}static get watchers(){return{predefinedValue:["applyPredefinedValue"]}}};u.style=r;export{u as pn_dropdown_with_multi_input_rows_row};
|
|
2
|
+
//# sourceMappingURL=p-5845b81b.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pnDropdownWithMultiInputRowsRowCss","PnDropdownWithMultiInputRowsRowStyle0","PnDropdownWithMultiInputRowsRow","_predefinedValue","pnFirstInputField","pnSecondInputField","pnDatePicker","pnDeleteRowButton","rowValueChange","deleteRowEvent","firstInputChange","secondInputChange","componentWillLoad","this","getPredefinedValues","setInitialValues","componentDidLoad","addEventHandlers","JSON","parse","predefinedValue","applyPredefinedValue","firstInputValue","length","validateFirstInput","parseInt","secondInputValue","validateSecondInput","rowIndex","minRowCount","addEventListener","deleteRow","bind","firstInput","secondInput","dateValue","date","emmitValues","debounce","emitRowValues","handleFirstInput","handleSecondInput","handleDateChange","e","elm","target","value","emit","id","input","showFirstInputWarning","showFirstInputLowError","showFirstInputHighError","firstInputWarning","firstInputMin","firstInputMax","showSecondInputWarning","showSecondInputLowError","showSecondInputHighError","secondInputWarning","secondInputMin","secondInputMax","detail","start","render","h","Host","key","class","ref","el","type","placeholder","fristInputPlaceholder","min","firstInputLowErrorText","firstInputHighErrorText","firstInputWarningText","secondInputPlaceholder","secondInputLowErrorText","secondInputHighErrorText","secondInputWarningText","range","firstValidDate","lastValidDate","language","languageCode","datePlaceholder","small","icon","minus","appearance","index","onClick"],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.scss?tag=pn-dropdown-with-multi-input-rows-row","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows-row {\n .input-element-row {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n\n .input-container {\n width: 30%;\n\n pn-marketweb-input {\n .input-container {\n width: 100%;\n }\n }\n\n pn-date-picker {\n width: 100%;\n }\n\n .input-element-message-container {\n margin-top: 0.3rem;\n &__error {\n color: red;\n line-height: 1;\n }\n\n &__warning {\n line-height: 1;\n }\n }\n }\n }\n\n .delete-button-contianer {\n margin-top: 0.6rem;\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 debounce from 'debounce';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows-row',\n styleUrl: 'pn-dropdown-with-multi-input-rows-row.scss',\n})\nexport class PnDropdownWithMultiInputRowsRow {\n @Element() hostElement: Element;\n private _predefinedValue: PredefinedValues;\n pnFirstInputField: HTMLElement = null;\n pnSecondInputField: HTMLElement = null;\n pnDatePicker: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() languageCode: 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() 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() firstValidDate: string = null;\n @Prop() lastValidDate: string = null;\n @Prop() predefinedValue: string = null;\n @Prop() rowIndex: number = null;\n @Prop() minRowCount: number = null;\n\n @State() showFirstInputWarning: boolean = false;\n @State() showFirstInputLowError: boolean = false;\n @State() showFirstInputHighError: boolean = false;\n @State() showSecondInputWarning: boolean = false;\n @State() showSecondInputLowError: boolean = false;\n @State() showSecondInputHighError: boolean = false;\n\n @State() firstInputValue: string = '';\n @State() secondInputValue: string = '';\n @State() dateValue: string = '';\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n @Event() firstInputChange: EventEmitter<PredefinedValues>;\n @Event() secondInputChange: EventEmitter<PredefinedValues>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.addEventHandlers();\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 if (this.firstInputValue?.length) {\n this.validateFirstInput(parseInt(this.firstInputValue));\n }\n\n if (this.secondInputValue?.length) {\n this.validateSecondInput(parseInt(this.secondInputValue));\n }\n\n if (this.rowIndex >= this.minRowCount) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n setInitialValues() {\n this.firstInputValue = this._predefinedValue.firstInput;\n this.secondInputValue = this._predefinedValue.secondInput;\n this.dateValue = this._predefinedValue.date;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emitRowValues.bind(this), 500);\n this.pnFirstInputField.addEventListener('keyup', debounce(this.handleFirstInput.bind(this), 500));\n this.pnSecondInputField.addEventListener('keyup', debounce(this.handleSecondInput.bind(this), 500));\n this.pnDatePicker.addEventListener('dateselection', this.handleDateChange.bind(this));\n this.pnDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n handleFirstInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.firstInputValue = elm.value;\n this.firstInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateFirstInput(value);\n this.emitRowValues();\n }\n\n handleSecondInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.secondInputValue = elm.value;\n this.secondInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateSecondInput(value);\n this.emitRowValues();\n }\n\n validateFirstInput(input: number) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = false;\n\n if (input < this.firstInputWarning) {\n this.showFirstInputWarning = true;\n }\n\n if (input < this.firstInputMin) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = true;\n }\n\n if (input > this.firstInputMax) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = true;\n }\n }\n\n validateSecondInput(input: number) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = false;\n\n if (input < this.secondInputWarning) {\n this.showSecondInputWarning = true;\n }\n\n if (input < this.secondInputMin) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = true;\n }\n\n if (input > this.secondInputMax) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = true;\n }\n }\n\n handleDateChange(e) {\n const elm = e.target;\n if (elm === this.pnDatePicker) {\n this.dateValue = e.detail.start;\n }\n }\n\n emitRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n render() {\n return (\n <Host>\n <div class=\"input-element-row\">\n <div class=\"input-container\">\n <pn-marketweb-input\n ref={el => (this.pnFirstInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.fristInputPlaceholder}\n value={this.firstInputValue}\n min=\"1\"\n ></pn-marketweb-input>\n {this.showFirstInputLowError || this.showFirstInputHighError || this.showFirstInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showFirstInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.firstInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-marketweb-input\n ref={el => (this.pnSecondInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.secondInputPlaceholder}\n value={this.secondInputValue}\n min=\"1\"\n ></pn-marketweb-input>\n {this.showSecondInputLowError || this.showSecondInputHighError || this.showSecondInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showSecondInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.secondInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n min-date={this.firstValidDate}\n max-date={this.lastValidDate}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n\n {this.rowIndex >= this.minRowCount ? (\n <div class=\"delete-button-contianer\">\n <pn-button\n ref={el => (this.pnDeleteRowButton = el as HTMLElement)}\n small=\"true\"\n icon={minus}\n appearance=\"warning\"\n index={this.rowIndex}\n onClick={() => {\n this.deleteRow();\n }}\n >\n Delete\n </pn-button>\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{g as t,r as i,c as s,h as e,d as n}from"./p-06555615.js";import{d as l}from"./p-aed52bc1.js";import{p as h}from"./p-df8bfe03.js";import{v as o}from"./p-4ed69de7.js";const d="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__row{margin-bottom:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__delete{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;background-color:#f9f8f8}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__delete pn-button{margin-top:0.9rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__label-row{display:flex;gap:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__label{width:30%;font-size:0.875em;color:#5e554a}pn-dropdown-with-multi-input-rows .sum-row{display:flex;justify-content:space-between}";const r=d;const a=class{get hostElement(){return t(this)}pnFirstDropdown=null;pnSecondDropdown=null;pnSumField=null;pnConfirmDeleteButton=null;pnAbortDeleteButton=null;allFormValues;_firstDropdownSelection=null;_secondDropdownSelection=null;_defaultRow;constructor(t){i(this,t);this.allFormValues=s(this,"allFormValues",7);this.dropdownData=null;this.languageCode=null;this.firstDropdownLabel=null;this.firstDropdownHelperText=null;this.secondDropdownLabel=null;this.secondDropdownHelperText=null;this.secondDropdownMax=null;this.deleteMultipleRowsWarningText=null;this.confirmDeleteButtonText=null;this.abortDeleteButtonText=null;this.fristInputLabel=null;this.fristInputPlaceholder=null;this.firstInputMin=null;this.firstInputMax=null;this.firstInputWarning=null;this.firstInputWarningText=null;this.firstInputLowErrorText=null;this.firstInputHighErrorText=null;this.secondInputLabel=null;this.secondInputPlaceholder=null;this.secondInputMin=null;this.secondInputMax=null;this.secondInputWarning=null;this.secondInputWarningText=null;this.secondInputLowErrorText=null;this.secondInputHighErrorText=null;this.dateLabel=null;this.datePlaceholder=null;this.dateDaysFromToday=1;this.yearsToAddToEndDate=null;this.sumFieldLabel=null;this.addRowText=null;this.elementHelperText=null;this.dropdownDataRoot=null;this.secondDropdownArr=[];this.rowCount=null;this.rowData=null;this.formValues=null;this.firstValidDateString="";this.lastValidDateString="";this.rowSum=null;this.minRowCount=null;this.showDelteConfirm=false;this._defaultRow={id:this.generateUniqueId(),firstInput:"",secondInput:this.secondInputWarning!==null?this.secondInputWarning.toString():"",date:""}}componentWillLoad(){this.formValues=[];this.setDropDownData();this.updateSecondDropdown();this.setRowData();this.setFirstValidDate()}componentDidLoad(){this.updateSum()}setDropDownData(){if(typeof this.dropdownData==="string"){this.dropdownDataRoot=JSON.parse(this.dropdownData)}else{this.dropdownDataRoot=this.dropdownData}if(this.dropdownDataRoot?.length){this.dropdownDataRoot.forEach((t=>{if(!t.value){t.value=0}}))}if(this.dropdownDataRoot.length>0){this.dropdownDataRoot[0].checked=true;this._firstDropdownSelection=this.dropdownDataRoot[0].label;this._secondDropdownSelection=this.dropdownDataRoot[0].value;this.minRowCount=this.dropdownDataRoot[0].value}}updateSecondDropdown(){const t=this.dropdownDataRoot.find((t=>t.checked===true));this.secondDropdownArr=[];for(let i=t.value;i<=this.secondDropdownMax;i++){this.secondDropdownArr.push(i)}}updateSelectItemArr(t,i){t.forEach((t=>{if(t.label===i){t.checked=!t.checked}else{t.checked=false}}));return t}setRowData(){this.rowData=[];for(let t=0;t<this._secondDropdownSelection;t++){const t=Object.assign({},this._defaultRow);t.id=this.generateUniqueId();this.rowData=[...this.rowData,t]}this.rowCount=this.rowData.length}generateUniqueId(){return o()}setFirstValidDate(){const t=this.yearsToAddToEndDate?this.yearsToAddToEndDate:2;const i=new Date;i.setDate(i.getDate()+this.dateDaysFromToday??0);const s=i.getFullYear();const e=(i.getMonth()+1).toString().padStart(2,"0");const n=i.getDate().toString().padStart(2,"0");const l=s+t;this.firstValidDateString=`${s.toString()}-${e}-${n}`;this.lastValidDateString=`${l.toString()}-${e}-${n}`}addRow(t){const i=Object.assign({},this.rowData[0]);i.id=t?t:this.generateUniqueId();i.date="";this.rowData=[...this.rowData,i];this.rowCount=this.rowData.length;this._secondDropdownSelection=this.rowCount;this.secondDropdownArr=[...this.secondDropdownArr];this.updateSum();this.emitValuesIfValid()}handleFirstDropdown(){const t=this.pnFirstDropdown.querySelector("[aria-selected=true]");const i=t?.textContent;if(!i?.length){return}this.dropdownDataRoot.forEach((t=>{t.checked=false}));const s=this.dropdownDataRoot.find((t=>t.value?.toString()===i));s.checked=true;this._firstDropdownSelection=s.label;this.minRowCount=s.value;if(s.value>this._secondDropdownSelection){this.dropdownDataRoot=[...this.dropdownDataRoot];for(let t=this.rowCount;t<s.value;t++){this.addRow(this.generateUniqueId())}}this.updateSecondDropdown();this.updateSum();this.emitValuesIfValid()}handleSecondDropdown(){const t=this.pnSecondDropdown.querySelector("[aria-selected=true]");const i=t?.textContent;if(!i?.length){return}const s=parseInt(i);if(s<this._secondDropdownSelection){this.showDelteConfirm=true}else{for(let t=this.rowCount;t<s;t++){this.addRow(this.generateUniqueId())}}this.updateSum();this.emitValuesIfValid()}predefinedValueChange(t){const i=this.rowData.findIndex((i=>i.id===t.detail.id));const s=t.detail;this.rowData[i]={...this.rowData[i],firstInput:s.firstInput,secondInput:s.secondInput,date:s.date};if(t.type==="firstInputChange"&&i===0){this.updateFirstInputOfRows(s.firstInput)}if(t.type==="secondInputChange"&&i===0){this.updateSecondInputOfRows(s.secondInput)}this.rowData=[...this.rowData];this.emitValuesIfValid();this.updateSum()}updateFirstInputOfRows(t){for(let i=1;i<this.rowCount;i++){this.rowData[i]={...this.rowData[i],firstInput:t}}}updateSecondInputOfRows(t){for(let i=1;i<this.rowCount;i++){this.rowData[i]={...this.rowData[i],secondInput:t}}}deleteRowEvent(t){const i=this.rowData.findIndex((i=>i.id===t.detail));if(i<0){return}this.rowData.splice(i,1);this.rowData=[...this.rowData];this.rowCount=this.rowData.length;this._secondDropdownSelection=this.rowCount;this.secondDropdownArr=[...this.secondDropdownArr];this.emitValuesIfValid();this.updateSum()}updateSum(){this.rowSum="";let t=0;this.rowData.forEach((i=>{if(i?.firstInput?.length){t+=parseInt(i.firstInput)}}));this.rowSum=t.toString()}deleteExcessRows(){const t=this.pnSecondDropdown.querySelector("[aria-selected=true]");const i=t?.textContent;if(!i?.length){return}const s=this.rowCount-parseInt(i);for(let t=0;t<s;t++){this.rowData.pop()}this.rowData=[...this.rowData];this.showDelteConfirm=false;this.updateSum()}abortDeleteRows(){this.showDelteConfirm=false}emitValuesIfValid(){this.formValues=[];this.rowData.forEach((t=>{const i={row:[]};if(this._firstDropdownSelection?.length){const t={name:this.firstDropdownLabel,value:this._firstDropdownSelection};i.row.push(t)}if(t.firstInput?.length){const s={name:this.fristInputLabel,value:t.firstInput};i.row.push(s)}if(t.secondInput?.length){const s={name:this.secondInputLabel,value:t.secondInput};i.row.push(s)}if(t.date){const s={name:this.dateLabel,value:t.date};i.row.push(s)}if(i.row.length===4){this.formValues.push(i)}}));if(this.formValues.length===this.rowData.length){const t=JSON.stringify(this.formValues);this.allFormValues.emit(t)}else{this.allFormValues.emit("")}}render(){return e(n,{key:"0a39e32ed3f2a2a59f5b9d9a5e4841a03f8ebef3",class:"dropdown-with-multi-input-elemet"},e("div",{key:"aa6de4df4b8bc9be801539b9839b9e090088c589",class:"dropdown-with-multi-input-elemet__row"},e("div",{key:"b8d7dc7e35aeb5b92f08393eb829d390e15f3abe"},e("pn-select",{key:"7d30c9249a523e4b9a8a4435668cc37dee57398d",ref:t=>this.pnFirstDropdown=t,class:"pn-row-select-dropdown dropDown1-dropdown",label:this.firstDropdownLabel,"empty-option":"true",language:this.languageCode},this.dropdownDataRoot?.map(((t,i)=>e("pn-option",{index:i,label:t.value,value:t.value,selected:t.checked,onClick:l(this.handleFirstDropdown.bind(this),500)})))),this.firstDropdownHelperText?.length?e("small",null,this.firstDropdownHelperText):null)),e("div",{key:"d1732d071e4244f3c27a52db59b6bb74015ba28b",class:"dropdown-with-multi-input-elemet__row"},e("div",{key:"4c57f1f5048669473f326476735b8440535a1aa2"},e("pn-select",{key:"58980dea2e4545efe141837a8454f0860505bb6f",ref:t=>this.pnSecondDropdown=t,class:"pn-row-select-dropdown dropDown2-dropdown",label:this.secondDropdownLabel,"empty-option":"true",language:this.languageCode},this.secondDropdownArr?.map(((t,i)=>e("pn-option",{index:i,label:t,value:t,selected:t===this._secondDropdownSelection,onClick:l(this.handleSecondDropdown.bind(this),500)})))),this.secondDropdownHelperText?.length?e("small",null,this.secondDropdownHelperText):null)),this.showDelteConfirm?e("div",{class:"dropdown-with-multi-input-elemet__delete"},e("p",null,this.deleteMultipleRowsWarningText),e("pn-button",{ref:t=>this.pnConfirmDeleteButton=t,small:"true",appearance:"warning",onClick:this.deleteExcessRows.bind(this)},this.confirmDeleteButtonText),e("pn-button",{ref:t=>this.pnAbortDeleteButton=t,small:"true",appearance:"light",onClick:this.abortDeleteRows.bind(this)},this.abortDeleteButtonText)):null,e("div",{key:"023ffe29ad8465a3c139903f44f8d825290f0946",class:"dropdown-with-multi-input-elemet__label-row"},e("div",{key:"7a590ad0801b14933b1104b9e7d10d595174d194",class:"dropdown-with-multi-input-elemet__label"},e("label",{key:"352cca674f5282f4ad0e3c0aec8307e23288b9ca"},this.fristInputLabel)),e("div",{key:"6cc82e56ca355d23dfe1bdaf814875f1c02cebd7",class:"dropdown-with-multi-input-elemet__label"},e("label",{key:"3421119a657ec0891c1c429a73ed5c092f80f18d"},this.secondInputLabel)),e("div",{key:"9ad9a6e01eb8d5ac2788a22e42ae240f570566a0",class:"dropdown-with-multi-input-elemet__label"},e("label",{key:"6909d759977802e1cedeb92c35dfee9ffc12c01d"},this.dateLabel))),this.rowData?.map(((t,i)=>e("div",{class:"dropdown-with-multi-input-elemet__row generated-row-"+i,id:"generated-row-"+i},e("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(t),"min-row-count":this.minRowCount,"row-index":i})))),e("div",{key:"878ef1b83a0090520ab84450a1b80b0c5529a610",class:"dropdown-with-multi-input-elemet__row sum-row"},e("pn-marketweb-input",{key:"aab23b9eb8616d1e737ddc8bfd06dcc56d89bf72",disabled:true,ref:t=>this.pnSumField=t,type:"number",value:this.rowSum,label:this.sumFieldLabel}),e("pn-button",{key:"1c98a7886cad539d6fea5689696006850fff6d5b",tooltip:this.addRowText?this.addRowText:null,"left-icon":"true",arialabel:"Add",icon:h,appearance:"light",variant:"borderless",class:"connected-dropdown__button-right",onClick:()=>{this.addRow(this.generateUniqueId())}},this.addRowText)),this.elementHelperText?.length?e("div",{class:"dropdown-with-multi-input-elemet__row"},this.elementHelperText):null)}};a.style=r;export{a as pn_dropdown_with_multi_input_rows};
|
|
2
|
+
//# sourceMappingURL=p-85f1e4c3.entry.js.map
|