tin-spa 2.3.12 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/classes/Classes.mjs +1 -179
- package/esm2020/lib/classes/LibClasses.mjs +179 -0
- package/esm2020/lib/classes/TinCore.mjs +10 -1
- package/esm2020/lib/components/date/date.component.mjs +3 -3
- package/esm2020/lib/components/datetime/datetime.component.mjs +6 -3
- package/esm2020/lib/components/email/email.component.mjs +131 -0
- package/esm2020/lib/components/form/form.component.mjs +27 -10
- package/esm2020/lib/components/money/money.component.mjs +3 -3
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +2 -2
- package/esm2020/lib/components/number/number.component.mjs +3 -3
- package/esm2020/lib/components/option/option.component.mjs +6 -3
- package/esm2020/lib/components/search/search.component.mjs +3 -3
- package/esm2020/lib/components/select/select.component.mjs +3 -3
- package/esm2020/lib/components/table/detailsDialog.component.mjs +14 -4
- package/esm2020/lib/components/table/table.component.mjs +3 -3
- package/esm2020/lib/components/table-header/table-header.component.mjs +67 -12
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +16 -2
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +3 -3
- package/esm2020/lib/components/table-row/table-row.component.mjs +21 -5
- package/esm2020/lib/components/text/text.component.mjs +3 -3
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +22 -22
- package/esm2020/lib/modules/index/index-routing.module.mjs +4 -4
- package/esm2020/lib/modules/spa-admin.module.mjs +7 -7
- package/esm2020/lib/modules/spa-index.module.mjs +4 -4
- package/esm2020/lib/modules/spa-user.module.mjs +3 -3
- package/esm2020/lib/modules/user/user-routing.module.mjs +3 -3
- package/esm2020/lib/{components → pages}/accounts/accountDialog.component.mjs +3 -3
- package/esm2020/lib/pages/accounts/accounts.component.mjs +70 -0
- package/esm2020/lib/{components → pages}/bug/bug.component.mjs +1 -1
- package/esm2020/lib/pages/change-password/change-password.component.mjs +92 -0
- package/esm2020/lib/pages/create-account/create-account.component.mjs +110 -0
- package/esm2020/lib/pages/customers/customers.component.mjs +60 -0
- package/esm2020/lib/{components → pages}/departments/departments.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/employees/employees.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/grades/grades.component.mjs +1 -1
- package/esm2020/lib/pages/inventory/inventory.component.mjs +99 -0
- package/esm2020/lib/{components → pages}/inventory/quantityDialog.component.mjs +3 -3
- package/esm2020/lib/{components → pages}/invitations/invitations.component.mjs +1 -1
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +70 -0
- package/esm2020/lib/{components → pages}/login/login.component.mjs +5 -4
- package/esm2020/lib/{components → pages}/logs/logs.component.mjs +2 -2
- package/esm2020/lib/pages/membership/membership.component.mjs +48 -0
- package/esm2020/lib/{components → pages}/notifications/notifications.component.mjs +1 -1
- package/esm2020/lib/pages/plans/plans.component.mjs +47 -0
- package/esm2020/lib/{components → pages}/positions/positions.component.mjs +2 -2
- package/esm2020/lib/pages/profile/profile.component.mjs +93 -0
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +46 -0
- package/esm2020/lib/{components → pages}/roles/addRoleDialog.component.mjs +2 -2
- package/esm2020/lib/{components → pages}/roles/roles.component.mjs +1 -1
- package/esm2020/lib/{components → pages}/settings/settings.component.mjs +1 -1
- package/esm2020/lib/pages/signup/signup.component.mjs +50 -0
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +50 -0
- package/esm2020/lib/pages/tasks/tasks.component.mjs +86 -0
- package/esm2020/lib/{components → pages}/tenant-settings/inviteDialog.component.mjs +3 -3
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +155 -0
- package/esm2020/lib/pages/tenants/tenants.component.mjs +47 -0
- package/esm2020/lib/{components → pages}/transactions/transactDialog.component.mjs +5 -5
- package/esm2020/lib/pages/transactions/transactions.component.mjs +101 -0
- package/esm2020/lib/pages/users/users.component.mjs +118 -0
- package/esm2020/lib/pages/welcome/welcome.component.mjs +86 -0
- package/esm2020/lib/services/auth.service.mjs +3 -2
- package/esm2020/lib/services/csv.service.mjs +49 -0
- package/esm2020/lib/services/datalib.service.mjs +1 -1
- package/esm2020/lib/services/log.service.mjs +2 -2
- package/esm2020/lib/tin-spa.module.mjs +33 -28
- package/esm2020/public-api.mjs +26 -25
- package/fesm2015/tin-spa.mjs +434 -146
- package/fesm2015/tin-spa.mjs.map +1 -1
- package/fesm2020/tin-spa.mjs +433 -146
- package/fesm2020/tin-spa.mjs.map +1 -1
- package/lib/classes/Classes.d.ts +17 -173
- package/lib/classes/LibClasses.d.ts +172 -0
- package/lib/classes/TinCore.d.ts +3 -1
- package/lib/components/datetime/datetime.component.d.ts +2 -1
- package/lib/components/email/email.component.d.ts +39 -0
- package/lib/components/form/form.component.d.ts +2 -0
- package/lib/components/option/option.component.d.ts +2 -1
- package/lib/components/table-header/table-header.component.d.ts +14 -3
- package/lib/components/table-row/table-row.component.d.ts +1 -1
- package/lib/modules/spa-admin.module.d.ts +6 -6
- package/lib/modules/spa-index.module.d.ts +3 -3
- package/lib/modules/spa-user.module.d.ts +2 -2
- package/lib/{components → pages}/change-password/change-password.component.d.ts +1 -1
- package/lib/{components → pages}/create-account/create-account.component.d.ts +2 -1
- package/lib/{components → pages}/login/login.component.d.ts +3 -2
- package/lib/{components → pages}/profile/profile.component.d.ts +2 -1
- package/lib/{components → pages}/roles/addRoleDialog.component.d.ts +1 -1
- package/lib/{components → pages}/roles/roles.component.d.ts +1 -1
- package/lib/{components → pages}/signup/signup.component.d.ts +1 -1
- package/lib/{components → pages}/users/users.component.d.ts +1 -1
- package/lib/services/auth.service.d.ts +1 -1
- package/lib/services/csv.service.d.ts +10 -0
- package/lib/services/datalib.service.d.ts +2 -1
- package/lib/services/log.service.d.ts +1 -1
- package/lib/tin-spa.module.d.ts +29 -28
- package/package.json +1 -1
- package/public-api.d.ts +24 -23
- package/esm2020/lib/components/accounts/accounts.component.mjs +0 -70
- package/esm2020/lib/components/change-password/change-password.component.mjs +0 -92
- package/esm2020/lib/components/create-account/create-account.component.mjs +0 -109
- package/esm2020/lib/components/customers/customers.component.mjs +0 -60
- package/esm2020/lib/components/inventory/inventory.component.mjs +0 -99
- package/esm2020/lib/components/invitations-table/invitations-table.component.mjs +0 -70
- package/esm2020/lib/components/membership/membership.component.mjs +0 -48
- package/esm2020/lib/components/plans/plans.component.mjs +0 -47
- package/esm2020/lib/components/profile/profile.component.mjs +0 -92
- package/esm2020/lib/components/recover-account/recover-account.component.mjs +0 -46
- package/esm2020/lib/components/signup/signup.component.mjs +0 -50
- package/esm2020/lib/components/suppliers/suppliers.component.mjs +0 -50
- package/esm2020/lib/components/tasks/tasks.component.mjs +0 -86
- package/esm2020/lib/components/tenant-settings/tenant-settings.component.mjs +0 -155
- package/esm2020/lib/components/tenants/tenants.component.mjs +0 -47
- package/esm2020/lib/components/transactions/transactions.component.mjs +0 -101
- package/esm2020/lib/components/users/users.component.mjs +0 -118
- package/esm2020/lib/components/welcome/welcome.component.mjs +0 -86
- /package/lib/{components → pages}/accounts/accountDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/accounts/accounts.component.d.ts +0 -0
- /package/lib/{components → pages}/bug/bug.component.d.ts +0 -0
- /package/lib/{components → pages}/customers/customers.component.d.ts +0 -0
- /package/lib/{components → pages}/departments/departments.component.d.ts +0 -0
- /package/lib/{components → pages}/employees/employees.component.d.ts +0 -0
- /package/lib/{components → pages}/grades/grades.component.d.ts +0 -0
- /package/lib/{components → pages}/inventory/inventory.component.d.ts +0 -0
- /package/lib/{components → pages}/inventory/quantityDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/invitations/invitations.component.d.ts +0 -0
- /package/lib/{components → pages}/invitations-table/invitations-table.component.d.ts +0 -0
- /package/lib/{components → pages}/logs/logs.component.d.ts +0 -0
- /package/lib/{components → pages}/membership/membership.component.d.ts +0 -0
- /package/lib/{components → pages}/notifications/notifications.component.d.ts +0 -0
- /package/lib/{components → pages}/plans/plans.component.d.ts +0 -0
- /package/lib/{components → pages}/positions/positions.component.d.ts +0 -0
- /package/lib/{components → pages}/recover-account/recover-account.component.d.ts +0 -0
- /package/lib/{components → pages}/settings/settings.component.d.ts +0 -0
- /package/lib/{components → pages}/suppliers/suppliers.component.d.ts +0 -0
- /package/lib/{components → pages}/tasks/tasks.component.d.ts +0 -0
- /package/lib/{components → pages}/tenant-settings/inviteDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/tenant-settings/tenant-settings.component.d.ts +0 -0
- /package/lib/{components → pages}/tenants/tenants.component.d.ts +0 -0
- /package/lib/{components → pages}/transactions/transactDialog.component.d.ts +0 -0
- /package/lib/{components → pages}/transactions/transactions.component.d.ts +0 -0
- /package/lib/{components → pages}/welcome/welcome.component.d.ts +0 -0
|
@@ -18,8 +18,24 @@ export class TableRowComponent {
|
|
|
18
18
|
testIconCondition(row, icon) {
|
|
19
19
|
return icon.condition ? icon.condition(row) : true;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
getColorOnCondition(row, column) {
|
|
22
|
+
if (column.options) {
|
|
23
|
+
const color = this.getColor(row[column.name], column.options);
|
|
24
|
+
return column.type === 'chip' ? color : (color === 'lightgrey' ? '' : color);
|
|
25
|
+
}
|
|
26
|
+
if (column.colors) {
|
|
27
|
+
for (const color of column.colors) {
|
|
28
|
+
if (color.condition(row)) {
|
|
29
|
+
return color.name;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (column.color && column.color.condition) {
|
|
35
|
+
return column.color.condition(row) ? column.color.name : '';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return '';
|
|
23
39
|
}
|
|
24
40
|
getColor(value, options) {
|
|
25
41
|
if (!options)
|
|
@@ -38,10 +54,10 @@ export class TableRowComponent {
|
|
|
38
54
|
}
|
|
39
55
|
}
|
|
40
56
|
TableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableRowComponent, deps: [{ token: i1.ButtonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
TableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TableRowComponent, selector: "app-table-row", inputs: { column: "column", row: "row", config: "config" }, outputs: { actionClick: "actionClick", columnClick: "columnClick", showBannerEvent: "showBannerEvent" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <spa-check [value]=\"row[column.name]\" [readonly]=\"true\"></spa-check>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <spa-select [options]=\"column.options\" [optionDisplay]=\"column.optionDisplay\" [optionValue]=\"column.optionValue\" [(value)]=\"row[column.name]\" width=\"90%\"></spa-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <mat-chip-list>\r\n <mat-chip (click)=\"onColumnClick(column, row)\" [ngStyle]=\"{'background-color': testColorCondition(row, column.color) ? column.color.name : getColor(row[column.name], column?.options)}\" style=\"font-size: 12px;\"> {{row[column.name]}} </mat-chip>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </mat-chip-list>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{row[column.name] | date : 'dd/MM/yyyy'}}\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n {{row[column.name] | date : 'dd/MM/yyyy HH:mm'}}\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'money'\">\r\n <label [ngStyle]=\"{'color': testColorCondition(row, column.color) ? column.color.name : ''}\">{{row[column.name] | currency:'':''}}</label>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <button mat-button [ngStyle]=\"{'color': testColorCondition(row, column.color) ? column.color.name : ''}\" (click)=\"onActionClick(column.name, row)\">{{row[column.name]}}</button>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <label [ngStyle]=\"{'color': testColorCondition(row, column.color) ? column.color.name : ''}\">{{row[column.name]}}</label>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".top{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:10px;margin-top:10px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.mat-icon-button{width:32px;height:32px}.mat-icon-button mat-icon{font-size:20px;margin-top:-7px}.col-icon{margin-left:10px}.title{margin-top:10px;font-size:larger;font-weight:300}.make-gray{background-color:#e5e5e5}.right-padding{padding-right:10px}.action-buttons-container{display:flex;justify-content:flex-end;align-items:center}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i7.CheckComponent, selector: "spa-check", inputs: ["readonly", "display", "value", "infoMessage"], outputs: ["valueChange", "click", "check", "uncheck", "infoClick"] }, { kind: "component", type: i8.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "pipe", type: i2.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
|
|
57
|
+
TableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TableRowComponent, selector: "app-table-row", inputs: { column: "column", row: "row", config: "config" }, outputs: { actionClick: "actionClick", columnClick: "columnClick", showBannerEvent: "showBannerEvent" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <spa-check [value]=\"row[column.name]\" [readonly]=\"true\"></spa-check>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <spa-select [options]=\"column.options\" [optionDisplay]=\"column.optionDisplay\" [optionValue]=\"column.optionValue\" [(value)]=\"row[column.name]\" width=\"90%\"></spa-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <mat-chip-list>\r\n <mat-chip (click)=\"onColumnClick(column, row)\" [ngStyle]=\"{'background-color': getColorOnCondition(row, column)}\" style=\"font-size: 12px;\"> {{row[column.name]}} </mat-chip>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </mat-chip-list>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{row[column.name] | date : 'dd/MM/yyyy'}}\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n {{row[column.name] | date : 'dd/MM/yyyy HH:mm'}}\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'money'\">\r\n <label [ngStyle]=\"{'color': getColorOnCondition(row, column) }\">{{row[column.name] | currency:'':''}}</label>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <button mat-stroked-button (click)=\"onColumnClick(column, row)\" [ngStyle]=\"{'color': getColorOnCondition(row, column)}\" >{{row[column.name]}}</button>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <label [ngStyle]=\"{'color': getColorOnCondition(row, column) }\">{{row[column.name]}}</label>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".top{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:10px;margin-top:10px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.mat-icon-button{width:32px;height:32px}.mat-icon-button mat-icon{font-size:20px;margin-top:-7px}.col-icon{margin-left:10px}.title{margin-top:10px;font-size:larger;font-weight:300}.make-gray{background-color:#e5e5e5}.right-padding{padding-right:10px}.action-buttons-container{display:flex;justify-content:flex-end;align-items:center}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i7.CheckComponent, selector: "spa-check", inputs: ["readonly", "display", "value", "infoMessage"], outputs: ["valueChange", "click", "check", "uncheck", "infoClick"] }, { kind: "component", type: i8.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "pipe", type: i2.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
|
|
42
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableRowComponent, decorators: [{
|
|
43
59
|
type: Component,
|
|
44
|
-
args: [{ selector: 'app-table-row', template: "<ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <spa-check [value]=\"row[column.name]\" [readonly]=\"true\"></spa-check>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <spa-select [options]=\"column.options\" [optionDisplay]=\"column.optionDisplay\" [optionValue]=\"column.optionValue\" [(value)]=\"row[column.name]\" width=\"90%\"></spa-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <mat-chip-list>\r\n <mat-chip (click)=\"onColumnClick(column, row)\" [ngStyle]=\"{'background-color':
|
|
60
|
+
args: [{ selector: 'app-table-row', template: "<ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <spa-check [value]=\"row[column.name]\" [readonly]=\"true\"></spa-check>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <spa-select [options]=\"column.options\" [optionDisplay]=\"column.optionDisplay\" [optionValue]=\"column.optionValue\" [(value)]=\"row[column.name]\" width=\"90%\"></spa-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <mat-chip-list>\r\n <mat-chip (click)=\"onColumnClick(column, row)\" [ngStyle]=\"{'background-color': getColorOnCondition(row, column)}\" style=\"font-size: 12px;\"> {{row[column.name]}} </mat-chip>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </mat-chip-list>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{row[column.name] | date : 'dd/MM/yyyy'}}\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n {{row[column.name] | date : 'dd/MM/yyyy HH:mm'}}\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'money'\">\r\n <label [ngStyle]=\"{'color': getColorOnCondition(row, column) }\">{{row[column.name] | currency:'':''}}</label>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <button mat-stroked-button (click)=\"onColumnClick(column, row)\" [ngStyle]=\"{'color': getColorOnCondition(row, column)}\" >{{row[column.name]}}</button>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <label [ngStyle]=\"{'color': getColorOnCondition(row, column) }\">{{row[column.name]}}</label>\r\n <mat-icon class=\"col-icon\" *ngIf=\"column.icon && testIconCondition(row, column.icon)\" [matTooltip]=\"row[column.icon.tipField] ?? column.icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[column.icon.tipField])\" [ngStyle]=\"{'color':column.icon?.color}\">{{column.icon.name }}</mat-icon>\r\n <ng-container *ngFor=\"let icon of column.icons\">\r\n <mat-icon class=\"col-icon\" *ngIf=\"testIconCondition(row, icon)\" [matTooltip]=\"row[icon.tipField] ?? icon?.tip\" matTooltipPosition=\"above\" (click)=\"showBanner(row[icon.tipField])\" [ngStyle]=\"{'color':icon?.color}\">{{icon.name }}</mat-icon>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".top{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:10px;margin-top:10px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.mat-icon-button{width:32px;height:32px}.mat-icon-button mat-icon{font-size:20px;margin-top:-7px}.col-icon{margin-left:10px}.title{margin-top:10px;font-size:larger;font-weight:300}.make-gray{background-color:#e5e5e5}.right-padding{padding-right:10px}.action-buttons-container{display:flex;justify-content:flex-end;align-items:center}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"] }]
|
|
45
61
|
}], ctorParameters: function () { return [{ type: i1.ButtonService }]; }, propDecorators: { column: [{
|
|
46
62
|
type: Input
|
|
47
63
|
}], row: [{
|
|
@@ -55,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
55
71
|
}], showBannerEvent: [{
|
|
56
72
|
type: Output
|
|
57
73
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXJvdy90YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93L3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyxpQkFBaUI7SUFTNUIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFKdEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUM3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBQy9ELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVILENBQUM7SUFFckQsaUJBQWlCLENBQUMsR0FBUSxFQUFFLElBQVU7UUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVEsRUFBRSxLQUFVO1FBQ3JDLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqRSxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVUsRUFBRSxPQUFjO1FBQ2pDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxXQUFXLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDeEQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUM3QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVksRUFBRSxHQUFRO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFjLEVBQUUsR0FBUTtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs4R0FuQ1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsME5DVDlCLHk3TkFzRUE7MkZEN0RhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlO29HQUtoQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbHVtbiwgQnV0dG9uLCBUYWJsZUNvbmZpZywgSWNvbiB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IEJ1dHRvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9idXR0b24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10YWJsZS1yb3cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1yb3cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLXJvdy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlUm93Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjb2x1bW46IENvbHVtbjtcclxuICBASW5wdXQoKSByb3c6IGFueTtcclxuICBASW5wdXQoKSBjb25maWc6IFRhYmxlQ29uZmlnO1xyXG5cclxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbmFtZTogc3RyaW5nLCByb3c6IGFueSB9PigpO1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjb2x1bW46IENvbHVtbiwgcm93OiBhbnkgfT4oKTtcclxuICBAT3V0cHV0KCkgc2hvd0Jhbm5lckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnV0dG9uU2VydmljZTogQnV0dG9uU2VydmljZSkgeyB9XHJcblxyXG4gIHRlc3RJY29uQ29uZGl0aW9uKHJvdzogYW55LCBpY29uOiBJY29uKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaWNvbi5jb25kaXRpb24gPyBpY29uLmNvbmRpdGlvbihyb3cpIDogdHJ1ZTtcclxuICB9XHJcblxyXG4gIHRlc3RDb2xvckNvbmRpdGlvbihyb3c6IGFueSwgY29sb3I6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGNvbG9yICYmIGNvbG9yLmNvbmRpdGlvbiA/IGNvbG9yLmNvbmRpdGlvbihyb3cpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXRDb2xvcih2YWx1ZTogYW55LCBvcHRpb25zOiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIHJldHVybiAnbGlnaHRncmV5JztcclxuICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZChvcHQgPT4gb3B0LnZhbHVlID09PSB2YWx1ZSk7XHJcbiAgICByZXR1cm4gb3B0aW9uID8gb3B0aW9uLmNvbG9yIDogJ2xpZ2h0Z3JleSc7XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbkNsaWNrKG5hbWU6IHN0cmluZywgcm93OiBhbnkpIHtcclxuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdCh7IG5hbWUsIHJvdyB9KTtcclxuICB9XHJcblxyXG4gIG9uQ29sdW1uQ2xpY2soY29sdW1uOiBDb2x1bW4sIHJvdzogYW55KSB7XHJcbiAgICB0aGlzLmNvbHVtbkNsaWNrLmVtaXQoeyBjb2x1bW4sIHJvdyB9KTtcclxuICB9XHJcblxyXG4gIHNob3dCYW5uZXIobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNob3dCYW5uZXJFdmVudC5lbWl0KG1lc3NhZ2UpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb2x1bW4udHlwZVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cclxuICAgIDxzcGEtY2hlY2sgW3ZhbHVlXT1cInJvd1tjb2x1bW4ubmFtZV1cIiBbcmVhZG9ubHldPVwidHJ1ZVwiPjwvc3BhLWNoZWNrPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3QnXCI+XHJcbiAgICA8c3BhLXNlbGVjdCBbb3B0aW9uc109XCJjb2x1bW4ub3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cImNvbHVtbi5vcHRpb25EaXNwbGF5XCIgW29wdGlvblZhbHVlXT1cImNvbHVtbi5vcHRpb25WYWx1ZVwiIFsodmFsdWUpXT1cInJvd1tjb2x1bW4ubmFtZV1cIiB3aWR0aD1cIjkwJVwiPjwvc3BhLXNlbGVjdD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoaXAnXCI+XHJcbiAgICA8bWF0LWNoaXAtbGlzdD5cclxuICAgICAgPG1hdC1jaGlwIChjbGljayk9XCJvbkNvbHVtbkNsaWNrKGNvbHVtbiwgcm93KVwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IHRlc3RDb2xvckNvbmRpdGlvbihyb3csIGNvbHVtbi5jb2xvcikgPyBjb2x1bW4uY29sb3IubmFtZSA6IGdldENvbG9yKHJvd1tjb2x1bW4ubmFtZV0sIGNvbHVtbj8ub3B0aW9ucyl9XCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+IHt7cm93W2NvbHVtbi5uYW1lXX19IDwvbWF0LWNoaXA+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJjb2x1bW4uaWNvbiAmJiB0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGNvbHVtbi5pY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0gPz8gY29sdW1uLmljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzpjb2x1bW4uaWNvbj8uY29sb3J9XCI+e3tjb2x1bW4uaWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtY2hpcC1saXN0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaWNvbidcIj5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJjb2x1bW4uaWNvbiAmJiB0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGNvbHVtbi5pY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0gPz8gY29sdW1uLmljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzpjb2x1bW4uaWNvbj8uY29sb3J9XCI+e3tjb2x1bW4uaWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJ0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2ljb24udGlwRmllbGRdID8/IGljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2ljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmljb24/LmNvbG9yfVwiPnt7aWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cclxuICAgIHt7cm93W2NvbHVtbi5uYW1lXSB8IGRhdGUgOiAnZGQvTU0veXl5eSd9fVxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRldGltZSdcIj5cclxuICAgIHt7cm93W2NvbHVtbi5uYW1lXSB8IGRhdGUgOiAnZGQvTU0veXl5eSBISDptbSd9fVxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb25leSdcIj5cclxuICAgIDxsYWJlbCBbbmdTdHlsZV09XCJ7J2NvbG9yJzogdGVzdENvbG9yQ29uZGl0aW9uKHJvdywgY29sdW1uLmNvbG9yKSA/IGNvbHVtbi5jb2xvci5uYW1lIDogJyd9XCI+e3tyb3dbY29sdW1uLm5hbWVdIHwgY3VycmVuY3k6Jyc6Jyd9fTwvbGFiZWw+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwiY29sdW1uLmljb24gJiYgdGVzdEljb25Db25kaXRpb24ocm93LCBjb2x1bW4uaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbY29sdW1uLmljb24udGlwRmllbGRdID8/IGNvbHVtbi5pY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIGNvbHVtbi5pY29uc1wiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogdGVzdENvbG9yQ29uZGl0aW9uKHJvdywgY29sdW1uLmNvbG9yKSA/IGNvbHVtbi5jb2xvci5uYW1lIDogJyd9XCIgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soY29sdW1uLm5hbWUsIHJvdylcIj57e3Jvd1tjb2x1bW4ubmFtZV19fTwvYnV0dG9uPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgIDxsYWJlbCBbbmdTdHlsZV09XCJ7J2NvbG9yJzogdGVzdENvbG9yQ29uZGl0aW9uKHJvdywgY29sdW1uLmNvbG9yKSA/IGNvbHVtbi5jb2xvci5uYW1lIDogJyd9XCI+e3tyb3dbY29sdW1uLm5hbWVdfX08L2xhYmVsPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXJvdy90YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93L3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyxpQkFBaUI7SUFTNUIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFKdEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUM3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBQy9ELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVILENBQUM7SUFFckQsaUJBQWlCLENBQUMsR0FBUSxFQUFFLElBQVU7UUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckQsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQVEsRUFBRSxNQUFjO1FBRTFDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlELE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlFO1FBR0QsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFDO1lBQ2hCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDakMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUN4QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQ25CO2FBRUY7U0FDRjthQUNHO1lBRUYsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO2dCQUMxQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzdEO1NBRUY7UUFHRCxPQUFPLEVBQUUsQ0FBQztJQUdaLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVSxFQUFFLE9BQWM7UUFDakMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztRQUN4RCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWSxFQUFFLEdBQVE7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWMsRUFBRSxHQUFRO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OzhHQTdEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwwTkNUOUIsOHhOQXNFQTsyRkQ3RGEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7b0dBS2hCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29sdW1uLCBCdXR0b24sIFRhYmxlQ29uZmlnLCBJY29uIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgQnV0dG9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1dHRvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRhYmxlLXJvdycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtcm93LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVSb3dDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGNvbHVtbjogQ29sdW1uO1xyXG4gIEBJbnB1dCgpIHJvdzogYW55O1xyXG4gIEBJbnB1dCgpIGNvbmZpZzogVGFibGVDb25maWc7XHJcblxyXG4gIEBPdXRwdXQoKSBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBuYW1lOiBzdHJpbmcsIHJvdzogYW55IH0+KCk7XHJcbiAgQE91dHB1dCgpIGNvbHVtbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IGNvbHVtbjogQ29sdW1uLCByb3c6IGFueSB9PigpO1xyXG4gIEBPdXRwdXQoKSBzaG93QmFubmVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBidXR0b25TZXJ2aWNlOiBCdXR0b25TZXJ2aWNlKSB7IH1cclxuXHJcbiAgdGVzdEljb25Db25kaXRpb24ocm93OiBhbnksIGljb246IEljb24pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpY29uLmNvbmRpdGlvbiA/IGljb24uY29uZGl0aW9uKHJvdykgOiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3JPbkNvbmRpdGlvbihyb3c6IGFueSwgY29sdW1uOiBDb2x1bW4pIHtcclxuXHJcbiAgICBpZiAoY29sdW1uLm9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgY29sb3IgPSB0aGlzLmdldENvbG9yKHJvd1tjb2x1bW4ubmFtZV0sIGNvbHVtbi5vcHRpb25zKTtcclxuICAgICAgcmV0dXJuIGNvbHVtbi50eXBlID09PSAnY2hpcCcgPyBjb2xvciA6IChjb2xvciA9PT0gJ2xpZ2h0Z3JleScgPyAnJyA6IGNvbG9yKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKGNvbHVtbi5jb2xvcnMpe1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbG9yIG9mIGNvbHVtbi5jb2xvcnMpIHtcclxuICAgICAgICBpZiAoY29sb3IuY29uZGl0aW9uKHJvdykpIHtcclxuICAgICAgICAgIHJldHVybiBjb2xvci5uYW1lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2V7XHJcblxyXG4gICAgICBpZiAoY29sdW1uLmNvbG9yICYmIGNvbHVtbi5jb2xvci5jb25kaXRpb24pIHtcclxuICAgICAgICByZXR1cm4gY29sdW1uLmNvbG9yLmNvbmRpdGlvbihyb3cpID8gY29sdW1uLmNvbG9yLm5hbWUgOiAnJztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG5cclxuXHJcbiAgfVxyXG5cclxuICBnZXRDb2xvcih2YWx1ZTogYW55LCBvcHRpb25zOiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIHJldHVybiAnbGlnaHRncmV5JztcclxuICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZChvcHQgPT4gb3B0LnZhbHVlID09PSB2YWx1ZSk7XHJcbiAgICByZXR1cm4gb3B0aW9uID8gb3B0aW9uLmNvbG9yIDogJ2xpZ2h0Z3JleSc7XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbkNsaWNrKG5hbWU6IHN0cmluZywgcm93OiBhbnkpIHtcclxuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdCh7IG5hbWUsIHJvdyB9KTtcclxuICB9XHJcblxyXG4gIG9uQ29sdW1uQ2xpY2soY29sdW1uOiBDb2x1bW4sIHJvdzogYW55KSB7XHJcbiAgICB0aGlzLmNvbHVtbkNsaWNrLmVtaXQoeyBjb2x1bW4sIHJvdyB9KTtcclxuICB9XHJcblxyXG4gIHNob3dCYW5uZXIobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNob3dCYW5uZXJFdmVudC5lbWl0KG1lc3NhZ2UpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb2x1bW4udHlwZVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cclxuICAgIDxzcGEtY2hlY2sgW3ZhbHVlXT1cInJvd1tjb2x1bW4ubmFtZV1cIiBbcmVhZG9ubHldPVwidHJ1ZVwiPjwvc3BhLWNoZWNrPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3QnXCI+XHJcbiAgICA8c3BhLXNlbGVjdCBbb3B0aW9uc109XCJjb2x1bW4ub3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cImNvbHVtbi5vcHRpb25EaXNwbGF5XCIgW29wdGlvblZhbHVlXT1cImNvbHVtbi5vcHRpb25WYWx1ZVwiIFsodmFsdWUpXT1cInJvd1tjb2x1bW4ubmFtZV1cIiB3aWR0aD1cIjkwJVwiPjwvc3BhLXNlbGVjdD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoaXAnXCI+XHJcbiAgICA8bWF0LWNoaXAtbGlzdD5cclxuICAgICAgPG1hdC1jaGlwIChjbGljayk9XCJvbkNvbHVtbkNsaWNrKGNvbHVtbiwgcm93KVwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGdldENvbG9yT25Db25kaXRpb24ocm93LCBjb2x1bW4pfVwiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPiB7e3Jvd1tjb2x1bW4ubmFtZV19fSA8L21hdC1jaGlwPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwiY29sdW1uLmljb24gJiYgdGVzdEljb25Db25kaXRpb24ocm93LCBjb2x1bW4uaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbY29sdW1uLmljb24udGlwRmllbGRdID8/IGNvbHVtbi5pY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbWF0LWNoaXAtbGlzdD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCI+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwiY29sdW1uLmljb24gJiYgdGVzdEljb25Db25kaXRpb24ocm93LCBjb2x1bW4uaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbY29sdW1uLmljb24udGlwRmllbGRdID8/IGNvbHVtbi5pY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIGNvbHVtbi5pY29uc1wiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICB7e3Jvd1tjb2x1bW4ubmFtZV0gfCBkYXRlIDogJ2RkL01NL3l5eXknfX1cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJjb2x1bW4uaWNvbiAmJiB0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGNvbHVtbi5pY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0gPz8gY29sdW1uLmljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzpjb2x1bW4uaWNvbj8uY29sb3J9XCI+e3tjb2x1bW4uaWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJ0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2ljb24udGlwRmllbGRdID8/IGljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2ljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmljb24/LmNvbG9yfVwiPnt7aWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZXRpbWUnXCI+XHJcbiAgICB7e3Jvd1tjb2x1bW4ubmFtZV0gfCBkYXRlIDogJ2RkL01NL3l5eXkgSEg6bW0nfX1cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJjb2x1bW4uaWNvbiAmJiB0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGNvbHVtbi5pY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0gPz8gY29sdW1uLmljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzpjb2x1bW4uaWNvbj8uY29sb3J9XCI+e3tjb2x1bW4uaWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJ0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2ljb24udGlwRmllbGRdID8/IGljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2ljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmljb24/LmNvbG9yfVwiPnt7aWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9uZXknXCI+XHJcbiAgICA8bGFiZWwgW25nU3R5bGVdPVwieydjb2xvcic6IGdldENvbG9yT25Db25kaXRpb24ocm93LCBjb2x1bW4pIH1cIj57e3Jvd1tjb2x1bW4ubmFtZV0gfCBjdXJyZW5jeTonJzonJ319PC9sYWJlbD5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJjb2x1bW4uaWNvbiAmJiB0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGNvbHVtbi5pY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0gPz8gY29sdW1uLmljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzpjb2x1bW4uaWNvbj8uY29sb3J9XCI+e3tjb2x1bW4uaWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJ0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2ljb24udGlwRmllbGRdID8/IGljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2ljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmljb24/LmNvbG9yfVwiPnt7aWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYnV0dG9uJ1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIm9uQ29sdW1uQ2xpY2soY29sdW1uLCByb3cpXCIgW25nU3R5bGVdPVwieydjb2xvcic6IGdldENvbG9yT25Db25kaXRpb24ocm93LCBjb2x1bW4pfVwiID57e3Jvd1tjb2x1bW4ubmFtZV19fTwvYnV0dG9uPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgIDxsYWJlbCBbbmdTdHlsZV09XCJ7J2NvbG9yJzogZ2V0Q29sb3JPbkNvbmRpdGlvbihyb3csIGNvbHVtbikgfVwiPnt7cm93W2NvbHVtbi5uYW1lXX19PC9sYWJlbD5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJjb2x1bW4uaWNvbiAmJiB0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGNvbHVtbi5pY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0gPz8gY29sdW1uLmljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzpjb2x1bW4uaWNvbj8uY29sb3J9XCI+e3tjb2x1bW4uaWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJ0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2ljb24udGlwRmllbGRdID8/IGljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2ljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmljb24/LmNvbG9yfVwiPnt7aWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -131,10 +131,10 @@ export class TextComponent {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
TextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
134
|
-
TextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextComponent, selector: "spa-text", inputs: { readonly: "readonly", hint: "hint", display: "display", placeholder: "placeholder", value: "value", format: "format", type: "type", rows: "rows", width: "width", options: "options", optionValue: "optionValue", required: "required", min: "min", max: "max", regex: "regex", suffix: "suffix", infoMessage: "infoMessage" }, outputs: { valueChange: "valueChange", leave: "leave", enterPress: "enterPress", infoClick: "infoClick" }, ngImport: i0, template: "\r\n<!-- General Text -->\r\n<mat-form-field *ngIf=\"(!rows || rows == 1) && (format=='text' || format =='date') && options.length==0\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width}\" style=\"margin-right: 5px;\" >\r\n<mat-label *ngIf=\"format=='text'\">{{display}}</mat-label>\r\n<mat-label *ngIf=\"format=='date'\">{{display | date:'dd/MM/yyyy'}}</mat-label>\r\n<input matInput autocomplete=\"off\" [(ngModel)]=\"value\" (change)=\"changed()\" (blur)=\"leaved()\" (keyup.enter)=\"enterPressed()\" [type]=\"type\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"/>\r\n<mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <label *ngIf=\"suffix\">{{suffix}}</label>\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n\r\n </div>\r\n</mat-form-field>\r\n\r\n\r\n<!-- password -->\r\n<mat-form-field class=\"spa-text\" *ngIf=\"format=='password'\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width}\" style=\"margin-right: 5px\">\r\n <mat-label>{{display}}</mat-label>\r\n <input matInput [type]=\"hide ? 'password' : 'text'\" (keyup.enter)=\"enterPressed()\" (change)=\"changed()\" (blur)=\"leaved()\" [(ngModel)]=\"value\" autocomplete=\"off\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\">\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <button mat-icon-button matSuffix (click)=\"hide = !hide\" [attr.aria-label]=\"'Hide password'\" [attr.aria-pressed]=\"hide\">\r\n <mat-icon style=\"font-size: 18px;\">{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n\r\n<!-- TextArea copy - Only change input to textarea and change ngif to not -->\r\n\r\n<mat-form-field *ngIf=\"rows > 1 && options.length==0\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\"
|
|
134
|
+
TextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextComponent, selector: "spa-text", inputs: { readonly: "readonly", hint: "hint", display: "display", placeholder: "placeholder", value: "value", format: "format", type: "type", rows: "rows", width: "width", options: "options", optionValue: "optionValue", required: "required", min: "min", max: "max", regex: "regex", suffix: "suffix", infoMessage: "infoMessage" }, outputs: { valueChange: "valueChange", leave: "leave", enterPress: "enterPress", infoClick: "infoClick" }, ngImport: i0, template: "\r\n<!-- General Text -->\r\n<mat-form-field *ngIf=\"(!rows || rows == 1) && (format=='text' || format =='date') && options.length==0\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width ?? '100%'}\" style=\"margin-right: 5px;\" >\r\n<mat-label *ngIf=\"format=='text'\">{{display}}</mat-label>\r\n<mat-label *ngIf=\"format=='date'\">{{display | date:'dd/MM/yyyy'}}</mat-label>\r\n<input matInput autocomplete=\"off\" [(ngModel)]=\"value\" (change)=\"changed()\" (blur)=\"leaved()\" (keyup.enter)=\"enterPressed()\" [type]=\"type\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"/>\r\n<mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <label *ngIf=\"suffix\">{{suffix}}</label>\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n\r\n </div>\r\n</mat-form-field>\r\n\r\n\r\n<!-- password -->\r\n<mat-form-field class=\"spa-text\" *ngIf=\"format=='password'\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width ?? '100%'}\" style=\"margin-right: 5px\">\r\n <mat-label>{{display}}</mat-label>\r\n <input matInput [type]=\"hide ? 'password' : 'text'\" (keyup.enter)=\"enterPressed()\" (change)=\"changed()\" (blur)=\"leaved()\" [(ngModel)]=\"value\" autocomplete=\"off\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\">\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <button mat-icon-button matSuffix (click)=\"hide = !hide\" [attr.aria-label]=\"'Hide password'\" [attr.aria-pressed]=\"hide\">\r\n <mat-icon style=\"font-size: 18px;\">{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n\r\n<!-- TextArea copy - Only change input to textarea and change ngif to not -->\r\n\r\n<mat-form-field *ngIf=\"rows > 1 && options.length==0\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width ?? '100%'}\" style=\"margin-right: 5px;\">\r\n<mat-label>{{display}}</mat-label>\r\n<textarea matInput autocomplete=\"off\" [rows]=\"rows\" [(ngModel)]=\"value\" (change)=\"changed()\" (keyup.enter)=\"enterPressed()\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"></textarea>\r\n<mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n\r\n\r\n\r\n<!-- Auto Complete-->\r\n\r\n <mat-form-field *ngIf=\"(!rows || rows == 1) && format=='text' && options.length>0 \" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width ?? '100%'}\" style=\"margin-right: 5px;\">\r\n <mat-label>{{display}}</mat-label>\r\n <input [type]=\"type\" [placeholder]=\"placeholder\" [(ngModel)]=\"value\" (change)=\"changed()\" matInput [formControl]=\"myControl\" [matAutocomplete]=\"auto\" [required]=\"required\" [readonly]=\"readonly\">\r\n <mat-error *ngIf=\"control.invalid\">{{validate(myControl)}}</mat-error>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"changed()\">\r\n\r\n <ng-container *ngIf=\"!multiDimension\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiDimension\">\r\n <mat-option *ngFor=\"let row of filteredOptions | async\" [value]=\"row[optionValue]\">\r\n {{row[optionValue]}}\r\n </mat-option>\r\n </ng-container>\r\n\r\n\r\n </mat-autocomplete>\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n\r\n", styles: [""], 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: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DatePipe, name: "date" }] });
|
|
135
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextComponent, decorators: [{
|
|
136
136
|
type: Component,
|
|
137
|
-
args: [{ selector: 'spa-text', template: "\r\n<!-- General Text -->\r\n<mat-form-field *ngIf=\"(!rows || rows == 1) && (format=='text' || format =='date') && options.length==0\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width}\" style=\"margin-right: 5px;\" >\r\n<mat-label *ngIf=\"format=='text'\">{{display}}</mat-label>\r\n<mat-label *ngIf=\"format=='date'\">{{display | date:'dd/MM/yyyy'}}</mat-label>\r\n<input matInput autocomplete=\"off\" [(ngModel)]=\"value\" (change)=\"changed()\" (blur)=\"leaved()\" (keyup.enter)=\"enterPressed()\" [type]=\"type\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"/>\r\n<mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <label *ngIf=\"suffix\">{{suffix}}</label>\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n\r\n </div>\r\n</mat-form-field>\r\n\r\n\r\n<!-- password -->\r\n<mat-form-field class=\"spa-text\" *ngIf=\"format=='password'\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width}\" style=\"margin-right: 5px\">\r\n <mat-label>{{display}}</mat-label>\r\n <input matInput [type]=\"hide ? 'password' : 'text'\" (keyup.enter)=\"enterPressed()\" (change)=\"changed()\" (blur)=\"leaved()\" [(ngModel)]=\"value\" autocomplete=\"off\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\">\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <button mat-icon-button matSuffix (click)=\"hide = !hide\" [attr.aria-label]=\"'Hide password'\" [attr.aria-pressed]=\"hide\">\r\n <mat-icon style=\"font-size: 18px;\">{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n\r\n<!-- TextArea copy - Only change input to textarea and change ngif to not -->\r\n\r\n<mat-form-field *ngIf=\"rows > 1 && options.length==0\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\"
|
|
137
|
+
args: [{ selector: 'spa-text', template: "\r\n<!-- General Text -->\r\n<mat-form-field *ngIf=\"(!rows || rows == 1) && (format=='text' || format =='date') && options.length==0\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width ?? '100%'}\" style=\"margin-right: 5px;\" >\r\n<mat-label *ngIf=\"format=='text'\">{{display}}</mat-label>\r\n<mat-label *ngIf=\"format=='date'\">{{display | date:'dd/MM/yyyy'}}</mat-label>\r\n<input matInput autocomplete=\"off\" [(ngModel)]=\"value\" (change)=\"changed()\" (blur)=\"leaved()\" (keyup.enter)=\"enterPressed()\" [type]=\"type\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"/>\r\n<mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <label *ngIf=\"suffix\">{{suffix}}</label>\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n\r\n </div>\r\n</mat-form-field>\r\n\r\n\r\n<!-- password -->\r\n<mat-form-field class=\"spa-text\" *ngIf=\"format=='password'\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width ?? '100%'}\" style=\"margin-right: 5px\">\r\n <mat-label>{{display}}</mat-label>\r\n <input matInput [type]=\"hide ? 'password' : 'text'\" (keyup.enter)=\"enterPressed()\" (change)=\"changed()\" (blur)=\"leaved()\" [(ngModel)]=\"value\" autocomplete=\"off\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\">\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <button mat-icon-button matSuffix (click)=\"hide = !hide\" [attr.aria-label]=\"'Hide password'\" [attr.aria-pressed]=\"hide\">\r\n <mat-icon style=\"font-size: 18px;\">{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n\r\n<!-- TextArea copy - Only change input to textarea and change ngif to not -->\r\n\r\n<mat-form-field *ngIf=\"rows > 1 && options.length==0\" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width ?? '100%'}\" style=\"margin-right: 5px;\">\r\n<mat-label>{{display}}</mat-label>\r\n<textarea matInput autocomplete=\"off\" [rows]=\"rows\" [(ngModel)]=\"value\" (change)=\"changed()\" (keyup.enter)=\"enterPressed()\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"></textarea>\r\n<mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n\r\n\r\n\r\n<!-- Auto Complete-->\r\n\r\n <mat-form-field *ngIf=\"(!rows || rows == 1) && format=='text' && options.length>0 \" [hideRequiredMarker]=\"!required\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width ?? '100%'}\" style=\"margin-right: 5px;\">\r\n <mat-label>{{display}}</mat-label>\r\n <input [type]=\"type\" [placeholder]=\"placeholder\" [(ngModel)]=\"value\" (change)=\"changed()\" matInput [formControl]=\"myControl\" [matAutocomplete]=\"auto\" [required]=\"required\" [readonly]=\"readonly\">\r\n <mat-error *ngIf=\"control.invalid\">{{validate(myControl)}}</mat-error>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"changed()\">\r\n\r\n <ng-container *ngIf=\"!multiDimension\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiDimension\">\r\n <mat-option *ngFor=\"let row of filteredOptions | async\" [value]=\"row[optionValue]\">\r\n {{row[optionValue]}}\r\n </mat-option>\r\n </ng-container>\r\n\r\n\r\n </mat-autocomplete>\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n\r\n" }]
|
|
138
138
|
}], ctorParameters: function () { return []; }, propDecorators: { readonly: [{
|
|
139
139
|
type: Input
|
|
140
140
|
}], hint: [{
|
|
@@ -178,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
178
178
|
}], infoClick: [{
|
|
179
179
|
type: Output
|
|
180
180
|
}] } });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy90ZXh0L3RleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFPN0MsTUFBTSxPQUFPLGFBQWE7SUFFeEI7UUE0QkEsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsc0JBQXNCO1FBQ3RCLHdCQUFtQixHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLFNBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxtQkFBbUI7UUFFdkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDVixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVQsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsZUFBVSxHQUFH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QUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVFLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9UaW5Db3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucyl7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IFtdXHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5vcHRpb25zLmxlbmd0aCA+IDApe1xyXG4gICAgICB0aGlzLmluaXRGaWx0ZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wbGFjZWhvbGRlciA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBcIkVudGVyIFwiICsgdGhpcy5kaXNwbGF5O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmluaXRDb250cm9sKHRoaXMuY29udHJvbClcclxuXHJcbiAgICB0aGlzLmluaXRDb250cm9sKHRoaXMubXlDb250cm9sKVxyXG5cclxuICB9XHJcblxyXG5cclxuICBmaWx0ZXJlZE9wdGlvbnM6IE9ic2VydmFibGU8c3RyaW5nW10+O1xyXG4gIG11bHRpRGltZW5zaW9uID0gZmFsc2U7XHJcblxyXG4gIC8vIG9wdGlvbnM6IEZvcm1Hcm91cDtcclxuICBoaWRlUmVxdWlyZWRDb250cm9sID0gbmV3IEZvcm1Db250cm9sKHRydWUpO1xyXG4gIGhpZGUgPSB0cnVlOyAvL2ZvciBwYXNzd29yZCBvbmx5XHJcblxyXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGludCA9IFwiXCI7XHJcbiAgQElucHV0KCkgZGlzcGxheSA9IFwiXCI7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZm9ybWF0ID0gXCJ0ZXh0XCI7XHJcbiAgQElucHV0KCkgdHlwZSA9IFwiXCI7XHJcblxyXG4gIEBPdXRwdXQoKSBsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZW50ZXJQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KCkgcm93cyA9IDE7XHJcbiAgQElucHV0KCkgd2lkdGggPSBcIjEwMCVcIlxyXG5cclxuXHJcbiAgLy9BdXRvY29tcGxldGUgaXRlbXNcclxuICBASW5wdXQoKSBvcHRpb25zOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBvcHRpb25WYWx1ZSA9IFwiXCI7XHJcblxyXG4gIC8vdmFsaWRhdGlvbiBpbnB1dFxyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtaW4gPSAwO1xyXG4gIEBJbnB1dCgpIG1heCA9IDkwMDAwMDAwMDAwMDAwMDA7IC8vTWF0aC5tYXhcclxuICBASW5wdXQoKSByZWdleCA9IFwiXCIgLy9cIlthLXpBLVogXSpcIiAvL1wiL1xcUytAXFxTK1xcLlxcUysvXCI7XHJcblxyXG4gIEBJbnB1dCgpIHN1ZmZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGluZm9DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgb25JbmZvQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5pbmZvQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0RmlsdGVyKCkge1xyXG5cclxuICAgIGNvbnN0IG9iaktleUxpc3QgPSBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnNbMF0pO1xyXG4gICAgY29uc3QgZmlyc3RLZXkgPSBvYmpLZXlMaXN0WzBdO1xyXG4gICAgdGhpcy5tdWx0aURpbWVuc2lvbiA9ICFDb3JlLmlzTnVtYmVyKGZpcnN0S2V5KTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMubXlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICBzdGFydFdpdGgoXCJcIiksXHJcbiAgICAgIG1hcCgodmFsdWUpID0+IHRoaXMuX2ZpbHRlcih2YWx1ZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsdGVyKHZhbHVlKTogc3RyaW5nW10ge1xyXG5cclxuICAgIGlmICh0aGlzLm11bHRpRGltZW5zaW9uKXtcclxuXHJcbiAgICAgIGxldCBmaWx0ZXJWYWx1ZSA9IFwiXCI7XHJcbiAgICAgIGlmICh2YWx1ZSAhPSBcIlwiICYmIHZhbHVlKXtcclxuICAgICAgICBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbltgJHt0aGlzLm9wdGlvblZhbHVlfWBdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKTtcclxuXHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKTtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGluaXRDb250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sKXtcclxuICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhudWxsKTtcclxuICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMucmVxdWlyZWQgJiYgIXRoaXMucmVhZG9ubHkpIHtcclxuXHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5taW5MZW5ndGgodGhpcy5taW4pLCBWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLm1heCksIFZhbGlkYXRvcnMucGF0dGVybih0aGlzLnJlZ2V4KV0pO1xyXG4gICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgY2hhbmdlZCgpe1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5teUNvbnRyb2wudmFsdWUpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBsZWF2ZWQoKXtcclxuICAgIHRoaXMubGVhdmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZW50ZXJQcmVzc2VkKCkge1xyXG4gICAgdGhpcy5lbnRlclByZXNzLmVtaXQoKTtcclxuICB9XHJcblxyXG5cclxuICAvL3ZhbGlkYXRpb25cclxuICBteUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCh0aGlzLm1pbiksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMubWF4KSwgVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMucmVnZXgpXSk7XHJcbiAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCggdGhpcy52YWx1ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKHRoaXMubWluKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5tYXgpLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5yZWdleCkgIF0pO1xyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCkgOiBzdHJpbmd7XHJcblxyXG5cclxuICAgIGlmICgodGhpcy5yZXF1aXJlZCB8fCB0aGlzLm1pbiA+IDApICYmIGNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykgKXtcclxuICAgICAgcmV0dXJuIGBSZXF1aXJlZGA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRyb2wuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICl7XHJcbiAgICAgIHJldHVybiBgTWluaW11biBsZW5ndGggaXMgJHt0aGlzLm1pbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250cm9sLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSkge1xyXG4gICAgICByZXR1cm4gYE1heGltdW0gbGVuZ3RoIGlzICR7dGhpcy5tYXh9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29udHJvbC5oYXNFcnJvcigncGF0dGVybicpKSB7XHJcbiAgICAgIHJldHVybiBgSW52YWxpZCBJbnB1dGA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIGlmICh0aGlzLnJlZ2V4ICE9IFwiXCIpe1xyXG5cclxuICAgIC8vICAgbGV0IHIgPSBuZXcgUmVnRXhwKHRoaXMucmVnZXgsIFwiZ1wiKTtcclxuXHJcbiAgICAvLyAgIGlmICghci50ZXN0KHRoaXMudmFsdWUpKXtcclxuICAgIC8vICAgICB0aGlzLnZhbGlkID0gZmFsc2U7XHJcbiAgICAvLyAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBcIkludmFsaWQgaW5wdXRcIjtcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2U7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG59XHJcbiIsIlxyXG48IS0tIEdlbmVyYWwgVGV4dCAtLT5cclxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiKCFyb3dzIHx8IHJvd3MgPT0gMSkgJiYgKGZvcm1hdD09J3RleHQnIHx8IGZvcm1hdCA9PSdkYXRlJykgJiYgb3B0aW9ucy5sZW5ndGg9PTBcIiBbaGlkZVJlcXVpcmVkTWFya2VyXT1cIiFyZXF1aXJlZFwiIFtoaW50TGFiZWxdPVwiaGludFwiICBbbmdTdHlsZV09XCJ7J3dpZHRoJzp3aWR0aH1cIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4O1wiID5cclxuPG1hdC1sYWJlbCAqbmdJZj1cImZvcm1hdD09J3RleHQnXCI+e3tkaXNwbGF5fX08L21hdC1sYWJlbD5cclxuPG1hdC1sYWJlbCAqbmdJZj1cImZvcm1hdD09J2RhdGUnXCI+e3tkaXNwbGF5IHwgZGF0ZTonZGQvTU0veXl5eSd9fTwvbWF0LWxhYmVsPlxyXG48aW5wdXQgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiICAoY2hhbmdlKT1cImNoYW5nZWQoKVwiIChibHVyKT1cImxlYXZlZCgpXCIgKGtleXVwLmVudGVyKT1cImVudGVyUHJlc3NlZCgpXCIgW3R5cGVdPVwidHlwZVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIvPlxyXG48bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkXCI+e3t2YWxpZGF0ZShjb250cm9sKX19PC9tYXQtZXJyb3I+XHJcbiAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJzdWZmaXgtaWNvbnNcIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cInN1ZmZpeFwiPnt7c3VmZml4fX08L2xhYmVsPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJpbmZvTWVzc2FnZVwiIChjbGljayk9XCJvbkluZm9DbGljaygkZXZlbnQpXCIgbWF0VG9vbHRpcD1cIkluZm9cIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICA8bWF0LWljb24gc3R5bGU9XCJjb2xvcjogc3RlZWxibHVlO1wiPmluZm88L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gIDwvZGl2PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuXHJcbjwhLS0gcGFzc3dvcmQgLS0+XHJcbjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInNwYS10ZXh0XCIgKm5nSWY9XCJmb3JtYXQ9PSdwYXNzd29yZCdcIiBbaGlkZVJlcXVpcmVkTWFya2VyXT1cIiFyZXF1aXJlZFwiIFtoaW50TGFiZWxdPVwiaGludFwiICBbbmdTdHlsZV09XCJ7J3dpZHRoJzp3aWR0aH1cIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4XCI+XHJcbiAgPG1hdC1sYWJlbD57e2Rpc3BsYXl9fTwvbWF0LWxhYmVsPlxyXG4gIDxpbnB1dCBtYXRJbnB1dCBbdHlwZV09XCJoaWRlID8gJ3Bhc3N3b3JkJyA6ICd0ZXh0J1wiIChrZXl1cC5lbnRlcik9XCJlbnRlclByZXNzZWQoKVwiIChjaGFuZ2UpPVwiY2hhbmdlZCgpXCIgKGJsdXIpPVwibGVhdmVkKClcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkXCI+e3t2YWxpZGF0ZShjb250cm9sKX19PC9tYXQtZXJyb3I+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4IChjbGljayk9XCJoaWRlID0gIWhpZGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidIaWRlIHBhc3N3b3JkJ1wiIFthdHRyLmFyaWEtcHJlc3NlZF09XCJoaWRlXCI+XHJcbiAgICA8bWF0LWljb24gc3R5bGU9XCJmb250LXNpemU6IDE4cHg7XCI+e3toaWRlID8gJ3Zpc2liaWxpdHlfb2ZmJyA6ICd2aXNpYmlsaXR5J319PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcblxyXG48IS0tIFRleHRBcmVhIGNvcHkgLSBPbmx5IGNoYW5nZSBpbnB1dCB0byB0ZXh0YXJlYSBhbmQgY2hhbmdlIG5naWYgdG8gbm90IC0tPlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwicm93cyA+IDEgICYmIG9wdGlvbnMubGVuZ3RoPT0wXCIgW2hpZGVSZXF1aXJlZE1hcmtlcl09XCIhcmVxdWlyZWRcIiBbaGludExhYmVsXT1cImhpbnRcIiAgW25nU3R5bGVdPVwieyd3aWR0aCc6d2lkdGh9XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweDtcIj5cclxuPG1hdC1sYWJlbD57e2Rpc3BsYXl9fTwvbWF0LWxhYmVsPlxyXG48dGV4dGFyZWEgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgW3Jvd3NdPVwicm93c1wiIFsobmdNb2RlbCldPVwidmFsdWVcIiAoY2hhbmdlKT1cImNoYW5nZWQoKVwiIChrZXl1cC5lbnRlcik9XCJlbnRlclByZXNzZWQoKVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCI+PC90ZXh0YXJlYT5cclxuPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2wuaW52YWxpZFwiPnt7dmFsaWRhdGUoY29udHJvbCl9fTwvbWF0LWVycm9yPlxyXG4gIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwic3VmZml4LWljb25zXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImluZm9NZXNzYWdlXCIgKGNsaWNrKT1cIm9uSW5mb0NsaWNrKCRldmVudClcIiBtYXRUb29sdGlwPVwiSW5mb1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImNvbG9yOiBzdGVlbGJsdWU7XCI+aW5mbzwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcblxyXG5cclxuPCEtLSBBdXRvIENvbXBsZXRlLS0+XHJcblxyXG4gIDxtYXQtZm9ybS1maWVsZCAgKm5nSWY9XCIoIXJvd3MgfHwgcm93cyA9PSAxKSAmJiBmb3JtYXQ9PSd0ZXh0JyAmJiBvcHRpb25zLmxlbmd0aD4wIFwiIFtoaWRlUmVxdWlyZWRNYXJrZXJdPVwiIXJlcXVpcmVkXCIgW2hpbnRMYWJlbF09XCJoaW50XCIgW25nU3R5bGVdPVwieyd3aWR0aCc6d2lkdGh9XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweDtcIj5cclxuICAgIDxtYXQtbGFiZWw+e3tkaXNwbGF5fX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dCBbdHlwZV09XCJ0eXBlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChjaGFuZ2UpPVwiY2hhbmdlZCgpXCIgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cIm15Q29udHJvbFwiICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCI+XHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkXCI+e3t2YWxpZGF0ZShteUNvbnRyb2wpfX08L21hdC1lcnJvcj5cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cImNoYW5nZWQoKVwiPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aURpbWVuc2lvblwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAgICB7e29wdGlvbn19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aURpbWVuc2lvblwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCByb3cgb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwicm93W29wdGlvblZhbHVlXVwiPlxyXG4gICAgICAgICAge3tyb3dbb3B0aW9uVmFsdWVdfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwic3VmZml4LWljb25zXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJpbmZvTWVzc2FnZVwiIChjbGljayk9XCJvbkluZm9DbGljaygkZXZlbnQpXCIgbWF0VG9vbHRpcD1cIkluZm9cIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6IHN0ZWVsYmx1ZTtcIj5pbmZvPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiJdfQ==
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy90ZXh0L3RleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFPN0MsTUFBTSxPQUFPLGFBQWE7SUFFeEI7UUE0QkEsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsc0JBQXNCO1FBQ3RCLHdCQUFtQixHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLFNBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxtQkFBbUI7UUFFdkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDVixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVQsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsZUFBVSxHQUFH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QUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVFLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9UaW5Db3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucyl7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IFtdXHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5vcHRpb25zLmxlbmd0aCA+IDApe1xyXG4gICAgICB0aGlzLmluaXRGaWx0ZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wbGFjZWhvbGRlciA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBcIkVudGVyIFwiICsgdGhpcy5kaXNwbGF5O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmluaXRDb250cm9sKHRoaXMuY29udHJvbClcclxuXHJcbiAgICB0aGlzLmluaXRDb250cm9sKHRoaXMubXlDb250cm9sKVxyXG5cclxuICB9XHJcblxyXG5cclxuICBmaWx0ZXJlZE9wdGlvbnM6IE9ic2VydmFibGU8c3RyaW5nW10+O1xyXG4gIG11bHRpRGltZW5zaW9uID0gZmFsc2U7XHJcblxyXG4gIC8vIG9wdGlvbnM6IEZvcm1Hcm91cDtcclxuICBoaWRlUmVxdWlyZWRDb250cm9sID0gbmV3IEZvcm1Db250cm9sKHRydWUpO1xyXG4gIGhpZGUgPSB0cnVlOyAvL2ZvciBwYXNzd29yZCBvbmx5XHJcblxyXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGludCA9IFwiXCI7XHJcbiAgQElucHV0KCkgZGlzcGxheSA9IFwiXCI7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZm9ybWF0ID0gXCJ0ZXh0XCI7XHJcbiAgQElucHV0KCkgdHlwZSA9IFwiXCI7XHJcblxyXG4gIEBPdXRwdXQoKSBsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZW50ZXJQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KCkgcm93cyA9IDE7XHJcbiAgQElucHV0KCkgd2lkdGggPSBcIjEwMCVcIlxyXG5cclxuXHJcbiAgLy9BdXRvY29tcGxldGUgaXRlbXNcclxuICBASW5wdXQoKSBvcHRpb25zOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBvcHRpb25WYWx1ZSA9IFwiXCI7XHJcblxyXG4gIC8vdmFsaWRhdGlvbiBpbnB1dFxyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtaW4gPSAwO1xyXG4gIEBJbnB1dCgpIG1heCA9IDkwMDAwMDAwMDAwMDAwMDA7IC8vTWF0aC5tYXhcclxuICBASW5wdXQoKSByZWdleCA9IFwiXCIgLy9cIlthLXpBLVogXSpcIiAvL1wiL1xcUytAXFxTK1xcLlxcUysvXCI7XHJcblxyXG4gIEBJbnB1dCgpIHN1ZmZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGluZm9DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgb25JbmZvQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5pbmZvQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0RmlsdGVyKCkge1xyXG5cclxuICAgIGNvbnN0IG9iaktleUxpc3QgPSBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnNbMF0pO1xyXG4gICAgY29uc3QgZmlyc3RLZXkgPSBvYmpLZXlMaXN0WzBdO1xyXG4gICAgdGhpcy5tdWx0aURpbWVuc2lvbiA9ICFDb3JlLmlzTnVtYmVyKGZpcnN0S2V5KTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMubXlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICBzdGFydFdpdGgoXCJcIiksXHJcbiAgICAgIG1hcCgodmFsdWUpID0+IHRoaXMuX2ZpbHRlcih2YWx1ZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsdGVyKHZhbHVlKTogc3RyaW5nW10ge1xyXG5cclxuICAgIGlmICh0aGlzLm11bHRpRGltZW5zaW9uKXtcclxuXHJcbiAgICAgIGxldCBmaWx0ZXJWYWx1ZSA9IFwiXCI7XHJcbiAgICAgIGlmICh2YWx1ZSAhPSBcIlwiICYmIHZhbHVlKXtcclxuICAgICAgICBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbltgJHt0aGlzLm9wdGlvblZhbHVlfWBdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKTtcclxuXHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKTtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGluaXRDb250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sKXtcclxuICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhudWxsKTtcclxuICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMucmVxdWlyZWQgJiYgIXRoaXMucmVhZG9ubHkpIHtcclxuXHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5taW5MZW5ndGgodGhpcy5taW4pLCBWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLm1heCksIFZhbGlkYXRvcnMucGF0dGVybih0aGlzLnJlZ2V4KV0pO1xyXG4gICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgY2hhbmdlZCgpe1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5teUNvbnRyb2wudmFsdWUpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBsZWF2ZWQoKXtcclxuICAgIHRoaXMubGVhdmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZW50ZXJQcmVzc2VkKCkge1xyXG4gICAgdGhpcy5lbnRlclByZXNzLmVtaXQoKTtcclxuICB9XHJcblxyXG5cclxuICAvL3ZhbGlkYXRpb25cclxuICBteUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCh0aGlzLm1pbiksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMubWF4KSwgVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMucmVnZXgpXSk7XHJcbiAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCggdGhpcy52YWx1ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKHRoaXMubWluKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5tYXgpLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5yZWdleCkgIF0pO1xyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCkgOiBzdHJpbmd7XHJcblxyXG5cclxuICAgIGlmICgodGhpcy5yZXF1aXJlZCB8fCB0aGlzLm1pbiA+IDApICYmIGNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykgKXtcclxuICAgICAgcmV0dXJuIGBSZXF1aXJlZGA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRyb2wuaGFzRXJyb3IoJ21pbmxlbmd0aCcpICl7XHJcbiAgICAgIHJldHVybiBgTWluaW11biBsZW5ndGggaXMgJHt0aGlzLm1pbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250cm9sLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSkge1xyXG4gICAgICByZXR1cm4gYE1heGltdW0gbGVuZ3RoIGlzICR7dGhpcy5tYXh9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29udHJvbC5oYXNFcnJvcigncGF0dGVybicpKSB7XHJcbiAgICAgIHJldHVybiBgSW52YWxpZCBJbnB1dGA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIGlmICh0aGlzLnJlZ2V4ICE9IFwiXCIpe1xyXG5cclxuICAgIC8vICAgbGV0IHIgPSBuZXcgUmVnRXhwKHRoaXMucmVnZXgsIFwiZ1wiKTtcclxuXHJcbiAgICAvLyAgIGlmICghci50ZXN0KHRoaXMudmFsdWUpKXtcclxuICAgIC8vICAgICB0aGlzLnZhbGlkID0gZmFsc2U7XHJcbiAgICAvLyAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBcIkludmFsaWQgaW5wdXRcIjtcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2U7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG59XHJcbiIsIlxyXG48IS0tIEdlbmVyYWwgVGV4dCAtLT5cclxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiKCFyb3dzIHx8IHJvd3MgPT0gMSkgJiYgKGZvcm1hdD09J3RleHQnIHx8IGZvcm1hdCA9PSdkYXRlJykgJiYgb3B0aW9ucy5sZW5ndGg9PTBcIiBbaGlkZVJlcXVpcmVkTWFya2VyXT1cIiFyZXF1aXJlZFwiIFtoaW50TGFiZWxdPVwiaGludFwiICBbbmdTdHlsZV09XCJ7J3dpZHRoJzp3aWR0aCA/PyAnMTAwJSd9XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweDtcIiA+XHJcbjxtYXQtbGFiZWwgKm5nSWY9XCJmb3JtYXQ9PSd0ZXh0J1wiPnt7ZGlzcGxheX19PC9tYXQtbGFiZWw+XHJcbjxtYXQtbGFiZWwgKm5nSWY9XCJmb3JtYXQ9PSdkYXRlJ1wiPnt7ZGlzcGxheSB8IGRhdGU6J2RkL01NL3l5eXknfX08L21hdC1sYWJlbD5cclxuPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAgKGNoYW5nZSk9XCJjaGFuZ2VkKClcIiAoYmx1cik9XCJsZWF2ZWQoKVwiIChrZXl1cC5lbnRlcik9XCJlbnRlclByZXNzZWQoKVwiIFt0eXBlXT1cInR5cGVcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiLz5cclxuPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2wuaW52YWxpZFwiPnt7dmFsaWRhdGUoY29udHJvbCl9fTwvbWF0LWVycm9yPlxyXG4gIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwic3VmZml4LWljb25zXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJzdWZmaXhcIj57e3N1ZmZpeH19PC9sYWJlbD5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiaW5mb01lc3NhZ2VcIiAoY2xpY2spPVwib25JbmZvQ2xpY2soJGV2ZW50KVwiIG1hdFRvb2x0aXA9XCJJbmZvXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6IHN0ZWVsYmx1ZTtcIj5pbmZvPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICA8L2Rpdj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcblxyXG48IS0tIHBhc3N3b3JkIC0tPlxyXG48bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJzcGEtdGV4dFwiICpuZ0lmPVwiZm9ybWF0PT0ncGFzc3dvcmQnXCIgW2hpZGVSZXF1aXJlZE1hcmtlcl09XCIhcmVxdWlyZWRcIiBbaGludExhYmVsXT1cImhpbnRcIiAgW25nU3R5bGVdPVwieyd3aWR0aCc6d2lkdGggPz8gJzEwMCUnfVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA1cHhcIj5cclxuICA8bWF0LWxhYmVsPnt7ZGlzcGxheX19PC9tYXQtbGFiZWw+XHJcbiAgPGlucHV0IG1hdElucHV0IFt0eXBlXT1cImhpZGUgPyAncGFzc3dvcmQnIDogJ3RleHQnXCIgKGtleXVwLmVudGVyKT1cImVudGVyUHJlc3NlZCgpXCIgKGNoYW5nZSk9XCJjaGFuZ2VkKClcIiAoYmx1cik9XCJsZWF2ZWQoKVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxyXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJjb250cm9sLmludmFsaWRcIj57e3ZhbGlkYXRlKGNvbnRyb2wpfX08L21hdC1lcnJvcj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKGNsaWNrKT1cImhpZGUgPSAhaGlkZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hpZGUgcGFzc3dvcmQnXCIgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImhpZGVcIj5cclxuICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDtcIj57e2hpZGUgPyAndmlzaWJpbGl0eV9vZmYnIDogJ3Zpc2liaWxpdHknfX08L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuXHJcbjwhLS0gVGV4dEFyZWEgY29weSAtIE9ubHkgY2hhbmdlIGlucHV0IHRvIHRleHRhcmVhIGFuZCBjaGFuZ2UgbmdpZiB0byBub3QgLS0+XHJcblxyXG48bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJyb3dzID4gMSAgJiYgb3B0aW9ucy5sZW5ndGg9PTBcIiBbaGlkZVJlcXVpcmVkTWFya2VyXT1cIiFyZXF1aXJlZFwiIFtoaW50TGFiZWxdPVwiaGludFwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOndpZHRoID8/ICcxMDAlJ31cIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4O1wiPlxyXG48bWF0LWxhYmVsPnt7ZGlzcGxheX19PC9tYXQtbGFiZWw+XHJcbjx0ZXh0YXJlYSBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBbcm93c109XCJyb3dzXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChjaGFuZ2UpPVwiY2hhbmdlZCgpXCIgKGtleXVwLmVudGVyKT1cImVudGVyUHJlc3NlZCgpXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIj48L3RleHRhcmVhPlxyXG48bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkXCI+e3t2YWxpZGF0ZShjb250cm9sKX19PC9tYXQtZXJyb3I+XHJcbiAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJzdWZmaXgtaWNvbnNcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiaW5mb01lc3NhZ2VcIiAoY2xpY2spPVwib25JbmZvQ2xpY2soJGV2ZW50KVwiIG1hdFRvb2x0aXA9XCJJbmZvXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6IHN0ZWVsYmx1ZTtcIj5pbmZvPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuXHJcblxyXG48IS0tIEF1dG8gQ29tcGxldGUtLT5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkICAqbmdJZj1cIighcm93cyB8fCByb3dzID09IDEpICYmIGZvcm1hdD09J3RleHQnICYmIG9wdGlvbnMubGVuZ3RoPjAgXCIgW2hpZGVSZXF1aXJlZE1hcmtlcl09XCIhcmVxdWlyZWRcIiBbaGludExhYmVsXT1cImhpbnRcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzp3aWR0aCA/PyAnMTAwJSd9XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweDtcIj5cclxuICAgIDxtYXQtbGFiZWw+e3tkaXNwbGF5fX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dCBbdHlwZV09XCJ0eXBlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChjaGFuZ2UpPVwiY2hhbmdlZCgpXCIgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cIm15Q29udHJvbFwiICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCI+XHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkXCI+e3t2YWxpZGF0ZShteUNvbnRyb2wpfX08L21hdC1lcnJvcj5cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cImNoYW5nZWQoKVwiPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aURpbWVuc2lvblwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAgICB7e29wdGlvbn19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aURpbWVuc2lvblwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCByb3cgb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwicm93W29wdGlvblZhbHVlXVwiPlxyXG4gICAgICAgICAge3tyb3dbb3B0aW9uVmFsdWVdfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwic3VmZml4LWljb25zXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJpbmZvTWVzc2FnZVwiIChjbGljayk9XCJvbkluZm9DbGljaygkZXZlbnQpXCIgbWF0VG9vbHRpcD1cIkluZm9cIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6IHN0ZWVsYmx1ZTtcIj5pbmZvPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiJdfQ==
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { RouterModule } from '@angular/router';
|
|
3
|
-
import { UsersComponent } from '../../
|
|
4
|
-
import { RolesComponent } from '../../
|
|
5
|
-
import { CreateAccountComponent } from '../../
|
|
6
|
-
import { LogsComponent } from '../../
|
|
7
|
-
import { SettingsComponent } from '../../
|
|
8
|
-
import { TenantSettingsComponent } from '../../
|
|
9
|
-
import { TenantsComponent } from '../../
|
|
10
|
-
import { BugComponent } from '../../
|
|
11
|
-
import { MembershipComponent } from '../../
|
|
12
|
-
import { PlansComponent } from '../../
|
|
13
|
-
import { CustomersComponent } from '../../
|
|
14
|
-
import { InventoryComponent } from '../../
|
|
15
|
-
import { SuppliersComponent } from '../../
|
|
16
|
-
import { AccountsComponent } from '../../
|
|
17
|
-
import { TransactionsComponent } from '../../
|
|
18
|
-
import { TasksComponent } from '../../
|
|
19
|
-
import { EmployeesComponent } from '../../
|
|
20
|
-
import { DepartmentsComponent } from '../../
|
|
21
|
-
import { PositionsComponent } from '../../
|
|
22
|
-
import { GradesComponent } from '../../
|
|
23
|
-
import { WelcomeComponent } from '../../
|
|
3
|
+
import { UsersComponent } from '../../pages/users/users.component';
|
|
4
|
+
import { RolesComponent } from '../../pages/roles/roles.component';
|
|
5
|
+
import { CreateAccountComponent } from '../../pages/create-account/create-account.component';
|
|
6
|
+
import { LogsComponent } from '../../pages/logs/logs.component';
|
|
7
|
+
import { SettingsComponent } from '../../pages/settings/settings.component';
|
|
8
|
+
import { TenantSettingsComponent } from '../../pages/tenant-settings/tenant-settings.component';
|
|
9
|
+
import { TenantsComponent } from '../../pages/tenants/tenants.component';
|
|
10
|
+
import { BugComponent } from '../../pages/bug/bug.component';
|
|
11
|
+
import { MembershipComponent } from '../../pages/membership/membership.component';
|
|
12
|
+
import { PlansComponent } from '../../pages/plans/plans.component';
|
|
13
|
+
import { CustomersComponent } from '../../pages/customers/customers.component';
|
|
14
|
+
import { InventoryComponent } from '../../pages/inventory/inventory.component';
|
|
15
|
+
import { SuppliersComponent } from '../../pages/suppliers/suppliers.component';
|
|
16
|
+
import { AccountsComponent } from '../../pages/accounts/accounts.component';
|
|
17
|
+
import { TransactionsComponent } from '../../pages/transactions/transactions.component';
|
|
18
|
+
import { TasksComponent } from '../../pages/tasks/tasks.component';
|
|
19
|
+
import { EmployeesComponent } from '../../pages/employees/employees.component';
|
|
20
|
+
import { DepartmentsComponent } from '../../pages/departments/departments.component';
|
|
21
|
+
import { PositionsComponent } from '../../pages/positions/positions.component';
|
|
22
|
+
import { GradesComponent } from '../../pages/grades/grades.component';
|
|
23
|
+
import { WelcomeComponent } from '../../pages/welcome/welcome.component';
|
|
24
24
|
import * as i0 from "@angular/core";
|
|
25
25
|
import * as i1 from "@angular/router";
|
|
26
26
|
const routes = [
|
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
58
58
|
exports: [RouterModule]
|
|
59
59
|
}]
|
|
60
60
|
}] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvbW9kdWxlcy9hZG1pbi9hZG1pbi1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQUV6RSxNQUFNLE1BQU0sR0FBVztJQUNyQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBQztJQUMzQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBQztJQUMzQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUU7SUFDN0QsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUM7SUFDekMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQztJQUVqRCxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUU7SUFDL0QsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtJQUNoRCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRTtJQUN4QyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFO0lBQ3RELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO0lBRTVDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7SUFDcEQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtJQUNwRCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUU7SUFDbEQsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtJQUMxRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtJQUU1QyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUU7SUFDeEQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtJQUNwRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtJQUM5QyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO0NBQ2pELENBQUM7QUFNRixNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0Isd0NBRm5CLFlBQVk7Z0hBRVgsa0JBQWtCLFlBSG5CLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBVc2Vyc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2VzL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvbGVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFnZXMvcm9sZXMvcm9sZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3JlYXRlQWNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2VzL2NyZWF0ZS1hY2NvdW50L2NyZWF0ZS1hY2NvdW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ3NDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9sb2dzL2xvZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZW5hbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2VzL3RlbmFudC1zZXR0aW5ncy90ZW5hbnQtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGVuYW50c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2VzL3RlbmFudHMvdGVuYW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdWdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9idWcvYnVnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lbWJlcnNoaXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9tZW1iZXJzaGlwL21lbWJlcnNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGxhbnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9wbGFucy9wbGFucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21lcnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9jdXN0b21lcnMvY3VzdG9tZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEludmVudG9yeUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2VzL2ludmVudG9yeS9pbnZlbnRvcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3VwcGxpZXJzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFnZXMvc3VwcGxpZXJzL3N1cHBsaWVycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY2NvdW50c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2VzL2FjY291bnRzL2FjY291bnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2VzL3RyYW5zYWN0aW9ucy90cmFuc2FjdGlvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFza3NDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy90YXNrcy90YXNrcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbXBsb3llZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9lbXBsb3llZXMvZW1wbG95ZWVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFnZXMvZGVwYXJ0bWVudHMvZGVwYXJ0bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9zaXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFnZXMvcG9zaXRpb25zL3Bvc2l0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmFkZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9ncmFkZXMvZ3JhZGVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdlbGNvbWVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHsgcGF0aDogXCJ1c2Vyc1wiLCBjb21wb25lbnQ6IFVzZXJzQ29tcG9uZW50fSxcclxuICB7IHBhdGg6IFwicm9sZXNcIiwgY29tcG9uZW50OiBSb2xlc0NvbXBvbmVudH0sXHJcbiAgeyBwYXRoOiBcImNyZWF0ZS1hY2NvdW50XCIsIGNvbXBvbmVudDogQ3JlYXRlQWNjb3VudENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogXCJsb2dzXCIsIGNvbXBvbmVudDogTG9nc0NvbXBvbmVudH0sXHJcbiAgeyBwYXRoOiBcInNldHRpbmdzXCIsIGNvbXBvbmVudDogU2V0dGluZ3NDb21wb25lbnR9LFxyXG5cclxuICB7IHBhdGg6IFwidGVuYW50LXNldHRpbmdzXCIsIGNvbXBvbmVudDogVGVuYW50U2V0dGluZ3NDb21wb25lbnQgfSxcclxuICB7IHBhdGg6IFwidGVuYW50c1wiLCBjb21wb25lbnQ6IFRlbmFudHNDb21wb25lbnQgfSxcclxuICB7IHBhdGg6IFwiYnVnXCIsIGNvbXBvbmVudDogQnVnQ29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiBcIm1lbWJlcnNoaXBcIiwgY29tcG9uZW50OiBNZW1iZXJzaGlwQ29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiBcInBsYW5zXCIsIGNvbXBvbmVudDogUGxhbnNDb21wb25lbnQgfSxcclxuXHJcbiAgeyBwYXRoOiBcImN1c3RvbWVyc1wiLCBjb21wb25lbnQ6IEN1c3RvbWVyc0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogXCJpbnZlbnRvcnlcIiwgY29tcG9uZW50OiBJbnZlbnRvcnlDb21wb25lbnQgfSxcclxuICB7IHBhdGg6IFwic3VwcGxpZXJzXCIsIGNvbXBvbmVudDogU3VwcGxpZXJzQ29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiBcImFjY291bnRzXCIsIGNvbXBvbmVudDogQWNjb3VudHNDb21wb25lbnQgfSxcclxuICB7IHBhdGg6IFwidHJhbnNhY3Rpb25zXCIsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25zQ29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiBcInRhc2tzXCIsIGNvbXBvbmVudDogVGFza3NDb21wb25lbnQgfSxcclxuXHJcbiAgeyBwYXRoOiBcImVtcGxveWVlc1wiLCBjb21wb25lbnQ6IEVtcGxveWVlc0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogXCJkZXBhcnRtZW50c1wiLCBjb21wb25lbnQ6IERlcGFydG1lbnRzQ29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiBcInBvc2l0aW9uc1wiLCBjb21wb25lbnQ6IFBvc2l0aW9uc0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogXCJncmFkZXNcIiwgY29tcG9uZW50OiBHcmFkZXNDb21wb25lbnQgfSxcclxuICB7IHBhdGg6IFwid2VsY29tZVwiLCBjb21wb25lbnQ6IFdlbGNvbWVDb21wb25lbnQgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRtaW5Sb3V0aW5nTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { RouterModule } from '@angular/router';
|
|
3
|
-
import { SignupComponent } from '../../
|
|
4
|
-
import { RecoverAccountComponent } from '../../
|
|
5
|
-
import { LoginComponent } from '../../
|
|
3
|
+
import { SignupComponent } from '../../pages/signup/signup.component';
|
|
4
|
+
import { RecoverAccountComponent } from '../../pages/recover-account/recover-account.component';
|
|
5
|
+
import { LoginComponent } from '../../pages/login/login.component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/router";
|
|
8
8
|
const routes = [
|
|
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
24
24
|
exports: [RouterModule]
|
|
25
25
|
}]
|
|
26
26
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvbW9kdWxlcy9pbmRleC9pbmRleC1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFbkUsTUFBTSxNQUFNLEdBQVc7SUFFbkIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7SUFDOUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFO0lBQy9ELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO0lBQzVDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDcEQsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7Q0FFakMsQ0FBQztBQU9GLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQix3Q0FGbkIsWUFBWTtnSEFFWCxrQkFBa0IsWUFIbkIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDN0IsWUFBWTsyRkFFWCxrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlcywgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2lnbnVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFnZXMvc2lnbnVwL3NpZ251cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWNvdmVyQWNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2VzL3JlY292ZXItYWNjb3VudC9yZWNvdmVyLWFjY291bnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuLi8uLi9wYWdlcy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcblxyXG4gICAgeyBwYXRoOiBcInNpZ251cFwiLCBjb21wb25lbnQ6IFNpZ251cENvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiAncmVjb3Zlci1hY2NvdW50JywgY29tcG9uZW50OiBSZWNvdmVyQWNjb3VudENvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiAnbG9naW4nLCBjb21wb25lbnQ6IExvZ2luQ29tcG9uZW50IH0sXHJcbiAgICB7IHBhdGg6ICcnLCByZWRpcmVjdFRvOiAnbG9naW4nLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxyXG4gICAgeyBwYXRoOiAnKionLCByZWRpcmVjdFRvOiAnJyB9LFxyXG5cclxuXTtcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZGV4Um91dGluZ01vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { SettingsComponent } from '../
|
|
2
|
-
import { LogsComponent } from '../
|
|
1
|
+
import { SettingsComponent } from '../pages/settings/settings.component';
|
|
2
|
+
import { LogsComponent } from '../pages/logs/logs.component';
|
|
3
3
|
import { NgModule } from "@angular/core";
|
|
4
4
|
import { CommonModule } from "@angular/common";
|
|
5
5
|
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
6
|
-
import { UsersComponent } from "../
|
|
7
|
-
import { RolesComponent } from "../
|
|
8
|
-
import { addRoleDialog } from "../
|
|
9
|
-
import { CreateAccountComponent } from "../
|
|
6
|
+
import { UsersComponent } from "../pages/users/users.component";
|
|
7
|
+
import { RolesComponent } from "../pages/roles/roles.component";
|
|
8
|
+
import { addRoleDialog } from "../pages/roles/addRoleDialog.component";
|
|
9
|
+
import { CreateAccountComponent } from "../pages/create-account/create-account.component";
|
|
10
10
|
import { TinSpaModule } from '../tin-spa.module';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@angular/forms";
|
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
68
68
|
],
|
|
69
69
|
}]
|
|
70
70
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLWFkbWluLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9tb2R1bGVzL3NwYS1hZG1pbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQXVDakQsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFsQ3ZCLGNBQWM7UUFDZCxjQUFjO1FBQ2QsYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixhQUFhO1FBQ2IsaUJBQWlCLHFDQVNqQixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZLGFBSVosWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYztRQUNkLGNBQWM7UUFDZCxhQUFhO1FBQ2Isc0JBQXNCO1FBQ3RCLGFBQWE7UUFDYixpQkFBaUI7NEdBS1IsY0FBYyxZQXJCdkIsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDekUsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWSxFQUlaLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTsyRkFXSCxjQUFjO2tCQXBDMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2Isc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLGlCQUFpQjtxQkFHbEI7b0JBSUQsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxDQUFDO3dCQUN6RSxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3FCQUNiO29CQUVELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2IsaUJBQWlCO3FCQUdsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnZXMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9nc0NvbXBvbmVudCB9IGZyb20gJy4uL3BhZ2VzL2xvZ3MvbG9ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGFNYXRNb2R1bGUgfSBmcm9tIFwiLi9zcGEtbWF0Lm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgVXNlcnNDb21wb25lbnQgfSBmcm9tIFwiLi4vcGFnZXMvdXNlcnMvdXNlcnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJvbGVzQ29tcG9uZW50IH0gZnJvbSBcIi4uL3BhZ2VzL3JvbGVzL3JvbGVzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBhZGRSb2xlRGlhbG9nIH0gZnJvbSBcIi4uL3BhZ2VzL3JvbGVzL2FkZFJvbGVEaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENyZWF0ZUFjY291bnRDb21wb25lbnQgfSBmcm9tIFwiLi4vcGFnZXMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRpblNwYU1vZHVsZSB9IGZyb20gJy4uL3Rpbi1zcGEubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVXNlcnNDb21wb25lbnQsXHJcbiAgICBSb2xlc0NvbXBvbmVudCxcclxuICAgIGFkZFJvbGVEaWFsb2csXHJcbiAgICBDcmVhdGVBY2NvdW50Q29tcG9uZW50LFxyXG4gICAgTG9nc0NvbXBvbmVudCxcclxuICAgIFNldHRpbmdzQ29tcG9uZW50LFxyXG5cclxuXHJcbiAgXSxcclxuXHJcblxyXG5cclxuICBpbXBvcnRzOiBbXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLndpdGhDb25maWcoeyB3YXJuT25OZ01vZGVsV2l0aEZvcm1Db250cm9sOiBcIm5ldmVyXCIgfSksXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBUaW5TcGFNb2R1bGVcclxuICBdLFxyXG5cclxuICBleHBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFRpblNwYU1vZHVsZSxcclxuICAgIFVzZXJzQ29tcG9uZW50LFxyXG4gICAgUm9sZXNDb21wb25lbnQsXHJcbiAgICBhZGRSb2xlRGlhbG9nLFxyXG4gICAgQ3JlYXRlQWNjb3VudENvbXBvbmVudCxcclxuICAgIExvZ3NDb21wb25lbnQsXHJcbiAgICBTZXR0aW5nc0NvbXBvbmVudCxcclxuXHJcblxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGFBZG1pbk1vZHVsZSB7fVxyXG4iXX0=
|