vcomply-workflow-engine 3.9.8 → 3.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/esm2022/lib/link-related-policies/link-related-policies.component.mjs +3 -2
  2. package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +24 -49
  3. package/esm2022/lib/workflow-engine.module.mjs +3 -11
  4. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +24 -37
  5. package/fesm2022/vcomply-workflow-engine.mjs +38 -888
  6. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  7. package/lib/sharedComponents/document-section/document-section.component.d.ts +1 -3
  8. package/lib/workflow-engine.module.d.ts +1 -3
  9. package/lib/workflow-policy/workflow-policy.component.d.ts +0 -2
  10. package/package.json +1 -1
  11. package/esm2022/lib/constants/template.constant.mjs +0 -6
  12. package/esm2022/lib/services/auth.service.mjs +0 -172
  13. package/esm2022/lib/sharedComponents/policy-template/constants/template.constant.mjs +0 -3
  14. package/esm2022/lib/sharedComponents/policy-template/policy-template.module.mjs +0 -65
  15. package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +0 -213
  16. package/esm2022/lib/sharedComponents/policy-template/services/template.service.mjs +0 -67
  17. package/esm2022/lib/sharedComponents/policy-template/template-list-table/template-list-table.component.mjs +0 -42
  18. package/esm2022/lib/sharedComponents/policy-template/template-pipes/get-template-category.pipe.mjs +0 -19
  19. package/esm2022/lib/sharedComponents/policy-template/template-pipes/search-template.pipe.mjs +0 -59
  20. package/esm2022/lib/sharedComponents/policy-template/template-pipes/template-pipes.module.mjs +0 -19
  21. package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.mjs +0 -93
  22. package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy.module.mjs +0 -19
  23. package/esm2022/lib/ui-kit/multi-select/cs-multiselect/cs-multiselect.component.mjs +0 -203
  24. package/esm2022/lib/ui-kit/multi-select/cs-multiselect-option/cs-multiselect-option.component.mjs +0 -31
  25. package/esm2022/lib/ui-kit/multi-select/multi-select.module.mjs +0 -37
  26. package/esm2022/lib/ui-kit/multi-select/multi-select.service.mjs +0 -16
  27. package/lib/constants/template.constant.d.ts +0 -5
  28. package/lib/services/auth.service.d.ts +0 -39
  29. package/lib/sharedComponents/policy-template/constants/template.constant.d.ts +0 -2
  30. package/lib/sharedComponents/policy-template/policy-template.module.d.ts +0 -20
  31. package/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.d.ts +0 -49
  32. package/lib/sharedComponents/policy-template/services/template.service.d.ts +0 -19
  33. package/lib/sharedComponents/policy-template/template-list-table/template-list-table.component.d.ts +0 -14
  34. package/lib/sharedComponents/policy-template/template-pipes/get-template-category.pipe.d.ts +0 -7
  35. package/lib/sharedComponents/policy-template/template-pipes/search-template.pipe.d.ts +0 -37
  36. package/lib/sharedComponents/policy-template/template-pipes/template-pipes.module.d.ts +0 -9
  37. package/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.d.ts +0 -25
  38. package/lib/sharedComponents/policy-template/view-policy/view-policy.module.d.ts +0 -9
  39. package/lib/ui-kit/multi-select/cs-multiselect/cs-multiselect.component.d.ts +0 -69
  40. package/lib/ui-kit/multi-select/cs-multiselect-option/cs-multiselect-option.component.d.ts +0 -12
  41. package/lib/ui-kit/multi-select/multi-select.module.d.ts +0 -11
  42. package/lib/ui-kit/multi-select/multi-select.service.d.ts +0 -7
