@rangertechnologies/ngnxt 2.1.173 → 2.1.176

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.
Files changed (85) hide show
  1. package/esm2022/environments/version.mjs +2 -2
  2. package/esm2022/lib/components/button/nxt-button.component.mjs +42 -39
  3. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +48 -7
  4. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +41 -4
  5. package/esm2022/lib/components/datatable/datatable.component.mjs +6 -3
  6. package/esm2022/lib/components/file-upload/file-upload.component.mjs +24 -59
  7. package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +2822 -0
  8. package/esm2022/lib/components/pick-location/pick-location.component.mjs +19 -5
  9. package/esm2022/lib/components/search-box/search-box.component.mjs +19 -13
  10. package/esm2022/lib/nxt-app.module.mjs +13 -292
  11. package/esm2022/lib/pages/booklet/booklet.component.mjs +20 -7
  12. package/esm2022/lib/pages/builder/element/element.component.mjs +9 -12
  13. package/esm2022/lib/pages/builder/form/form.component.mjs +6 -5
  14. package/esm2022/lib/pages/builder/properties/properties.component.mjs +29 -5
  15. package/esm2022/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.mjs +4 -5
  16. package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +2 -2
  17. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +14 -30
  18. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +21 -40
  19. package/esm2022/lib/services/form-builder.service.mjs +1 -1
  20. package/esm2022/public-api.mjs +2 -11
  21. package/fesm2022/rangertechnologies-ngnxt.mjs +15838 -14645
  22. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  23. package/lib/components/button/nxt-button.component.d.ts +13 -12
  24. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +11 -4
  25. package/lib/components/custom-radio/custom-radio.component.d.ts +14 -3
  26. package/lib/components/datatable/datatable.component.d.ts +2 -1
  27. package/lib/components/file-upload/file-upload.component.d.ts +6 -5
  28. package/lib/components/nxt-input/nxt-input.component.d.ts +159 -0
  29. package/lib/components/pick-location/pick-location.component.d.ts +5 -3
  30. package/lib/components/search-box/search-box.component.d.ts +3 -2
  31. package/lib/nxt-app.module.d.ts +30 -55
  32. package/lib/pages/booklet/booklet.component.d.ts +3 -1
  33. package/lib/pages/builder/element/element.component.d.ts +1 -1
  34. package/lib/pages/builder/form/form.component.d.ts +1 -1
  35. package/lib/pages/builder/properties/properties.component.d.ts +93 -1
  36. package/lib/pages/questionbook/questionbook.component.d.ts +3 -3
  37. package/lib/pages/questionnaire/questionnaire.component.d.ts +6 -10
  38. package/lib/services/form-builder.service.d.ts +12 -22
  39. package/package.json +1 -1
  40. package/public-api.d.ts +1 -9
  41. package/rangertechnologies-ngnxt-2.1.176.tgz +0 -0
  42. package/src/lib/style.css +0 -1
  43. package/esm2022/lib/components/cards/group-card/group-card.component.mjs +0 -36
  44. package/esm2022/lib/components/cards/group-info/group-info.component.mjs +0 -102
  45. package/esm2022/lib/components/cards/image-card/image-card.component.mjs +0 -83
  46. package/esm2022/lib/components/cards/info-card/info-card.component.mjs +0 -109
  47. package/esm2022/lib/components/custom-button/custom-button.component.mjs +0 -42
  48. package/esm2022/lib/components/custom-date/custom-date.component.mjs +0 -48
  49. package/esm2022/lib/components/custom-date-picker/custom-date-picker.component.mjs +0 -53
  50. package/esm2022/lib/components/custom-image/custom-image.component.mjs +0 -34
  51. package/esm2022/lib/components/custom-input/custom-input.component.mjs +0 -101
  52. package/esm2022/lib/components/custom-label/custom-label.component.mjs +0 -24
  53. package/esm2022/lib/components/custom-rich-text/custom-rich-text.component.mjs +0 -182
  54. package/esm2022/lib/components/custom-table/custom-table.component.mjs +0 -252
  55. package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +0 -71
  56. package/esm2022/lib/components/custom-time/custom-time.component.mjs +0 -66
  57. package/esm2022/lib/components/dependent-table/dependent-table.component.mjs +0 -45
  58. package/esm2022/lib/components/dropdown-with-flag/dropdown-with-flag.component.mjs +0 -44
  59. package/esm2022/lib/components/file-view/file-view.component.mjs +0 -49
  60. package/esm2022/lib/components/loader/loader.component.mjs +0 -23
  61. package/esm2022/lib/components/table-appendix/table-appendix.component.mjs +0 -128
  62. package/esm2022/lib/model/tableWrapper.mjs +0 -20
  63. package/esm2022/lib/pages/summary-page/summary-page.component.mjs +0 -79
  64. package/lib/components/cards/group-card/group-card.component.d.ts +0 -13
  65. package/lib/components/cards/group-info/group-info.component.d.ts +0 -47
  66. package/lib/components/cards/image-card/image-card.component.d.ts +0 -34
  67. package/lib/components/cards/info-card/info-card.component.d.ts +0 -39
  68. package/lib/components/custom-button/custom-button.component.d.ts +0 -16
  69. package/lib/components/custom-date/custom-date.component.d.ts +0 -16
  70. package/lib/components/custom-date-picker/custom-date-picker.component.d.ts +0 -20
  71. package/lib/components/custom-image/custom-image.component.d.ts +0 -13
  72. package/lib/components/custom-input/custom-input.component.d.ts +0 -28
  73. package/lib/components/custom-label/custom-label.component.d.ts +0 -10
  74. package/lib/components/custom-rich-text/custom-rich-text.component.d.ts +0 -29
  75. package/lib/components/custom-table/custom-table.component.d.ts +0 -53
  76. package/lib/components/custom-text-area/custom-text-area.component.d.ts +0 -22
  77. package/lib/components/custom-time/custom-time.component.d.ts +0 -18
  78. package/lib/components/dependent-table/dependent-table.component.d.ts +0 -15
  79. package/lib/components/dropdown-with-flag/dropdown-with-flag.component.d.ts +0 -16
  80. package/lib/components/file-view/file-view.component.d.ts +0 -16
  81. package/lib/components/loader/loader.component.d.ts +0 -11
  82. package/lib/components/table-appendix/table-appendix.component.d.ts +0 -30
  83. package/lib/model/tableWrapper.d.ts +0 -18
  84. package/lib/pages/summary-page/summary-page.component.d.ts +0 -20
  85. package/rangertechnologies-ngnxt-2.1.173.tgz +0 -0
