verben-authentication-ui 0.0.3 → 0.0.4

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 (43) hide show
  1. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +2 -0
  2. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +66 -0
  3. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +34 -0
  4. package/esm2022/lib/components/reset-password/reset-password.component.mjs +15 -8
  5. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +24 -0
  6. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +53 -0
  7. package/esm2022/lib/components/user-request-approval/helper.mjs +33 -0
  8. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +26 -0
  9. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +202 -0
  10. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +75 -0
  11. package/esm2022/lib/components/user-request-approval/user-request-form/user-request-form.component.mjs +54 -0
  12. package/esm2022/lib/models/ErrorResponse.mjs +11 -0
  13. package/esm2022/lib/models/base.mjs +2 -0
  14. package/esm2022/lib/models/object-state.mjs +8 -0
  15. package/esm2022/lib/models/user-access-request-status.mjs +7 -0
  16. package/esm2022/lib/models/user-access-request.mjs +2 -0
  17. package/esm2022/lib/models/user.mjs +2 -0
  18. package/esm2022/lib/services/environment.service.mjs +26 -0
  19. package/esm2022/lib/services/http-web-request.service.mjs +85 -0
  20. package/esm2022/public-api.mjs +7 -1
  21. package/fesm2022/verben-authentication-ui.mjs +687 -23
  22. package/fesm2022/verben-authentication-ui.mjs.map +1 -1
  23. package/lib/components/forgot-password/ForgotPasswordData.d.ts +3 -0
  24. package/lib/components/forgot-password/forgot-password.component.d.ts +21 -0
  25. package/lib/components/forgot-password/forgot-password.module.d.ts +10 -0
  26. package/lib/components/reset-password/reset-password.component.d.ts +5 -2
  27. package/lib/components/user-request-approval/access-request.columns.d.ts +3 -0
  28. package/lib/components/user-request-approval/base-table-style.d.ts +1 -0
  29. package/lib/components/user-request-approval/helper.d.ts +6 -0
  30. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +12 -0
  31. package/lib/components/user-request-approval/user-request-approval.component.d.ts +50 -0
  32. package/lib/components/user-request-approval/user-request-approval.module.d.ts +12 -0
  33. package/lib/components/user-request-approval/user-request-form/user-request-form.component.d.ts +20 -0
  34. package/lib/models/ErrorResponse.d.ts +6 -0
  35. package/lib/models/base.d.ts +10 -0
  36. package/lib/models/object-state.d.ts +6 -0
  37. package/lib/models/user-access-request-status.d.ts +5 -0
  38. package/lib/models/user-access-request.d.ts +7 -0
  39. package/lib/models/user.d.ts +18 -0
  40. package/lib/services/environment.service.d.ts +14 -0
  41. package/lib/services/http-web-request.service.d.ts +17 -0
  42. package/package.json +2 -2
  43. package/public-api.d.ts +6 -0
