ngx-t-forms 2.0.8 → 2.0.9
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/fesm2022/{ngx-t-forms-api-value-access-rules.component-B9s7Hx-j.mjs → ngx-t-forms-api-value-access-rules.component-DjZDnTHz.mjs} +11 -11
- package/fesm2022/{ngx-t-forms-api-value-access-rules.component-B9s7Hx-j.mjs.map → ngx-t-forms-api-value-access-rules.component-DjZDnTHz.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs +813 -0
- package/fesm2022/ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-calculated-field-rules.component-vhdr4NMu.mjs → ngx-t-forms-calculated-field-rules.component-E3l7DQo7.mjs} +11 -11
- package/fesm2022/{ngx-t-forms-calculated-field-rules.component-vhdr4NMu.mjs.map → ngx-t-forms-calculated-field-rules.component-E3l7DQo7.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs +532 -0
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DLnB3R7t.mjs +297 -0
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DLnB3R7t.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-Br3EWLav.mjs → ngx-t-forms-config-mscoa-additional-inputs.component-sOC54w4T.mjs} +9 -9
- package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-Br3EWLav.mjs.map → ngx-t-forms-config-mscoa-additional-inputs.component-sOC54w4T.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs +187 -0
- package/fesm2022/ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-form-input-selector.component-CR3ZVWLw.mjs → ngx-t-forms-form-input-selector.component-CB03sPjA.mjs} +6 -6
- package/fesm2022/{ngx-t-forms-form-input-selector.component-CR3ZVWLw.mjs.map → ngx-t-forms-form-input-selector.component-CB03sPjA.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-form-json-view.component-CMdtaqhR.mjs → ngx-t-forms-form-json-view.component-C1AZujJH.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-form-json-view.component-CMdtaqhR.mjs.map → ngx-t-forms-form-json-view.component-C1AZujJH.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-form-json-view.component-CqtTYCRH.mjs +28 -0
- package/fesm2022/ngx-t-forms-form-json-view.component-CqtTYCRH.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-form-section-stepper.component-Ba5WCLzp.mjs +673 -0
- package/fesm2022/ngx-t-forms-form-section-stepper.component-Ba5WCLzp.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-form-section-stepper.component-C_dciQhe.mjs +225 -0
- package/fesm2022/ngx-t-forms-form-section-stepper.component-C_dciQhe.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-forms-builder-menu.component-pWNcCGY8.mjs → ngx-t-forms-forms-builder-menu.component-CPIcPREp.mjs} +10 -10
- package/fesm2022/{ngx-t-forms-forms-builder-menu.component-pWNcCGY8.mjs.map → ngx-t-forms-forms-builder-menu.component-CPIcPREp.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs +735 -0
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-input-editor.component-BnsC-jsN.mjs +445 -0
- package/fesm2022/ngx-t-forms-input-editor.component-BnsC-jsN.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-input-editor.component-_ER-4SAR.mjs → ngx-t-forms-input-editor.component-__grERM8.mjs} +5 -5
- package/fesm2022/{ngx-t-forms-input-editor.component-_ER-4SAR.mjs.map → ngx-t-forms-input-editor.component-__grERM8.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DS6s98ZX.mjs +111 -0
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DS6s98ZX.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-Bq0rr62p.mjs → ngx-t-forms-mat-chip-list-editor.component-DcdHYqhN.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-Bq0rr62p.mjs.map → ngx-t-forms-mat-chip-list-editor.component-DcdHYqhN.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mat-slider-editor.component-BOT4I9Wg.mjs → ngx-t-forms-mat-slider-editor.component-C9rintm4.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-slider-editor.component-BOT4I9Wg.mjs.map → ngx-t-forms-mat-slider-editor.component-C9rintm4.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-ChiiJYK2.mjs +130 -0
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-ChiiJYK2.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-CawhiguI.mjs → ngx-t-forms-mat-slider-toggle-editor.component-CItK6kXf.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-CawhiguI.mjs.map → ngx-t-forms-mat-slider-toggle-editor.component-CItK6kXf.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DFcLzkSF.mjs +171 -0
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DFcLzkSF.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-missing-form-configs.component-DNkGCH0e.mjs +104 -0
- package/fesm2022/ngx-t-forms-missing-form-configs.component-DNkGCH0e.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-missing-form-configs.component-DEx_YKAi.mjs → ngx-t-forms-missing-form-configs.component-Da3SdUn6.mjs} +4 -4
- package/fesm2022/{ngx-t-forms-missing-form-configs.component-DEx_YKAi.mjs.map → ngx-t-forms-missing-form-configs.component-Da3SdUn6.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-4hrEpLk3.mjs +258 -0
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-4hrEpLk3.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CrHAIRAw.mjs +455 -0
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CrHAIRAw.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-ngx-t-forms-R8Bkco8q.mjs → ngx-t-forms-ngx-t-forms-1Roar4qK.mjs} +630 -175
- package/fesm2022/ngx-t-forms-ngx-t-forms-1Roar4qK.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs +14694 -0
- package/fesm2022/ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-pipeline-generator.component-CDCDamaQ.mjs → ngx-t-forms-pipeline-generator.component-BQDykLNH.mjs} +13 -13
- package/fesm2022/{ngx-t-forms-pipeline-generator.component-CDCDamaQ.mjs.map → ngx-t-forms-pipeline-generator.component-BQDykLNH.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-pipeline-generator.component-U0d8jQKW.mjs +1362 -0
- package/fesm2022/ngx-t-forms-pipeline-generator.component-U0d8jQKW.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-required-inputs.component-zHQPB3m_.mjs → ngx-t-forms-required-inputs.component-BGK3DNu0.mjs} +10 -10
- package/fesm2022/{ngx-t-forms-required-inputs.component-zHQPB3m_.mjs.map → ngx-t-forms-required-inputs.component-BGK3DNu0.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-required-inputs.component-S3cbA-zG.mjs +383 -0
- package/fesm2022/ngx-t-forms-required-inputs.component-S3cbA-zG.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-CKStotqz.mjs → ngx-t-forms-rest-api-call-setup.component-CCaRUSVQ.mjs} +4 -4
- package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-CKStotqz.mjs.map → ngx-t-forms-rest-api-call-setup.component-CCaRUSVQ.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs +457 -0
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-section-report.component-Us4jxjhq.mjs → ngx-t-forms-section-report.component-C8Ja_G_3.mjs} +5 -5
- package/fesm2022/{ngx-t-forms-section-report.component-Us4jxjhq.mjs.map → ngx-t-forms-section-report.component-C8Ja_G_3.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-section-report.component-C_h0KIR4.mjs +314 -0
- package/fesm2022/ngx-t-forms-section-report.component-C_h0KIR4.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-selection-options-editor.component-CllhwZ5Y.mjs +231 -0
- package/fesm2022/ngx-t-forms-selection-options-editor.component-CllhwZ5Y.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-selection-options-editor.component-BwFboSq2.mjs → ngx-t-forms-selection-options-editor.component-cYkn1O48.mjs} +5 -5
- package/fesm2022/{ngx-t-forms-selection-options-editor.component-BwFboSq2.mjs.map → ngx-t-forms-selection-options-editor.component-cYkn1O48.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-validators-config.component-BPJZRtjT.mjs +434 -0
- package/fesm2022/ngx-t-forms-validators-config.component-BPJZRtjT.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-validators-config.component-CX0M2OH1.mjs → ngx-t-forms-validators-config.component-CGXCCl45.mjs} +7 -7
- package/fesm2022/{ngx-t-forms-validators-config.component-CX0M2OH1.mjs.map → ngx-t-forms-validators-config.component-CGXCCl45.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms.mjs +1 -1
- package/lib/components/form-builder/elements/form-section-stepper/form-section-stepper.component.d.ts +2 -0
- package/lib/components/form-builder/elements/form-submissions-config/form-submissions-config.component.d.ts +1 -1
- package/lib/components/form-builder/elements/input-element-editor/input-element-editor.component.d.ts +2 -2
- package/lib/components/forms/forms.component.d.ts +1 -1
- package/lib/components/forms/store/Form-actions-formBuilder.d.ts +1 -0
- package/lib/components/forms/store/Form-selectors-FormBuilder.d.ts +1 -1
- package/lib/components/forms/store/forms-store.service.d.ts +2 -1
- package/lib/components/index.d.ts +2 -1
- package/lib/components/t-dynamic-data-edit/elements/mscoa-segment-config/mscoa-segment-config.component.d.ts +5 -9
- package/lib/components/t-form-input/elements/mscoa-form-input/elements/account-value/account-value.component.d.ts +3 -3
- package/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-chart/mscoa-chart.component.d.ts +67 -52
- package/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-computation/mscoa-computation.component.d.ts +10 -10
- package/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-reactive-form-field/mscoa-reactive-form-field.component.d.ts +8 -6
- package/lib/components/t-form-input/elements/mscoa-form-input/elements/scoa-account-table/scoa-account-table.component.d.ts +8 -8
- package/lib/components/t-form-input/elements/mscoa-form-input/elements/scoa-input/scoa-input.component.d.ts +1 -1
- package/lib/components/t-form-input/elements/mscoa-form-input/mscoa-form-input.component.d.ts +4 -3
- package/lib/components/t-form-input/elements/mscoa-form-input/store/mscoa-actions.d.ts +5 -5
- package/lib/components/t-form-input/elements/mscoa-form-input/store/mscoa-component-store.service.d.ts +27 -31
- package/lib/components/t-form-input/elements/mscoa-form-input/store/mscoa-effects.d.ts +2 -2
- package/lib/components/t-form-input/elements/mscoa-form-input/store/mscoa-selectors.d.ts +20 -24
- package/lib/components/t-form-input/elements/multiple-input-input-element/core/multiple-input-table-edit/multiple-input-table-edit.component.d.ts +1 -1
- package/lib/components/t-form-input/elements/select-input-element/elements/select-input/select-input.component.d.ts +20 -0
- package/lib/components/t-form-input/elements/select-input-element/select-input-element.component.d.ts +0 -3
- package/lib/components/t-form-input/t-form-input.component.d.ts +3 -2
- package/lib/components/workflow-builder/store/workflow-builder-store.service.d.ts +18 -0
- package/lib/components/workflow-builder/store/workflowEditorActions.d.ts +4 -0
- package/lib/components/workflow-builder/store/workflowEditorEffects.d.ts +2 -0
- package/lib/components/workflow-builder/store/workflowEditorSelectors.d.ts +2 -0
- package/lib/components/workflow-builder/workflow-builder.component.d.ts +12 -0
- package/lib/services/core/t-form-builder/functions/addScoaExtensionInput.d.ts +2 -0
- package/lib/services/core/t-form-tower-controller/functions/allFormInputs.d.ts +2 -3
- package/lib/services/core/t-form-tower-controller/functions/getAllFunctionTypes.d.ts +2 -0
- package/package.json +3 -2
- package/fesm2022/ngx-t-forms-form-section-stepper.component-DEtijO30.mjs +0 -220
- package/fesm2022/ngx-t-forms-form-section-stepper.component-DEtijO30.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CYWVyEYn.mjs +0 -230
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CYWVyEYn.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-ngx-t-forms-R8Bkco8q.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/select-form-template/select-form-template.component.html","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/select-form-template/select-form-template.component.ts","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/form-submissions-config/config.ts","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/form-submissions-config/form-submissions-config.component.html","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/form-submissions-config/form-submissions-config.component.ts","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/forms-builder-menu/forms-builder-menu.component.html","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/forms-builder-menu/forms-builder-menu.component.ts"],"sourcesContent":["<h2 mat-dialog-title>\r\n Choose a Form Template\r\n</h2>\r\n\r\n <p>\r\n Select a pre-built form template to start with. You can customize and save it as your own form after copying \r\n it to the editor.\r\n </p>\r\n\r\n <mat-dialog-content>\r\n \r\n @if(selectLoadingForms$ |async){\r\n <div style=\"display: flex; flex-direction: column; height: calc(100% - 150px); justify-content: center; align-items: center; padding:24px\">\r\n <mat-spinner style=\"margin-bottom: 16px;\"></mat-spinner>\r\n <span>\r\n Loading form templates...\r\n </span>\r\n </div>\r\n }@else {\r\n <mat-nav-list class=\"form-template-list\">\r\n @for (form of selectForms$|async; track form._id) {\r\n \r\n <mat-list-item \r\n (click)=\"selectForm(form)\"\r\n [matTooltip]=\"'Click to select this template'\"\r\n\r\n \r\n [class.mat-elevation-z1]=\"true\"\r\n \r\n class=\"form-list-item\">\r\n <img [class.error]=\"form.errors.length > 0\" \r\n matListItemAvatar [src]=\"getFormAvatar(form.formTitle)\" [alt]=\"'form image ' + form.formTitle\">\r\n <div matListItemTitle class=\"form-item-content\">\r\n <div class=\"form-title\">{{ form.formTitle | titlecase }}</div>\r\n <div class=\"form-metadata\">\r\n \r\n @if(form.errors.length > 0) {\r\n <span><mat-icon color=\"warn\">error</mat-icon> <small>{{ form.errors.length}}</small></span>\r\n <span class=\"metadata-divider\">•</span>\r\n }\r\n <span><mat-icon>add_circle_outline</mat-icon> <small>{{ form.createdAt | daysAgo }}</small> </span>\r\n <span class=\"metadata-divider\">•</span>\r\n <span><mat-icon>update</mat-icon><small> {{ form.updatedAt | daysAgo }}</small></span>\r\n \r\n \r\n \r\n </div>\r\n </div>\r\n\r\n </mat-list-item>\r\n \r\n \r\n }\r\n </mat-nav-list>\r\n @if((selectForms$|async)?.length === 0){\r\n <p>\r\n No form templates available.\r\n </p>\r\n }\r\n \r\n }\r\n \r\n </mat-dialog-content>\r\n\r\n <mat-divider></mat-divider>\r\n<mat-dialog-actions [align]=\"'end'\">\r\n <button style=\"width: 100%;\" mat-stroked-button (click)=\"close()\">\r\n Close\r\n </button>\r\n </mat-dialog-actions>","import { Component, inject } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\r\nimport { FormsStoreService } from '../../../forms/store/forms-store.service';\r\nimport { of } from 'rxjs';\r\nimport { getAvatar } from '../../../../shared/functions/getAvatar';\r\n\r\nimport { DaysAgoPipe } from '../../../../../lib/shared/pipes/date/days-ago.pipe';\r\nimport { FormInterface } from 'ngx-t-forms-types';\r\n@Component({\r\n selector: 'lib-select-form-template',\r\n standalone: true,\r\n imports: [MatModulesModule, CommonModule, DaysAgoPipe],\r\n templateUrl: './select-form-template.component.html',\r\n styleUrl: './select-form-template.component.css'\r\n})\r\nexport class SelectFormTemplateComponent {\r\n\r\nselectForms$ = this.store.selectors.selectForms$\r\nselectLoadingForms$ = this.store.selectors.selectLoadingForms$\r\nreadonly dialogRef = inject(MatDialogRef< SelectFormTemplateComponent>);\r\nreadonly data = inject<any>(MAT_DIALOG_DATA);\r\nconstructor(private store:FormsStoreService){\r\n this.store.effects.loadForms$(of())\r\n}\r\nclose(){\r\n this.dialogRef.close();\r\n}\r\nselectForm(form:FormInterface){\r\n console.log(form)\r\n this.dialogRef.close(form) \r\n}\r\n getFormAvatar(formTitle:string){\r\n return getAvatar(formTitle)\r\n }\r\n}\r\n","\r\n\r\nimport { ConfigurationValidTestInterface, ElementEditorInnerSectionElementInterface, ElementEditorTypes, NgxTFormsConfig, SpecialElementKeys } from \"ngx-t-forms-types\"\r\n\r\n\r\n\r\n\r\nexport function SubmissionAPIListItemConfig (environment: NgxTFormsConfig): ElementEditorInnerSectionElementInterface[]{\r\n return [\r\n\r\n {\r\n id: '16140923-0542-4d5d-9b63-186c1e91b1a7',\r\n name: SpecialElementKeys.MatOptionsApiCall,\r\n editType: ElementEditorTypes.ApiCall,\r\n required: true,\r\n postmanCollectionConfig: {\r\n collectionUrl: environment['POSTMAN_COLLECTION_URL'] as string,\r\n collectionKey: environment['POSTMAN_COLLECTION_KEY'] as string\r\n },\r\n hint: `APIs are loaded from Postman collection. Configure required headers, payload format, and response mapping before use. Ensure API is documented in Postman.`,\r\n deepBind: ['data'],\r\n label: 'Select form submission api',\r\n },\r\n \r\n {\r\n name: SpecialElementKeys.Default,\r\n deepBind: [\r\n\r\n 'data',\r\n 'backEndConfig',\r\n 'minimumInputRequired',\r\n ],\r\n additionalTest: [\r\n {\r\n testType: 'exists',\r\n deepBind: [\r\n\r\n 'data',\r\n 'backEndConfig',\r\n 'minimumInputRequired',\r\n ],\r\n } as ConfigurationValidTestInterface\r\n\r\n ],\r\n hint: `These are payload fields that are required to be filled in order to fetch data from the selected source`,\r\n editType: ElementEditorTypes.RequiredInputs,\r\n label: 'Set up required inputs',\r\n id: \"2d0f1e18-897b-4c28-97bc-3078be09f8ee\"\r\n },\r\n {\r\n name: SpecialElementKeys.Default,\r\n deepBind: ['data','projectFormData'],\r\n editType: ElementEditorTypes.Input,\r\n label: 'Project form data',\r\n hint:`example data:{$formValue}`,\r\n id: \"$2d0f1e18-897b-4c28-97bc-3078be09f8ee\"\r\n },\r\n ]}\r\nexport const SubmissionAPIOtherConfig : ElementEditorInnerSectionElementInterface[] = [\r\n {\r\n id:\"7acaa5d1-fb37-4dc0-9f1a-53b6f36534e0\",\r\n name:SpecialElementKeys.Default,\r\n deepBind:['submissionHandle','submissionMessage'],\r\n editType:ElementEditorTypes.Input,\r\n label:\"Submission Message\",\r\n },\r\n {\r\n id:\"5636c16c-be58-48d9-b701-81fe05573a39\",\r\n name:SpecialElementKeys.Default,\r\n deepBind:['submissionHandle','innerComponentShowSubmitButton'],\r\n editType:ElementEditorTypes.Toggle,\r\n label:\"Show submit button in inner component form\",\r\n },\r\n {\r\n id:\"c9103faa-eeba-4cf3-b3d0-f25fd05ccb3c\",\r\n name:SpecialElementKeys.Default,\r\n deepBind:['systemDefault'],\r\n editType:ElementEditorTypes.Toggle,\r\n label:\"Is system default\",\r\n }\r\n] \r\n \r\n export const SubmissionDialogConfig = [\r\n {\r\n titleIcon:'send',\r\n id:'44023662-7343-4c93-999d-fc03c54438c3',\r\n title:'Form Submission Endpoint',\r\n description:`Choose where to send your form data after submission. Connect to your database, data pipeline, or\r\n third-party service.`,\r\n primaryKey:'submissionAPI',\r\n elements : SubmissionAPIOtherConfig \r\n },\r\n {\r\n titleIcon:'rule',\r\n title:'Data Validationb Rules',\r\n description:`Define validation rules to ensure data quality before form submission.\r\n <br>\r\n <strong>Note:</strong> All validation endpoints must return a boolean value -\r\n <code>true</code> indicates valid data that will be submitted.`,\r\n primaryKey:'canSubmitAPI',\r\n id:'acac6045-5b13-4c8d-a7ee-da194ebbad41',\r\n }\r\n ]","<div class=\"container\">\r\n <mat-toolbar>\r\n\r\n Form Submission Configuration\r\n <span class=\"spacer\"></span>\r\n <button mat-icon-button mat-dialog-close>\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n\r\n <section style=\"padding: 0px 8px 8px 8px;\">\r\n <mat-accordion multi>\r\n @for (panel of panels() ; track panel.id) {\r\n <mat-expansion-panel [expanded]=\"true\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title> <mat-icon [color]=\"'primary'\" style=\"margin-right: 8px;\">\r\n {{panel.titleIcon}}\r\n </mat-icon>\r\n {{panel.title}}\r\n </mat-panel-title>\r\n <mat-divider style=\" position: absolute;\r\n bottom: 0px;\r\n width: 100%;\r\n left: 0;\"></mat-divider>\r\n </mat-expansion-panel-header>\r\n <div class=\"content\">\r\n <p class=\"description\" [innerHTML]=\"panel.description\"\r\n style=\"color: var(--mat-text-secondary-color); margin-bottom: 16px;\">\r\n </p>\r\n @if ((panel?.elements||[]).length>0) {\r\n @for (edit of (panel?.elements||[]); track edit.id) {\r\n <div style=\"background:azure;padding: 8px;\">\r\n <lib-t-dynamic-data-edit [editorConfig]=\"edit\" [data]=\"form()\"\r\n [validationErrors]=\"(computedErrors(edit)())||[]\" (valueChange)=\"passFormChanges($event,edit)\"\r\n [formInputs]=\"(formInputs())||[]\" (blur)=\"elementBlur($event,edit)\">\r\n </lib-t-dynamic-data-edit>\r\n </div>\r\n }\r\n }\r\n <div style=\"background:azure;padding: 8px;\">\r\n\r\n <mat-nav-list>\r\n <h5 matSubheader [style.color]=\"(panel.error)?'var(--mat-form-field-error-text-color)':''\"\r\n class=\"api-list-header\">\r\n\r\n API Endpoints\r\n </h5>\r\n @if((getFormApis(panel.primaryKey)()).length === 0){\r\n <p [style.color]=\"(panel.error)?'var(--mat-form-field-error-text-color)':''\" class=\"no-api-list\">\r\n No submission endpoints configured. Add one to get started.\r\n </p>\r\n }\r\n @for (api of getFormApis(panel.primaryKey)(); track api._id) {\r\n\r\n <mat-list-item class=\"api-list-item\">\r\n <span matListItemIcon class=\"tag\" [style.color]=\"api.httpMethod === 'POST' ? 'green' : 'blue'\">\r\n\r\n {{api.httpMethod}}\r\n\r\n </span>\r\n\r\n <div matListItemTitle>\r\n <div style=\"line-height: normal;\">\r\n <small>\r\n <strong>\r\n {{api.name}}\r\n </strong>\r\n </small>\r\n\r\n </div>\r\n <div style=\"line-height: normal;opacity: 0.6;\">\r\n <small>\r\n {{api.httpEndPoint}}\r\n </small>\r\n </div>\r\n </div>\r\n <span matListItemMeta>\r\n <button (click)=\"removeSubmissionApi(api)\" mat-icon-button>\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </span>\r\n </mat-list-item>\r\n <mat-divider>\r\n </mat-divider>\r\n\r\n\r\n\r\n }\r\n\r\n\r\n </mat-nav-list>\r\n\r\n @if( keyInEdit !== panel.primaryKey ){\r\n <mat-toolbar style=\"background:none\">\r\n <button (click)=\"addNewSubmitApi(panel.primaryKey)\" style=\"width:100% ;\" color=\"primary\"\r\n mat-stroked-button>Add new\r\n endpoint</button>\r\n </mat-toolbar>\r\n }\r\n @if ((panel.error)) {\r\n\r\n <mat-error>\r\n {{panel.error}}\r\n </mat-error>\r\n\r\n }\r\n\r\n </div>\r\n\r\n\r\n\r\n @if( keyInEdit === panel.primaryKey ){\r\n <div style=\"background:azure;padding: 8px;\">\r\n @for (element of submissionApiListItemConfigElements; track element.id) {\r\n\r\n\r\n <lib-t-dynamic-data-edit [editorConfig]=\"element\" [data]=\"dataPlaceholder\"\r\n [validationErrors]=\"validationErrors(element)\" (valueChange)=\"inputChange($event,element)\"\r\n [formInputs]=\"(formInputs())||[]\" (blur)=\"elementBlur($event,element)\"></lib-t-dynamic-data-edit>\r\n }\r\n <mat-divider></mat-divider>\r\n <mat-toolbar>\r\n <button mat-flat-button (click)=\"saveSubmitApi()\" color=\"primary\">Save</button>\r\n <span class=\"spacer\"></span>\r\n <button mat-button (click)=\"cancelSubmitApi()\" color=\"warn\">Cancel</button>\r\n </mat-toolbar>\r\n </div>\r\n\r\n }\r\n\r\n\r\n\r\n </div>\r\n </mat-expansion-panel>\r\n }\r\n\r\n\r\n\r\n </mat-accordion>\r\n </section>\r\n\r\n\r\n</div>","import { Component, computed, inject } from '@angular/core';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\n\r\nimport { SubmissionAPIListItemConfig, SubmissionDialogConfig } from './config';\r\nimport { MAT_DIALOG_DATA, MatDialog, } from '@angular/material/dialog';\r\nimport { FormsStoreService } from '../../../forms/store/forms-store.service';\r\nimport { testAgainstItem } from '../../../t-dynamic-data-edit/functions/testData';\r\n\r\nimport { TDynamicDataEditComponent } from '../../../t-dynamic-data-edit/t-dynamic-data-edit.component';\r\n\r\nimport { assignDeepPropertyToObject } from '../../../../../lib/shared';\r\nimport { NGX_T_FORMS_CONFIG_TOKEN } from '../../../../../lib/injection-tokens';\r\n\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { APIDataFetchingConfigurationInterface, ElementEditorInnerSectionElementInterface, validateApiDataFetchingConfiguration } from 'ngx-t-forms-types';\r\nimport { map } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'app-form-submissions-config',\r\n standalone: true,\r\n imports: [CommonModule, MatModulesModule, TDynamicDataEditComponent],\r\n\r\n templateUrl: './form-submissions-config.component.html',\r\n styleUrl: './form-submissions-config.component.scss',\r\n\r\n})\r\nexport class FormSubmissionsConfigComponent {\r\n NGX_T_FORMS_CONFIG = inject(NGX_T_FORMS_CONFIG_TOKEN)\r\n\r\n panels = computed(()=>{\r\n \r\n return SubmissionDialogConfig.map((panel) =>{\r\n const error = this.getPanelError(panel)()\r\n return ({\r\n ...panel,\r\n error\r\n })\r\n });\r\n })\r\n\r\n private getPanelError(panel: typeof SubmissionDialogConfig[0]) {\r\n\r\n return computed(() => {\r\n const form = this.form()\r\n if (panel.primaryKey === 'submissionAPI') {\r\n return (form?.submissionHandle?.submissionAPI || []).length === 0 ? 'At least one submission API is required' : undefined\r\n }\r\n return undefined;\r\n })\r\n\r\n }\r\n\r\n\r\n _data = inject(MAT_DIALOG_DATA)\r\n store: FormsStoreService = this._data.store\r\n form = toSignal(\r\n this.store.selectors.selectFormInEdit$.pipe(map((form) => form?.form)),\r\n {\r\n initialValue: undefined\r\n }\r\n )\r\n formInputs = toSignal(\r\n this.store.formBuilderSelectors.getAllFormInputs$,\r\n {\r\n initialValue: []\r\n }\r\n )\r\n getFormApis(key: any) {\r\n return computed(() => {\r\n const form = this.form()\r\n return form?.submissionHandle?.[key as ('submissionAPI' | 'canSubmitAPI')] || []\r\n })\r\n }\r\n // private dialogRef: MatDialogRef<FormSubmissionsConfigComponent>,\r\n constructor(\r\n ) {\r\n\r\n\r\n\r\n\r\n }\r\n dataPlaceholder: undefined | {\r\n data: APIDataFetchingConfigurationInterface\r\n }\r\n keyInEdit: 'submissionAPI' | 'canSubmitAPI' | undefined = undefined\r\n get submissionApiListItemConfigElements(): ElementEditorInnerSectionElementInterface[] {\r\n return SubmissionAPIListItemConfig(this.NGX_T_FORMS_CONFIG).filter((el) => {\r\n if (!el.additionalTest) {\r\n return true\r\n }\r\n return el.additionalTest.every((test) => {\r\n return testAgainstItem(test, this.dataPlaceholder || { data: {} })\r\n })\r\n })\r\n }\r\n\r\n\r\n\r\n formValidationError = toSignal(this.store.formBuilderSelectors.formErrors$, {\r\n initialValue: []\r\n })\r\n readonly computedErrors = ( element: ElementEditorInnerSectionElementInterface)=>{\r\n return computed(() => {\r\n const allErrors = this.formValidationError();\r\n const errors = allErrors?.filter(error => error.key === element.deepBind?.join('.')) || []\r\n \r\n return [...[], ...errors];\r\n })\r\n }\r\n validationErrors( element: ElementEditorInnerSectionElementInterface): {\r\n key: string;\r\n message: string;\r\n }[] {\r\n const val = validateApiDataFetchingConfiguration((this.dataPlaceholder || {})).map((error) => ({\r\n message: error.message,\r\n key: 'data.' + error.key\r\n }))\r\n\r\n const errors = val?.filter(error => error.key === element.deepBind?.join('.')) || []\r\n return errors \r\n }\r\n elementBlur(\r\n event: any,\r\n element: ElementEditorInnerSectionElementInterface\r\n ) {\r\n console.info(\"[Admin Panel Input Element Editor] element blur\", event)\r\n }\r\n inputChange(event: any, element: ElementEditorInnerSectionElementInterface) {\r\n console.info(\"[Admin Panel Input Element Editor] input changed\", event)\r\n\r\n this.elementConfigurationChanged(event, element)\r\n // this.elementConfigurationChanged(event?.target?.value, element)\r\n }\r\n passFormChanges(event: any, element: ElementEditorInnerSectionElementInterface) {\r\n console.info(\"[Admin Panel Input Element Editor] pass form changes\", event)\r\n this.formInputChange(event, element)\r\n }\r\n formInputChange = (value: any,\r\n ele: ElementEditorInnerSectionElementInterface) => this.store.actionsFormBuilder.formInputChange(ele, value)\r\n elementConfigurationChanged(\r\n value: any,\r\n ele: ElementEditorInnerSectionElementInterface\r\n ) {\r\n\r\n //\r\n\r\n const applyTo = { ...this.dataPlaceholder }\r\n if (ele.clearOnChange) {\r\n ele.clearOnChange.forEach((clear: string[]) => {\r\n assignDeepPropertyToObject(\r\n applyTo,\r\n clear,\r\n undefined\r\n );\r\n })\r\n\r\n }\r\n if (ele.deepBind) {\r\n assignDeepPropertyToObject(\r\n applyTo,\r\n ele.deepBind,\r\n value\r\n );\r\n }\r\n this.dataPlaceholder = {\r\n ...applyTo\r\n } as any\r\n\r\n // const formClass= this.formBuilder$$.value\r\n // const form = formClass?.form\r\n // if (form) {\r\n // formClass?.refreshController(form)\r\n // }\r\n\r\n // this.formBuilder$$.value?.syncInputController();\r\n // this.appStatesService.TFormBuilderService$.next(formClass)\r\n\r\n\r\n }\r\n addNewSubmitApi(submision: string) {\r\n this.dataPlaceholder = {\r\n data: {} as any\r\n }\r\n this.keyInEdit = submision as any\r\n\r\n\r\n\r\n }\r\n saveSubmitApi() {\r\n\r\n this.store.actionsFormBuilder.saveSubmitApi(this.dataPlaceholder, this.keyInEdit)\r\n this.dataPlaceholder = undefined\r\n this.keyInEdit = undefined\r\n }\r\n removeSubmissionApi(api: APIDataFetchingConfigurationInterface) {\r\n this.store.actionsFormBuilder.removeSubmissionApi(api, this.keyInEdit)\r\n this.dataPlaceholder = undefined\r\n this.keyInEdit = undefined\r\n\r\n }\r\n cancelSubmitApi() {\r\n this.dataPlaceholder = undefined\r\n this.keyInEdit = undefined\r\n\r\n }\r\n matDialog = inject(MatDialog)\r\n close() {\r\n //close mat dialog\r\n this.matDialog.closeAll()\r\n\r\n }\r\n\r\n}\r\n","\r\n<ng-container *ngIf=\"( vm$|async) as vm\">\r\n\r\n <button [matBadge]=\"'!'\" matBadgeColor=\"warn\" [matTooltip]=\"vm.configHasErrors === false?'\r\n Click to view form configuration \r\n ':'Click to fix or add missing form configurations'\" [matBadgeHidden]=\"!!(vm.configHasErrors) === false\"\r\n [matMenuTriggerFor]=\"configMenu\" mat-flat-button>\r\n Config\r\n <mat-icon>\r\n settings_suggest\r\n </mat-icon>\r\n </button>\r\n \r\n <mat-menu #configMenu=\"matMenu\">\r\n \r\n \r\n <div mat-subheader style=\"padding-left: 16px;\">Form edit options</div>\r\n @for(item of vm.items;track item){\r\n <button [matTooltip]=\"item.hint\" matTooltipPosition=\"right\" style=\"padding-top:4px;padding-bottom:4px\"\r\n (click)=\"item?.action()\" mat-menu-item>\r\n <mat-icon>{{item.icon}}</mat-icon>\r\n \r\n <span>\r\n @if (item.errors) {\r\n <div style=\"line-height: normal;\"ks>\r\n {{item.label}}\r\n </div>\r\n <div style=\"line-height: normal;\">\r\n \r\n <mat-error>\r\n <small>\r\n Invalid configurations\r\n </small>\r\n \r\n </mat-error>\r\n </div>\r\n }@else {\r\n \r\n {{item.label}}\r\n \r\n }\r\n \r\n \r\n </span>\r\n \r\n </button>\r\n <mat-divider></mat-divider>\r\n }\r\n <button [matTooltip]=\"showJson?'Hide json':'Show json'\" (click)=\"showJson= !showJson\" mat-menu-item>\r\n <mat-icon>data_object</mat-icon>\r\n \r\n <span>\r\n <div>\r\n Show json\r\n </div>\r\n \r\n \r\n \r\n </span>\r\n </button>\r\n \r\n </mat-menu>\r\n \r\n <div *ngIf=\"showJson\" class=\"DragBoundary\">\r\n @defer (on viewport) {\r\n <mat-card cdkDragBoundary=\"DragBoundary\" cdkDrag class=\"menuCard\">\r\n <mat-toolbar\r\n style=\"background: var(--mat-sidenav-content-background-color);color:var(--mdc-filled-button-label-text-color, var(--mat-app-on-primary))\">\r\n <span>\r\n Json Form Value\r\n </span>\r\n <span class=\"spacer\"></span>\r\n \r\n <mat-icon cdkDragHandle style=\"\r\n margin:8px;\r\n color:var(--mat-divider-color, var(--mat-app-outline))\">\r\n drag_indicator\r\n </mat-icon>\r\n </mat-toolbar>\r\n <mat-divider style=\"margin-bottom: 12px;\"></mat-divider>\r\n \r\n \r\n <mat-card-content style=\" overflow-y: auto;\r\n max-height: calc(100vh - 150px);\">\r\n <app-form-json-view></app-form-json-view>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <span class=\"spacer\"></span>\r\n <button (click)=\"showJson = false\" mat-flat-button>\r\n Close\r\n </button>\r\n <button color=\"primary\" [cdkCopyToClipboard]=\"(vm.formCopy)||''\" matTooltip=\"Copy json to clipboard\"\r\n mat-flat-button>\r\n Copy\r\n </button>\r\n \r\n </mat-card-actions>\r\n \r\n \r\n </mat-card>\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=\"20\" />\r\n </div>\r\n \r\n }\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { FormJsonViewComponent } from '../form-json-view/form-json-view.component';\r\nimport { combineLatest, map, take, } from 'rxjs';\r\nimport { CdkDrag } from '@angular/cdk/drag-drop';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SelectFormTemplateComponent } from '../select-form-template/select-form-template.component';\r\nimport { FormSubmissionsConfigComponent } from '../form-submissions-config/form-submissions-config.component'\r\nimport { FormsStoreService } from '../../../forms/store/forms-store.service';\r\n\r\n\r\nimport { FormInterface } from 'ngx-t-forms-types';\r\n\r\n@Component({\r\n selector: 'app-forms-builder-menu',\r\n standalone: true,\r\n imports: [CommonModule, MatModulesModule, FormJsonViewComponent, CdkDrag],\r\n templateUrl: './forms-builder-menu.component.html',\r\n styleUrl: './forms-builder-menu.component.scss',\r\n})\r\nexport class FormsBuilderMenuComponent {\r\n form$ = this.store.selectors.selectFormInEdit$.pipe(map((form) => form?.form))\r\n\r\n\r\n showJson = false;\r\n constructor(private store: FormsStoreService) { }\r\n\r\n\r\n\r\n\r\n formCopy$ = this.form$.pipe(\r\n map((\r\n form\r\n ) => JSON.stringify(form || {}))\r\n )\r\n readonly dialog = inject(MatDialog);\r\n openDialog() {\r\n const dialogRef = this.dialog.open(SelectFormTemplateComponent);\r\n\r\n dialogRef.afterClosed().pipe(take(1)).subscribe(form => {\r\n if (form) {\r\n this.applyFormTemplate(form)\r\n }\r\n });\r\n }\r\n applyFormTemplate = (form: FormInterface) => this.store.actionsFormBuilder.applyFormTemplate(form)\r\n openFormSubmissionDialog() {\r\n\r\n const dialogRef = this.dialog.open(FormSubmissionsConfigComponent\r\n , {\r\n data: {\r\n store: this.store\r\n }\r\n })\r\n\r\n dialogRef.afterClosed().pipe(take(1)).subscribe(data => {\r\n if (data) {\r\n console.log(data)\r\n\r\n }\r\n });\r\n }\r\n errors$ = this.store.formBuilderSelectors.formErrors$\r\n\r\n configHasErrors$ = this.errors$.pipe(\r\n map(errors => errors?.some(error => error.key.split('.')?.[0] === 'submissionHandle'))\r\n )\r\n items$ = this.configHasErrors$.pipe(\r\n map(configHasErrors =>{\r\n \r\n return [\r\n {\r\n label: \"Templates\",\r\n icon: \"content_copy\",\r\n hint: \"Select a form to apply as a template\",\r\n action: () => this.openDialog()\r\n },\r\n {\r\n label: \"Submission Config\",\r\n hint: \"Setup form submission api and other configurations\",\r\n icon: \"api\",\r\n errors: configHasErrors,\r\n action: () => this.openFormSubmissionDialog()\r\n },\r\n ]\r\n })\r\n )\r\n vm$ = combineLatest(\r\n [\r\n this.items$,\r\n this.form$,\r\n this.formCopy$,\r\n this\r\n.configHasErrors$\r\n ]\r\n ).pipe(\r\n map(([items, form, formCopy,configHasErrors]) => ({ items, form, formCopy,configHasErrors }))\r\n )\r\n\r\n}\r\n"],"names":["_forTrack0","i1.FormsStoreService","i3","i5","i6","i9","i1","i2","i4","i7","i8","i10","i11"],"mappings":"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"}
|
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
import * as i2 from '@angular/common';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { inject, Component } from '@angular/core';
|
|
5
|
+
import { F as FormsStoreService, M as MatModulesModule, T as TDynamicDataEditComponent, _ as _isEqual, b as TDynamicDataViewComponent } from './ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs';
|
|
6
|
+
import { DefaultInputConfig } from 'ngx-t-forms-types';
|
|
7
|
+
import { take, distinctUntilChanged, tap, combineLatest, map } from 'rxjs';
|
|
8
|
+
import * as i6 from '@angular/material/list';
|
|
9
|
+
import * as i4 from '@angular/material/divider';
|
|
10
|
+
import * as i2$1 from '@angular/material/button';
|
|
11
|
+
import * as i3 from '@angular/material/card';
|
|
12
|
+
import * as i5 from '@angular/material/expansion';
|
|
13
|
+
import * as i6$1 from '@angular/material/icon';
|
|
14
|
+
import * as i7 from '@angular/material/progress-spinner';
|
|
15
|
+
import * as i3$1 from '@angular/material/form-field';
|
|
16
|
+
import * as i9 from '@angular/material/toolbar';
|
|
17
|
+
import * as i8 from '@angular/material/tooltip';
|
|
18
|
+
import * as i2$2 from '@angular/cdk/drag-drop';
|
|
19
|
+
|
|
20
|
+
const DefaultElementComponent_Defer_3_DepsFn = () => [i4.MatDivider, i6.MatListItem, i6.MatListItemAvatar, i6.MatListItemTitle];
|
|
21
|
+
function DefaultElementComponent_Defer_2_For_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
23
|
+
i0.ɵɵelementStart(0, "mat-list-item", 1);
|
|
24
|
+
i0.ɵɵlistener("click", function DefaultElementComponent_Defer_2_For_1_Conditional_0_Template_mat_list_item_click_0_listener() { i0.ɵɵrestoreView(_r1); const input_r2 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.selectInputTemplate(input_r2)); });
|
|
25
|
+
i0.ɵɵelement(1, "img", 2);
|
|
26
|
+
i0.ɵɵelementStart(2, "span", 3);
|
|
27
|
+
i0.ɵɵtext(3);
|
|
28
|
+
i0.ɵɵelementEnd()();
|
|
29
|
+
i0.ɵɵelement(4, "mat-divider");
|
|
30
|
+
} if (rf & 2) {
|
|
31
|
+
const input_r2 = i0.ɵɵnextContext().$implicit;
|
|
32
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
33
|
+
i0.ɵɵadvance();
|
|
34
|
+
i0.ɵɵproperty("src", ctx_r2.inputs[input_r2].illustration, i0.ɵɵsanitizeUrl);
|
|
35
|
+
i0.ɵɵadvance(2);
|
|
36
|
+
i0.ɵɵtextInterpolate(ctx_r2.inputs[input_r2].label);
|
|
37
|
+
} }
|
|
38
|
+
function DefaultElementComponent_Defer_2_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
i0.ɵɵtemplate(0, DefaultElementComponent_Defer_2_For_1_Conditional_0_Template, 5, 2);
|
|
40
|
+
} if (rf & 2) {
|
|
41
|
+
const input_r2 = ctx.$implicit;
|
|
42
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
43
|
+
i0.ɵɵconditional(ctx_r2.inputs[input_r2].disabled === false ? 0 : -1);
|
|
44
|
+
} }
|
|
45
|
+
function DefaultElementComponent_Defer_2_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵrepeaterCreate(0, DefaultElementComponent_Defer_2_For_1_Template, 1, 1, null, null, i0.ɵɵrepeaterTrackByIdentity);
|
|
47
|
+
} if (rf & 2) {
|
|
48
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
49
|
+
i0.ɵɵrepeater(ctx_r2.getDefaultInputs());
|
|
50
|
+
} }
|
|
51
|
+
class DefaultElementComponent {
|
|
52
|
+
constructor() {
|
|
53
|
+
this.inputs = DefaultInputConfig;
|
|
54
|
+
this.store = inject(FormsStoreService);
|
|
55
|
+
}
|
|
56
|
+
getDefaultInputs() {
|
|
57
|
+
const i = JSON.parse(JSON.stringify(DefaultInputConfig));
|
|
58
|
+
return Object.keys(i);
|
|
59
|
+
}
|
|
60
|
+
selectInputTemplate(input) {
|
|
61
|
+
this.store.selectors.selectInputInEditId$.pipe(take(1)).subscribe((id) => {
|
|
62
|
+
if (!id)
|
|
63
|
+
return;
|
|
64
|
+
this.store.actionsFormBuilder.selectInputTemplate(id, input);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
static { this.ɵfac = function DefaultElementComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DefaultElementComponent)(); }; }
|
|
68
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DefaultElementComponent, selectors: [["app-default-element"]], decls: 5, vars: 0, consts: [[2, "margin", "5px"], [2, "background", "var(--mdc-elevated-card-container-color, var(--mat-app-surface-container-low))", 3, "click"], ["matListItemAvatar", "", "alt", "", 3, "src"], ["matListItemTitle", "", "href", "..."]], template: function DefaultElementComponent_Template(rf, ctx) { if (rf & 1) {
|
|
69
|
+
i0.ɵɵelement(0, "br");
|
|
70
|
+
i0.ɵɵelementStart(1, "mat-nav-list", 0);
|
|
71
|
+
i0.ɵɵtemplate(2, DefaultElementComponent_Defer_2_Template, 2, 0);
|
|
72
|
+
i0.ɵɵdefer(3, 2, DefaultElementComponent_Defer_3_DepsFn);
|
|
73
|
+
i0.ɵɵdeferOnIdle();
|
|
74
|
+
i0.ɵɵelementEnd();
|
|
75
|
+
} }, dependencies: [CommonModule, MatModulesModule, i6.MatNavList], encapsulation: 2 }); }
|
|
76
|
+
}
|
|
77
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DefaultElementComponent, [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'app-default-element', standalone: true, imports: [CommonModule, MatModulesModule], template: "<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>" }]
|
|
80
|
+
}], () => [], null); })();
|
|
81
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DefaultElementComponent, { className: "DefaultElementComponent", filePath: "lib/components/form-builder/elements/default-element/default-element.component.ts", lineNumber: 18 }); })();
|
|
82
|
+
|
|
83
|
+
const InputElementEditorComponent_ng_container_5_Defer_4_DepsFn = () => [i2.NgIf, i4.MatDivider, i5.MatAccordion, i5.MatExpansionPanel, i5.MatExpansionPanelHeader, i5.MatExpansionPanelTitle, i6$1.MatIcon, i6.MatNavList, i6.MatListItem, i6.MatListItemAvatar, i6.MatListItemTitle, i6.MatListItemMeta, i7.MatProgressSpinner, i8.MatTooltip];
|
|
84
|
+
const InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_Defer_3_DepsFn = () => [TDynamicDataEditComponent];
|
|
85
|
+
const _c0$1 = () => [];
|
|
86
|
+
const _c1 = (a0, a1, a2) => ({ "Default Input Template InEdit": a0, "Input In Edit": a1, "Input Editor Sections": a2 });
|
|
87
|
+
const _forTrack0 = ($index, $item) => $item.id;
|
|
88
|
+
const _forTrack1 = ($index, $item) => $item.key;
|
|
89
|
+
function InputElementEditorComponent_ng_container_5_Defer_1_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelementStart(0, "mat-icon", 11);
|
|
91
|
+
i0.ɵɵtext(1, "error");
|
|
92
|
+
i0.ɵɵelementEnd();
|
|
93
|
+
} }
|
|
94
|
+
function InputElementEditorComponent_ng_container_5_Defer_1_For_2_span_6_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
i0.ɵɵelementStart(0, "span", 14);
|
|
96
|
+
i0.ɵɵtext(1);
|
|
97
|
+
i0.ɵɵelementEnd();
|
|
98
|
+
} if (rf & 2) {
|
|
99
|
+
const section_r2 = i0.ɵɵnextContext().$implicit;
|
|
100
|
+
const vm_r3 = i0.ɵɵnextContext(2).ngIf;
|
|
101
|
+
i0.ɵɵadvance();
|
|
102
|
+
i0.ɵɵtextInterpolate1(" ", vm_r3.inputInEdit[section_r2.showItemValue], " ");
|
|
103
|
+
} }
|
|
104
|
+
function InputElementEditorComponent_ng_container_5_Defer_1_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
106
|
+
i0.ɵɵelementStart(0, "mat-nav-list")(1, "mat-list-item", 15);
|
|
107
|
+
i0.ɵɵlistener("click", function InputElementEditorComponent_ng_container_5_Defer_1_For_2_Conditional_9_Template_mat_list_item_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r4 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r4.clearInputInEdit()); });
|
|
108
|
+
i0.ɵɵelement(2, "img", 16);
|
|
109
|
+
i0.ɵɵelementStart(3, "span", 17);
|
|
110
|
+
i0.ɵɵtext(4);
|
|
111
|
+
i0.ɵɵelementEnd();
|
|
112
|
+
i0.ɵɵelementStart(5, "span", 18)(6, "mat-icon");
|
|
113
|
+
i0.ɵɵtext(7, "arrow_forward_ios");
|
|
114
|
+
i0.ɵɵelementEnd()()();
|
|
115
|
+
i0.ɵɵelement(8, "mat-divider");
|
|
116
|
+
i0.ɵɵelementEnd();
|
|
117
|
+
} if (rf & 2) {
|
|
118
|
+
const vm_r3 = i0.ɵɵnextContext(3).ngIf;
|
|
119
|
+
i0.ɵɵadvance(2);
|
|
120
|
+
i0.ɵɵproperty("src", vm_r3.defaultInputInEdit == null ? null : vm_r3.defaultInputInEdit.illustration, i0.ɵɵsanitizeUrl)("alt", vm_r3.defaultInputInEdit == null ? null : vm_r3.defaultInputInEdit.label);
|
|
121
|
+
i0.ɵɵadvance(2);
|
|
122
|
+
i0.ɵɵtextInterpolate(vm_r3.defaultInputInEdit == null ? null : vm_r3.defaultInputInEdit.label);
|
|
123
|
+
} }
|
|
124
|
+
function InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_Defer_1_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
126
|
+
i0.ɵɵelementStart(0, "lib-t-dynamic-data-edit", 19);
|
|
127
|
+
i0.ɵɵlistener("valueChange", function InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_Defer_1_Template_lib_t_dynamic_data_edit_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const element_r7 = i0.ɵɵnextContext().$implicit; const ctx_r4 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r4.elementConfigurationChanged($event, element_r7)); })("blur", function InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_Defer_1_Template_lib_t_dynamic_data_edit_blur_0_listener($event) { i0.ɵɵrestoreView(_r6); const element_r7 = i0.ɵɵnextContext().$implicit; const ctx_r4 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r4.elementBlur($event, element_r7)); });
|
|
128
|
+
i0.ɵɵelementEnd();
|
|
129
|
+
} if (rf & 2) {
|
|
130
|
+
const element_r7 = i0.ɵɵnextContext().$implicit;
|
|
131
|
+
const vm_r3 = i0.ɵɵnextContext(3).ngIf;
|
|
132
|
+
i0.ɵɵproperty("editorConfig", element_r7)("data", vm_r3.inputInEdit)("validationErrors", element_r7.computedErrors || i0.ɵɵpureFunction0(4, _c0$1))("formInputs", vm_r3.formInputs || i0.ɵɵpureFunction0(5, _c0$1));
|
|
133
|
+
} }
|
|
134
|
+
function InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_DeferPlaceholder_2_Template(rf, ctx) { if (rf & 1) {
|
|
135
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
136
|
+
i0.ɵɵelement(1, "mat-spinner", 21);
|
|
137
|
+
i0.ɵɵelementEnd();
|
|
138
|
+
} }
|
|
139
|
+
function InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_Template(rf, ctx) { if (rf & 1) {
|
|
140
|
+
i0.ɵɵelementStart(0, "p", 13);
|
|
141
|
+
i0.ɵɵtemplate(1, InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_Defer_1_Template, 1, 6)(2, InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_DeferPlaceholder_2_Template, 2, 0);
|
|
142
|
+
i0.ɵɵdefer(3, 1, InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_Defer_3_DepsFn, null, 2);
|
|
143
|
+
i0.ɵɵdeferOnViewport(0, -1);
|
|
144
|
+
i0.ɵɵelementEnd();
|
|
145
|
+
} }
|
|
146
|
+
function InputElementEditorComponent_ng_container_5_Defer_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
147
|
+
i0.ɵɵelementStart(0, "mat-expansion-panel")(1, "mat-expansion-panel-header")(2, "mat-panel-title");
|
|
148
|
+
i0.ɵɵtext(3);
|
|
149
|
+
i0.ɵɵelement(4, "span", 2);
|
|
150
|
+
i0.ɵɵtemplate(5, InputElementEditorComponent_ng_container_5_Defer_1_For_2_Conditional_5_Template, 2, 0, "mat-icon", 11)(6, InputElementEditorComponent_ng_container_5_Defer_1_For_2_span_6_Template, 2, 1, "span", 12);
|
|
151
|
+
i0.ɵɵelement(7, "mat-divider", 7);
|
|
152
|
+
i0.ɵɵelementEnd()();
|
|
153
|
+
i0.ɵɵelement(8, "div", 8);
|
|
154
|
+
i0.ɵɵtemplate(9, InputElementEditorComponent_ng_container_5_Defer_1_For_2_Conditional_9_Template, 9, 3, "mat-nav-list");
|
|
155
|
+
i0.ɵɵrepeaterCreate(10, InputElementEditorComponent_ng_container_5_Defer_1_For_2_For_11_Template, 5, 0, "p", 13, _forTrack0);
|
|
156
|
+
i0.ɵɵelementEnd();
|
|
157
|
+
} if (rf & 2) {
|
|
158
|
+
const section_r2 = ctx.$implicit;
|
|
159
|
+
const $index_r8 = ctx.$index;
|
|
160
|
+
const vm_r3 = i0.ɵɵnextContext(2).ngIf;
|
|
161
|
+
i0.ɵɵadvance(3);
|
|
162
|
+
i0.ɵɵtextInterpolate1(" ", section_r2.label, " ");
|
|
163
|
+
i0.ɵɵadvance(2);
|
|
164
|
+
i0.ɵɵconditional(section_r2.hasErrors ? 5 : -1);
|
|
165
|
+
i0.ɵɵadvance();
|
|
166
|
+
i0.ɵɵproperty("ngIf", section_r2.showItemValue && !!vm_r3.inputInEdit);
|
|
167
|
+
i0.ɵɵadvance(3);
|
|
168
|
+
i0.ɵɵconditional($index_r8 === 0 ? 9 : -1);
|
|
169
|
+
i0.ɵɵadvance();
|
|
170
|
+
i0.ɵɵrepeater(section_r2.elements);
|
|
171
|
+
} }
|
|
172
|
+
function InputElementEditorComponent_ng_container_5_Defer_1_Template(rf, ctx) { if (rf & 1) {
|
|
173
|
+
i0.ɵɵelementStart(0, "mat-accordion", 4);
|
|
174
|
+
i0.ɵɵrepeaterCreate(1, InputElementEditorComponent_ng_container_5_Defer_1_For_2_Template, 12, 4, "mat-expansion-panel", null, _forTrack0);
|
|
175
|
+
i0.ɵɵelementEnd();
|
|
176
|
+
} if (rf & 2) {
|
|
177
|
+
const vm_r3 = i0.ɵɵnextContext().ngIf;
|
|
178
|
+
i0.ɵɵadvance();
|
|
179
|
+
i0.ɵɵrepeater((vm_r3.inputElementEditorConfigs == null ? null : vm_r3.inputElementEditorConfigs.editorSections) || i0.ɵɵpureFunction0(0, _c0$1));
|
|
180
|
+
} }
|
|
181
|
+
function InputElementEditorComponent_ng_container_5_DeferPlaceholder_2_Template(rf, ctx) { if (rf & 1) {
|
|
182
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
183
|
+
i0.ɵɵelement(1, "mat-spinner", 22);
|
|
184
|
+
i0.ɵɵelementEnd();
|
|
185
|
+
} }
|
|
186
|
+
function InputElementEditorComponent_ng_container_5_DeferError_3_Template(rf, ctx) { if (rf & 1) {
|
|
187
|
+
i0.ɵɵelementStart(0, "mat-error")(1, "h1");
|
|
188
|
+
i0.ɵɵtext(2, "Error loading element editor");
|
|
189
|
+
i0.ɵɵelementEnd();
|
|
190
|
+
i0.ɵɵelementStart(3, "p");
|
|
191
|
+
i0.ɵɵtext(4, "An error occurred while loading the element editor. Please try again later.");
|
|
192
|
+
i0.ɵɵelementEnd()();
|
|
193
|
+
} }
|
|
194
|
+
function InputElementEditorComponent_ng_container_5_Conditional_12_For_16_Template(rf, ctx) { if (rf & 1) {
|
|
195
|
+
i0.ɵɵelementStart(0, "li")(1, "strong");
|
|
196
|
+
i0.ɵɵtext(2);
|
|
197
|
+
i0.ɵɵelementEnd();
|
|
198
|
+
i0.ɵɵtext(3);
|
|
199
|
+
i0.ɵɵelementEnd();
|
|
200
|
+
} if (rf & 2) {
|
|
201
|
+
const error_r9 = ctx.$implicit;
|
|
202
|
+
i0.ɵɵadvance(2);
|
|
203
|
+
i0.ɵɵtextInterpolate(error_r9.key);
|
|
204
|
+
i0.ɵɵadvance();
|
|
205
|
+
i0.ɵɵtextInterpolate1(" ", error_r9.message, " ");
|
|
206
|
+
} }
|
|
207
|
+
function InputElementEditorComponent_ng_container_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
208
|
+
i0.ɵɵelementStart(0, "mat-expansion-panel")(1, "mat-expansion-panel-header")(2, "mat-panel-title");
|
|
209
|
+
i0.ɵɵtext(3, " Validation Errors ");
|
|
210
|
+
i0.ɵɵelement(4, "span", 2);
|
|
211
|
+
i0.ɵɵelementStart(5, "mat-error");
|
|
212
|
+
i0.ɵɵtext(6);
|
|
213
|
+
i0.ɵɵelementEnd();
|
|
214
|
+
i0.ɵɵelement(7, "mat-divider", 7);
|
|
215
|
+
i0.ɵɵelementEnd()();
|
|
216
|
+
i0.ɵɵelement(8, "div", 8);
|
|
217
|
+
i0.ɵɵelementStart(9, "mat-error", 23)(10, "h1");
|
|
218
|
+
i0.ɵɵtext(11, "All configuration errors:");
|
|
219
|
+
i0.ɵɵelementEnd();
|
|
220
|
+
i0.ɵɵelementStart(12, "p");
|
|
221
|
+
i0.ɵɵtext(13);
|
|
222
|
+
i0.ɵɵelementEnd();
|
|
223
|
+
i0.ɵɵelementStart(14, "ul");
|
|
224
|
+
i0.ɵɵrepeaterCreate(15, InputElementEditorComponent_ng_container_5_Conditional_12_For_16_Template, 4, 2, "li", null, _forTrack1);
|
|
225
|
+
i0.ɵɵelementEnd()()();
|
|
226
|
+
} if (rf & 2) {
|
|
227
|
+
const vm_r3 = i0.ɵɵnextContext().ngIf;
|
|
228
|
+
i0.ɵɵadvance(6);
|
|
229
|
+
i0.ɵɵtextInterpolate1(" ", vm_r3.inputInEditValidationErrors.length || "", " ");
|
|
230
|
+
i0.ɵɵadvance(7);
|
|
231
|
+
i0.ɵɵtextInterpolate1(" ", vm_r3.inputInEditValidationErrors.length || "", " errors found. When an error is found, the input will not be saved. ");
|
|
232
|
+
i0.ɵɵadvance(2);
|
|
233
|
+
i0.ɵɵrepeater(vm_r3.inputInEditValidationErrors);
|
|
234
|
+
} }
|
|
235
|
+
function InputElementEditorComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
236
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
237
|
+
i0.ɵɵelementContainerStart(0);
|
|
238
|
+
i0.ɵɵtemplate(1, InputElementEditorComponent_ng_container_5_Defer_1_Template, 3, 1)(2, InputElementEditorComponent_ng_container_5_DeferPlaceholder_2_Template, 2, 0)(3, InputElementEditorComponent_ng_container_5_DeferError_3_Template, 5, 0);
|
|
239
|
+
i0.ɵɵdefer(4, 1, InputElementEditorComponent_ng_container_5_Defer_4_DepsFn, null, 2, 3);
|
|
240
|
+
i0.ɵɵdeferOnViewport(0, -1);
|
|
241
|
+
i0.ɵɵelementStart(6, "mat-toolbar", 0)(7, "span", 1);
|
|
242
|
+
i0.ɵɵtext(8, "Diagnostic data");
|
|
243
|
+
i0.ɵɵelementEnd();
|
|
244
|
+
i0.ɵɵelement(9, "span", 2);
|
|
245
|
+
i0.ɵɵelementEnd();
|
|
246
|
+
i0.ɵɵelement(10, "mat-divider");
|
|
247
|
+
i0.ɵɵelementStart(11, "mat-accordion", 4);
|
|
248
|
+
i0.ɵɵtemplate(12, InputElementEditorComponent_ng_container_5_Conditional_12_Template, 17, 2, "mat-expansion-panel");
|
|
249
|
+
i0.ɵɵelementStart(13, "mat-expansion-panel")(14, "mat-expansion-panel-header", 5)(15, "mat-panel-title");
|
|
250
|
+
i0.ɵɵtext(16, " Complete Virtual Model ");
|
|
251
|
+
i0.ɵɵelement(17, "span", 2);
|
|
252
|
+
i0.ɵɵelementStart(18, "button", 6);
|
|
253
|
+
i0.ɵɵlistener("click", function InputElementEditorComponent_ng_container_5_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.showDebugData()); });
|
|
254
|
+
i0.ɵɵelementStart(19, "mat-icon");
|
|
255
|
+
i0.ɵɵtext(20, " troubleshoot ");
|
|
256
|
+
i0.ɵɵelementEnd()();
|
|
257
|
+
i0.ɵɵelement(21, "mat-divider", 7);
|
|
258
|
+
i0.ɵɵelementEnd()();
|
|
259
|
+
i0.ɵɵelement(22, "div", 8);
|
|
260
|
+
i0.ɵɵelementStart(23, "mat-card", 9);
|
|
261
|
+
i0.ɵɵelement(24, "lib-t-dynamic-data-view", 10);
|
|
262
|
+
i0.ɵɵelementEnd()()();
|
|
263
|
+
i0.ɵɵelementContainerEnd();
|
|
264
|
+
} if (rf & 2) {
|
|
265
|
+
const vm_r3 = ctx.ngIf;
|
|
266
|
+
i0.ɵɵadvance(12);
|
|
267
|
+
i0.ɵɵconditional((vm_r3.inputInEditValidationErrors || i0.ɵɵpureFunction0(2, _c0$1)).length > 0 ? 12 : -1);
|
|
268
|
+
i0.ɵɵadvance(12);
|
|
269
|
+
i0.ɵɵproperty("data", i0.ɵɵpureFunction3(3, _c1, vm_r3.defaultInputInEdit, vm_r3.inputInEdit, vm_r3.inputElementEditorConfigs == null ? null : vm_r3.inputElementEditorConfigs.editorSections));
|
|
270
|
+
} }
|
|
271
|
+
class InputElementEditorComponent {
|
|
272
|
+
constructor() {
|
|
273
|
+
this.store = inject(FormsStoreService);
|
|
274
|
+
this.inputElementEditorConfigs$ = this.store.formBuilderSelectors.inputElementEditorConfigs$.pipe(distinctUntilChanged((a, b) => _isEqual(a, b)));
|
|
275
|
+
this.inputInEdit$ = this.store.formBuilderSelectors.inputInEdit$;
|
|
276
|
+
this.defaultInputInEdit$ = this.store.formBuilderSelectors.defaultInputInEdit$;
|
|
277
|
+
this.formInputs$ = this.store.formBuilderSelectors.getAllFormInputs$;
|
|
278
|
+
this.elementConfigurationChanged = (value, ele) => {
|
|
279
|
+
this.inputInEdit$.pipe(take(1), tap((input) => {
|
|
280
|
+
if (!input)
|
|
281
|
+
return;
|
|
282
|
+
this.store.actionsFormBuilder.elementConfigurationChanged(input.id, value, ele);
|
|
283
|
+
})).subscribe();
|
|
284
|
+
};
|
|
285
|
+
// Event handlers
|
|
286
|
+
this.clearInputInEdit = () => {
|
|
287
|
+
this.inputInEdit$.pipe(take(1), tap((input) => {
|
|
288
|
+
if (!input)
|
|
289
|
+
return;
|
|
290
|
+
this.store.actionsFormBuilder.clearInputInEdit(input.id);
|
|
291
|
+
})).subscribe();
|
|
292
|
+
};
|
|
293
|
+
this.elementBlur = (event, element) => {
|
|
294
|
+
this.inputInEdit$.pipe(take(1), tap((input) => {
|
|
295
|
+
if (!input)
|
|
296
|
+
return;
|
|
297
|
+
this.store.actionsFormBuilder.elementBlur(input.id, event, element);
|
|
298
|
+
})).subscribe();
|
|
299
|
+
};
|
|
300
|
+
this.inputInEditValidationErrors$ = this.store.formBuilderSelectors.inputInEditValidationErrors$;
|
|
301
|
+
this.vm$ = combineLatest([
|
|
302
|
+
this.defaultInputInEdit$,
|
|
303
|
+
this.inputInEdit$,
|
|
304
|
+
this.inputElementEditorConfigs$,
|
|
305
|
+
this.inputInEditValidationErrors$,
|
|
306
|
+
this.formInputs$,
|
|
307
|
+
]).pipe(map(([defaultInputInEdit, inputInEdit, inputElementEditorConfigs, inputInEditValidationErrors, formInputs]) => {
|
|
308
|
+
return {
|
|
309
|
+
defaultInputInEdit,
|
|
310
|
+
inputInEdit,
|
|
311
|
+
inputElementEditorConfigs,
|
|
312
|
+
inputInEditValidationErrors,
|
|
313
|
+
formInputs
|
|
314
|
+
};
|
|
315
|
+
}));
|
|
316
|
+
}
|
|
317
|
+
showDebugData() {
|
|
318
|
+
this.vm$.pipe(take(1)).subscribe((vm) => {
|
|
319
|
+
const jsonData = JSON.stringify(vm, null, 2);
|
|
320
|
+
const blob = new Blob([jsonData], { type: 'application/json' });
|
|
321
|
+
const url = window.URL.createObjectURL(blob);
|
|
322
|
+
const link = document.createElement('a');
|
|
323
|
+
link.href = url;
|
|
324
|
+
link.download = 'debug-data.json';
|
|
325
|
+
link.click();
|
|
326
|
+
window.URL.revokeObjectURL(url);
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
static { this.ɵfac = function InputElementEditorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InputElementEditorComponent)(); }; }
|
|
330
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InputElementEditorComponent, selectors: [["app-input-element-editor"]], decls: 7, vars: 3, consts: [[1, "section-header"], [1, "header"], [1, "spacer"], [4, "ngIf"], ["togglePosition", "before"], [2, "padding-right", "0px"], ["mat-icon-button", "", 3, "click"], [2, "position", "absolute", "left", "0px", "width", "100%", "bottom", "0px"], [2, "margin-top", "16px"], [2, "padding", "16px"], [3, "data"], ["color", "warn"], ["class", "showItemValue", 4, "ngIf"], [2, "margin-bottom", "16px", "margin-top", "8px"], [1, "showItemValue"], ["matTooltip", "Change input element", 3, "click"], ["matListItemAvatar", "", 3, "src", "alt"], ["matListItemTitle", ""], ["matListItemMeta", ""], [3, "valueChange", "blur", "editorConfig", "data", "validationErrors", "formInputs"], [2, "padding", "50px", "display", "flex", "justify-content", "center", "align-items", "center", "text-align", "center"], ["diameter", "18"], ["diameter", "50"], [2, "border", "solid 1px", "border-radius", "8px", "padding", "16px"]], template: function InputElementEditorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
331
|
+
i0.ɵɵelementStart(0, "mat-toolbar", 0)(1, "span", 1);
|
|
332
|
+
i0.ɵɵtext(2, "Element configuration");
|
|
333
|
+
i0.ɵɵelementEnd();
|
|
334
|
+
i0.ɵɵelement(3, "span", 2);
|
|
335
|
+
i0.ɵɵelementEnd();
|
|
336
|
+
i0.ɵɵelement(4, "mat-divider");
|
|
337
|
+
i0.ɵɵtemplate(5, InputElementEditorComponent_ng_container_5_Template, 25, 7, "ng-container", 3);
|
|
338
|
+
i0.ɵɵpipe(6, "async");
|
|
339
|
+
} if (rf & 2) {
|
|
340
|
+
i0.ɵɵadvance(5);
|
|
341
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(6, 1, ctx.vm$));
|
|
342
|
+
} }, dependencies: [CommonModule, i2.NgIf, i2.AsyncPipe, MatModulesModule, i2$1.MatIconButton, i3.MatCard, i4.MatDivider, i5.MatAccordion, i5.MatExpansionPanel, i5.MatExpansionPanelHeader, i5.MatExpansionPanelTitle, i6$1.MatIcon, i7.MatProgressSpinner, i3$1.MatError, i9.MatToolbar, TDynamicDataViewComponent], styles: [".showItemValue[_ngcontent-%COMP%]{opacity:.6}mat-form-field[_ngcontent-%COMP%]{width:100%}mat-slider[_ngcontent-%COMP%]{width:100%}.header[_ngcontent-%COMP%]{margin-bottom:0;font-size:small;opacity:.6}.section-header[_ngcontent-%COMP%]{height:38px;margin-top:12px}"] }); }
|
|
343
|
+
}
|
|
344
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InputElementEditorComponent, [{
|
|
345
|
+
type: Component,
|
|
346
|
+
args: [{ selector: 'app-input-element-editor', standalone: true, imports: [
|
|
347
|
+
CommonModule,
|
|
348
|
+
MatModulesModule,
|
|
349
|
+
TDynamicDataEditComponent,
|
|
350
|
+
TDynamicDataViewComponent
|
|
351
|
+
], template: "<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 matTooltip=\"Change input element\" (click)=\"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 [editorConfig]=\"element\" [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 <mat-error>\r\n <h1>Error loading element editor</h1>\r\n <p>An error occurred while loading the element editor. Please try again later.</p>\r\n </mat-error>\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 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>", styles: [".showItemValue{opacity:.6}mat-form-field{width:100%}mat-slider{width:100%}.header{margin-bottom:0;font-size:small;opacity:.6}.section-header{height:38px;margin-top:12px}\n"] }]
|
|
352
|
+
}], null, null); })();
|
|
353
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InputElementEditorComponent, { className: "InputElementEditorComponent", filePath: "lib/components/form-builder/elements/input-element-editor/input-element-editor.component.ts", lineNumber: 29 }); })();
|
|
354
|
+
|
|
355
|
+
const _c0 = () => [];
|
|
356
|
+
function InputEditorComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
357
|
+
i0.ɵɵelement(0, "app-input-element-editor", 2);
|
|
358
|
+
} }
|
|
359
|
+
function InputEditorComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
360
|
+
i0.ɵɵelement(0, "app-default-element", 2);
|
|
361
|
+
} }
|
|
362
|
+
function InputEditorComponent_button_22_Template(rf, ctx) { if (rf & 1) {
|
|
363
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
364
|
+
i0.ɵɵelementStart(0, "button", 6);
|
|
365
|
+
i0.ɵɵpipe(1, "async");
|
|
366
|
+
i0.ɵɵlistener("click", function InputEditorComponent_button_22_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveInput()); });
|
|
367
|
+
i0.ɵɵtext(2, "save new input");
|
|
368
|
+
i0.ɵɵelementEnd();
|
|
369
|
+
} if (rf & 2) {
|
|
370
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
371
|
+
i0.ɵɵproperty("disabled", (i0.ɵɵpipeBind1(1, 1, ctx_r1.validationErrors$) || i0.ɵɵpureFunction0(3, _c0)).length > 0);
|
|
372
|
+
} }
|
|
373
|
+
class InputEditorComponent {
|
|
374
|
+
constructor(store) {
|
|
375
|
+
this.store = store;
|
|
376
|
+
this.defaultInputs = DefaultInputConfig;
|
|
377
|
+
this.inputInEdit$ = this.store.formBuilderSelectors.inputInEdit$;
|
|
378
|
+
this.defaultInputInEdit$ = this.store.formBuilderSelectors.defaultInputInEdit$;
|
|
379
|
+
this.saveInput = () => {
|
|
380
|
+
this.inputInEdit$.pipe(take(1), tap((input) => {
|
|
381
|
+
if (!input)
|
|
382
|
+
return;
|
|
383
|
+
this.store.actionsFormBuilder.saveInput(input.id);
|
|
384
|
+
})).subscribe();
|
|
385
|
+
};
|
|
386
|
+
this.closeEditor = () => this.store.actions.setInputInEditId({
|
|
387
|
+
inputInEdit: null
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
get validationErrors$() {
|
|
391
|
+
return this.store.formBuilderSelectors.inputInEditValidationErrors$;
|
|
392
|
+
}
|
|
393
|
+
static { this.ɵfac = function InputEditorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InputEditorComponent)(i0.ɵɵdirectiveInject(FormsStoreService)); }; }
|
|
394
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InputEditorComponent, selectors: [["app-input-editor"]], decls: 24, vars: 14, consts: [[2, "background", "var(--mat-toolbar-container-background-color, var(--mat-app-surface))", "margin", "0px", "border", "solid 1px var(--mat-divider-color, var(--mat-app-outline))"], ["mat-icon-button", "", "cdkDragHandle", "", 2, "position", "absolute", "right", "4px"], [2, "background", "var(--mat-toolbar-container-background-color, var(--mat-app-surface))"], ["mat-flat-button", "", 1, "", 3, "click"], [1, "spacer"], ["mat-flat-button", "", "color", "primary", 3, "disabled", "click", 4, "ngIf"], ["mat-flat-button", "", "color", "primary", 3, "click", "disabled"]], template: function InputEditorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
395
|
+
i0.ɵɵelementStart(0, "mat-card", 0)(1, "mat-card-header")(2, "mat-card-title");
|
|
396
|
+
i0.ɵɵtext(3);
|
|
397
|
+
i0.ɵɵpipe(4, "async");
|
|
398
|
+
i0.ɵɵpipe(5, "async");
|
|
399
|
+
i0.ɵɵelementEnd();
|
|
400
|
+
i0.ɵɵelementStart(6, "mat-card-subtitle");
|
|
401
|
+
i0.ɵɵtext(7);
|
|
402
|
+
i0.ɵɵpipe(8, "async");
|
|
403
|
+
i0.ɵɵelementEnd();
|
|
404
|
+
i0.ɵɵelementStart(9, "button", 1)(10, "mat-icon");
|
|
405
|
+
i0.ɵɵtext(11, "drag_indicator");
|
|
406
|
+
i0.ɵɵelementEnd()()();
|
|
407
|
+
i0.ɵɵtemplate(12, InputEditorComponent_Conditional_12_Template, 1, 0, "app-input-element-editor", 2);
|
|
408
|
+
i0.ɵɵpipe(13, "async");
|
|
409
|
+
i0.ɵɵtemplate(14, InputEditorComponent_Conditional_14_Template, 1, 0, "app-default-element", 2);
|
|
410
|
+
i0.ɵɵelement(15, "br")(16, "br")(17, "mat-divider");
|
|
411
|
+
i0.ɵɵelementStart(18, "mat-card-actions")(19, "button", 3);
|
|
412
|
+
i0.ɵɵlistener("click", function InputEditorComponent_Template_button_click_19_listener() { return ctx.closeEditor(); });
|
|
413
|
+
i0.ɵɵtext(20, "close");
|
|
414
|
+
i0.ɵɵelementEnd();
|
|
415
|
+
i0.ɵɵelement(21, "span", 4);
|
|
416
|
+
i0.ɵɵtemplate(22, InputEditorComponent_button_22_Template, 3, 4, "button", 5);
|
|
417
|
+
i0.ɵɵpipe(23, "async");
|
|
418
|
+
i0.ɵɵelementEnd()();
|
|
419
|
+
} if (rf & 2) {
|
|
420
|
+
let tmp_0_0;
|
|
421
|
+
let tmp_1_0;
|
|
422
|
+
let tmp_2_0;
|
|
423
|
+
let tmp_3_0;
|
|
424
|
+
i0.ɵɵadvance(3);
|
|
425
|
+
i0.ɵɵtextInterpolate1(" ", !!((tmp_0_0 = i0.ɵɵpipeBind1(4, 4, ctx.inputInEdit$)) == null ? null : tmp_0_0.element) ? "Edit " + ((tmp_0_0 = i0.ɵɵpipeBind1(5, 6, ctx.inputInEdit$)) == null ? null : tmp_0_0.label) + " element" : "Setup Form Element", " ");
|
|
426
|
+
i0.ɵɵadvance(4);
|
|
427
|
+
i0.ɵɵtextInterpolate1(" ", !!((tmp_1_0 = i0.ɵɵpipeBind1(8, 8, ctx.inputInEdit$)) == null ? null : tmp_1_0.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.", "");
|
|
428
|
+
i0.ɵɵadvance(5);
|
|
429
|
+
i0.ɵɵconditional(!!((tmp_2_0 = i0.ɵɵpipeBind1(13, 10, ctx.inputInEdit$)) == null ? null : tmp_2_0.element) ? 12 : 14);
|
|
430
|
+
i0.ɵɵadvance(10);
|
|
431
|
+
i0.ɵɵproperty("ngIf", !((tmp_3_0 = i0.ɵɵpipeBind1(23, 12, ctx.inputInEdit$)) == null ? null : tmp_3_0.id));
|
|
432
|
+
} }, dependencies: [CommonModule, i2.NgIf, i2.AsyncPipe, MatModulesModule, i2$2.CdkDragHandle, i2$1.MatButton, i2$1.MatIconButton, i3.MatCard, i3.MatCardActions, i3.MatCardHeader, i3.MatCardSubtitle, i3.MatCardTitle, i4.MatDivider, i6$1.MatIcon, DefaultElementComponent,
|
|
433
|
+
InputElementEditorComponent], styles: ["mat-card[_ngcontent-%COMP%]{margin:16px}mat-card-content[_ngcontent-%COMP%]{overflow-y:auto;max-height:calc(100vh - 190px)}mat-card-actions[_ngcontent-%COMP%]{position:sticky;bottom:0}"] }); }
|
|
434
|
+
}
|
|
435
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InputEditorComponent, [{
|
|
436
|
+
type: Component,
|
|
437
|
+
args: [{ selector: 'app-input-editor', standalone: true, imports: [CommonModule,
|
|
438
|
+
MatModulesModule,
|
|
439
|
+
DefaultElementComponent,
|
|
440
|
+
InputElementEditorComponent], template: "<mat-card \r\n\r\nstyle=\"\r\n\r\nbackground: var(--mat-toolbar-container-background-color, 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-toolbar-container-background-color, var(--mat-app-surface))\">\r\n </app-input-element-editor>\r\n }@else{\r\n <app-default-element style=\"background: var(--mat-toolbar-container-background-color, var(--mat-app-surface))\"></app-default-element>\r\n }\r\n <br>\r\n\r\n <br>\r\n <mat-divider></mat-divider>\r\n \r\n <mat-card-actions >\r\n <button (click)=\"closeEditor()\" class=\"\" mat-flat-button>close</button>\r\n <span class=\"spacer\"></span>\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 \r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: ["mat-card{margin:16px}mat-card-content{overflow-y:auto;max-height:calc(100vh - 190px)}mat-card-actions{position:sticky;bottom:0}\n"] }]
|
|
441
|
+
}], () => [{ type: FormsStoreService }], null); })();
|
|
442
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InputEditorComponent, { className: "InputEditorComponent", filePath: "lib/components/form-builder/elements/input-editor/input-editor.component.ts", lineNumber: 22 }); })();
|
|
443
|
+
|
|
444
|
+
export { InputEditorComponent };
|
|
445
|
+
//# sourceMappingURL=ngx-t-forms-input-editor.component-BnsC-jsN.mjs.map
|