@@ -1,44 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { I18nPipe } from '../../i18n.pipe';
4
- import { FormsModule } from '@angular/forms';
5
- import { NgSelectModule } from '@ng-select/ng-select';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../i18n.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@angular/forms";
10
- import * as i4 from "@ng-select/ng-select";
11
- export class DropdownWithFlagComponent {
12
- i18nService;
13
- certified = false;
14
- // @Input() getValue:string = '';
15
- JobPerformerCertificates = [];
16
- flagDropDownChange = new EventEmitter();
17
- selectedValue = '';
18
- constructor(i18nService) {
19
- this.i18nService = i18nService;
20
- }
21
- ngOnInit() {
22
- }
23
- ngOnChanges() {
24
- this.selectedValue = null;
25
- }
26
- onJobPerformerCertified(event) {
27
- this.flagDropDownChange.emit(event);
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownWithFlagComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownWithFlagComponent, isStandalone: true, selector: "app-dropdown-with-flag", inputs: { certified: "certified", JobPerformerCertificates: "JobPerformerCertificates" }, outputs: { flagDropDownChange: "flagDropDownChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"she-title\">\n <label class=\"switch\">\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \n <span class=\"switch-handle\"></span> \n </label> \n <!-- HA 19DEC23 For translation -->\n <ng-select *ngIf=\"certified\"\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \n [items]=\"JobPerformerCertificates\"\n [(ngModel)]=\"selectedValue\"\n (change)=\"onJobPerformerCertified($event)\"\n placeholder=\"---{{ 'select' | i18n:i18nService.currentLanguage }}---\">\n </ng-select>\n </div> ", styles: [".she-title{display:flex;flex-direction:row;align-items:center}.switch{position:relative;width:105px;height:23px;margin-left:5px;margin-top:3px;background:linear-gradient(to bottom,#eee,#fff 25px);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF 25px);border-radius:18px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px #0000000d;cursor:pointer}.switch-input{position:absolute;top:0;left:0;opacity:0}.switch-label{position:relative;display:block;height:inherit;font-size:12px;background:#eceeef;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label:before,.switch-label:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;-webkit-transition:inherit;-moz-transition:inherit;-o-transition:inherit;transition:inherit}.switch-label:before{content:attr(data-off);right:11px;color:#aaa;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-input:checked~.switch-label{background:#03a9f4;border-color:#03a9f4;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input:checked~.switch-label:before{opacity:0}.switch-input:checked~.switch-label:after{opacity:1}.switch-handle{position:absolute;top:0;left:0;width:19px;height:22px;background:linear-gradient(to bottom,#fff 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#FFFFFF 40%,#f0f0f0);border-radius:100%;box-shadow:1px 1px 5px #0003}.switch-handle:before{content:\"\";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(to bottom,#eee,#fff);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF);border-radius:6px;box-shadow:inset 0 1px #00000005}.switch-input:checked~.switch-handle{left:86px;box-shadow:-1px 1px 5px #0003;border:2px solid aquamarine}.switch-label,.switch-handle{transition:All .3s ease;-webkit-transition:All .3s ease;-moz-transition:All .3s ease;-o-transition:All .3s ease}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "tabFocusOnClearButton", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }] });
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownWithFlagComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'app-dropdown-with-flag', standalone: true, imports: [
35
- CommonModule, I18nPipe, FormsModule, NgSelectModule
36
- ], template: "<div class=\"she-title\">\n <label class=\"switch\">\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \n <span class=\"switch-handle\"></span> \n </label> \n <!-- HA 19DEC23 For translation -->\n <ng-select *ngIf=\"certified\"\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \n [items]=\"JobPerformerCertificates\"\n [(ngModel)]=\"selectedValue\"\n (change)=\"onJobPerformerCertified($event)\"\n placeholder=\"---{{ 'select' | i18n:i18nService.currentLanguage }}---\">\n </ng-select>\n </div> ", styles: [".she-title{display:flex;flex-direction:row;align-items:center}.switch{position:relative;width:105px;height:23px;margin-left:5px;margin-top:3px;background:linear-gradient(to bottom,#eee,#fff 25px);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF 25px);border-radius:18px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px #0000000d;cursor:pointer}.switch-input{position:absolute;top:0;left:0;opacity:0}.switch-label{position:relative;display:block;height:inherit;font-size:12px;background:#eceeef;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label:before,.switch-label:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;-webkit-transition:inherit;-moz-transition:inherit;-o-transition:inherit;transition:inherit}.switch-label:before{content:attr(data-off);right:11px;color:#aaa;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-input:checked~.switch-label{background:#03a9f4;border-color:#03a9f4;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input:checked~.switch-label:before{opacity:0}.switch-input:checked~.switch-label:after{opacity:1}.switch-handle{position:absolute;top:0;left:0;width:19px;height:22px;background:linear-gradient(to bottom,#fff 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#FFFFFF 40%,#f0f0f0);border-radius:100%;box-shadow:1px 1px 5px #0003}.switch-handle:before{content:\"\";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(to bottom,#eee,#fff);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF);border-radius:6px;box-shadow:inset 0 1px #00000005}.switch-input:checked~.switch-handle{left:86px;box-shadow:-1px 1px 5px #0003;border:2px solid aquamarine}.switch-label,.switch-handle{transition:All .3s ease;-webkit-transition:All .3s ease;-moz-transition:All .3s ease;-o-transition:All .3s ease}\n"] }]
37
- }], ctorParameters: () => [{ type: i1.I18nService }], propDecorators: { certified: [{
38
- type: Input
39
- }], JobPerformerCertificates: [{
40
- type: Input
41
- }], flagDropDownChange: [{
42
- type: Output
43
- }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24td2l0aC1mbGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duLXdpdGgtZmxhZy9kcm9wZG93bi13aXRoLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24td2l0aC1mbGFnL2Ryb3Bkb3duLXdpdGgtZmxhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBV3RELE1BQU0sT0FBTyx5QkFBeUI7SUFPakI7SUFOVixTQUFTLEdBQVUsS0FBSyxDQUFDO0lBQ2xDLGlDQUFpQztJQUN4Qix3QkFBd0IsR0FBVSxFQUFFLENBQUM7SUFDcEMsa0JBQWtCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFDMUUsYUFBYSxHQUFVLEVBQUUsQ0FBQztJQUUxQixZQUFtQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFJLENBQUM7SUFFaEQsUUFBUTtJQUNSLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQVM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO3dHQWpCVSx5QkFBeUI7NEZBQXpCLHlCQUF5Qix3UENqQnRDLGdzQkFjVywwL0RERlAsWUFBWSw4SEFBRSxRQUFRLDRDQUFFLFdBQVcsOFZBQUUsY0FBYzs7NEZBSzFDLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGNBQWM7cUJBQ3BEO2dGQUtRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vIEhBIDE5REVDMjMgaW1wb3J0ZWQgdHJhbnNsYXRpb24gc2VydmljZVxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEkxOG5QaXBlIH0gZnJvbSAnLi4vLi4vaTE4bi5waXBlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kcm9wZG93bi13aXRoLWZsYWcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLCBJMThuUGlwZSwgRm9ybXNNb2R1bGUsIE5nU2VsZWN0TW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi13aXRoLWZsYWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi13aXRoLWZsYWcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duV2l0aEZsYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjZXJ0aWZpZWQ6Ym9vbGVhbj0gZmFsc2U7XG4gIC8vIEBJbnB1dCgpIGdldFZhbHVlOnN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBKb2JQZXJmb3JtZXJDZXJ0aWZpY2F0ZXM6IGFueVtdID0gW107XG4gIEBPdXRwdXQoKSBmbGFnRHJvcERvd25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7IFxuICBzZWxlY3RlZFZhbHVlOnN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG4gIG5nT25DaGFuZ2VzKCl7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gbnVsbDtcbiAgfVxuICBcbiAgb25Kb2JQZXJmb3JtZXJDZXJ0aWZpZWQoZXZlbnQ6YW55KXtcbiAgICAgdGhpcy5mbGFnRHJvcERvd25DaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInNoZS10aXRsZVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cInN3aXRjaFwiPlxuICAgICAgPGlucHV0ICBjbGFzcz1cInN3aXRjaC1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIGRpc2FibGVkPVwidHJ1ZVwiIFtjaGVja2VkXT1cImNlcnRpZmllZFwiLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsXCIgZGF0YS1vbj1cIkNlcnRpZmllZFwiIGRhdGEtb2ZmPVwiTm90IENlcnRpZmllZFwiPjwvc3Bhbj4gXG4gICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1oYW5kbGVcIj48L3NwYW4+IFxuICAgIDwvbGFiZWw+IFxuICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgPG5nLXNlbGVjdCAqbmdJZj1cImNlcnRpZmllZFwiXG4gICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAzNnB4OyB3aWR0aDogMjA1cHg7IG1hcmdpbi1ib3R0b206IDhweDtcIiBcbiAgICAgIFtpdGVtc109XCJKb2JQZXJmb3JtZXJDZXJ0aWZpY2F0ZXNcIlxuICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCJcbiAgICAgIChjaGFuZ2UpPVwib25Kb2JQZXJmb3JtZXJDZXJ0aWZpZWQoJGV2ZW50KVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIi0tLXt7ICdzZWxlY3QnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX0tLS1cIj5cbiAgICA8L25nLXNlbGVjdD5cbiAgPC9kaXY+ICAgIl19
@@ -1,49 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { I18nPipe } from '../../i18n.pipe';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../services/shared.service";
6
- import * as i2 from "../../i18n.service";
7
- import * as i3 from "@angular/common";
8
- export class FileViewComponent {
9
- SharedService;
10
- i18nService;
11
- documentData;
12
- api;
13
- constructor(SharedService, i18nService) {
14
- this.SharedService = SharedService;
15
- this.i18nService = i18nService;
16
- }
17
- ngOnInit() {
18
- }
19
- viewDoc(link) {
20
- /*
21
- Author: Vinay Jadhav
22
- @description: This function will view the file from azure blob.
23
- The link passed as a parameter will extract file name and pass it to the service
24
- @param link: It will accept a doc link
25
- @return: It will not return anything but it will either show or download the file.
26
- */
27
- if (link && link !== null) {
28
- this.SharedService.processViewFile(link.split('/').pop(), this.api);
29
- }
30
- // window.open(environment.api.substring(0, environment.api.length - 1) + link, '_blank');
31
- }
32
- getDocIcon(docName) {
33
- const ext = docName.split('.').pop(-1);
34
- return this.SharedService.docIcon(ext);
35
- }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileViewComponent, deps: [{ token: i1.SharedService }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component });
37
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileViewComponent, isStandalone: true, selector: "app-file-view", inputs: { documentData: "documentData", api: "api" }, ngImport: i0, template: "<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ", styles: [".document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px}.document_image{background:#48b7ff66;padding:10px}.document_name{padding:15px 5px}.document_delete{position:absolute;background:#c20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] });
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileViewComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'app-file-view', standalone: true, imports: [
42
- CommonModule, I18nPipe
43
- ], template: "<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ", styles: [".document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px}.document_image{background:#48b7ff66;padding:10px}.document_name{padding:15px 5px}.document_delete{position:absolute;background:#c20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}\n"] }]
44
- }], ctorParameters: () => [{ type: i1.SharedService }, { type: i2.I18nService }], propDecorators: { documentData: [{
45
- type: Input
46
- }], api: [{
47
- type: Input
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdmlldy9maWxlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS12aWV3L2ZpbGUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVczQyxNQUFNLE9BQU8saUJBQWlCO0lBSVI7SUFDVDtJQUpGLFlBQVksQ0FBQztJQUNiLEdBQUcsQ0FBQztJQUViLFlBQW9CLGFBQTRCLEVBQ3JDLFdBQXdCO1FBRGYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDN0IsQ0FBQztJQUVQLFFBQVE7SUFDUixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQUk7UUFDVDs7Ozs7O09BTUQ7UUFDRCxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNDLDBGQUEwRjtJQUM1RixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU87UUFDaEIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7d0dBNUJVLGlCQUFpQjs0RkFBakIsaUJBQWlCLCtIQ2hCOUIsd3BDQXVCRSxxYURaRSxZQUFZLDJQQUFFLFFBQVE7OzRGQUtiLGlCQUFpQjtrQkFUN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBRSxRQUFRO3FCQUN2Qjs0R0FLUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0ICwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2hhcmVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEkxOG5QaXBlIH0gZnJvbSAnLi4vLi4vaTE4bi5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbGUtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsIEkxOG5QaXBlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXZpZXcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZG9jdW1lbnREYXRhO1xuICBASW5wdXQoKSBhcGk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBTaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxuICAgICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZVxuICAgICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICB2aWV3RG9jKGxpbmspIHtcbiAgICAgLypcbiAgICBBdXRob3I6IFZpbmF5IEphZGhhdlxuICAgIEBkZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiB3aWxsIHZpZXcgdGhlIGZpbGUgZnJvbSBhenVyZSBibG9iLlxuICAgICAgICAgICAgICAgICAgVGhlIGxpbmsgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHdpbGwgZXh0cmFjdCBmaWxlIG5hbWUgYW5kIHBhc3MgaXQgdG8gdGhlIHNlcnZpY2VcbiAgICBAcGFyYW0gbGluazogSXQgd2lsbCBhY2NlcHQgYSBkb2MgbGlua1xuICAgIEByZXR1cm46IEl0IHdpbGwgbm90IHJldHVybiBhbnl0aGluZyBidXQgaXQgd2lsbCBlaXRoZXIgc2hvdyBvciBkb3dubG9hZCB0aGUgZmlsZS5cbiAgKi9cbiAgIGlmIChsaW5rICYmIGxpbmsgIT09IG51bGwpIHtcbiAgICB0aGlzLlNoYXJlZFNlcnZpY2UucHJvY2Vzc1ZpZXdGaWxlKGxpbmsuc3BsaXQoJy8nKS5wb3AoKSx0aGlzLmFwaSk7XG4gIH1cbiAgICAvLyB3aW5kb3cub3BlbihlbnZpcm9ubWVudC5hcGkuc3Vic3RyaW5nKDAsIGVudmlyb25tZW50LmFwaS5sZW5ndGggLSAxKSArIGxpbmssICdfYmxhbmsnKTtcbiAgfVxuXG4gIGdldERvY0ljb24oZG9jTmFtZSkge1xuICAgIGNvbnN0IGV4dCA9IGRvY05hbWUuc3BsaXQoJy4nKS5wb3AoLTEpO1xuICAgIHJldHVybiB0aGlzLlNoYXJlZFNlcnZpY2UuZG9jSWNvbihleHQpO1xuICB9XG5cbiAgXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0O1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInNoZS1sYWJlbCBhdHRhY2htZW50XCI+e3sgJ2F0dGFjaG1lbnQnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luOiAwO1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTMgZG9jdW1lbnQtY250XCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgZG9jdW1lbnREYXRhO2xldCBpID0gaW5kZXg7XCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJ2aWV3RG9jKGZpbGU/LmRvYylcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTMgZG9jdW1lbnRfaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImdldERvY0ljb24oZmlsZT8uZG9jKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O2hlaWdodDogNDBweDtcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTkgZG9jdW1lbnRfbmFtZVwiIHN0eWxlPVwib3ZlcmZsb3c6aGlkZGVuO2hlaWdodDozNXB4O1wiPlxuICAgICAgICAgICAgICAgICAgICB7e2ZpbGU/Lm5hbWV9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbS1iLTMwIHRleHQtY2VudGVyXCIgKm5nSWY9XCJkb2N1bWVudERhdGE/Lmxlbmd0aCA9PT0gMFwiPlxuICAgICAgPGltZyBzcmM9XCJodHRwczovL3JueHQuczMuYW1hem9uYXdzLmNvbS9JY29ucy9maWxlVHlwZUljb25zL2ljX25vX2F0dGFjaG1lbnRzLnN2Z1wiIHN0eWxlPVwiaGVpZ2h0OiAxNDBweDtcIj5cbiAgPC9kaXY+XG4gIDwvZGl2PlxuICAiXX0=
@@ -1,23 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/shared.service";
4
- import * as i2 from "@angular/common";
5
- export class LoaderComponent {
6
- loaderService;
7
- isLoading = false;
8
- constructor(loaderService) {
9
- this.loaderService = loaderService;
10
- }
11
- ngOnInit() {
12
- this.loaderService.isLoading$.subscribe((loading) => {
13
- this.isLoading = loading;
14
- });
15
- }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderComponent, deps: [{ token: i1.SharedService }], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"loader\" *ngIf=\"isLoading\">\n <div class=\"spinner\"></div>\n </div>\n ", styles: [".loader{position:fixed;inset:0;background:#fffc;display:flex;justify-content:center;align-items:center;z-index:9999}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:#000;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'app-loader', template: "<div class=\"loader\" *ngIf=\"isLoading\">\n <div class=\"spinner\"></div>\n </div>\n ", styles: [".loader{position:fixed;inset:0;background:#fffc;display:flex;justify-content:center;align-items:center;z-index:9999}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:#000;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"] }]
22
- }], ctorParameters: () => [{ type: i1.SharedService }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWxELE1BQU0sT0FBTyxlQUFlO0lBSU47SUFGcEIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUUzQixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFcEQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FWVSxlQUFlOzRGQUFmLGVBQWUsa0RDUjVCLDZGQUdFOzs0RkRLVyxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NoYXJlZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIExvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZGVyU2VydmljZS5pc0xvYWRpbmckLnN1YnNjcmliZSgobG9hZGluZykgPT4ge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBsb2FkaW5nO1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsb2FkZXJcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyXCI+PC9kaXY+XG4gIDwvZGl2PlxuICAiXX0=
@@ -1,128 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FileUploadComponent } from '../file-upload/file-upload.component';
4
- import { FormsModule } from '@angular/forms';
5
- import { I18nPipe } from '../../i18n.pipe';
6
- import { CustomDropdownComponent } from '../custom-dropdown/custom-dropdown.component';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../i18n.service";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "@angular/forms";
11
- export class TableAppendixComponent {
12
- i18nService;
13
- question;
14
- valueChange = new EventEmitter();
15
- tableInfo;
16
- tableHeader;
17
- tableData;
18
- addRowColSpan;
19
- tableAppendix;
20
- dropDownApi;
21
- dropDownData;
22
- constructor(i18nService) {
23
- this.i18nService = i18nService;
24
- }
25
- // RS 09DEC24 Changed keys
26
- ngOnInit() {
27
- if (this.question.subText != undefined) {
28
- // SKS20MAR25 check if question fieldsmeta is string
29
- this.tableInfo = typeof this.question['fieldsMeta'] === 'object' ? this.question['fieldsMeta'] || [] : JSON.parse(this.question['fieldsMeta']);
30
- this.tableHeader = this.tableInfo.header;
31
- this.tableData = this.tableInfo.data;
32
- this.tableAppendix = this.tableInfo.tableAppendix;
33
- this.dropDownApi = JSON.stringify(this.tableInfo['dropdownApi']);
34
- this.dropDownData = this.tableInfo['dropdownData'];
35
- const combinedData = {
36
- tableData: this.tableData,
37
- tableAppendix: null
38
- };
39
- if (this.tableAppendix) {
40
- combinedData.tableAppendix = this.tableAppendix;
41
- }
42
- this.valueChange.emit(combinedData);
43
- if (this.tableData?.addRow) {
44
- this.addRowColSpan = this.tableHeader.length - 2;
45
- }
46
- }
47
- }
48
- addRow() {
49
- let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));
50
- const updatedTableData = [...this.tableData, newItem];
51
- this.tableData = updatedTableData;
52
- this.emitTableDataValue(updatedTableData, this.tableAppendix);
53
- }
54
- updateLabel(rowIndex, label, value) {
55
- this.tableData[rowIndex][label] = value;
56
- this.tableData[rowIndex].name = value?.replace(/\s+/g, '').toLowerCase();
57
- this.emitTableDataValue(this.tableData, this.tableAppendix);
58
- }
59
- updateNumber(item, label, value) {
60
- item.value[label] = value;
61
- this.emitTableDataValue(this.tableData, this.tableAppendix);
62
- }
63
- updateToggle(item, header, value) {
64
- let label = header['fieldName'];
65
- let toggleValue = header['toggleValue'];
66
- if (label == 'test1') {
67
- item.value[label][1] = value ? toggleValue[0] : toggleValue[1];
68
- }
69
- else {
70
- item.value[label] = value ? toggleValue[0] : toggleValue[1];
71
- }
72
- this.emitTableDataValue(this.tableData, this.tableAppendix);
73
- }
74
- updateDropDown(item, label, value) {
75
- item.value[label] = value.valueObj['value'];
76
- this.emitTableDataValue(this.tableData, this.tableAppendix);
77
- }
78
- updateCheckText(item, label, value) {
79
- item.value[label][0] = value;
80
- this.emitTableDataValue(this.tableData, this.tableAppendix);
81
- }
82
- updateTableAppendix(item, label, value) {
83
- let toggleValue = item.value[0].toggleValue;
84
- if (item.key == 'dropDownData') {
85
- item.value[0].value[label] = value.valueObj['empIdName'];
86
- }
87
- else if (item.key == 'toggleData') {
88
- item.value[0].value[label] = value ? toggleValue[0] : toggleValue[1];
89
- }
90
- else {
91
- item.value[0].value[label] = value;
92
- }
93
- this.emitTableDataValue(this.tableData, this.tableAppendix);
94
- }
95
- emitTableDataValue(updatedTableData, tableAppendix) {
96
- const combinedData = {
97
- tableData: updatedTableData,
98
- tableAppendix: null
99
- };
100
- if (tableAppendix) {
101
- combinedData.tableAppendix = this.tableAppendix;
102
- }
103
- this.valueChange.emit(combinedData);
104
- }
105
- //This function finds the index of the current test in the list of test keys and returns the key of the previous test.
106
- // If the current test is the first one, it returns null, as there is no previous test
107
- getPreviousTestKey(item, currentTest) {
108
- const testKeys = Object.keys(item.value);
109
- const currentIndex = testKeys.indexOf(currentTest);
110
- if (currentIndex > 0) {
111
- return testKeys[currentIndex - 1];
112
- }
113
- return null;
114
- }
115
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableAppendixComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component });
116
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableAppendixComponent, isStandalone: true, selector: "app-table-appendix", inputs: { question: "question" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <!-- HA 19DEC23 For translation -->\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"{{ 'enterValue' | i18n:i18nService.currentLanguage }}\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <!-- HA 19DEC23 For translation -->\n <span style=\"text-align:left;\">{{ 'calibrated' | i18n:i18nService.currentLanguage }}</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <!-- HA 19DEC23 For translation -->\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">{{ 'addMore' | i18n:i18nService.currentLanguage }} +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <!-- HA 19DEC23 For translation -->\n <b>{{ 'addMore' | i18n:i18nService.currentLanguage }}</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <!-- HA 19DEC23 For translation -->\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\n </table>", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}.none-border th{border:none}.switch2{position:relative;width:73px;height:23.5px;margin-left:5px;margin-top:3px;background:linear-gradient(to bottom,#eee,#fff 25px);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF 25px);border-radius:5px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px #0000000d;cursor:pointer}.switch-input2{position:absolute;top:0;left:0;opacity:0}.switch-label2{position:relative;display:block;height:inherit;font-size:12px;background:#afacac80;color:#000;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label3{position:relative;display:block;height:inherit;font-size:12px;background:red;color:#fff;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label2:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;-webkit-transition:inherit;-moz-transition:inherit;-o-transition:inherit;transition:inherit}.switch-label3:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;-webkit-transition:inherit;-moz-transition:inherit;-o-transition:inherit;transition:inherit}.switch-label2:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label3:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label2:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-label3:after{content:attr(data-on);left:11px;margin-left:10px;vertical-align:sub;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-input2:checked~.switch-label2{background:#03a9f4;border-color:#03a9f4;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label3{background:#02ad02;border-color:#02ad02;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label2:before{opacity:0}.switch-input2:checked~.switch-label3:before{opacity:0}.switch-input2:checked~.switch-label2:after{opacity:1;margin-right:15px}.switch-input2:checked~.switch-label3:after{opacity:1;margin-right:15px}.switch-handle2{position:absolute;top:2px;left:2px;width:18px;height:18px;background:linear-gradient(to bottom,#fff 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#FFFFFF 40%,#f0f0f0);border-radius:20%;box-shadow:1px 1px 5px #0003}.switch-handle2:before{content:\"\";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(to bottom,#eee,#fff);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF);border-radius:6px;box-shadow:inset 0 1px #00000005}.switch-input2:checked~.switch-handle2{left:51px;box-shadow:-1px 1px 5px #0003}.switch-label2,.switch-handle2,.switch-label3{transition:All .3s ease;-webkit-transition:All .3s ease;-moz-transition:All .3s ease;-o-transition:All .3s ease}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "component", type: FileUploadComponent, selector: "app-file-upload", inputs: ["allFiles", "limitFileUploading", "isDeleteFileButtonVisible", "isShowNoFileIcon", "tableFile", "question", "error"], outputs: ["selectedFileData", "deletedFileData"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }, { kind: "component", type: CustomDropdownComponent, selector: "app-custom-dropdown", inputs: ["options", "placeholder", "apiMeta", "selectedValue", "progressBar", "id", "readOnly", "errorMessage", "error", "fromShengel", "question", "referenceField", "token"], outputs: ["valueChange"] }] });
117
- }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableAppendixComponent, decorators: [{
119
- type: Component,
120
- args: [{ selector: 'app-table-appendix', standalone: true, imports: [
121
- CommonModule, FileUploadComponent, FormsModule, I18nPipe, CustomDropdownComponent
122
- ], template: "<table class=\"table table-striped table-bordered\">\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\n <th></th>\n <th>{{ tableInfo.tableHeader }}</th>\n <th></th>\n </thead>\n <thead>\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\n {{ header.label }}\n </th>\n </thead>\n <tbody id=\"safetyMeasuresTableBody\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.type === 'text'\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('number')\">\n <!-- HA 19DEC23 For translation -->\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"{{ 'enterValue' | i18n:i18nService.currentLanguage }}\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type === 'dropdown'\">\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type === 'textcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n <div *ngIf=\"header.type === 'labelcheckbox'\">\n <div style=\"display: flex; justify-content: center;align-items: center;\">\n <!-- HA 19DEC23 For translation -->\n <span style=\"text-align:left;\">{{ 'calibrated' | i18n:i18nService.currentLanguage }}</span>\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n </div>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\n <td colspan=\"1\">\n <!-- HA 19DEC23 For translation -->\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">{{ 'addMore' | i18n:i18nService.currentLanguage }} +</b>\n </td>\n </tr>\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\n <td colspan=\"3\">\n <!-- HA 19DEC23 For translation -->\n <b>{{ 'addMore' | i18n:i18nService.currentLanguage }}</b>\n </td>\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\n +\n </td>\n </tr>\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\n <td *ngFor=\"let header of tableHeader; let l = index\">\n <div *ngIf=\"header.type === 'text'\" >\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\n <!-- HA 19DEC23 For translation -->\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \n [selectedValue]=\"item.value[0].value[header.fieldName]\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\n </app-custom-dropdown>\n </div>\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\n placeholder=\"DD/MM/YYYY HH:MM\">\n </div>\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\n <label class=\"switch2\">\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \n type=\"checkbox\"\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \n <span class=\"switch-handle2\"></span> \n </label> \n </div>\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n </td>\n </tr>\n </tbody>\n </table>", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}.none-border th{border:none}.switch2{position:relative;width:73px;height:23.5px;margin-left:5px;margin-top:3px;background:linear-gradient(to bottom,#eee,#fff 25px);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF 25px);border-radius:5px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px #0000000d;cursor:pointer}.switch-input2{position:absolute;top:0;left:0;opacity:0}.switch-label2{position:relative;display:block;height:inherit;font-size:12px;background:#afacac80;color:#000;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label3{position:relative;display:block;height:inherit;font-size:12px;background:red;color:#fff;border-radius:inherit;box-shadow:inset 0 1px 2px #0000001f,inset 0 0 2px #00000026}.switch-label2:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;-webkit-transition:inherit;-moz-transition:inherit;-o-transition:inherit;transition:inherit}.switch-label3:before,.switch-label2:after{position:absolute;top:50%;margin-top:-.5em;line-height:1;-webkit-transition:inherit;-moz-transition:inherit;-o-transition:inherit;transition:inherit}.switch-label2:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label3:before{content:attr(data-off);right:11px;text-shadow:0 1px rgba(255,255,255,.5)}.switch-label2:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-label3:after{content:attr(data-on);left:11px;margin-left:10px;vertical-align:sub;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.switch-input2:checked~.switch-label2{background:#03a9f4;border-color:#03a9f4;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label3{background:#02ad02;border-color:#02ad02;box-shadow:inset 0 1px 2px #00000026,inset 0 0 3px #0003}.switch-input2:checked~.switch-label2:before{opacity:0}.switch-input2:checked~.switch-label3:before{opacity:0}.switch-input2:checked~.switch-label2:after{opacity:1;margin-right:15px}.switch-input2:checked~.switch-label3:after{opacity:1;margin-right:15px}.switch-handle2{position:absolute;top:2px;left:2px;width:18px;height:18px;background:linear-gradient(to bottom,#fff 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#FFFFFF 40%,#f0f0f0);border-radius:20%;box-shadow:1px 1px 5px #0003}.switch-handle2:before{content:\"\";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(to bottom,#eee,#fff);background-image:-webkit-linear-gradient(top,#eeeeee,#FFFFFF);border-radius:6px;box-shadow:inset 0 1px #00000005}.switch-input2:checked~.switch-handle2{left:51px;box-shadow:-1px 1px 5px #0003}.switch-label2,.switch-handle2,.switch-label3{transition:All .3s ease;-webkit-transition:All .3s ease;-moz-transition:All .3s ease;-o-transition:All .3s ease}\n"] }]
123
- }], ctorParameters: () => [{ type: i1.I18nService }], propDecorators: { question: [{
124
- type: Input
125
- }], valueChange: [{
126
- type: Output
127
- }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYXBwZW5kaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtYXBwZW5kaXgvdGFibGUtYXBwZW5kaXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtYXBwZW5kaXgvdGFibGUtYXBwZW5kaXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7QUFXdkYsTUFBTSxPQUFPLHNCQUFzQjtJQVlkO0lBWFYsUUFBUSxDQUFVO0lBQ2pCLFdBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVuRSxTQUFTLENBQWU7SUFDeEIsV0FBVyxDQUFNO0lBQ2pCLFNBQVMsQ0FBTTtJQUNmLGFBQWEsQ0FBUztJQUN0QixhQUFhLENBQUs7SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLFlBQVksQ0FBSztJQUVqQixZQUFtQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFJLENBQUM7SUFDaEQsMEJBQTBCO0lBQzFCLFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxJ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TUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuRCxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLFFBQVEsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0EvR1Usc0JBQXNCOzRGQUF0QixzQkFBc0IseUpDcEJuQyw0ak5BdUdVLDhvSER4Rk4sWUFBWSwyVEFBRSxtQkFBbUIsNE9BQUUsV0FBVyw0d0JBQUUsUUFBUSw2Q0FBRSx1QkFBdUI7OzRGQUt4RSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSx1QkFBdUI7cUJBQ2xGO2dGQUtRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vIEhBIDE5REVDMjMgaW1wb3J0ZWQgdHJhbnNsYXRpb24gc2VydmljZVxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGVXcmFwcGVyIH0gZnJvbSAnLi4vLi4vbW9kZWwvdGFibGVXcmFwcGVyJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4uL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEkxOG5QaXBlIH0gZnJvbSAnLi4vLi4vaTE4bi5waXBlJztcbmltcG9ydCB7IEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vY3VzdG9tLWRyb3Bkb3duL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGFibGUtYXBwZW5kaXgnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLCBGaWxlVXBsb2FkQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgSTE4blBpcGUsIEN1c3RvbURyb3Bkb3duQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1hcHBlbmRpeC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWFwcGVuZGl4LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUFwcGVuZGl4Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IFF1ZXN0aW9uXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICB0YWJsZUluZm86IFRhYmxlV3JhcHBlcjtcbiAgdGFibGVIZWFkZXI6IGFueTtcbiAgdGFibGVEYXRhOiBhbnk7XG4gIGFkZFJvd0NvbFNwYW46IG51bWJlcjtcbiAgdGFibGVBcHBlbmRpeDphbnk7XG4gIGRyb3BEb3duQXBpIDphbnk7XG4gIGRyb3BEb3duRGF0YTphbnk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSkgeyB9XG4gIC8vIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmKHRoaXMucXVlc3Rpb24uc3ViVGV4dCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFNLUzIwTUFSMjUgY2hlY2sgaWYgcXVlc3Rpb24gZmllbGRzbWV0YSBpcyBzdHJpbmdcbiAgICAgIHRoaXMudGFibGVJbmZvID0gIHR5cGVvZiB0aGlzLnF1ZXN0aW9uWydmaWVsZHNNZXRhJ10gPT09ICdvYmplY3QnICA/ICB0aGlzLnF1ZXN0aW9uWydmaWVsZHNNZXRhJ10gfHwgW10gOiBKU09OLnBhcnNlKCB0aGlzLnF1ZXN0aW9uWydmaWVsZHNNZXRhJ10pIDtcblxuICAgICAgdGhpcy50YWJsZUhlYWRlciA9IHRoaXMudGFibGVJbmZvLmhlYWRlcjtcbiAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy50YWJsZUluZm8uZGF0YTtcbiAgICAgIHRoaXMudGFibGVBcHBlbmRpeCA9IHRoaXMudGFibGVJbmZvLnRhYmxlQXBwZW5kaXg7XG4gICAgICB0aGlzLmRyb3BEb3duQXBpID0gSlNPTi5zdHJpbmdpZnkodGhpcy50YWJsZUluZm9bJ2Ryb3Bkb3duQXBpJ10pO1xuICAgICAgdGhpcy5kcm9wRG93bkRhdGEgPSB0aGlzLnRhYmxlSW5mb1snZHJvcGRvd25EYXRhJ107XG4gICAgICBjb25zdCBjb21iaW5lZERhdGEgPSB7XG4gICAgICAgIHRhYmxlRGF0YTogdGhpcy50YWJsZURhdGEsXG4gICAgICAgIHRhYmxlQXBwZW5kaXg6IG51bGxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy50YWJsZUFwcGVuZGl4KSB7XG4gICAgICAgIGNvbWJpbmVkRGF0YS50YWJsZUFwcGVuZGl4ID0gdGhpcy50YWJsZUFwcGVuZGl4O1xuICAgICAgfVxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGNvbWJpbmVkRGF0YSk7XG5cbiAgICAgIGlmKHRoaXMudGFibGVEYXRhPy5hZGRSb3cpIHtcbiAgICAgICAgdGhpcy5hZGRSb3dDb2xTcGFuID0gdGhpcy50YWJsZUhlYWRlci5sZW5ndGggLSAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFkZFJvdygpOiB2b2lkIHtcbiAgICBsZXQgbmV3SXRlbSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy50YWJsZUluZm8ubmV3Um93RGVmYXVsdCkpO1xuICAgIGNvbnN0IHVwZGF0ZWRUYWJsZURhdGEgPSBbLi4udGhpcy50YWJsZURhdGEsIG5ld0l0ZW1dO1xuICAgIHRoaXMudGFibGVEYXRhID0gdXBkYXRlZFRhYmxlRGF0YTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh1cGRhdGVkVGFibGVEYXRhLHRoaXMudGFibGVBcHBlbmRpeCk7XG4gIH1cblxuICB1cGRhdGVMYWJlbChyb3dJbmRleDogbnVtYmVyLCBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZURhdGFbcm93SW5kZXhdW2xhYmVsXSA9IHZhbHVlO1xuICAgIHRoaXMudGFibGVEYXRhW3Jvd0luZGV4XS5uYW1lID0gdmFsdWU/LnJlcGxhY2UoL1xccysvZywgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEsdGhpcy50YWJsZUFwcGVuZGl4KTtcbiAgfVxuICBcbiAgdXBkYXRlTnVtYmVyKGl0ZW06IGFueSwgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyl7XG4gICAgaXRlbS52YWx1ZVtsYWJlbF0gPSB2YWx1ZTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSx0aGlzLnRhYmxlQXBwZW5kaXgpO1xuICB9XG5cbiAgdXBkYXRlVG9nZ2xlKGl0ZW06IGFueSwgaGVhZGVyOiBzdHJpbmcsIHZhbHVlOiBhbnkpe1xuICAgIGxldCBsYWJlbCA9IGhlYWRlclsnZmllbGROYW1lJ107XG4gICAgbGV0IHRvZ2dsZVZhbHVlID0gaGVhZGVyWyd0b2dnbGVWYWx1ZSddO1xuICAgIGlmKGxhYmVsID09ICd0ZXN0MScpe1xuICAgICAgaXRlbS52YWx1ZVtsYWJlbF1bMV0gPSB2YWx1ZSA/IHRvZ2dsZVZhbHVlWzBdIDogdG9nZ2xlVmFsdWVbMV07XG4gICAgfWVsc2V7XG4gICAgICBpdGVtLnZhbHVlW2xhYmVsXSA9IHZhbHVlID8gdG9nZ2xlVmFsdWVbMF0gOiB0b2dnbGVWYWx1ZVsxXTtcbiAgICB9XG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEsdGhpcy50YWJsZUFwcGVuZGl4KTtcbiAgfVxuICB1cGRhdGVEcm9wRG93bihpdGVtOiBhbnksIGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpe1xuICAgIGl0ZW0udmFsdWVbbGFiZWxdID0gdmFsdWUudmFsdWVPYmpbJ3ZhbHVlJ107XG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEsdGhpcy50YWJsZUFwcGVuZGl4KTtcbiAgfVxuXG4gIHVwZGF0ZUNoZWNrVGV4dChpdGVtOiBhbnksIGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpe1xuICAgIGl0ZW0udmFsdWVbbGFiZWxdWzBdID0gdmFsdWU7XG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEsdGhpcy50YWJsZUFwcGVuZGl4KTtcbiAgfVxuXG4gIHVwZGF0ZVRhYmxlQXBwZW5kaXgoaXRlbTogYW55LCBsYWJlbDogc3RyaW5nLCB2YWx1ZTogYW55KXtcbiAgICBsZXQgdG9nZ2xlVmFsdWUgPSBpdGVtLnZhbHVlWzBdLnRvZ2dsZVZhbHVlO1xuICAgIGlmKGl0ZW0ua2V5ID09ICdkcm9wRG93bkRhdGEnKXtcbiAgICAgIGl0ZW0udmFsdWVbMF0udmFsdWVbbGFiZWxdID0gdmFsdWUudmFsdWVPYmpbJ2VtcElkTmFtZSddO1xuICAgIH1lbHNlIGlmKGl0ZW0ua2V5ID09ICd0b2dnbGVEYXRhJyl7XG4gICAgICBpdGVtLnZhbHVlWzBdLnZhbHVlW2xhYmVsXSA9IHZhbHVlID8gdG9nZ2xlVmFsdWVbMF0gOiB0b2dnbGVWYWx1ZVsxXTtcbiAgICB9ZWxzZXtcbiAgICAgIGl0ZW0udmFsdWVbMF0udmFsdWVbbGFiZWxdID0gdmFsdWU7XG4gICAgfVxuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhLHRoaXMudGFibGVBcHBlbmRpeCk7XG4gIH1cblxuICBlbWl0VGFibGVEYXRhVmFsdWUodXBkYXRlZFRhYmxlRGF0YTogYW55W10sdGFibGVBcHBlbmRpeDphbnkpOiB2b2lkIHtcbiAgICBjb25zdCBjb21iaW5lZERhdGEgPSB7XG4gICAgICB0YWJsZURhdGE6IHVwZGF0ZWRUYWJsZURhdGEsXG4gICAgICB0YWJsZUFwcGVuZGl4OiBudWxsXG4gICAgfTtcbiAgICBpZih0YWJsZUFwcGVuZGl4KXtcbiAgICAgIGNvbWJpbmVkRGF0YS50YWJsZUFwcGVuZGl4ID0gdGhpcy50YWJsZUFwcGVuZGl4O1xuICAgIH1cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoY29tYmluZWREYXRhKTtcbiAgfVxuXG4gIC8vVGhpcyBmdW5jdGlvbiBmaW5kcyB0aGUgaW5kZXggb2YgdGhlIGN1cnJlbnQgdGVzdCBpbiB0aGUgbGlzdCBvZiB0ZXN0IGtleXMgYW5kIHJldHVybnMgdGhlIGtleSBvZiB0aGUgcHJldmlvdXMgdGVzdC4gXG4gIC8vIElmIHRoZSBjdXJyZW50IHRlc3QgaXMgdGhlIGZpcnN0IG9uZSwgaXQgcmV0dXJucyBudWxsLCBhcyB0aGVyZSBpcyBubyBwcmV2aW91cyB0ZXN0XG4gIGdldFByZXZpb3VzVGVzdEtleShpdGVtOiBhbnksIGN1cnJlbnRUZXN0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRlc3RLZXlzID0gT2JqZWN0LmtleXMoaXRlbS52YWx1ZSk7XG4gICAgY29uc3QgY3VycmVudEluZGV4ID0gdGVzdEtleXMuaW5kZXhPZihjdXJyZW50VGVzdCk7XG4gIFxuICAgIGlmIChjdXJyZW50SW5kZXggPiAwKSB7XG4gICAgICByZXR1cm4gdGVzdEtleXNbY3VycmVudEluZGV4IC0gMV07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxufVxuIiwiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ib3JkZXJlZFwiPlxuICAgIDx0aGVhZCBjbGFzcz1cIm5vbmUtYm9yZGVyXCIgKm5nSWY9XCJ0YWJsZUluZm8udGFibGVUeXBlID09PSAnbG9ja291dCcgJiYgdGFibGVJbmZvLnRhYmxlSGVhZGVyXCI+XG4gICAgICA8dGg+PC90aD5cbiAgICAgIDx0aD57eyB0YWJsZUluZm8udGFibGVIZWFkZXIgfX08L3RoPlxuICAgICAgPHRoPjwvdGg+XG4gICAgPC90aGVhZD5cbiAgICA8dGhlYWQ+XG4gICAgICA8dGggKm5nRm9yPVwibGV0IGhlYWRlciBvZiB0YWJsZUhlYWRlcjsgbGV0IGhpID0gaW5kZXhcIiBbY2xhc3NdPVwiJ2NvbC1tZC0nICsgaGVhZGVyLnNpemVcIj5cbiAgICAgICAge3sgaGVhZGVyLmxhYmVsIH19XG4gICAgICA8L3RoPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5IGlkPVwic2FmZXR5TWVhc3VyZXNUYWJsZUJvZHlcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZURhdGE7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGFibGVIZWFkZXI7IGxldCBqID0gaW5kZXhcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUgPT09ICd0ZXh0J1wiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJpdGVtW2hlYWRlci5maWVsZE5hbWVdXCIgW3BsYWNlaG9sZGVyXT1cImhlYWRlci5wbGFjZWhvbGRlclwiIChuZ01vZGVsQ2hhbmdlKT1cInRhYmxlSW5mby50YWJsZVR5cGUgIT0gJ2xvY2tvdXQnID8gdXBkYXRlTGFiZWwoaSwgaGVhZGVyLmZpZWxkTmFtZSwgaXRlbVtoZWFkZXIuZmllbGROYW1lXSkgOiB1cGRhdGVOdW1iZXIoaXRlbSwgaGVhZGVyLmZpZWxkTmFtZSwgaXRlbVtoZWFkZXIuZmllbGROYW1lXSlcIiBjbGFzcz1cInNoZS1saW5lLWlucHV0IHRhYmxlLWlucHV0XCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlLmluY2x1ZGVzKCdudW1iZXInKVwiPlxuICAgICAgICAgICAgPCEtLSBIQSAxOURFQzIzIEZvciB0cmFuc2xhdGlvbiAtLT5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgWyhuZ01vZGVsKV09XCJpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdXCIgW2Rpc2FibGVkXT1cIml0ZW0udmFsdWVbZ2V0UHJldmlvdXNUZXN0S2V5KGl0ZW0sIGhlYWRlci5maWVsZE5hbWUpXSA9PT0gbnVsbCAmJiB0YWJsZUluZm8udGFibGVUeXBlICE9ICdsb2Nrb3V0J1wiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU51bWJlcihpdGVtLCBoZWFkZXIuZmllbGROYW1lLCBpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdKVwiIHBsYWNlaG9sZGVyPVwie3sgJ2VudGVyVmFsdWUnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX1cIiBjbGFzcz1cInNoZS1saW5lLWlucHV0IHRhYmxlLWlucHV0XCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAnZHJvcGRvd24nXCI+XG4gICAgICAgICAgICA8YXBwLWN1c3RvbS1kcm9wZG93biBbZnJvbVNoZW5nZWxdPVwidHJ1ZVwiIFtvcHRpb25zXT1cImRyb3BEb3duRGF0YVwiIFxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiaXRlbS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXVwiIFtwbGFjZWhvbGRlcl09XCJoZWFkZXIucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInVwZGF0ZURyb3BEb3duKGl0ZW0saGVhZGVyLmZpZWxkTmFtZSwkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2FwcC1jdXN0b20tZHJvcGRvd24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAndGV4dGNoZWNrYm94J1wiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyO2FsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiaXRlbS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXVswXVwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUNoZWNrVGV4dChpdGVtLCBoZWFkZXIuZmllbGROYW1lLCBpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdWzBdKVwiICBzdHlsZT1cIndpZHRoOiA4NXB4OyBoZWlnaHQ6IDI3cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNXB4OyBib3JkZXItYm90dG9tOiBub25lOyBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtvdXRsaW5lOiBub25lO1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzd2l0Y2gyXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0ICBjbGFzcz1cInN3aXRjaC1pbnB1dDJcIiAoY2hhbmdlKT1cInVwZGF0ZVRvZ2dsZShpdGVtLGhlYWRlciwkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCIgXG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdWzFdID09IGhlYWRlci50b2dnbGVWYWx1ZVswXVwiLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1sYWJlbDJcIiBkYXRhLW9uPVwiUHNpXCIgZGF0YS1vZmY9XCJCYXJcIj48L3NwYW4+IFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWhhbmRsZTJcIj48L3NwYW4+IFxuICAgICAgICAgICAgICA8L2xhYmVsPiBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZSA9PT0gJ2xhYmVsY2hlY2tib3gnXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7YWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgPCEtLSBIQSAxOURFQzIzIEZvciB0cmFuc2xhdGlvbiAtLT5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJ0ZXh0LWFsaWduOmxlZnQ7XCI+e3sgJ2NhbGlicmF0ZWQnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInN3aXRjaDJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgIGNsYXNzPVwic3dpdGNoLWlucHV0MlwiIChjaGFuZ2UpPVwidXBkYXRlVG9nZ2xlKGl0ZW0saGVhZGVyLCRldmVudC50YXJnZXQuY2hlY2tlZClcIiBcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIml0ZW0udmFsdWVbaGVhZGVyLmZpZWxkTmFtZV0gPT0gaGVhZGVyLnRvZ2dsZVZhbHVlWzBdXCIvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3dpdGNoLWxhYmVsM1wiIGRhdGEtb249XCJZZXNcIiBkYXRhLW9mZj1cIk5vXCI+PC9zcGFuPiBcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1oYW5kbGUyXCI+PC9zcGFuPiBcbiAgICAgICAgICAgICAgPC9sYWJlbD4gXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgKm5nSWY9XCJ0YWJsZUluZm8uYWRkUm93ICYmIHRhYmxlSW5mby50YWJsZVR5cGUgPT09ICdsb2Nrb3V0J1wiPlxuICAgICAgICA8dGQgY29sc3Bhbj1cIjFcIj5cbiAgICAgICAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgICAgICAgIDxiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBjdXJzb3I6IHBvaW50ZXI7XCIgaWQ9XCJhZGRTYWZldHlcIiAgKGNsaWNrKT1cImFkZFJvdygpXCI+e3sgJ2FkZE1vcmUnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX0gKzwvYj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgKm5nSWY9XCJ0YWJsZUluZm8uYWRkUm93ICYmIHRhYmxlSW5mby50YWJsZVR5cGUgIT0gJ2xvY2tvdXQnXCI+XG4gICAgICAgIDx0ZCBjb2xzcGFuPVwiM1wiPlxuICAgICAgICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG4gICAgICAgICAgPGI+e3sgJ2FkZE1vcmUnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX08L2I+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBjdXJzb3I6IHBvaW50ZXI7XCIgaWQ9XCJhZGRTYWZldHlcIiAgKGNsaWNrKT1cImFkZFJvdygpXCI+XG4gICAgICAgICAgK1xuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVBcHBlbmRpeCB8IGtleXZhbHVlOyBsZXQgayA9IGluZGV4XCI+XG4gICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRhYmxlSGVhZGVyOyBsZXQgbCA9IGluZGV4XCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci50eXBlID09PSAndGV4dCdcIiA+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cIml0ZW0udmFsdWVbMF1baGVhZGVyLmZpZWxkTmFtZV1cIiAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVMYWJlbChrLCBoZWFkZXIuZmllbGROYW1lLCBpdGVtW2hlYWRlci5maWVsZE5hbWVdKVwiIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgdGFibGUtaW5wdXRcIj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUuaW5jbHVkZXMoJ2Ryb3Bkb3duJykgJiYgaXRlbS5rZXkgPT0gJ2Ryb3BEb3duRGF0YSdcIiA+XG4gICAgICAgICAgICA8IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuICAgICAgICAgICAgPGFwcC1jdXN0b20tZHJvcGRvd24gW2Zyb21TaGVuZ2VsXT1cInRydWVcIiBbYXBpTWV0YV09XCJkcm9wRG93bkFwaVwiIFxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiaXRlbS52YWx1ZVswXS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXVwiIHBsYWNlaG9sZGVyPVwiLS0te3snc2VsZWN0JyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlfX0tLS1cIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInVwZGF0ZVRhYmxlQXBwZW5kaXgoaXRlbSxoZWFkZXIuZmllbGROYW1lLCRldmVudClcIj5cbiAgICAgICAgICAgIDwvYXBwLWN1c3RvbS1kcm9wZG93bj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUuaW5jbHVkZXMoJ2RhdGV0aW1lJykgJiYgaXRlbS5rZXkgPT0gJ2RhdGVEYXRhJ1wiPlxuICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiaXRlbS52YWx1ZVswXS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXVwiIHR5cGU9XCJkYXRldGltZS1sb2NhbFwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVUYWJsZUFwcGVuZGl4KGl0ZW0saGVhZGVyLmZpZWxkTmFtZSwkZXZlbnQpXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiREQvTU0vWVlZWSBISDpNTVwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIudHlwZS5pbmNsdWRlcygnY2hlY2tib3gnKSAmJiBpdGVtLmtleSA9PSAndG9nZ2xlRGF0YSdcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInN3aXRjaDJcIj5cbiAgICAgICAgICAgICAgPGlucHV0ICBjbGFzcz1cInN3aXRjaC1pbnB1dDJcIiAoY2hhbmdlKT1cInVwZGF0ZVRhYmxlQXBwZW5kaXgoaXRlbSxoZWFkZXIuZmllbGROYW1lLCRldmVudC50YXJnZXQuY2hlY2tlZClcIiBcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXRlbS52YWx1ZVswXS52YWx1ZVtoZWFkZXIuZmllbGROYW1lXSA9PSBpdGVtLnZhbHVlWzBdLnRvZ2dsZVZhbHVlWzBdXCIvPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN3aXRjaC1sYWJlbDNcIiBkYXRhLW9uPVwiU2FmZVwiIGRhdGEtb2ZmPVwiVW5zYWZlXCI+PC9zcGFuPiBcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzd2l0Y2gtaGFuZGxlMlwiPjwvc3Bhbj4gXG4gICAgICAgICAgICA8L2xhYmVsPiBcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLnR5cGUuaW5jbHVkZXMoJ2ZpbGUnKSAmJiBpdGVtLmtleSA9PSAnZmlsZURhdGEnXCI+XG4gICAgICAgICAgICA8YXBwLWZpbGUtdXBsb2FkIFtsaW1pdEZpbGVVcGxvYWRpbmddPVwiMlwiIFthbGxGaWxlc109XCJpdGVtLnZhbHVlWzBdLnZhbHVlW2hlYWRlci5maWVsZE5hbWVdXCIgW3RhYmxlRmlsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZEZpbGVEYXRhKT1cInVwZGF0ZVRhYmxlQXBwZW5kaXgoaXRlbSAsaGVhZGVyLmZpZWxkTmFtZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICBbaXNEZWxldGVGaWxlQnV0dG9uVmlzaWJsZV09XCJ0cnVlXCI+PC9hcHAtZmlsZS11cGxvYWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+Il19
@@ -1,20 +0,0 @@
1
- export class TableHeader {
2
- label;
3
- fieldName;
4
- fieldId;
5
- type;
6
- isReadOnly;
7
- }
8
- export class TableWrapper {
9
- header;
10
- data;
11
- tableAppendix;
12
- // dropDownData:any[];
13
- keyValueField;
14
- rowFunction;
15
- addRow;
16
- newRowDefault;
17
- tableType;
18
- tableHeader;
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL21vZGVsL3RhYmxlV3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztJQUNwQixLQUFLLENBQVM7SUFDZCxTQUFTLENBQVM7SUFDbEIsT0FBTyxDQUFTO0lBQ2hCLElBQUksQ0FBUztJQUNiLFVBQVUsQ0FBVTtDQUN2QjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBZ0I7SUFDdEIsSUFBSSxDQUFTO0lBQ2IsYUFBYSxDQUFPO0lBQ3BCLHNCQUFzQjtJQUN0QixhQUFhLENBQVM7SUFDdEIsV0FBVyxDQUFNO0lBQ2pCLE1BQU0sQ0FBVTtJQUNoQixhQUFhLENBQU07SUFDbkIsU0FBUyxDQUFRO0lBQ2pCLFdBQVcsQ0FBUTtDQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUYWJsZUhlYWRlciB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBmaWVsZE5hbWU6IHN0cmluZztcbiAgICBmaWVsZElkOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGlzUmVhZE9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBUYWJsZVdyYXBwZXIge1xuICAgIGhlYWRlcjogVGFibGVIZWFkZXJbXTtcbiAgICBkYXRhOiBhbnkgW107XG4gICAgdGFibGVBcHBlbmRpeDphbnlbXTtcbiAgICAvLyBkcm9wRG93bkRhdGE6YW55W107XG4gICAga2V5VmFsdWVGaWVsZDogc3RyaW5nO1xuICAgIHJvd0Z1bmN0aW9uOiBhbnk7XG4gICAgYWRkUm93OiBib29sZWFuO1xuICAgIG5ld1Jvd0RlZmF1bHQ6IGFueTtcbiAgICB0YWJsZVR5cGU6c3RyaW5nO1xuICAgIHRhYmxlSGVhZGVyOnN0cmluZztcbn1cbiJdfQ==
@@ -1,79 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FileViewComponent } from '../../components/file-view/file-view.component';
4
- import { I18nPipe } from '../../i18n.pipe';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../i18n.service";
7
- import * as i2 from "@angular/common";
8
- export class SummaryPageComponent {
9
- i18nService;
10
- answerJson;
11
- api;
12
- booklet = [];
13
- bookQuestionsMap = new Map();
14
- actions = [];
15
- sqOptions = new Map();
16
- questions = [];
17
- filteredQuestion;
18
- constructor(i18nService) {
19
- this.i18nService = i18nService;
20
- }
21
- ngOnInit() {
22
- if (this.answerJson) {
23
- console.log('answer json', this.answerJson);
24
- this.booklet = this.answerJson.records;
25
- // Process the Sub Question Options - This should be merged with bookQuestionsMap in future
26
- for (var sq in this.answerJson.sqOptions) {
27
- this.sqOptions.set(sq, this.answerJson.sqOptions[sq]);
28
- }
29
- // Process the Questions
30
- for (var value in this.answerJson.bookQuestionsMap) {
31
- this.bookQuestionsMap.set(value, this.answerJson.bookQuestionsMap[value]);
32
- }
33
- }
34
- this.processSummary(this.booklet);
35
- }
36
- // RS 09DEC24 Changed keys
37
- processSummary(data) {
38
- let questions = [];
39
- for (var i = 0; i < data.length; i++) {
40
- let qbId = data[i].id;
41
- for (var sq in this.bookQuestionsMap?.get(qbId).subQuestions) {
42
- let q = this.bookQuestionsMap?.get(qbId).subQuestions[sq];
43
- if (q.type == 'Dropdown') {
44
- questions.push(this.sqOptions.get(q.id));
45
- }
46
- else {
47
- if (!q.input?.includes('|')) { // to avoid the unwanted fields for summary page
48
- questions.push(q);
49
- }
50
- }
51
- }
52
- }
53
- this.questions = questions;
54
- console.log('question', this.questions);
55
- // map the questions using the the bookId
56
- var qbIds = new Set(this.questions.map((item) => item.questionBookId));
57
- this.filteredQuestion = [];
58
- qbIds.forEach((id) => {
59
- this.filteredQuestion.push({
60
- Id: id,
61
- questions: this.questions.filter((i) => i.questionBookId === id)
62
- });
63
- });
64
- console.log('filteredQuestion', this.filteredQuestion);
65
- }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SummaryPageComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SummaryPageComponent, isStandalone: true, selector: "lib-summary-page", inputs: { answerJson: "answerJson", api: "api" }, ngImport: i0, template: "<div class=\"col-lg-12\">\n <div class=\"panel-group panel-group-joined\" id=\"details\">\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h4 class=\"panel-title\">\n <!-- HA 19DEC23 For Translation -->\n<!-- HA 20FEB24 PTW Details to Details -->\n<!-- RS 09DEC24 Changed keys-->\n <a data-toggle=\"collapse\" data-parent=\"#details\" href=\"#collapse\" class=\"collapsed\">\n {{'details' | i18n:i18nService.currentLanguage}}\n </a>\n </h4>\n </div>\n <div [id]=\"'collapse'\" class=\"collapse\">\n <div class=\"panel-body\">\n <div class=\"row\" *ngFor=\"let item of filteredQuestion;let i = index\">\n <div class=\"col-lg-6\" *ngFor=\"let ques of item.questions\" >\n <label *ngIf=\"ques.type != 'File'\" >{{ques.question}}</label>\n <p *ngIf = \"ques.type != 'Dropdown' && ques.type != 'Table' && ques.type != 'File'\">{{ ques.input }}</p>\n <p *ngIf=\"ques.type == 'Dropdown'\">{{ ques.selectedValue }}</p>\n <p *ngIf=\"!ques.input\">N/A</p>\n <div *ngIf= \"ques.type == 'Table'\">\n <div *ngFor=\"let item of ques.input\" class=\"align-center\">\n <img *ngIf=\"item.value == 'yes' \" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <p *ngIf=\"item.value == 'yes' \">{{ item.ppe }}</p>\n </div>\n </div>\n <div *ngIf = \"ques.type == 'File'\">\n <app-file-view [api]=\"api\" [documentData]=\"ques.input\"></app-file-view>\n </div>\n </div>\n <div *ngIf=\"i != filteredQuestion.length -1\" class=\"col-lg-12\">\n <hr>\n </div>\n </div>\n </div>\n </div> \n </div>\n</div>\n\n", styles: [".panel{-moz-box-shadow:0px 1px 2px 0px rgba(0,0,0,.1);-webkit-box-shadow:0px 1px 2px 0px rgba(0,0,0,.1);border-radius:0;border:none;box-shadow:0 1px 2px #0000001a;margin-bottom:20px}.panel .panel-body{padding:20px}.panel-heading{border-radius:0;border:none!important;padding:10px 20px}.panel-default>.panel-heading{background-color:#fafafa;border-bottom:none;color:#2a323c;border:1px solid #e3e3e3!important}.panel-title{margin-bottom:0;margin-top:0;font-family:Rubik,sans-serif;font-weight:400}.panel-group .panel .panel-heading a[data-toggle=collapse].collapsed:before{content:\"\\f0d7\"}.panel-group .panel .panel-heading .accordion-toggle.collapsed:before{content:\"\\f0d7\"}.panel-group .panel .panel-heading a[data-toggle=collapse]{display:block}.panel-group .panel .panel-heading a[data-toggle=collapse]:before{content:\"\\f0d8\";display:block;float:right;font-family:FontAwesome;font-size:14px;text-align:right;width:25px}.panel-group .panel .panel-heading .accordion-toggle{display:block}.panel-group .panel .panel-heading .accordion-toggle:before{content:\"\\f068\";display:block;float:right;font-family:FontAwesome;font-size:14px;text-align:right;width:25px}.panel-group .panel .panel-heading+.panel-collapse .panel-body{border-top:none!important;border:1px solid #e3e3e3}.panel-group .panel-heading{padding:12px 26px}.panel-group.panel-group-joined .panel+.panel{border-top:1px solid #eeeeee;margin-top:0}.panel-group-joined .panel-group .panel+.panel{border-top:1px solid #eeeeee;margin-top:0}.align-center{display:flex}.align-center p{margin-left:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FileViewComponent, selector: "app-file-view", inputs: ["documentData", "api"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] });
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SummaryPageComponent, decorators: [{
70
- type: Component,
71
- args: [{ selector: 'lib-summary-page', standalone: true, imports: [
72
- CommonModule, FileViewComponent, I18nPipe
73
- ], template: "<div class=\"col-lg-12\">\n <div class=\"panel-group panel-group-joined\" id=\"details\">\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h4 class=\"panel-title\">\n <!-- HA 19DEC23 For Translation -->\n<!-- HA 20FEB24 PTW Details to Details -->\n<!-- RS 09DEC24 Changed keys-->\n <a data-toggle=\"collapse\" data-parent=\"#details\" href=\"#collapse\" class=\"collapsed\">\n {{'details' | i18n:i18nService.currentLanguage}}\n </a>\n </h4>\n </div>\n <div [id]=\"'collapse'\" class=\"collapse\">\n <div class=\"panel-body\">\n <div class=\"row\" *ngFor=\"let item of filteredQuestion;let i = index\">\n <div class=\"col-lg-6\" *ngFor=\"let ques of item.questions\" >\n <label *ngIf=\"ques.type != 'File'\" >{{ques.question}}</label>\n <p *ngIf = \"ques.type != 'Dropdown' && ques.type != 'Table' && ques.type != 'File'\">{{ ques.input }}</p>\n <p *ngIf=\"ques.type == 'Dropdown'\">{{ ques.selectedValue }}</p>\n <p *ngIf=\"!ques.input\">N/A</p>\n <div *ngIf= \"ques.type == 'Table'\">\n <div *ngFor=\"let item of ques.input\" class=\"align-center\">\n <img *ngIf=\"item.value == 'yes' \" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <p *ngIf=\"item.value == 'yes' \">{{ item.ppe }}</p>\n </div>\n </div>\n <div *ngIf = \"ques.type == 'File'\">\n <app-file-view [api]=\"api\" [documentData]=\"ques.input\"></app-file-view>\n </div>\n </div>\n <div *ngIf=\"i != filteredQuestion.length -1\" class=\"col-lg-12\">\n <hr>\n </div>\n </div>\n </div>\n </div> \n </div>\n</div>\n\n", styles: [".panel{-moz-box-shadow:0px 1px 2px 0px rgba(0,0,0,.1);-webkit-box-shadow:0px 1px 2px 0px rgba(0,0,0,.1);border-radius:0;border:none;box-shadow:0 1px 2px #0000001a;margin-bottom:20px}.panel .panel-body{padding:20px}.panel-heading{border-radius:0;border:none!important;padding:10px 20px}.panel-default>.panel-heading{background-color:#fafafa;border-bottom:none;color:#2a323c;border:1px solid #e3e3e3!important}.panel-title{margin-bottom:0;margin-top:0;font-family:Rubik,sans-serif;font-weight:400}.panel-group .panel .panel-heading a[data-toggle=collapse].collapsed:before{content:\"\\f0d7\"}.panel-group .panel .panel-heading .accordion-toggle.collapsed:before{content:\"\\f0d7\"}.panel-group .panel .panel-heading a[data-toggle=collapse]{display:block}.panel-group .panel .panel-heading a[data-toggle=collapse]:before{content:\"\\f0d8\";display:block;float:right;font-family:FontAwesome;font-size:14px;text-align:right;width:25px}.panel-group .panel .panel-heading .accordion-toggle{display:block}.panel-group .panel .panel-heading .accordion-toggle:before{content:\"\\f068\";display:block;float:right;font-family:FontAwesome;font-size:14px;text-align:right;width:25px}.panel-group .panel .panel-heading+.panel-collapse .panel-body{border-top:none!important;border:1px solid #e3e3e3}.panel-group .panel-heading{padding:12px 26px}.panel-group.panel-group-joined .panel+.panel{border-top:1px solid #eeeeee;margin-top:0}.panel-group-joined .panel-group .panel+.panel{border-top:1px solid #eeeeee;margin-top:0}.align-center{display:flex}.align-center p{margin-left:8px}\n"] }]
74
- }], ctorParameters: () => [{ type: i1.I18nService }], propDecorators: { answerJson: [{
75
- type: Input
76
- }], api: [{
77
- type: Input
78
- }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9zdW1tYXJ5LXBhZ2Uvc3VtbWFyeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9zdW1tYXJ5LXBhZ2Uvc3VtbWFyeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFXM0MsTUFBTSxPQUFPLG9CQUFvQjtJQVdaO0lBVlYsVUFBVSxDQUFLO0lBQ2YsR0FBRyxDQUFRO0lBRWIsT0FBTyxHQUFVLEVBQUUsQ0FBQztJQUNwQixnQkFBZ0IsR0FBUSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2xDLE9BQU8sR0FBaUIsRUFBRSxDQUFDO0lBQzFCLFNBQVMsR0FBUSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzVCLFNBQVMsR0FBUyxFQUFFLENBQUM7SUFDNUIsZ0JBQWdCLENBQVE7SUFFeEIsWUFBbUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBSSxDQUFDO0lBRWhELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFD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WSxnUUFBRSxpQkFBaUIsc0ZBQUUsUUFBUTs7NEZBS2hDLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxRQUFRO3FCQUMxQztnRkFLUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25NZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb25NZXRhJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRmlsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbGUtdmlldy9maWxlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEkxOG5QaXBlIH0gZnJvbSAnLi4vLi4vaTE4bi5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXN1bW1hcnktcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsIEZpbGVWaWV3Q29tcG9uZW50LCBJMThuUGlwZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3VtbWFyeS1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3VtbWFyeS1wYWdlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdW1tYXJ5UGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFuc3dlckpzb246YW55O1xuICBASW5wdXQoKSBhcGk6c3RyaW5nO1xuXG4gIHB1YmxpYyBib29rbGV0OiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgYm9va1F1ZXN0aW9uc01hcDogYW55ID0gbmV3IE1hcCgpO1xuICBwdWJsaWMgYWN0aW9uczogQWN0aW9uTWV0YVtdID0gW107XG4gIHByaXZhdGUgc3FPcHRpb25zOiBhbnkgPSBuZXcgTWFwKCk7XG4gIHB1YmxpYyBxdWVzdGlvbnM6YW55W10gPSBbXTtcbiAgZmlsdGVyZWRRdWVzdGlvbjogYW55W107XG5cbiAgY29uc3RydWN0b3IocHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5hbnN3ZXJKc29uKSB7XG4gICAgICBjb25zb2xlLmxvZygnYW5zd2VyIGpzb24nLHRoaXMuYW5zd2VySnNvbik7XG4gICAgICB0aGlzLmJvb2tsZXQgPSB0aGlzLmFuc3dlckpzb24ucmVjb3JkcztcblxuICAgICAgLy8gUHJvY2VzcyB0aGUgU3ViIFF1ZXN0aW9uIE9wdGlvbnMgLSBUaGlzIHNob3VsZCBiZSBtZXJnZWQgd2l0aCBib29rUXVlc3Rpb25zTWFwIGluIGZ1dHVyZVxuICAgICAgZm9yICh2YXIgc3EgaW4gdGhpcy5hbnN3ZXJKc29uLnNxT3B0aW9ucykge1xuICAgICAgICB0aGlzLnNxT3B0aW9ucy5zZXQoc3EsIHRoaXMuYW5zd2VySnNvbi5zcU9wdGlvbnNbc3FdKTtcbiAgICAgIH1cbiAgICAgIC8vIFByb2Nlc3MgdGhlIFF1ZXN0aW9uc1xuICAgICAgZm9yICh2YXIgdmFsdWUgaW4gdGhpcy5hbnN3ZXJKc29uLmJvb2tRdWVzdGlvbnNNYXApIHtcbiAgICAgICAgdGhpcy5ib29rUXVlc3Rpb25zTWFwLnNldCh2YWx1ZSwgdGhpcy5hbnN3ZXJKc29uLmJvb2tRdWVzdGlvbnNNYXBbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5wcm9jZXNzU3VtbWFyeSh0aGlzLmJvb2tsZXQpO1xuICB9XG4gIC8vIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzXG4gIHByb2Nlc3NTdW1tYXJ5KGRhdGE6YW55KXtcbiAgICBsZXQgcXVlc3Rpb25zID0gW107XG4gICAgZm9yKCB2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aCA7aSsrKXtcbiAgICAgIGxldCBxYklkID0gZGF0YVtpXS5pZDtcbiAgICAgIGZvcih2YXIgc3EgaW4gdGhpcy5ib29rUXVlc3Rpb25zTWFwPy5nZXQocWJJZCkuc3ViUXVlc3Rpb25zKSB7XG4gICAgICAgIGxldCBxOiBRdWVzdGlvbiA9IHRoaXMuYm9va1F1ZXN0aW9uc01hcD8uZ2V0KHFiSWQpLnN1YlF1ZXN0aW9uc1tzcV07XG4gICAgICAgIGlmKHEudHlwZSA9PSAnRHJvcGRvd24nKSB7XG4gICAgICAgICAgcXVlc3Rpb25zLnB1c2godGhpcy5zcU9wdGlvbnMuZ2V0KHEuaWQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZighcS5pbnB1dD8uaW5jbHVkZXMoJ3wnKSl7ICAvLyB0byBhdm9pZCB0aGUgdW53YW50ZWQgZmllbGRzIGZvciBzdW1tYXJ5IHBhZ2VcbiAgICAgICAgICAgIHF1ZXN0aW9ucy5wdXNoKHEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnF1ZXN0aW9ucyA9IHF1ZXN0aW9ucztcbiAgICBjb25zb2xlLmxvZygncXVlc3Rpb24nLCB0aGlzLnF1ZXN0aW9ucyk7XG4gICAgLy8gbWFwIHRoZSBxdWVzdGlvbnMgdXNpbmcgIHRoZSB0aGUgYm9va0lkXG4gICAgdmFyIHFiSWRzID0gbmV3IFNldCh0aGlzLnF1ZXN0aW9ucy5tYXAoKGl0ZW06YW55KSA9PiBpdGVtLnF1ZXN0aW9uQm9va0lkKSlcbiAgICB0aGlzLmZpbHRlcmVkUXVlc3Rpb24gPSBbXTtcbiAgICBxYklkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlcmVkUXVlc3Rpb24ucHVzaCh7XG4gICAgICAgICAgSWQ6IGlkLCBcbiAgICAgICAgICBxdWVzdGlvbnM6IHRoaXMucXVlc3Rpb25zLmZpbHRlcigoaTphbnkpID0+IGkucXVlc3Rpb25Cb29rSWQgPT09IGlkKVxuICAgICAgICB9KTtcbiAgICB9KVxuICAgIGNvbnNvbGUubG9nKCdmaWx0ZXJlZFF1ZXN0aW9uJyx0aGlzLmZpbHRlcmVkUXVlc3Rpb24pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cbiAgPGRpdiBjbGFzcz1cInBhbmVsLWdyb3VwIHBhbmVsLWdyb3VwLWpvaW5lZFwiIGlkPVwiZGV0YWlsc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbCBwYW5lbC1kZWZhdWx0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1oZWFkaW5nXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwicGFuZWwtdGl0bGVcIj5cbiAgICAgICAgICAgIDwhLS0gSEEgMTlERUMyMyBGb3IgVHJhbnNsYXRpb24gLS0+XG48IS0tIEhBIDIwRkVCMjQgUFRXIERldGFpbHMgdG8gRGV0YWlscyAtLT5cbjwhLS0gUlMgMDlERUMyNCBDaGFuZ2VkIGtleXMtLT5cbiAgICAgICAgICAgIDxhIGRhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIiBkYXRhLXBhcmVudD1cIiNkZXRhaWxzXCIgaHJlZj1cIiNjb2xsYXBzZVwiIGNsYXNzPVwiY29sbGFwc2VkXCI+XG4gICAgICAgICAgICAgIHt7J2RldGFpbHMnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2V9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbaWRdPVwiJ2NvbGxhcHNlJ1wiIGNsYXNzPVwiY29sbGFwc2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZFF1ZXN0aW9uO2xldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy02XCIgKm5nRm9yPVwibGV0IHF1ZXMgb2YgaXRlbS5xdWVzdGlvbnNcIiA+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJxdWVzLnR5cGUgIT0gJ0ZpbGUnXCIgPnt7cXVlcy5xdWVzdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxwICpuZ0lmID0gXCJxdWVzLnR5cGUgIT0gJ0Ryb3Bkb3duJyAmJiBxdWVzLnR5cGUgIT0gJ1RhYmxlJyAmJiBxdWVzLnR5cGUgIT0gJ0ZpbGUnXCI+e3sgcXVlcy5pbnB1dCB9fTwvcD5cbiAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwicXVlcy50eXBlID09ICdEcm9wZG93bidcIj57eyBxdWVzLnNlbGVjdGVkVmFsdWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFxdWVzLmlucHV0XCI+Ti9BPC9wPlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj0gXCJxdWVzLnR5cGUgPT0gJ1RhYmxlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIHF1ZXMuaW5wdXRcIiBjbGFzcz1cImFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJpdGVtLnZhbHVlID09ICd5ZXMnIFwiIFtzcmNdPVwiaXRlbS5pbWFnZVNyY1wiIFthbHRdPVwiaXRlbS5hbHRUZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJpdGVtLnZhbHVlID09ICd5ZXMnIFwiPnt7IGl0ZW0ucHBlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwicXVlcy50eXBlID09ICdGaWxlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWZpbGUtdmlldyBbYXBpXT1cImFwaVwiIFtkb2N1bWVudERhdGFdPVwicXVlcy5pbnB1dFwiPjwvYXBwLWZpbGUtdmlldz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImkgIT0gZmlsdGVyZWRRdWVzdGlvbi5sZW5ndGggLTFcIiBjbGFzcz1cImNvbC1sZy0xMlwiPlxuICAgICAgICAgICAgICAgIDxocj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PiBcbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
@@ -1,13 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class NxtGroupCard {
4
- title: string;
5
- cardWidth: string;
6
- cardHeight: string;
7
- titleIconSrc: string;
8
- infoCardArray: any[];
9
- buttonClick: EventEmitter<any>;
10
- onButtonClick(event: any): void;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<NxtGroupCard, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<NxtGroupCard, "nxt-group-card", never, { "title": { "alias": "title"; "required": false; }; "cardWidth": { "alias": "cardWidth"; "required": false; }; "cardHeight": { "alias": "cardHeight"; "required": false; }; "titleIconSrc": { "alias": "titleIconSrc"; "required": false; }; "infoCardArray": { "alias": "infoCardArray"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, never, true, never>;
13
- }
@@ -1,47 +0,0 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export interface Field {
4
- icon: string;
5
- name: string;
6
- value: number | string;
7
- }
8
- export interface CardConfig {
9
- width?: string;
10
- height?: string;
11
- backgroundColor?: string;
12
- borderRadius?: string;
13
- }
14
- export declare class NxtGroupInfo {
15
- private elementRef;
16
- cardTitle: string;
17
- fields: Field[];
18
- isEditable: boolean;
19
- allowAdd: boolean;
20
- allowEditValues: boolean;
21
- allowDelete: boolean;
22
- cardWidth: string;
23
- cardHeight: string;
24
- backgroundColor: string;
25
- borderRadius: string;
26
- editConfig: any;
27
- buttonClick: EventEmitter<{}>;
28
- editingIndex: number;
29
- isDropdownOpen: boolean;
30
- constructor(elementRef: ElementRef);
31
- getCardStyle(): {
32
- width: string;
33
- height: string;
34
- backgroundColor: string;
35
- borderRadius: string;
36
- };
37
- startEditing(index: number): void;
38
- saveItem(index: number): void;
39
- deleteItem(index: number): void;
40
- addNewItem(): void;
41
- toggleDropdown(): void;
42
- closeDropdown(): void;
43
- onClickOutside(event: MouseEvent): void;
44
- onButtonClick(button: any): void;
45
- static ɵfac: i0.ɵɵFactoryDeclaration<NxtGroupInfo, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<NxtGroupInfo, "nxt-group-info", never, { "cardTitle": { "alias": "cardTitle"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "isEditable": { "alias": "isEditable"; "required": false; }; "allowAdd": { "alias": "allowAdd"; "required": false; }; "allowEditValues": { "alias": "allowEditValues"; "required": false; }; "allowDelete": { "alias": "allowDelete"; "required": false; }; "cardWidth": { "alias": "cardWidth"; "required": false; }; "cardHeight": { "alias": "cardHeight"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "borderRadius": { "alias": "borderRadius"; "required": false; }; "editConfig": { "alias": "editConfig"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, never, true, never>;
47
- }