@@ -0,0 +1,202 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { columns } from './access-request.columns';
3
+ import { mockData } from './helper';
4
+ import { baseStyle } from './base-table-style';
5
+ import { DataFilterType, } from 'verben-ng-ui';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "verben-ng-ui";
9
+ import * as i3 from "./user-request-form/user-request-form.component";
10
+ import * as i4 from "./user-access-request-status-badge/user-access-request-status-badge.component";
11
+ export class UserRequestApprovalComponent {
12
+ cardDataView;
13
+ dataView;
14
+ columns = columns;
15
+ data = mockData;
16
+ styles = baseStyle;
17
+ currentData = null;
18
+ isGridView = true;
19
+ selected = null;
20
+ cardData = mockData.map(({ Name, MailAddress, PhoneNumber, RoleID, Status }) => ({
21
+ selected: false,
22
+ title: Name,
23
+ data: {
24
+ Name,
25
+ MailAddress,
26
+ PhoneNumber,
27
+ RoleID,
28
+ Status,
29
+ },
30
+ body: [
31
+ { title: 'Name', value: Name },
32
+ { title: 'E-Mail Address', value: MailAddress },
33
+ { title: 'Phone Number', value: PhoneNumber ?? '' },
34
+ ],
35
+ children: [],
36
+ }));
37
+ openDetailView(mailAddress) {
38
+ const cardItem = this.getCardDataByMailAddress(mailAddress);
39
+ if (cardItem && this.cardDataView) {
40
+ this.dataView.toggleView();
41
+ // First reset all selections
42
+ this.cardData.forEach((item) => {
43
+ item.selected = false;
44
+ if (item.children) {
45
+ item.children.forEach((child) => (child.selected = false));
46
+ }
47
+ });
48
+ // Set the selected item
49
+ cardItem.selected = true;
50
+ this.currentData = this.cardDataView.onItemClick(cardItem);
51
+ // Force change detection if needed
52
+ // this.changeDetectorRef.detectChanges();
53
+ }
54
+ }
55
+ getCardDataByMailAddress(mailAddress) {
56
+ return this.cardData.find(({ data }) => data.MailAddress === mailAddress);
57
+ }
58
+ onViewChange(isGridView) {
59
+ this.isGridView = isGridView;
60
+ // Reset selection when switching views
61
+ if (this.currentData) {
62
+ this.cardDataView?.clearData();
63
+ this.currentData = null;
64
+ }
65
+ console.log('SELECTED', this.selected);
66
+ if (this.selected) {
67
+ this.cardDataView.onItemClick(this.selected);
68
+ }
69
+ }
70
+ openFormView(index) {
71
+ const item = this.cardData[index];
72
+ console.log('ITEM = ', item);
73
+ }
74
+ handleExport(exportedData) {
75
+ console.log('Exported data:', exportedData);
76
+ this.downloadCSV(exportedData);
77
+ }
78
+ /**
79
+ *
80
+ * @param data Simple csv export for testing
81
+ */
82
+ downloadCSV(data) {
83
+ const headers = Object.keys(data[0]);
84
+ const csvContent = [
85
+ headers.join(','),
86
+ ...data.map((row) => headers.map((header) => row[header]).join(',')),
87
+ ].join('\n');
88
+ const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
89
+ const link = document.createElement('a');
90
+ if (link.download !== undefined) {
91
+ const url = URL.createObjectURL(blob);
92
+ link.setAttribute('href', url);
93
+ link.setAttribute('download', 'export.csv');
94
+ link.style.visibility = 'hidden';
95
+ document.body.appendChild(link);
96
+ link.click();
97
+ document.body.removeChild(link);
98
+ }
99
+ }
100
+ onSelectionChange(selectedRows) {
101
+ console.log('Selection changed:', selectedRows);
102
+ // Handle the selection change
103
+ }
104
+ /**
105
+ * Copied over from card view doc until I understand usage
106
+ */
107
+ selectedColumnCount = 0;
108
+ selectedFilterTableCount = 0;
109
+ isOPen = true;
110
+ selectedSortCount = 0;
111
+ showColumn = false;
112
+ showSort = false;
113
+ selectedAll = false;
114
+ visibleColumns = columns.map((col) => ({
115
+ checked: true,
116
+ name: typeof col.header === 'string' ? col.header : col.id,
117
+ type: DataFilterType.Bool,
118
+ }));
119
+ filterArray = [
120
+ {
121
+ name: 'Name',
122
+ type: DataFilterType.String,
123
+ checked: false,
124
+ },
125
+ {
126
+ name: 'MailAddress',
127
+ type: DataFilterType.String,
128
+ checked: false,
129
+ },
130
+ {
131
+ name: 'PhoneNumber',
132
+ type: DataFilterType.String,
133
+ checked: false,
134
+ },
135
+ {
136
+ name: 'CreatedAt',
137
+ type: DataFilterType.Date,
138
+ checked: false,
139
+ },
140
+ ];
141
+ sortOptions = [
142
+ {
143
+ name: 'Name',
144
+ type: DataFilterType.String,
145
+ checked: false,
146
+ },
147
+ {
148
+ name: 'MailAddress',
149
+ type: DataFilterType.String,
150
+ checked: false,
151
+ },
152
+ {
153
+ name: 'PhoneNumber',
154
+ type: DataFilterType.String,
155
+ checked: false,
156
+ },
157
+ {
158
+ name: 'CreatedAt',
159
+ type: DataFilterType.Date,
160
+ checked: false,
161
+ },
162
+ ];
163
+ clearData() {
164
+ this.currentData = {};
165
+ }
166
+ loadMore() {
167
+ this.cardData = this.cardData.concat(this.cardData);
168
+ }
169
+ onColumnChange(event) {
170
+ this.showColumn = event;
171
+ }
172
+ onSortChange(event) {
173
+ this.showSort = event;
174
+ console.log(event);
175
+ }
176
+ onColumnsUpdated(updatedColumns) {
177
+ console.log(updatedColumns);
178
+ this.onColumnChange(false);
179
+ this.selectedColumnCount = updatedColumns.length;
180
+ }
181
+ onSortUpdated(updatedSorts) {
182
+ this.onSortChange(false);
183
+ this.selectedSortCount = updatedSorts.length;
184
+ console.log(updatedSorts);
185
+ }
186
+ onStateChange(event) {
187
+ console.log(`State changed for ${event.key}:`, event.value);
188
+ }
189
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: UserRequestApprovalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
190
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: UserRequestApprovalComponent, selector: "lib-user-request-approval", viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }], ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div grid-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow let-rowIndex>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div list-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <verben-svg\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"vlcd.showChildren(item)\"\n [ngClass]=\"vlcd.showToggle(item) ? 'visible' : 'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\"\n [icon]=\"item.isChildrenExpanded ? 'minus' : 'plus'\"\n />\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex items-center gap-4\">\n <div class=\"space-y-1\">\n <span class=\"font-semibold text-[#404040]\">{{\n item.title\n }}</span>\n <p class=\"flex items-center\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"space-y-1\">\n <p class=\"grid\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Role</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\"\n >Manager</span\n >\n </p>\n <lib-user-access-request-status-badge\n [status]=\"item.data.Status\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n\n <!-- <div class=\"flex\">\n <span class=\"font-normal text-sm\">{{ item.title }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"\">\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black\">{{ ciItem.value }}</span>\n </div>\n } -->\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.DataTableComponent, selector: "lib-data-table", inputs: ["data", "columns", "styleConfig"], outputs: ["rowEdit", "rowSave", "rowDelete", "selectionChange"] }, { kind: "directive", type: i2.ColumnDirective, selector: "[libColumn]", inputs: ["libColumn"] }, { kind: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "size"] }, { kind: "component", type: i2.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "gridIcon", "listIcon", "viewState", "searchTemplate", "columnTemplate", "filterTemplate", "sortTemplate", "exportTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "showColumnChild", "showSortChild", "showFilterChild", "showExportChild", "create", "showSelected"], outputs: ["viewChange", "stateChange"] }, { kind: "component", type: i2.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "onItemClick", "onCardChildClick"], outputs: ["loadMoreClick"] }, { kind: "component", type: i2.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "dataId"] }, { kind: "component", type: i2.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i2.RightCardDataViewComponent, selector: "verben-right-card-data-view", inputs: ["parentData", "chilData", "meth"] }, { kind: "component", type: i2.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i2.SortTableComponent, selector: "verben-sort-table", inputs: ["enableDragAndDrop", "sortOptions", "resetText", "displayedOptions", "propertyText", "showMoreText", "sortButtonText", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "containerHeight"], outputs: ["selectedOptions"] }, { kind: "component", type: i2.VisibleColumnComponent, selector: "verben-visible-column", inputs: ["columns", "items", "enableDragAndDrop", "displayedColumns", "showMore", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth"], outputs: ["columnsUpdated"] }, { kind: "component", type: i2.TableFilterComponent, selector: "verben-table-filter", inputs: ["filterOptions", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "maxFilterLength", "tooltip"], outputs: ["filtersApplied"] }, { kind: "component", type: i2.DataExportComponent, selector: "lib-data-export", inputs: ["data"], outputs: ["exportDataEvent"] }, { kind: "component", type: i3.UserRequestFormComponent, selector: "lib-user-request-form", inputs: ["currentData"], outputs: ["switchView"] }, { kind: "component", type: i4.UserAccessRequestStatusBadgeComponent, selector: "lib-user-access-request-status-badge", inputs: ["status"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] });
191
+ }
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: UserRequestApprovalComponent, decorators: [{
193
+ type: Component,
194
+ args: [{ selector: 'lib-user-request-approval', template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div grid-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow let-rowIndex>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div list-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <verben-svg\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"vlcd.showChildren(item)\"\n [ngClass]=\"vlcd.showToggle(item) ? 'visible' : 'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\"\n [icon]=\"item.isChildrenExpanded ? 'minus' : 'plus'\"\n />\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex items-center gap-4\">\n <div class=\"space-y-1\">\n <span class=\"font-semibold text-[#404040]\">{{\n item.title\n }}</span>\n <p class=\"flex items-center\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"space-y-1\">\n <p class=\"grid\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Role</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\"\n >Manager</span\n >\n </p>\n <lib-user-access-request-status-badge\n [status]=\"item.data.Status\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n\n <!-- <div class=\"flex\">\n <span class=\"font-normal text-sm\">{{ item.title }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"\">\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black\">{{ ciItem.value }}</span>\n </div>\n } -->\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n</div>\n" }]
195
+ }], propDecorators: { cardDataView: [{
196
+ type: ViewChild,
197
+ args: ['vdcv']
198
+ }], dataView: [{
199
+ type: ViewChild,
200
+ args: ['vdv']
201
+ }] } });
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0LWFwcHJvdmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL3VzZXItcmVxdWVzdC1hcHByb3ZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC1hcHByb3ZhbC91c2VyLXJlcXVlc3QtYXBwcm92YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE9BQU8sRUFHTCxjQUFjLEdBR2YsTUFBTSxjQUFjLENBQUM7Ozs7OztBQWF0QixNQUFNLE9BQU8sNEJBQTRCO0lBQ3BCLFlBQVksQ0FBeUI7SUFDdEMsUUFBUSxDQUFxQjtJQUUvQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2xCLElBQUksR0FBRyxRQUFRLENBQUM7SUFDaEIsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNuQixXQUFXLEdBQW9CLElBQUksQ0FBQztJQUNwQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLFFBQVEsR0FBb0IsSUFBSSxDQUFDO0lBRWpDLFFBQVEsR0FBZSxRQUFRLENBQUMsR0FBRyxDQUNqQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELFFBQVEsRUFBRSxLQUFLO1FBQ2YsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUU7WUFDSixJQUFJO1lBQ0osV0FBVztZQUNYLFdBQVc7WUFDWCxNQUFNO1lBQ04sTUFBTTtTQUN1QjtRQUMvQixJQUFJLEVBQUU7WUFDSixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUM5QixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO1lBQy9DLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsV0FBVyxJQUFJLEVBQUUsRUFBRTtTQUNwRDtRQUNELFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQyxDQUNILENBQUM7SUFFRixjQUFjLENBQUMsV0FBbUI7UUFDaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVELElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzNCLDZCQUE2QjtZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsd0JBQXdCO1lBQ3hCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFM0QsbUNBQW1DO1lBQ25DLDBDQUEwQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLFdBQW1CO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxZQUFZLENBQUMsVUFBbUI7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsdUNBQXVDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBNEI7UUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxXQUFXLENBQUMsSUFBb0I7UUFDdEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRztZQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNqQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUViLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsWUFBaUM7UUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNoRCw4QkFBOEI7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CLEdBQVcsQ0FBQyxDQUFDO0lBQ2hDLHdCQUF3QixHQUFXLENBQUMsQ0FBQztJQUNyQyxNQUFNLEdBQVksSUFBSSxDQUFDO0lBQ3ZCLGlCQUFpQixHQUFXLENBQUMsQ0FBQztJQUM5QixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixjQUFjLEdBQWtCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEQsT0FBTyxFQUFFLElBQUk7UUFDYixJQUFJLEVBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDMUQsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO0tBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0osV0FBVyxHQUFrQjtRQUMzQjtZQUNFLElBQUksRUFBRSxNQUFNO1lBQ1osSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLO1NBQ2Y7UUFDRDtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSztTQUNmO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsYUFBYTtZQUNuQixJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUs7U0FDZjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3pCLE9BQU8sRUFBRSxLQUFLO1NBQ2Y7S0FDRixDQUFDO0lBRUYsV0FBVyxHQUFrQjtRQUMzQjtZQUNFLElBQUksRUFBRSxNQUFNO1lBQ1osSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLO1NBQ2Y7UUFDRDtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSztTQUNmO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsYUFBYTtZQUNuQixJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUs7U0FDZjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3pCLE9BQU8sRUFBRSxLQUFLO1NBQ2Y7S0FDRixDQUFDO0lBQ0YsU0FBUztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBYyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELGNBQWMsQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxZQUFZLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxjQUE2QjtRQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDbkQsQ0FBQztJQUNELGFBQWEsQ0FBQyxZQUEyQjtRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFzQztRQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7dUdBcE1VLDRCQUE0QjsyRkFBNUIsNEJBQTRCLHlQQ3hCekMsb2lRQWdPQTs7MkZEeE1hLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwyQkFBMkI7OEJBS2xCLFlBQVk7c0JBQTlCLFNBQVM7dUJBQUMsTUFBTTtnQkFDQyxRQUFRO3NCQUF6QixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29sdW1ucyB9IGZyb20gJy4vYWNjZXNzLXJlcXVlc3QuY29sdW1ucyc7XG5pbXBvcnQgeyBtb2NrRGF0YSB9IGZyb20gJy4vaGVscGVyJztcbmltcG9ydCB7IGJhc2VTdHlsZSB9IGZyb20gJy4vYmFzZS10YWJsZS1zdHlsZSc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdCB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWFjY2Vzcy1yZXF1ZXN0JztcbmltcG9ydCB7XG4gIENhcmREYXRhLFxuICBDYXJkRGF0YVZpZXdDb21wb25lbnQsXG4gIERhdGFGaWx0ZXJUeXBlLFxuICBEYXRhVmlld0NvbXBvbmVudCxcbiAgSURhdGFGaWx0ZXIsXG59IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5cbmludGVyZmFjZSBVc2VyRm9ybURhdGEge1xuICBNYWlsQWRkcmVzczogc3RyaW5nO1xuICBOYW1lOiBzdHJpbmc7XG4gIFBob25lTnVtYmVyOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLXJlcXVlc3QtYXBwcm92YWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1yZXF1ZXN0LWFwcHJvdmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VzZXItcmVxdWVzdC1hcHByb3ZhbC5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclJlcXVlc3RBcHByb3ZhbENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ3ZkY3YnKSBjYXJkRGF0YVZpZXchOiBDYXJkRGF0YVZpZXdDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3ZkdicpIGRhdGFWaWV3ITogRGF0YVZpZXdDb21wb25lbnQ7XG5cbiAgY29sdW1ucyA9IGNvbHVtbnM7XG4gIGRhdGEgPSBtb2NrRGF0YTtcbiAgc3R5bGVzID0gYmFzZVN0eWxlO1xuICBjdXJyZW50RGF0YTogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcbiAgaXNHcmlkVmlldyA9IHRydWU7XG4gIHNlbGVjdGVkOiBDYXJkRGF0YSB8IG51bGwgPSBudWxsO1xuXG4gIGNhcmREYXRhOiBDYXJkRGF0YVtdID0gbW9ja0RhdGEubWFwKFxuICAgICh7IE5hbWUsIE1haWxBZGRyZXNzLCBQaG9uZU51bWJlciwgUm9sZUlELCBTdGF0dXMgfSkgPT4gKHtcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIHRpdGxlOiBOYW1lLFxuICAgICAgZGF0YToge1xuICAgICAgICBOYW1lLFxuICAgICAgICBNYWlsQWRkcmVzcyxcbiAgICAgICAgUGhvbmVOdW1iZXIsXG4gICAgICAgIFJvbGVJRCxcbiAgICAgICAgU3RhdHVzLFxuICAgICAgfSBhcyBQYXJ0aWFsPFVzZXJBY2Nlc3NSZXF1ZXN0PixcbiAgICAgIGJvZHk6IFtcbiAgICAgICAgeyB0aXRsZTogJ05hbWUnLCB2YWx1ZTogTmFtZSB9LFxuICAgICAgICB7IHRpdGxlOiAnRS1NYWlsIEFkZHJlc3MnLCB2YWx1ZTogTWFpbEFkZHJlc3MgfSxcbiAgICAgICAgeyB0aXRsZTogJ1Bob25lIE51bWJlcicsIHZhbHVlOiBQaG9uZU51bWJlciA/PyAnJyB9LFxuICAgICAgXSxcbiAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICB9KVxuICApO1xuXG4gIG9wZW5EZXRhaWxWaWV3KG1haWxBZGRyZXNzOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjYXJkSXRlbSA9IHRoaXMuZ2V0Q2FyZERhdGFCeU1haWxBZGRyZXNzKG1haWxBZGRyZXNzKTtcbiAgICBpZiAoY2FyZEl0ZW0gJiYgdGhpcy5jYXJkRGF0YVZpZXcpIHtcbiAgICAgIHRoaXMuZGF0YVZpZXcudG9nZ2xlVmlldygpO1xuICAgICAgLy8gRmlyc3QgcmVzZXQgYWxsIHNlbGVjdGlvbnNcbiAgICAgIHRoaXMuY2FyZERhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gKGNoaWxkLnNlbGVjdGVkID0gZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNldCB0aGUgc2VsZWN0ZWQgaXRlbVxuICAgICAgY2FyZEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jdXJyZW50RGF0YSA9IHRoaXMuY2FyZERhdGFWaWV3Lm9uSXRlbUNsaWNrKGNhcmRJdGVtKTtcblxuICAgICAgLy8gRm9yY2UgY2hhbmdlIGRldGVjdGlvbiBpZiBuZWVkZWRcbiAgICAgIC8vIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGdldENhcmREYXRhQnlNYWlsQWRkcmVzcyhtYWlsQWRkcmVzczogc3RyaW5nKTogQ2FyZERhdGEgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhcmREYXRhLmZpbmQoKHsgZGF0YSB9KSA9PiBkYXRhLk1haWxBZGRyZXNzID09PSBtYWlsQWRkcmVzcyk7XG4gIH1cblxuICBvblZpZXdDaGFuZ2UoaXNHcmlkVmlldzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNHcmlkVmlldyA9IGlzR3JpZFZpZXc7XG4gICAgLy8gUmVzZXQgc2VsZWN0aW9uIHdoZW4gc3dpdGNoaW5nIHZpZXdzXG4gICAgaWYgKHRoaXMuY3VycmVudERhdGEpIHtcbiAgICAgIHRoaXMuY2FyZERhdGFWaWV3Py5jbGVhckRhdGEoKTtcbiAgICAgIHRoaXMuY3VycmVudERhdGEgPSBudWxsO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCdTRUxFQ1RFRCcsIHRoaXMuc2VsZWN0ZWQpO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2FyZERhdGFWaWV3Lm9uSXRlbUNsaWNrKHRoaXMuc2VsZWN0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Gb3JtVmlldyhpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuY2FyZERhdGFbaW5kZXhdO1xuICAgIGNvbnNvbGUubG9nKCdJVEVNID0gJywgaXRlbSk7XG4gIH1cblxuICBoYW5kbGVFeHBvcnQoZXhwb3J0ZWREYXRhOiBQYXJ0aWFsPGFueT5bXSkge1xuICAgIGNvbnNvbGUubG9nKCdFeHBvcnRlZCBkYXRhOicsIGV4cG9ydGVkRGF0YSk7XG4gICAgdGhpcy5kb3dubG9hZENTVihleHBvcnRlZERhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIFNpbXBsZSBjc3YgZXhwb3J0IGZvciB0ZXN0aW5nXG4gICAqL1xuICBwcml2YXRlIGRvd25sb2FkQ1NWKGRhdGE6IFBhcnRpYWw8YW55PltdKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IE9iamVjdC5rZXlzKGRhdGFbMF0pO1xuICAgIGNvbnN0IGNzdkNvbnRlbnQgPSBbXG4gICAgICBoZWFkZXJzLmpvaW4oJywnKSxcbiAgICAgIC4uLmRhdGEubWFwKChyb3cpID0+IGhlYWRlcnMubWFwKChoZWFkZXIpID0+IHJvd1toZWFkZXJdKS5qb2luKCcsJykpLFxuICAgIF0uam9pbignXFxuJyk7XG5cbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NzdkNvbnRlbnRdLCB7IHR5cGU6ICd0ZXh0L2NzdjtjaGFyc2V0PXV0Zi04OycgfSk7XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBpZiAobGluay5kb3dubG9hZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmwpO1xuICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgJ2V4cG9ydC5jc3YnKTtcbiAgICAgIGxpbmsuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgfVxuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0ZWRSb3dzOiBVc2VyQWNjZXNzUmVxdWVzdFtdKSB7XG4gICAgY29uc29sZS5sb2coJ1NlbGVjdGlvbiBjaGFuZ2VkOicsIHNlbGVjdGVkUm93cyk7XG4gICAgLy8gSGFuZGxlIHRoZSBzZWxlY3Rpb24gY2hhbmdlXG4gIH1cblxuICAvKipcbiAgICogQ29waWVkIG92ZXIgZnJvbSBjYXJkIHZpZXcgZG9jIHVudGlsIEkgdW5kZXJzdGFuZCB1c2FnZVxuICAgKi9cbiAgc2VsZWN0ZWRDb2x1bW5Db3VudDogbnVtYmVyID0gMDtcbiAgc2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50OiBudW1iZXIgPSAwO1xuICBpc09QZW46IGJvb2xlYW4gPSB0cnVlO1xuICBzZWxlY3RlZFNvcnRDb3VudDogbnVtYmVyID0gMDtcbiAgc2hvd0NvbHVtbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93U29ydDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZEFsbDogYm9vbGVhbiA9IGZhbHNlO1xuICB2aXNpYmxlQ29sdW1uczogSURhdGFGaWx0ZXJbXSA9IGNvbHVtbnMubWFwKChjb2wpID0+ICh7XG4gICAgY2hlY2tlZDogdHJ1ZSxcbiAgICBuYW1lOiB0eXBlb2YgY29sLmhlYWRlciA9PT0gJ3N0cmluZycgPyBjb2wuaGVhZGVyIDogY29sLmlkLFxuICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLkJvb2wsXG4gIH0pKTtcbiAgZmlsdGVyQXJyYXk6IElEYXRhRmlsdGVyW10gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnTWFpbEFkZHJlc3MnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnUGhvbmVOdW1iZXInLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuU3RyaW5nLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQ3JlYXRlZEF0JyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLkRhdGUsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICBdO1xuXG4gIHNvcnRPcHRpb25zOiBJRGF0YUZpbHRlcltdID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ01haWxBZGRyZXNzJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ1Bob25lTnVtYmVyJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0NyZWF0ZWRBdCcsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5EYXRlLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgXTtcbiAgY2xlYXJEYXRhKCkge1xuICAgIHRoaXMuY3VycmVudERhdGEgPSB7fSBhcyBDYXJkRGF0YTtcbiAgfVxuICBsb2FkTW9yZSgpIHtcbiAgICB0aGlzLmNhcmREYXRhID0gdGhpcy5jYXJkRGF0YS5jb25jYXQodGhpcy5jYXJkRGF0YSk7XG4gIH1cbiAgb25Db2x1bW5DaGFuZ2UoZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNob3dDb2x1bW4gPSBldmVudDtcbiAgfVxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNob3dTb3J0ID0gZXZlbnQ7XG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xuICB9XG4gIG9uQ29sdW1uc1VwZGF0ZWQodXBkYXRlZENvbHVtbnM6IElEYXRhRmlsdGVyW10pIHtcbiAgICBjb25zb2xlLmxvZyh1cGRhdGVkQ29sdW1ucyk7XG4gICAgdGhpcy5vbkNvbHVtbkNoYW5nZShmYWxzZSk7XG4gICAgdGhpcy5zZWxlY3RlZENvbHVtbkNvdW50ID0gdXBkYXRlZENvbHVtbnMubGVuZ3RoO1xuICB9XG4gIG9uU29ydFVwZGF0ZWQodXBkYXRlZFNvcnRzOiBJRGF0YUZpbHRlcltdKSB7XG4gICAgdGhpcy5vblNvcnRDaGFuZ2UoZmFsc2UpO1xuICAgIHRoaXMuc2VsZWN0ZWRTb3J0Q291bnQgPSB1cGRhdGVkU29ydHMubGVuZ3RoO1xuICAgIGNvbnNvbGUubG9nKHVwZGF0ZWRTb3J0cyk7XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKGV2ZW50OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coYFN0YXRlIGNoYW5nZWQgZm9yICR7ZXZlbnQua2V5fTpgLCBldmVudC52YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzcGFjZS15LThcIj5cbiAgPHZlcmJlbi1kYXRhLXZpZXdcbiAgICAjdmR2XG4gICAgW3ZpZXdTdGF0ZV09XCJ7XG4gICAgICBpc1NlYXJjaDogdHJ1ZSxcbiAgICAgIGlzQ29sdW1uOiB0cnVlLFxuICAgICAgaXNGaWx0ZXI6IHRydWUsXG4gICAgICBpc1NvcnQ6IHRydWUsXG4gICAgICBpc0V4cG9ydDogdHJ1ZSxcbiAgICAgIGlzU2VsZWN0OiB0cnVlLFxuICAgICAgaXNDcmVhdGU6IGZhbHNlXG4gICAgfVwiXG4gICAgW2J1dHRvbkNsYXNzXT1cIidteS1jdXN0b20tYnV0dG9uLWNsYXNzJ1wiXG4gICAgW2ljb25DbGFzc109XCInbXktaWNvbi1jbGFzcydcIlxuICAgIFthY3RpdmVJY29uQ2xhc3NdPVwiJ215LWFjdGl2ZS1pY29uLWNsYXNzJ1wiXG4gICAgW3NlbGVjdGVkQ29sdW1uQ291bnRdPVwiMFwiXG4gICAgW3NlbGVjdGVkU29ydENvdW50XT1cIjBcIlxuICAgIFtzZWxlY3RlZEZpbHRlclRhYmxlQ291bnRdPVwiMFwiXG4gICAgKHZpZXdDaGFuZ2UpPVwib25WaWV3Q2hhbmdlKCRldmVudClcIlxuICAgIChzdGF0ZUNoYW5nZSk9XCJvblN0YXRlQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPGRpdiBncmlkLWNvbnRlbnQ+XG4gICAgICA8bGliLWRhdGEtdGFibGVcbiAgICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICBbc3R5bGVDb25maWddPVwic3R5bGVzXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJjcmVhdGVkQXRcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlPlxuICAgICAgICAgICAge3sgdmFsdWUgfCBkYXRlIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwiYWN0aW9uc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtdmFsdWUgbGV0LWRlbGV0ZVJvdyBsZXQtcm93SW5kZXg+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtNlwiPlxuICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRGV0YWlsVmlldyh2YWx1ZSlcIlxuICAgICAgICAgICAgICAgIGljb249XCJlZGl0XCJcbiAgICAgICAgICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgICAgICAgICA8IS0tIDxidXR0b24gKGNsaWNrKT1cIm9wZW5EZXRhaWxWaWV3KHZhbHVlKVwiPk9wZW48L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2VsZWN0ZWQgPSBjYXJkRGF0YVtyb3dJbmRleF07IHZkdi50b2dnbGVWaWV3KClcIj5cbiAgICAgICAgICAgICAgICBTd2l0Y2hcbiAgICAgICAgICAgICAgPC9idXR0b24+IC0tPlxuICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgIGljb249XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVJvdygpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICAgICAgICA8c3Ryb25nPkFjdGlvbnM8L3N0cm9uZz5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbGliLWRhdGEtdGFibGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBsaXN0LWNvbnRlbnQ+XG4gICAgICA8dmVyYmVuLWNhcmQtZGF0YS12aWV3XG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjEycHhcIlxuICAgICAgICAobG9hZE1vcmVDbGljayk9XCJsb2FkTW9yZSgpXCJcbiAgICAgICAgI3ZkY3ZcbiAgICAgICAgZGF0YUlkPVwiTWFpbEFkZHJlc3NcIlxuICAgICAgICBib3JkZXI9XCI1cHhcIlxuICAgICAgICBbY2FyZERhdGFMaXN0XT1cImNhcmREYXRhXCJcbiAgICAgICAgcmJnQ29sb3I9XCIjZjVmNmY5XCJcbiAgICAgICAgbWc9XCIyMHB4XCJcbiAgICAgID5cbiAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3IGNsYXNzPVwiXCI+XG4gICAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YVxuICAgICAgICAgICAgI3ZsY2RcbiAgICAgICAgICAgIFtwYXJlbnRdPVwidmRjdlwiXG4gICAgICAgICAgICBkYXRhSWQ9XCJNYWlsQWRkcmVzc1wiXG4gICAgICAgICAgICBjbGFzcz1cImJnLXNlY29uZGFyeS0xMDAgcm91bmRlZC14bCBib3JkZXItcHJpbWFyeSBib3JkZXItWzFweF1cIlxuICAgICAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXJkIGxldC1pdGVtPlxuICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJjdXJyZW50RGF0YSA9IHZkY3Yub25JdGVtQ2xpY2soaXRlbSlcIiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZsY2Quc2hvd0NoaWxkcmVuKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInZsY2Quc2hvd1RvZ2dsZShpdGVtKSA/ICd2aXNpYmxlJyA6ICdpbnZpc2libGUnXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaXRlbXMtY2VudGVyIGZsZXggcHItMSBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtLmlzQ2hpbGRyZW5FeHBhbmRlZCA/ICdtaW51cycgOiAncGx1cydcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnREYXRhID0gdmRjdi5vbkl0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGJnLXNlY29uZGFyeSByb3VuZGVkLXhsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0zIHJvdW5kZWQteGwgcm91bmRlZC10ci1ub25lIHJvdW5kZWQtYnItbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPyAnYmctcHJpbWFyeScgOiAnYmctc2Vjb25kYXJ5LTIwMCdcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB5LTIgcHgtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtWyM0MDQwNDBdXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1bMTBweF0gZm9udC1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlBob25lIE51bWJlcjo8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLlBob25lTnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJncmlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1bMTBweF0gZm9udC1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlJvbGU8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPk1hbmFnZXI8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi11c2VyLWFjY2Vzcy1yZXF1ZXN0LXN0YXR1cy1iYWRnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdHVzXT1cIml0ZW0uZGF0YS5TdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbGliLXVzZXItYWNjZXNzLXJlcXVlc3Qtc3RhdHVzLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW5vcm1hbCB0ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGNpSXRlbSBvZiBpdGVtLmJvZHk7IHRyYWNrIGNpSXRlbS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkIGZvbnQtbGlnaHQgdGV4dC14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgY2lJdGVtLnRpdGxlIH19Ojwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtYmxhY2tcIj57eyBjaUl0ZW0udmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9IC0tPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YT5cbiAgICAgICAgPC92ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcGFyZW50PlxuICAgICAgICAgICAgPGxpYi11c2VyLXJlcXVlc3QtZm9ybVxuICAgICAgICAgICAgICBbY3VycmVudERhdGFdPVwiY3VycmVudERhdGFcIlxuICAgICAgICAgICAgICAoc3dpdGNoVmlldyk9XCJ2ZHYudG9nZ2xlVmlldygpXCJcbiAgICAgICAgICAgID48L2xpYi11c2VyLXJlcXVlc3QtZm9ybT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3ZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3RlciBjbGFzcz1cImZsb2F0LXJpZ2h0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdG9yLXRleHRcIlxuICAgICAgICAgICAgICA+e3sgY2FyZERhdGEubGVuZ3RoIH19IHJlY29yZHMgbG9hZGVkPC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJsb2FkTW9yZSgpXCIgY2xhc3M9XCJsb2FkLW1vcmVcIj5Mb2FkIG1vcmU8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyPlxuICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjb2x1bW4tY29udGVudD5cbiAgICAgIDx2ZXJiZW4tdmlzaWJsZS1jb2x1bW5cbiAgICAgICAgKGNvbHVtbnNVcGRhdGVkKT1cIm9uQ29sdW1uc1VwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIHdpZHRoPVwiNDAwcHhcIlxuICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICBbY29sdW1uc109XCJ2aXNpYmxlQ29sdW1uc1wiXG4gICAgICAgIFtkaXNwbGF5ZWRDb2x1bW5zXT1cIjVcIlxuICAgICAgPjwvdmVyYmVuLXZpc2libGUtY29sdW1uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmlsdGVyLWNvbnRlbnQ+XG4gICAgICA8dmVyYmVuLXRhYmxlLWZpbHRlclxuICAgICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgcmdiYSgyMTIsIDE2MCwgNywgMSknXCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICAgIGJveFNoYWRvdz1cIjJweCAycHggMnB4IDBweCBzaWx2ZXJcIlxuICAgICAgICBiZ0NvbG9yPVwid2hpdGVcIlxuICAgICAgICB3aWR0aD1cIjQyMHB4XCJcbiAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICBwZD1cIjFyZW1cIlxuICAgICAgICBwcmltYXJ5Q29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgc2Vjb25kYXJ5Q29sb3I9XCIjMzQ3OUU5XCJcbiAgICAgICAgdGVydGlhcnlDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJmaWx0ZXJBcnJheVwiXG4gICAgICAgIFttYXhGaWx0ZXJMZW5ndGhdPVwiM1wiXG4gICAgICA+PC92ZXJiZW4tdGFibGUtZmlsdGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgc29ydC1jb250ZW50PlxuICAgICAgPHZlcmJlbi1zb3J0LXRhYmxlXG4gICAgICAgIChzZWxlY3RlZE9wdGlvbnMpPVwib25Tb3J0VXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkIHJnYmEoMjEyLCAxNjAsIDcsIDEpJ1wiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgICBib3hTaGFkb3c9XCIycHggMnB4IDJweCAwcHggc2lsdmVyXCJcbiAgICAgICAgYmdDb2xvcj1cIndoaXRlXCJcbiAgICAgICAgd2lkdGg9XCI0MDBweFwiXG4gICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgcGQ9XCIxcmVtXCJcbiAgICAgICAgcHJpbWFyeUNvbG9yPVwiI0ZGRTY4MVwiXG4gICAgICAgIHNlY29uZGFyeUNvbG9yPVwiIzM0NzlFOVwiXG4gICAgICAgIHRlcnRpYXJ5Q29sb3I9XCIjNDA0MDQwXCJcbiAgICAgICAgW2VuYWJsZURyYWdBbmREcm9wXT1cInRydWVcIlxuICAgICAgICBbc29ydE9wdGlvbnNdPVwic29ydE9wdGlvbnNcIlxuICAgICAgPjwvdmVyYmVuLXNvcnQtdGFibGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBleHBvcnQtY29udGVudD5cbiAgICAgIDxsaWItZGF0YS1leHBvcnQgW2RhdGFdPVwiZGF0YVwiIChleHBvcnREYXRhRXZlbnQpPVwiaGFuZGxlRXhwb3J0KCRldmVudClcIj5cbiAgICAgIDwvbGliLWRhdGEtZXhwb3J0PlxuICAgIDwvZGl2PlxuICA8L3ZlcmJlbi1kYXRhLXZpZXc+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,75 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { UserRequestApprovalComponent } from './user-request-approval.component';
4
+ import { CardDataViewModule, CardModule, DataExportModule, DataTableModule, DataViewModule, DropDownModule, SortTableModule, SvgModule, TableFilterModule, VerbenaBadgeModule, VerbenaButtonModule, VerbenaInputModule, VisibleColumnModule, } from 'verben-ng-ui';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import { UserRequestFormComponent } from './user-request-form/user-request-form.component';
7
+ import { UserAccessRequestStatusBadgeComponent } from './user-access-request-status-badge/user-access-request-status-badge.component';
8
+ import * as i0 from "@angular/core";
9
+ export class LibUserRequestApprovalModule {
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: LibUserRequestApprovalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: LibUserRequestApprovalModule, declarations: [UserRequestApprovalComponent,
12
+ UserRequestFormComponent,
13
+ UserAccessRequestStatusBadgeComponent], imports: [CommonModule,
14
+ DataTableModule,
15
+ CardModule,
16
+ SvgModule,
17
+ DataViewModule,
18
+ CardDataViewModule,
19
+ SortTableModule,
20
+ VisibleColumnModule,
21
+ TableFilterModule,
22
+ DataExportModule,
23
+ FormsModule,
24
+ ReactiveFormsModule,
25
+ VerbenaInputModule,
26
+ VerbenaButtonModule,
27
+ VerbenaBadgeModule,
28
+ DropDownModule], exports: [UserRequestApprovalComponent] });
29
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: LibUserRequestApprovalModule, imports: [CommonModule,
30
+ DataTableModule,
31
+ CardModule,
32
+ SvgModule,
33
+ DataViewModule,
34
+ CardDataViewModule,
35
+ SortTableModule,
36
+ VisibleColumnModule,
37
+ TableFilterModule,
38
+ DataExportModule,
39
+ FormsModule,
40
+ ReactiveFormsModule,
41
+ VerbenaInputModule,
42
+ VerbenaButtonModule,
43
+ VerbenaBadgeModule,
44
+ DropDownModule] });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: LibUserRequestApprovalModule, decorators: [{
47
+ type: NgModule,
48
+ args: [{
49
+ declarations: [
50
+ UserRequestApprovalComponent,
51
+ UserRequestFormComponent,
52
+ UserAccessRequestStatusBadgeComponent,
53
+ ],
54
+ imports: [
55
+ CommonModule,
56
+ DataTableModule,
57
+ CardModule,
58
+ SvgModule,
59
+ DataViewModule,
60
+ CardDataViewModule,
61
+ SortTableModule,
62
+ VisibleColumnModule,
63
+ TableFilterModule,
64
+ DataExportModule,
65
+ FormsModule,
66
+ ReactiveFormsModule,
67
+ VerbenaInputModule,
68
+ VerbenaButtonModule,
69
+ VerbenaBadgeModule,
70
+ DropDownModule,
71
+ ],
72
+ exports: [UserRequestApprovalComponent],
73
+ }]
74
+ }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0LWFwcHJvdmFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL3VzZXItcmVxdWVzdC1hcHByb3ZhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLG1CQUFtQixHQUNwQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0VBQStFLENBQUM7O0FBNkJ0SSxNQUFNLE9BQU8sNEJBQTRCO3VHQUE1Qiw0QkFBNEI7d0dBQTVCLDRCQUE0QixpQkF6QnJDLDRCQUE0QjtZQUM1Qix3QkFBd0I7WUFDeEIscUNBQXFDLGFBR3JDLFlBQVk7WUFFWixlQUFlO1lBQ2YsVUFBVTtZQUNWLFNBQVM7WUFDVCxjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLGNBQWMsYUFFTiw0QkFBNEI7d0dBRTNCLDRCQUE0QixZQXBCckMsWUFBWTtZQUVaLGVBQWU7WUFDZixVQUFVO1lBQ1YsU0FBUztZQUNULGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsY0FBYzs7MkZBSUwsNEJBQTRCO2tCQTNCeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3dCQUM1Qix3QkFBd0I7d0JBQ3hCLHFDQUFxQztxQkFDdEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBRVosZUFBZTt3QkFDZixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVc2VyUmVxdWVzdEFwcHJvdmFsQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLXJlcXVlc3QtYXBwcm92YWwuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENhcmREYXRhVmlld01vZHVsZSxcbiAgQ2FyZE1vZHVsZSxcbiAgRGF0YUV4cG9ydE1vZHVsZSxcbiAgRGF0YVRhYmxlTW9kdWxlLFxuICBEYXRhVmlld01vZHVsZSxcbiAgRHJvcERvd25Nb2R1bGUsXG4gIFNvcnRUYWJsZU1vZHVsZSxcbiAgU3ZnTW9kdWxlLFxuICBUYWJsZUZpbHRlck1vZHVsZSxcbiAgVmVyYmVuYUJhZGdlTW9kdWxlLFxuICBWZXJiZW5hQnV0dG9uTW9kdWxlLFxuICBWZXJiZW5hSW5wdXRNb2R1bGUsXG4gIFZpc2libGVDb2x1bW5Nb2R1bGUsXG59IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVzZXJSZXF1ZXN0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1yZXF1ZXN0LWZvcm0vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0U3RhdHVzQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuL3VzZXItYWNjZXNzLXJlcXVlc3Qtc3RhdHVzLWJhZGdlL3VzZXItYWNjZXNzLXJlcXVlc3Qtc3RhdHVzLWJhZGdlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFVzZXJSZXF1ZXN0QXBwcm92YWxDb21wb25lbnQsXG4gICAgVXNlclJlcXVlc3RGb3JtQ29tcG9uZW50LFxuICAgIFVzZXJBY2Nlc3NSZXF1ZXN0U3RhdHVzQmFkZ2VDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG5cbiAgICBEYXRhVGFibGVNb2R1bGUsXG4gICAgQ2FyZE1vZHVsZSxcbiAgICBTdmdNb2R1bGUsXG4gICAgRGF0YVZpZXdNb2R1bGUsXG4gICAgQ2FyZERhdGFWaWV3TW9kdWxlLFxuICAgIFNvcnRUYWJsZU1vZHVsZSxcbiAgICBWaXNpYmxlQ29sdW1uTW9kdWxlLFxuICAgIFRhYmxlRmlsdGVyTW9kdWxlLFxuICAgIERhdGFFeHBvcnRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBWZXJiZW5hSW5wdXRNb2R1bGUsXG4gICAgVmVyYmVuYUJ1dHRvbk1vZHVsZSxcbiAgICBWZXJiZW5hQmFkZ2VNb2R1bGUsXG4gICAgRHJvcERvd25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtVc2VyUmVxdWVzdEFwcHJvdmFsQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTGliVXNlclJlcXVlc3RBcHByb3ZhbE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,54 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { roles } from '../helper';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "verben-ng-ui";
6
+ export class UserRequestFormComponent {
7
+ fb;
8
+ set currentData(value) {
9
+ if (value?.data) {
10
+ this.form.patchValue({
11
+ MailAddress: value.data.MailAddress || '',
12
+ Name: value.data.Name || '',
13
+ PhoneNumber: value.data.PhoneNumber || '',
14
+ });
15
+ }
16
+ else {
17
+ this.form.reset();
18
+ }
19
+ }
20
+ switchView = new EventEmitter();
21
+ form;
22
+ roles = roles;
23
+ constructor(fb) {
24
+ this.fb = fb;
25
+ this.form = this.fb.group({
26
+ MailAddress: ['', { readonly: true }],
27
+ Name: ['', { readonly: true }],
28
+ PhoneNumber: ['', { readonly: true }],
29
+ RoleId: [''],
30
+ });
31
+ }
32
+ ngOnInit() { }
33
+ onSave() {
34
+ if (this.form.valid) {
35
+ // Emit save event with form value
36
+ console.log('Form saved:', this.form.value);
37
+ }
38
+ }
39
+ onDelete() {
40
+ // Emit delete event
41
+ console.log('Delete requested');
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: UserRequestFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: UserRequestFormComponent, selector: "lib-user-request-form", inputs: { currentData: "currentData" }, outputs: { switchView: "switchView" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [disabled]=\"true\"\n />\n <verbena-input\n label=\"Name:\"\n name=\"Name\"\n type=\"text\"\n formControlName=\"Name\"\n [disabled]=\"true\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [disabled]=\"true\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div\n class=\"flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute\"\n style=\"\n display: flex;\n justify-content: space-between;\n position: absolute;\n padding: 8px 12px;\n right: 0;\n left: 0;\n bottom: 32;\n \"\n >\n <!-- <verbena-button\n text=\"Delete\"\n class=\"bg-secondary-200 text-[black]\"\n (click)=\"onDelete()\"\n />\n <verbena-button\n text=\"Save\"\n class=\"bg-primary text-[black]\"\n (click)=\"onSave()\"\n />\n\n <verbena-button\n text=\"Secondary Button\"\n styleType=\"secondary\"\n ></verbena-button> -->\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n ></verbena-button>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "inputWrapperClass", "customErrorMessages"], outputs: ["valueChange"] }, { kind: "component", type: i2.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "svgPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "styleType", "svg", "svgWidth", "svgHeight", "svgColor", "buttonClass", "buttonTextClass"] }, { kind: "component", type: i2.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: UserRequestFormComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'lib-user-request-form', template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [disabled]=\"true\"\n />\n <verbena-input\n label=\"Name:\"\n name=\"Name\"\n type=\"text\"\n formControlName=\"Name\"\n [disabled]=\"true\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [disabled]=\"true\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div\n class=\"flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute\"\n style=\"\n display: flex;\n justify-content: space-between;\n position: absolute;\n padding: 8px 12px;\n right: 0;\n left: 0;\n bottom: 32;\n \"\n >\n <!-- <verbena-button\n text=\"Delete\"\n class=\"bg-secondary-200 text-[black]\"\n (click)=\"onDelete()\"\n />\n <verbena-button\n text=\"Save\"\n class=\"bg-primary text-[black]\"\n (click)=\"onSave()\"\n />\n\n <verbena-button\n text=\"Secondary Button\"\n styleType=\"secondary\"\n ></verbena-button> -->\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n ></verbena-button>\n </div>\n</form>\n" }]
49
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { currentData: [{
50
+ type: Input
51
+ }], switchView: [{
52
+ type: Output
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXJlcXVlc3QtYXBwcm92YWwvdXNlci1yZXF1ZXN0LWZvcm0vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXJlcXVlc3QtYXBwcm92YWwvdXNlci1yZXF1ZXN0LWZvcm0vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBYWxDLE1BQU0sT0FBTyx3QkFBd0I7SUFrQmY7SUFqQnBCLElBQWEsV0FBVyxDQUFDLEtBQXNCO1FBQzdDLElBQUksS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNuQixXQUFXLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRTtnQkFDekMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO2FBQzFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUNTLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBRXJELElBQUksQ0FBWTtJQUVoQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzlCLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixrQ0FBa0M7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7dUdBdkNVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLDRJQ2hCckMsK3ZFQWtHQTs7MkZEbEZhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSx1QkFBdUI7Z0ZBS3BCLFdBQVc7c0JBQXZCLEtBQUs7Z0JBV0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2FyZERhdGEgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgcm9sZXMgfSBmcm9tICcuLi9oZWxwZXInO1xuXG5pbnRlcmZhY2UgVXNlckZvcm1EYXRhIHtcbiAgTWFpbEFkZHJlc3M6IHN0cmluZztcbiAgTmFtZTogc3RyaW5nO1xuICBQaG9uZU51bWJlcjogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdXNlci1yZXF1ZXN0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJSZXF1ZXN0Rm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBjdXJyZW50RGF0YSh2YWx1ZTogQ2FyZERhdGEgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlPy5kYXRhKSB7XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIE1haWxBZGRyZXNzOiB2YWx1ZS5kYXRhLk1haWxBZGRyZXNzIHx8ICcnLFxuICAgICAgICBOYW1lOiB2YWx1ZS5kYXRhLk5hbWUgfHwgJycsXG4gICAgICAgIFBob25lTnVtYmVyOiB2YWx1ZS5kYXRhLlBob25lTnVtYmVyIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuICBAT3V0cHV0KCkgc3dpdGNoVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5kZWZpbmVkPigpO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICByb2xlcyA9IHJvbGVzO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBNYWlsQWRkcmVzczogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgTmFtZTogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgUGhvbmVOdW1iZXI6IFsnJywgeyByZWFkb25seTogdHJ1ZSB9XSxcbiAgICAgIFJvbGVJZDogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBvblNhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgLy8gRW1pdCBzYXZlIGV2ZW50IHdpdGggZm9ybSB2YWx1ZVxuICAgICAgY29uc29sZS5sb2coJ0Zvcm0gc2F2ZWQ6JywgdGhpcy5mb3JtLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICAvLyBFbWl0IGRlbGV0ZSBldmVudFxuICAgIGNvbnNvbGUubG9nKCdEZWxldGUgcmVxdWVzdGVkJyk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBweC0zIHBiLTMgcm91bmRlZC14bCBoLWZ1bGwgdy1mdWxsIHJlbGF0aXZlIHNwYWNlLXktNFwiXG4+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbmFtZT1cIk1haWxBZGRyZXNzXCJcbiAgICBsYWJlbD1cIk1haWwgQWRkcmVzczpcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIk1haWxBZGRyZXNzXCJcbiAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gIC8+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbGFiZWw9XCJOYW1lOlwiXG4gICAgbmFtZT1cIk5hbWVcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJOYW1lXCJcbiAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gIC8+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbGFiZWw9XCJQaG9uZSBOdW1iZXI6XCJcbiAgICBuYW1lPVwiUGhvbmVOdW1iZXJcIlxuICAgIHR5cGU9XCJ0ZWxcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIlBob25lTnVtYmVyXCJcbiAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gIC8+XG5cbiAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgIDxsYWJlbCBmb3I9XCJyb2xlXCI+Um9sZTwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgbGFiZWw9XCJSb2xlXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICBbZmlsdGVyXT1cInRydWVcIlxuICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgIFsob3B0aW9ucyldPVwicm9sZXNcIlxuICAgICAgaWQ9XCJyb2xlXCJcbiAgICAgIG9wdGlvbkxhYmVsPVwibmFtZVwiXG4gICAgICBvcHRpb25WYWx1ZT1cImlkXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIlJvbGVJZFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgPlxuICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBidXR0b25zIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBib3R0b20tOCBsZWZ0LTAgcmlnaHQtMCBweC0zIHBiLTIgYWJzb2x1dGVcIlxuICAgIHN0eWxlPVwiXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDMyO1xuICAgIFwiXG4gID5cbiAgICA8IS0tIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgdGV4dD1cIkRlbGV0ZVwiXG4gICAgICBjbGFzcz1cImJnLXNlY29uZGFyeS0yMDAgdGV4dC1bYmxhY2tdXCJcbiAgICAgIChjbGljayk9XCJvbkRlbGV0ZSgpXCJcbiAgICAvPlxuICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgdGV4dD1cIlNhdmVcIlxuICAgICAgY2xhc3M9XCJiZy1wcmltYXJ5IHRleHQtW2JsYWNrXVwiXG4gICAgICAoY2xpY2spPVwib25TYXZlKClcIlxuICAgIC8+XG5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIHRleHQ9XCJTZWNvbmRhcnkgQnV0dG9uXCJcbiAgICAgIHN0eWxlVHlwZT1cInNlY29uZGFyeVwiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+IC0tPlxuICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgd2lkdGg9XCIxMTRweFwiXG4gICAgICBoZWlnaHQ9XCIzOXB4XCJcbiAgICAgIHRleHQ9XCJSZWplY3RcIlxuICAgICAgc3R5bGVUeXBlPVwiZGFuZ2VyXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgKGNsaWNrKT1cInN3aXRjaFZpZXcuZW1pdCgpXCJcbiAgICAgIHRleHQ9XCJTd2l0Y2ggVG8gVGFibGVcIlxuICAgICAgc3R5bGVUeXBlPVwieWx3LW91dGxpbmVcIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgdGV4dD1cIkFwcHJvdmVcIlxuICAgICAgYmdDb2xvcj1cIiMyOGE3NDVcIlxuICAgICAgdGV4dENvbG9yPVwid2hpdGVcIlxuICAgICAgYm9yZGVyPVwiMXB4IHNvbGlkICMyOGE3NDVcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICBwZD1cIjEwcHggMjBweFwiXG4gICAgICB3aWR0aD1cIjExNHB4XCJcbiAgICAgIGhlaWdodD1cIjM5cHhcIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ export class ErrorResponse {
2
+ ErrorMsg;
3
+ StatusCode;
4
+ FullLog;
5
+ constructor(ErrorMsg, StatusCode, FullLog) {
6
+ this.ErrorMsg = ErrorMsg;
7
+ this.StatusCode = StatusCode;
8
+ this.FullLog = FullLog;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JSZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscy9FcnJvclJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBRWY7SUFDQTtJQUNBO0lBSFQsWUFDUyxRQUFnQixFQUNoQixVQUFtQixFQUNuQixPQUFhO1FBRmIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQU07SUFDbkIsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVycm9yUmVzcG9uc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgRXJyb3JNc2c6IHN0cmluZyxcbiAgICBwdWJsaWMgU3RhdHVzQ29kZT86IG51bWJlcixcbiAgICBwdWJsaWMgRnVsbExvZz86IGFueVxuICApIHt9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYmplY3RTdGF0ZSB9IGZyb20gJy4vb2JqZWN0LXN0YXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlTW9kZWwge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIElkOiBzdHJpbmc7XG4gIENyZWF0ZWRBdDogRGF0ZTtcbiAgVXBkYXRlZEF0OiBEYXRlO1xuICBTdGF0ZTogT2JqZWN0U3RhdGU7XG4gIFRlbmFudDogc3RyaW5nO1xuICByZWFkb25seSBFcnJvcj86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export var ObjectState;
2
+ (function (ObjectState) {
3
+ ObjectState["New"] = "New";
4
+ ObjectState["Changed"] = "Changed";
5
+ ObjectState["Unchanged"] = "Unchanged";
6
+ ObjectState["Removed"] = "Removed";
7
+ })(ObjectState || (ObjectState = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzL29iamVjdC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLDBCQUFXLENBQUE7SUFDWCxrQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBdUIsQ0FBQTtJQUN2QixrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBPYmplY3RTdGF0ZSB7XG4gIE5ldyA9ICdOZXcnLFxuICBDaGFuZ2VkID0gJ0NoYW5nZWQnLFxuICBVbmNoYW5nZWQgPSAnVW5jaGFuZ2VkJyxcbiAgUmVtb3ZlZCA9ICdSZW1vdmVkJyxcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export var UserAccessRequestStatus;
2
+ (function (UserAccessRequestStatus) {
3
+ UserAccessRequestStatus[UserAccessRequestStatus["Pending"] = 0] = "Pending";
4
+ UserAccessRequestStatus[UserAccessRequestStatus["Approved"] = 1] = "Approved";
5
+ UserAccessRequestStatus[UserAccessRequestStatus["Declined"] = 2] = "Declined";
6
+ })(UserAccessRequestStatus || (UserAccessRequestStatus = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMvdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksdUJBSVg7QUFKRCxXQUFZLHVCQUF1QjtJQUNqQywyRUFBTyxDQUFBO0lBQ1AsNkVBQVEsQ0FBQTtJQUNSLDZFQUFRLENBQUE7QUFDVixDQUFDLEVBSlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUlsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFVzZXJBY2Nlc3NSZXF1ZXN0U3RhdHVzIHtcbiAgUGVuZGluZyxcbiAgQXBwcm92ZWQsXG4gIERlY2xpbmVkLFxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscy91c2VyLWFjY2Vzcy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0U3RhdHVzIH0gZnJvbSAnLi91c2VyLWFjY2Vzcy1yZXF1ZXN0LXN0YXR1cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckFjY2Vzc1JlcXVlc3QgZXh0ZW5kcyBVc2VyIHtcbiAgU3RhdHVzOiBVc2VyQWNjZXNzUmVxdWVzdFN0YXR1cztcbiAgQWN0aW9uQnk/OiBzdHJpbmc7XG4gIENvbW1lbnQ/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscy91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBQYXNzd29yZDogc3RyaW5nO1xuICBPbGRQYXNzd29yZD86IHN0cmluZztcbiAgUGhvbmVOdW1iZXI/OiBzdHJpbmc7XG4gIE5hbWU6IHN0cmluZztcbiAgTWFpbEFkZHJlc3M6IHN0cmluZztcbiAgVG9rZW4/OiBzdHJpbmc7XG4gIEV4cGlyZU9uOiBEYXRlO1xuICBJc1NlZWRlZDogYm9vbGVhbjtcbiAgUm9sZUlEPzogc3RyaW5nO1xuICBPVFA/OiBzdHJpbmc7XG4gIERlcGFydG1lbnQ/OiBzdHJpbmc7XG4gIEZhY3VsdHk/OiBzdHJpbmc7XG4gIE9UUEV4cGlyZU9uOiBEYXRlO1xuICBUZW5hbnRzOiBzdHJpbmdbXTtcbiAgRGVwYXJ0bWVudE5hbWU/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ // In your library's services/environment.service.ts
2
+ import { Injectable, InjectionToken, Inject } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ // import { ENVIRONMENT } from '../models/ENVIRONMENT_TOKEN';
5
+ export const ENVIRONMENT = new InjectionToken('environment');
6
+ export class EnvironmentService {
7
+ env;
8
+ constructor(env) {
9
+ this.env = env;
10
+ }
11
+ get environment() {
12
+ return this.env;
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EnvironmentService, deps: [{ token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
15
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EnvironmentService, providedIn: 'root' });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EnvironmentService, decorators: [{
18
+ type: Injectable,
19
+ args: [{
20
+ providedIn: 'root',
21
+ }]
22
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
23
+ type: Inject,
24
+ args: [ENVIRONMENT]
25
+ }] }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFDbkUsNkRBQTZEO0FBRTdELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBYyxhQUFhLENBQUMsQ0FBQztBQVUxRSxNQUFNLE9BQU8sa0JBQWtCO0lBQ1k7SUFBekMsWUFBeUMsR0FBZ0I7UUFBaEIsUUFBRyxHQUFILEdBQUcsQ0FBYTtJQUFHLENBQUM7SUFFN0QsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7dUdBTFUsa0JBQWtCLGtCQUNULFdBQVc7MkdBRHBCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFFYyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbiB5b3VyIGxpYnJhcnkncyBzZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlLnRzXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgeyBFTlZJUk9OTUVOVCB9IGZyb20gJy4uL21vZGVscy9FTlZJUk9OTUVOVF9UT0tFTic7XG5cbmV4cG9ydCBjb25zdCBFTlZJUk9OTUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFbnZpcm9ubWVudD4oJ2Vudmlyb25tZW50Jyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnQge1xuICBwcm9kdWN0aW9uOiBib29sZWFuO1xuICBBdXRoZW50aWNhdGlvbkFQSTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChFTlZJUk9OTUVOVCkgcHJpdmF0ZSBlbnY6IEVudmlyb25tZW50KSB7fVxuXG4gIGdldCBlbnZpcm9ubWVudCgpOiBFbnZpcm9ubWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZW52O1xuICB9XG59XG4iXX0=