@unipin/angular-applet 17.3.0 → 17.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/esm2022/lib/components/approval/detail/approval-detail.component.mjs +3 -3
- package/esm2022/lib/components/approval/form/approval-form.component.mjs +3 -3
- package/esm2022/lib/components/approval/list/approval-list.component.mjs +3 -3
- package/esm2022/lib/components/approval/services/approval.service.mjs +3 -3
- package/esm2022/lib/components/audit/detail/audit-detail.component.mjs +3 -3
- package/esm2022/lib/components/audit/list/audit-list.component.mjs +3 -3
- package/esm2022/lib/components/audit/service/audit.service.mjs +3 -3
- package/esm2022/lib/components/buttons/group/btn-group.component.mjs +5 -5
- package/esm2022/lib/components/buttons/loading/btn-loading.component.mjs +3 -3
- package/esm2022/lib/components/containers/applet-container/applet-container.component.mjs +3 -3
- package/esm2022/lib/components/containers/colum-header-container/column-header-container.component.mjs +3 -3
- package/esm2022/lib/components/containers/column-container/column-container.component.mjs +3 -3
- package/esm2022/lib/components/containers/column-container/directives/lazy-route.directive.mjs +3 -3
- package/esm2022/lib/components/containers/list-container/interfaces/list-container-config.interface.mjs +1 -1
- package/esm2022/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.mjs +8 -7
- package/esm2022/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.mjs +8 -7
- package/esm2022/lib/components/containers/modal-container/modal-container.component.mjs +3 -3
- package/esm2022/lib/components/filter/filter.component.mjs +3 -3
- package/esm2022/lib/components/forms/currency-input/form-currency-input.component.mjs +153 -0
- package/esm2022/lib/components/forms/date/form-date.component.mjs +11 -7
- package/esm2022/lib/components/forms/image-picker/directives/drag-n-drop.directive.mjs +3 -3
- package/esm2022/lib/components/forms/image-picker/form-image-picker.component.mjs +3 -3
- package/esm2022/lib/components/forms/index.mjs +2 -1
- package/esm2022/lib/components/forms/input/form-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/number/form-number.component.mjs +3 -3
- package/esm2022/lib/components/forms/number/pipes/locale-number.pipe.mjs +3 -3
- package/esm2022/lib/components/forms/password/form-password.component.mjs +3 -3
- package/esm2022/lib/components/forms/searchable-select/form-searchable-select.component.mjs +3 -3
- package/esm2022/lib/components/forms/select/form-select.component.mjs +5 -5
- package/esm2022/lib/components/forms/textarea/form-textarea.component.mjs +3 -3
- package/esm2022/lib/components/grids/grid-pagination/grid-pagination.component.mjs +9 -5
- package/esm2022/lib/components/grids/grid-snapshot/grid-snapshot.component.mjs +9 -5
- package/esm2022/lib/components/grids/services/grid.service.mjs +3 -3
- package/esm2022/lib/components/index.mjs +2 -2
- package/esm2022/lib/components/tabs/tab-content/tab-content.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tab-group/tab-group.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs.component.module.mjs +4 -4
- package/esm2022/lib/interceptors/header/header.interceptor.mjs +3 -3
- package/esm2022/lib/interceptors/refresh-token/refresh-token.interceptor.mjs +3 -3
- package/esm2022/lib/modules/permission/directive/permission.directive.mjs +3 -3
- package/esm2022/lib/modules/permission/pages/401/unauthorized.page.mjs +3 -3
- package/esm2022/lib/modules/permission/pages/loading/loading.page.mjs +3 -3
- package/esm2022/lib/modules/permission/permission.module.mjs +4 -4
- package/esm2022/lib/modules/permission/services/permission.service.mjs +3 -3
- package/esm2022/lib/resolvers/auth/auth.resolver.mjs +3 -3
- package/esm2022/lib/services/auth/auth.service.mjs +3 -3
- package/esm2022/lib/services/country/country.service.mjs +3 -3
- package/esm2022/lib/services/currency/currency.service.mjs +9 -13
- package/esm2022/lib/services/profile/profile.service.mjs +3 -3
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/unipin-angular-applet.mjs +1465 -1313
- package/fesm2022/unipin-angular-applet.mjs.map +1 -1
- package/lib/components/containers/list-container/interfaces/list-container-config.interface.d.ts +2 -3
- package/lib/components/forms/currency-input/form-currency-input.component.d.ts +55 -0
- package/lib/components/forms/date/form-date.component.d.ts +1 -0
- package/lib/components/forms/index.d.ts +1 -0
- package/lib/components/index.d.ts +1 -1
- package/lib/services/currency/currency.service.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/src/assets/scss/select.scss +1 -1
|
@@ -57,10 +57,10 @@ export class ApprovalDetailComponent {
|
|
|
57
57
|
setChildGuid(guid) {
|
|
58
58
|
this.formComponent?.setGuid(this.guids ?? [guid], this.isApprove);
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalDetailComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ApprovalDetailComponent, isStandalone: true, selector: "up-approval-detail", host: { classAttribute: "d-block h-100" }, viewQueries: [{ propertyName: "formComponent", first: true, predicate: ApprovalFormComponent, descendants: true }], ngImport: i0, template: "<up-column-header-container header=\"Approval Detail\" prevUrl=\"/approval\" class=\"bg-white\">\n <up-btn-group id=\"button\" *ngIf=\"!formComponent?.isLoading; else loading\" [config]=\"btnConfig\" />\n\n <ng-template #loading>\n <ion-skeleton-text id=\"button\" class=\"m-0 sk-btn\" />\n </ng-template>\n\n <up-tab-group class=\"h-100\" (onChange)=\"changeTab($event)\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n <up-approval-form />\n </up-tab-content>\n </up-tab-group>\n</up-column-header-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TabsComponentModule }, { kind: "component", type: i4.TabGroupComponent, selector: "up-tab-group", outputs: ["onChange"] }, { kind: "component", type: i5.TabContentComponent, selector: "up-tab-content", inputs: ["header"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: ColumnHeaderContainerComponent, selector: "up-column-header-container", inputs: ["header", "prevUrl"] }, { kind: "component", type: ApprovalFormComponent, selector: "up-approval-form", inputs: ["isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
62
62
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalDetailComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
65
|
args: [{ standalone: true, selector: 'up-approval-detail', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
66
66
|
class: 'd-block h-100'
|
|
@@ -98,10 +98,10 @@ export class ApprovalFormComponent {
|
|
|
98
98
|
this.ch.markForCheck();
|
|
99
99
|
}
|
|
100
100
|
async showAlert(header, message, buttons = ['OK'], inputs = []) { (await this.alertCtrl.create({ header, message, buttons, inputs })).present(); }
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalFormComponent, deps: [{ token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.ApprovalService }, { token: i3.GridService }, { token: i4.AlertController }, { token: i5.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ApprovalFormComponent, isStandalone: true, selector: "up-approval-form", inputs: { isLoading: "isLoading" }, host: { classAttribute: "px-4 d-block" }, ngImport: i0, template: "<ng-container *ngIf=\"!isLoading; else loading\">\n <div *ngFor=\"let d of data, let i = index\">\n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\" *ngIf=\"data.length > 1\">\n <ion-icon name=\"document\" />\n <h5 class=\"m-0\">Approval {{ i + 1 }}</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Entity\" [disabled]=\"true\" [value]=\"d.entity\" />\n <up-input class=\"mb-4\" label=\"Remark\" [disabled]=\"true\" [value]=\"d.remark\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Created At\" [disabled]=\"true\" [value]=\"d.createdAt | date:'dd MMM yyyy HH:mm'\" />\n <up-input class=\"mb-4\" label=\"Status\" [disabled]=\"true\" [value]=\"d.status\" />\n </div>\n </div>\n\n <up-textarea class=\"mb-4\" label=\"Reason\" [disabled]=\"true\" [value]=\"d.reason\" *ngIf=\"d.status !== 'PENDING'\" />\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "component", type: FormInputComponent, selector: "up-input", inputs: ["label", "value", "required", "disabled"], outputs: ["onInput"] }, { kind: "component", type: FormTextareaComponent, selector: "up-textarea", inputs: ["value", "required", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
103
103
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalFormComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
106
|
args: [{ standalone: true, selector: 'up-approval-form', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
107
107
|
class: 'px-4 d-block'
|
|
@@ -77,10 +77,10 @@ export class ApprovalListComponent {
|
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalListComponent, deps: [{ token: 'ENTITIES' }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ApprovalService }, { token: i3.AlertController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ApprovalListComponent, isStandalone: true, selector: "up-approval-list", host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">Approval</h3>\n\n <up-btn-group id=\"approval-list\" [config]=\"btnConfig\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\">\n <up-filter placeholder=\"Type to search\" id=\"filter-approval-list\" [config]=\"filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"gridConfig\" id=\"grid-approval-list\" rowSelection=\"multiple\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" (onSelectionChanged)=\"selectApprovals()\" />\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
|
|
82
82
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalListComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{ standalone: true, selector: 'up-approval-list', host: {
|
|
86
86
|
class: 'd-flex flex-column h-100 w-100'
|
|
@@ -34,10 +34,10 @@ export class ApprovalService {
|
|
|
34
34
|
`
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalService, providedIn: 'root' }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApprovalService, decorators: [{
|
|
41
41
|
type: Injectable,
|
|
42
42
|
args: [{
|
|
43
43
|
providedIn: 'root'
|
|
@@ -106,10 +106,10 @@ export class AuditDetailComponent {
|
|
|
106
106
|
}));
|
|
107
107
|
this.gridApi.setGridOption('rowData', changedData);
|
|
108
108
|
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuditDetailComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AuditService }, { token: i3.ActivatedRoute }, { token: i4.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: AuditDetailComponent, isStandalone: true, selector: "up-audit-detail", ngImport: i0, template: "<up-tab-group class=\"h-100\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n <form [formGroup]=\"form\" class=\"px-4 pb-4\" *ngIf=\"!isLoading; else loading\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n\n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n\n <ng-template #loading>\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" *ngFor=\"let i of [0,1,2,3,4,5,6]\" />\n </ng-template> \n </up-tab-content>\n\n <up-tab-content header=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n", styles: ["ion-icon{font-size:24px;margin-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }, { kind: "ngmodule", type: TabsComponentModule }, { kind: "component", type: i6.TabGroupComponent, selector: "up-tab-group", outputs: ["onChange"] }, { kind: "component", type: i7.TabContentComponent, selector: "up-tab-content", inputs: ["header"] }, { kind: "component", type: FormInputComponent, selector: "up-input", inputs: ["label", "value", "required", "disabled"], outputs: ["onInput"] }, { kind: "component", type: FormTextareaComponent, selector: "up-textarea", inputs: ["value", "required", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuditDetailComponent, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
114
|
args: [{ standalone: true, selector: 'up-audit-detail', imports: [
|
|
115
115
|
CommonModule,
|
|
@@ -52,10 +52,10 @@ export class AuditListComponent {
|
|
|
52
52
|
this.criteria.tagValues = [guid];
|
|
53
53
|
this.gridComponent.reset();
|
|
54
54
|
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuditListComponent, deps: [{ token: 'id', attribute: true }, { token: 'mainUrl', attribute: true }, { token: i1.Router }, { token: i2.AuditService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: AuditListComponent, isStandalone: true, selector: "up-audit-list", inputs: { relatedEntities: "relatedEntities", tagKeys: "tagKeys" }, host: { classAttribute: "d-flex flex-column h-100" }, viewQueries: [{ propertyName: "gridComponent", first: true, predicate: GridPaginationComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex justify-content-end px-4 pb-4 flex-shrink-0\">\n <up-filter class=\"w-100\" id=\"audit-filter\" placeholder=\"Type to search\" [config]=\"filterConfig\" (onSearch)=\"search($event);\" />\n</div>\n \n<up-pagination-grid id=\"grid-audit\" class=\"flex-grow-1\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"rowClicked($event)\" />\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
|
|
57
57
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuditListComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{ standalone: true, selector: 'up-audit-list', host: {
|
|
61
61
|
class: 'd-flex flex-column h-100'
|
|
@@ -37,10 +37,10 @@ export class AuditService {
|
|
|
37
37
|
`
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
41
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuditService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuditService, providedIn: 'root' }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuditService, decorators: [{
|
|
44
44
|
type: Injectable,
|
|
45
45
|
args: [{
|
|
46
46
|
providedIn: 'root'
|
|
@@ -25,16 +25,16 @@ export class ButtonGroupComponent {
|
|
|
25
25
|
this.activeIndex = i;
|
|
26
26
|
this.popoverCtrl.dismiss();
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: 'id', attribute: true }, { token: i1.PopoverController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ButtonGroupComponent, isStandalone: true, selector: "up-btn-group", inputs: { config: "config" }, host: { properties: { "class.d-none": "this.isHidden" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ng-container *ngIf=\"config.length > 1\" >\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n \n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" *ngFor=\"let c of config; let i = index\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n <ion-icon name=\"checkmark\" *ngIf=\"i === activeIndex\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n <div class=\"f12 pt-1\" *ngIf=\"c.description\">\n {{ c.description }}\n </div>\n </div>\n </div>\n </ng-template>\n </ion-popover>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonLoadingComponent, selector: "up-btn-loading", inputs: ["disabled", "form", "type", "fill", "color"], outputs: ["onClick"] }] }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonGroupComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
33
33
|
args: [{ standalone: true, selector: 'up-btn-group', imports: [
|
|
34
34
|
IonicModule,
|
|
35
35
|
CommonModule,
|
|
36
36
|
ButtonLoadingComponent
|
|
37
|
-
], template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\"
|
|
37
|
+
], template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ng-container *ngIf=\"config.length > 1\" >\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n \n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" *ngFor=\"let c of config; let i = index\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n <ion-icon name=\"checkmark\" *ngIf=\"i === activeIndex\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n <div class=\"f12 pt-1\" *ngIf=\"c.description\">\n {{ c.description }}\n </div>\n </div>\n </div>\n </ng-template>\n </ion-popover>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"] }]
|
|
38
38
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
39
39
|
type: Attribute,
|
|
40
40
|
args: ['id']
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
45
45
|
type: HostBinding,
|
|
46
46
|
args: ['class.d-none']
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b25zL2dyb3VwL2J0bi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9ncm91cC9idG4tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFhMUUsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsWUFNMEIsRUFBVSxFQUNmLFdBQThCO1FBRHpCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFoQlosYUFBUSxHQUFZLEtBQUssQ0FBQztRQU8xRCxnQkFBVyxHQUFXLENBQUMsQ0FBQztJQVUzQixDQUFDO0lBRUUsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFRTSxRQUFRLENBQUMsQ0FBeUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFRTSxNQUFNLENBQUMsQ0FBUztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBdERVLG9CQUFvQixrQkF3QmxCLElBQUk7a0dBeEJOLG9CQUFvQixzTENqQmpDLG1pREE2QkEsNFhEakJJLFdBQVcsd2dCQUNYLFlBQVksZ1FBQ1osc0JBQXNCOzsyRkFHYixvQkFBb0I7a0JBWGhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FHZjt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osc0JBQXNCO3FCQUN2Qjs7MEJBMEJFLFNBQVM7MkJBQUMsSUFBSTt5RUFoQmlCLE1BQU07c0JBQXZDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNjLFFBQVE7c0JBQTlDLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9idG4tZ3JvdXAtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9idG4tbG9hZGluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1idG4tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnRuLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnRuLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBJb25pY01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uTG9hZGluZ0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkdyb3VwQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBjdXN0b21pemluZyBidXR0b24gZ3JvdXAgcHJvcGVydGllcy4gVGhpc1xuICAgKiBvYmplY3QgZGVmaW5lZCBieSBCdXR0b25Hcm91cENvbmZpZyBpbnRlcmZhY2UgYWxsb3dzIHNwZWNpZnlpbmcgYnV0dG9uIHN1Y2ggYXMgaWNvbixcbiAgICogY29sb3IsIGRlc2NyaXB0aW9uLCBkaXNhYmxlZCwgZm9ybSwgbGFiZWwsIGFuZCB0eXBlXG4gICAqIEB0eXBlIHtCdXR0b25Hcm91cENvbmZpZ1tdfVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IEJ1dHRvbkdyb3VwQ29uZmlnW107XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1ub25lJykgcHJvdGVjdGVkIGlzSGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgZmxhZyB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29udHJvbCBzaG93ZWQgYnV0dG9uLiBXaGVuIHNldCBhIG5ldyB2YWx1ZSwgY3VycmVudCBidXR0b25cbiAgICogaXMgaGlkZGVuIGFuZCBhbmQgYSBuZXcgYnV0dG9uIGlzIHNob3duLiBEZWZhdWx0IHZhbHVlIGlzIDAuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQW4gaWRlbnRpZmllciB0aGF0IHVzZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgYW4gSFRNTCBlbGVtZW50IHN1Y2ggYXMgYSBpb24tYnV0dG9uIGFuZFxuICAgICAqIGEgaW9uLXBvcG92ZXIuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBAQXR0cmlidXRlKCdpZCcpIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb3BvdmVyQ3RybDogUG9wb3ZlckNvbnRyb2xsZXJcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWR7XG4gICAgaWYgKGNoYW5nZXNbJ2NvbmZpZyddKSB7XG4gICAgICB0aGlzLmlzSGlkZGVuID0gdGhpcy5jb25maWcubGVuZ3RoIDw9IDA7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gMDtcbiAgICB9IFxuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgZXhlY3V0ZXMgYW5vdGhlciBtZXRob2QgaW5zaWRlIGFjdGl2ZSBidXR0b24gZGVmaW5lZCB3aXRoaW4gQnV0dG9uR3JvdXBDb25maWdcbiAgICogaW50ZXJmYWNlIGFmdGVyIGEgYnV0dG9uIGlzIGNsaWNrZWQuIEl0IHJlY2VpdmVzIGEgQnV0dG9uTG9hZGluZ0NvbXBvbmVudCBhcyBhIHBhcmFtZXRlclxuICAgKiBhbGxvd2luZyBtb2RpZmljYXRpb24gb2YgdGhlIGFjdGl2ZSBidXR0b24uXG4gICAqIEBwYXJhbSB7QnV0dG9uTG9hZGluZ0NvbXBvbmVudH0gYiAtIENvbnRhaW4gdmFsdWVzIGZyb20gY3VycmVudCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2xpY2tCdG4oYjogQnV0dG9uTG9hZGluZ0NvbXBvbmVudCk6IHZvaWR7XG4gICAgdGhpcy5jb25maWdbdGhpcy5hY3RpdmVJbmRleF0ub25DbGljayhiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0aGF0IGNoYW5nZSB2YXJpYWJsZSBhY3RpdmVJbmRleCB2YWx1ZSB0byBjdXJyZW50IGluZGV4IG9mIHRoZSBhY3RpdmUgYnV0dG9uIGFuZCBkaXNtaXNzXG4gICAqIHBvcG92ZXIuIEl0IHJlY2VpdmVzIGEgbnVtYmVyIHZhcmlhYmxlIGFzIGEgcGFyYW1ldGVyIGFuZCB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciB3aWxsIGJlIHNldFxuICAgKiB0byB2YXJpYWJsZSBhY3RpdmVJbmRleC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGkgLSBOZXcgaW5kZXggb2YgdGhlIGFjdGl2ZSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlKGk6IG51bWJlcik6IHZvaWR7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IGk7XG4gICAgdGhpcy5wb3BvdmVyQ3RybC5kaXNtaXNzKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubGVuZ3RoID4gMFwiPlxuICAgIDx1cC1idG4tbG9hZGluZyBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgW2NsYXNzLm11bHRpXT1cImNvbmZpZy5sZW5ndGggPiAxXCIgW3R5cGVdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS50eXBlXCIgW2Rpc2FibGVkXT1cImNvbmZpZ1thY3RpdmVJbmRleF0uZGlzYWJsZWRcIiBbZm9ybV09XCJjb25maWdbYWN0aXZlSW5kZXhdLmZvcm1cIiBbY29sb3JdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5jb2xvclwiIChvbkNsaWNrKT1cImNsaWNrQnRuKCRldmVudCk7XCI+XG4gICAgICAgIDxpb24taWNvbiBjbGFzcz1cIm1lLTJcIiBuYW1lPVwie3sgY29uZmlnW2FjdGl2ZUluZGV4XS5pY29uIH19XCIgKm5nSWY9XCJjb25maWdbYWN0aXZlSW5kZXhdLmljb25cIiAvPlxuICAgICAgICB7eyBjb25maWdbYWN0aXZlSW5kZXhdLmxhYmVsIH19XG4gICAgPC91cC1idG4tbG9hZGluZz5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubGVuZ3RoID4gMVwiID5cbiAgICAgICAgPGlvbi1idXR0b24gY2xhc3M9XCJmbGV4LXNocmluay0wXCIgaWQ9XCJidG4te3sgaWQgfX1cIiBbY29sb3JdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5jb2xvclwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjYXJldC1kb3duLW91dGxpbmVcIiAvPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgXG4gICAgICAgIDxpb24tcG9wb3ZlciB0cmlnZ2VyPVwiYnRuLXt7IGlkIH19XCIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHgtMiBweS0zIGN1cnNvci1wb2ludGVyIGJvcmRlci1ib3R0b20gZC1mbGV4IGdhcC0yXCIgKm5nRm9yPVwibGV0IGMgb2YgY29uZmlnOyBsZXQgaSA9IGluZGV4XCIgKGNsaWNrKT1cImNoYW5nZShpKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24gZmxleC1zaHJpbmstMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmtcIiAqbmdJZj1cImkgPT09IGFjdGl2ZUluZGV4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LW1lZGl1bVwiPnt7IGMubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmMTIgcHQtMVwiICpuZ0lmPVwiYy5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -23,10 +23,10 @@ export class ButtonLoadingComponent {
|
|
|
23
23
|
this.btn.disabled = !this.btn.disabled;
|
|
24
24
|
this.ch.markForCheck();
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonLoadingComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ButtonLoadingComponent, isStandalone: true, selector: "up-btn-loading", inputs: { disabled: "disabled", form: "form", type: "type", fill: "fill", color: "color" }, outputs: { onClick: "onClick" }, viewQueries: [{ propertyName: "btn", first: true, predicate: IonButton, descendants: true }], ngImport: i0, template: "<ion-button type=\"{{ type }}\" fill=\"{{ fill }}\" color=\"{{ color }}\" expand=\"block\" mode=\"md\" [disabled]=\"disabled\" [form]=\"form\" (click)=\"clickBtn()\">\n <ion-spinner *ngIf=\"isLoading;else showIcon\" />\n \n <ng-template #showIcon>\n <ng-content select=\"ion-icon\" />\n </ng-template>\n\n <ng-content />\n</ion-button>\n", styles: ["ion-spinner{width:14px;height:14px;margin-right:8px}circle{stroke-width:8}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonLoadingComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{ standalone: true, selector: 'up-btn-loading', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
32
32
|
IonicModule,
|
|
@@ -21,10 +21,10 @@ export class AppletContainerComponent {
|
|
|
21
21
|
}
|
|
22
22
|
ngOnDestroy() { this.sub.unsubscribe(); }
|
|
23
23
|
toggleSidenav() { this.isCollapsed = !this.isCollapsed; }
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AppletContainerComponent, deps: [{ token: 'APPLET_CONFIG' }, { token: i1.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: AppletContainerComponent, isStandalone: true, selector: "up-applet-container", host: { classAttribute: "d-flex h-100 w-100" }, ngImport: i0, template: "<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n <div class=\"tenant pt-1 fw-medium\">v{{ config.version }}</div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto\">\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[i]? 'd-none' : 'd-flex' }}\" title=\"{{ c.label }}\" [routerLink]=\"c.path\" routerLinkActive=\"fw-medium\" *ngFor=\"let c of config.containers; let i = index\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n </div>\n\n <div class=\"flex-shrink-0 px-3 pt-3 border-top\" *ngIf=\"config.enabledSetting\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n</div>\n\n<div class=\"flex-grow-1 overflow-y-auto\">\n <ng-content />\n</div>\n", styles: [".info{display:none}.name{font-size:16px}.tenant{color:#757575}.sidenav{width:73px;background:#f8f9fb;transition:all .2s ease;border-right:1px solid #D1D1D1}.sidenav.collapsed{width:250px}.sidenav.collapsed .btn-close{transform:rotate(180deg)}.sidenav.collapsed .nav div,.sidenav.collapsed .info{display:block}.btn-close{width:35px;height:35px;bottom:23px;right:-17px;z-index:999;transition:all .3s ease;background-color:#f8f9fb;box-shadow:0 0 .15rem #616161}.btn-close ion-icon{color:#616161;font-size:16px}@media (max-width: 768px){.btn-close{right:-18px}.btn-close ion-icon{position:absolute;right:9px;bottom:10px}}.nav{padding:12px;color:#616161;transition:all .3s ease}.nav.fw-medium,.nav:hover{background-color:#fef3ee;color:#ed6b26!important}.nav ion-icon{font-size:20px}.nav div{display:none;font-size:16px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i2.RouterLinkWithHrefDelegate, selector: "a[routerLink],area[routerLink]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AppletContainerComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{ standalone: true, selector: 'up-applet-container', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
30
30
|
class: 'd-flex h-100 w-100'
|
|
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "@ionic/angular";
|
|
6
6
|
import * as i2 from "@angular/router";
|
|
7
7
|
export class ColumnHeaderContainerComponent {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnHeaderContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ColumnHeaderContainerComponent, isStandalone: true, selector: "up-column-header-container", inputs: { header: "header", prevUrl: "prevUrl" }, host: { classAttribute: "d-flex flex-column h-100" }, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center border-bottom py-1 ps-1 pe-4 flex-shrink-0\">\n\t<div class=\"flex-grow-1 d-flex align-items-center pe-3\">\n\t\t<ion-buttons>\n\t\t\t<ion-button routerLink=\"{{ prevUrl }}\">\n\t\t\t\t<ion-icon slot=\"icon-only\" name=\"close\" />\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\n\t\t<div class=\"f20 fw-medium\">{{ header }}</div>\n\t</div>\n\n\t<ng-content select=\"[button]\" />\n</div>\n\n<div class=\"p-1 flex-grow-1 overflow-auto\">\n\t<ng-content/>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnHeaderContainerComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ standalone: true, selector: 'up-column-header-container', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
14
14
|
class: 'd-flex flex-column h-100'
|
|
@@ -50,10 +50,10 @@ export class ColumnContainerComponent {
|
|
|
50
50
|
this.areas[pos - 2].visible = true;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnContainerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ColumnContainerComponent, isStandalone: true, selector: "up-column-container", host: { classAttribute: "d-block h-100 w-100" }, ngImport: i0, template: "<as-split [disabled]=\"true\" [useTransition]=\"true\" [gutterSize]=\"0\">\n <as-split-area [size]=\"50\" [hidden]=\"!a.visible\" [visible]=\"a.visible\" [order]=\"i\" *ngFor=\"let a of areas; let i = index\" class=\"border-start\">\n <ng-container [loadRoute]=\"a.route\" />\n </as-split-area>\n</as-split>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: AngularSplitModule }, { kind: "component", type: i3.SplitComponent, selector: "as-split", inputs: ["direction", "unit", "gutterSize", "gutterStep", "restrictMove", "useTransition", "disabled", "dir", "gutterDblClickDuration", "gutterClickDeltaPx", "gutterAriaLabel"], outputs: ["transitionEnd", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"], exportAs: ["asSplit"] }, { kind: "directive", type: i3.SplitAreaDirective, selector: "as-split-area, [as-split-area]", inputs: ["order", "size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "directive", type: LazyRouteDirective, selector: "[loadRoute]", inputs: ["loadRoute"] }] }); }
|
|
55
55
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnContainerComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
58
|
args: [{ standalone: true, selector: 'up-column-container', host: {
|
|
59
59
|
class: 'd-block h-100 w-100'
|
package/esm2022/lib/components/containers/column-container/directives/lazy-route.directive.mjs
CHANGED
|
@@ -7,10 +7,10 @@ export class LazyRouteDirective {
|
|
|
7
7
|
ngOnInit() {
|
|
8
8
|
this.loadRoute.loadComponent().then((m) => this.vcr.createComponent(m));
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
11
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: LazyRouteDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
11
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: LazyRouteDirective, isStandalone: true, selector: "[loadRoute]", inputs: { loadRoute: "loadRoute" }, ngImport: i0 }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: LazyRouteDirective, decorators: [{
|
|
14
14
|
type: Directive,
|
|
15
15
|
args: [{
|
|
16
16
|
standalone: true,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb250YWluZXItY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9jb250YWluZXJzL2xpc3QtY29udGFpbmVyL2ludGVyZmFjZXMvbGlzdC1jb250YWluZXItY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uR3JvdXBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9idXR0b25zJztcbmltcG9ydCB7IEdyaWRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9ncmlkcy9pbnRlcmZhY2VzL2dyaWQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWcgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvaW50ZXJmYWNlcy9maWx0ZXItY29uZmlnLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnRhaW5lckNvbmZpZyB7XG4gIGJhc2VVcmw6IGAkeyBzdHJpbmcgfS9gO1xuICBidXR0b25zPzogQnV0dG9uR3JvdXBDb25maWdbXTtcbiAgZ3JpZENvbmZpZzogR3JpZENvbmZpZztcbiAgZmlsdGVyQ29uZmlnPzogRmlsdGVyQ29uZmlnO1xufVxuIl19
|
|
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { RouterModule } from '@angular/router';
|
|
4
4
|
import { IonicModule } from '@ionic/angular';
|
|
5
5
|
import { FilterComponent } from '../../../filter';
|
|
6
|
+
import { ButtonGroupComponent } from '../../../buttons';
|
|
6
7
|
import { GridPaginationComponent } from '../../../grids';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/router";
|
|
9
|
-
import * as i2 from "@
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
11
|
export class ListPaginationContainerComponent {
|
|
12
12
|
constructor(id, router) {
|
|
13
13
|
this.id = id;
|
|
@@ -29,10 +29,10 @@ export class ListPaginationContainerComponent {
|
|
|
29
29
|
this.onSearch.emit(k);
|
|
30
30
|
this.gridApi.refreshInfiniteCache();
|
|
31
31
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ListPaginationContainerComponent, deps: [{ token: 'id', attribute: true }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ListPaginationContainerComponent, isStandalone: true, selector: "up-list-pagination-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <up-btn-group *ngIf=\"config.buttons && config.buttons.length > 0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["up-filter{min-width:300px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ListPaginationContainerComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
37
|
args: [{ standalone: true, selector: 'up-list-pagination-container', host: {
|
|
38
38
|
class: 'd-flex flex-column h-100 w-100'
|
|
@@ -41,8 +41,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
41
41
|
CommonModule,
|
|
42
42
|
RouterModule,
|
|
43
43
|
FilterComponent,
|
|
44
|
+
ButtonGroupComponent,
|
|
44
45
|
GridPaginationComponent
|
|
45
|
-
], template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <
|
|
46
|
+
], template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <up-btn-group *ngIf=\"config.buttons && config.buttons.length > 0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["up-filter{min-width:300px}\n"] }]
|
|
46
47
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
47
48
|
type: Attribute,
|
|
48
49
|
args: ['id']
|
|
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
59
60
|
}], onSearch: [{
|
|
60
61
|
type: Output
|
|
61
62
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvY29udGFpbmVycy9saXN0LWNvbnRhaW5lci9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyL2xpc3QtcGFnaW5hdGlvbi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGlzdC1jb250YWluZXIvbGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFrQnpELE1BQU0sT0FBTyxnQ0FBZ0M7SUE2QzNDLFlBQzBCLEVBQVUsRUFDZixNQUFjO1FBRFQsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQVE7UUE1QlQsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBUW5ELGdCQUFXLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFRL0QsYUFBUSxHQUFvQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBT2xGLFdBQU0sR0FBdUIsUUFBUyxJQUFJLENBQUMsRUFBRSxJQUFHLEdBQUksRUFBRSxDQUFDO0lBTTFELENBQUM7SUFXRSxVQUFVLENBQUMsSUFBUztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFFLEdBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLEdBQUksSUFBSSxDQUFDLElBQUssRUFBRSxDQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFVTSxVQUFVLENBQUMsRUFBa0I7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFRTSxNQUFNLENBQUMsQ0FBb0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7OEdBdEZVLGdDQUFnQyxrQkE4QzlCLElBQUk7a0dBOUNOLGdDQUFnQyw2UkMxQjdDLCsxQkFrQkEscUZEQ0ksV0FBVyxraUJBQ1gsWUFBWSxrSUFDWixZQUFZLGdSQUNaLGVBQWUsdUdBQ2YsdUJBQXVCOzsyRkFHZCxnQ0FBZ0M7a0JBaEI1QyxTQUFTO2lDQUNJLElBQUksWUFDTiw4QkFBOEIsUUFHbEM7d0JBQ0osS0FBSyxFQUFFLGdDQUFnQztxQkFDeEMsV0FDUTt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLHVCQUF1QjtxQkFDeEI7OzBCQWdERSxTQUFTOzJCQUFDLElBQUk7OERBeENpQixNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFNUyxNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPQyxVQUFVO3NCQUFuQyxNQUFNO2dCQVFtQixXQUFXO3NCQUFwQyxNQUFNO2dCQVFtQixRQUFRO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBBdHRyaWJ1dGUsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgR3JpZEFwaSwgR3JpZFJlYWR5RXZlbnQgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQgeyBMaXN0Q29udGFpbmVyQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9saXN0LWNvbnRhaW5lci1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlclNlYXJjaEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL2ludGVyZmFjZXMvZmlsdGVyLXNlYXJjaC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyJztcbmltcG9ydCB7IEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZ3JpZHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1saXN0LXBhZ2luYXRpb24tY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtcGFnaW5hdGlvbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtZmxleCBmbGV4LWNvbHVtbiBoLTEwMCB3LTEwMCdcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIElvbmljTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRmlsdGVyQ29tcG9uZW50LFxuICAgIEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdFBhZ2luYXRpb25Db250YWluZXJDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBbiBJbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gc3RyaW5nIGZvciBjdXN0b21pemluZyBoZWFkZXIgdGV4dC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovIFxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgaGVhZGVyITogc3RyaW5nO1xuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBjdXN0b21pemluZyBsaXN0IGNvbnRhaW5lciBjb25maWcgcHJvcGVydGllcy4gVGhpc1xuICAgKiBvYmplY3QgZGVmaW5lZCBieSBMaXN0Q29udGFpbmVyQ29uZmlnIGludGVyZmFjZSBhbGxvd3Mgc3BlY2lmeWluZyBiYXNlVXJsLCBncmlkQ29uZmlnLCBmaWx0ZXJDb25maWcgYW5kIHBlcm1pc3Npb24uXG4gICAqIEB0eXBlIHtMaXN0Q29udGFpbmVyQ29uZmlnfVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IExpc3RDb250YWluZXJDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgYG9uUm93Q2xpY2tgIEV2ZW50RW1pdHRlciBpcyB1c2VkIHRvIG5vdGlmeSBwYXJlbnQgY29tcG9uZW50cyBvciBsaXN0ZW5lcnNcbiAgICogd2hlbiBhIHJvdyBpcyBjbGlja2VkIHdpdGhpbiB0aGUgY3VycmVudCBjb21wb25lbnQuIEl0IGVtaXRzIGFuIGV2ZW50IGNvbnRhaW5pbmdcbiAgICogaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgY2xpY2tlZCByb3cuXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8YW55Pn1cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgb25Sb3dDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBUaGUgYG9uR3JpZFJlYWR5YCBFdmVudEVtaXR0ZXIgaXMgdXNlZCB0byBpbmZvcm0gcGFyZW50IGNvbXBvbmVudHMgb3IgbGlzdGVuZXJzXG4gICAqIHdoZW4gdGhlIGdyaWQgd2l0aGluIHRoZSBjdXJyZW50IGNvbXBvbmVudCBpcyByZWFkeSBmb3IgaW50ZXJhY3Rpb24uIEl0IGVtaXRzIGFuXG4gICAqIGV2ZW50IG9mIHR5cGUgYEdyaWRSZWFkeUV2ZW50YCwgd2hpY2ggbWF5IGNvbnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyaWQnc1xuICAgKiByZWFkaW5lc3MgYW5kIGNhcGFiaWxpdGllcy4gICAgIFxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPEdyaWRSZWFkeUV2ZW50Pn0gXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uR3JpZFJlYWR5OiBFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKipcbiAgICogVGhlIGBvblNlYXJjaGAgRXZlbnRFbWl0dGVyIGlzIHVzZWQgdG8gaW5mb3JtIHBhcmVudCBjb21wb25lbnRzIG9yIGxpc3RlbmVyc1xuICAgKiB3aGVuIGEgc2VhcmNoIGV2ZW50IGlzIHRyaWdnZXJlZCB3aXRoaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50LiBJdCBlbWl0cyBhblxuICAgKiBldmVudCBvZiB0eXBlIGBGaWx0ZXJTZWFyY2hFdmVudGAsIHdoaWNoIG1heSBjb250YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZVxuICAgKiBzZWFyY2ggcXVlcnkgYW5kIGFkZGl0aW9uYWwgZGV0YWlscyByZWxhdGVkIHRvIHRoZSBzZWFyY2ggb3BlcmF0aW9uLlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPEZpbHRlclNlYXJjaEV2ZW50Pn1cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgb25TZWFyY2g6IEV2ZW50RW1pdHRlcjxGaWx0ZXJTZWFyY2hFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBUaGUgYGdyaWRJZGAgcHJvcGVydHkgaXMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBncmlkIGVsZW1lbnQuIEl0IGlzXG4gICAqIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJhc2VkIG9uIHRoZSBjb21wb25lbnQncyBgaWRgIHByb3BlcnR5LiBJZiB0aGUgYGlkYFxuICAgKiBwcm9wZXJ0eSBpcyBub3Qgc2V0LCBhIGRlZmF1bHQgdmFsdWUgb2YgJ3AnIGlzIHVzZWQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBwdWJsaWMgZ3JpZElkOiBgZ3JpZC0keyBzdHJpbmcgfWAgPSBgZ3JpZC0keyB0aGlzLmlkPz8gJ3AnIH1gO1xuICBwcm90ZWN0ZWQgZ3JpZEFwaSE6IEdyaWRBcGk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEF0dHJpYnV0ZSgnaWQnKSBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7IH1cbiAgXG4gIC8qKlxuICAgKiBUaGUgYG9wZW5EZXRhaWxgIG1ldGhvZCBpcyB1c2VkIHRvIHRyaWdnZXIgYWN0aW9ucyB3aGVuIGEgdXNlciByZXF1ZXN0cyB0byBvcGVuXG4gICAqIHRoZSBkZXRhaWwgdmlldyBmb3IgYSBzcGVjaWZpYyBkYXRhIGl0ZW0uIEl0IGVtaXRzIGEgYGRhdGFgIGV2ZW50IHVzaW5nIHRoZVxuICAgKiBgb25Sb3dDbGlja2AgRXZlbnRFbWl0dGVyLCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50cyBvciBsaXN0ZW5lcnMgd2l0aFxuICAgKiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2xpY2tlZCBkYXRhLiBBZGRpdGlvbmFsbHksIGl0IG5hdmlnYXRlcyB0byB0aGUgZGV0YWlsXG4gICAqIHJvdXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0YSBpdGVtIHVzaW5nIHRoZSBBbmd1bGFyIFJvdXRlci5cbiAgICogXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgaXRlbSBmb3Igd2hpY2ggdGhlIGRldGFpbCB2aWV3IGlzIHRvIGJlIG9wZW5lZC5cbiAgICovXG4gIHB1YmxpYyBvcGVuRGV0YWlsKGRhdGE6IGFueSk6IHZvaWR7IFxuICAgIHRoaXMub25Sb3dDbGljay5lbWl0KGRhdGEpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsgYCR7IHRoaXMuY29uZmlnLmJhc2VVcmwgfSR7IGRhdGEuZ3VpZCB9YCBdLCB7IHByZXNlcnZlRnJhZ21lbnQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGBzZXRHcmlkQXBpYCBtZXRob2QgaXMgdXNlZCB0byBzZXQgdGhlIGdyaWQgQVBJIHdoZW4gdGhlIGdyaWQgaXMgcmVhZHksIHR5cGljYWxseVxuICAgKiBhZnRlciB0aGUgYGdyaWRSZWFkeWAgZXZlbnQgaXMgZmlyZWQuIEl0IGFzc2lnbnMgdGhlIGdyaWQgQVBJIHRvIHRoZSBjb21wb25lbnQnc1xuICAgKiBgZ3JpZEFwaWAgcHJvcGVydHkgYW5kIGVtaXRzIHRoZSBgb25HcmlkUmVhZHlgIGV2ZW50LCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50c1xuICAgKiBvciBsaXN0ZW5lcnMgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JpZCdzIHJlYWRpbmVzcy5cbiAgICogXG4gICAqIEBwYXJhbSB7R3JpZFJlYWR5RXZlbnR9IGV2IC0gVGhlIGBHcmlkUmVhZHlFdmVudGAgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JpZCdzIHJlYWRpbmVzcy5cbiAgICovXG4gIHB1YmxpYyBzZXRHcmlkQXBpKGV2OiBHcmlkUmVhZHlFdmVudCk6IHZvaWR7IFxuICAgIHRoaXMuZ3JpZEFwaSA9IGV2LmFwaTsgXG4gICAgdGhpcy5vbkdyaWRSZWFkeS5lbWl0KGV2KTtcbiAgfVxuICAvKipcbiAgICogVGhlIGBzZWFyY2hgIG1ldGhvZCBpcyB1c2VkIHRvIHRyaWdnZXIgYSBzZWFyY2ggb3BlcmF0aW9uIGJhc2VkIG9uIHRoZSBwcm92aWRlZFxuICAgKiBgRmlsdGVyU2VhcmNoRXZlbnRgLiBJdCBlbWl0cyB0aGUgYG9uU2VhcmNoYCBldmVudCwgcHJvdmlkaW5nIGV4dGVybmFsIGNvbXBvbmVudHNcbiAgICogb3IgbGlzdGVuZXJzIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlYXJjaCBxdWVyeS4gQWRkaXRpb25hbGx5LCBpdCByZWZyZXNoZXNcbiAgICogdGhlIGdyaWQgY2FjaGUgdXNpbmcgdGhlIGByZWZyZXNoSW5maW5pdGVDYWNoZWAgbWV0aG9kIG9mIHRoZSBncmlkIEFQSS5cbiAgICogQHBhcmFtIHtGaWx0ZXJTZWFyY2hFdmVudH0gayAtIFRoZSBgRmlsdGVyU2VhcmNoRXZlbnRgIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlYXJjaCBvcGVyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoKGs6IEZpbHRlclNlYXJjaEV2ZW50KTogdm9pZHtcbiAgICB0aGlzLm9uU2VhcmNoLmVtaXQoayk7XG4gICAgdGhpcy5ncmlkQXBpLnJlZnJlc2hJbmZpbml0ZUNhY2hlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC00IHAtNCBmbGV4LXNocmluay0wIGZsZXgtd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cIm0tMFwiPnt7IGhlYWRlciB9fTwvaDM+XG5cbiAgICAgICAgPGlvbi1idXR0b24gcm91dGVyTGluaz1cInt7IGNvbmZpZy5iYXNlVXJsIH19Y3JlYXRlXCIgKm5nSWY9XCJjb25maWcucGVybWlzc2lvbnMuY2FuQ3JlYXRlXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZFwiIHNsb3Q9XCJzdGFydFwiIC8+XG4gICAgICAgICAgICBDcmVhdGVcbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgZmxleC1ncm93LTFcIiAqbmdJZj1cImNvbmZpZy5maWx0ZXJDb25maWdcIj5cbiAgICAgICAgPHVwLWZpbHRlciBwbGFjZWhvbGRlcj1cIlR5cGUgdG8gc2VhcmNoXCIgaWQ9XCJmaWx0ZXIte3sgaWQgfX1cIiBbY29uZmlnXT1cImNvbmZpZy5maWx0ZXJDb25maWdcIiAob25TZWFyY2gpPVwic2VhcmNoKCRldmVudClcIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBweC0xIHBiLTFcIj5cbiAgICA8dXAtcGFnaW5hdGlvbi1ncmlkIFtjb25maWddPVwiY29uZmlnLmdyaWRDb25maWdcIiBbaWRdPVwiZ3JpZElkXCIgKG9uR3JpZFJlYWR5KT1cInNldEdyaWRBcGkoJGV2ZW50KVwiIChvblJvd0NsaWNrKT1cIm9wZW5EZXRhaWwoJGV2ZW50KVwiIC8+XG48L2Rpdj5cbiJdfQ==
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvY29udGFpbmVycy9saXN0LWNvbnRhaW5lci9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyL2xpc3QtcGFnaW5hdGlvbi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGlzdC1jb250YWluZXIvbGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQW1CekQsTUFBTSxPQUFPLGdDQUFnQztJQTZDM0MsWUFDMEIsRUFBVSxFQUNmLE1BQWM7UUFEVCxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTVCVCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFRbkQsZ0JBQVcsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVEvRCxhQUFRLEdBQW9DLElBQUksWUFBWSxFQUFFLENBQUM7UUFPbEYsV0FBTSxHQUF1QixRQUFTLElBQUksQ0FBQyxFQUFFLElBQUcsR0FBSSxFQUFFLENBQUM7SUFNMUQsQ0FBQztJQVdFLFVBQVUsQ0FBQyxJQUFTO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUUsR0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsR0FBSSxJQUFJLENBQUMsSUFBSyxFQUFFLENBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQVVNLFVBQVUsQ0FBQyxFQUFrQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQVFNLE1BQU0sQ0FBQyxDQUFvQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0F0RlUsZ0NBQWdDLGtCQThDOUIsSUFBSTtrR0E5Q04sZ0NBQWdDLDZSQzVCN0Msc3lCQWVBLHFGREtJLFdBQVcsOEJBQ1gsWUFBWSxrSUFDWixZQUFZLCtCQUNaLGVBQWUsdUdBQ2Ysb0JBQW9CLDZFQUNwQix1QkFBdUI7OzJGQUdkLGdDQUFnQztrQkFqQjVDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDhCQUE4QixRQUdsQzt3QkFDSixLQUFLLEVBQUUsZ0NBQWdDO3FCQUN4QyxXQUNRO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQix1QkFBdUI7cUJBQ3hCOzswQkFnREUsU0FBUzsyQkFBQyxJQUFJOzhEQXhDaUIsTUFBTTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBTVMsTUFBTTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBT0MsVUFBVTtzQkFBbkMsTUFBTTtnQkFRbUIsV0FBVztzQkFBcEMsTUFBTTtnQkFRbUIsUUFBUTtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQXR0cmlidXRlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRBcGksIEdyaWRSZWFkeUV2ZW50IH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgTGlzdENvbnRhaW5lckNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvbGlzdC1jb250YWluZXItY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWFyY2hFdmVudCB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9pbnRlcmZhY2VzL2ZpbHRlci1zZWFyY2gtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlcic7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbnMnO1xuaW1wb3J0IHsgR3JpZFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9ncmlkcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VwLWxpc3QtcGFnaW5hdGlvbi1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtcGFnaW5hdGlvbi1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1mbGV4IGZsZXgtY29sdW1uIGgtMTAwIHctMTAwJ1xuICB9LFxuICBpbXBvcnRzOiBbXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGaWx0ZXJDb21wb25lbnQsXG4gICAgQnV0dG9uR3JvdXBDb21wb25lbnQsXG4gICAgR3JpZFBhZ2luYXRpb25Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0UGFnaW5hdGlvbkNvbnRhaW5lckNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIEFuIElucHV0IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBzdHJpbmcgZm9yIGN1c3RvbWl6aW5nIGhlYWRlciB0ZXh0LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi8gXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXIhOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBpbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGN1c3RvbWl6aW5nIGxpc3QgY29udGFpbmVyIGNvbmZpZyBwcm9wZXJ0aWVzLiBUaGlzXG4gICAqIG9iamVjdCBkZWZpbmVkIGJ5IExpc3RDb250YWluZXJDb25maWcgaW50ZXJmYWNlIGFsbG93cyBzcGVjaWZ5aW5nIGJhc2VVcmwsIGdyaWRDb25maWcsIGZpbHRlckNvbmZpZyBhbmQgcGVybWlzc2lvbi5cbiAgICogQHR5cGUge0xpc3RDb250YWluZXJDb25maWd9XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgY29uZmlnITogTGlzdENvbnRhaW5lckNvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBgb25Sb3dDbGlja2AgRXZlbnRFbWl0dGVyIGlzIHVzZWQgdG8gbm90aWZ5IHBhcmVudCBjb21wb25lbnRzIG9yIGxpc3RlbmVyc1xuICAgKiB3aGVuIGEgcm93IGlzIGNsaWNrZWQgd2l0aGluIHRoZSBjdXJyZW50IGNvbXBvbmVudC4gSXQgZW1pdHMgYW4gZXZlbnQgY29udGFpbmluZ1xuICAgKiBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoZSBjbGlja2VkIHJvdy5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxhbnk+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBvblJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLyoqXG4gICAqIFRoZSBgb25HcmlkUmVhZHlgIEV2ZW50RW1pdHRlciBpcyB1c2VkIHRvIGluZm9ybSBwYXJlbnQgY29tcG9uZW50cyBvciBsaXN0ZW5lcnNcbiAgICogd2hlbiB0aGUgZ3JpZCB3aXRoaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50IGlzIHJlYWR5IGZvciBpbnRlcmFjdGlvbi4gSXQgZW1pdHMgYW5cbiAgICogZXZlbnQgb2YgdHlwZSBgR3JpZFJlYWR5RXZlbnRgLCB3aGljaCBtYXkgY29udGFpbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JpZCdzXG4gICAqIHJlYWRpbmVzcyBhbmQgY2FwYWJpbGl0aWVzLiAgICAgXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+fSBcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgb25HcmlkUmVhZHk6IEV2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBUaGUgYG9uU2VhcmNoYCBFdmVudEVtaXR0ZXIgaXMgdXNlZCB0byBpbmZvcm0gcGFyZW50IGNvbXBvbmVudHMgb3IgbGlzdGVuZXJzXG4gICAqIHdoZW4gYSBzZWFyY2ggZXZlbnQgaXMgdHJpZ2dlcmVkIHdpdGhpbiB0aGUgY3VycmVudCBjb21wb25lbnQuIEl0IGVtaXRzIGFuXG4gICAqIGV2ZW50IG9mIHR5cGUgYEZpbHRlclNlYXJjaEV2ZW50YCwgd2hpY2ggbWF5IGNvbnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlXG4gICAqIHNlYXJjaCBxdWVyeSBhbmQgYWRkaXRpb25hbCBkZXRhaWxzIHJlbGF0ZWQgdG8gdGhlIHNlYXJjaCBvcGVyYXRpb24uXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8RmlsdGVyU2VhcmNoRXZlbnQ+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBvblNlYXJjaDogRXZlbnRFbWl0dGVyPEZpbHRlclNlYXJjaEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLyoqXG4gICAqIFRoZSBgZ3JpZElkYCBwcm9wZXJ0eSBpcyBhIHVuaXF1ZSBpZGVudGlmaWVyIGZvciBhIGdyaWQgZWxlbWVudC4gSXQgaXNcbiAgICogYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYmFzZWQgb24gdGhlIGNvbXBvbmVudCdzIGBpZGAgcHJvcGVydHkuIElmIHRoZSBgaWRgXG4gICAqIHByb3BlcnR5IGlzIG5vdCBzZXQsIGEgZGVmYXVsdCB2YWx1ZSBvZiAncCcgaXMgdXNlZC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHB1YmxpYyBncmlkSWQ6IGBncmlkLSR7IHN0cmluZyB9YCA9IGBncmlkLSR7IHRoaXMuaWQ/PyAncCcgfWA7XG4gIHByb3RlY3RlZCBncmlkQXBpITogR3JpZEFwaTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAQXR0cmlidXRlKCdpZCcpIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHsgfVxuICBcbiAgLyoqXG4gICAqIFRoZSBgb3BlbkRldGFpbGAgbWV0aG9kIGlzIHVzZWQgdG8gdHJpZ2dlciBhY3Rpb25zIHdoZW4gYSB1c2VyIHJlcXVlc3RzIHRvIG9wZW5cbiAgICogdGhlIGRldGFpbCB2aWV3IGZvciBhIHNwZWNpZmljIGRhdGEgaXRlbS4gSXQgZW1pdHMgYSBgZGF0YWAgZXZlbnQgdXNpbmcgdGhlXG4gICAqIGBvblJvd0NsaWNrYCBFdmVudEVtaXR0ZXIsIHByb3ZpZGluZyBleHRlcm5hbCBjb21wb25lbnRzIG9yIGxpc3RlbmVycyB3aXRoXG4gICAqIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjbGlja2VkIGRhdGEuIEFkZGl0aW9uYWxseSwgaXQgbmF2aWdhdGVzIHRvIHRoZSBkZXRhaWxcbiAgICogcm91dGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIGl0ZW0gdXNpbmcgdGhlIEFuZ3VsYXIgUm91dGVyLlxuICAgKiBcbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSBpdGVtIGZvciB3aGljaCB0aGUgZGV0YWlsIHZpZXcgaXMgdG8gYmUgb3BlbmVkLlxuICAgKi9cbiAgcHVibGljIG9wZW5EZXRhaWwoZGF0YTogYW55KTogdm9pZHsgXG4gICAgdGhpcy5vblJvd0NsaWNrLmVtaXQoZGF0YSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWyBgJHsgdGhpcy5jb25maWcuYmFzZVVybCB9JHsgZGF0YS5ndWlkIH1gIF0sIHsgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYHNldEdyaWRBcGlgIG1ldGhvZCBpcyB1c2VkIHRvIHNldCB0aGUgZ3JpZCBBUEkgd2hlbiB0aGUgZ3JpZCBpcyByZWFkeSwgdHlwaWNhbGx5XG4gICAqIGFmdGVyIHRoZSBgZ3JpZFJlYWR5YCBldmVudCBpcyBmaXJlZC4gSXQgYXNzaWducyB0aGUgZ3JpZCBBUEkgdG8gdGhlIGNvbXBvbmVudCdzXG4gICAqIGBncmlkQXBpYCBwcm9wZXJ0eSBhbmQgZW1pdHMgdGhlIGBvbkdyaWRSZWFkeWAgZXZlbnQsIHByb3ZpZGluZyBleHRlcm5hbCBjb21wb25lbnRzXG4gICAqIG9yIGxpc3RlbmVycyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBncmlkJ3MgcmVhZGluZXNzLlxuICAgKiBcbiAgICogQHBhcmFtIHtHcmlkUmVhZHlFdmVudH0gZXYgLSBUaGUgYEdyaWRSZWFkeUV2ZW50YCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBncmlkJ3MgcmVhZGluZXNzLlxuICAgKi9cbiAgcHVibGljIHNldEdyaWRBcGkoZXY6IEdyaWRSZWFkeUV2ZW50KTogdm9pZHsgXG4gICAgdGhpcy5ncmlkQXBpID0gZXYuYXBpOyBcbiAgICB0aGlzLm9uR3JpZFJlYWR5LmVtaXQoZXYpO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgYHNlYXJjaGAgbWV0aG9kIGlzIHVzZWQgdG8gdHJpZ2dlciBhIHNlYXJjaCBvcGVyYXRpb24gYmFzZWQgb24gdGhlIHByb3ZpZGVkXG4gICAqIGBGaWx0ZXJTZWFyY2hFdmVudGAuIEl0IGVtaXRzIHRoZSBgb25TZWFyY2hgIGV2ZW50LCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50c1xuICAgKiBvciBsaXN0ZW5lcnMgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VhcmNoIHF1ZXJ5LiBBZGRpdGlvbmFsbHksIGl0IHJlZnJlc2hlc1xuICAgKiB0aGUgZ3JpZCBjYWNoZSB1c2luZyB0aGUgYHJlZnJlc2hJbmZpbml0ZUNhY2hlYCBtZXRob2Qgb2YgdGhlIGdyaWQgQVBJLlxuICAgKiBAcGFyYW0ge0ZpbHRlclNlYXJjaEV2ZW50fSBrIC0gVGhlIGBGaWx0ZXJTZWFyY2hFdmVudGAgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VhcmNoIG9wZXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzZWFyY2goazogRmlsdGVyU2VhcmNoRXZlbnQpOiB2b2lke1xuICAgIHRoaXMub25TZWFyY2guZW1pdChrKTtcbiAgICB0aGlzLmdyaWRBcGkucmVmcmVzaEluZmluaXRlQ2FjaGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTQgcC00IGZsZXgtc2hyaW5rLTAgZmxleC13cmFwXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwibS0wXCI+e3sgaGVhZGVyIH19PC9oMz5cblxuICAgICAgICA8dXAtYnRuLWdyb3VwICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMgJiYgY29uZmlnLmJ1dHRvbnMubGVuZ3RoID4gMFwiIGlkPVwiYnRuLWxpc3Qtc25hcHNob3QtY29udGFpbmVyXCIgW2NvbmZpZ109XCJjb25maWcuYnV0dG9uc1wiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBmbGV4LWdyb3ctMVwiICpuZ0lmPVwiY29uZmlnLmZpbHRlckNvbmZpZ1wiPlxuICAgICAgICA8dXAtZmlsdGVyIHBsYWNlaG9sZGVyPVwiVHlwZSB0byBzZWFyY2hcIiBpZD1cImZpbHRlci17eyBpZCB9fVwiIFtjb25maWddPVwiY29uZmlnLmZpbHRlckNvbmZpZ1wiIChvblNlYXJjaCk9XCJzZWFyY2goJGV2ZW50KVwiIC8+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIHB4LTEgcGItMVwiPlxuICAgIDx1cC1wYWdpbmF0aW9uLWdyaWQgW2NvbmZpZ109XCJjb25maWcuZ3JpZENvbmZpZ1wiIFtpZF09XCJncmlkSWRcIiAob25HcmlkUmVhZHkpPVwic2V0R3JpZEFwaSgkZXZlbnQpXCIgKG9uUm93Q2xpY2spPVwib3BlbkRldGFpbCgkZXZlbnQpXCIgLz5cbjwvZGl2PlxuIl19
|