barsa-novin-ray-core 2.1.1 → 2.1.2
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/fesm2022/barsa-novin-ray-core.mjs +254 -135
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/package.json +3 -5
- package/esm2022/barsa-novin-ray-core.mjs +0 -5
- package/esm2022/lib/abstract-classes/application-base.mjs +0 -24
- package/esm2022/lib/abstract-classes/barsa-api.mjs +0 -43
- package/esm2022/lib/abstract-classes/base-column-props.mjs +0 -84
- package/esm2022/lib/abstract-classes/base.component.mjs +0 -59
- package/esm2022/lib/abstract-classes/field-base.mjs +0 -232
- package/esm2022/lib/abstract-classes/files-validation-helper.mjs +0 -75
- package/esm2022/lib/abstract-classes/form-base.mjs +0 -163
- package/esm2022/lib/abstract-classes/form-field-report-page.component.mjs +0 -54
- package/esm2022/lib/abstract-classes/form-page-base.mjs +0 -129
- package/esm2022/lib/abstract-classes/form-page.component.mjs +0 -53
- package/esm2022/lib/abstract-classes/form-props.base.mjs +0 -97
- package/esm2022/lib/abstract-classes/form-toolbar-base.mjs +0 -56
- package/esm2022/lib/abstract-classes/index.mjs +0 -25
- package/esm2022/lib/abstract-classes/layout-item-base.mjs +0 -48
- package/esm2022/lib/abstract-classes/layout-panel-base.mjs +0 -63
- package/esm2022/lib/abstract-classes/linear-list-helper.mjs +0 -135
- package/esm2022/lib/abstract-classes/models.mjs +0 -184
- package/esm2022/lib/abstract-classes/module-with-dynamic-components.mjs +0 -2
- package/esm2022/lib/abstract-classes/number-base.mjs +0 -200
- package/esm2022/lib/abstract-classes/page-base.mjs +0 -97
- package/esm2022/lib/abstract-classes/page-with-form-handler-base.mjs +0 -40
- package/esm2022/lib/abstract-classes/report-base.mjs +0 -254
- package/esm2022/lib/abstract-classes/report-item-base.mjs +0 -53
- package/esm2022/lib/abstract-classes/report-view-base.component.mjs +0 -428
- package/esm2022/lib/abstract-classes/system-base.mjs +0 -24
- package/esm2022/lib/abstract-classes/tile-props.mjs +0 -46
- package/esm2022/lib/auth-guard.mjs +0 -48
- package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +0 -292
- package/esm2022/lib/barsa-novin-ray-core.module.mjs +0 -487
- package/esm2022/lib/base-ulv-setting.component.mjs +0 -45
- package/esm2022/lib/base.module.mjs +0 -28
- package/esm2022/lib/button-loading/button-loading.component.mjs +0 -18
- package/esm2022/lib/constants.mjs +0 -898
- package/esm2022/lib/container.component.mjs +0 -99
- package/esm2022/lib/controllers/base-controller.mjs +0 -30
- package/esm2022/lib/controllers/index.mjs +0 -5
- package/esm2022/lib/controllers/login-controller.mjs +0 -54
- package/esm2022/lib/controllers/login-verification-controller.mjs +0 -56
- package/esm2022/lib/controllers/models.mjs +0 -2
- package/esm2022/lib/custom-route-reuse-strategy.mjs +0 -32
- package/esm2022/lib/date-services/date-hijri.service.mjs +0 -146
- package/esm2022/lib/date-services/date-info.mjs +0 -2
- package/esm2022/lib/date-services/date-miladi.service.mjs +0 -124
- package/esm2022/lib/date-services/date-shamsi.service.mjs +0 -148
- package/esm2022/lib/date-services/date.service.mjs +0 -149
- package/esm2022/lib/date-services/index.mjs +0 -6
- package/esm2022/lib/device.mjs +0 -663
- package/esm2022/lib/directives/absolute-div-body.directive.mjs +0 -45
- package/esm2022/lib/directives/anchor-scroll.directive.mjs +0 -24
- package/esm2022/lib/directives/attr-rtl.directive.mjs +0 -35
- package/esm2022/lib/directives/base.directive.mjs +0 -55
- package/esm2022/lib/directives/body-click.directive.mjs +0 -35
- package/esm2022/lib/directives/column-resizer.directive.mjs +0 -39
- package/esm2022/lib/directives/copy.directive.mjs +0 -59
- package/esm2022/lib/directives/count-down.directive.mjs +0 -108
- package/esm2022/lib/directives/dynamic-command.directive.mjs +0 -42
- package/esm2022/lib/directives/dynamic-style.directive.mjs +0 -57
- package/esm2022/lib/directives/ellapsis-text.directive.mjs +0 -69
- package/esm2022/lib/directives/ellipsify.directive.mjs +0 -72
- package/esm2022/lib/directives/field-binding.directive.mjs +0 -17
- package/esm2022/lib/directives/fill-empty-space.mjs +0 -83
- package/esm2022/lib/directives/form-close.directive.mjs +0 -32
- package/esm2022/lib/directives/img-lazy.directive.mjs +0 -81
- package/esm2022/lib/directives/index.mjs +0 -35
- package/esm2022/lib/directives/intersection-observer.directive.mjs +0 -51
- package/esm2022/lib/directives/items-renderer.directive.mjs +0 -59
- package/esm2022/lib/directives/label-mandatory.directive.mjs +0 -48
- package/esm2022/lib/directives/load-external-files.directive.mjs +0 -37
- package/esm2022/lib/directives/mobile.directive.mjs +0 -29
- package/esm2022/lib/directives/nowraptext.directive.mjs +0 -26
- package/esm2022/lib/directives/numbers-only-input.directive.mjs +0 -26
- package/esm2022/lib/directives/placeHolder.directive.mjs +0 -15
- package/esm2022/lib/directives/prevent-default.directive.mjs +0 -20
- package/esm2022/lib/directives/render-ulv-paging.directive.mjs +0 -80
- package/esm2022/lib/directives/render-ulv-viewer.directive.mjs +0 -75
- package/esm2022/lib/directives/route-form-change.directive.mjs +0 -37
- package/esm2022/lib/directives/stop-propagation.directive.mjs +0 -20
- package/esm2022/lib/directives/table-resizer.directive.mjs +0 -235
- package/esm2022/lib/directives/ulv-command.directive.mjs +0 -42
- package/esm2022/lib/directives/until-inview.directive.mjs +0 -52
- package/esm2022/lib/directives/workflow-choice-command.directive.mjs +0 -60
- package/esm2022/lib/dynamic-component/base-dynamic.component.mjs +0 -96
- package/esm2022/lib/dynamic-component/base-form-toolbaritem-props.mjs +0 -52
- package/esm2022/lib/dynamic-component/base-item-content-props.mjs +0 -80
- package/esm2022/lib/dynamic-component/base-view-content-props.mjs +0 -20
- package/esm2022/lib/dynamic-component/base-view-item-props.mjs +0 -525
- package/esm2022/lib/dynamic-component/base-view-props.mjs +0 -162
- package/esm2022/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +0 -38
- package/esm2022/lib/dynamic-component/dynamic-form.component.mjs +0 -66
- package/esm2022/lib/dynamic-component/dynamic-item.component.mjs +0 -76
- package/esm2022/lib/dynamic-component/dynamic-layout.component.mjs +0 -63
- package/esm2022/lib/dynamic-component/index.mjs +0 -11
- package/esm2022/lib/empty-page/empty-page.component.mjs +0 -44
- package/esm2022/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +0 -16
- package/esm2022/lib/field-ui/field-ui.component.mjs +0 -146
- package/esm2022/lib/form/form.component.mjs +0 -211
- package/esm2022/lib/form-new/form-new.component.mjs +0 -30
- package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page-routing.module.mjs +0 -54
- package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page.module.mjs +0 -29
- package/esm2022/lib/form-page-routing/constants.mjs +0 -9
- package/esm2022/lib/form-page-routing/index.mjs +0 -3
- package/esm2022/lib/from-intersection-observer.mjs +0 -53
- package/esm2022/lib/global-error-handler.mjs +0 -26
- package/esm2022/lib/injdection-tokens.mjs +0 -8
- package/esm2022/lib/login-enter-mobile/login-enter-mobile.component.mjs +0 -64
- package/esm2022/lib/login-verification/login-verification.component.mjs +0 -79
- package/esm2022/lib/login2/login2.component.mjs +0 -60
- package/esm2022/lib/modal-root.component.mjs +0 -33
- package/esm2022/lib/not-found/not-found.component.mjs +0 -16
- package/esm2022/lib/not-internet/not-internet.component.mjs +0 -21
- package/esm2022/lib/pipes/barsa-icon-dict.pipe.mjs +0 -19
- package/esm2022/lib/pipes/bbb-translate.pipe.mjs +0 -35
- package/esm2022/lib/pipes/can-upload.pipe.mjs +0 -30
- package/esm2022/lib/pipes/column-custom-component.pipe.mjs +0 -40
- package/esm2022/lib/pipes/column-customui.pipe.mjs +0 -32
- package/esm2022/lib/pipes/column-icon.pipe.mjs +0 -22
- package/esm2022/lib/pipes/column-value.pipe.mjs +0 -34
- package/esm2022/lib/pipes/combo-row-img.pipe.mjs +0 -16
- package/esm2022/lib/pipes/context-menu.pipe.mjs +0 -40
- package/esm2022/lib/pipes/control-ui.pipe.mjs +0 -31
- package/esm2022/lib/pipes/convert-to-style.pipe.mjs +0 -32
- package/esm2022/lib/pipes/date-time-to-caption.pipe.mjs +0 -34
- package/esm2022/lib/pipes/fileinfo-count.pipe.mjs +0 -20
- package/esm2022/lib/pipes/filter-columns-by-details.pipe.mjs +0 -22
- package/esm2022/lib/pipes/filter-string.pipe.mjs +0 -44
- package/esm2022/lib/pipes/filter-tab.pipe.mjs +0 -19
- package/esm2022/lib/pipes/filter-toolbar-control.pipe.mjs +0 -16
- package/esm2022/lib/pipes/filter-workflow-mobile.pipe.mjs +0 -24
- package/esm2022/lib/pipes/filter.pipe.mjs +0 -33
- package/esm2022/lib/pipes/find-column-by-db-name.pipe.mjs +0 -27
- package/esm2022/lib/pipes/find-preview-column.pipe.mjs +0 -19
- package/esm2022/lib/pipes/fiori-icon.pipe.mjs +0 -42
- package/esm2022/lib/pipes/groupby.pipe.mjs +0 -63
- package/esm2022/lib/pipes/header-facet-value.pipe.mjs +0 -22
- package/esm2022/lib/pipes/hide-columns-inmobile.pipe.mjs +0 -22
- package/esm2022/lib/pipes/index.mjs +0 -48
- package/esm2022/lib/pipes/list-count.pipe.mjs +0 -17
- package/esm2022/lib/pipes/merge-fields-to-columns.pipe.mjs +0 -42
- package/esm2022/lib/pipes/mo-info-ulv-data.pipe.mjs +0 -58
- package/esm2022/lib/pipes/mo-info-ulv-paging.pipe.mjs +0 -16
- package/esm2022/lib/pipes/mo-report-value-concat.pipe.mjs +0 -35
- package/esm2022/lib/pipes/mo-report-value.pipe.mjs +0 -17
- package/esm2022/lib/pipes/mo-value.pipe.mjs +0 -18
- package/esm2022/lib/pipes/multiple-groupby.pipe.mjs +0 -90
- package/esm2022/lib/pipes/numeral.pipe.mjs +0 -43
- package/esm2022/lib/pipes/picture-field-source.pipe.mjs +0 -22
- package/esm2022/lib/pipes/remove-newline.pipe.mjs +0 -20
- package/esm2022/lib/pipes/replace.pipe.mjs +0 -17
- package/esm2022/lib/pipes/reverse.pipe.mjs +0 -22
- package/esm2022/lib/pipes/rownumber.pipe.mjs +0 -25
- package/esm2022/lib/pipes/sanitize-text.pipe.mjs +0 -20
- package/esm2022/lib/pipes/seperator-fix.pipe.mjs +0 -23
- package/esm2022/lib/pipes/sort.pipe.mjs +0 -48
- package/esm2022/lib/pipes/th-image-icon.pipe.mjs +0 -22
- package/esm2022/lib/pipes/tlbButtons.pipe.mjs +0 -59
- package/esm2022/lib/pipes/total-summary.pipe.mjs +0 -16
- package/esm2022/lib/pipes/tree-item-isexpanded.pipe.mjs +0 -25
- package/esm2022/lib/pipes/visible-value.pipe.mjs +0 -18
- package/esm2022/lib/portal-page/portal-page.component.mjs +0 -23
- package/esm2022/lib/portal-page/portal-sidebar.component.mjs +0 -36
- package/esm2022/lib/redirect-home-guard.mjs +0 -51
- package/esm2022/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +0 -12
- package/esm2022/lib/report-container/report-container.component.mjs +0 -63
- package/esm2022/lib/resizable-module/resizable.component.mjs +0 -31
- package/esm2022/lib/resizable-module/resizable.directive.mjs +0 -41
- package/esm2022/lib/resizable-module/resizable.module.mjs +0 -17
- package/esm2022/lib/resolvers/index.mjs +0 -6
- package/esm2022/lib/resolvers/portal-dynamic-page.resolver.mjs +0 -49
- package/esm2022/lib/resolvers/portal-form-page.resolver.mjs +0 -18
- package/esm2022/lib/resolvers/portal-page.resolver.mjs +0 -30
- package/esm2022/lib/resolvers/portal-report-page.resolver.mjs +0 -37
- package/esm2022/lib/resolvers/tile-group-breadcrumb.resolver.mjs +0 -30
- package/esm2022/lib/root-page/root-page.component.mjs +0 -21
- package/esm2022/lib/root-portal/root-portal.component.mjs +0 -164
- package/esm2022/lib/server-connection-error/server-connection-error.component.mjs +0 -19
- package/esm2022/lib/services/api.service.mjs +0 -63
- package/esm2022/lib/services/audio-recording.service.mjs +0 -95
- package/esm2022/lib/services/barsa-dialog.service.mjs +0 -80
- package/esm2022/lib/services/barsa-storage.service.mjs +0 -78
- package/esm2022/lib/services/breadcrumb.service.mjs +0 -64
- package/esm2022/lib/services/column.service.mjs +0 -20
- package/esm2022/lib/services/container.service.mjs +0 -69
- package/esm2022/lib/services/dynamic-component.service.mjs +0 -55
- package/esm2022/lib/services/form-panel.service.mjs +0 -380
- package/esm2022/lib/services/form.service.mjs +0 -14
- package/esm2022/lib/services/horizontal-layout.service.mjs +0 -16
- package/esm2022/lib/services/index.mjs +0 -29
- package/esm2022/lib/services/indexeddb.service.mjs +0 -34
- package/esm2022/lib/services/layout.service.mjs +0 -42
- package/esm2022/lib/services/local-storage.service.mjs +0 -32
- package/esm2022/lib/services/log.service.mjs +0 -50
- package/esm2022/lib/services/network-status.service.mjs +0 -15
- package/esm2022/lib/services/notification-popup.service.mjs +0 -2
- package/esm2022/lib/services/notification-sw.service.mjs +0 -180
- package/esm2022/lib/services/notification.service.mjs +0 -308
- package/esm2022/lib/services/portal.service.mjs +0 -929
- package/esm2022/lib/services/prompt-update.service.mjs +0 -56
- package/esm2022/lib/services/routing.service.mjs +0 -60
- package/esm2022/lib/services/save-scoll-position.service.mjs +0 -29
- package/esm2022/lib/services/service-worker-communication.service.mjs +0 -120
- package/esm2022/lib/services/toast.service.mjs +0 -2
- package/esm2022/lib/services/ui.service.mjs +0 -23
- package/esm2022/lib/services/ulvmain.service.mjs +0 -810
- package/esm2022/lib/services/upload.service.mjs +0 -161
- package/esm2022/lib/services/video-recording.service.mjs +0 -115
- package/esm2022/public-api.mjs +0 -44
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Input, Component, EventEmitter, Output, HostBinding, ChangeDetectionStrategy, ChangeDetectorRef, inject } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from './base.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class FormToolbarBaseComponent extends BaseComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.visible = true;
|
|
8
|
-
this.toolClick = new EventEmitter();
|
|
9
|
-
this._cdr = inject(ChangeDetectorRef);
|
|
10
|
-
}
|
|
11
|
-
ngOnInit() {
|
|
12
|
-
super.ngOnInit();
|
|
13
|
-
this._rtl = this.rtl;
|
|
14
|
-
}
|
|
15
|
-
onToolClick(btn) {
|
|
16
|
-
this.toolClick.emit(btn);
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormToolbarBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormToolbarBaseComponent, selector: "bnrc-form-toolbar-base", inputs: { buttons: "buttons", visible: "visible", size: "size", device: "device", deviceSize: "deviceSize", rtl: "rtl", landscape: "landscape", standalone: "standalone", toolbarVisible: "toolbarVisible", isFirefox: "isFirefox", dirValue: "dirValue" }, outputs: { toolClick: "toolClick" }, host: { properties: { "attr.rtl": "this._rtl" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormToolbarBaseComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{
|
|
24
|
-
selector: 'bnrc-form-toolbar-base',
|
|
25
|
-
template: '',
|
|
26
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
27
|
-
}]
|
|
28
|
-
}], propDecorators: { buttons: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], visible: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], size: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], device: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], deviceSize: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], rtl: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], landscape: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], standalone: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], toolbarVisible: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], isFirefox: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], dirValue: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], toolClick: [{
|
|
51
|
-
type: Output
|
|
52
|
-
}], _rtl: [{
|
|
53
|
-
type: HostBinding,
|
|
54
|
-
args: ['attr.rtl']
|
|
55
|
-
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10b29sYmFyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvZm9ybS10b29sYmFyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixXQUFXLEVBRVgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9qRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUwzRDs7UUFPYSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBVWQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFcEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBUzlDO0lBUkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFHO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0F0QlEsd0JBQXdCO21HQUF4Qix3QkFBd0IseWFBSHZCLEVBQUU7OzRGQUdILHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBRVksT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNrQixJQUFJO3NCQUE1QixXQUFXO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIElucHV0LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9uSW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtZm9ybS10b29sYmFyLWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtVG9vbGJhckJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBidXR0b25zOiBhbnlbXTtcbiAgICBASW5wdXQoKSB2aXNpYmxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaXplOiBhbnk7XG4gICAgQElucHV0KCkgZGV2aWNlOiBhbnk7XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogYW55O1xuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBsYW5kc2NhcGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc3RhbmRhbG9uZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB0b29sYmFyVmlzaWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0ZpcmVmb3g6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlyVmFsdWU6ICdhdXRvJyB8IERpcmVjdGlvbjtcbiAgICBAT3V0cHV0KCkgdG9vbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJ0bCcpIF9ydGw7XG4gICAgcHJvdGVjdGVkIF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLl9ydGwgPSB0aGlzLnJ0bDtcbiAgICB9XG5cbiAgICBvblRvb2xDbGljayhidG4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b29sQ2xpY2suZW1pdChidG4pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export * from './field-base';
|
|
2
|
-
export * from './form-base';
|
|
3
|
-
export * from './form-toolbar-base';
|
|
4
|
-
export * from './system-base';
|
|
5
|
-
export * from './report-base';
|
|
6
|
-
export * from './report-item-base';
|
|
7
|
-
export * from './application-base';
|
|
8
|
-
export * from './layout-item-base';
|
|
9
|
-
export * from './layout-panel-base';
|
|
10
|
-
export * from './page-base';
|
|
11
|
-
export * from './number-base';
|
|
12
|
-
export * from './models';
|
|
13
|
-
export * from './module-with-dynamic-components';
|
|
14
|
-
export * from './files-validation-helper';
|
|
15
|
-
export * from './barsa-api';
|
|
16
|
-
export * from './report-view-base.component';
|
|
17
|
-
export * from './form-props.base';
|
|
18
|
-
export * from './linear-list-helper';
|
|
19
|
-
export * from './page-with-form-handler-base';
|
|
20
|
-
export * from './form-page-base';
|
|
21
|
-
export * from './form-page.component';
|
|
22
|
-
export * from './base-column-props';
|
|
23
|
-
export * from './tile-props';
|
|
24
|
-
export * from './form-field-report-page.component';
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpZWxkLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXRvb2xiYXItYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3N5c3RlbS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnQtaXRlbS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24tYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC1pdGVtLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtcGFuZWwtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlLXdpdGgtZHluYW1pYy1jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMtdmFsaWRhdGlvbi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iYXJzYS1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnQtdmlldy1iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tcHJvcHMuYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmVhci1saXN0LWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utd2l0aC1mb3JtLWhhbmRsZXItYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tcGFnZS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY29sdW1uLXByb3BzJztcbmV4cG9ydCAqIGZyb20gJy4vdGlsZS1wcm9wcyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtcmVwb3J0LXBhZ2UuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Input, Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from './base.component';
|
|
3
|
-
import { getUniqueId } from '../constants';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../services/form-panel.service";
|
|
6
|
-
export class LayoutItemBaseComponent extends BaseComponent {
|
|
7
|
-
constructor(formPanelService, _cdr) {
|
|
8
|
-
super();
|
|
9
|
-
this.formPanelService = formPanelService;
|
|
10
|
-
this._cdr = _cdr;
|
|
11
|
-
this.id = getUniqueId(4);
|
|
12
|
-
this.formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
|
|
13
|
-
this.isSearchPanel = isSearchPanel;
|
|
14
|
-
});
|
|
15
|
-
this.formPanelService.isSearcPanelInSideContent$.subscribe((isSearcPanelInSideContent) => {
|
|
16
|
-
this.isSearcPanelInSideContent = isSearcPanelInSideContent;
|
|
17
|
-
});
|
|
18
|
-
this.formPanelService.searchPanelIsObject$.subscribe((searchPanelIsObject) => {
|
|
19
|
-
this.searchPanelIsObject = searchPanelIsObject;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
ngOnChanges(changes) {
|
|
23
|
-
super.ngOnChanges(changes);
|
|
24
|
-
const { maxLabelWidth } = changes;
|
|
25
|
-
if (maxLabelWidth && !maxLabelWidth.firstChange) {
|
|
26
|
-
this.maxLabelWidth = maxLabelWidth.currentValue;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutItemBaseComponent, deps: [{ token: i1.FormPanelService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayoutItemBaseComponent, selector: "bnrc-layout-item-base", inputs: { config: "config", isPanel: "isPanel", maxLabelWidth: "maxLabelWidth", rtl: "rtl" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutItemBaseComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{
|
|
35
|
-
selector: 'bnrc-layout-item-base',
|
|
36
|
-
template: '',
|
|
37
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
38
|
-
}]
|
|
39
|
-
}], ctorParameters: () => [{ type: i1.FormPanelService }, { type: i0.ChangeDetectorRef }], propDecorators: { config: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], isPanel: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], maxLabelWidth: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], rtl: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWl0ZW0tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9sYXlvdXQtaXRlbS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBUzNDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBU3RELFlBQXNCLGdCQUFrQyxFQUFZLElBQXVCO1FBQ3ZGLEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFNBQUksR0FBSixJQUFJLENBQW1CO1FBR3ZGLElBQUksQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUMseUJBQXlCLEVBQUUsRUFBRTtZQUNyRixJQUFJLENBQUMseUJBQXlCLEdBQUcseUJBQXlCLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtZQUN6RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQyxJQUFJLGFBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7K0dBN0JRLHVCQUF1QjttR0FBdkIsdUJBQXVCLHVNQUh0QixFQUFFOzs0RkFHSCx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEO3FIQUVZLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFVuaXF1ZUlkIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEZvcm1QYW5lbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLXBhbmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF5b3V0U2V0dGluZyB9IGZyb20gJy4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLWxheW91dC1pdGVtLWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGNvbmZpZzogTGF5b3V0U2V0dGluZztcbiAgICBASW5wdXQoKSBpc1BhbmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1heExhYmVsV2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBydGw6IGJvb2xlYW47XG4gICAgaXNTZWFyY2hQYW5lbDogYm9vbGVhbjtcbiAgICBpc1NlYXJjUGFuZWxJblNpZGVDb250ZW50OiBib29sZWFuO1xuICAgIHNlYXJjaFBhbmVsSXNPYmplY3Q6IGJvb2xlYW47XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSwgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5pZCA9IGdldFVuaXF1ZUlkKDQpO1xuICAgICAgICB0aGlzLmZvcm1QYW5lbFNlcnZpY2UuaXNTZWFyY2hQYW5lbCQuc3Vic2NyaWJlKChpc1NlYXJjaFBhbmVsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzU2VhcmNoUGFuZWwgPSBpc1NlYXJjaFBhbmVsO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxTZXJ2aWNlLmlzU2VhcmNQYW5lbEluU2lkZUNvbnRlbnQkLnN1YnNjcmliZSgoaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1NlYXJjUGFuZWxJblNpZGVDb250ZW50ID0gaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsU2VydmljZS5zZWFyY2hQYW5lbElzT2JqZWN0JC5zdWJzY3JpYmUoKHNlYXJjaFBhbmVsSXNPYmplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoUGFuZWxJc09iamVjdCA9IHNlYXJjaFBhbmVsSXNPYmplY3Q7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IG1heExhYmVsV2lkdGggfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChtYXhMYWJlbFdpZHRoICYmICFtYXhMYWJlbFdpZHRoLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLm1heExhYmVsV2lkdGggPSBtYXhMYWJlbFdpZHRoLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Input, Component, Self, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { getLabelWidth, getUniqueId } from '../constants';
|
|
3
|
-
import { LayoutItemBaseComponent } from './layout-item-base';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../services/form-panel.service";
|
|
6
|
-
import * as i2 from "../services/layout.service";
|
|
7
|
-
export class LayoutPanelBaseComponent extends LayoutItemBaseComponent {
|
|
8
|
-
constructor(el, formPanelService, layoutService, _cdr) {
|
|
9
|
-
super(formPanelService, _cdr);
|
|
10
|
-
this.el = el;
|
|
11
|
-
this.formPanelService = formPanelService;
|
|
12
|
-
this.layoutService = layoutService;
|
|
13
|
-
this._cdr = _cdr;
|
|
14
|
-
this.id = getUniqueId(4);
|
|
15
|
-
layoutService.id = 'panel' + this.id;
|
|
16
|
-
this.formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
|
|
17
|
-
this.isSearchPanel = isSearchPanel;
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
super.ngOnInit();
|
|
22
|
-
this.formPanelService.formContainerDom = this.parentDom;
|
|
23
|
-
this.maxLabelWidth$ = this.layoutService.maxWidth$;
|
|
24
|
-
this._calcWidth(this.config);
|
|
25
|
-
}
|
|
26
|
-
_calcWidth(config) {
|
|
27
|
-
config.items.forEach((item) => {
|
|
28
|
-
switch (item.xtype) {
|
|
29
|
-
case 'Ly.LayoutJoin':
|
|
30
|
-
this._calcWidth(item);
|
|
31
|
-
break;
|
|
32
|
-
case 'Ly.LayoutControl':
|
|
33
|
-
this._setLabelWidth(item);
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
_setLabelWidth(item) {
|
|
39
|
-
const controlWidth = getLabelWidth(item);
|
|
40
|
-
if (controlWidth) {
|
|
41
|
-
this.layoutService.setMaxWidth(controlWidth);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutPanelBaseComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormPanelService }, { token: i2.LayoutService, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayoutPanelBaseComponent, selector: "bnrc-layout-panel-base", inputs: { parentDom: "parentDom", isPanel: "isPanel", config: "config" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutPanelBaseComponent, decorators: [{
|
|
48
|
-
type: Component,
|
|
49
|
-
args: [{
|
|
50
|
-
selector: 'bnrc-layout-panel-base',
|
|
51
|
-
template: '',
|
|
52
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
53
|
-
}]
|
|
54
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FormPanelService }, { type: i2.LayoutService, decorators: [{
|
|
55
|
-
type: Self
|
|
56
|
-
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { parentDom: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], isPanel: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], config: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXBhbmVsLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbGF5b3V0LXBhbmVsLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFzQix1QkFBdUIsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdkgsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFRN0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQU9qRSxZQUNXLEVBQWMsRUFDWCxnQkFBa0MsRUFDMUIsYUFBNEIsRUFDcEMsSUFBdUI7UUFFakMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBTHZCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDWCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQW1CO1FBR2pDLElBQUksQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLGFBQWEsQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNTLFVBQVUsQ0FBQyxNQUFNO1FBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUIsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssZUFBZTtvQkFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDdEIsTUFBTTtnQkFDVixLQUFLLGtCQUFrQjtvQkFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDMUIsTUFBTTtZQUNkLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDUyxjQUFjLENBQUMsSUFBUztRQUM5QixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDOytHQTNDUSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrSkFIdkIsRUFBRTs7NEZBR0gsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBV1EsSUFBSTt5RUFUQSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBTZWxmLCBFbGVtZW50UmVmLCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0TGFiZWxXaWR0aCwgZ2V0VW5pcXVlSWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRm9ybVBhbmVsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zvcm0tcGFuZWwuc2VydmljZSc7XG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1pdGVtLWJhc2UnO1xuaW1wb3J0IHsgTGF5b3V0U2V0dGluZyB9IGZyb20gJy4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLWxheW91dC1wYW5lbC1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHBhcmVudERvbTogSFRNTEVsZW1lbnQ7XG4gICAgQElucHV0KCkgaXNQYW5lbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb25maWc6IExheW91dFNldHRpbmc7XG4gICAgbWF4TGFiZWxXaWR0aCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBpc1NlYXJjaFBhbmVsOiBib29sZWFuO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJvdGVjdGVkIGZvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIEBTZWxmKCkgcHJvdGVjdGVkIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtUGFuZWxTZXJ2aWNlLCBfY2RyKTtcbiAgICAgICAgdGhpcy5pZCA9IGdldFVuaXF1ZUlkKDQpO1xuICAgICAgICBsYXlvdXRTZXJ2aWNlLmlkID0gJ3BhbmVsJyArIHRoaXMuaWQ7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsU2VydmljZS5pc1NlYXJjaFBhbmVsJC5zdWJzY3JpYmUoKGlzU2VhcmNoUGFuZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCA9IGlzU2VhcmNoUGFuZWw7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxTZXJ2aWNlLmZvcm1Db250YWluZXJEb20gPSB0aGlzLnBhcmVudERvbTtcbiAgICAgICAgdGhpcy5tYXhMYWJlbFdpZHRoJCA9IHRoaXMubGF5b3V0U2VydmljZS5tYXhXaWR0aCQ7XG4gICAgICAgIHRoaXMuX2NhbGNXaWR0aCh0aGlzLmNvbmZpZyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY2FsY1dpZHRoKGNvbmZpZyk6IHZvaWQge1xuICAgICAgICBjb25maWcuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChpdGVtLnh0eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnTHkuTGF5b3V0Sm9pbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhbGNXaWR0aChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnTHkuTGF5b3V0Q29udHJvbCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldExhYmVsV2lkdGgoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRMYWJlbFdpZHRoKGl0ZW06IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250cm9sV2lkdGggPSBnZXRMYWJlbFdpZHRoKGl0ZW0pO1xuICAgICAgICBpZiAoY29udHJvbFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc2V0TWF4V2lkdGgoY29udHJvbFdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, forkJoin, Observable, Subject } from 'rxjs';
|
|
2
|
-
import { takeUntil, tap } from 'rxjs/operators';
|
|
3
|
-
import { BaseComponent } from './base.component';
|
|
4
|
-
import { getIcon, getImagePath, isImage, getUniqueId } from '../constants';
|
|
5
|
-
import { BarsaApi } from './barsa-api';
|
|
6
|
-
export class LinearListHelper extends BaseComponent {
|
|
7
|
-
constructor(_uploadService, _filesValidationHelper, _fieldDefId) {
|
|
8
|
-
super();
|
|
9
|
-
this._uploadService = _uploadService;
|
|
10
|
-
this._filesValidationHelper = _filesValidationHelper;
|
|
11
|
-
this._fieldDefId = _fieldDefId;
|
|
12
|
-
this.uploading$ = new Observable();
|
|
13
|
-
this._valueExtra$ = new BehaviorSubject({});
|
|
14
|
-
this._loading$ = new Subject();
|
|
15
|
-
this._delete$ = new Subject();
|
|
16
|
-
this._newFileUploaded$ = new Subject();
|
|
17
|
-
this._uploadService.uploadingState$.pipe(takeUntil(this._onDestroy$)).subscribe((uploadState) => {
|
|
18
|
-
const uploadStateValue = this._getFileValueExtra(uploadState.key);
|
|
19
|
-
uploadStateValue.Progress = uploadState.progress;
|
|
20
|
-
uploadStateValue.UploadState = uploadState.state;
|
|
21
|
-
this._valueExtra[uploadState.key] = uploadStateValue;
|
|
22
|
-
this._valueExtra$.next({ ...this._valueExtra });
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
get loading$() {
|
|
26
|
-
return this._loading$.asObservable();
|
|
27
|
-
}
|
|
28
|
-
get valueExtra$() {
|
|
29
|
-
return this._valueExtra$.asObservable();
|
|
30
|
-
}
|
|
31
|
-
get delete$() {
|
|
32
|
-
return this._delete$.asObservable();
|
|
33
|
-
}
|
|
34
|
-
get newFileUploaded$() {
|
|
35
|
-
return this._newFileUploaded$.asObservable();
|
|
36
|
-
}
|
|
37
|
-
init(fileAttachmentInfo) {
|
|
38
|
-
const fileValueExtra = this._getFileValueExtra(fileAttachmentInfo.Id);
|
|
39
|
-
this._setIconAndImage(fileAttachmentInfo, fileValueExtra);
|
|
40
|
-
}
|
|
41
|
-
cancel(fileAttachment) {
|
|
42
|
-
this._valueExtra[fileAttachment.Id].cancelation$?.next();
|
|
43
|
-
}
|
|
44
|
-
retry(fileAttachment) {
|
|
45
|
-
this.uploadFile(fileAttachment).subscribe();
|
|
46
|
-
}
|
|
47
|
-
uploadToServer(files, key = '') {
|
|
48
|
-
const isValid = this._filesValidationHelper.validateFiles(files);
|
|
49
|
-
if (!isValid) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const fileAttachments = files.map((c) => this._createFileAttachment(c));
|
|
53
|
-
forkJoin(fileAttachments.map((fileAttachment) => this.uploadFile(fileAttachment, key ? key : fileAttachment.Id))).subscribe();
|
|
54
|
-
}
|
|
55
|
-
destroy() {
|
|
56
|
-
this._onDestroy$.next();
|
|
57
|
-
}
|
|
58
|
-
get _valueExtra() {
|
|
59
|
-
return this._valueExtra$.getValue();
|
|
60
|
-
}
|
|
61
|
-
_getFileValueExtra(fileId) {
|
|
62
|
-
const valueExtra = this._valueExtra;
|
|
63
|
-
const fileValueExtra = valueExtra[fileId];
|
|
64
|
-
if (!fileValueExtra) {
|
|
65
|
-
valueExtra[fileId] = {};
|
|
66
|
-
this._valueExtra$.next({ ...valueExtra });
|
|
67
|
-
}
|
|
68
|
-
return valueExtra[fileId];
|
|
69
|
-
}
|
|
70
|
-
_setIconAndImage(fileAttachment, fileValueExtra) {
|
|
71
|
-
const fileType = fileAttachment.Type;
|
|
72
|
-
const fileId = fileAttachment.Id;
|
|
73
|
-
if (fileAttachment.IsNew && !fileValueExtra.UploadState) {
|
|
74
|
-
fileValueExtra.FileUrl = 'document';
|
|
75
|
-
fileValueExtra.IsIcon = true;
|
|
76
|
-
}
|
|
77
|
-
else if (isImage(fileType)) {
|
|
78
|
-
fileValueExtra.FileUrl = getImagePath('ID', '', fileId);
|
|
79
|
-
fileValueExtra.IsIcon = false;
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
fileValueExtra.FileUrl = getIcon(fileType);
|
|
83
|
-
fileValueExtra.IsIcon = true;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
_setLoading(loading) {
|
|
87
|
-
this._loading$.next(loading);
|
|
88
|
-
}
|
|
89
|
-
_createFileAttachment(file, key = null) {
|
|
90
|
-
const id = key ?? getUniqueId(4);
|
|
91
|
-
const temp = file.name.split('.');
|
|
92
|
-
const ext = temp[temp.length - 1];
|
|
93
|
-
const newFileAttachment = {
|
|
94
|
-
FileName: file.name,
|
|
95
|
-
Id: id,
|
|
96
|
-
FileId: id,
|
|
97
|
-
IsDeleted: false,
|
|
98
|
-
IsNew: true,
|
|
99
|
-
Type: ext
|
|
100
|
-
};
|
|
101
|
-
const fileValueExtra = this._getFileValueExtra(newFileAttachment.Id);
|
|
102
|
-
this._setIconAndImage(newFileAttachment, fileValueExtra);
|
|
103
|
-
fileValueExtra.UploadState = 'Ready';
|
|
104
|
-
fileValueExtra.binary = file;
|
|
105
|
-
fileValueExtra.cancelation$ = new Subject();
|
|
106
|
-
return newFileAttachment;
|
|
107
|
-
}
|
|
108
|
-
uploadFile(fileAttachment, key = '') {
|
|
109
|
-
const formData = new FormData();
|
|
110
|
-
formData.append('unicFileName', 'x' + BarsaApi.Common.Util.GetNewMetaGuid() + ';;;' + fileAttachment.FileName);
|
|
111
|
-
formData.append('file', this._valueExtra[fileAttachment.Id].binary);
|
|
112
|
-
return this._uploadService.upload(formData, this._fieldDefId, key).pipe(tap((res) => {
|
|
113
|
-
if (Array.isArray(res)) {
|
|
114
|
-
this._updateValue(fileAttachment, res);
|
|
115
|
-
}
|
|
116
|
-
}));
|
|
117
|
-
}
|
|
118
|
-
_updateValue(fileAttachment, res) {
|
|
119
|
-
this._delete$.next(fileAttachment);
|
|
120
|
-
// this._deleteFileAttachment(fileAttachment);
|
|
121
|
-
const id = res[0].FileId;
|
|
122
|
-
const newFileAttachment = {
|
|
123
|
-
...fileAttachment,
|
|
124
|
-
Id: id,
|
|
125
|
-
FileId: id,
|
|
126
|
-
FileName: res[0].FileName,
|
|
127
|
-
IsDeleted: false
|
|
128
|
-
};
|
|
129
|
-
const fileValueExtra = this._getFileValueExtra(id);
|
|
130
|
-
fileValueExtra.binary = null;
|
|
131
|
-
this._setIconAndImage(newFileAttachment, fileValueExtra);
|
|
132
|
-
this._newFileUploaded$.next(newFileAttachment);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZWFyLWxpc3QtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2xpbmVhci1saXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUl2QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsYUFBYTtJQU8vQyxZQUNZLGNBQTZCLEVBQzdCLHNCQUE2QyxFQUM3QyxXQUFtQjtRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUpBLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFUL0IsZUFBVSxHQUFHLElBQUksVUFBVSxFQUFtQixDQUFDO1FBRXZDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ25DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQUM3QyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQU8xRCxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzVGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRSxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUNqRCxnQkFBZ0IsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztZQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFDRCxJQUFJLENBQUMsa0JBQXNDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE1BQU0sQ0FBQyxjQUFrQztRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUNELEtBQUssQ0FBQyxjQUFrQztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFDRCxjQUFjLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRTtRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsUUFBUSxDQUNKLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDMUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBQ0QsT0FBTztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQWMsV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVTLGtCQUFrQixDQUFDLE1BQU07UUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ2xCLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFFO0lBQy9CLENBQUM7SUFDUyxnQkFBZ0IsQ0FBQyxjQUFrQyxFQUFFLGNBQStCO1FBQzFGLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxJQUFJLGNBQWMsQ0FBQyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEQsY0FBYyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7WUFDcEMsY0FBYyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQzthQUFNLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDM0IsY0FBYyxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN4RCxjQUFjLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNKLGNBQWMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDO0lBRVMsV0FBVyxDQUFDLE9BQWdCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDUyxxQkFBcUIsQ0FBQyxJQUFVLEVBQUUsTUFBcUIsSUFBSTtRQUNqRSxNQUFNLEVBQUUsR0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sSUFBSSxHQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0saUJBQWlCLEdBQUc7WUFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ25CLEVBQUUsRUFBRSxFQUFFO1lBQ04sTUFBTSxFQUFFLEVBQUU7WUFDVixTQUFTLEVBQUUsS0FBSztZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxHQUFHO1NBQ1osQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDekQsY0FBYyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDckMsY0FBYyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDN0IsY0FBYyxDQUFDLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2xELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUNTLFVBQVUsQ0FBQyxjQUFrQyxFQUFFLE1BQWMsRUFBRTtRQUNyRSxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9HLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNSLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFUyxZQUFZLENBQUMsY0FBa0MsRUFBRSxHQUFVO1FBQ2pFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25DLDhDQUE4QztRQUM5QyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3pCLE1BQU0saUJBQWlCLEdBQUc7WUFDdEIsR0FBRyxjQUFjO1lBQ2pCLEVBQUUsRUFBRSxFQUFFO1lBQ04sTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFDekIsU0FBUyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRCxjQUFjLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0SWNvbiwgZ2V0SW1hZ2VQYXRoLCBpc0ltYWdlLCBnZXRVbmlxdWVJZCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XG5pbXBvcnQgeyBGaWxlc1ZhbGlkYXRpb25IZWxwZXIgfSBmcm9tICcuL2ZpbGVzLXZhbGlkYXRpb24taGVscGVyJztcbmltcG9ydCB7IEZpbGVBdHRhY2htZW50SW5mbywgSVVwbG9hZGluZ1N0YXRlIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgTGluZWFyTGlzdEhlbHBlciBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIHVwbG9hZGluZyQgPSBuZXcgT2JzZXJ2YWJsZTxJVXBsb2FkaW5nU3RhdGU+KCk7XG5cbiAgICBwcml2YXRlIF92YWx1ZUV4dHJhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmFsdWVFeHRyYVR5cGU+KHt9KTtcbiAgICBwcml2YXRlIF9sb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBfZGVsZXRlJCA9IG5ldyBTdWJqZWN0PEZpbGVBdHRhY2htZW50SW5mbz4oKTtcbiAgICBwcml2YXRlIF9uZXdGaWxlVXBsb2FkZWQkID0gbmV3IFN1YmplY3Q8RmlsZUF0dGFjaG1lbnRJbmZvPigpO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF91cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9maWxlc1ZhbGlkYXRpb25IZWxwZXI6IEZpbGVzVmFsaWRhdGlvbkhlbHBlcixcbiAgICAgICAgcHJpdmF0ZSBfZmllbGREZWZJZDogc3RyaW5nXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX3VwbG9hZFNlcnZpY2UudXBsb2FkaW5nU3RhdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHVwbG9hZFN0YXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1cGxvYWRTdGF0ZVZhbHVlID0gdGhpcy5fZ2V0RmlsZVZhbHVlRXh0cmEodXBsb2FkU3RhdGUua2V5KTtcbiAgICAgICAgICAgIHVwbG9hZFN0YXRlVmFsdWUuUHJvZ3Jlc3MgPSB1cGxvYWRTdGF0ZS5wcm9ncmVzcztcbiAgICAgICAgICAgIHVwbG9hZFN0YXRlVmFsdWUuVXBsb2FkU3RhdGUgPSB1cGxvYWRTdGF0ZS5zdGF0ZTtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlRXh0cmFbdXBsb2FkU3RhdGUua2V5XSA9IHVwbG9hZFN0YXRlVmFsdWU7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZUV4dHJhJC5uZXh0KHsgLi4udGhpcy5fdmFsdWVFeHRyYSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgbG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkaW5nJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCB2YWx1ZUV4dHJhJCgpOiBPYnNlcnZhYmxlPFZhbHVlRXh0cmFUeXBlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUV4dHJhJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBkZWxldGUkKCk6IE9ic2VydmFibGU8RmlsZUF0dGFjaG1lbnRJbmZvPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWxldGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG5ld0ZpbGVVcGxvYWRlZCQoKTogT2JzZXJ2YWJsZTxGaWxlQXR0YWNobWVudEluZm8+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25ld0ZpbGVVcGxvYWRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIGluaXQoZmlsZUF0dGFjaG1lbnRJbmZvOiBGaWxlQXR0YWNobWVudEluZm8pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZVZhbHVlRXh0cmEgPSB0aGlzLl9nZXRGaWxlVmFsdWVFeHRyYShmaWxlQXR0YWNobWVudEluZm8uSWQpO1xuICAgICAgICB0aGlzLl9zZXRJY29uQW5kSW1hZ2UoZmlsZUF0dGFjaG1lbnRJbmZvLCBmaWxlVmFsdWVFeHRyYSk7XG4gICAgfVxuICAgIGNhbmNlbChmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlRXh0cmFbZmlsZUF0dGFjaG1lbnQuSWRdLmNhbmNlbGF0aW9uJD8ubmV4dCgpO1xuICAgIH1cbiAgICByZXRyeShmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlQXR0YWNobWVudCkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHVwbG9hZFRvU2VydmVyKGZpbGVzOiBGaWxlW10sIGtleTogc3RyaW5nID0gJycpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlci52YWxpZGF0ZUZpbGVzKGZpbGVzKTtcbiAgICAgICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsZUF0dGFjaG1lbnRzID0gZmlsZXMubWFwKChjKSA9PiB0aGlzLl9jcmVhdGVGaWxlQXR0YWNobWVudChjKSk7XG4gICAgICAgIGZvcmtKb2luKFxuICAgICAgICAgICAgZmlsZUF0dGFjaG1lbnRzLm1hcCgoZmlsZUF0dGFjaG1lbnQpID0+IHRoaXMudXBsb2FkRmlsZShmaWxlQXR0YWNobWVudCwga2V5ID8ga2V5IDogZmlsZUF0dGFjaG1lbnQuSWQpKVxuICAgICAgICApLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldCBfdmFsdWVFeHRyYSgpOiBWYWx1ZUV4dHJhVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUV4dHJhJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfZ2V0RmlsZVZhbHVlRXh0cmEoZmlsZUlkKTogVXBsb2FkRmlsZVByb3BzIHtcbiAgICAgICAgY29uc3QgdmFsdWVFeHRyYSA9IHRoaXMuX3ZhbHVlRXh0cmE7XG4gICAgICAgIGNvbnN0IGZpbGVWYWx1ZUV4dHJhID0gdmFsdWVFeHRyYVtmaWxlSWRdO1xuICAgICAgICBpZiAoIWZpbGVWYWx1ZUV4dHJhKSB7XG4gICAgICAgICAgICB2YWx1ZUV4dHJhW2ZpbGVJZF0gPSB7fTtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlRXh0cmEkLm5leHQoeyAuLi52YWx1ZUV4dHJhIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZUV4dHJhW2ZpbGVJZF0gO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldEljb25BbmRJbWFnZShmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvLCBmaWxlVmFsdWVFeHRyYTogVXBsb2FkRmlsZVByb3BzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbGVUeXBlID0gZmlsZUF0dGFjaG1lbnQuVHlwZTtcbiAgICAgICAgY29uc3QgZmlsZUlkID0gZmlsZUF0dGFjaG1lbnQuSWQ7XG4gICAgICAgIGlmIChmaWxlQXR0YWNobWVudC5Jc05ldyAmJiAhZmlsZVZhbHVlRXh0cmEuVXBsb2FkU3RhdGUpIHtcbiAgICAgICAgICAgIGZpbGVWYWx1ZUV4dHJhLkZpbGVVcmwgPSAnZG9jdW1lbnQnO1xuICAgICAgICAgICAgZmlsZVZhbHVlRXh0cmEuSXNJY29uID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0ltYWdlKGZpbGVUeXBlKSkge1xuICAgICAgICAgICAgZmlsZVZhbHVlRXh0cmEuRmlsZVVybCA9IGdldEltYWdlUGF0aCgnSUQnLCAnJywgZmlsZUlkKTtcbiAgICAgICAgICAgIGZpbGVWYWx1ZUV4dHJhLklzSWNvbiA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsZVZhbHVlRXh0cmEuRmlsZVVybCA9IGdldEljb24oZmlsZVR5cGUpO1xuICAgICAgICAgICAgZmlsZVZhbHVlRXh0cmEuSXNJY29uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2V0TG9hZGluZyhsb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xvYWRpbmckLm5leHQobG9hZGluZyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY3JlYXRlRmlsZUF0dGFjaG1lbnQoZmlsZTogRmlsZSwga2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IGFueSB7XG4gICAgICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBrZXkgPz8gZ2V0VW5pcXVlSWQoNCk7XG4gICAgICAgIGNvbnN0IHRlbXA6IHN0cmluZ1tdID0gZmlsZS5uYW1lLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGV4dCA9IHRlbXBbdGVtcC5sZW5ndGggLSAxXTtcbiAgICAgICAgY29uc3QgbmV3RmlsZUF0dGFjaG1lbnQgPSB7XG4gICAgICAgICAgICBGaWxlTmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgSWQ6IGlkLFxuICAgICAgICAgICAgRmlsZUlkOiBpZCxcbiAgICAgICAgICAgIElzRGVsZXRlZDogZmFsc2UsXG4gICAgICAgICAgICBJc05ldzogdHJ1ZSxcbiAgICAgICAgICAgIFR5cGU6IGV4dFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBmaWxlVmFsdWVFeHRyYSA9IHRoaXMuX2dldEZpbGVWYWx1ZUV4dHJhKG5ld0ZpbGVBdHRhY2htZW50LklkKTtcbiAgICAgICAgdGhpcy5fc2V0SWNvbkFuZEltYWdlKG5ld0ZpbGVBdHRhY2htZW50LCBmaWxlVmFsdWVFeHRyYSk7XG4gICAgICAgIGZpbGVWYWx1ZUV4dHJhLlVwbG9hZFN0YXRlID0gJ1JlYWR5JztcbiAgICAgICAgZmlsZVZhbHVlRXh0cmEuYmluYXJ5ID0gZmlsZTtcbiAgICAgICAgZmlsZVZhbHVlRXh0cmEuY2FuY2VsYXRpb24kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgICAgcmV0dXJuIG5ld0ZpbGVBdHRhY2htZW50O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgdXBsb2FkRmlsZShmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvLCBrZXk6IHN0cmluZyA9ICcnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCd1bmljRmlsZU5hbWUnLCAneCcgKyBCYXJzYUFwaS5Db21tb24uVXRpbC5HZXROZXdNZXRhR3VpZCgpICsgJzs7OycgKyBmaWxlQXR0YWNobWVudC5GaWxlTmFtZSk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIHRoaXMuX3ZhbHVlRXh0cmFbZmlsZUF0dGFjaG1lbnQuSWRdLmJpbmFyeSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwbG9hZFNlcnZpY2UudXBsb2FkKGZvcm1EYXRhLCB0aGlzLl9maWVsZERlZklkLCBrZXkpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUoZmlsZUF0dGFjaG1lbnQsIHJlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZVZhbHVlKGZpbGVBdHRhY2htZW50OiBGaWxlQXR0YWNobWVudEluZm8sIHJlczogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVsZXRlJC5uZXh0KGZpbGVBdHRhY2htZW50KTtcbiAgICAgICAgLy8gdGhpcy5fZGVsZXRlRmlsZUF0dGFjaG1lbnQoZmlsZUF0dGFjaG1lbnQpO1xuICAgICAgICBjb25zdCBpZCA9IHJlc1swXS5GaWxlSWQ7XG4gICAgICAgIGNvbnN0IG5ld0ZpbGVBdHRhY2htZW50ID0ge1xuICAgICAgICAgICAgLi4uZmlsZUF0dGFjaG1lbnQsXG4gICAgICAgICAgICBJZDogaWQsXG4gICAgICAgICAgICBGaWxlSWQ6IGlkLFxuICAgICAgICAgICAgRmlsZU5hbWU6IHJlc1swXS5GaWxlTmFtZSxcbiAgICAgICAgICAgIElzRGVsZXRlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZmlsZVZhbHVlRXh0cmEgPSB0aGlzLl9nZXRGaWxlVmFsdWVFeHRyYShpZCk7XG4gICAgICAgIGZpbGVWYWx1ZUV4dHJhLmJpbmFyeSA9IG51bGw7XG4gICAgICAgIHRoaXMuX3NldEljb25BbmRJbWFnZShuZXdGaWxlQXR0YWNobWVudCwgZmlsZVZhbHVlRXh0cmEpO1xuICAgICAgICB0aGlzLl9uZXdGaWxlVXBsb2FkZWQkLm5leHQobmV3RmlsZUF0dGFjaG1lbnQpO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIFVwbG9hZEZpbGVQcm9wcyB7XG4gICAgRmlsZVVybD86IHN0cmluZztcbiAgICBjYW5jZWxhdGlvbiQ/OiBTdWJqZWN0PHZvaWQ+O1xuICAgIGJpbmFyeT86IGFueTtcbiAgICBVcGxvYWRTdGF0ZT86IHN0cmluZztcbiAgICBQcm9ncmVzcz86IG51bWJlcjtcbiAgICBJc0ljb24/OiBib29sZWFuO1xufVxudHlwZSBWYWx1ZUV4dHJhVHlwZSA9IHsgW2tleTogc3RyaW5nXTogVXBsb2FkRmlsZVByb3BzIH07XG4iXX0=
|