ngx-t-forms 2.0.9 → 2.0.11
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-DjZDnTHz.mjs → ngx-t-forms-api-value-access-rules.component-Cz4ruucP.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-api-value-access-rules.component-DjZDnTHz.mjs.map → ngx-t-forms-api-value-access-rules.component-Cz4ruucP.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-calculated-field-rules.component-E3l7DQo7.mjs → ngx-t-forms-calculated-field-rules.component-DdAzjsV9.mjs} +3 -3
- package/fesm2022/{ngx-t-forms-calculated-field-rules.component-E3l7DQo7.mjs.map → ngx-t-forms-calculated-field-rules.component-DdAzjsV9.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-sOC54w4T.mjs → ngx-t-forms-config-mscoa-additional-inputs.component-CZglpHAQ.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-sOC54w4T.mjs.map → ngx-t-forms-config-mscoa-additional-inputs.component-CZglpHAQ.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-form-input-selector.component-CB03sPjA.mjs → ngx-t-forms-form-input-selector.component-D8sg5JiD.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-form-input-selector.component-CB03sPjA.mjs.map → ngx-t-forms-form-input-selector.component-D8sg5JiD.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-form-json-view.component-C1AZujJH.mjs → ngx-t-forms-form-json-view.component-CO7EYgoY.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-form-json-view.component-C1AZujJH.mjs.map → ngx-t-forms-form-json-view.component-CO7EYgoY.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms-form-section-stepper.component-DYfPkzOO.mjs +243 -0
- package/fesm2022/ngx-t-forms-form-section-stepper.component-DYfPkzOO.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-forms-builder-menu.component-CPIcPREp.mjs → ngx-t-forms-forms-builder-menu.component-Coppm548.mjs} +13 -7
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-Coppm548.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-input-editor.component-__grERM8.mjs → ngx-t-forms-input-editor.component-BuSjy9Xq.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-input-editor.component-__grERM8.mjs.map → ngx-t-forms-input-editor.component-BuSjy9Xq.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-DcdHYqhN.mjs → ngx-t-forms-mat-chip-list-editor.component-C1uQVrVP.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-DcdHYqhN.mjs.map → ngx-t-forms-mat-chip-list-editor.component-C1uQVrVP.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mat-slider-editor.component-C9rintm4.mjs → ngx-t-forms-mat-slider-editor.component-B0Qcx6y9.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-slider-editor.component-C9rintm4.mjs.map → ngx-t-forms-mat-slider-editor.component-B0Qcx6y9.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-CItK6kXf.mjs → ngx-t-forms-mat-slider-toggle-editor.component-B3N3mb8E.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-CItK6kXf.mjs.map → ngx-t-forms-mat-slider-toggle-editor.component-B3N3mb8E.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-missing-form-configs.component-Da3SdUn6.mjs → ngx-t-forms-missing-form-configs.component-me7NBrdO.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-missing-form-configs.component-Da3SdUn6.mjs.map → ngx-t-forms-missing-form-configs.component-me7NBrdO.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mscoa-segment-config.component-4hrEpLk3.mjs → ngx-t-forms-mscoa-segment-config.component-BY67rkzl.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mscoa-segment-config.component-4hrEpLk3.mjs.map → ngx-t-forms-mscoa-segment-config.component-BY67rkzl.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-ngx-t-forms-1Roar4qK.mjs → ngx-t-forms-ngx-t-forms-C6wZyKbR.mjs} +683 -324
- package/fesm2022/ngx-t-forms-ngx-t-forms-C6wZyKbR.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-pipeline-generator.component-BQDykLNH.mjs → ngx-t-forms-pipeline-generator.component-Bu94_5ji.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-pipeline-generator.component-BQDykLNH.mjs.map → ngx-t-forms-pipeline-generator.component-Bu94_5ji.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-required-inputs.component-BGK3DNu0.mjs → ngx-t-forms-required-inputs.component-BdKBo1bW.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-required-inputs.component-BGK3DNu0.mjs.map → ngx-t-forms-required-inputs.component-BdKBo1bW.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-CCaRUSVQ.mjs → ngx-t-forms-rest-api-call-setup.component-59CnCXEt.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-CCaRUSVQ.mjs.map → ngx-t-forms-rest-api-call-setup.component-59CnCXEt.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-section-report.component-C8Ja_G_3.mjs → ngx-t-forms-section-report.component-DB_5Jx3j.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-section-report.component-C8Ja_G_3.mjs.map → ngx-t-forms-section-report.component-DB_5Jx3j.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-selection-options-editor.component-cYkn1O48.mjs → ngx-t-forms-selection-options-editor.component-B4LtSVfp.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-selection-options-editor.component-cYkn1O48.mjs.map → ngx-t-forms-selection-options-editor.component-B4LtSVfp.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-validators-config.component-CGXCCl45.mjs → ngx-t-forms-validators-config.component-CehxpsPR.mjs} +3 -3
- package/fesm2022/{ngx-t-forms-validators-config.component-CGXCCl45.mjs.map → ngx-t-forms-validators-config.component-CehxpsPR.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 +5 -0
- package/lib/components/form-builder/elements/forms-builder-menu/forms-builder-menu.component.d.ts +2 -0
- package/lib/components/form-builder/elements/select-form-template/select-form-template.component.d.ts +7 -2
- package/lib/components/forms/forms.component.d.ts +1 -1
- package/lib/components/t-form-input/elements/Geo-location-form-input/geo-location.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/auto-complete-input-element/auto-complete-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/auto-complete-input-element/core/auto-complet-reactive-input/auto-complet-reactive-input.component.d.ts +19 -0
- package/lib/components/t-form-input/elements/basic-input-input-element/basic-input-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/date-picker-input-element/core/date-picker-reactive-input/date-picker-reactive-input.component.d.ts +16 -0
- package/lib/components/t-form-input/elements/date-picker-input-element/date-picker-input-element.component.d.ts +1 -5
- package/lib/components/t-form-input/elements/date-range-picker-input-element/core/date-range-picker-reactive-input/date-range-picker-reactive-input.component.d.ts +17 -0
- package/lib/components/t-form-input/elements/date-range-picker-input-element/date-range-picker-input-element.component.d.ts +22 -5
- package/lib/components/t-form-input/elements/editor-input-element/core/form-input-rich-text-editor/config.d.ts +1 -0
- package/lib/components/t-form-input/elements/editor-input-element/editor-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/file-upload-input-element/file-upload-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/image-capture-input-element/image-capture-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-chart/mscoa-chart.component.d.ts +3 -1
- package/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-reactive-form-field/mscoa-reactive-form-field.component.d.ts +1 -0
- package/lib/components/t-form-input/elements/mscoa-form-input/mscoa-form-input.component.d.ts +2 -5
- package/lib/components/t-form-input/elements/multiple-input-input-element/core/multiple-input-table/multiple-input-table.component.d.ts +8 -6
- package/lib/components/t-form-input/elements/multiple-input-input-element/multiple-input-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/select-input-element/elements/select-input/select-input.component.d.ts +1 -0
- package/lib/components/t-form-input/elements/select-input-element/select-input-element.component.d.ts +1 -5
- package/lib/components/t-form-input/elements/select-table-input/select-table-input.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/signature-input-element/signature-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/textarea-input-element/core/text-area-reactive-input/text-area-reactive-input.component.d.ts +20 -0
- package/lib/components/t-form-input/elements/textarea-input-element/textarea-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/elements/toggle-input-element/core/toggle/toggle.component.d.ts +1 -0
- package/lib/components/t-form-input/elements/toggle-input-element/toggle-input-element.component.d.ts +1 -4
- package/lib/components/t-form-input/t-form-input.component.d.ts +1 -4
- package/lib/components/t-form-input-status/t-form-input-status.component.d.ts +1 -0
- package/lib/services/core/t-form-controller/function/multipleFormInputsMapValueToFormInputId.d.ts +2 -0
- package/lib/services/core/t-form-section-controller/Functions/commonFormOperations.d.ts +1 -1
- package/lib/services/core/t-form-tower-controller/form-tower-controller.service.d.ts +1 -1
- package/lib/services/core/t-input-controller/functions/baseCustomInput.d.ts +0 -1
- package/package.json +2 -2
- package/fesm2022/ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs +0 -813
- package/fesm2022/ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs +0 -532
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DLnB3R7t.mjs +0 -297
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DLnB3R7t.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs +0 -187
- package/fesm2022/ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-json-view.component-CqtTYCRH.mjs +0 -28
- package/fesm2022/ngx-t-forms-form-json-view.component-CqtTYCRH.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-section-stepper.component-Ba5WCLzp.mjs +0 -673
- package/fesm2022/ngx-t-forms-form-section-stepper.component-Ba5WCLzp.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-section-stepper.component-C_dciQhe.mjs +0 -225
- package/fesm2022/ngx-t-forms-form-section-stepper.component-C_dciQhe.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-CPIcPREp.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs +0 -735
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-input-editor.component-BnsC-jsN.mjs +0 -445
- package/fesm2022/ngx-t-forms-input-editor.component-BnsC-jsN.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DS6s98ZX.mjs +0 -111
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DS6s98ZX.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-ChiiJYK2.mjs +0 -130
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-ChiiJYK2.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DFcLzkSF.mjs +0 -171
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DFcLzkSF.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-missing-form-configs.component-DNkGCH0e.mjs +0 -104
- package/fesm2022/ngx-t-forms-missing-form-configs.component-DNkGCH0e.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CrHAIRAw.mjs +0 -455
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CrHAIRAw.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-ngx-t-forms-1Roar4qK.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs +0 -14694
- package/fesm2022/ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-pipeline-generator.component-U0d8jQKW.mjs +0 -1362
- package/fesm2022/ngx-t-forms-pipeline-generator.component-U0d8jQKW.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-required-inputs.component-S3cbA-zG.mjs +0 -383
- package/fesm2022/ngx-t-forms-required-inputs.component-S3cbA-zG.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs +0 -457
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-section-report.component-C_h0KIR4.mjs +0 -314
- package/fesm2022/ngx-t-forms-section-report.component-C_h0KIR4.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-selection-options-editor.component-CllhwZ5Y.mjs +0 -231
- package/fesm2022/ngx-t-forms-selection-options-editor.component-CllhwZ5Y.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-validators-config.component-BPJZRtjT.mjs +0 -434
- package/fesm2022/ngx-t-forms-validators-config.component-BPJZRtjT.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs","sources":["../../../projects/ngx-t-forms/src/lib/shared/functions/searchArray.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/api-value-access-rules/elements/data-tree/data-tree.component.html","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/api-value-access-rules/elements/data-tree/data-tree.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/api-value-access-rules/api-value-access-rules.component.html","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/api-value-access-rules/api-value-access-rules.component.ts"],"sourcesContent":["export function searchAndOrderArray(\r\n arr: any[],\r\n searchTerm: string,\r\n filterBy: string\r\n): any[] {\r\n // Filter the array based on the search term\r\n const filteredArr = arr.filter((obj) =>\r\n searchTerm\r\n ? obj[filterBy].toLowerCase().includes(searchTerm.toLowerCase())\r\n : true\r\n );\r\n\r\n // Order the filtered array alphabetically by name\r\n const orderedArr = filteredArr.sort((a, b) =>\r\n a[filterBy].localeCompare(b[filterBy])\r\n );\r\n\r\n return orderedArr;\r\n}\r\n","<mat-accordion multi>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"title-icon\">dataset_linked</mat-icon>\n Navigate and select data fields for mapping\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div class=\"content\">\n <div class=\"tree-instructions\">\n <mat-icon class=\"info-icon\" color=\"primary\">info</mat-icon>\n <span>Click checkboxes to select fields for mapping. Selected paths will be highlighted.</span>\n </div>\n <mat-divider></mat-divider>\n\n <mat-tree [dataSource]=\"treeClass.dataSource\" \n [treeControl]=\"treeClass.treeControl\">\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding>\n <button disabled class=\"node-spacer\" aria-hidden=\"true\" mat-icon-button>\n\n </button>\n <mat-checkbox (change)=\"update(node)\" [checked]=\"nodeIsChecked(node)\" class=\"node-checkbox\"\n [matTooltip]=\"'Map data field: ' + node.key\">\n <span class=\"node-key\" [attr.aria-label]=\"'Field name: ' + node.key\">{{ node.key }}:</span>\n <span [attr.aria-label]=\"'Field value: ' + node.value\" style=\" white-space: nowrap;\" class=\"node-value\"\n [style.color]=\"getNodeValueColor(node.value)\">\n {{ node.value }}\n </span>\n </mat-checkbox>\n </mat-tree-node>\n\n <mat-tree-node *matTreeNodeDef=\"let node; when: treeClass.hasChild\" matTreeNodePadding>\n <button style=\"padding: 0px; \n width: 24px;\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.key\">\n <mat-icon>\n {{ treeClass.treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n </button>\n <mat-checkbox (change)=\"update(node)\" [checked]=\"nodeIsChecked(node)\" [matTooltip]=\"'Select ' + node.key\">\n <span class=\"node-key\">{{ node.key }}</span>\n </mat-checkbox>\n </mat-tree-node>\n </mat-tree>\n </div>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"title-icon\">rebase_edit</mat-icon>\n Configure and transform your data path\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div class=\"content\">\n <div class=\"tree-instructions\" *ngIf=\"treeClass.activePath.length === 0\">\n <mat-icon class=\"info-icon\" color=\"primary\">info</mat-icon>\n <span>Select a node from the tree above to begin mapping data</span>\n </div>\n <mat-divider></mat-divider>\n <mat-toolbar style=\" height: fit-content; background: inherit;\">\n <div class=\"breadcrumb-container\">\n\n <ng-container *ngFor=\"let path of treeClass.activePath; trackBy: trackByFn; last as isLast; index as i\">\n <button *ngIf=\"!path.inEdit\" matTooltip=\"Click to edit\" (click)=\"setupPath(path)\" mat-button\n [disabled]=\"!path.keyIsArrayIndex\" [color]=\"path.functions.length> 0 ? 'accent' : ''\"\n class=\"breadcrumb-item\">\n <mat-icon>{{ path.keyIsArrayIndex ? 'filter_none' : 'folder' }}</mat-icon>\n <span>{{ path.key }}</span>\n </button>\n\n\n <button *ngIf=\"!!path.inEdit\" matTooltip=\"Currently editing\" (click)=\"removeFunction(path.key)\"\n mat-raised-button color=\"primary\" class=\"breadcrumb-item\">\n <mat-icon>check_circle</mat-icon>\n <span>{{ path.key }}</span>\n </button>\n <mat-icon *ngIf=\"!isLast\" class=\"breadcrumb-separator\">chevron_right</mat-icon>\n </ng-container>\n </div>\n </mat-toolbar>\n <div *ngIf=\"!!hasANodeInEdit()\">\n\n <mat-nav-list>\n\n <ng-container *ngFor=\"let function of this.treeClass.pathInEdit?.functions;index as i\">\n <mat-list-item \n [activated]=\"!!function.inEdit\"\n class=\"functions\" style=\"height: fit-content;\">\n <span matListItemIcon class=\"function-number\" > \n <strong> {{i+1}} </strong>\n </span>\n <a \n\n (click)=\"editFunction(function.id)\"\n \n style=\"font-size: 14px; white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\n matListItemTitle> {{ (function.function |titlecase) ||\n 'Function configurations required'}}</a>\n <button mat-icon-button \n (click)=\"removeFunction(function.id)\" matListItemMeta>\n\n <mat-icon [color]=\"function.function && function.expression?'':'warn'\">{{!function.inEdit? 'close':'check_circle'}}</mat-icon>\n </button>\n \n \n </mat-list-item>\n \n <div class=\"function-edit-container\" *ngIf=\"function.inEdit\">\n <mat-divider></mat-divider>\n <mat-form-field style=\" margin-bottom: 8px;\" appearance=\"outline\" *ngIf=\"this.treeClass.pathInEdit?.functions\">\n <mat-label>Array function</mat-label>\n <mat-select matNativeControl [value]=\"getFunctionInEdit()?.function\"\n (selectionChange)=\"functionChanged($event)\" placeholder=\"ChooseFunctionToRun\">\n <mat-option value=\"filter\">filter</mat-option>\n <mat-option value=\"find\">find</mat-option>\n <mat-option value=\"map\">map</mat-option>\n </mat-select>\n <mat-hint>\n Choose a function to run on the array\n </mat-hint>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" *ngIf=\"this.treeClass.pathInEdit?.functions\">\n <mat-label >Condition expression</mat-label>\n <textarea matInput #textarea \n [value]=\"getFunctionInEdit()?.expression\"\n (input)=\"onTextChange($event)\" (focus)=\"onFocus($event)\"\n \n placeholder=\"Enter a validation string for the function\"></textarea>\n <mat-hint>\n {{ showSuggestions ? 'Suggestions are enabled' : 'Enter a condition expression to transform the array' }}\n </mat-hint>\n </mat-form-field>\n <section *ngIf=\"showSuggestions\" \n class=\"showSuggestionContainer\">\n <!-- <mat-toolbar class=\"search-container\" style=\"background: inherit;\">\n \n \n <input type=\"search\" \n placeholder=\"Search api\" \n class=\"search-field\"\n (change)=\"onSearchChange($event)\"> \n \n <mat-icon>\n search\n </mat-icon>\n </mat-toolbar> -->\n <mat-divider></mat-divider>\n <div style=\"padding: 8px;\" class=\"\">\n <div class=\"suggestion-container\">\n <div class=\"suggestion-column\">\n <h5>Logical Operators</h5>\n <div class=\"button-container\">\n <button \n color=\"primary\" \n mat-flat-button *ngFor=\"let method of getMethods()\"\n (click)=\"selectSuggestionInput(method.value)\" class=\"suggestion-button\">\n {{ method.label | titlecase }}\n </button>\n </div>\n </div>\n <div class=\"suggestion-column\">\n <h5>Add Input as a Variable</h5>\n <div class=\"button-container\">\n <button *ngFor=\"let input of getAllInputs()\"\n mat-flat-button\n (click)=\"selectSuggestionInput(input.formControlName)\" class=\"suggestion-button\">\n {{ input.label | titlecase }}\n </button>\n </div>\n </div>\n <!-- <div class=\"suggestion-column\">\n <h5>Array path Object </h5>\n <div class=\"button-container\">\n <button *ngFor=\"let input of getValueVariables()\"\n color=\"accent\"\n mat-flat-button\n (click)=\"selectSuggestionInput(input)\" class=\"suggestion-button\">\n {{ input}}\n </button>\n </div>\n </div> -->\n </div>\n <div class=\"suggestion-container\">\n \n </div>\n \n </div>\n </section>\n \n\n <mat-toolbar style=\"background:none\">\n <span class=\"spacer\"></span>\n\n <button (click)=\"reset()\" mat-flat-button>\n reset\n </button>\n <button (click)=\"saveNodeInEdit()\" [disabled]=\"!function.expression && !function.function\" mat-flat-button\n color=\"primary\">\n save\n </button>\n\n </mat-toolbar>\n </div>\n <mat-divider></mat-divider>\n </ng-container>\n\n </mat-nav-list>\n <ol>\n\n </ol>\n <button (click)=\"addNewFunction()\" mat-button>+ Add function </button>\n </div>\n </div>\n </mat-expansion-panel>\n\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"title-icon\">dataset</mat-icon>\n Mapped Data Value Based on the Active Path\n </mat-panel-title>\n\n </mat-expansion-panel-header>\n\n <div class=\"content\">\n <mat-divider></mat-divider>\n\n <div style=\"padding: 16px;background: black;\n color: cadetblue; border-radius:8px;min-width:fit-content\">\n <pre>{{getValue|json}}</pre>\n </div>\n </div>\n </mat-expansion-panel>\n\n\n</mat-accordion>","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\n\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\nimport { TreeComponent } from '../../functions/convertDataToTree';\r\nimport { FlatNode, TreeNode } from 'ngx-t-forms-types';\r\nimport { MatModulesModule } from '../../../../../../shared/modules/mat-modules.module';\r\nimport { searchAndOrderArray } from '../../../../../../shared/functions/searchArray';\r\nimport { FormColumnInputs } from 'ngx-t-forms-types';;\r\nimport { MatSelectChange } from '@angular/material/select';\r\n\r\n\r\n@Component({\r\n selector: 'app-data-tree',\r\n templateUrl: './data-tree.component.html',\r\n styleUrls: ['./data-tree.component.scss'],\r\n standalone: true,\r\n imports: [CommonModule, MatModulesModule, FormsModule]\r\n})\r\nexport class DataTreeComponent implements OnInit, OnChanges {\r\n treeClass!: TreeComponent\r\n @Input() data: any;\r\n @Input() value: TreeNode[] | string = [];\r\n @Input() formInputs:FormColumnInputs[] = []\r\n @Output() pathChanged = new EventEmitter<TreeNode[] | string>()\r\n\r\n constructor() {\r\n this.treeClass = new TreeComponent();\r\n }\r\n _data: any\r\n _value: TreeNode[] | string = []\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['data']) {\r\n if (JSON.stringify(this._data) !== JSON.stringify(changes['data'].currentValue)) {\r\n this._data = changes['data'].currentValue\r\n this.treeClass.computeTreeData(changes['data'].currentValue)\r\n \r\n if (this.value && Array.isArray(this.value) && this.value.length > 0 && 'functions' in (this.value?.[0]||{})) {\r\n this.treeClass.updateStateFromPath(this.value as TreeNode[])\r\n }\r\n }\r\n }\r\n if (changes['value']) {\r\n this.valueChangedSetPath(changes['value'].currentValue)\r\n }\r\n }\r\n ngOnInit() {\r\n\r\n }\r\n\r\n //@ViewChild('textarea', { static: false }) textareaRef!: HTMLTextAreaElement\r\n @ViewChild('textarea', { read: ElementRef, static: false }) textareaElementRef!: ElementRef;\r\n\r\n\r\n showSuggestions = false;\r\n suggestions = ['$option1', '$option2', '$option3', '$custom'];\r\n filteredSuggestions: string[] = [];\r\n cursorPosition = 0;\r\n valueChangedSetPath(newPath: TreeNode[] | string) {\r\n const isSameAsNewPath = typeof newPath === typeof this._value && JSON.stringify(newPath) === JSON.stringify(this._value)\r\n if (!isSameAsNewPath && Array.isArray(newPath)) {\r\n this._value = newPath\r\n this.treeClass.updateStateFromPath(newPath as TreeNode[])\r\n }\r\n }\r\n async onTextChange(event: Event) {\r\n const newValue =(event.target as HTMLInputElement).value;\r\n const functions = this.treeClass.pathInEdit!.functions!.find(f => f.inEdit)\r\n functions!.expression = newValue;\r\n this.treeClass.pathInEdit!.functions.map(f => {\r\n if (f.inEdit) {\r\n return functions\r\n }\r\n return f\r\n })\r\n const textarea = this.textareaElementRef.nativeElement;\r\n this.cursorPosition = textarea.selectionStart || 0;\r\n\r\n const lastChar = newValue[this.cursorPosition - 1];\r\n if (lastChar === '$') {\r\n this.showSuggestions = true;\r\n this.filteredSuggestions = this.suggestions;\r\n } else {\r\n this.showSuggestions = false;\r\n }\r\n }\r\n functionChanged(event:MatSelectChange) {\r\n this.treeClass.functionChanged(event.value)\r\n }\r\n addNewFunction() {\r\n\r\n this.treeClass.addNewFunction()\r\n\r\n }\r\n editFunction(id: string) {\r\n\r\n\r\n this.treeClass.pathInEdit!.functions = this.treeClass.pathInEdit!.functions?.map(f => {\r\n if (f.id === id) {\r\n return { ...f, inEdit: true }\r\n }\r\n return { ...f, inEdit: false }\r\n\r\n })\r\n\r\n }\r\n selectSuggestionInput(suggestion: string) {\r\n\r\n const functions = this.treeClass.pathInEdit!.functions.find(f => f.inEdit) || {} as any\r\n const value = functions?.expression || ''\r\n const beforeCursor = value.slice(0, this.cursorPosition - 1);\r\n const afterCursor = value.slice(this.cursorPosition);\r\n functions.expression = beforeCursor + suggestion + ' ' + afterCursor;\r\n this.treeClass.pathInEdit!.functions.map(f => {\r\n if (f.inEdit) {\r\n return functions\r\n }\r\n return f\r\n })\r\n this.showSuggestions = false;\r\n\r\n const textarea = this.textareaElementRef.nativeElement;\r\n textarea.focus();\r\n const newCursorPosition = this.cursorPosition + suggestion.length;\r\n setTimeout(() => {\r\n textarea.setSelectionRange(newCursorPosition, newCursorPosition);\r\n }, 0);\r\n }\r\n\r\n onFocus(event:FocusEvent) {\r\n const textarea = this.textareaElementRef.nativeElement;\r\n this.cursorPosition = textarea.selectionStart || 0;\r\n }\r\n nodeIsChecked(node: FlatNode) {\r\n return this.treeClass.nodeIsChecked(node)\r\n }\r\n hasANodeInEdit() {\r\n return this.treeClass.hasANodeInEdit()\r\n }\r\n showNode(node: FlatNode) {\r\n return this.treeClass.showNode(node)\r\n }\r\n onSearchChange(event: Event) {\r\n this.optionsSearch = (event.target as HTMLInputElement).value;\r\n\r\n }\r\n\r\n methods = [\r\n // Logical Operators\r\n {\r\n label: 'logical AND (&&)',\r\n value: '&&'\r\n },\r\n {\r\n label: 'logical OR (||)',\r\n value: '||'\r\n },\r\n\r\n // Comparison Operators\r\n {\r\n label: 'strict equality (===)',\r\n value: '==='\r\n },\r\n {\r\n label: 'loose equality (==)',\r\n value: '=='\r\n },\r\n {\r\n label: 'strict inequality (!==)',\r\n value: '!=='\r\n },\r\n {\r\n label: 'loose inequality (!=)',\r\n value: '!='\r\n },\r\n {\r\n label: 'greater than (>)',\r\n value: '>'\r\n },\r\n {\r\n label: 'less than (<)',\r\n value: '<'\r\n },\r\n {\r\n label: 'greater than or equal to (>=)',\r\n value: '>='\r\n },\r\n {\r\n label: 'less than or equal to (<=)',\r\n value: '<='\r\n }\r\n ];\r\n getMethods() {\r\n return searchAndOrderArray(this.methods, this.optionsSearch, 'label');\r\n }\r\n getNodeValueColor(v: any) {\r\n const valueType = typeof v\r\n switch (valueType) {\r\n case 'string':\r\n return '#c56100'\r\n case 'number':\r\n return 'mediumblue'\r\n case 'boolean':\r\n return 'forestgreen'\r\n case 'object':\r\n return '#005959'\r\n default:\r\n return 'currentcolor'\r\n }\r\n }\r\n setupPath(node: TreeNode) {\r\n return this.treeClass.setupPath(node)\r\n }\r\n trackByFn(index: number, node: TreeNode): string {\r\n return node.path.join('.')\r\n }\r\n showValue: boolean = false\r\n optionsSearch!: string\r\n getAllInputs() {\r\n const inputs = this.formInputs\r\n .filter((inp) => !inp.multipleInputInEditId);\r\n return searchAndOrderArray(inputs||[], this.optionsSearch, 'label');\r\n }\r\n getValueVariables(): string[] {\r\n const isObject = typeof this.value === 'object'\r\n if(!this.value){\r\n return []\r\n }\r\n if(!isObject && !!this.value){\r\n return [this.value as any]\r\n }\r\n if(Array.isArray(this.value)){\r\n return this.value.map((v,i) => (i)) as any\r\n }\r\n return Object.keys(this.value)\r\n }\r\n saveNodeInEdit() {\r\n const newP = this.treeClass.saveNodeInEdit()\r\n if(newP){\r\n this.pathChanged.emit(newP)\r\n }\r\n \r\n }\r\n closeEdit() {\r\n this.treeClass.closeEdit()\r\n\r\n\r\n }\r\n reset() {\r\n this.treeClass.resetNode()\r\n }\r\n getFunctionInEdit() {\r\n const node = this.treeClass.pathInEdit\r\n return node?.functions?.find(f => f.inEdit)\r\n }\r\n get getValue (){\r\n return this.treeClass.getValue()\r\n }\r\n removeFunction(id: string) {\r\n this.treeClass.removeFunction(id)\r\n }\r\n update(node: any) {\r\n\r\n const path = this.treeClass.selectNode(node)?.map(p => ({\r\n ...p,\r\n children: undefined,\r\n value: undefined\r\n }))\r\n\r\n\r\n this.pathChanged.emit(path)\r\n }\r\n}\r\n","\r\n\r\n\r\n<section *ngFor=\"let controlName of multipleBind||[]\">\r\n <label [for]=\"controlName\">Map <strong>{{controlName}}</strong></label>\r\n <app-data-tree \r\n [formInputs]=\"formInputs\"\r\n (pathChanged)=\"pathChanged($event,controlName)\" \r\n [data]=\"postmanResponseBody\" [value]=\"computedValue[controlName]||''\" ></app-data-tree>\r\n</section>\r\n\r\n\r\n<app-data-tree \r\n*ngIf=\"!multipleBind\"\r\n(pathChanged)=\"pathChanged($event)\" \r\n [formInputs]=\"formInputs\"\r\n[data]=\"postmanResponseBody\" [value]=\"computedValue\"></app-data-tree>\r\n\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n\r\n Optional,\r\n\r\n Output,\r\n Self,\r\n} from '@angular/core';\r\nimport { TreeNode } from \"ngx-t-forms-types\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { DataTreeComponent } from './elements/data-tree/data-tree.component';\r\nimport { FormColumnInputs } from 'ngx-t-forms-types';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { catchError, Subject, take, tap, throwError } from 'rxjs';\r\nimport { NgControl } from '@angular/forms';\r\nimport { IConfigElementError } from '../../t-dynamic-data-edit.component';\r\nimport { IFolderItem, IGetPostmanCollections, IPostmanCollectionConfig } from \"ngx-t-forms-types\";\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport _ from 'lodash';\r\nimport { flatApiList } from '../postman-collections/functions/convertPostmanCollectionToTree';\r\n\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-api-value-access-rules',\r\n templateUrl: './api-value-access-rules.component.html',\r\n styleUrls: ['./api-value-access-rules.component.scss'],\r\n standalone: true,\r\n imports: [CommonModule, DataTreeComponent ],\r\n providers: [{ provide: MatFormFieldControl, useExisting: ApiValueAccessRulesComponent}],\r\n})\r\nexport class ApiValueAccessRulesComponent implements MatFormFieldControl<TreeNode[] | string | {[key:string]:TreeNode[] | string}> {\r\n\r\n\r\n static nextId = 0;\r\n stateChanges = new Subject<void>();\r\n\r\n @HostBinding() id = `app-api-value-access-rules-${ApiValueAccessRulesComponent .nextId++}`;\r\n \r\n placeholder: string = ''\r\n constructor(@Optional() @Self() public ngControl: NgControl, private _elementRef: ElementRef<HTMLElement>,private readonly httpClient: HttpClient) { }\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 required: boolean = false;\r\n disabled: boolean = false;\r\nget 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('.app-api-value-access-rules');\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 console.log('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\r\n\r\n\r\n\r\n\r\n\r\n // currently mapped value\r\n @Input() multipleBind:string[] | undefined\r\n @Input() errors:IConfigElementError[] |undefined = [];\r\n @Input() value: TreeNode[] | string | {[key:string]:TreeNode[] | string} = [];\r\n @Input() mapToData: any\r\n @Input() formInputs:FormColumnInputs[] = []\r\n @Output() valueChanged = new EventEmitter();\r\n @Output() reload = new EventEmitter();\r\n _postManCollectionConfig: IPostmanCollectionConfig | undefined\r\n @Input() set postmanCollectionConfig(postmanCollectionConfig: IPostmanCollectionConfig | undefined){\r\n if(!_.isEqual(this._postManCollectionConfig,postmanCollectionConfig)){\r\n this._postManCollectionConfig = postmanCollectionConfig\r\n this.initializePostmanService()\r\n }\r\n \r\n }\r\n\r\n get postmanCollectionConfig(): IPostmanCollectionConfig | undefined{\r\n return this._postManCollectionConfig\r\n }\r\n \r\n get computedValue():any{\r\n const invalidType =this.value instanceof Array || typeof this.value === 'string' \r\n if(this.multipleBind && invalidType && !this.value){\r\n return {}\r\n }\r\n return this.value\r\n }\r\n pathChanged(path:TreeNode[]|string,control?:string){\r\n if(!Array.isArray(path)){\r\n return\r\n }\r\n if(!control){\r\n this.valueChanged.emit(path)\r\n return\r\n }\r\n if(this.value instanceof Array || typeof this.value === 'string'){\r\n this.value = {}\r\n }\r\n const newValue = {...this.value }\r\n newValue[control] = path\r\n this.valueChanged.emit(newValue)\r\n }\r\n private isValidConfig(config: IPostmanCollectionConfig | undefined): boolean {\r\n return Boolean(config?.collectionUrl && config?.collectionKey);\r\n }\r\n error: HttpErrorResponse | undefined\r\n loading: boolean = false\r\n postManFolderItems:IFolderItem[] = []\r\n private initializePostmanService(): void {\r\n8\r\n const isValidConfig = this.isValidConfig(this.postmanCollectionConfig)\r\n if (!isValidConfig) {\r\n this.error = new HttpErrorResponse({\r\n error: 'Invalid Postman Collection Config',\r\n })\r\n return\r\n }\r\n const { collectionUrl, collectionKey } = this.postmanCollectionConfig!\r\n \r\n const requestOptions = {\r\n params: {\r\n apikey: collectionKey,\r\n clearSystemHeaders: true\r\n },\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n \r\n }\r\n }\r\n this.loading = true\r\n\r\n this.httpClient.get<IGetPostmanCollections>(\r\n collectionUrl,\r\n requestOptions\r\n ).pipe(\r\n take(1),\r\n tap((data) => {\r\n // To ensure the data can be shown as a tree\r\n this.postManFolderItems= flatApiList(data.collection.item) \r\n \r\n this.error = undefined\r\n this.loading = false\r\n }),\r\n catchError((err: HttpErrorResponse) => {\r\n this.loading = false\r\n this.error = err\r\n console.error(err)\r\n return throwError(err)\r\n })\r\n ).subscribe();\r\n }\r\n \r\n get postmanResponseBody(){\r\n \r\n const {response} = this.postManFolderItems.find((item) => item.id === this.mapToData) ||{}\r\n let responseBody = JSON.parse(response?.[0]?.body || '{}')\r\n return responseBody\r\n }\r\n\r\n}\r\n"],"names":["i1","i2","i3","i4","i5","i6","i7","i8","i9","i10","i11","i12","i13","i14"],"mappings":"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"}
|