@@ -1,213 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { forkJoin } from 'rxjs';
3
- import { NO_DATA_FOUND_IMAGE, NO_DATA_FOUND_MESSAGE, } from '../constants/template.constant';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/template.service";
6
- import * as i2 from "../../../workflow-services/policy.service";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "../../../ui-kit/tooltip/tooltip.directive";
9
- import * as i5 from "../../no-data/no-data.component";
10
- import * as i6 from "../../v-loader/loader-inline/loader-inline.component";
11
- import * as i7 from "../../../ui-kit/multi-select/cs-multiselect/cs-multiselect.component";
12
- import * as i8 from "../../../ui-kit/multi-select/cs-multiselect-option/cs-multiselect-option.component";
13
- import * as i9 from "../../floating-bar/floating-bar.component";
14
- import * as i10 from "@angular/forms";
15
- import * as i11 from "../view-policy/view-policy/view-policy.component";
16
- import * as i12 from "../template-list-table/template-list-table.component";
17
- import * as i13 from "../template-pipes/search-template.pipe";
18
- export class SelectTemplateListComponent {
19
- constructor(templateService, policyService) {
20
- this.templateService = templateService;
21
- this.policyService = policyService;
22
- this.animation = false;
23
- this.defaultTemplates = [];
24
- this.customTemplates = null;
25
- this.templateList = [];
26
- this.currentTab = 'VCOMPLY';
27
- this.loader = false;
28
- this.categoryList = [];
29
- this.defaultCategoryList = [];
30
- this.userCreatedCategoryList = [];
31
- this.sortStatus = -1;
32
- this.searchCategory = '';
33
- this.searchTemplate = '';
34
- this.selectedCategory = [];
35
- this.NO_DATA_FOUND_IMAGE = NO_DATA_FOUND_IMAGE;
36
- this.NO_DATA_FOUND_MESSAGE = NO_DATA_FOUND_MESSAGE;
37
- this.selectedTemplate = [];
38
- this.isPreview = false;
39
- this.docData = null;
40
- this.selectedCategoryId = [];
41
- this.onTemplateSelect = new EventEmitter();
42
- }
43
- ngOnInit() {
44
- this.setAnimation();
45
- this.getTemplate();
46
- }
47
- setAnimation() {
48
- this.animation = true;
49
- setTimeout(() => {
50
- this.animation = false;
51
- }, 300);
52
- }
53
- switchTab(tab) {
54
- this.currentTab = tab;
55
- this.selectedCategory = [];
56
- if (tab === 'VCOMPLY') {
57
- this.templateList = [...this.defaultTemplates];
58
- this.categoryList = this.defaultCategoryList;
59
- }
60
- else {
61
- if (this.customTemplates === null) {
62
- this.getCustomTemplates();
63
- }
64
- else {
65
- this.templateList = [...this.customTemplates];
66
- this.categoryList = this.userCreatedCategoryList;
67
- }
68
- }
69
- }
70
- getCustomTemplates() {
71
- this.loader = true;
72
- const payload = {
73
- type: 'custom',
74
- categoryId: this.selectedCategoryId.map((category) => category.item_id),
75
- };
76
- this.templateService.fetchTemplates(payload).subscribe((res) => {
77
- this.customTemplates = res?.templates ?? [];
78
- this.mapCustomTemplate();
79
- });
80
- }
81
- mapCustomTemplate() {
82
- console.log('userCreatedCategoryList', this.userCreatedCategoryList, this.selectedCategoryId);
83
- this.policyService.getCategoriesList().subscribe((res) => {
84
- this.userCreatedCategoryList = [...res];
85
- this.userCreatedCategoryList = this.userCreatedCategoryList.map((res) => {
86
- console.log('res', res);
87
- const parentItems = [...new Set(res?.parent_items ?? [])];
88
- parentItems.unshift(res.item_name);
89
- return {
90
- ...res,
91
- name: parentItems?.join(' < '),
92
- parent_items: res?.parent_items.reverse(),
93
- };
94
- });
95
- if (this.customTemplates) {
96
- this.customTemplates = this.customTemplates.map((template) => {
97
- return {
98
- ...template,
99
- categoryDetails: this.userCreatedCategoryList.filter((category) => template?.categoryId?.includes(category.item_id)),
100
- };
101
- });
102
- console.log('userCreatedCategoryList dxwde', this.userCreatedCategoryList, this.customTemplates, this.customTemplates);
103
- }
104
- this.templateList = [...new Set(this.customTemplates ?? [])];
105
- const categoryIds = this.selectedCategoryId.map((category) => category.item_id);
106
- console.log('categoryIds', categoryIds);
107
- this.userCreatedCategoryList = this.userCreatedCategoryList.filter((category) => categoryIds?.includes(category.item_id));
108
- this.loader = false;
109
- console.log('userCreatedCategoryList', this.userCreatedCategoryList, this.selectedCategoryId);
110
- this.categoryList = this.userCreatedCategoryList;
111
- });
112
- }
113
- getTemplate() {
114
- this.loader = true;
115
- const payload = {
116
- type: 'default',
117
- };
118
- forkJoin([
119
- this.templateService.fetchTemplates(payload),
120
- this.templateService.fetchDefaultCategories(),
121
- ]).subscribe((res) => {
122
- this.defaultTemplates = res[0]?.templates;
123
- this.defaultCategoryList = res[1];
124
- this.mapDefaultTemplate();
125
- this.categoryList = [...new Set(this.defaultCategoryList)];
126
- this.templateList = this.defaultTemplates;
127
- this.loader = false;
128
- });
129
- }
130
- mapDefaultTemplate() {
131
- this.defaultTemplates = this.defaultTemplates.map((template) => {
132
- const category = this.defaultCategoryList.filter((category) => template?.categoryId?.includes(category.item_id));
133
- return {
134
- ...template,
135
- categoryDetails: category,
136
- };
137
- });
138
- }
139
- sortBy(key) {
140
- this.sortStatus = this.sortStatus * -1;
141
- this.templateList = this.templateService.sortByKey(this.templateList, key, this.sortStatus);
142
- }
143
- onSelectCategory(category, event) {
144
- if (event.target.checked) {
145
- this.selectedCategory.push(category?.item_id);
146
- }
147
- else {
148
- this.selectedCategory = this.selectedCategory.filter((id) => id !== category?.item_id);
149
- }
150
- this.selectedCategory = [...new Set(this.selectedCategory)];
151
- }
152
- onApplyFilter(event) {
153
- if (!event) {
154
- this.selectedCategory = [];
155
- return;
156
- }
157
- let selectedTemplate = this.currentTab === 'VCOMPLY'
158
- ? this.defaultTemplates
159
- : this.customTemplates ?? [];
160
- selectedTemplate = [...new Set(selectedTemplate)];
161
- if (this.selectedCategory.length === 0) {
162
- this.templateList = selectedTemplate;
163
- return;
164
- }
165
- this.templateList = selectedTemplate.filter((template) => {
166
- return template?.categoryId?.some((id) => this.selectedCategory.includes(id));
167
- });
168
- }
169
- onSelectTemplate(template) {
170
- this.selectedTemplate = [template];
171
- }
172
- save() {
173
- this.onTemplateSelect.emit(this.selectedTemplate);
174
- }
175
- close() {
176
- this.onTemplateSelect.emit([]);
177
- }
178
- deleteEvent() {
179
- this.selectedTemplate = [];
180
- }
181
- onPreview(details) {
182
- this.loader = true;
183
- this.getPreviewData(details?._id);
184
- this.previewTemplate = details;
185
- }
186
- onClosePreview() {
187
- this.isPreview = false;
188
- this.docData = null;
189
- this.previewTemplate = null;
190
- }
191
- getPreviewData(templateId) {
192
- this.loader = true;
193
- this.templateService.getTemplateContent(templateId).subscribe({
194
- next: (res) => {
195
- const { response } = res;
196
- this.loader = false;
197
- this.docData = response;
198
- this.isPreview = true;
199
- },
200
- });
201
- }
202
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, deps: [{ token: i1.TemplateService }, { token: i2.PolicyService }], target: i0.ɵɵFactoryTarget.Component }); }
203
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectTemplateListComponent, selector: "app-select-template-list", inputs: { selectedCategoryId: "selectedCategoryId" }, outputs: { onTemplateSelect: "onTemplateSelect" }, ngImport: i0, template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"onClosePreview()\"\r\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe91d;</i>Preview\r\n </button>\r\n <div\r\n class=\"template-name vx-fs-14 vx-ml-1\"\r\n [appTooltip]=\"previewTemplate?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ previewTemplate?.name }}\r\n </div>\r\n </div>\r\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\r\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i6.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i7.CsMultiselectComponent, selector: "cs-multi-select", inputs: ["isRequired", "dropdownLabel", "dropdownSubLabel", "disabled", "placeholder", "searchPlaceholder", "value", "selectedItem"], outputs: ["valueChange", "applyFilter", "searchText", "resetSelectedData"] }, { kind: "component", type: i8.CsMultiselectOptionComponent, selector: "cs-multi-select-option", inputs: ["value"] }, { kind: "component", type: i9.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "directive", type: i10.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: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.ViewPolicyComponent, selector: "app-view-policy", inputs: ["contents", "userName"] }, { kind: "component", type: i12.TemplateListTableComponent, selector: "app-template-list-table", inputs: ["selectedTemplate", "templateList", "loader", "categoryList"], outputs: ["onSort", "onSelectTemplate", "onPreview"] }, { kind: "pipe", type: i13.SearchByKeysPipe, name: "SearchByKeys" }] }); }
204
- }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, decorators: [{
206
- type: Component,
207
- args: [{ selector: 'app-select-template-list', template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"onClosePreview()\"\r\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe91d;</i>Preview\r\n </button>\r\n <div\r\n class=\"template-name vx-fs-14 vx-ml-1\"\r\n [appTooltip]=\"previewTemplate?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ previewTemplate?.name }}\r\n </div>\r\n </div>\r\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\r\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"] }]
208
- }], ctorParameters: function () { return [{ type: i1.TemplateService }, { type: i2.PolicyService }]; }, propDecorators: { selectedCategoryId: [{
209
- type: Input
210
- }], onTemplateSelect: [{
211
- type: Output
212
- }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sMkJBQTJCO0lBd0J0QyxZQUNVLGVBQWdDLEVBQ2hDLGFBQTRCO1FBRDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpCdEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBaUIsSUFBSSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6Qix3QkFBbUIsR0FB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dEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVtcGxhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgTk9fREFUQV9GT1VORF9JTUFHRSxcclxuICBOT19EQVRBX0ZPVU5EX01FU1NBR0UsXHJcbn0gZnJvbSAnLi4vY29uc3RhbnRzL3RlbXBsYXRlLmNvbnN0YW50JztcclxuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNlbGVjdC10ZW1wbGF0ZS1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RUZW1wbGF0ZUxpc3RDb21wb25lbnQge1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIGRlZmF1bHRUZW1wbGF0ZXM6IGFueVtdID0gW107XHJcbiAgY3VzdG9tVGVtcGxhdGVzOiBhbnlbXSB8IG51bGwgPSBudWxsO1xyXG4gIHRlbXBsYXRlTGlzdDogYW55W10gPSBbXTtcclxuICBjdXJyZW50VGFiID0gJ1ZDT01QTFknO1xyXG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcclxuICBkZWZhdWx0Q2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHNvcnRTdGF0dXMgPSAtMTtcclxuICBzZWFyY2hDYXRlZ29yeTogc3RyaW5nID0gJyc7XHJcbiAgc2VhcmNoVGVtcGxhdGU6IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueVtdID0gW107XHJcbiAgTk9fREFUQV9GT1VORF9JTUFHRSA9IE5PX0RBVEFfRk9VTkRfSU1BR0U7XHJcbiAgTk9fREFUQV9GT1VORF9NRVNTQUdFID0gTk9fREFUQV9GT1VORF9NRVNTQUdFO1xyXG4gIHNlbGVjdGVkVGVtcGxhdGU6IGFueVtdID0gW107XHJcbiAgaXNQcmV2aWV3ID0gZmFsc2U7XHJcbiAgZG9jRGF0YTogYW55IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJldmlld1RlbXBsYXRlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnlJZDogbnVtYmVyW10gPSBbXTtcclxuICBAT3V0cHV0KCkgb25UZW1wbGF0ZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRBbmltYXRpb24oKTtcclxuICAgIHRoaXMuZ2V0VGVtcGxhdGUoKTtcclxuICB9XHJcblxyXG4gIHNldEFuaW1hdGlvbigpIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaFRhYih0YWI6IHN0cmluZykge1xyXG4gICAgdGhpcy5jdXJyZW50VGFiID0gdGFiO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gW107XHJcbiAgICBpZiAodGFiID09PSAnVkNPTVBMWScpIHtcclxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4udGhpcy5kZWZhdWx0VGVtcGxhdGVzXTtcclxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jdXN0b21UZW1wbGF0ZXMgPT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmdldEN1c3RvbVRlbXBsYXRlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gWy4uLnRoaXMuY3VzdG9tVGVtcGxhdGVzXTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEN1c3RvbVRlbXBsYXRlcygpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHR5cGU6ICdjdXN0b20nLFxyXG4gICAgICBjYXRlZ29yeUlkOiB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZC5tYXAoXHJcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Lml0ZW1faWRcclxuICAgICAgKSxcclxuICAgIH07XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5mZXRjaFRlbXBsYXRlcyhwYXlsb2FkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVzID0gcmVzPy50ZW1wbGF0ZXMgPz8gW107XHJcbiAgICAgIHRoaXMubWFwQ3VzdG9tVGVtcGxhdGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbWFwQ3VzdG9tVGVtcGxhdGUoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcclxuICAgICAgJ3VzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0JyxcclxuICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCxcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRcclxuICAgICk7XHJcbiAgICB0aGlzLnBvbGljeVNlcnZpY2UuZ2V0Q2F0ZWdvcmllc0xpc3QoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSBbLi4ucmVzXTtcclxuICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QubWFwKFxyXG4gICAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ3JlcycsIHJlcyk7XHJcbiAgICAgICAgICBjb25zdCBwYXJlbnRJdGVtcyA9IFsuLi5uZXcgU2V0KHJlcz8ucGFyZW50X2l0ZW1zID8/IFtdKV07XHJcbiAgICAgICAgICBwYXJlbnRJdGVtcy51bnNoaWZ0KHJlcy5pdGVtX25hbWUpO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgICBuYW1lOiBwYXJlbnRJdGVtcz8uam9pbignIDwgJyksXHJcbiAgICAgICAgICAgIHBhcmVudF9pdGVtczogcmVzPy5wYXJlbnRfaXRlbXMucmV2ZXJzZSgpLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICAgIGlmICh0aGlzLmN1c3RvbVRlbXBsYXRlcykge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVzID0gdGhpcy5jdXN0b21UZW1wbGF0ZXMubWFwKCh0ZW1wbGF0ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi50ZW1wbGF0ZSxcclxuICAgICAgICAgICAgY2F0ZWdvcnlEZXRhaWxzOiB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0LmZpbHRlcihcclxuICAgICAgICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cclxuICAgICAgICAgICAgICAgIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5pbmNsdWRlcyhjYXRlZ29yeS5pdGVtX2lkKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcclxuICAgICAgICAgICd1c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCBkeHdkZScsXHJcbiAgICAgICAgICB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0LFxyXG4gICAgICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXMsXHJcbiAgICAgICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlc1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4ubmV3IFNldCh0aGlzLmN1c3RvbVRlbXBsYXRlcyA/PyBbXSldO1xyXG4gICAgICBjb25zdCBjYXRlZ29yeUlkcyA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkLm1hcChcclxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnkuaXRlbV9pZFxyXG4gICAgICApO1xyXG4gICAgICBjb25zb2xlLmxvZygnY2F0ZWdvcnlJZHMnLCBjYXRlZ29yeUlkcyk7XHJcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0LmZpbHRlcihcclxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnlJZHM/LmluY2x1ZGVzKGNhdGVnb3J5Lml0ZW1faWQpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICd1c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCcsXHJcbiAgICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCxcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFRlbXBsYXRlKCkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgdHlwZTogJ2RlZmF1bHQnLFxyXG4gICAgfTtcclxuICAgIGZvcmtKb2luKFtcclxuICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hUZW1wbGF0ZXMocGF5bG9hZCksXHJcbiAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmZldGNoRGVmYXVsdENhdGVnb3JpZXMoKSxcclxuICAgIF0pLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5kZWZhdWx0VGVtcGxhdGVzID0gcmVzWzBdPy50ZW1wbGF0ZXM7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdCA9IHJlc1sxXTtcclxuICAgICAgdGhpcy5tYXBEZWZhdWx0VGVtcGxhdGUoKTtcclxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSBbLi4ubmV3IFNldCh0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3QpXTtcclxuXHJcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gdGhpcy5kZWZhdWx0VGVtcGxhdGVzO1xyXG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBtYXBEZWZhdWx0VGVtcGxhdGUoKSB7XHJcbiAgICB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMgPSB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMubWFwKCh0ZW1wbGF0ZTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGNhdGVnb3J5ID0gdGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0LmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cclxuICAgICAgICB0ZW1wbGF0ZT8uY2F0ZWdvcnlJZD8uaW5jbHVkZXMoY2F0ZWdvcnkuaXRlbV9pZClcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi50ZW1wbGF0ZSxcclxuICAgICAgICBjYXRlZ29yeURldGFpbHM6IGNhdGVnb3J5LFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzb3J0Qnkoa2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc29ydFN0YXR1cyA9IHRoaXMuc29ydFN0YXR1cyAqIC0xO1xyXG4gICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSB0aGlzLnRlbXBsYXRlU2VydmljZS5zb3J0QnlLZXkoXHJcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0LFxyXG4gICAgICBrZXksXHJcbiAgICAgIHRoaXMuc29ydFN0YXR1c1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0Q2F0ZWdvcnkoY2F0ZWdvcnk6IGFueSwgZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5wdXNoKGNhdGVnb3J5Py5pdGVtX2lkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5maWx0ZXIoXHJcbiAgICAgICAgKGlkOiBhbnkpID0+IGlkICE9PSBjYXRlZ29yeT8uaXRlbV9pZFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gWy4uLm5ldyBTZXQodGhpcy5zZWxlY3RlZENhdGVnb3J5KV07XHJcbiAgfVxyXG5cclxuICBvbkFwcGx5RmlsdGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICghZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gW107XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBzZWxlY3RlZFRlbXBsYXRlID1cclxuICAgICAgdGhpcy5jdXJyZW50VGFiID09PSAnVkNPTVBMWSdcclxuICAgICAgICA/IHRoaXMuZGVmYXVsdFRlbXBsYXRlc1xyXG4gICAgICAgIDogdGhpcy5jdXN0b21UZW1wbGF0ZXMgPz8gW107XHJcbiAgICBzZWxlY3RlZFRlbXBsYXRlID0gWy4uLm5ldyBTZXQoc2VsZWN0ZWRUZW1wbGF0ZSldO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBzZWxlY3RlZFRlbXBsYXRlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHNlbGVjdGVkVGVtcGxhdGUuZmlsdGVyKCh0ZW1wbGF0ZTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB0ZW1wbGF0ZT8uY2F0ZWdvcnlJZD8uc29tZSgoaWQ6IGFueSkgPT5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuaW5jbHVkZXMoaWQpXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0VGVtcGxhdGUodGVtcGxhdGU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRlbXBsYXRlID0gW3RlbXBsYXRlXTtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLm9uVGVtcGxhdGVTZWxlY3QuZW1pdCh0aGlzLnNlbGVjdGVkVGVtcGxhdGUpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLm9uVGVtcGxhdGVTZWxlY3QuZW1pdChbXSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZSA9IFtdO1xyXG4gIH1cclxuXHJcbiAgb25QcmV2aWV3KGRldGFpbHM6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRQcmV2aWV3RGF0YShkZXRhaWxzPy5faWQpO1xyXG4gICAgdGhpcy5wcmV2aWV3VGVtcGxhdGUgPSBkZXRhaWxzO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZVByZXZpZXcoKSB7XHJcbiAgICB0aGlzLmlzUHJldmlldyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2NEYXRhID0gbnVsbDtcclxuICAgIHRoaXMucHJldmlld1RlbXBsYXRlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldFByZXZpZXdEYXRhKHRlbXBsYXRlSWQ6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2V0VGVtcGxhdGVDb250ZW50KHRlbXBsYXRlSWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcclxuICAgICAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSByZXM7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRvY0RhdGEgPSByZXNwb25zZTtcclxuICAgICAgICB0aGlzLmlzUHJldmlldyA9IHRydWU7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3RcIlxyXG4gIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiXHJcbiAgW2NsYXNzLndpdGhQcmV2aWV3XT1cImlzUHJldmlld1wiXHJcbj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUHJldmlld1wiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgYSBUZW1wbGF0ZTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3QtYm9keVwiPlxyXG4gICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LXRhYiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW1iLTJcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVGFiKCdWQ09NUExZJylcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbGgtNFwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdWQ09NUExZJ1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgVkNPTVBMWSBURU1QTEFURVNcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVGFiKCdVU0VSX0NSRUFURUQnKVwiXHJcbiAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFRhYiA9PT0gJ1VTRVJfQ1JFQVRFRCdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIFVTRVItQ1JFQVRFRCBURU1QTEFURVNcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRlbXBsYXRlXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktdG9wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1lbmQgdngtbWItMlwiPlxyXG4gICAgICAgIDxjcy1tdWx0aS1zZWxlY3RcclxuICAgICAgICAgIChzZWFyY2hUZXh0KT1cInNlYXJjaENhdGVnb3J5ID0gJGV2ZW50XCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VsZWN0IENhdGVnb3J5J1wiXHJcbiAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRDYXRlZ29yeVwiXHJcbiAgICAgICAgICAoYXBwbHlGaWx0ZXIpPVwib25BcHBseUZpbHRlcigkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgIGxldCBlYWNoQ2F0ZWdvcnkgb2YgY2F0ZWdvcnlMaXN0XHJcbiAgICAgICAgICAgICAgICB8IFNlYXJjaEJ5S2V5cyA6IFsnbmFtZSddIDogc2VhcmNoQ2F0ZWdvcnlcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGNzLW11bHRpLXNlbGVjdC1vcHRpb25cclxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJlYWNoQ2F0ZWdvcnk/Lm5hbWVcIlxyXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJlYWNoQ2F0ZWdvcnk/Lml0ZW1faWRcIlxyXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwib25TZWxlY3RDYXRlZ29yeShlYWNoQ2F0ZWdvcnksICRldmVudClcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgZWFjaENhdGVnb3J5Py5uYW1lIH19XHJcbiAgICAgICAgICAgIDwvY3MtbXVsdGktc2VsZWN0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvY3MtbXVsdGktc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktaW5uZXIgdngtbWItMVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgdGVtcGxhdGVMaXN0XHJcbiAgICAgICAgICAgICAgICB8IFNlYXJjaEJ5S2V5c1xyXG4gICAgICAgICAgICAgICAgICA6IFsnbmFtZScsICdjYXRlZ29yeURldGFpbHMnXVxyXG4gICAgICAgICAgICAgICAgICA6IHNlYXJjaFRlbXBsYXRlIGFzIGFsbFRlbXBsYXRlXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxhcHAtdGVtcGxhdGUtbGlzdC10YWJsZVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWxsVGVtcGxhdGUubGVuZ3RoXCJcclxuICAgICAgICAgICAgICBbdGVtcGxhdGVMaXN0XT1cImFsbFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbbG9hZGVyXT1cImxvYWRlclwiXHJcbiAgICAgICAgICAgICAgW2NhdGVnb3J5TGlzdF09XCJjYXRlZ29yeUxpc3RcIlxyXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFRlbXBsYXRlXT1cInNlbGVjdGVkVGVtcGxhdGVbMF1cIlxyXG4gICAgICAgICAgICAgIChvblNvcnQpPVwic29ydEJ5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblNlbGVjdFRlbXBsYXRlKT1cIm9uU2VsZWN0VGVtcGxhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uUHJldmlldyk9XCJvblByZXZpZXcoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2FwcC10ZW1wbGF0ZS1saXN0LXRhYmxlPlxyXG4gICAgICAgICAgICA8YXBwLW5vLWRhdGFcclxuICAgICAgICAgICAgICAqbmdJZj1cIiFhbGxUZW1wbGF0ZT8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiTk9fREFUQV9GT1VORF9JTUFHRVwiXHJcbiAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiTk9fREFUQV9GT1VORF9NRVNTQUdFXCJcclxuICAgICAgICAgICAgPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiXHJcbiAgICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCJcclxuICAgICAgICBbaXNEaXNhYmxlZF09XCJzZWxlY3RlZFRlbXBsYXRlPy5sZW5ndGggPT09IDBcIlxyXG4gICAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRUZW1wbGF0ZVwiXHJcbiAgICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIiduYW1lJ1wiXHJcbiAgICAgICAgW3Npbmd1bGFyVGV4dF09XCInVGVtcGxhdGUgU2VsZWN0ZWQnXCJcclxuICAgICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUHJldmlld1wiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC00IHZ4LXByLTRcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VQcmV2aWV3KClcIlxyXG4gICAgICAgIGNsYXNzPVwicHJldmlld0J0biB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LW1yLTFcIj4mI3hlOTFkOzwvaT5QcmV2aWV3XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ0ZW1wbGF0ZS1uYW1lIHZ4LWZzLTE0IHZ4LW1sLTFcIlxyXG4gICAgICAgIFthcHBUb29sdGlwXT1cInByZXZpZXdUZW1wbGF0ZT8ubmFtZVwiXHJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBwcmV2aWV3VGVtcGxhdGU/Lm5hbWUgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LXRlbXBsYXRlLWJvZHkgdngtZC1mbGV4IHZ4LWp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRlclwiIGNsYXNzPVwicHJldmlldy10ZW1wbGF0ZS1ib2R5LWlubmVyXCI+XHJcbiAgICAgICAgPGFwcC12aWV3LXBvbGljeSAjdmlld19wb2xpY3kgW2NvbnRlbnRzXT1cImRvY0RhdGFcIj4gPC9hcHAtdmlldy1wb2xpY3k+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,67 +0,0 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
- import { Injectable, Optional } from '@angular/core';
3
- import { APIs } from '../../../constants/template.constant';
4
- import { map } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- import * as i2 from "@vcomply/authorizer";
8
- import * as i3 from "../../../configurations";
9
- export class TemplateService {
10
- constructor(http, authService, config) {
11
- this.http = http;
12
- this.authService = authService;
13
- this.tokenDetails = '';
14
- this.env = config?.envConfig;
15
- this.tokenDetails = this.authService.getToken();
16
- }
17
- sortByKey(array, key, order = 1) {
18
- return array.sort((a, b) => {
19
- const comparison = a[key] > b[key] ? 1 : a[key] < b[key] ? -1 : 0;
20
- return order === 1 ? comparison : -comparison;
21
- });
22
- }
23
- get headerToken() {
24
- return new HttpHeaders().set('token', this.tokenDetails);
25
- }
26
- fetchTemplates(payload) {
27
- const headers = this.headerToken;
28
- return this.http.post(this.env.policyPost + APIs.fetchTemplates, payload, {
29
- headers,
30
- });
31
- }
32
- fetchDefaultCategories() {
33
- const headers = this.headerToken;
34
- return this.http
35
- .get(this.env.policyGet + APIs.default_categories, {
36
- headers,
37
- })
38
- .pipe(map((res) => {
39
- return res.map((category) => {
40
- return {
41
- item_id: category.categoryId,
42
- item_name: category.name,
43
- parent_item_ids: [],
44
- parent_items: [],
45
- name: category.name,
46
- };
47
- });
48
- }));
49
- }
50
- getTemplateContent(id, type = '') {
51
- return this.http.get(this.env.nodeDomain +
52
- APIs.fetch_content +
53
- id +
54
- (type ? `&type=${type}` : ''));
55
- }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateService, deps: [{ token: i1.HttpClient }, { token: i2.AuthorizerService }, { token: i3.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
57
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateService, providedIn: 'root' }); }
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateService, decorators: [{
60
- type: Injectable,
61
- args: [{
62
- providedIn: 'root',
63
- }]
64
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthorizerService }, { type: i3.Configurations, decorators: [{
65
- type: Optional
66
- }] }]; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcG9saWN5LXRlbXBsYXRlL3NlcnZpY2VzL3RlbXBsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXJELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7OztBQUt2QyxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLElBQWdCLEVBQ2hCLFdBQThCLEVBQzFCLE1BQXVCO1FBRjNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBSmhDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBT2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxFQUFFLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFZLEVBQUUsR0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDO1FBQ25ELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEUsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQVk7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFO1lBQ3hFLE9BQU87U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDakQsT0FBTztTQUNSLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDZixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtnQkFDL0IsT0FBTztvQkFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVU7b0JBQzVCLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSTtvQkFDeEIsZUFBZSxFQUFFLEVBQUU7b0JBQ25CLFlBQVksRUFBRSxFQUFFO29CQUNoQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7aUJBQ3BCLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU0sa0JBQWtCLENBQUMsRUFBVSxFQUFFLE9BQWUsRUFBRTtRQUNyRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVU7WUFDakIsSUFBSSxDQUFDLGFBQWE7WUFDbEIsRUFBRTtZQUNGLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDaEMsQ0FBQztJQUNKLENBQUM7K0dBM0RVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aG9yaXplclNlcnZpY2UgfSBmcm9tICdAdmNvbXBseS9hdXRob3JpemVyJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IEFQSXMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvdGVtcGxhdGUuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVNlcnZpY2Uge1xyXG4gIGVudjogYW55O1xyXG4gIHByaXZhdGUgdG9rZW5EZXRhaWxzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRob3JpemVyU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXHJcbiAgKSB7XHJcbiAgICB0aGlzLmVudiA9IGNvbmZpZz8uZW52Q29uZmlnO1xyXG4gICAgdGhpcy50b2tlbkRldGFpbHMgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc29ydEJ5S2V5KGFycmF5OiBhbnlbXSwga2V5OiBzdHJpbmcsIG9yZGVyID0gMSkge1xyXG4gICAgcmV0dXJuIGFycmF5LnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgY29uc3QgY29tcGFyaXNvbiA9IGFba2V5XSA+IGJba2V5XSA/IDEgOiBhW2tleV0gPCBiW2tleV0gPyAtMSA6IDA7XHJcbiAgICAgIHJldHVybiBvcmRlciA9PT0gMSA/IGNvbXBhcmlzb24gOiAtY29tcGFyaXNvbjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhlYWRlclRva2VuKCkge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLnRva2VuRGV0YWlscyk7XHJcbiAgfVxyXG5cclxuICBmZXRjaFRlbXBsYXRlcyhwYXlsb2FkOiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmhlYWRlclRva2VuO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LnBvbGljeVBvc3QgKyBBUElzLmZldGNoVGVtcGxhdGVzLCBwYXlsb2FkLCB7XHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZldGNoRGVmYXVsdENhdGVnb3JpZXMoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJUb2tlbjtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldCh0aGlzLmVudi5wb2xpY3lHZXQgKyBBUElzLmRlZmF1bHRfY2F0ZWdvcmllcywge1xyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXMubWFwKChjYXRlZ29yeTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgaXRlbV9pZDogY2F0ZWdvcnkuY2F0ZWdvcnlJZCxcclxuICAgICAgICAgICAgICBpdGVtX25hbWU6IGNhdGVnb3J5Lm5hbWUsXHJcbiAgICAgICAgICAgICAgcGFyZW50X2l0ZW1faWRzOiBbXSxcclxuICAgICAgICAgICAgICBwYXJlbnRfaXRlbXM6IFtdLFxyXG4gICAgICAgICAgICAgIG5hbWU6IGNhdGVnb3J5Lm5hbWUsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRlbXBsYXRlQ29udGVudChpZDogc3RyaW5nLCB0eXBlOiBzdHJpbmcgPSAnJyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgdGhpcy5lbnYubm9kZURvbWFpbiArXHJcbiAgICAgICAgQVBJcy5mZXRjaF9jb250ZW50ICtcclxuICAgICAgICBpZCArXHJcbiAgICAgICAgKHR5cGUgPyBgJnR5cGU9JHt0eXBlfWAgOiAnJylcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../../../ui-kit/tooltip/tooltip.directive";
5
- import * as i3 from "../../../ui-kit/popover/popover.component";
6
- import * as i4 from "../../../ui-kit/popover/popover.directive";
7
- import * as i5 from "../../../formgroup/cs-radio/cs-radio.component";
8
- export class TemplateListTableComponent {
9
- constructor() {
10
- this.templateList = [];
11
- this.loader = false;
12
- this.categoryList = [];
13
- this.onSort = new EventEmitter();
14
- this.onSelectTemplate = new EventEmitter();
15
- this.onPreview = new EventEmitter();
16
- }
17
- onSelect(template) {
18
- this.selectedTemplate = template;
19
- this.onSelectTemplate.emit(template);
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateListTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TemplateListTableComponent, selector: "app-template-list-table", inputs: { selectedTemplate: "selectedTemplate", templateList: "templateList", loader: "loader", categoryList: "categoryList" }, outputs: { onSort: "onSort", onSelectTemplate: "onSelectTemplate", onPreview: "onPreview" }, ngImport: i0, template: "<div class=\"template-list-table\">\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center template-name\"\r\n >\r\n <span\r\n (click)=\"onSort.emit('name')\"\r\n class=\"sorting vx-fs-9 vx-txt-blue vx-mr-1\"\r\n ><i class=\"icons\">&#xeaf0;</i></span\r\n >\r\n TEMPLATE NAME\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center category\"\r\n >\r\n <!-- <span class=\"sorting vx-fs-9 vx-txt-blue vx-mr-1\"\r\n ><i class=\"icons\">&#xeaf0;</i></span\r\n > -->\r\n CATEGORIES\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center view-action\"\r\n ></div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div\r\n class=\"table-row\"\r\n *ngFor=\"let eachTemplate of templateList; let i = index\"\r\n [class.active]=\"selectedTemplate?._id === eachTemplate?._id\"\r\n >\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"i + 1\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ i + 1 }}\r\n </div>\r\n <app-cs-radio\r\n name=\"template\"\r\n [value]=\"selectedTemplate?._id\"\r\n [checked]=\"selectedTemplate?._id === eachTemplate?._id\"\r\n (checkedEvent)=\"onSelect(eachTemplate)\"\r\n ></app-cs-radio>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center template-name\"\r\n >\r\n <div\r\n class=\"value vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"eachTemplate?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ eachTemplate?.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center category\"\r\n *ngIf=\"eachTemplate?.categoryDetails as categoryDetails\"\r\n >\r\n <div class=\"category-inner\">\r\n <div class=\"category-name vx-fs-12 vx-lh-4\">\r\n {{ categoryDetails[0]?.item_name }}\r\n </div>\r\n <div\r\n *ngIf=\"categoryDetails[0]?.parent_items?.length\"\r\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\r\n >\r\n <span\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n >Within</span\r\n >\r\n <span\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"categoryDetails[0]?.parent_items?.join(' < ')\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ categoryDetails[0]?.parent_items?.join(\" < \") }}</span\r\n >\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"categoryDetails?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-600 vx-txt-blue vx-pl-1 vx-pr-1 vx-m-0 vx-ml-1 vx-d-flex vx-align-center vx-justify-center\"\r\n appPopover\r\n (click)=\"MoreCategory.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ categoryDetails?.length - 1 }}\r\n </button>\r\n\r\n <app-popover #MoreCategory>\r\n <div class=\"wf-action-list category-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let eachTemplate of categoryDetails | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-w-100\">\r\n <span\r\n class=\"value vx-p-0 vx-w-100\"\r\n [appTooltip]=\"eachTemplate?.item_name\"\r\n placement=\"bottom-left\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ eachTemplate?.item_name }}</span\r\n >\r\n <div\r\n *ngIf=\"eachTemplate?.parent_items?.length\"\r\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\r\n >\r\n <span\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n >Within</span\r\n >\r\n <span\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"eachTemplate?.parent_items?.join(' < ')\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ eachTemplate?.parent_items?.join(\" < \") }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center view-action\"\r\n >\r\n <button\r\n class=\"previewBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-lh-6\"\r\n (click)=\"onPreview.emit(eachTemplate)\"\r\n >\r\n PREVIEW\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .template-list-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .template-list-table .table-header .table-column{color:#747576!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .template-list-table .table-body{position:relative}::ng-deep .template-list-table .table-body .table-row{background:#fff;border-radius:4px;border:1px solid #e3e3e9;transition:all .2s ease-in-out;margin-bottom:.25rem}::ng-deep .template-list-table .table-body .table-row:hover{background:#f8f8f8;transition:all .2s ease-in-out}::ng-deep .template-list-table .table-body .table-row:hover .table-column.serial app-cs-radio{opacity:1}::ng-deep .template-list-table .table-body .table-row:hover .table-column.view-action button.previewBtn{opacity:1}::ng-deep .template-list-table .table-body .table-row.active .table-column.serial app-cs-radio{opacity:1}::ng-deep .template-list-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .template-list-table .table-row .table-column{color:#000;min-height:2.5rem;position:relative;width:100%}::ng-deep .template-list-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .template-list-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .template-list-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .template-list-table .table-row .table-column.serial{width:2rem;max-width:2rem;flex:0 0 2rem;justify-content:center}::ng-deep .template-list-table .table-row .table-column.serial .sr-no{width:1rem;background:#f2f2f5;writing-mode:vertical-lr;color:#787a8c;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .template-list-table .table-row .table-column.serial app-cs-radio{position:absolute;top:12px;left:8px;opacity:0;transition:all .2s ease-in-out}::ng-deep .template-list-table .table-row .table-column.template-name{width:calc(100% - 25rem);min-width:calc(100% - 25rem)}::ng-deep .template-list-table .table-row .table-column.template-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 3rem)}::ng-deep .template-list-table .table-row .table-column.category{width:18rem;min-width:18rem}::ng-deep .template-list-table .table-row .table-column.category .category-inner{max-width:calc(100% - 3rem)}::ng-deep .template-list-table .table-row .table-column.category .category-inner .category-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .template-list-table .table-row .table-column.category button.countBtn{background:#fff;border-radius:1.25rem;border:1px solid #cdced6;height:1rem;min-width:1.5rem}::ng-deep .template-list-table .table-row .table-column.view-action{width:5rem;min-width:5rem}::ng-deep .template-list-table .table-row .table-column.view-action button.previewBtn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;height:1.25rem;transition:all .2s ease-in-out;opacity:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "component", type: i5.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateListTableComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'app-template-list-table', template: "<div class=\"template-list-table\">\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center template-name\"\r\n >\r\n <span\r\n (click)=\"onSort.emit('name')\"\r\n class=\"sorting vx-fs-9 vx-txt-blue vx-mr-1\"\r\n ><i class=\"icons\">&#xeaf0;</i></span\r\n >\r\n TEMPLATE NAME\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center category\"\r\n >\r\n <!-- <span class=\"sorting vx-fs-9 vx-txt-blue vx-mr-1\"\r\n ><i class=\"icons\">&#xeaf0;</i></span\r\n > -->\r\n CATEGORIES\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center view-action\"\r\n ></div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div\r\n class=\"table-row\"\r\n *ngFor=\"let eachTemplate of templateList; let i = index\"\r\n [class.active]=\"selectedTemplate?._id === eachTemplate?._id\"\r\n >\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"i + 1\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ i + 1 }}\r\n </div>\r\n <app-cs-radio\r\n name=\"template\"\r\n [value]=\"selectedTemplate?._id\"\r\n [checked]=\"selectedTemplate?._id === eachTemplate?._id\"\r\n (checkedEvent)=\"onSelect(eachTemplate)\"\r\n ></app-cs-radio>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center template-name\"\r\n >\r\n <div\r\n class=\"value vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"eachTemplate?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ eachTemplate?.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center category\"\r\n *ngIf=\"eachTemplate?.categoryDetails as categoryDetails\"\r\n >\r\n <div class=\"category-inner\">\r\n <div class=\"category-name vx-fs-12 vx-lh-4\">\r\n {{ categoryDetails[0]?.item_name }}\r\n </div>\r\n <div\r\n *ngIf=\"categoryDetails[0]?.parent_items?.length\"\r\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\r\n >\r\n <span\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n >Within</span\r\n >\r\n <span\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"categoryDetails[0]?.parent_items?.join(' < ')\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ categoryDetails[0]?.parent_items?.join(\" < \") }}</span\r\n >\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"categoryDetails?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-600 vx-txt-blue vx-pl-1 vx-pr-1 vx-m-0 vx-ml-1 vx-d-flex vx-align-center vx-justify-center\"\r\n appPopover\r\n (click)=\"MoreCategory.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ categoryDetails?.length - 1 }}\r\n </button>\r\n\r\n <app-popover #MoreCategory>\r\n <div class=\"wf-action-list category-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let eachTemplate of categoryDetails | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-w-100\">\r\n <span\r\n class=\"value vx-p-0 vx-w-100\"\r\n [appTooltip]=\"eachTemplate?.item_name\"\r\n placement=\"bottom-left\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ eachTemplate?.item_name }}</span\r\n >\r\n <div\r\n *ngIf=\"eachTemplate?.parent_items?.length\"\r\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\r\n >\r\n <span\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n >Within</span\r\n >\r\n <span\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"eachTemplate?.parent_items?.join(' < ')\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ eachTemplate?.parent_items?.join(\" < \") }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center view-action\"\r\n >\r\n <button\r\n class=\"previewBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-lh-6\"\r\n (click)=\"onPreview.emit(eachTemplate)\"\r\n >\r\n PREVIEW\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .template-list-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .template-list-table .table-header .table-column{color:#747576!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .template-list-table .table-body{position:relative}::ng-deep .template-list-table .table-body .table-row{background:#fff;border-radius:4px;border:1px solid #e3e3e9;transition:all .2s ease-in-out;margin-bottom:.25rem}::ng-deep .template-list-table .table-body .table-row:hover{background:#f8f8f8;transition:all .2s ease-in-out}::ng-deep .template-list-table .table-body .table-row:hover .table-column.serial app-cs-radio{opacity:1}::ng-deep .template-list-table .table-body .table-row:hover .table-column.view-action button.previewBtn{opacity:1}::ng-deep .template-list-table .table-body .table-row.active .table-column.serial app-cs-radio{opacity:1}::ng-deep .template-list-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .template-list-table .table-row .table-column{color:#000;min-height:2.5rem;position:relative;width:100%}::ng-deep .template-list-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .template-list-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .template-list-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .template-list-table .table-row .table-column.serial{width:2rem;max-width:2rem;flex:0 0 2rem;justify-content:center}::ng-deep .template-list-table .table-row .table-column.serial .sr-no{width:1rem;background:#f2f2f5;writing-mode:vertical-lr;color:#787a8c;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .template-list-table .table-row .table-column.serial app-cs-radio{position:absolute;top:12px;left:8px;opacity:0;transition:all .2s ease-in-out}::ng-deep .template-list-table .table-row .table-column.template-name{width:calc(100% - 25rem);min-width:calc(100% - 25rem)}::ng-deep .template-list-table .table-row .table-column.template-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 3rem)}::ng-deep .template-list-table .table-row .table-column.category{width:18rem;min-width:18rem}::ng-deep .template-list-table .table-row .table-column.category .category-inner{max-width:calc(100% - 3rem)}::ng-deep .template-list-table .table-row .table-column.category .category-inner .category-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .template-list-table .table-row .table-column.category button.countBtn{background:#fff;border-radius:1.25rem;border:1px solid #cdced6;height:1rem;min-width:1.5rem}::ng-deep .template-list-table .table-row .table-column.view-action{width:5rem;min-width:5rem}::ng-deep .template-list-table .table-row .table-column.view-action button.previewBtn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;height:1.25rem;transition:all .2s ease-in-out;opacity:0}\n"] }]
27
- }], propDecorators: { selectedTemplate: [{
28
- type: Input
29
- }], templateList: [{
30
- type: Input
31
- }], loader: [{
32
- type: Input
33
- }], categoryList: [{
34
- type: Input
35
- }], onSort: [{
36
- type: Output
37
- }], onSelectTemplate: [{
38
- type: Output
39
- }], onPreview: [{
40
- type: Output
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbGlzdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS10ZW1wbGF0ZS90ZW1wbGF0ZS1saXN0LXRhYmxlL3RlbXBsYXRlLWxpc3QtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvdGVtcGxhdGUtbGlzdC10YWJsZS90ZW1wbGF0ZS1saXN0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFPdkUsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQU9XLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFDeEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMzQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQU0vQztJQUpDLFFBQVEsQ0FBQyxRQUFhO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQVpVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDRSQ1B2Qyxnck1BaUtBOzs0RkQxSmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFLMUIsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRlbXBsYXRlLWxpc3QtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1saXN0LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZW1wbGF0ZS1saXN0LXRhYmxlLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUxpc3RUYWJsZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRUZW1wbGF0ZTogYW55O1xyXG4gIEBJbnB1dCgpIHRlbXBsYXRlTGlzdDogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XHJcbiAgQE91dHB1dCgpIG9uU29ydCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdFRlbXBsYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uUHJldmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBvblNlbGVjdCh0ZW1wbGF0ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgIHRoaXMub25TZWxlY3RUZW1wbGF0ZS5lbWl0KHRlbXBsYXRlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRlbXBsYXRlLWxpc3QtdGFibGVcIj5cclxuICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcclxuICAgICAgPlxyXG4gICAgICAgICNcclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdGVtcGxhdGUtbmFtZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU29ydC5lbWl0KCduYW1lJylcIlxyXG4gICAgICAgICAgY2xhc3M9XCJzb3J0aW5nIHZ4LWZzLTkgdngtdHh0LWJsdWUgdngtbXItMVwiXHJcbiAgICAgICAgICA+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGVhZjA7PC9pPjwvc3BhblxyXG4gICAgICAgID5cclxuICAgICAgICBURU1QTEFURSBOQU1FXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3J5XCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJzb3J0aW5nIHZ4LWZzLTkgdngtdHh0LWJsdWUgdngtbXItMVwiXHJcbiAgICAgICAgICA+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGVhZjA7PC9pPjwvc3BhblxyXG4gICAgICAgID4gLS0+XHJcbiAgICAgICAgQ0FURUdPUklFU1xyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2aWV3LWFjdGlvblwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcclxuICAgICAgKm5nRm9yPVwibGV0IGVhY2hUZW1wbGF0ZSBvZiB0ZW1wbGF0ZUxpc3Q7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkVGVtcGxhdGU/Ll9pZCA9PT0gZWFjaFRlbXBsYXRlPy5faWRcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwic3Itbm9cIlxyXG4gICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaSArIDFcIlxyXG4gICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgaSArIDEgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLWNzLXJhZGlvXHJcbiAgICAgICAgICBuYW1lPVwidGVtcGxhdGVcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkVGVtcGxhdGU/Ll9pZFwiXHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZFRlbXBsYXRlPy5faWQgPT09IGVhY2hUZW1wbGF0ZT8uX2lkXCJcclxuICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwib25TZWxlY3QoZWFjaFRlbXBsYXRlKVwiXHJcbiAgICAgICAgPjwvYXBwLWNzLXJhZGlvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHRlbXBsYXRlLW5hbWVcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xMiB2eC1sYWJlbC10eHRcIlxyXG4gICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZWFjaFRlbXBsYXRlPy5uYW1lXCJcclxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IGVhY2hUZW1wbGF0ZT8ubmFtZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3J5XCJcclxuICAgICAgICAqbmdJZj1cImVhY2hUZW1wbGF0ZT8uY2F0ZWdvcnlEZXRhaWxzIGFzIGNhdGVnb3J5RGV0YWlsc1wiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktaW5uZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1uYW1lIHZ4LWZzLTEyIHZ4LWxoLTRcIj5cclxuICAgICAgICAgICAge3sgY2F0ZWdvcnlEZXRhaWxzWzBdPy5pdGVtX25hbWUgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cImNhdGVnb3J5RGV0YWlsc1swXT8ucGFyZW50X2l0ZW1zPy5sZW5ndGhcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcclxuICAgICAgICAgICAgICA+V2l0aGluPC9zcGFuXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcclxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJjYXRlZ29yeURldGFpbHNbMF0/LnBhcmVudF9pdGVtcz8uam9pbignIDwgJylcIlxyXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgID57eyBjYXRlZ29yeURldGFpbHNbMF0/LnBhcmVudF9pdGVtcz8uam9pbihcIiA8IFwiKSB9fTwvc3BhblxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cImNhdGVnb3J5RGV0YWlscz8ubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgICBjbGFzcz1cImNvdW50QnRuIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR4dC1ibHVlIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtbWwtMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAgIChjbGljayk9XCJNb3JlQ2F0ZWdvcnkucG9wb3ZlcigpXCJcclxuICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAre3sgY2F0ZWdvcnlEZXRhaWxzPy5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDxhcHAtcG9wb3ZlciAjTW9yZUNhdGVnb3J5PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0IGNhdGVnb3J5LWxpc3RcIj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVhY2hUZW1wbGF0ZSBvZiBjYXRlZ29yeURldGFpbHMgfCBzbGljZSA6IDFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZSB2eC1wLTAgdngtdy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZWFjaFRlbXBsYXRlPy5pdGVtX25hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+e3sgZWFjaFRlbXBsYXRlPy5pdGVtX25hbWUgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJlYWNoVGVtcGxhdGU/LnBhcmVudF9pdGVtcz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+V2l0aGluPC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZWFjaFRlbXBsYXRlPy5wYXJlbnRfaXRlbXM/LmpvaW4oJyA8ICcpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID57eyBlYWNoVGVtcGxhdGU/LnBhcmVudF9pdGVtcz8uam9pbihcIiA8IFwiKSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2FwcC1wb3BvdmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZpZXctYWN0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIGNsYXNzPVwicHJldmlld0J0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbGgtNlwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25QcmV2aWV3LmVtaXQoZWFjaFRlbXBsYXRlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgUFJFVklFV1xyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,19 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class GetTemplateCategoryPipe {
4
- transform(value, list) {
5
- if (value.length === 0 || list.length === 0) {
6
- return [];
7
- }
8
- return list.filter((item) => value.includes(item.item_id));
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetTemplateCategoryPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GetTemplateCategoryPipe, name: "getTemplateCategory" }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetTemplateCategoryPipe, decorators: [{
14
- type: Pipe,
15
- args: [{
16
- name: 'getTemplateCategory',
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLWNhdGVnb3J5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS10ZW1wbGF0ZS90ZW1wbGF0ZS1waXBlcy9nZXQtdGVtcGxhdGUtY2F0ZWdvcnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxTQUFTLENBQUMsS0FBZSxFQUFFLElBQVc7UUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMzQyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7K0dBTlUsdUJBQXVCOzZHQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSG5DLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHFCQUFxQjtpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2dldFRlbXBsYXRlQ2F0ZWdvcnknLFxufSlcbmV4cG9ydCBjbGFzcyBHZXRUZW1wbGF0ZUNhdGVnb3J5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlcltdLCBsaXN0OiBhbnlbXSk6IGFueSB7XG4gICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMCB8fCBsaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gbGlzdC5maWx0ZXIoKGl0ZW0pID0+IHZhbHVlLmluY2x1ZGVzKGl0ZW0uaXRlbV9pZCkpO1xuICB9XG59XG4iXX0=
@@ -1,59 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @Pipe SearchByKeys
5
- *
6
- * A custom Angular pipe that filters an array of objects based on a search value and specified keys.
7
- *
8
- * @example
9
- * <div *ngFor="let item of items | SearchByKeys: ['name', 'description']: searchValue">
10
- * {{ item.name }}
11
- * </div>
12
- *
13
- * @class
14
- * @implements {PipeTransform}
15
- */
16
- /**
17
- * Transforms an array of objects by filtering them based on the provided keys and search value.
18
- *
19
- * @param {any[]} items - The array of objects to be filtered.
20
- * @param {string[]} keys - The keys of the objects to be searched.
21
- * @param {string} value - The search value to filter the objects.
22
- * @returns {any[]} - The filtered array of objects.
23
- */
24
- /**
25
- * Searches within an object for a value.
26
- *
27
- * @private
28
- * @param {any} obj - The object to search within.
29
- * @param {string} value - The search value.
30
- * @returns {boolean} - True if the value is found within the object, otherwise false.
31
- */
32
- export class SearchByKeysPipe {
33
- transform(items, keys, value) {
34
- if (!items || !keys || !value) {
35
- return items;
36
- }
37
- value = value.toLowerCase();
38
- return items.filter((item) => {
39
- return keys.some((key) => {
40
- if (Array.isArray(item[key])) {
41
- return item[key].some((subItem) => this.searchInObject(subItem, value));
42
- }
43
- return item[key]?.toString().toLowerCase().includes(value);
44
- });
45
- });
46
- }
47
- searchInObject(obj, value) {
48
- return Object.values(obj).some((val) => val?.toString().toLowerCase().includes(value));
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchByKeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
51
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SearchByKeysPipe, name: "SearchByKeys" }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchByKeysPipe, decorators: [{
54
- type: Pipe,
55
- args: [{
56
- name: 'SearchByKeys',
57
- }]
58
- }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRlbXBsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL3BvbGljeS10ZW1wbGF0ZS90ZW1wbGF0ZS1waXBlcy9zZWFyY2gtdGVtcGxhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7Ozs7Ozs7Ozs7OztHQVlHO0FBRUg7Ozs7Ozs7R0FPRztBQUVIOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsSUFBYyxFQUFFLEtBQWE7UUFDbkQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsS0FBSyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUM1QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FDcEMsQ0FBQztpQkFDSDtnQkFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsR0FBUSxFQUFFLEtBQWE7UUFDNUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3JDLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDOytHQXRCVSxnQkFBZ0I7NkdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFINUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQFBpcGUgU2VhcmNoQnlLZXlzXG4gKlxuICogQSBjdXN0b20gQW5ndWxhciBwaXBlIHRoYXQgZmlsdGVycyBhbiBhcnJheSBvZiBvYmplY3RzIGJhc2VkIG9uIGEgc2VhcmNoIHZhbHVlIGFuZCBzcGVjaWZpZWQga2V5cy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IFNlYXJjaEJ5S2V5czogWyduYW1lJywgJ2Rlc2NyaXB0aW9uJ106IHNlYXJjaFZhbHVlXCI+XG4gKiAgIHt7IGl0ZW0ubmFtZSB9fVxuICogPC9kaXY+XG4gKlxuICogQGNsYXNzXG4gKiBAaW1wbGVtZW50cyB7UGlwZVRyYW5zZm9ybX1cbiAqL1xuXG4vKipcbiAqIFRyYW5zZm9ybXMgYW4gYXJyYXkgb2Ygb2JqZWN0cyBieSBmaWx0ZXJpbmcgdGhlbSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQga2V5cyBhbmQgc2VhcmNoIHZhbHVlLlxuICpcbiAqIEBwYXJhbSB7YW55W119IGl0ZW1zIC0gVGhlIGFycmF5IG9mIG9iamVjdHMgdG8gYmUgZmlsdGVyZWQuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBrZXlzIC0gVGhlIGtleXMgb2YgdGhlIG9iamVjdHMgdG8gYmUgc2VhcmNoZWQuXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBUaGUgc2VhcmNoIHZhbHVlIHRvIGZpbHRlciB0aGUgb2JqZWN0cy5cbiAqIEByZXR1cm5zIHthbnlbXX0gLSBUaGUgZmlsdGVyZWQgYXJyYXkgb2Ygb2JqZWN0cy5cbiAqL1xuXG4vKipcbiAqIFNlYXJjaGVzIHdpdGhpbiBhbiBvYmplY3QgZm9yIGEgdmFsdWUuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7YW55fSBvYmogLSBUaGUgb2JqZWN0IHRvIHNlYXJjaCB3aXRoaW4uXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBUaGUgc2VhcmNoIHZhbHVlLlxuICogQHJldHVybnMge2Jvb2xlYW59IC0gVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgZm91bmQgd2l0aGluIHRoZSBvYmplY3QsIG90aGVyd2lzZSBmYWxzZS5cbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnU2VhcmNoQnlLZXlzJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQnlLZXlzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCBrZXlzOiBzdHJpbmdbXSwgdmFsdWU6IHN0cmluZyk6IGFueVtdIHtcbiAgICBpZiAoIWl0ZW1zIHx8ICFrZXlzIHx8ICF2YWx1ZSkge1xuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cbiAgICB2YWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIGtleXMuc29tZSgoa2V5KSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1ba2V5XSkpIHtcbiAgICAgICAgICByZXR1cm4gaXRlbVtrZXldLnNvbWUoKHN1Ykl0ZW06IGFueSkgPT5cbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5PYmplY3Qoc3ViSXRlbSwgdmFsdWUpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbVtrZXldPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsdWUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaEluT2JqZWN0KG9iajogYW55LCB2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMob2JqKS5zb21lKCh2YWwpID0+XG4gICAgICB2YWw/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2YWx1ZSlcbiAgICApO1xuICB9XG59XG4iXX0=