tin-spa 2.4.5 → 2.6.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 +5 -1
- package/esm2020/lib/classes/TinCore.mjs +28 -15
- package/esm2020/lib/components/alert/alert.component.mjs +11 -6
- package/esm2020/lib/components/email/email.component.mjs +19 -17
- package/esm2020/lib/components/form/form.component.mjs +17 -17
- package/esm2020/lib/components/label/label.component.mjs +3 -3
- package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +1 -1
- package/esm2020/lib/components/option/option.component.mjs +32 -14
- package/esm2020/lib/components/page/page.component.mjs +9 -36
- package/esm2020/lib/components/search/search.component.mjs +10 -5
- package/esm2020/lib/components/select/select.component.mjs +33 -134
- package/esm2020/lib/components/select-common/select-common.component.mjs +135 -0
- package/esm2020/lib/components/select-internal/select-internal.component.mjs +47 -0
- package/esm2020/lib/components/select-lite/select-lite.component.mjs +13 -0
- package/esm2020/lib/components/steps/steps.component.mjs +33 -59
- package/esm2020/lib/components/suffix/suffix.component.mjs +71 -0
- package/esm2020/lib/components/table/detailsDialog.component.mjs +15 -11
- package/esm2020/lib/components/table/table.component.mjs +27 -62
- package/esm2020/lib/components/table-header/table-header.component.mjs +8 -6
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +18 -12
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +31 -63
- package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +243 -0
- package/esm2020/lib/components/table-lite/table-lite.component.mjs +390 -0
- package/esm2020/lib/components/table-row/table-row.component.mjs +18 -4
- package/esm2020/lib/components/text/text.component.mjs +28 -36
- package/esm2020/lib/components/tiles/tiles.component.mjs +7 -2
- package/esm2020/lib/components/viewer/viewer.component.mjs +7 -3
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +5 -1
- package/esm2020/lib/pages/accounts/accountDialog.component.mjs +1 -1
- package/esm2020/lib/pages/approvals/approvals.component.mjs +61 -0
- package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +89 -0
- package/esm2020/lib/pages/change-password/change-password.component.mjs +1 -1
- package/esm2020/lib/pages/create-account/create-account.component.mjs +1 -1
- package/esm2020/lib/pages/customers/customers.component.mjs +8 -8
- package/esm2020/lib/pages/departments/departments.component.mjs +1 -1
- package/esm2020/lib/pages/employees/employees.component.mjs +1 -1
- package/esm2020/lib/pages/inventory/inventory.component.mjs +1 -1
- package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +1 -1
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +11 -10
- package/esm2020/lib/pages/login/login.component.mjs +1 -1
- package/esm2020/lib/pages/logs/logs.component.mjs +21 -22
- package/esm2020/lib/pages/membership/membership.component.mjs +15 -19
- package/esm2020/lib/pages/plans/plans.component.mjs +16 -19
- package/esm2020/lib/pages/positions/positions.component.mjs +3 -3
- package/esm2020/lib/pages/profile/profile.component.mjs +1 -1
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +1 -1
- package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +2 -2
- package/esm2020/lib/pages/roles/roles.component.mjs +2 -2
- package/esm2020/lib/pages/signup/signup.component.mjs +1 -1
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +9 -9
- package/esm2020/lib/pages/tasks/tasks.component.mjs +9 -9
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +99 -71
- package/esm2020/lib/pages/tenants/tenants.component.mjs +8 -8
- package/esm2020/lib/pages/transactions/transactDialog.component.mjs +1 -1
- package/esm2020/lib/pages/transactions/transactions.component.mjs +1 -1
- package/esm2020/lib/pages/users/users.component.mjs +114 -92
- package/esm2020/lib/pages/welcome/welcome.component.mjs +8 -8
- package/esm2020/lib/select-context.directive.mjs +23 -0
- package/esm2020/lib/services/button.service.mjs +5 -6
- package/esm2020/lib/services/datalib.service.mjs +26 -15
- package/esm2020/lib/services/dialog.service.mjs +12 -1
- package/esm2020/lib/services/table-config.service.mjs +7 -3
- package/esm2020/lib/tin-spa.module.mjs +16 -9
- package/fesm2015/tin-spa.mjs +2867 -2017
- package/fesm2015/tin-spa.mjs.map +1 -1
- package/fesm2020/tin-spa.mjs +2881 -2030
- package/fesm2020/tin-spa.mjs.map +1 -1
- package/lib/classes/Classes.d.ts +18 -6
- package/lib/classes/TinCore.d.ts +1 -0
- package/lib/components/email/email.component.d.ts +4 -3
- package/lib/components/form/form.component.d.ts +4 -3
- package/lib/components/option/option.component.d.ts +8 -2
- package/lib/components/page/page.component.d.ts +2 -4
- package/lib/components/search/search.component.d.ts +3 -1
- package/lib/components/select/select.component.d.ts +9 -36
- package/lib/components/select-common/select-common.component.d.ts +42 -0
- package/lib/components/select-internal/select-internal.component.d.ts +17 -0
- package/lib/components/select-lite/select-lite.component.d.ts +6 -0
- package/lib/components/steps/steps.component.d.ts +9 -9
- package/lib/components/suffix/suffix.component.d.ts +23 -0
- package/lib/components/table/detailsDialog.component.d.ts +3 -2
- package/lib/components/table/table.component.d.ts +3 -2
- package/lib/components/table-header/table-header.component.d.ts +2 -1
- package/lib/components/table-internal/detailsDialog-internal.component.d.ts +3 -2
- package/lib/components/table-internal/table-internal.component.d.ts +3 -2
- package/lib/components/table-lite/detailsDialog-lite.component.d.ts +65 -0
- package/lib/components/table-lite/table-lite.component.d.ts +87 -0
- package/lib/components/table-row/table-row.component.d.ts +2 -0
- package/lib/components/text/text.component.d.ts +7 -7
- package/lib/components/tiles/tiles.component.d.ts +2 -1
- package/lib/pages/approvals/approvals.component.d.ts +11 -0
- package/lib/pages/approvals-config/approvals-config.component.d.ts +14 -0
- package/lib/pages/invitations-table/invitations-table.component.d.ts +1 -1
- package/lib/pages/logs/logs.component.d.ts +2 -6
- package/lib/pages/membership/membership.component.d.ts +2 -6
- package/lib/pages/plans/plans.component.d.ts +2 -6
- package/lib/pages/suppliers/suppliers.component.d.ts +1 -1
- package/lib/pages/tasks/tasks.component.d.ts +1 -1
- package/lib/pages/tenant-settings/tenant-settings.component.d.ts +10 -7
- package/lib/pages/tenants/tenants.component.d.ts +1 -1
- package/lib/pages/users/users.component.d.ts +8 -16
- package/lib/select-context.directive.d.ts +10 -0
- package/lib/services/button.service.d.ts +0 -1
- package/lib/services/datalib.service.d.ts +3 -1
- package/lib/services/table-config.service.d.ts +1 -1
- package/lib/tin-spa.module.d.ts +41 -34
- package/package.json +1 -1
- package/esm2020/lib/pages/invitations/invitations.component.mjs +0 -14
- package/esm2020/lib/pages/tenant-settings/inviteDialog.component.mjs +0 -60
- package/lib/pages/invitations/invitations.component.d.ts +0 -8
- package/lib/pages/tenant-settings/inviteDialog.component.d.ts +0 -28
|
@@ -57,7 +57,7 @@ export class ListDialogComponent {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
ListDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ListDialogComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
ListDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ListDialogComponent, selector: "spa-list-dialog", ngImport: i0, template: "<div>\n\n <label style=\"font-size: 24px;\">{{listConfig?.title ?? 'List'}}</label>\n\n</div>\n\n<mat-dialog-content class=\"mat-typography\">\n\n <div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [reload]=\"tableReload\" (actionClick)=\"actionClicked()\"></spa-table>\n </div>\n\n\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-button (click)=\"close()\" >Ok</button>\n</mat-dialog-actions>\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ 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: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "tileData", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
|
|
60
|
+
ListDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ListDialogComponent, selector: "spa-list-dialog", ngImport: i0, template: "<div>\n\n <label style=\"font-size: 24px;\">{{listConfig?.title ?? 'List'}}</label>\n\n</div>\n\n<mat-dialog-content class=\"mat-typography\">\n\n <div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [reload]=\"tableReload\" (actionClick)=\"actionClicked()\"></spa-table>\n </div>\n\n\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-button (click)=\"close()\" >Ok</button>\n</mat-dialog-actions>\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ 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: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "tileData", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange", "actionResponse"] }] });
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ListDialogComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
63
|
args: [{ selector: 'spa-list-dialog', template: "<div>\n\n <label style=\"font-size: 24px;\">{{listConfig?.title ?? 'List'}}</label>\n\n</div>\n\n<mat-dialog-content class=\"mat-typography\">\n\n <div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [reload]=\"tableReload\" (actionClick)=\"actionClicked()\"></spa-table>\n </div>\n\n\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-button (click)=\"close()\" >Ok</button>\n</mat-dialog-actions>\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "@angular/
|
|
5
|
-
import * as i3 from "@angular/
|
|
6
|
-
import * as i4 from "@angular/material/
|
|
7
|
-
import * as i5 from "@angular/material/
|
|
8
|
-
import * as i6 from "
|
|
9
|
-
import * as i7 from "
|
|
10
|
-
import * as i8 from "
|
|
3
|
+
import * as i1 from "../../services/message.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
import * as i4 from "@angular/material/checkbox";
|
|
7
|
+
import * as i5 from "@angular/material/button";
|
|
8
|
+
import * as i6 from "@angular/material/icon";
|
|
9
|
+
import * as i7 from "@angular/material/form-field";
|
|
10
|
+
import * as i8 from "@angular/material/input";
|
|
11
|
+
import * as i9 from "@angular/material/tooltip";
|
|
12
|
+
import * as i10 from "../text/text.component";
|
|
13
|
+
import * as i11 from "../date/date.component";
|
|
14
|
+
import * as i12 from "../select-lite/select-lite.component";
|
|
11
15
|
export class OptionComponent {
|
|
12
|
-
constructor() {
|
|
16
|
+
constructor(messageService) {
|
|
17
|
+
this.messageService = messageService;
|
|
13
18
|
this.optionValue = "";
|
|
14
19
|
this.optionDisplay = "";
|
|
15
20
|
this.readonly = false;
|
|
@@ -18,6 +23,7 @@ export class OptionComponent {
|
|
|
18
23
|
this.display = "";
|
|
19
24
|
this.show = false;
|
|
20
25
|
this.required = false;
|
|
26
|
+
this.copyContent = false;
|
|
21
27
|
this.valueChange = new EventEmitter();
|
|
22
28
|
this.enterPress = new EventEmitter();
|
|
23
29
|
}
|
|
@@ -38,13 +44,19 @@ export class OptionComponent {
|
|
|
38
44
|
this.value = this.OGValue;
|
|
39
45
|
this.changed();
|
|
40
46
|
}
|
|
47
|
+
onInfoClick(event) {
|
|
48
|
+
event.stopPropagation();
|
|
49
|
+
if (this.infoMessage) {
|
|
50
|
+
this.messageService.info(this.infoMessage);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
41
53
|
}
|
|
42
|
-
OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: OptionComponent, selector: "spa-option", inputs: { options: "options", optionValue: "optionValue", optionDisplay: "optionDisplay", readonly: "readonly", type: "type", value: "value", display: "display", show: "show", required: "required" }, outputs: { valueChange: "valueChange", enterPress: "enterPress" }, ngImport: i0, template: "\r\n<div class=\"tin-row gap-0\">\r\n\r\n<mat-checkbox color=\"primary\" style=\"margin-right:
|
|
54
|
+
OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OptionComponent, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: OptionComponent, selector: "spa-option", inputs: { options: "options", optionValue: "optionValue", optionDisplay: "optionDisplay", readonly: "readonly", type: "type", value: "value", display: "display", show: "show", required: "required", infoMessage: "infoMessage", copyContent: "copyContent", suffix: "suffix" }, outputs: { valueChange: "valueChange", enterPress: "enterPress" }, ngImport: i0, template: "\r\n<div class=\"tin-row gap-0\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"margin-right:0px\" [(ngModel)]=\"show\" (change)=\"resetValue()\" labelPosition=\"after\" [disabled]=\"required\" >{{display}}</mat-checkbox>\r\n\r\n <mat-form-field style=\"margin-right:1px;width: 0px;\" >\r\n <input matInput />\r\n </mat-form-field>\r\n\r\n <ng-container *ngIf=\"show\" [ngSwitch]=\"type\" style=\"margin-left: 5px;\">\r\n\r\n <spa-date class=\"opt\" *ngSwitchCase=\"'date'\" [display]=\"display\" width=\"120px\" [(value)]=\"value\" [display]=\"display\" (valueChange)=\"dateChanged($event)\"\r\n ></spa-date>\r\n\r\n <spa-select-lite class=\"opt\" *ngSwitchCase=\"'select'\" [display]=\"display\" [options]=\"options\" [optionDisplay]=\"optionDisplay\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\"\r\n [copyContent]=\"copyContent\"\r\n ></spa-select-lite>\r\n\r\n <spa-text class=\"opt\" *ngSwitchDefault [display]=\"display\" (keyup.enter)=\"enterPressed()\" [options]=\"options\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\"\r\n [suffix]=\"suffix\" [copyContent]=\"copyContent\"\r\n ></spa-text>\r\n\r\n </ng-container>\r\n\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\" style=\"opacity: 1;margin: 0px;padding: 0px;\">\r\n <mat-icon style=\"color: steelblue;font-size: 18px;\">info</mat-icon>\r\n </button>\r\n\r\n</div>\r\n", styles: [".opt{margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.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: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i10.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "copyContent", "clearContent", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress"] }, { kind: "component", type: i11.DateComponent, selector: "spa-date", inputs: ["required", "min", "max", "readonly", "hint", "value", "display", "placeholder", "width", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i12.SelectLiteComponent, selector: "spa-select-lite" }] });
|
|
44
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OptionComponent, decorators: [{
|
|
45
57
|
type: Component,
|
|
46
|
-
args: [{ selector: 'spa-option', template: "\r\n<div class=\"tin-row gap-0\">\r\n\r\n<mat-checkbox color=\"primary\" style=\"margin-right:
|
|
47
|
-
}], ctorParameters: function () { return []; }, propDecorators: { options: [{
|
|
58
|
+
args: [{ selector: 'spa-option', template: "\r\n<div class=\"tin-row gap-0\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"margin-right:0px\" [(ngModel)]=\"show\" (change)=\"resetValue()\" labelPosition=\"after\" [disabled]=\"required\" >{{display}}</mat-checkbox>\r\n\r\n <mat-form-field style=\"margin-right:1px;width: 0px;\" >\r\n <input matInput />\r\n </mat-form-field>\r\n\r\n <ng-container *ngIf=\"show\" [ngSwitch]=\"type\" style=\"margin-left: 5px;\">\r\n\r\n <spa-date class=\"opt\" *ngSwitchCase=\"'date'\" [display]=\"display\" width=\"120px\" [(value)]=\"value\" [display]=\"display\" (valueChange)=\"dateChanged($event)\"\r\n ></spa-date>\r\n\r\n <spa-select-lite class=\"opt\" *ngSwitchCase=\"'select'\" [display]=\"display\" [options]=\"options\" [optionDisplay]=\"optionDisplay\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\"\r\n [copyContent]=\"copyContent\"\r\n ></spa-select-lite>\r\n\r\n <spa-text class=\"opt\" *ngSwitchDefault [display]=\"display\" (keyup.enter)=\"enterPressed()\" [options]=\"options\" [optionValue]=\"optionValue\" [(value)]=\"value\" (valueChange)=\"changed()\"\r\n [suffix]=\"suffix\" [copyContent]=\"copyContent\"\r\n ></spa-text>\r\n\r\n </ng-container>\r\n\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\" style=\"opacity: 1;margin: 0px;padding: 0px;\">\r\n <mat-icon style=\"color: steelblue;font-size: 18px;\">info</mat-icon>\r\n </button>\r\n\r\n</div>\r\n", styles: [".opt{margin-left:5px}\n"] }]
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i1.MessageService }]; }, propDecorators: { options: [{
|
|
48
60
|
type: Input
|
|
49
61
|
}], optionValue: [{
|
|
50
62
|
type: Input
|
|
@@ -62,9 +74,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
62
74
|
type: Input
|
|
63
75
|
}], required: [{
|
|
64
76
|
type: Input
|
|
77
|
+
}], infoMessage: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], copyContent: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], suffix: [{
|
|
82
|
+
type: Input
|
|
65
83
|
}], valueChange: [{
|
|
66
84
|
type: Output
|
|
67
85
|
}], enterPress: [{
|
|
68
86
|
type: Output
|
|
69
87
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL29wdGlvbi9vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvb3B0aW9uL29wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVEvRSxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFXekMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixTQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2QsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixTQUFJLEdBQVksS0FBSyxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFHbkIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBekJhLENBQUM7SUFFeEQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBdUJELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFDO1FBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDaEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQzs7NEdBdERVLGVBQWU7Z0dBQWYsZUFBZSx1WUNSNUIsKytDQTZCQTsyRkRyQmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZO3FHQWdCYixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLW9wdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29wdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb3B0aW9uLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLk9HVmFsdWUgPSB0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgT0dWYWx1ZVxyXG5cclxuXHJcblxyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueTtcclxuICBASW5wdXQoKSBvcHRpb25WYWx1ZSA9IFwiXCI7XHJcbiAgQElucHV0KCkgb3B0aW9uRGlzcGxheSA9IFwiXCI7XHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgdHlwZSA9IFwidGV4dFwiO1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcclxuICBASW5wdXQoKSBkaXNwbGF5ID0gXCJcIjtcclxuICBASW5wdXQoKSBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpbmZvTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvcHlDb250ZW50ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3VmZml4OiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZW50ZXJQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY2hhbmdlZCgpIHtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIGRhdGVDaGFuZ2VkKHgpe1xyXG4gICAgdGhpcy52YWx1ZSA9IHhcclxuICAgIHRoaXMuY2hhbmdlZCgpXHJcbiAgfVxyXG5cclxuICBlbnRlclByZXNzZWQoKXtcclxuICAgIHRoaXMuZW50ZXJQcmVzcy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICByZXNldFZhbHVlKCl7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5PR1ZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VkKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb25JbmZvQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLmluZm9NZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyh0aGlzLmluZm9NZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIlxyXG48ZGl2IGNsYXNzPVwidGluLXJvdyBnYXAtMFwiPlxyXG5cclxuICA8bWF0LWNoZWNrYm94IGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjBweFwiIFsobmdNb2RlbCldPVwic2hvd1wiIChjaGFuZ2UpPVwicmVzZXRWYWx1ZSgpXCIgbGFiZWxQb3NpdGlvbj1cImFmdGVyXCIgW2Rpc2FibGVkXT1cInJlcXVpcmVkXCIgPnt7ZGlzcGxheX19PC9tYXQtY2hlY2tib3g+XHJcblxyXG4gIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIm1hcmdpbi1yaWdodDoxcHg7d2lkdGg6IDBweDtcIiA+XHJcbiAgPGlucHV0IG1hdElucHV0IC8+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dcIiBbbmdTd2l0Y2hdPVwidHlwZVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDtcIj5cclxuXHJcbiAgICA8c3BhLWRhdGUgY2xhc3M9XCJvcHRcIiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgW2Rpc3BsYXldPVwiZGlzcGxheVwiIHdpZHRoPVwiMTIwcHhcIiAgWyh2YWx1ZSldPVwidmFsdWVcIiBbZGlzcGxheV09XCJkaXNwbGF5XCIgKHZhbHVlQ2hhbmdlKT1cImRhdGVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgPjwvc3BhLWRhdGU+XHJcblxyXG4gICAgPHNwYS1zZWxlY3QtbGl0ZSBjbGFzcz1cIm9wdFwiICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiIFtkaXNwbGF5XT1cImRpc3BsYXlcIiAgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cIm9wdGlvbkRpc3BsYXlcIiBbb3B0aW9uVmFsdWVdPVwib3B0aW9uVmFsdWVcIiBbKHZhbHVlKV09XCJ2YWx1ZVwiICh2YWx1ZUNoYW5nZSk9XCJjaGFuZ2VkKClcIlxyXG4gICAgW2NvcHlDb250ZW50XT1cImNvcHlDb250ZW50XCJcclxuICAgID48L3NwYS1zZWxlY3QtbGl0ZT5cclxuXHJcbiAgICA8c3BhLXRleHQgY2xhc3M9XCJvcHRcIiAqbmdTd2l0Y2hEZWZhdWx0IFtkaXNwbGF5XT1cImRpc3BsYXlcIiAoa2V5dXAuZW50ZXIpPVwiZW50ZXJQcmVzc2VkKClcIiAgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZVwiIFsodmFsdWUpXT1cInZhbHVlXCIgKHZhbHVlQ2hhbmdlKT1cImNoYW5nZWQoKVwiXHJcbiAgICBbc3VmZml4XT1cInN1ZmZpeFwiIFtjb3B5Q29udGVudF09XCJjb3B5Q29udGVudFwiXHJcbiAgICA+PC9zcGEtdGV4dD5cclxuXHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiaW5mb01lc3NhZ2VcIiAoY2xpY2spPVwib25JbmZvQ2xpY2soJGV2ZW50KVwiIG1hdFRvb2x0aXA9XCJJbmZvXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBzdHlsZT1cIm9wYWNpdHk6IDE7bWFyZ2luOiAwcHg7cGFkZGluZzogMHB4O1wiPlxyXG4gICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6IHN0ZWVsYmx1ZTtmb250LXNpemU6IDE4cHg7XCI+aW5mbzwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcblxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { PageConfig } from '../../classes/Classes';
|
|
2
3
|
import { Subject } from 'rxjs';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "../../services/datalib.service";
|
|
@@ -6,31 +7,20 @@ import * as i2 from "../../services/message.service";
|
|
|
6
7
|
import * as i3 from "@angular/common";
|
|
7
8
|
import * as i4 from "../check/check.component";
|
|
8
9
|
import * as i5 from "../table/table.component";
|
|
9
|
-
import * as i6 from "../search/search.component";
|
|
10
10
|
export class PageComponent {
|
|
11
11
|
constructor(dataServiceLib, messageService) {
|
|
12
12
|
this.dataServiceLib = dataServiceLib;
|
|
13
13
|
this.messageService = messageService;
|
|
14
|
+
this.config = new PageConfig();
|
|
14
15
|
this.searchModeActivated = new EventEmitter();
|
|
15
16
|
this.searchModeDeactivated = new EventEmitter();
|
|
16
17
|
this.refreshClick = new EventEmitter();
|
|
17
18
|
this.tableReload = new Subject();
|
|
18
19
|
this.searchMode = false;
|
|
19
|
-
this.searchTileData = [];
|
|
20
|
-
this.searchTableData = [];
|
|
21
20
|
}
|
|
22
21
|
ngOnInit() {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.lastSearch = data;
|
|
26
|
-
data.email = sendEmail;
|
|
27
|
-
this.dataServiceLib.CallApi(this.config.searchConfig.searchAction, data).subscribe((apiResponse) => {
|
|
28
|
-
this.searchTableData = apiResponse.data.results;
|
|
29
|
-
this.searchTileData = apiResponse.data.tiles;
|
|
30
|
-
if (apiResponse.success && apiResponse.message != "success" && apiResponse.message != "") {
|
|
31
|
-
this.messageService.toast(apiResponse.message);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
22
|
+
this.normalTableConfig = this.getNormalTableConfig();
|
|
23
|
+
this.searchTableConfig = this.getSearchTableConfig();
|
|
34
24
|
}
|
|
35
25
|
toggleSearch() {
|
|
36
26
|
if (this.searchMode) {
|
|
@@ -38,8 +28,6 @@ export class PageComponent {
|
|
|
38
28
|
}
|
|
39
29
|
else {
|
|
40
30
|
this.searchModeDeactivated.emit();
|
|
41
|
-
this.searchTableData = [];
|
|
42
|
-
this.searchTileData = [];
|
|
43
31
|
}
|
|
44
32
|
}
|
|
45
33
|
getNormalTableConfig() {
|
|
@@ -49,26 +37,11 @@ export class PageComponent {
|
|
|
49
37
|
};
|
|
50
38
|
}
|
|
51
39
|
getSearchTableConfig() {
|
|
52
|
-
//Basic search
|
|
53
|
-
if (this.config.searchConfig && !this.config.searchTableConfig) {
|
|
54
|
-
return {
|
|
55
|
-
...this.config.tableConfig,
|
|
56
|
-
searchConfig: null,
|
|
57
|
-
tileConfig: null,
|
|
58
|
-
holdHeaderButtonSpace: true,
|
|
59
|
-
buttons: this.config.tableConfig.buttons.filter(x => x.name != 'create'),
|
|
60
|
-
loadAction: null,
|
|
61
|
-
showFilterButton: false,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
//Advanced Search
|
|
65
40
|
return {
|
|
66
41
|
...this.config.searchTableConfig,
|
|
67
|
-
searchConfig: null,
|
|
68
|
-
holdHeaderButtonSpace: true,
|
|
69
|
-
buttons: this.config.tableConfig.buttons.filter(x => x.name != 'create'),
|
|
70
42
|
loadAction: null,
|
|
71
|
-
|
|
43
|
+
showFilter: false,
|
|
44
|
+
holdHeaderButtonSpace: true,
|
|
72
45
|
};
|
|
73
46
|
}
|
|
74
47
|
refreshClicked() {
|
|
@@ -76,10 +49,10 @@ export class PageComponent {
|
|
|
76
49
|
}
|
|
77
50
|
}
|
|
78
51
|
PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PageComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
-
PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PageComponent, selector: "spa-page", inputs: { config: "config" }, outputs: { searchModeActivated: "searchModeActivated", searchModeDeactivated: "searchModeDeactivated", refreshClick: "refreshClick" }, ngImport: i0, template: "<div class=\"row\">\r\n\r\n <div class=\"col\">\r\n <h4>{{config.title ?? 'Untitled'}} </h4>\r\n </div>\r\n\r\n <div class=\"col d-flex justify-content-end\" style=\"font-size: 14px;\">\r\n <spa-check *ngIf=\"config.
|
|
52
|
+
PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PageComponent, selector: "spa-page", inputs: { config: "config" }, outputs: { searchModeActivated: "searchModeActivated", searchModeDeactivated: "searchModeDeactivated", refreshClick: "refreshClick" }, ngImport: i0, template: "<div class=\"row\">\r\n\r\n <div class=\"col\">\r\n <h4>{{config.title ?? 'Untitled'}} </h4>\r\n </div>\r\n\r\n <div class=\"col d-flex justify-content-end\" style=\"font-size: 14px;\">\r\n <spa-check *ngIf=\"config.searchTableConfig\" [(value)]=\"searchMode\" display=\"Search Mode\" (valueChange)=\"toggleSearch()\" style=\"margin-right: 10px;\"></spa-check>\r\n </div>\r\n\r\n</div>\r\n\r\n<hr style=\"margin-top: 0px;\" />\r\n\r\n\r\n<div style=\" font-size: 14px;\">\r\n <!-- Normal -->\r\n <spa-table *ngIf=\"!searchMode\" [config]=\"normalTableConfig\" [reload]=\"tableReload\" (refreshClick)=\"refreshClicked()\"></spa-table>\r\n\r\n <!-- Search -->\r\n <spa-table *ngIf=\"searchMode\" [config]=\"searchTableConfig\" [reload]=\"tableReload\" (refreshClick)=\"refreshClicked()\"></spa-table>\r\n</div>\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.CheckComponent, selector: "spa-check", inputs: ["readonly", "display", "value", "infoMessage"], outputs: ["valueChange", "click", "check", "uncheck", "infoClick"] }, { kind: "component", type: i5.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "tileData", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange", "actionResponse"] }] });
|
|
80
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PageComponent, decorators: [{
|
|
81
54
|
type: Component,
|
|
82
|
-
args: [{ selector: 'spa-page', template: "<div class=\"row\">\r\n\r\n <div class=\"col\">\r\n <h4>{{config.title ?? 'Untitled'}} </h4>\r\n </div>\r\n\r\n <div class=\"col d-flex justify-content-end\" style=\"font-size: 14px;\">\r\n <spa-check *ngIf=\"config.
|
|
55
|
+
args: [{ selector: 'spa-page', template: "<div class=\"row\">\r\n\r\n <div class=\"col\">\r\n <h4>{{config.title ?? 'Untitled'}} </h4>\r\n </div>\r\n\r\n <div class=\"col d-flex justify-content-end\" style=\"font-size: 14px;\">\r\n <spa-check *ngIf=\"config.searchTableConfig\" [(value)]=\"searchMode\" display=\"Search Mode\" (valueChange)=\"toggleSearch()\" style=\"margin-right: 10px;\"></spa-check>\r\n </div>\r\n\r\n</div>\r\n\r\n<hr style=\"margin-top: 0px;\" />\r\n\r\n\r\n<div style=\" font-size: 14px;\">\r\n <!-- Normal -->\r\n <spa-table *ngIf=\"!searchMode\" [config]=\"normalTableConfig\" [reload]=\"tableReload\" (refreshClick)=\"refreshClicked()\"></spa-table>\r\n\r\n <!-- Search -->\r\n <spa-table *ngIf=\"searchMode\" [config]=\"searchTableConfig\" [reload]=\"tableReload\" (refreshClick)=\"refreshClicked()\"></spa-table>\r\n</div>\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
83
56
|
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }]; }, propDecorators: { config: [{
|
|
84
57
|
type: Input
|
|
85
58
|
}], searchModeActivated: [{
|
|
@@ -89,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
89
62
|
}], refreshClick: [{
|
|
90
63
|
type: Output
|
|
91
64
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFlLFVBQVUsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBRTdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFRL0IsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBbUIsY0FBOEIsRUFBVSxjQUE4QjtRQUF0RSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFTaEYsV0FBTSxHQUFlLElBQUksVUFBVSxFQUFFLENBQUM7UUFDckMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1QyxnQkFBVyxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTlDLGVBQVUsR0FBRyxLQUFLLENBQUM7SUFoQjJFLENBQUM7SUFFL0YsUUFBUTtRQUVOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFFdkQsQ0FBQztJQWNELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2pDO2FBQ0c7WUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBSUQsb0JBQW9CO1FBQ2xCLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUMxQixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUdELG9CQUFvQjtRQUVsQixPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjtZQUNoQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsS0FBSztZQUNqQixxQkFBcUIsRUFBRSxJQUFJO1NBQzVCLENBQUE7SUFFSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7MEdBdkRVLGFBQWE7OEZBQWIsYUFBYSxxTkNYMUIsaTBCQXVCQTsyRkRaYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFVBQVU7a0lBZVgsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UsIFBhZ2VDb25maWcsIFRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhU2VydmljZUxpYjogRGF0YVNlcnZpY2VMaWIsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMubm9ybWFsVGFibGVDb25maWcgPSB0aGlzLmdldE5vcm1hbFRhYmxlQ29uZmlnKCk7XHJcbiAgICB0aGlzLnNlYXJjaFRhYmxlQ29uZmlnID0gdGhpcy5nZXRTZWFyY2hUYWJsZUNvbmZpZygpO1xyXG5cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGNvbmZpZzogUGFnZUNvbmZpZyA9IG5ldyBQYWdlQ29uZmlnKCk7XHJcbiAgQE91dHB1dCgpIHNlYXJjaE1vZGVBY3RpdmF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNlYXJjaE1vZGVEZWFjdGl2YXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVmcmVzaENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICB0YWJsZVJlbG9hZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHNlYXJjaE1vZGUgPSBmYWxzZTtcclxuXHJcbiAgbm9ybWFsVGFibGVDb25maWc6IFRhYmxlQ29uZmlnO1xyXG4gIHNlYXJjaFRhYmxlQ29uZmlnOiBUYWJsZUNvbmZpZztcclxuXHJcbiAgdG9nZ2xlU2VhcmNoKCkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoTW9kZSkge1xyXG4gICAgICB0aGlzLnNlYXJjaE1vZGVBY3RpdmF0ZWQuZW1pdCgpO1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgdGhpcy5zZWFyY2hNb2RlRGVhY3RpdmF0ZWQuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBnZXROb3JtYWxUYWJsZUNvbmZpZygpIDogVGFibGVDb25maWcge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4udGhpcy5jb25maWcudGFibGVDb25maWcsXHJcbiAgICAgIHNlYXJjaENvbmZpZzogbnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGdldFNlYXJjaFRhYmxlQ29uZmlnKCkgOiBUYWJsZUNvbmZpZyB7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4udGhpcy5jb25maWcuc2VhcmNoVGFibGVDb25maWcsXHJcbiAgICAgIGxvYWRBY3Rpb246IG51bGwsXHJcbiAgICAgIHNob3dGaWx0ZXI6IGZhbHNlLFxyXG4gICAgICBob2xkSGVhZGVyQnV0dG9uU3BhY2U6IHRydWUsXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaENsaWNrZWQoKXtcclxuICAgIHRoaXMucmVmcmVzaENsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGg0Pnt7Y29uZmlnLnRpdGxlID8/ICdVbnRpdGxlZCd9fSA8L2g0PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgICA8c3BhLWNoZWNrICpuZ0lmPVwiY29uZmlnLnNlYXJjaFRhYmxlQ29uZmlnXCIgWyh2YWx1ZSldPVwic2VhcmNoTW9kZVwiIGRpc3BsYXk9XCJTZWFyY2ggTW9kZVwiICh2YWx1ZUNoYW5nZSk9XCJ0b2dnbGVTZWFyY2goKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O1wiPjwvc3BhLWNoZWNrPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48aHIgc3R5bGU9XCJtYXJnaW4tdG9wOiAwcHg7XCIgLz5cclxuXHJcblxyXG48ZGl2IHN0eWxlPVwiIGZvbnQtc2l6ZTogMTRweDtcIj5cclxuICA8IS0tIE5vcm1hbCAtLT5cclxuICA8c3BhLXRhYmxlICpuZ0lmPVwiIXNlYXJjaE1vZGVcIiAgW2NvbmZpZ109XCJub3JtYWxUYWJsZUNvbmZpZ1wiIFtyZWxvYWRdPVwidGFibGVSZWxvYWRcIiAocmVmcmVzaENsaWNrKT1cInJlZnJlc2hDbGlja2VkKClcIj48L3NwYS10YWJsZT5cclxuXHJcbiAgPCEtLSBTZWFyY2ggLS0+XHJcbiAgPHNwYS10YWJsZSAqbmdJZj1cInNlYXJjaE1vZGVcIiBbY29uZmlnXT1cInNlYXJjaFRhYmxlQ29uZmlnXCIgW3JlbG9hZF09XCJ0YWJsZVJlbG9hZFwiIChyZWZyZXNoQ2xpY2spPVwicmVmcmVzaENsaWNrZWQoKVwiPjwvc3BhLXRhYmxlPlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
|
|
@@ -5,8 +5,9 @@ import * as i1 from "@angular/common";
|
|
|
5
5
|
import * as i2 from "@angular/material/button";
|
|
6
6
|
import * as i3 from "@angular/material/icon";
|
|
7
7
|
import * as i4 from "@angular/material/tooltip";
|
|
8
|
-
import * as i5 from "../
|
|
9
|
-
import * as i6 from "
|
|
8
|
+
import * as i5 from "../filter/filter.component";
|
|
9
|
+
import * as i6 from "../option/option.component";
|
|
10
|
+
import * as i7 from "../../pipes/camelToWords.pipe";
|
|
10
11
|
export class SearchComponent {
|
|
11
12
|
constructor() {
|
|
12
13
|
this.searchClick = new EventEmitter();
|
|
@@ -19,13 +20,17 @@ export class SearchComponent {
|
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
SearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
SearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SearchComponent, selector: "spa-search", inputs: { config: "config" }, outputs: { searchClick: "searchClick" }, ngImport: i0, template: "\n<div class=\"tin-between\">\n\n<div class=\"col tin-row\">\n\n
|
|
23
|
+
SearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SearchComponent, selector: "spa-search", inputs: { config: "config", smallScreen: "smallScreen", tableDataSource: "tableDataSource" }, outputs: { searchClick: "searchClick" }, ngImport: i0, template: "\r\n<div class=\"tin-between\">\r\n\r\n <div class=\"col tin-row\">\r\n\r\n <div *ngFor=\"let field of config.fields\">\r\n\r\n <spa-option [type]=\"field.type\" [required]=\"field.required\" [show]=\"field.show\" [display]=\"field.alias ?? field.name | camelToWords\"\r\n [options]=\"field.options\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\" [(value)]=\"data[field.name]\" (enterPress)=\"search()\"\r\n [infoMessage]=\"field.infoMessage\" [suffix]=\"field.suffix\" [copyContent]=\"field.copyContent\"\r\n ></spa-option>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"col-2 tin-end\">\r\n <spa-filter [showText]=\"!smallScreen || (smallScreen && tableDataSource?.length > 10)\" [showButton]=\"false\" [data]=\"tableDataSource\" ></spa-filter>\r\n <button mat-fab color=\"primary\" (click)=\"search()\" matTooltip=\"Search\" matTooltipPosition=\"right\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n\r\n</div>\r\n", styles: [".tin-row{column-gap:30px;row-gap:0px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.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: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.FilterComponent, selector: "spa-filter", inputs: ["flatButtons", "showText", "showButton", "data"], outputs: ["refreshClick"] }, { kind: "component", type: i6.OptionComponent, selector: "spa-option", inputs: ["options", "optionValue", "optionDisplay", "readonly", "type", "value", "display", "show", "required", "infoMessage", "copyContent", "suffix"], outputs: ["valueChange", "enterPress"] }, { kind: "pipe", type: i7.CamelToWordsPipe, name: "camelToWords" }] });
|
|
23
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SearchComponent, decorators: [{
|
|
24
25
|
type: Component,
|
|
25
|
-
args: [{ selector: 'spa-search', template: "\n<div class=\"tin-between\">\n\n<div class=\"col tin-row\">\n\n
|
|
26
|
+
args: [{ selector: 'spa-search', template: "\r\n<div class=\"tin-between\">\r\n\r\n <div class=\"col tin-row\">\r\n\r\n <div *ngFor=\"let field of config.fields\">\r\n\r\n <spa-option [type]=\"field.type\" [required]=\"field.required\" [show]=\"field.show\" [display]=\"field.alias ?? field.name | camelToWords\"\r\n [options]=\"field.options\" [optionDisplay]=\"field.optionDisplay ?? 'name'\" [optionValue]=\"field.optionValue ?? 'value'\" [(value)]=\"data[field.name]\" (enterPress)=\"search()\"\r\n [infoMessage]=\"field.infoMessage\" [suffix]=\"field.suffix\" [copyContent]=\"field.copyContent\"\r\n ></spa-option>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"col-2 tin-end\">\r\n <spa-filter [showText]=\"!smallScreen || (smallScreen && tableDataSource?.length > 10)\" [showButton]=\"false\" [data]=\"tableDataSource\" ></spa-filter>\r\n <button mat-fab color=\"primary\" (click)=\"search()\" matTooltip=\"Search\" matTooltipPosition=\"right\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n\r\n</div>\r\n", styles: [".tin-row{column-gap:30px;row-gap:0px}\n"] }]
|
|
26
27
|
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
27
28
|
type: Input
|
|
28
29
|
}], searchClick: [{
|
|
29
30
|
type: Output
|
|
31
|
+
}], smallScreen: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], tableDataSource: [{
|
|
34
|
+
type: Input
|
|
30
35
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7O0FBTzdDLE1BQU0sT0FBTyxlQUFlO0lBRTFCO1FBVVUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBVjNCLENBQUM7SUFFakIsUUFBUTtRQUVOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRXJELENBQUM7SUFTRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7OzRHQW5CVSxlQUFlO2dHQUFmLGVBQWUseUxDVDVCLDhnQ0F3QkE7MkZEZmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZOzBFQWViLE1BQU07c0JBQWQsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2VhcmNoQ29uZmlnIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgQ29yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvVGluQ29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuZGF0YSA9IENvcmUuZ2VuZXJhdGVPYmplY3QodGhpcy5jb25maWcuZmllbGRzKVxyXG5cclxuICB9XHJcblxyXG4gIGRhdGE7XHJcbiAgQElucHV0KCkgY29uZmlnOiBTZWFyY2hDb25maWc7XHJcbiAgQE91dHB1dCgpIHNlYXJjaENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBzbWFsbFNjcmVlbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSB0YWJsZURhdGFTb3VyY2U6IGFueTtcclxuXHJcbiAgc2VhcmNoKCl7XHJcbiAgICB0aGlzLnNlYXJjaENsaWNrLmVtaXQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG59XHJcbiIsIlxyXG48ZGl2IGNsYXNzPVwidGluLWJldHdlZW5cIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbCB0aW4tcm93XCI+XHJcblxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY29uZmlnLmZpZWxkc1wiPlxyXG5cclxuICAgICAgPHNwYS1vcHRpb24gW3R5cGVdPVwiZmllbGQudHlwZVwiIFtyZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiICBbc2hvd109XCJmaWVsZC5zaG93XCIgW2Rpc3BsYXldPVwiZmllbGQuYWxpYXMgPz8gZmllbGQubmFtZSB8IGNhbWVsVG9Xb3Jkc1wiXHJcbiAgICAgICAgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cImZpZWxkLm9wdGlvbkRpc3BsYXkgPz8gJ25hbWUnXCIgW29wdGlvblZhbHVlXT1cImZpZWxkLm9wdGlvblZhbHVlID8/ICd2YWx1ZSdcIiBbKHZhbHVlKV09XCJkYXRhW2ZpZWxkLm5hbWVdXCIgKGVudGVyUHJlc3MpPVwic2VhcmNoKClcIlxyXG4gICAgICAgIFtpbmZvTWVzc2FnZV09XCJmaWVsZC5pbmZvTWVzc2FnZVwiIFtzdWZmaXhdPVwiZmllbGQuc3VmZml4XCIgW2NvcHlDb250ZW50XT1cImZpZWxkLmNvcHlDb250ZW50XCJcclxuICAgICAgPjwvc3BhLW9wdGlvbj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMiB0aW4tZW5kXCI+XHJcbiAgICA8c3BhLWZpbHRlciBbc2hvd1RleHRdPVwiIXNtYWxsU2NyZWVuIHx8IChzbWFsbFNjcmVlbiAmJiB0YWJsZURhdGFTb3VyY2U/Lmxlbmd0aCA+IDEwKVwiIFtzaG93QnV0dG9uXT1cImZhbHNlXCIgW2RhdGFdPVwidGFibGVEYXRhU291cmNlXCIgPjwvc3BhLWZpbHRlcj5cclxuICAgIDxidXR0b24gbWF0LWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2VhcmNoKClcIiBtYXRUb29sdGlwPVwiU2VhcmNoXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj5cclxuICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|