ngx-t-forms 2.0.28 → 2.0.29
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/README.md +2 -1
- package/fesm2022/{ngx-t-forms-calculated-field-rules.component-DqEcErNO.mjs → ngx-t-forms-calculated-field-rules.component-D-SBMdYg.mjs} +6 -6
- package/fesm2022/{ngx-t-forms-calculated-field-rules.component-DqEcErNO.mjs.map → ngx-t-forms-calculated-field-rules.component-D-SBMdYg.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-chip-options-creator-editor.component-ItZ2K6AS.mjs → ngx-t-forms-chip-options-creator-editor.component-1cpszpPN.mjs} +4 -4
- package/fesm2022/{ngx-t-forms-chip-options-creator-editor.component-ItZ2K6AS.mjs.map → ngx-t-forms-chip-options-creator-editor.component-1cpszpPN.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-cGgQrGlZ.mjs → ngx-t-forms-config-mscoa-additional-inputs.component-DFdAVWTg.mjs} +6 -8
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DFdAVWTg.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-data-source-picker.component-cxjBReMg.mjs → ngx-t-forms-data-source-picker.component-DxORinAD.mjs} +8 -9
- package/fesm2022/ngx-t-forms-data-source-picker.component-DxORinAD.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-document-list-label-config-editor.component-Dr-w1JzX.mjs → ngx-t-forms-document-list-label-config-editor.component-DcWS1txl.mjs} +7 -9
- package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-DcWS1txl.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-form-input-selector.component-B2QEnvkq.mjs +134 -0
- package/fesm2022/ngx-t-forms-form-input-selector.component-B2QEnvkq.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-form-json-view.component-00g2e0dT.mjs → ngx-t-forms-form-json-view.component-DePf44w6.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-form-json-view.component-00g2e0dT.mjs.map → ngx-t-forms-form-json-view.component-DePf44w6.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-form-section-stepper.component-BTkcSjg7.mjs +270 -0
- package/fesm2022/ngx-t-forms-form-section-stepper.component-BTkcSjg7.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-forms-builder-menu.component-DKybEMbx.mjs → ngx-t-forms-forms-builder-menu.component-Wamzf_sq.mjs} +14 -18
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-Wamzf_sq.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-input-editor.component-otrfAVh7.mjs → ngx-t-forms-input-editor.component-D4xHO76K.mjs} +10 -10
- package/fesm2022/ngx-t-forms-input-editor.component-D4xHO76K.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-map-mat-options-keys-CbdW82su.mjs +124 -0
- package/fesm2022/ngx-t-forms-map-mat-options-keys-CbdW82su.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-Bj0vLXbO.mjs → ngx-t-forms-mat-chip-list-editor.component-DmTyO9Wi.mjs} +5 -6
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DmTyO9Wi.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-mat-slider-editor.component-FJV0cwS2.mjs → ngx-t-forms-mat-slider-editor.component-DZ4TenrI.mjs} +2 -3
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-DZ4TenrI.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-BFZ0NqQb.mjs → ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-BFZ0NqQb.mjs.map → ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-missing-form-configs.component-CTEQEHFc.mjs → ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs} +6 -6
- package/fesm2022/{ngx-t-forms-missing-form-configs.component-CTEQEHFc.mjs.map → ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mscoa-chart-toolbar.component-DS_AVAsh.mjs → ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs} +4 -4
- package/fesm2022/{ngx-t-forms-mscoa-chart-toolbar.component-DS_AVAsh.mjs.map → ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mscoa-error-display.component-CEO9xouF.mjs → ngx-t-forms-mscoa-error-display.component-CSX2NCNU.mjs} +4 -4
- package/fesm2022/{ngx-t-forms-mscoa-error-display.component-CEO9xouF.mjs.map → ngx-t-forms-mscoa-error-display.component-CSX2NCNU.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mscoa-segment-config.component-C7pdGHqP.mjs → ngx-t-forms-mscoa-segment-config.component-B6IF8kGg.mjs} +7 -10
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-B6IF8kGg.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-mscoa-temporary-hint.component-Ct1Mb2x-.mjs → ngx-t-forms-mscoa-temporary-hint.component-BPkjsRmH.mjs} +4 -4
- package/fesm2022/{ngx-t-forms-mscoa-temporary-hint.component-Ct1Mb2x-.mjs.map → ngx-t-forms-mscoa-temporary-hint.component-BPkjsRmH.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-ngx-t-forms-mfuTrkmM.mjs → ngx-t-forms-ngx-t-forms-D9qmig6g.mjs} +1566 -557
- package/fesm2022/ngx-t-forms-ngx-t-forms-D9qmig6g.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-pipeline-generator.component-CgpB8grY.mjs → ngx-t-forms-pipeline-generator.component-DBJEyCbd.mjs} +11 -35
- package/fesm2022/ngx-t-forms-pipeline-generator.component-DBJEyCbd.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-record-list-manager.component-CzZ0oofH.mjs → ngx-t-forms-record-list-manager.component-Dgs9lNSr.mjs} +5 -6
- package/fesm2022/ngx-t-forms-record-list-manager.component-Dgs9lNSr.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-required-inputs.component-BKWaKqO6.mjs → ngx-t-forms-required-inputs.component-CSIJvSHq.mjs} +5 -7
- package/fesm2022/ngx-t-forms-required-inputs.component-CSIJvSHq.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-DqGJ_q5y.mjs → ngx-t-forms-rest-api-call-setup.component-CY-JSkGs.mjs} +7 -11
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-CY-JSkGs.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-section-report.component-Z0hcYnrT.mjs → ngx-t-forms-section-report.component-12-KdKT6.mjs} +5 -5
- package/fesm2022/{ngx-t-forms-section-report.component-Z0hcYnrT.mjs.map → ngx-t-forms-section-report.component-12-KdKT6.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-selection-options-editor.component-DKfWcIYB.mjs → ngx-t-forms-selection-options-editor.component-Be3QAG_L.mjs} +7 -8
- package/fesm2022/ngx-t-forms-selection-options-editor.component-Be3QAG_L.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-t-workflow-picker.component-CUX4KlZd.mjs → ngx-t-forms-t-workflow-picker.component-a4f1r8gH.mjs} +5 -5
- package/fesm2022/{ngx-t-forms-t-workflow-picker.component-CUX4KlZd.mjs.map → ngx-t-forms-t-workflow-picker.component-a4f1r8gH.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-validators-config.component-D5lUrnLK.mjs → ngx-t-forms-validators-config.component-B3j9Dmgu.mjs} +8 -10
- package/fesm2022/ngx-t-forms-validators-config.component-B3j9Dmgu.mjs.map +1 -0
- package/fesm2022/ngx-t-forms.mjs +1 -1
- package/package.json +2 -2
- package/types/ngx-t-forms.d.ts +24 -4
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-cGgQrGlZ.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-data-source-picker.component-cxjBReMg.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-Dr-w1JzX.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-input-selector.component-9kIiAxlg.mjs +0 -132
- package/fesm2022/ngx-t-forms-form-input-selector.component-9kIiAxlg.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-section-stepper.component-BaT3CcFj.mjs +0 -264
- package/fesm2022/ngx-t-forms-form-section-stepper.component-BaT3CcFj.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-DKybEMbx.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-input-editor.component-otrfAVh7.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-Bj0vLXbO.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-FJV0cwS2.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-C7pdGHqP.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-ngx-t-forms-mfuTrkmM.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-pipeline-generator.component-CgpB8grY.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-record-list-manager.component-CzZ0oofH.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-required-inputs.component-BKWaKqO6.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DqGJ_q5y.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-selection-options-editor.component-DKfWcIYB.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-validators-config.component-D5lUrnLK.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-t-forms-input-editor.component-D4xHO76K.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/default-element/default-element.component.ts","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/default-element/default-element.component.html","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/input-element-editor/input-element-editor.component.ts","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/input-element-editor/input-element-editor.component.html","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/input-editor/input-editor.component.ts","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/input-editor/input-editor.component.html"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, inject } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\n\r\nimport { FormsStoreService } from '../../../forms/store/forms-store.service';\r\nimport { DefaultInputConfig, ElementTypes } from 'ngx-t-forms-types';\r\nimport { take } from 'rxjs';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-default-element',\r\n standalone: true,\r\n imports: [CommonModule,MatModulesModule],\r\n templateUrl: './default-element.component.html',\r\n styleUrl: './default-element.component.scss',\r\n})\r\nexport class DefaultElementComponent {\r\n\r\n inputs = DefaultInputConfig\r\n store = inject(FormsStoreService)\r\n\r\n constructor(){\r\n\r\n }\r\n \r\n\r\n getDefaultInputs():ElementTypes[]{\r\n const i = JSON.parse(JSON.stringify(DefaultInputConfig))\r\n return Object.keys(i) as any\r\n }\r\n selectInputTemplate (input: ElementTypes) {\r\n this.store.selectors.selectInputInEditId$.pipe(\r\n take(1)\r\n ).subscribe((id)=>{\r\n if(!id) return\r\n this.store.actionsFormBuilder.selectInputTemplate(id,input)\r\n }\r\n )\r\n \r\n }\r\n\r\n}\r\n","<br>\r\n<mat-nav-list style=\"margin: 5px;\">\r\n\r\n\r\n @defer () {\r\n @for (input of getDefaultInputs(); track input) {\r\n @if (inputs[input].disabled === false) {\r\n <mat-list-item style=\"background: var(--mdc-elevated-card-container-color, var(--mat-app-surface-container-low));\"\r\n (click)=\"selectInputTemplate(input)\">\r\n <img matListItemAvatar [src]=\"inputs[input].illustration\" alt=\"\">\r\n <span matListItemTitle href=\"...\">{{ inputs[input].label}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n</mat-nav-list>","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\n\r\n\r\nimport { FormsStoreService } from '../../../forms/store/forms-store.service';\r\n\r\n\r\nimport { TDynamicDataEditComponent, TDynamicDataViewComponent } from '../../..';\r\n\r\n\r\nimport { ElementEditorInnerSectionElementInterface } from 'ngx-t-forms-types';\r\nimport { combineLatest, distinctUntilChanged, map, take, tap } from 'rxjs';\r\nimport { _isEqual } from '../../../../shared/functions/isEqual';\r\n\r\n@Component({\r\n selector: 'app-input-element-editor',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatModulesModule,\r\n TDynamicDataEditComponent,\r\n TDynamicDataViewComponent \r\n ],\r\n templateUrl: './input-element-editor.component.html',\r\n styleUrl: './input-element-editor.component.scss',\r\n})\r\n\r\nexport class InputElementEditorComponent {\r\n\r\n private store = inject(FormsStoreService);\r\n\r\n inputElementEditorConfigs$ = this.store.formBuilderSelectors.inputElementEditorConfigs$.pipe(\r\n distinctUntilChanged((a, b) => _isEqual(a, b))\r\n \r\n )\r\n\r\n\r\n inputInEdit$ = this.store.formBuilderSelectors.inputInEdit$\r\n\r\n defaultInputInEdit$ = this.store.formBuilderSelectors.defaultInputInEdit$\r\n\r\n formInputs$ = this.store.formBuilderSelectors.getAllFormInputs$\r\n\r\n elementConfigurationChanged = (value: any, ele: ElementEditorInnerSectionElementInterface) => {\r\n \r\n this.inputInEdit$.pipe(\r\n take(1),\r\n tap((input) => {\r\n if (!input) return;\r\n \r\n this.store.actionsFormBuilder.elementConfigurationChanged(input.id,value, ele);\r\n })\r\n ).subscribe();\r\n\r\n };\r\n // Event handlers\r\n clearInputInEdit = () => {\r\n this.inputInEdit$.pipe(\r\n take(1),\r\n tap((input) => {\r\n if (!input) return;\r\n this.store.actionsFormBuilder.clearInputInEdit(\r\n input.id\r\n );\r\n })\r\n ).subscribe();\r\n }\r\n elementBlur = (event: any, element: ElementEditorInnerSectionElementInterface) => {\r\n this.inputInEdit$.pipe(\r\n take(1),\r\n tap((input) => {\r\n if (!input) return;\r\n this.store.actionsFormBuilder.elementBlur(input.id, event, element);\r\n })\r\n ).subscribe();\r\n }\r\n \r\n inputInEditValidationErrors$ = this.store.formBuilderSelectors.inputInEditValidationErrors$\r\n\r\n\r\nvm$ = combineLatest([\r\n this.defaultInputInEdit$,\r\n this.inputInEdit$,\r\n this.inputElementEditorConfigs$,\r\n this.inputInEditValidationErrors$,\r\n this.formInputs$,\r\n \r\n]\r\n\r\n).pipe(\r\n map(([defaultInputInEdit, inputInEdit, inputElementEditorConfigs,\r\n\r\n inputInEditValidationErrors,\r\n formInputs\r\n ]) => {\r\n return {\r\n defaultInputInEdit,\r\n inputInEdit,\r\n inputElementEditorConfigs,\r\n inputInEditValidationErrors,\r\n formInputs\r\n }\r\n })\r\n\r\n)\r\n\r\nshowDebugData() {\r\n this.vm$.pipe(take(1)).subscribe((vm) => {\r\n const jsonData = JSON.stringify(vm, null, 2);\r\n const blob = new Blob([jsonData], { type: 'application/json' });\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'debug-data.json';\r\n link.click();\r\n window.URL.revokeObjectURL(url);\r\n });\r\n}\r\n}","<mat-toolbar class=\"section-header\">\r\n <span class=\"header\">Element configuration</span>\r\n <span class=\"spacer\"></span>\r\n</mat-toolbar>\r\n<mat-divider></mat-divider>\r\n<ng-container *ngIf=\"(vm$ |async) as vm\">\r\n @defer (on viewport) {\r\n\r\n <mat-accordion togglePosition=\"before\">\r\n @for(section of (vm.inputElementEditorConfigs.editorSections||[]); track section.id) {\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{section.label}}\r\n <span class=\"spacer\"></span>\r\n @if (section.hasErrors) {\r\n <mat-icon color=\"warn\">error</mat-icon>\r\n }\r\n <span class=\"showItemValue\" *ngIf=\"section.showItemValue && !!(vm.inputInEdit)\">\r\n {{ vm.inputInEdit[section.showItemValue]}}\r\n </span>\r\n <mat-divider style=\"position: absolute; left:0px; width:100%; bottom:0px;\"></mat-divider>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div style=\"margin-top: 16px;\"></div>\r\n\r\n <!-- Element type selector (only in first section) -->\r\n @if($index === 0) {\r\n <mat-nav-list>\r\n <mat-list-item [disabled]=\"vm.inputInEdit?.systemDefault\" matTooltip=\"Change input element\"\r\n (click)=\"vm.inputInEdit?.systemDefault? '':clearInputInEdit()\">\r\n <img matListItemAvatar [src]=\"(vm.defaultInputInEdit)?.illustration\"\r\n [alt]=\"(vm.defaultInputInEdit)?.label\">\r\n <span matListItemTitle>{{ (vm.defaultInputInEdit)?.label}}</span>\r\n <span matListItemMeta>\r\n <mat-icon>arrow_forward_ios</mat-icon>\r\n </span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n </mat-nav-list>\r\n }\r\n\r\n <!-- Section elements -->\r\n @for(element of section.elements; track element.id) {\r\n <p style=\"margin-bottom: 16px; margin-top: 8px;\">\r\n @defer (on viewport) {\r\n <lib-t-dynamic-data-edit \r\n [editorConfig]=\"element\" \r\n [data]=\"(vm.inputInEdit)\"\r\n [validationErrors]=\"element.computedErrors||[]\"\r\n (valueChange)=\"elementConfigurationChanged($event, element)\" [formInputs]=\"(vm.formInputs)||[]\"\r\n (blur)=\"elementBlur($event, element)\">\r\n </lib-t-dynamic-data-edit>\r\n } @placeholder {\r\n <div style=\"padding: 50px; display:flex; justify-content:center; align-items:center; text-align: center;\">\r\n <mat-spinner diameter=\"18\"></mat-spinner>\r\n </div>\r\n }\r\n </p>\r\n }\r\n </mat-expansion-panel>\r\n }\r\n </mat-accordion>\r\n } @placeholder {\r\n <div style=\"padding: 50px; display:flex; justify-content:center; align-items:center; text-align: center;\">\r\n <mat-spinner diameter=\"50\" />\r\n </div>\r\n } @error {\r\n <div style=\"padding: 16px;\">\r\n <mat-error>\r\n <h3>Error loading element editor</h3>\r\n <p>An error occurred while loading the element editor. Please try again later.</p>\r\n </mat-error>\r\n </div>\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n <!-- Diagnostic section -->\r\n <mat-toolbar class=\"section-header\">\r\n <span class=\"header\">Diagnostic data</span>\r\n <span class=\"spacer\"></span>\r\n </mat-toolbar>\r\n <mat-divider></mat-divider>\r\n\r\n <mat-accordion togglePosition=\"before\">\r\n\r\n @if(((vm.inputInEditValidationErrors)||[]).length > 0) {\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n Validation Errors\r\n <span class=\"spacer\"></span>\r\n <mat-error>\r\n {{(vm.inputInEditValidationErrors).length||''}}\r\n </mat-error>\r\n <mat-divider style=\"position: absolute; left:0px; width:100%; bottom:0px;\"></mat-divider>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div style=\"margin-top: 16px;\"></div>\r\n <mat-error style=\"border: solid 1px; border-radius: 8px; padding: 16px;\">\r\n <h1>All configuration errors:</h1>\r\n <p>\r\n {{(vm.inputInEditValidationErrors).length||''}} errors found. When an error is found, the input will\r\n not\r\n be saved.\r\n </p>\r\n <ul>\r\n @for(error of (vm.inputInEditValidationErrors); track error.key) {\r\n <li>\r\n <strong>{{error.key}}</strong> {{error.message}}\r\n </li>\r\n }\r\n </ul>\r\n </mat-error>\r\n </mat-expansion-panel>\r\n }\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\" padding-right: 0px;\">\r\n <mat-panel-title>\r\n Complete Virtual Model\r\n <span class=\"spacer\"></span>\r\n <button mat-icon-button (click)=\"showDebugData()\">\r\n <mat-icon>\r\n troubleshoot\r\n </mat-icon>\r\n </button>\r\n <mat-divider style=\"position: absolute; left:0px; width:100%; bottom:0px;\"></mat-divider>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div style=\"margin-top: 16px;\"></div>\r\n <mat-card style=\"padding: 16px;\">\r\n\r\n <lib-t-dynamic-data-view [data]=\"({\r\n 'Default Input Template InEdit': vm.defaultInputInEdit,\r\n 'Input In Edit': vm.inputInEdit,\r\n 'Input Editor Sections': vm.inputElementEditorConfigs?.editorSections,\r\n })\"></lib-t-dynamic-data-view>\r\n\r\n </mat-card>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</ng-container>","import { CommonModule } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\n\r\nimport { DefaultElementComponent } from '../default-element/default-element.component';\r\nimport { InputElementEditorComponent } from '../input-element-editor/input-element-editor.component';\r\nimport { FormsStoreService } from '../../../forms/store/forms-store.service';\r\n\r\nimport { Observable, take, tap} from 'rxjs';\r\nimport { DefaultInputConfig } from 'ngx-t-forms-types';\r\n\r\n@Component({\r\n selector: 'app-input-editor',\r\n standalone: true,\r\n imports: [CommonModule, \r\n MatModulesModule,\r\n DefaultElementComponent, \r\n InputElementEditorComponent],\r\n templateUrl: './input-editor.component.html',\r\n styleUrl: './input-editor.component.scss'\r\n})\r\nexport class InputEditorComponent {\r\n defaultInputs = DefaultInputConfig\r\n inputInEdit$ = this.store.formBuilderSelectors.inputInEdit$\r\n defaultInputInEdit$ = this.store.formBuilderSelectors.defaultInputInEdit$\r\n\r\n constructor(private store:FormsStoreService) {\r\n }\r\n\r\n saveInput =()=>{\r\n this.inputInEdit$.pipe(\r\n take(1),\r\n tap((input)=>{\r\n if(!input) return\r\n this.store.actionsFormBuilder.saveInput(input.id)\r\n })\r\n ).subscribe()\r\n }\r\n closeEditor=()=> this.store.actions.setInputInEditId({\r\n inputInEdit:null\r\n })\r\n get validationErrors$(): Observable<{\r\n key: string;\r\n message: string;\r\n }[] | null>{\r\n return this.store.formBuilderSelectors.inputInEditValidationErrors$\r\n }\r\n}\r\n","<mat-card \r\n\r\nstyle=\"\r\n\r\nbackground: var(--mat-sys-surface-container, var(--mat-app-surface));\r\nmargin:0px;\r\nborder:solid 1px var(--mat-divider-color, var(--mat-app-outline))\">\r\n \r\n <mat-card-header >\r\n <mat-card-title>\r\n {{\r\n !!(inputInEdit$|async)?.element\r\n ? \"Edit \" + (inputInEdit$|async)?.label + \" element\"\r\n : \"Setup Form Element\"\r\n }}\r\n </mat-card-title>\r\n <mat-card-subtitle> {{\r\n !!(inputInEdit$|async)?.element? \"Configure the element below\": \"Form element are components making up a form section. Types of form elements are defined by their behaviour and use case, for example a date range picker is well suited to determine duration.\"\r\n }}</mat-card-subtitle>\r\n <button style=\"position: absolute;right:4px\" mat-icon-button cdkDragHandle >\r\n <mat-icon>drag_indicator</mat-icon>\r\n </button>\r\n </mat-card-header>\r\n \r\n\r\n\r\n @if(!!((inputInEdit$|async))?.element){\r\n <app-input-element-editor \r\n style=\"background: var(--mat-sys-surface-container, var(--mat-app-surface))\">\r\n </app-input-element-editor>\r\n }@else{\r\n <app-default-element style=\"background: var(--mat-sys-surface-container, var(--mat-app-surface))\"></app-default-element>\r\n }\r\n <br>\r\n\r\n <br>\r\n <mat-divider style=\"position: sticky;bottom: 53px;\"></mat-divider>\r\n <mat-toolbar style=\"position: sticky;bottom: 0;\">\r\n <span class=\"spacer\"></span>\r\n <button (click)=\"closeEditor()\" class=\"\" mat-button>close</button>\r\n \r\n <button *ngIf=\"!((inputInEdit$|async))?.id\" mat-flat-button \r\n (click)=\"saveInput()\"\r\n [disabled]=\"((validationErrors$|async)||[]).length>0\"\r\n color=\"primary\">save new input</button>\r\n </mat-toolbar>\r\n\r\n \r\n</mat-card>\r\n"],"names":["i1","i2","i3","i6","i7","i8","i9","i10","i11","i1.FormsStoreService","i4","i5"],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Output, Input, HostBinding, Optional, Self, Component } from '@angular/core';
|
|
3
|
+
import { MatFormFieldControl } from '@angular/material/form-field';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { j as DataTreeComponent } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import * as i1 from '@angular/forms';
|
|
8
|
+
|
|
9
|
+
class MapMatOptionsKeys {
|
|
10
|
+
static { this.nextId = 0; }
|
|
11
|
+
set mapToData(value) {
|
|
12
|
+
this._mapToData = value;
|
|
13
|
+
console.error('mapToData changed', value);
|
|
14
|
+
}
|
|
15
|
+
;
|
|
16
|
+
get mapToData() {
|
|
17
|
+
return this._mapToData;
|
|
18
|
+
}
|
|
19
|
+
constructor(ngControl, _elementRef) {
|
|
20
|
+
this.ngControl = ngControl;
|
|
21
|
+
this._elementRef = _elementRef;
|
|
22
|
+
// -- MatFormFieldControl Boilerplate --
|
|
23
|
+
this.stateChanges = new Subject();
|
|
24
|
+
this.id = `lib-map-mat-options-keys-${MapMatOptionsKeys.nextId++}`;
|
|
25
|
+
this.placeholder = '';
|
|
26
|
+
this.focused = false;
|
|
27
|
+
this.touched = false;
|
|
28
|
+
this.required = false;
|
|
29
|
+
// -- Inputs --
|
|
30
|
+
this.disabled = false;
|
|
31
|
+
this.errors = [];
|
|
32
|
+
this.value = null;
|
|
33
|
+
this.formInputs = [];
|
|
34
|
+
// -- Outputs --
|
|
35
|
+
this.valueChanged = new EventEmitter();
|
|
36
|
+
this.onTouched = () => { };
|
|
37
|
+
if (this.ngControl) {
|
|
38
|
+
this.ngControl.valueAccessor = this;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this.stateChanges.complete();
|
|
43
|
+
}
|
|
44
|
+
// -- Getters for Template --
|
|
45
|
+
get empty() {
|
|
46
|
+
if (this.value == null)
|
|
47
|
+
return true;
|
|
48
|
+
if (typeof this.value === 'string')
|
|
49
|
+
return this.value === '';
|
|
50
|
+
return Array.isArray(this.value) && this.value.length === 0;
|
|
51
|
+
}
|
|
52
|
+
get shouldLabelFloat() {
|
|
53
|
+
return this.focused || !this.empty;
|
|
54
|
+
}
|
|
55
|
+
get errorState() {
|
|
56
|
+
const hasError = !!this.ngControl?.control?.errors ||
|
|
57
|
+
((this.errors?.length ?? 0) > 0 && this.touched);
|
|
58
|
+
return (!this.value && !!this.required) || hasError;
|
|
59
|
+
}
|
|
60
|
+
// -- MatFormFieldControl Methods --
|
|
61
|
+
setDescribedByIds(ids) {
|
|
62
|
+
if (this._elementRef?.nativeElement) {
|
|
63
|
+
const controlElement = this._elementRef.nativeElement.querySelector('.lib-map-mat-options-keys');
|
|
64
|
+
if (controlElement) {
|
|
65
|
+
controlElement.setAttribute('aria-describedby', ids.join(' '));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
onContainerClick(_event) {
|
|
70
|
+
this.markAsTouched();
|
|
71
|
+
this.stateChanges.next();
|
|
72
|
+
}
|
|
73
|
+
markAsTouched() {
|
|
74
|
+
if (!this.touched) {
|
|
75
|
+
this.onTouched();
|
|
76
|
+
this.touched = true;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// -- ControlValueAccessor --
|
|
80
|
+
writeValue(value) {
|
|
81
|
+
this.value = value;
|
|
82
|
+
this.stateChanges.next();
|
|
83
|
+
}
|
|
84
|
+
registerOnChange(_fn) {
|
|
85
|
+
// Handled by parent or ngControl usually, but good practice to have stub
|
|
86
|
+
}
|
|
87
|
+
registerOnTouched(fn) {
|
|
88
|
+
this.onTouched = fn;
|
|
89
|
+
}
|
|
90
|
+
pathChanged(path) {
|
|
91
|
+
if (!Array.isArray(path) && typeof path !== 'string')
|
|
92
|
+
return;
|
|
93
|
+
this.value = path;
|
|
94
|
+
this.valueChanged.emit(path);
|
|
95
|
+
this.stateChanges.next();
|
|
96
|
+
}
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MapMatOptionsKeys, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: MapMatOptionsKeys, isStandalone: true, selector: "lib-map-mat-options-keys", inputs: { disabled: "disabled", errors: "errors", value: "value", formInputs: "formInputs", mapToData: "mapToData" }, outputs: { valueChanged: "valueChanged" }, host: { properties: { "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: MapMatOptionsKeys }], ngImport: i0, template: "<div class=\"lib-map-mat-options-keys\">\r\n <app-data-tree\r\n [data]=\"mapToData\"\r\n [value]=\"value || ''\"\r\n [formInputs]=\"formInputs\"\r\n (pathChanged)=\"pathChanged($event)\">\r\n </app-data-tree>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: DataTreeComponent, selector: "app-data-tree", inputs: ["data", "value", "formInputs"], outputs: ["pathChanged"] }, { kind: "ngmodule", type: CommonModule }] }); }
|
|
99
|
+
}
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MapMatOptionsKeys, decorators: [{
|
|
101
|
+
type: Component,
|
|
102
|
+
args: [{ selector: 'lib-map-mat-options-keys', imports: [DataTreeComponent, CommonModule], providers: [{ provide: MatFormFieldControl, useExisting: MapMatOptionsKeys }], standalone: true, template: "<div class=\"lib-map-mat-options-keys\">\r\n <app-data-tree\r\n [data]=\"mapToData\"\r\n [value]=\"value || ''\"\r\n [formInputs]=\"formInputs\"\r\n (pathChanged)=\"pathChanged($event)\">\r\n </app-data-tree>\r\n</div>\r\n" }]
|
|
103
|
+
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
104
|
+
type: Optional
|
|
105
|
+
}, {
|
|
106
|
+
type: Self
|
|
107
|
+
}] }, { type: i0.ElementRef }], propDecorators: { id: [{
|
|
108
|
+
type: HostBinding
|
|
109
|
+
}], disabled: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], errors: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], value: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], formInputs: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], mapToData: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], valueChanged: [{
|
|
120
|
+
type: Output
|
|
121
|
+
}] } });
|
|
122
|
+
|
|
123
|
+
export { MapMatOptionsKeys };
|
|
124
|
+
//# sourceMappingURL=ngx-t-forms-map-mat-options-keys-CbdW82su.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-t-forms-map-mat-options-keys-CbdW82su.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/map-mat-options-keys/map-mat-options-keys.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/map-mat-options-keys/map-mat-options-keys.html"],"sourcesContent":["import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n Self,\r\n} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs';\r\nimport { IConfigElementError } from '../../t-dynamic-data-edit.component';\r\nimport { FormColumnInputs, TreeNode } from 'ngx-t-forms-types';\r\nimport { DataTreeComponent } from '../api-value-access-rules/elements/data-tree/data-tree.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-map-mat-options-keys',\r\n imports: [DataTreeComponent,CommonModule],\r\n providers: [{ provide: MatFormFieldControl, useExisting: MapMatOptionsKeys }],\r\n standalone: true,\r\n templateUrl: './map-mat-options-keys.html',\r\n styleUrl: './map-mat-options-keys.css',\r\n})\r\nexport class MapMatOptionsKeys implements MatFormFieldControl<TreeNode[] | string | null>, OnDestroy {\r\n static nextId = 0;\r\n private _mapToData: unknown;\r\n // -- MatFormFieldControl Boilerplate --\r\n stateChanges = new Subject<void>();\r\n @HostBinding() id = `lib-map-mat-options-keys-${MapMatOptionsKeys.nextId++}`;\r\n placeholder = '';\r\n focused = false;\r\n touched = false;\r\n controlType?: string | undefined;\r\n autofilled?: boolean | undefined;\r\n userAriaDescribedBy?: string | undefined;\r\n disableAutomaticLabeling?: boolean | undefined;\r\n required = false;\r\n\r\n // -- Inputs --\r\n @Input() disabled = false;\r\n @Input() errors: IConfigElementError[] | undefined = [];\r\n @Input() value: TreeNode[] | string | null = null;\r\n @Input() formInputs: FormColumnInputs[] = [];\r\n @Input() set mapToData(value: unknown){\r\n this._mapToData = value;\r\n console.error('mapToData changed', value);\r\n };\r\n get mapToData(): unknown {\r\n return this._mapToData;\r\n }\r\n\r\n // -- Outputs --\r\n @Output() valueChanged = new EventEmitter<TreeNode[] | string | null>();\r\n\r\n constructor(\r\n @Optional() @Self() public ngControl: NgControl,\r\n private _elementRef: ElementRef<HTMLElement>\r\n ) {\r\n if (this.ngControl) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stateChanges.complete();\r\n }\r\n\r\n // -- Getters for Template --\r\n get empty(): boolean {\r\n if (this.value == null) return true;\r\n if (typeof this.value === 'string') return this.value === '';\r\n return Array.isArray(this.value) && this.value.length === 0;\r\n }\r\n\r\n get shouldLabelFloat(): boolean {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n get errorState(): boolean {\r\n const hasError =\r\n !!this.ngControl?.control?.errors ||\r\n ((this.errors?.length ?? 0) > 0 && this.touched);\r\n return (!this.value && !!this.required) || hasError;\r\n }\r\n\r\n // -- MatFormFieldControl Methods --\r\n setDescribedByIds(ids: string[]) {\r\n if (this._elementRef?.nativeElement) {\r\n const controlElement = this._elementRef.nativeElement.querySelector(\r\n '.lib-map-mat-options-keys'\r\n );\r\n if (controlElement) {\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n }\r\n }\r\n\r\n onContainerClick(_event: MouseEvent): void {\r\n this.markAsTouched();\r\n this.stateChanges.next();\r\n }\r\n\r\n onTouched = () => { };\r\n\r\n markAsTouched() {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n // -- ControlValueAccessor --\r\n writeValue(value: TreeNode[] | string | null): void {\r\n this.value = value;\r\n this.stateChanges.next();\r\n }\r\n\r\n registerOnChange(_fn: (value: TreeNode[] | string | null) => void): void {\r\n // Handled by parent or ngControl usually, but good practice to have stub\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n pathChanged(path: TreeNode[] | string): void {\r\n if (!Array.isArray(path) && typeof path !== 'string') return;\r\n this.value = path;\r\n this.valueChanged.emit(path);\r\n this.stateChanges.next();\r\n }\r\n\r\n \r\n}\r\n","<div class=\"lib-map-mat-options-keys\">\r\n <app-data-tree\r\n [data]=\"mapToData\"\r\n [value]=\"value || ''\"\r\n [formInputs]=\"formInputs\"\r\n (pathChanged)=\"pathChanged($event)\">\r\n </app-data-tree>\r\n</div>\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Output, Input, HostBinding, Optional, Self, Component } from '@angular/core';
|
|
3
|
-
import { M as MatModulesModule, S as SearchListPipe } from './ngx-t-forms-ngx-t-forms-
|
|
3
|
+
import { M as MatModulesModule, S as SearchListPipe } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { MatFormFieldControl } from '@angular/material/form-field';
|
|
6
6
|
import { Subject } from 'rxjs';
|
|
@@ -8,8 +8,8 @@ import * as i1 from '@angular/forms';
|
|
|
8
8
|
import { FormsModule } from '@angular/forms';
|
|
9
9
|
import * as i2 from '@angular/material/autocomplete';
|
|
10
10
|
import * as i4 from '@angular/material/chips';
|
|
11
|
-
import * as
|
|
12
|
-
import * as
|
|
11
|
+
import * as i3 from '@angular/material/icon';
|
|
12
|
+
import * as i3$1 from '@angular/material/select';
|
|
13
13
|
import * as i13 from '@angular/material/input';
|
|
14
14
|
|
|
15
15
|
class MatChipListEditorComponent {
|
|
@@ -56,7 +56,6 @@ class MatChipListEditorComponent {
|
|
|
56
56
|
this.stateChanges.next();
|
|
57
57
|
}
|
|
58
58
|
markAsTouched() {
|
|
59
|
-
console.log('markAsTouched');
|
|
60
59
|
if (!this.touched) {
|
|
61
60
|
this.onTouched();
|
|
62
61
|
this.touched = true;
|
|
@@ -72,7 +71,7 @@ class MatChipListEditorComponent {
|
|
|
72
71
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: MatChipListEditorComponent, isStandalone: true, selector: "lib-mat-chip-list-editor", inputs: { disabled: "disabled", multiple: "multiple", errors: "errors", value: "value", required: "required", options: "options" }, outputs: { valueChange: "valueChange" }, host: { properties: { "id": "this.id" } }, providers: [{
|
|
73
72
|
provide: MatFormFieldControl,
|
|
74
73
|
useExisting: MatChipListEditorComponent
|
|
75
|
-
}], ngImport: i0, template: "<!-- add search -->\r\n<div style=\"display: flex; flex-direction: column;\" >\r\n <div>\r\n <mat-form-field subscriptSizing=\"dynamic\" class=\"search-field\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n <input matInput [(ngModel)]=\"listSearchKey\"\r\n required=\"false\"\r\n [matAutocomplete]=\"auto\" placeholder=\"Search options\">\r\n <mat-autocomplete \r\n autoActiveFirstOption\r\n #auto=\"matAutocomplete\">\r\n @for (option of optionGroups ; track option) {\r\n <mat-option \r\n (click)=\"listSearchKey = option\"\r\n [value]=\"option\">{{option}}</mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <mat-chip-listbox \r\n [multiple]=\"multiple\"\r\n [value]=\"value\" [disabled]=\"disabled\" (change)=\"valueListChanged($event)\" aria-l\r\n abel=\"Chip select options\">\r\n @for(option of (options||[])|searchList:listSearchKey;track option.value){\r\n <mat-chip-option [value]=\"option.value\">{{option.label}}</mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n </div>\r\n</div>", styles: ["mat-chip-listbox{max-height:500px;overflow-y:auto}.search-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i4.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i4.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "component", type:
|
|
74
|
+
}], ngImport: i0, template: "<!-- add search -->\r\n<div style=\"display: flex; flex-direction: column;\" >\r\n <div>\r\n <mat-form-field subscriptSizing=\"dynamic\" class=\"search-field\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n <input matInput [(ngModel)]=\"listSearchKey\"\r\n required=\"false\"\r\n [matAutocomplete]=\"auto\" placeholder=\"Search options\">\r\n <mat-autocomplete \r\n autoActiveFirstOption\r\n #auto=\"matAutocomplete\">\r\n @for (option of optionGroups ; track option) {\r\n <mat-option \r\n (click)=\"listSearchKey = option\"\r\n [value]=\"option\">{{option}}</mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <mat-chip-listbox \r\n [multiple]=\"multiple\"\r\n [value]=\"value\" [disabled]=\"disabled\" (change)=\"valueListChanged($event)\" aria-l\r\n abel=\"Chip select options\">\r\n @for(option of (options||[])|searchList:listSearchKey;track option.value){\r\n <mat-chip-option [value]=\"option.value\">{{option.label}}</mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n </div>\r\n</div>", styles: ["mat-chip-listbox{max-height:500px;overflow-y:auto}.search-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i4.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i4.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i13.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: SearchListPipe, name: "searchList" }] }); }
|
|
76
75
|
}
|
|
77
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MatChipListEditorComponent, decorators: [{
|
|
78
77
|
type: Component,
|
|
@@ -103,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
103
102
|
}] } });
|
|
104
103
|
|
|
105
104
|
export { MatChipListEditorComponent };
|
|
106
|
-
//# sourceMappingURL=ngx-t-forms-mat-chip-list-editor.component-
|
|
105
|
+
//# sourceMappingURL=ngx-t-forms-mat-chip-list-editor.component-DmTyO9Wi.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-t-forms-mat-chip-list-editor.component-DmTyO9Wi.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/mat-chip-list-editor/mat-chip-list-editor.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/mat-chip-list-editor/mat-chip-list-editor.component.html"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output, Self } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs';\r\nimport { FormsModule, NgControl } from '@angular/forms';\r\nimport { IConfigElementError } from '../../t-dynamic-data-edit.component';\r\nimport { MatChipListboxChange } from '@angular/material/chips';\r\nimport { SearchListPipe } from '../../../../shared/pipes/list-search.pipe';\r\n\r\n@Component({\r\n selector: 'lib-mat-chip-list-editor',\r\n standalone: true,\r\n imports: [MatModulesModule, CommonModule, FormsModule, SearchListPipe],\r\n templateUrl: './mat-chip-list-editor.component.html',\r\n styleUrl: './mat-chip-list-editor.component.css',\r\n providers: [{\r\n provide: MatFormFieldControl,\r\n useExisting: MatChipListEditorComponent\r\n }],\r\n})\r\nexport class MatChipListEditorComponent implements MatFormFieldControl<{\r\n label: string,\r\n value: any,\r\n group?: string\r\n}[]> {\r\n\r\n listSearchKey: string = '';\r\n static nextId = 0;\r\n stateChanges = new Subject<void>();\r\n\r\n @HostBinding() id = `lib-mat-chip-list-editor-${MatChipListEditorComponent.nextId++}`;\r\n\r\n placeholder: string = ''\r\n constructor(@Optional() @Self() public ngControl: NgControl, private _elementRef: ElementRef<HTMLElement>,) { }\r\n focused: boolean = false;\r\n get empty() {\r\n return !this.value\r\n }\r\n get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n @Input() disabled: boolean = false;\r\n @Input() multiple:boolean = false\r\n get errorState(): boolean {\r\n const hasError = !!this.ngControl?.control?.errors || (this.errors || []).length > 0 && this.touched\r\n return !this.value && !!this.required || hasError\r\n }\r\n\r\n controlType?: string | undefined;\r\n autofilled?: boolean | undefined;\r\n userAriaDescribedBy?: string | undefined;\r\n disableAutomaticLabeling?: boolean | undefined;\r\n setDescribedByIds(ids: string[]) {\r\n // Ensure the component view is initialized\r\n if (this._elementRef && this._elementRef.nativeElement) {\r\n const controlElement = this._elementRef.nativeElement.querySelector('.lib-mat-chip-list-editor');\r\n // Check if the controlElement exists before attempting to set its attribute\r\n if (controlElement) {\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n }\r\n }\r\n onContainerClick(event: MouseEvent): void {\r\n this.markAsTouched();\r\n this.stateChanges.next();\r\n }\r\n\r\n touched: boolean = false;\r\n onTouched = () => { };\r\n markAsTouched() {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n @Input() errors: IConfigElementError[] | undefined = [];\r\n @Input() value: any;\r\n @Input() required: boolean = false;\r\n @Input() options: {\r\n label: string,\r\n value: any,\r\n group?: string\r\n }[] | undefined = []\r\n @Output() valueChange = new EventEmitter<any>();\r\n\r\n valueListChanged($event: MatChipListboxChange) {\r\n this.valueChange.emit($event.value);\r\n }\r\n\r\n get optionGroups():string[] {\r\n return [... new Set((this.options || []).map(op => op.group))].filter(g => !!g && g.trim() !== '') as string[];\r\n }\r\n\r\n\r\n}\r\n","<!-- add search -->\r\n<div style=\"display: flex; flex-direction: column;\" >\r\n <div>\r\n <mat-form-field subscriptSizing=\"dynamic\" class=\"search-field\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n <input matInput [(ngModel)]=\"listSearchKey\"\r\n required=\"false\"\r\n [matAutocomplete]=\"auto\" placeholder=\"Search options\">\r\n <mat-autocomplete \r\n autoActiveFirstOption\r\n #auto=\"matAutocomplete\">\r\n @for (option of optionGroups ; track option) {\r\n <mat-option \r\n (click)=\"listSearchKey = option\"\r\n [value]=\"option\">{{option}}</mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <mat-chip-listbox \r\n [multiple]=\"multiple\"\r\n [value]=\"value\" [disabled]=\"disabled\" (change)=\"valueListChanged($event)\" aria-l\r\n abel=\"Chip select options\">\r\n @for(option of (options||[])|searchList:listSearchKey;track option.value){\r\n <mat-chip-option [value]=\"option.value\">{{option.label}}</mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n </div>\r\n</div>"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { EventEmitter, Output, Input, HostBinding, Optional, Self, Component } f
|
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { MatFormFieldControl } from '@angular/material/form-field';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
|
-
import { M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-
|
|
6
|
+
import { M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
|
|
7
7
|
import * as i1 from '@angular/forms';
|
|
8
8
|
import * as i2 from '@angular/material/slider';
|
|
9
9
|
|
|
@@ -55,7 +55,6 @@ class MatSliderEditorComponent {
|
|
|
55
55
|
this.stateChanges.next();
|
|
56
56
|
}
|
|
57
57
|
markAsTouched() {
|
|
58
|
-
console.log('markAsTouched');
|
|
59
58
|
if (!this.touched) {
|
|
60
59
|
this.onTouched();
|
|
61
60
|
this.touched = true;
|
|
@@ -107,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
107
106
|
}] } });
|
|
108
107
|
|
|
109
108
|
export { MatSliderEditorComponent };
|
|
110
|
-
//# sourceMappingURL=ngx-t-forms-mat-slider-editor.component-
|
|
109
|
+
//# sourceMappingURL=ngx-t-forms-mat-slider-editor.component-DZ4TenrI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-t-forms-mat-slider-editor.component-DZ4TenrI.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/mat-slider-editor/mat-slider-editor.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/mat-slider-editor/mat-slider-editor.component.html"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output, Self } from '@angular/core';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs';\r\nimport { NgControl } from '@angular/forms';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { IConfigElementError } from '../../t-dynamic-data-edit.component';\r\n\r\n@Component({\r\n selector: 'lib-mat-slider-editor',\r\n standalone: true,\r\n providers: [{ provide: MatFormFieldControl, useExisting: MatSliderEditorComponent }],\r\n imports: [MatModulesModule, CommonModule],\r\n templateUrl: './mat-slider-editor.component.html',\r\n styleUrl: './mat-slider-editor.component.css'\r\n})\r\nexport class MatSliderEditorComponent implements MatFormFieldControl<number> {\r\n\r\n static nextId = 0;\r\n stateChanges = new Subject<void>();\r\n\r\n @HostBinding() id = `lib-mat-slider-editor-${MatSliderEditorComponent.nextId++}`;\r\n\r\n placeholder: string = ''\r\n constructor(@Optional() @Self() public ngControl: NgControl, private _elementRef: ElementRef<HTMLElement>,) { }\r\n focused: boolean = false;\r\n get empty() {\r\n return !this.value\r\n }\r\n get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n @Input() disabled: boolean = false;\r\n get errorState(): boolean {\r\n const hasError = !!this.ngControl?.control?.errors || (this.errors||[]).length > 0 && this.touched\r\n \r\n return !this.value && !!this.required || hasError\r\n }\r\n\r\n controlType?: string | undefined;\r\n autofilled?: boolean | undefined;\r\n userAriaDescribedBy?: string | undefined;\r\n disableAutomaticLabeling?: boolean | undefined;\r\n setDescribedByIds(ids: string[]) {\r\n // Ensure the component view is initialized\r\n if (this._elementRef && this._elementRef.nativeElement) {\r\n const controlElement = this._elementRef.nativeElement.querySelector('.lib-mat-slider-editor');\r\n // Check if the controlElement exists before attempting to set its attribute\r\n if (controlElement) {\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n }\r\n }\r\n onContainerClick(event: MouseEvent): void {\r\n this.markAsTouched();\r\n this.stateChanges.next();\r\n }\r\n\r\n touched: boolean = false;\r\n onTouched = () => { };\r\n markAsTouched() {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n\r\n _required: boolean = false;\r\n @Input() set required(value: boolean) {\r\n this._required = value;\r\n }\r\n get required(): boolean {\r\n return this._required;\r\n }\r\n @Input() errors:IConfigElementError[] |undefined = [];\r\n @Input() label: string = '';\r\n @Input() min: number = 0;\r\n @Input() max: number = 100;\r\n @Input() step: number = 1;\r\n @Input() value: number = 0;\r\n @Input() format?: (value: any) => any = (value: any) => value;\r\n @Input() formatLabel: (value: any) => any = (value: any) => value;\r\n @Output() valueChange = new EventEmitter<number>();\r\n valueChangedSlider(event: any) {\r\n this.valueChange.emit(event);\r\n }\r\n\r\n}\r\n","\r\n<section class=\"range\">\r\n <span> {{min || 0 }}</span>\r\n<mat-slider \r\n[disabled]=\"disabled\" \r\nstyle=\"width: 100%;\" \r\n showTickMarks discrete [displayWith]=\"format || formatLabel\"\r\n[max]=\"max || 100\" min=\"min || 0\"\r\n[step]=\"step || 1\" tickInterval=\"step || 1\">\r\n<input (input)=\"valueChangedSlider($event)\" [value]=\"value\" matSliderThumb>\r\n</mat-slider>\r\n\r\n<span> {{ max || 100 }}</span>\r\n</section>\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, HostBinding, Input, Output, Optional, Self, Component } from '@angular/core';
|
|
3
|
-
import { M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-
|
|
3
|
+
import { M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { MatFormFieldControl } from '@angular/material/form-field';
|
|
6
6
|
import { Subject } from 'rxjs/internal/Subject';
|
|
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
152
152
|
}] } });
|
|
153
153
|
|
|
154
154
|
export { MatSliderToggleEditorComponent };
|
|
155
|
-
//# sourceMappingURL=ngx-t-forms-mat-slider-toggle-editor.component-
|
|
155
|
+
//# sourceMappingURL=ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-t-forms-mat-slider-toggle-editor.component-
|
|
1
|
+
{"version":3,"file":"ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/mat-slider-toggle-editor/mat-slider-toggle-editor.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/mat-slider-toggle-editor/mat-slider-toggle-editor.component.html"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output, Self } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs/internal/Subject';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { IConfigElementError } from '../../t-dynamic-data-edit.component';\r\n\r\n@Component({\r\n selector: 'lib-mat-slider-toggle-editor',\r\n standalone: true,\r\n imports: [MatModulesModule,CommonModule],\r\n templateUrl: './mat-slider-toggle-editor.component.html',\r\n styleUrl: './mat-slider-toggle-editor.component.css',\r\n providers: [\r\n {\r\n provide: MatFormFieldControl,\r\n useExisting: MatSliderToggleEditorComponent\r\n }\r\n ],\r\n})\r\nexport class MatSliderToggleEditorComponent implements MatFormFieldControl<boolean>, ControlValueAccessor {\r\n static nextId = 0;\r\n stateChanges = new Subject<void>();\r\n focused = false;\r\n touched = false;\r\n controlType = 'lib-mat-slider-toggle-editor';\r\n autofilled = false;\r\n\r\n @Input() name: string | undefined = undefined;\r\n @Input() label: string = '';\r\n @Input() errors:IConfigElementError[] | undefined = [];\r\n @Output() valueChange = new EventEmitter<boolean>();\r\n @Input() disabled: boolean = false;\r\n private _required = false;\r\n @Input()\r\n get required(): boolean {\r\n return this._required;\r\n }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n \r\n private _value: boolean = false;\r\n @Input()\r\n get value(): boolean {\r\n \r\n return this._value;\r\n }\r\n set value(val: boolean) {\r\n this._value = val;\r\n this.onChange(val);\r\n this.stateChanges.next();\r\n }\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string = '';\r\n\r\n @HostBinding() id = `lib-mat-slider-toggle-editor-${MatSliderToggleEditorComponent.nextId++}`;\r\n @HostBinding('attr.aria-describedby') describedBy = '';\r\n @HostBinding('class.floating') get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n get empty(): boolean {\r\n return this.value === false;\r\n }\r\n\r\n get errorState(): boolean {\r\n return !this.value && this.required && this.touched || !!this.ngControl?.errors || (this.errors||[]).length >0;\r\n }\r\n\r\n constructor(\r\n @Optional() @Self() public ngControl: NgControl,\r\n private _elementRef: ElementRef<HTMLElement>\r\n ) {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n // ControlValueAccessor methods\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n writeValue(value: boolean): void {\r\n this._value = value;\r\n this.stateChanges.next();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n this.stateChanges.next();\r\n }\r\n\r\n // MatFormFieldControl methods\r\n setDescribedByIds(ids: string[]): void {\r\n const element = this._elementRef?.nativeElement;\r\n if (element) {\r\n element.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n }\r\n\r\n onContainerClick(event: MouseEvent): void {\r\n if (!this.focused) {\r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n markAsTouched(): void {\r\n if (!this.touched) {\r\n this.touched = true;\r\n this.onTouched();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n valueToggleChanged(value: boolean): void {\r\n this.value = value;\r\n this.valueChange.emit(value);\r\n this.markAsTouched();\r\n }\r\n}","<mat-slide-toggle\r\n [disabled]=\"disabled\"\r\n [checked]=\"!!value\"\r\n (change)=\"valueToggleChanged($event.checked)\"\r\n (blur)=\"markAsTouched()\"\r\n>\r\n {{ label }}\r\n</mat-slide-toggle>"],"names":["i2"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component } from '@angular/core';
|
|
3
|
-
import { F as FormsStoreService, M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-
|
|
4
|
-
import * as i2$
|
|
3
|
+
import { F as FormsStoreService, M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
|
|
4
|
+
import * as i2$1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import * as i2 from '@angular/material/button';
|
|
7
|
-
import * as
|
|
7
|
+
import * as i3 from '@angular/material/icon';
|
|
8
8
|
import * as i5 from '@angular/material/toolbar';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i4 from '@angular/material/tooltip';
|
|
10
10
|
|
|
11
11
|
class MissingFormConfigsComponent {
|
|
12
12
|
constructor(store) {
|
|
@@ -17,7 +17,7 @@ class MissingFormConfigsComponent {
|
|
|
17
17
|
this.showAllErrors = false;
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MissingFormConfigsComponent, deps: [{ token: FormsStoreService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: MissingFormConfigsComponent, isStandalone: true, selector: "app-missing-form-configs", ngImport: i0, template: "@if (hideDetails) {\r\n<button \r\nmatTooltip=\"Click to view form configuration issues and validation errors\"\r\nstyle=\"margin: 16px;\" (click)=\"hideDetails = false\" mat-fab color=\"warn\" aria-label=\"Error icon\">\r\n <mat-icon>error</mat-icon>\r\n</button>\r\n}@else {\r\n<div style=\"margin: 8px;position:relative\" class=\"content \">\r\n <mat-toolbar color=\"warn\">\r\n <button (click)=\" hideDetails = true\" mat-icon-button>\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n Missing configurations:\r\n <span class=\"spacer\"></span>\r\n <button [matTooltip]=\"showAllErrors?'Hide all errors':'Show all errors'\"\r\n (click)=\"showAllErrors = !showAllErrors\" mat-icon-button>\r\n\r\n <mat-icon>\r\n unfold_more\r\n </mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <section style=\"padding: 16px;\" >\r\n <h5>\r\n <strong>\r\n Overall form issues:\r\n </strong>\r\n </h5>\r\n <ul>\r\n @for (issue of (missingConfigs$|async);track issue) {\r\n <li>\r\n {{issue}}\r\n </li>\r\n }\r\n </ul>\r\n\r\n @if(showAllErrors){\r\n <h5>\r\n <strong>\r\n\r\n Form validationErrors :\r\n\r\n </strong>\r\n\r\n\r\n </h5>\r\n <ul>\r\n @for (error of errors$|async; track error) {\r\n\r\n <li>\r\n\r\n {{error}}\r\n\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n\r\n\r\n\r\n\r\n\r\n </section>\r\n\r\n</div>\r\n}", styles: [".content{width:400px;background:var(--mat-sys-surface-container, var(--mat-app-surface));border:solid var(--mat-form-field-error-text-color, var(--mat-app-error)) 1px}ul{margin-top:0}h5{padding-left:16px;padding-right:16px;padding-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type:
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: MissingFormConfigsComponent, isStandalone: true, selector: "app-missing-form-configs", ngImport: i0, template: "@if (hideDetails) {\r\n<button \r\nmatTooltip=\"Click to view form configuration issues and validation errors\"\r\nstyle=\"margin: 16px;\" (click)=\"hideDetails = false\" mat-fab color=\"warn\" aria-label=\"Error icon\">\r\n <mat-icon>error</mat-icon>\r\n</button>\r\n}@else {\r\n<div style=\"margin: 8px;position:relative\" class=\"content \">\r\n <mat-toolbar color=\"warn\">\r\n <button (click)=\" hideDetails = true\" mat-icon-button>\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n Missing configurations:\r\n <span class=\"spacer\"></span>\r\n <button [matTooltip]=\"showAllErrors?'Hide all errors':'Show all errors'\"\r\n (click)=\"showAllErrors = !showAllErrors\" mat-icon-button>\r\n\r\n <mat-icon>\r\n unfold_more\r\n </mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <section style=\"padding: 16px;\" >\r\n <h5>\r\n <strong>\r\n Overall form issues:\r\n </strong>\r\n </h5>\r\n <ul>\r\n @for (issue of (missingConfigs$|async);track issue) {\r\n <li>\r\n {{issue}}\r\n </li>\r\n }\r\n </ul>\r\n\r\n @if(showAllErrors){\r\n <h5>\r\n <strong>\r\n\r\n Form validationErrors :\r\n\r\n </strong>\r\n\r\n\r\n </h5>\r\n <ul>\r\n @for (error of errors$|async; track error) {\r\n\r\n <li>\r\n\r\n {{error}}\r\n\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n\r\n\r\n\r\n\r\n\r\n </section>\r\n\r\n</div>\r\n}", styles: [".content{width:400px;background:var(--mat-sys-surface-container, var(--mat-app-surface));border:solid var(--mat-form-field-error-text-color, var(--mat-app-error)) 1px}ul{margin-top:0}h5{padding-left:16px;padding-right:16px;padding-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }] }); }
|
|
21
21
|
}
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MissingFormConfigsComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
25
25
|
}], ctorParameters: () => [{ type: FormsStoreService }] });
|
|
26
26
|
|
|
27
27
|
export { MissingFormConfigsComponent };
|
|
28
|
-
//# sourceMappingURL=ngx-t-forms-missing-form-configs.component-
|
|
28
|
+
//# sourceMappingURL=ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-t-forms-missing-form-configs.component-
|
|
1
|
+
{"version":3,"file":"ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/missing-form-configs/missing-form-configs.component.ts","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/missing-form-configs/missing-form-configs.component.html"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsStoreService } from '../../../forms/store/forms-store.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-missing-form-configs',\r\n standalone: true,\r\n imports: [MatModulesModule, CommonModule],\r\n templateUrl: './missing-form-configs.component.html',\r\n styleUrl: './missing-form-configs.component.scss'\r\n})\r\nexport class MissingFormConfigsComponent {\r\n errors$ = this.store.formBuilderSelectors.formValidationErrorsMessages$\r\n missingConfigs$ = this.store.formBuilderSelectors.missingConfig$\r\n constructor(private store: FormsStoreService) { }\r\n hideDetails: boolean = true;\r\n showAllErrors: boolean = false\r\n\r\n}\r\n","@if (hideDetails) {\r\n<button \r\nmatTooltip=\"Click to view form configuration issues and validation errors\"\r\nstyle=\"margin: 16px;\" (click)=\"hideDetails = false\" mat-fab color=\"warn\" aria-label=\"Error icon\">\r\n <mat-icon>error</mat-icon>\r\n</button>\r\n}@else {\r\n<div style=\"margin: 8px;position:relative\" class=\"content \">\r\n <mat-toolbar color=\"warn\">\r\n <button (click)=\" hideDetails = true\" mat-icon-button>\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n Missing configurations:\r\n <span class=\"spacer\"></span>\r\n <button [matTooltip]=\"showAllErrors?'Hide all errors':'Show all errors'\"\r\n (click)=\"showAllErrors = !showAllErrors\" mat-icon-button>\r\n\r\n <mat-icon>\r\n unfold_more\r\n </mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <section style=\"padding: 16px;\" >\r\n <h5>\r\n <strong>\r\n Overall form issues:\r\n </strong>\r\n </h5>\r\n <ul>\r\n @for (issue of (missingConfigs$|async);track issue) {\r\n <li>\r\n {{issue}}\r\n </li>\r\n }\r\n </ul>\r\n\r\n @if(showAllErrors){\r\n <h5>\r\n <strong>\r\n\r\n Form validationErrors :\r\n\r\n </strong>\r\n\r\n\r\n </h5>\r\n <ul>\r\n @for (error of errors$|async; track error) {\r\n\r\n <li>\r\n\r\n {{error}}\r\n\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n\r\n\r\n\r\n\r\n\r\n </section>\r\n\r\n</div>\r\n}"],"names":["i1.FormsStoreService","i6"],"mappings":";;;;;;;;;;MAea,2BAA2B,CAAA;AAGtC,IAAA,WAAA,CAAoB,KAAwB,EAAA;QAAxB,IAAA,CAAA,KAAK,GAAL,KAAK;QAFzB,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,6BAA6B;QACvE,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,cAAc;QAEhE,IAAA,CAAA,WAAW,GAAY,IAAI;QAC3B,IAAA,CAAA,aAAa,GAAY,KAAK;IAFkB;8GAHrC,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfxC,urDAoEC,EAAA,MAAA,EAAA,CAAA,mPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzDW,gBAAgB,w6BAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAI7B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,cACxB,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,urDAAA,EAAA,MAAA,EAAA,CAAA,mPAAA,CAAA,EAAA;;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { A as ACCOUNTING_BASIS,
|
|
4
|
+
import { A as ACCOUNTING_BASIS, k as getToolbarColor, l as getToolbarBackground, m as getToolbarIconColor, M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
|
|
5
5
|
import * as i2 from '@angular/material/button';
|
|
6
|
-
import * as
|
|
6
|
+
import * as i3 from '@angular/material/icon';
|
|
7
7
|
import * as i5 from '@angular/material/toolbar';
|
|
8
8
|
|
|
9
9
|
class MscoaChartToolbarComponent {
|
|
@@ -24,7 +24,7 @@ class MscoaChartToolbarComponent {
|
|
|
24
24
|
this.toggleExpansion.emit();
|
|
25
25
|
}
|
|
26
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MscoaChartToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: MscoaChartToolbarComponent, isStandalone: true, selector: "app-mscoa-chart-toolbar", inputs: { accountingBasis: "accountingBasis", canCollapse: "canCollapse", isExpanded: "isExpanded" }, outputs: { toggleExpansion: "toggleExpansion" }, ngImport: i0, template: "<mat-toolbar \r\n [color]=\"getToolbarColor(accountingBasis)\"\r\n [style.background]=\"getToolbarBackground(accountingBasis)\"\r\n class=\"mscoa-chart-toolbar\"\r\n [attr.aria-label]=\"'Accounting basis: ' + displayBasis\">\r\n \r\n <span class=\"mscoa-chart-toolbar__label\">\r\n Basis: {{ displayBasis }}\r\n </span>\r\n \r\n <span class=\"spacer\"></span>\r\n \r\n @if (canCollapse) {\r\n <button \r\n mat-icon-button \r\n (click)=\"onToggleClick()\"\r\n [attr.aria-label]=\"(isExpanded ? 'Collapse' : 'Expand') + ' ' + displayBasis + ' basis table'\"\r\n [attr.aria-expanded]=\"isExpanded\">\r\n <mat-icon [style.color]=\"getToolbarIconColor(accountingBasis)\">\r\n {{ isExpanded ? 'expand_less' : 'expand_more' }}\r\n </mat-icon>\r\n </button>\r\n }\r\n</mat-toolbar>\r\n", styles: [".mscoa-chart-toolbar{gap:var(--mscoa-chart-spacing-sm, 8px);height:48px;font-size:.875em;font-weight:500;transition:background-color var(--mscoa-chart-transition, .2s ease)}.mscoa-chart-toolbar__label{flex:1}.mscoa-chart-toolbar button:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type:
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: MscoaChartToolbarComponent, isStandalone: true, selector: "app-mscoa-chart-toolbar", inputs: { accountingBasis: "accountingBasis", canCollapse: "canCollapse", isExpanded: "isExpanded" }, outputs: { toggleExpansion: "toggleExpansion" }, ngImport: i0, template: "<mat-toolbar \r\n [color]=\"getToolbarColor(accountingBasis)\"\r\n [style.background]=\"getToolbarBackground(accountingBasis)\"\r\n class=\"mscoa-chart-toolbar\"\r\n [attr.aria-label]=\"'Accounting basis: ' + displayBasis\">\r\n \r\n <span class=\"mscoa-chart-toolbar__label\">\r\n Basis: {{ displayBasis }}\r\n </span>\r\n \r\n <span class=\"spacer\"></span>\r\n \r\n @if (canCollapse) {\r\n <button \r\n mat-icon-button \r\n (click)=\"onToggleClick()\"\r\n [attr.aria-label]=\"(isExpanded ? 'Collapse' : 'Expand') + ' ' + displayBasis + ' basis table'\"\r\n [attr.aria-expanded]=\"isExpanded\">\r\n <mat-icon [style.color]=\"getToolbarIconColor(accountingBasis)\">\r\n {{ isExpanded ? 'expand_less' : 'expand_more' }}\r\n </mat-icon>\r\n </button>\r\n }\r\n</mat-toolbar>\r\n", styles: [".mscoa-chart-toolbar{gap:var(--mscoa-chart-spacing-sm, 8px);height:48px;font-size:.875em;font-weight:500;transition:background-color var(--mscoa-chart-transition, .2s ease)}.mscoa-chart-toolbar__label{flex:1}.mscoa-chart-toolbar button:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28
28
|
}
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MscoaChartToolbarComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
40
40
|
}] } });
|
|
41
41
|
|
|
42
42
|
export { MscoaChartToolbarComponent };
|
|
43
|
-
//# sourceMappingURL=ngx-t-forms-mscoa-chart-toolbar.component-
|
|
43
|
+
//# sourceMappingURL=ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-t-forms-mscoa-chart-toolbar.component-
|
|
1
|
+
{"version":3,"file":"ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-chart/components/mscoa-chart-toolbar/mscoa-chart-toolbar.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-chart/components/mscoa-chart-toolbar/mscoa-chart-toolbar.component.html"],"sourcesContent":["import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatModulesModule } from '../../../../../../../../shared/modules/mat-modules.module';\r\nimport { ACCOUNTING_BASIS } from '../../utils/mscoa-chart.constants';\r\nimport { getToolbarColor, getToolbarBackground, getToolbarIconColor } from '../../utils/mscoa-chart.helpers';\r\nimport type { AccountingBasis } from '../../utils/mscoa-chart.constants';\r\n\r\n@Component({\r\n selector: 'app-mscoa-chart-toolbar',\r\n standalone: true,\r\n imports: [CommonModule, MatModulesModule],\r\n templateUrl: './mscoa-chart-toolbar.component.html',\r\n styleUrls: ['./mscoa-chart-toolbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MscoaChartToolbarComponent {\r\n @Input() accountingBasis?: AccountingBasis | string;\r\n @Input() canCollapse: boolean = false;\r\n @Input() isExpanded: boolean = true;\r\n @Output() toggleExpansion = new EventEmitter<void>();\r\n\r\n readonly ACCOUNTING_BASIS = ACCOUNTING_BASIS;\r\n\r\n getToolbarColor = getToolbarColor;\r\n getToolbarBackground = getToolbarBackground;\r\n getToolbarIconColor = getToolbarIconColor;\r\n\r\n get displayBasis(): string {\r\n return (this.accountingBasis || ACCOUNTING_BASIS.ACCRUAL).charAt(0).toUpperCase() + \r\n (this.accountingBasis || ACCOUNTING_BASIS.ACCRUAL).slice(1);\r\n }\r\n\r\n onToggleClick(): void {\r\n this.toggleExpansion.emit();\r\n }\r\n}\r\n","<mat-toolbar \r\n [color]=\"getToolbarColor(accountingBasis)\"\r\n [style.background]=\"getToolbarBackground(accountingBasis)\"\r\n class=\"mscoa-chart-toolbar\"\r\n [attr.aria-label]=\"'Accounting basis: ' + displayBasis\">\r\n \r\n <span class=\"mscoa-chart-toolbar__label\">\r\n Basis: {{ displayBasis }}\r\n </span>\r\n \r\n <span class=\"spacer\"></span>\r\n \r\n @if (canCollapse) {\r\n <button \r\n mat-icon-button \r\n (click)=\"onToggleClick()\"\r\n [attr.aria-label]=\"(isExpanded ? 'Collapse' : 'Expand') + ' ' + displayBasis + ' basis table'\"\r\n [attr.aria-expanded]=\"isExpanded\">\r\n <mat-icon [style.color]=\"getToolbarIconColor(accountingBasis)\">\r\n {{ isExpanded ? 'expand_less' : 'expand_more' }}\r\n </mat-icon>\r\n </button>\r\n }\r\n</mat-toolbar>\r\n"],"names":["i1","i2","i3"],"mappings":";;;;;;;;MAea,0BAA0B,CAAA;AARvC,IAAA,WAAA,GAAA;QAUW,IAAA,CAAA,WAAW,GAAY,KAAK;QAC5B,IAAA,CAAA,UAAU,GAAY,IAAI;AACzB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAQ;QAE3C,IAAA,CAAA,gBAAgB,GAAG,gBAAgB;QAE5C,IAAA,CAAA,eAAe,GAAG,eAAe;QACjC,IAAA,CAAA,oBAAoB,GAAG,oBAAoB;QAC3C,IAAA,CAAA,mBAAmB,GAAG,mBAAmB;AAU1C,IAAA;AARC,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC1E,YAAA,CAAC,IAAI,CAAC,eAAe,IAAI,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACpE;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;8GAnBW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfvC,q0BAwBA,EAAA,MAAA,EAAA,CAAA,0TAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdY,YAAY,8BAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAK7B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;+BACE,yBAAyB,EAAA,UAAA,EACvB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAA,eAAA,EAGxB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,q0BAAA,EAAA,MAAA,EAAA,CAAA,0TAAA,CAAA,EAAA;;sBAG9C;;sBACA;;sBACA;;sBACA;;;;;"}
|