barsa-novin-ray-core 2.2.73 → 2.2.75
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 +630 -651
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/field-base.d.ts +1 -1
- package/lib/abstract-classes/number-base.d.ts +1 -1
- package/lib/date-services/date-hijri.service.d.ts +1 -1
- package/lib/date-services/date.service.d.ts +1 -1
- package/lib/directives/base.directive.d.ts +1 -1
- package/lib/dynamic-component/base-view-item-props.d.ts +4 -4
- package/lib/resolvers/login-settings.resolver.d.ts +1 -1
- package/lib/resolvers/tile-group-breadcrumb.resolver.d.ts +1 -1
- package/lib/services/notification.service.d.ts +2 -2
- package/lib/services/portal.service.d.ts +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 -25
- package/esm2022/lib/abstract-classes/barsa-api.mjs +0 -43
- package/esm2022/lib/abstract-classes/base-column-props.mjs +0 -89
- package/esm2022/lib/abstract-classes/base.component.mjs +0 -60
- package/esm2022/lib/abstract-classes/field-base.mjs +0 -244
- package/esm2022/lib/abstract-classes/files-validation-helper.mjs +0 -75
- package/esm2022/lib/abstract-classes/form-base.mjs +0 -164
- package/esm2022/lib/abstract-classes/form-field-report-page.component.mjs +0 -54
- package/esm2022/lib/abstract-classes/form-page-base.mjs +0 -132
- package/esm2022/lib/abstract-classes/form-page.component.mjs +0 -53
- package/esm2022/lib/abstract-classes/form-props.base.mjs +0 -100
- package/esm2022/lib/abstract-classes/form-toolbar-base.mjs +0 -57
- package/esm2022/lib/abstract-classes/index.mjs +0 -25
- package/esm2022/lib/abstract-classes/layout-item-base.mjs +0 -49
- package/esm2022/lib/abstract-classes/layout-panel-base.mjs +0 -68
- 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 -201
- package/esm2022/lib/abstract-classes/page-base.mjs +0 -98
- package/esm2022/lib/abstract-classes/page-with-form-handler-base.mjs +0 -41
- package/esm2022/lib/abstract-classes/report-base.mjs +0 -266
- package/esm2022/lib/abstract-classes/report-item-base.mjs +0 -54
- package/esm2022/lib/abstract-classes/report-view-base.component.mjs +0 -450
- package/esm2022/lib/abstract-classes/system-base.mjs +0 -25
- package/esm2022/lib/abstract-classes/tile-props.mjs +0 -49
- package/esm2022/lib/auth-guard.mjs +0 -48
- package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +0 -311
- package/esm2022/lib/barsa-novin-ray-core.module.mjs +0 -522
- package/esm2022/lib/base-ulv-setting.component.mjs +0 -46
- package/esm2022/lib/base.module.mjs +0 -28
- package/esm2022/lib/button-loading/button-loading.component.mjs +0 -20
- package/esm2022/lib/constants.mjs +0 -963
- package/esm2022/lib/container.component.mjs +0 -100
- package/esm2022/lib/controllers/base-controller.mjs +0 -9
- package/esm2022/lib/controllers/base-view.mjs +0 -24
- package/esm2022/lib/controllers/index.mjs +0 -4
- 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 -46
- package/esm2022/lib/directives/anchor-scroll.directive.mjs +0 -25
- package/esm2022/lib/directives/attr-rtl.directive.mjs +0 -36
- package/esm2022/lib/directives/base.directive.mjs +0 -55
- package/esm2022/lib/directives/body-click.directive.mjs +0 -36
- package/esm2022/lib/directives/column-resizer.directive.mjs +0 -40
- package/esm2022/lib/directives/copy.directive.mjs +0 -60
- package/esm2022/lib/directives/count-down.directive.mjs +0 -109
- package/esm2022/lib/directives/dynamic-command.directive.mjs +0 -43
- package/esm2022/lib/directives/dynamic-style.directive.mjs +0 -66
- package/esm2022/lib/directives/ellapsis-text.directive.mjs +0 -70
- package/esm2022/lib/directives/ellipsify.directive.mjs +0 -73
- package/esm2022/lib/directives/field-binding.directive.mjs +0 -18
- package/esm2022/lib/directives/fill-empty-space.mjs +0 -89
- package/esm2022/lib/directives/form-close.directive.mjs +0 -33
- package/esm2022/lib/directives/img-lazy.directive.mjs +0 -82
- package/esm2022/lib/directives/index.mjs +0 -42
- package/esm2022/lib/directives/intersection-observer.directive.mjs +0 -52
- package/esm2022/lib/directives/items-renderer.directive.mjs +0 -60
- package/esm2022/lib/directives/label-mandatory.directive.mjs +0 -49
- package/esm2022/lib/directives/load-external-files.directive.mjs +0 -38
- package/esm2022/lib/directives/mobile.directive.mjs +0 -30
- package/esm2022/lib/directives/nowraptext.directive.mjs +0 -27
- package/esm2022/lib/directives/numbers-only-input.directive.mjs +0 -27
- package/esm2022/lib/directives/placeHolder.directive.mjs +0 -16
- package/esm2022/lib/directives/prevent-default.directive.mjs +0 -21
- package/esm2022/lib/directives/print-files.directive.mjs +0 -39
- package/esm2022/lib/directives/render-ulv-paging.directive.mjs +0 -81
- package/esm2022/lib/directives/render-ulv-viewer.directive.mjs +0 -76
- package/esm2022/lib/directives/render-ulv.directive.mjs +0 -52
- package/esm2022/lib/directives/route-form-change.directive.mjs +0 -38
- package/esm2022/lib/directives/save-image.directive.mjs +0 -28
- package/esm2022/lib/directives/splide-slider.directive.mjs +0 -113
- package/esm2022/lib/directives/stop-propagation.directive.mjs +0 -21
- package/esm2022/lib/directives/table-resizer.directive.mjs +0 -236
- package/esm2022/lib/directives/ulv-command.directive.mjs +0 -43
- package/esm2022/lib/directives/until-inview.directive.mjs +0 -53
- package/esm2022/lib/directives/webotp.directive.mjs +0 -49
- package/esm2022/lib/directives/workflow-choice-command.directive.mjs +0 -61
- package/esm2022/lib/dynamic-component/base-dynamic.component.mjs +0 -97
- package/esm2022/lib/dynamic-component/base-form-toolbaritem-props.mjs +0 -53
- package/esm2022/lib/dynamic-component/base-item-content-props.mjs +0 -83
- package/esm2022/lib/dynamic-component/base-view-content-props.mjs +0 -27
- package/esm2022/lib/dynamic-component/base-view-item-props.mjs +0 -552
- package/esm2022/lib/dynamic-component/base-view-props.mjs +0 -163
- package/esm2022/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +0 -38
- package/esm2022/lib/dynamic-component/dynamic-form.component.mjs +0 -69
- package/esm2022/lib/dynamic-component/dynamic-item.component.mjs +0 -78
- package/esm2022/lib/dynamic-component/dynamic-layout.component.mjs +0 -64
- package/esm2022/lib/dynamic-component/index.mjs +0 -11
- package/esm2022/lib/empty-page/empty-page.component.mjs +0 -49
- 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 -149
- package/esm2022/lib/form/form.component.mjs +0 -212
- package/esm2022/lib/form-new/form-new.component.mjs +0 -31
- 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/modal-root.component.mjs +0 -34
- 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 -20
- package/esm2022/lib/pipes/bbb-translate.pipe.mjs +0 -36
- package/esm2022/lib/pipes/can-upload.pipe.mjs +0 -27
- package/esm2022/lib/pipes/card-media-size.pipe.mjs +0 -21
- package/esm2022/lib/pipes/column-custom-component.pipe.mjs +0 -41
- package/esm2022/lib/pipes/column-customui.pipe.mjs +0 -33
- package/esm2022/lib/pipes/column-icon.pipe.mjs +0 -23
- package/esm2022/lib/pipes/column-value.pipe.mjs +0 -35
- package/esm2022/lib/pipes/column-valueof-parameters.pipe.mjs +0 -34
- package/esm2022/lib/pipes/combo-row-img.pipe.mjs +0 -17
- package/esm2022/lib/pipes/context-menu.pipe.mjs +0 -41
- package/esm2022/lib/pipes/control-ui.pipe.mjs +0 -32
- package/esm2022/lib/pipes/convert-to-style.pipe.mjs +0 -33
- package/esm2022/lib/pipes/date-time-to-caption.pipe.mjs +0 -35
- package/esm2022/lib/pipes/fileinfo-count.pipe.mjs +0 -21
- package/esm2022/lib/pipes/filter-columns-by-details.pipe.mjs +0 -23
- package/esm2022/lib/pipes/filter-inline-action-list.pipe.mjs +0 -19
- package/esm2022/lib/pipes/filter-string.pipe.mjs +0 -45
- package/esm2022/lib/pipes/filter-tab.pipe.mjs +0 -20
- package/esm2022/lib/pipes/filter-toolbar-control.pipe.mjs +0 -17
- package/esm2022/lib/pipes/filter-workflow-mobile.pipe.mjs +0 -25
- package/esm2022/lib/pipes/filter.pipe.mjs +0 -34
- package/esm2022/lib/pipes/find-column-by-db-name.pipe.mjs +0 -28
- package/esm2022/lib/pipes/find-preview-column.pipe.mjs +0 -20
- package/esm2022/lib/pipes/fiori-icon.pipe.mjs +0 -43
- package/esm2022/lib/pipes/groupby.pipe.mjs +0 -64
- package/esm2022/lib/pipes/header-facet-value.pipe.mjs +0 -23
- package/esm2022/lib/pipes/hide-accept-cancel-buttons.pipe.mjs +0 -24
- package/esm2022/lib/pipes/hide-columns-inmobile.pipe.mjs +0 -23
- package/esm2022/lib/pipes/index.mjs +0 -55
- package/esm2022/lib/pipes/isimage.pipe.mjs +0 -20
- package/esm2022/lib/pipes/list-count.pipe.mjs +0 -18
- package/esm2022/lib/pipes/merge-fields-to-columns.pipe.mjs +0 -43
- package/esm2022/lib/pipes/mo-info-ulv-data.pipe.mjs +0 -59
- package/esm2022/lib/pipes/mo-info-ulv-paging.pipe.mjs +0 -17
- package/esm2022/lib/pipes/mo-report-value-concat.pipe.mjs +0 -36
- package/esm2022/lib/pipes/mo-report-value.pipe.mjs +0 -18
- package/esm2022/lib/pipes/mo-value.pipe.mjs +0 -19
- package/esm2022/lib/pipes/multiple-groupby.pipe.mjs +0 -91
- package/esm2022/lib/pipes/numeral.pipe.mjs +0 -44
- package/esm2022/lib/pipes/picture-field-source.pipe.mjs +0 -23
- package/esm2022/lib/pipes/remove-newline.pipe.mjs +0 -21
- package/esm2022/lib/pipes/replace.pipe.mjs +0 -18
- package/esm2022/lib/pipes/reverse.pipe.mjs +0 -23
- package/esm2022/lib/pipes/rownumber.pipe.mjs +0 -26
- package/esm2022/lib/pipes/sanitize-text.pipe.mjs +0 -21
- package/esm2022/lib/pipes/seperator-fix.pipe.mjs +0 -24
- package/esm2022/lib/pipes/sort.pipe.mjs +0 -49
- package/esm2022/lib/pipes/string-to-number.pipe.mjs +0 -26
- package/esm2022/lib/pipes/th-image-icon.pipe.mjs +0 -22
- package/esm2022/lib/pipes/tlbButtons.pipe.mjs +0 -60
- package/esm2022/lib/pipes/toolbar-settings.pipe.mjs +0 -27
- package/esm2022/lib/pipes/total-summary.pipe.mjs +0 -17
- package/esm2022/lib/pipes/tree-item-isexpanded.pipe.mjs +0 -26
- package/esm2022/lib/pipes/visible-value.pipe.mjs +0 -19
- package/esm2022/lib/portal-page/portal-page.component.mjs +0 -24
- package/esm2022/lib/portal-page/portal-sidebar.component.mjs +0 -37
- 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 -42
- package/esm2022/lib/resizable-module/resizable.module.mjs +0 -17
- package/esm2022/lib/resolvers/index.mjs +0 -7
- package/esm2022/lib/resolvers/login-settings.resolver.mjs +0 -18
- 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 -236
- 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 -394
- package/esm2022/lib/services/form.service.mjs +0 -14
- package/esm2022/lib/services/groupby.service.mjs +0 -21
- package/esm2022/lib/services/horizontal-layout.service.mjs +0 -16
- package/esm2022/lib/services/index.mjs +0 -32
- package/esm2022/lib/services/indexeddb.service.mjs +0 -34
- package/esm2022/lib/services/layout-main-content.service.mjs +0 -19
- 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 -189
- package/esm2022/lib/services/portal.service.mjs +0 -950
- 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/tabpage.service.mjs +0 -13
- 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 -824
- package/esm2022/lib/services/upload.service.mjs +0 -166
- package/esm2022/lib/services/video-recording.service.mjs +0 -115
- package/esm2022/lib/unlimit-session/unlimit-session.component.mjs +0 -40
- package/esm2022/public-api.mjs +0 -42
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
import { Input, Component, EventEmitter, Output, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { debounceTime, map, pluck, takeUntil, tap } from 'rxjs/operators';
|
|
4
|
-
import { BaseComponent } from './base.component';
|
|
5
|
-
import { GetAllColumnsSorted, getResetGridSettings, getUniqueId } from '../constants';
|
|
6
|
-
import { BarsaApi } from './barsa-api';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../services/portal.service";
|
|
9
|
-
import * as i2 from "../services/ulvmain.service";
|
|
10
|
-
export class ReportBaseComponent extends BaseComponent {
|
|
11
|
-
constructor(_portalService, _ulvMainService) {
|
|
12
|
-
super();
|
|
13
|
-
this._portalService = _portalService;
|
|
14
|
-
this._ulvMainService = _ulvMainService;
|
|
15
|
-
this.pageChange = new EventEmitter();
|
|
16
|
-
this.pageSizeChange = new EventEmitter();
|
|
17
|
-
this.defaultGridSetting = {
|
|
18
|
-
ColSettingList: [],
|
|
19
|
-
AutoSizeColumns: false,
|
|
20
|
-
SortSettingList: [],
|
|
21
|
-
Hidden: true
|
|
22
|
-
};
|
|
23
|
-
this.sortSettings = null;
|
|
24
|
-
this._visibleColumnsSource = new BehaviorSubject([]);
|
|
25
|
-
this.searchTermSource = new BehaviorSubject('');
|
|
26
|
-
this.gridSettingSource = new BehaviorSubject(this.defaultGridSetting);
|
|
27
|
-
this.groupbySource = new BehaviorSubject([]);
|
|
28
|
-
this._allCheckedSource = new BehaviorSubject(false);
|
|
29
|
-
this.visibleColumns$ = this._visibleColumnsSource.asObservable();
|
|
30
|
-
this.searchTerm$ = this.searchTermSource.asObservable();
|
|
31
|
-
this.gridSetting$ = this.gridSettingSource.asObservable();
|
|
32
|
-
this.groupby$ = this.groupbySource.asObservable();
|
|
33
|
-
this.allChecked$ = this._allCheckedSource.asObservable();
|
|
34
|
-
this.fields = {};
|
|
35
|
-
this.toolbarButtons$ = this._ulvMainService.toolbarButtons$;
|
|
36
|
-
}
|
|
37
|
-
get moDataList() {
|
|
38
|
-
return this._ulvMainService.moDataListSource.getValue();
|
|
39
|
-
}
|
|
40
|
-
ngOnInit() {
|
|
41
|
-
super.ngOnInit();
|
|
42
|
-
this.rendered = true;
|
|
43
|
-
this.context.rendered = true;
|
|
44
|
-
this.inDialog$ = this._ulvMainService.inDialog$;
|
|
45
|
-
this.cssBackground$ = this._ulvMainService.cssBackground$;
|
|
46
|
-
this.isMultiSelect$ = this._ulvMainService.isMultiSelect$;
|
|
47
|
-
this.fullscreen$ = this._ulvMainService.fullscreen$;
|
|
48
|
-
this.hideSearchpanel$ = this._ulvMainService.hideSearchpanel$;
|
|
49
|
-
this.deviceSize$ = this._portalService.deviceSize$;
|
|
50
|
-
this.hideToolbar$ = this._ulvMainService.hideToolbar$;
|
|
51
|
-
this.newInlineEditMo$ = this._ulvMainService.newInlineEditMo$;
|
|
52
|
-
this.conditionalFormats$ = this._ulvMainService.conditionalFormats$;
|
|
53
|
-
this.cartableTemplates$ = this._ulvMainService.cartableTemplates$;
|
|
54
|
-
this.cartableChildsMo$ = this._ulvMainService.cartableChildsMo$;
|
|
55
|
-
this.title$ = this._ulvMainService.title$.pipe(pluck('text'));
|
|
56
|
-
this.menuItems$ = this._ulvMainService.menuItems$;
|
|
57
|
-
this.pagingSetting$ = this._ulvMainService.pagingSetting$;
|
|
58
|
-
this.toolbarEnable$ = this._ulvMainService.enable$;
|
|
59
|
-
this.gridFreeColumnSizing$ = this._ulvMainService.gridFreeColumnSizing$;
|
|
60
|
-
this.mask$ = this._ulvMainService.viwerMask$.pipe(debounceTime(200));
|
|
61
|
-
this.selectedMo$ = this._ulvMainService.moDataList$.pipe(map((items) => items.find((c) => c.$IsChecked)));
|
|
62
|
-
this.moDataList$ = this._ulvMainService.moDataList$.pipe(tap((items) => this._setAllChecked(items)));
|
|
63
|
-
this.selectedCount$ = this._ulvMainService.selectedCount$;
|
|
64
|
-
this.context.on({
|
|
65
|
-
scope: this,
|
|
66
|
-
MoDataListChanged: this._moDataListChanged,
|
|
67
|
-
GridSettingChanged: this._gridSettingChanged
|
|
68
|
-
});
|
|
69
|
-
// in gheire faal bood chon moshkel eijad mikard
|
|
70
|
-
// va dar ulv event baiad raise shavad
|
|
71
|
-
// ke data amade shode va ulvmainservice an ra begirad.gozaresh mortabet
|
|
72
|
-
this._ulvMainService.reSetMoDataList(this.context.moDataList);
|
|
73
|
-
let gridSetting = this.defaultGridSetting;
|
|
74
|
-
if (this.context.GetGridSetting) {
|
|
75
|
-
gridSetting = this.context.GetGridSetting() || this.defaultGridSetting;
|
|
76
|
-
}
|
|
77
|
-
this._setVisibleColumns();
|
|
78
|
-
gridSetting.SortSettingList ||= [];
|
|
79
|
-
this.allColumns = this.context.allColumns || [];
|
|
80
|
-
this.updateGridSetting(gridSetting, false, false);
|
|
81
|
-
this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUi.Parameters', null);
|
|
82
|
-
this.id = getUniqueId(4);
|
|
83
|
-
this.itemSelector = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUiRow.Selector');
|
|
84
|
-
this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUi.Parameters');
|
|
85
|
-
const fieldSettings = BarsaApi.Common.Util.TryGetValue(this.parameters, 'FieldSettings.MoDataList', []);
|
|
86
|
-
fieldSettings.forEach((c) => {
|
|
87
|
-
this.fields[c.ComponentParameter.$Caption] = c.$Caption;
|
|
88
|
-
});
|
|
89
|
-
this._ulvMainService.context.RefreshAllCmdUi();
|
|
90
|
-
}
|
|
91
|
-
ngAfterViewInit() {
|
|
92
|
-
super.ngAfterViewInit();
|
|
93
|
-
this.deviceSize$
|
|
94
|
-
.pipe(takeUntil(this._onDestroy$), tap((deviceSize) => this._deviceSizeChanged(deviceSize)))
|
|
95
|
-
.subscribe();
|
|
96
|
-
this._portalService.windowResize$.pipe(takeUntil(this._onDestroy$)).subscribe(() => this._windowResized());
|
|
97
|
-
this.context?.fireEvent('afterrender', this);
|
|
98
|
-
}
|
|
99
|
-
ngOnDestroy() {
|
|
100
|
-
super.ngOnDestroy();
|
|
101
|
-
this.context.un('MoDataListChanged', this._moDataListChanged);
|
|
102
|
-
this.context.un('GridSettingChanged', this._gridSettingChanged);
|
|
103
|
-
}
|
|
104
|
-
onResetGridSettings() {
|
|
105
|
-
const allColumns = this.allColumns.map((c) => ({
|
|
106
|
-
...c,
|
|
107
|
-
Hidden: false,
|
|
108
|
-
Width: 0,
|
|
109
|
-
$Width: undefined,
|
|
110
|
-
$Width2: undefined
|
|
111
|
-
}));
|
|
112
|
-
const gridSettings = getResetGridSettings(allColumns, this.context);
|
|
113
|
-
this.updateGridSetting(gridSettings, false, true);
|
|
114
|
-
}
|
|
115
|
-
_columnSummary(e) {
|
|
116
|
-
this.context.fireEvent('columnSummary', this.context, e.moArr, e.column, e.groupLevel, e.groupName, e.summaryFn);
|
|
117
|
-
}
|
|
118
|
-
_gridSettingChanged(setting) {
|
|
119
|
-
this.gridSettingSource.next(setting);
|
|
120
|
-
}
|
|
121
|
-
_moDataListChanged(moDataList) {
|
|
122
|
-
this._ulvMainService.reSetMoDataList(moDataList);
|
|
123
|
-
}
|
|
124
|
-
_setAllChecked(items) {
|
|
125
|
-
this._allCheckedSource.next(items.length > 0 && !items.some((c) => !c.$IsChecked));
|
|
126
|
-
}
|
|
127
|
-
_handleColumnsResized(e) {
|
|
128
|
-
const gridSetting = this.gridSettingSource.getValue();
|
|
129
|
-
const { columns, resized } = e;
|
|
130
|
-
const colList = gridSetting.ColSettingList;
|
|
131
|
-
resized.forEach((column1) => {
|
|
132
|
-
const resizedColumn = columns.find((c) => c.Name === column1.name);
|
|
133
|
-
if (!colList) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
const column = colList.find((c) => c.Name === resizedColumn?.Name);
|
|
137
|
-
if (column) {
|
|
138
|
-
column.Width = column1.width;
|
|
139
|
-
}
|
|
140
|
-
else if (resizedColumn) {
|
|
141
|
-
colList.push({ IsHidden: resizedColumn.Hidden, Name: resizedColumn.Name, Width: column1.width });
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
this._raiseEventUserSettingChanged(gridSetting);
|
|
145
|
-
}
|
|
146
|
-
_setVisibleColumns() {
|
|
147
|
-
const columns = GetAllColumnsSorted(this.context);
|
|
148
|
-
this._visibleColumnsSource.next(columns.filter((c) => !c.Hidden));
|
|
149
|
-
}
|
|
150
|
-
applyGroupby() {
|
|
151
|
-
const sortList = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.View.GridSetting.SortSettingList', []);
|
|
152
|
-
this.groupbySource.next(sortList.filter((c) => c.IsGrouped));
|
|
153
|
-
}
|
|
154
|
-
_raiseRowClick(index, mo) {
|
|
155
|
-
this.context?.fireEvent('rowdblclick', this.context, index, mo);
|
|
156
|
-
}
|
|
157
|
-
/* eslint-disable */
|
|
158
|
-
_deviceSizeChanged(_) { }
|
|
159
|
-
_windowResized() { }
|
|
160
|
-
_openMo(mo, i) {
|
|
161
|
-
this._raiseRowClick(i, mo);
|
|
162
|
-
}
|
|
163
|
-
updateGridSetting(setting, isSort = false, raiseEvent = true) {
|
|
164
|
-
if (!setting) {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
this.context.Setting.View.GridSetting = setting;
|
|
168
|
-
this.gridSettingSource.next(setting);
|
|
169
|
-
this.applyGroupby();
|
|
170
|
-
if (isSort) {
|
|
171
|
-
setting.Event = 'SortChange';
|
|
172
|
-
}
|
|
173
|
-
else {
|
|
174
|
-
setting.Event = '';
|
|
175
|
-
}
|
|
176
|
-
this._setVisibleColumns();
|
|
177
|
-
this._deviceSizeChanged(this._portalService.deviceSize);
|
|
178
|
-
if (raiseEvent) {
|
|
179
|
-
this._raiseEventUserSettingChanged(setting);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
updateSortSettings(sortSettings, raiseEvent = true) {
|
|
183
|
-
const gridSettings = this.context.Setting.View.GridSetting;
|
|
184
|
-
gridSettings.SortSettingList = sortSettings;
|
|
185
|
-
this.gridSettingSource.next(gridSettings);
|
|
186
|
-
this.applyGroupby();
|
|
187
|
-
gridSettings.Event = 'SortChange';
|
|
188
|
-
if (raiseEvent) {
|
|
189
|
-
this._raiseEventUserSettingChanged(gridSettings);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
_raiseEventUserSettingChanged(gridSetting) {
|
|
193
|
-
this.context.fireEvent('UserSettingChange', this.context, gridSetting);
|
|
194
|
-
}
|
|
195
|
-
_ulvCommandClicked(mo, index) {
|
|
196
|
-
this._removeCheckedAll();
|
|
197
|
-
this._select(mo, index);
|
|
198
|
-
}
|
|
199
|
-
_checkedAll() {
|
|
200
|
-
const moDataList = this.moDataList;
|
|
201
|
-
moDataList.forEach((mo) => (mo.$IsChecked = true));
|
|
202
|
-
this._ulvMainService.reSetMoDataList();
|
|
203
|
-
this.context.fireEvent('rowSelectAll', this.context);
|
|
204
|
-
}
|
|
205
|
-
_removeCheckedAll() {
|
|
206
|
-
this._deselctAll();
|
|
207
|
-
// this.context.fireEvent('rowDeselectAll', this.context);
|
|
208
|
-
}
|
|
209
|
-
_deselctAll() {
|
|
210
|
-
const moDataList = this.moDataList;
|
|
211
|
-
moDataList.forEach((mo) => (mo.$IsChecked = false));
|
|
212
|
-
this._ulvMainService.reSetMoDataList();
|
|
213
|
-
}
|
|
214
|
-
_deselect(mo, index) {
|
|
215
|
-
mo.$IsChecked = false;
|
|
216
|
-
this._ulvMainService.reSetMoDataList();
|
|
217
|
-
this.context.fireEvent('rowdeselect', this.context, index, mo);
|
|
218
|
-
return mo;
|
|
219
|
-
}
|
|
220
|
-
_select(mo, index) {
|
|
221
|
-
// this._deselctAll();
|
|
222
|
-
mo.$IsChecked = true;
|
|
223
|
-
this._ulvMainService.reSetMoDataList();
|
|
224
|
-
this.context.fireEvent('rowselect', this.context, index, mo);
|
|
225
|
-
return mo;
|
|
226
|
-
}
|
|
227
|
-
_doCheckedAll(checked) {
|
|
228
|
-
if (checked) {
|
|
229
|
-
this._checkedAll();
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
this._removeCheckedAll();
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
_getSelected() {
|
|
236
|
-
const selectedMo = this.moDataList.find((mo) => mo.$IsChecked);
|
|
237
|
-
if (!selectedMo) {
|
|
238
|
-
return null;
|
|
239
|
-
}
|
|
240
|
-
selectedMo.json = selectedMo;
|
|
241
|
-
return selectedMo;
|
|
242
|
-
}
|
|
243
|
-
refreshContextMoDataList(moDataList) {
|
|
244
|
-
this.context.fireEvent('RefreshContextMoDataList', moDataList);
|
|
245
|
-
}
|
|
246
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportBaseComponent, deps: [{ token: i1.PortalService }, { token: i2.UlvMainService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
247
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReportBaseComponent, selector: "bnrc-report-base", inputs: { context: "context", currentPage: "currentPage" }, outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
248
|
-
}
|
|
249
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportBaseComponent, decorators: [{
|
|
250
|
-
type: Component,
|
|
251
|
-
args: [{
|
|
252
|
-
selector: 'bnrc-report-base',
|
|
253
|
-
template: '',
|
|
254
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
255
|
-
standalone: false
|
|
256
|
-
}]
|
|
257
|
-
}], ctorParameters: () => [{ type: i1.PortalService }, { type: i2.UlvMainService }], propDecorators: { context: [{
|
|
258
|
-
type: Input
|
|
259
|
-
}], currentPage: [{
|
|
260
|
-
type: Input
|
|
261
|
-
}], pageChange: [{
|
|
262
|
-
type: Output
|
|
263
|
-
}], pageSizeChange: [{
|
|
264
|
-
type: Output
|
|
265
|
-
}] } });
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFJTix1QkFBdUIsRUFDMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3RGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUEyQnZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBeURsRCxZQUFzQixjQUE2QixFQUFZLGVBQStCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFsRHBGLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RCx1QkFBa0IsR0FBRztZQUNqQixjQUFjLEVBQUUsRUFBRTtZQUNsQixlQUFlLEVBQUUsS0FBSztZQUN0QixlQUFlLEVBQUUsRUFBRTtZQUNuQixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFLRixpQkFBWSxHQUF5RSxJQUFJLENBQUM7UUErQmhGLDBCQUFxQixH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QUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRVMsWUFBWTtRQUNsQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNkLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxVQUFVLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUM3QixPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBQ1Msd0JBQXdCLENBQUMsVUFBVTtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDOytHQXBUUSxtQkFBbUI7bUdBQW5CLG1CQUFtQixvTkFKbEIsRUFBRTs7NEZBSUgsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsS0FBSztpQkFDcEI7K0dBRVksT0FBTztzQkFBZixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIElucHV0LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHBsdWNrLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2V0QWxsQ29sdW1uc1NvcnRlZCwgZ2V0UmVzZXRHcmlkU2V0dGluZ3MsIGdldFVuaXF1ZUlkIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BvcnRhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWx2TWFpblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91bHZtYWluLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcclxuaW1wb3J0IHtcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXHJcbiAgICBHcmlkU2V0dGluZyxcclxuICAgIENvbFNldHRpbmcsXHJcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxyXG4gICAgU29ydFNldHRpbmcsXHJcbiAgICBNZW51SXRlbSxcclxuICAgIFBhZ2luZ1NldHRpbmcsXHJcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXHJcbiAgICBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyxcclxuICAgIEZvcm1TZXR0aW5nLFxyXG4gICAgQ29sdW1uU3VtbWFyeVR5cGUsXHJcbiAgICBDc3NCYWNrZ3JvdW5kXHJcbn0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXBvcnRTZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBFeHRyYTogYW55O1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLXJlcG9ydC1iYXNlJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgY29udGV4dDoge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgICAgICBTZXR0aW5nOiBSZXBvcnRTZXR0aW5nO1xyXG4gICAgfTtcclxuICAgIEBJbnB1dCgpIGN1cnJlbnRQYWdlOiBudW1iZXI7XHJcblxyXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIEBPdXRwdXQoKSBwYWdlU2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIGRlZmF1bHRHcmlkU2V0dGluZyA9IHtcclxuICAgICAgICBDb2xTZXR0aW5nTGlzdDogW10sXHJcbiAgICAgICAgQXV0b1NpemVDb2x1bW5zOiBmYWxzZSxcclxuICAgICAgICBTb3J0U2V0dGluZ0xpc3Q6IFtdLFxyXG4gICAgICAgIEhpZGRlbjogdHJ1ZVxyXG4gICAgfTtcclxuICAgIGl0ZW1TZWxlY3Rvcjogc3RyaW5nO1xyXG4gICAgYWxsQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xyXG4gICAgaWQ6IHN0cmluZztcclxuXHJcbiAgICBzb3J0U2V0dGluZ3M6IHsgSXNHcm91cGVkOiBib29sZWFuOyBOYW1lOiBzdHJpbmc7IFNvcnREaXJlY3Rpb246IHN0cmluZyB9W10gfCBudWxsID0gbnVsbDtcclxuICAgIHBhcmFtZXRlcnM6IGFueTtcclxuICAgIGZpZWxkczogYW55O1xyXG5cclxuICAgIGNzc0JhY2tncm91bmQkOiBPYnNlcnZhYmxlPENzc0JhY2tncm91bmQgfCBudWxsPjtcclxuICAgIHZpc2libGVDb2x1bW5zJDogT2JzZXJ2YWJsZTxSZXBvcnRWaWV3Q29sdW1uW10+O1xyXG4gICAgc2VhcmNoVGVybSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIG1vRGF0YUxpc3QkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XHJcbiAgICBncmlkU2V0dGluZyQ6IE9ic2VydmFibGU8R3JpZFNldHRpbmc+O1xyXG4gICAgZ3JvdXBieSQ6IE9ic2VydmFibGU8U29ydFNldHRpbmdbXT47XHJcbiAgICBhbGxDaGVja2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHBhZ2luZ1NldHRpbmckOiBPYnNlcnZhYmxlPFBhZ2luZ1NldHRpbmcgfCBudWxsPjtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XHJcbiAgICBtYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgaW5EaWFsb2ckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaXNNdWx0aVNlbGVjdCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBmdWxsc2NyZWVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIG1lbnVJdGVtcyQ6IE9ic2VydmFibGU8TWVudUl0ZW1bXT47XHJcbiAgICB0b29sYmFyQnV0dG9ucyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG4gICAgdG9vbGJhckVuYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlVG9vbGJhciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlU2VhcmNocGFuZWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgc2VsZWN0ZWRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IHVuZGVmaW5lZD47XHJcbiAgICBjb25kaXRpb25hbEZvcm1hdHMkOiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICAgIG5ld0lubGluZUVkaXRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw+O1xyXG4gICAgY2FydGFibGVUZW1wbGF0ZXMkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfSB8IG51bGw+O1xyXG4gICAgY2FydGFibGVDaGlsZHNNbyQ6IE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gfCBudWxsPjtcclxuICAgIHNlbGVjdGVkQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBncmlkRnJlZUNvbHVtblNpemluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gICAgcHJvdGVjdGVkIF92aXNpYmxlQ29sdW1uc1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVwb3J0Vmlld0NvbHVtbltdPihbXSk7XHJcbiAgICBwcm90ZWN0ZWQgc2VhcmNoVGVybVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XHJcbiAgICBwcm90ZWN0ZWQgZ3JpZFNldHRpbmdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdyaWRTZXR0aW5nPih0aGlzLmRlZmF1bHRHcmlkU2V0dGluZyk7XHJcbiAgICBwcm90ZWN0ZWQgZ3JvdXBieVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U29ydFNldHRpbmdbXT4oW10pO1xyXG4gICAgcHJpdmF0ZSBfYWxsQ2hlY2tlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSwgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNvbHVtbnMkID0gdGhpcy5fdmlzaWJsZUNvbHVtbnNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJCA9IHRoaXMuc2VhcmNoVGVybVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nJCA9IHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5ncm91cGJ5JCA9IHRoaXMuZ3JvdXBieVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmFsbENoZWNrZWQkID0gdGhpcy5fYWxsQ2hlY2tlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmZpZWxkcyA9IHt9O1xyXG4gICAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UudG9vbGJhckJ1dHRvbnMkO1xyXG4gICAgfVxyXG4gICAgZ2V0IG1vRGF0YUxpc3QoKTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdFNvdXJjZS5nZXRWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnJlbmRlcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmluRGlhbG9nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmluRGlhbG9nJDtcclxuICAgICAgICB0aGlzLmNzc0JhY2tncm91bmQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY3NzQmFja2dyb3VuZCQ7XHJcbiAgICAgICAgdGhpcy5pc011bHRpU2VsZWN0JCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmlzTXVsdGlTZWxlY3QkO1xyXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiQgPSB0aGlzLl91bHZNYWluU2VydmljZS5mdWxsc2NyZWVuJDtcclxuICAgICAgICB0aGlzLmhpZGVTZWFyY2hwYW5lbCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWwkO1xyXG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xyXG4gICAgICAgIHRoaXMuaGlkZVRvb2xiYXIkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVRvb2xiYXIkO1xyXG4gICAgICAgIHRoaXMubmV3SW5saW5lRWRpdE1vJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm5ld0lubGluZUVkaXRNbyQ7XHJcbiAgICAgICAgdGhpcy5jb25kaXRpb25hbEZvcm1hdHMkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY29uZGl0aW9uYWxGb3JtYXRzJDtcclxuICAgICAgICB0aGlzLmNhcnRhYmxlVGVtcGxhdGVzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNhcnRhYmxlVGVtcGxhdGVzJDtcclxuICAgICAgICB0aGlzLmNhcnRhYmxlQ2hpbGRzTW8kID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FydGFibGVDaGlsZHNNbyQ7XHJcbiAgICAgICAgdGhpcy50aXRsZSQgPSB0aGlzLl91bHZNYWluU2VydmljZS50aXRsZSQucGlwZShwbHVjaygndGV4dCcpKTtcclxuICAgICAgICB0aGlzLm1lbnVJdGVtcyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5tZW51SXRlbXMkO1xyXG4gICAgICAgIHRoaXMucGFnaW5nU2V0dGluZyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5wYWdpbmdTZXR0aW5nJDtcclxuICAgICAgICB0aGlzLnRvb2xiYXJFbmFibGUkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZW5hYmxlJDtcclxuICAgICAgICB0aGlzLmdyaWRGcmVlQ29sdW1uU2l6aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmdyaWRGcmVlQ29sdW1uU2l6aW5nJDtcclxuICAgICAgICB0aGlzLm1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudml3ZXJNYXNrJC5waXBlKGRlYm91bmNlVGltZSgyMDApKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW8kID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdCQucGlwZShtYXAoKGl0ZW1zKSA9PiBpdGVtcy5maW5kKChjKSA9PiBjLiRJc0NoZWNrZWQpKSk7XHJcbiAgICAgICAgdGhpcy5tb0RhdGFMaXN0JCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1vRGF0YUxpc3QkLnBpcGUodGFwKChpdGVtcykgPT4gdGhpcy5fc2V0QWxsQ2hlY2tlZChpdGVtcykpKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRDb3VudCQ7XHJcblxyXG4gICAgICAgIHRoaXMuY29udGV4dC5vbih7XHJcbiAgICAgICAgICAgIHNjb3BlOiB0aGlzLFxyXG4gICAgICAgICAgICBNb0RhdGFMaXN0Q2hhbmdlZDogdGhpcy5fbW9EYXRhTGlzdENoYW5nZWQsXHJcbiAgICAgICAgICAgIEdyaWRTZXR0aW5nQ2hhbmdlZDogdGhpcy5fZ3JpZFNldHRpbmdDaGFuZ2VkXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gaW4gZ2hlaXJlIGZhYWwgYm9vZCBjaG9uIG1vc2hrZWwgZWlqYWQgbWlrYXJkXHJcbiAgICAgICAgLy8gdmEgZGFyIHVsdiBldmVudCBiYWlhZCByYWlzZSBzaGF2YWRcclxuICAgICAgICAvLyBrZSBkYXRhIGFtYWRlIHNob2RlIHZhIHVsdm1haW5zZXJ2aWNlIGFuIHJhIGJlZ2lyYWQuZ296YXJlc2ggbW9ydGFiZXRcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QodGhpcy5jb250ZXh0Lm1vRGF0YUxpc3QpO1xyXG5cclxuICAgICAgICBsZXQgZ3JpZFNldHRpbmcgPSB0aGlzLmRlZmF1bHRHcmlkU2V0dGluZztcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0LkdldEdyaWRTZXR0aW5nKSB7XHJcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nID0gdGhpcy5jb250ZXh0LkdldEdyaWRTZXR0aW5nKCkgfHwgdGhpcy5kZWZhdWx0R3JpZFNldHRpbmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zZXRWaXNpYmxlQ29sdW1ucygpO1xyXG5cclxuICAgICAgICBncmlkU2V0dGluZy5Tb3J0U2V0dGluZ0xpc3QgfHw9IFtdO1xyXG4gICAgICAgIHRoaXMuYWxsQ29sdW1ucyA9IHRoaXMuY29udGV4dC5hbGxDb2x1bW5zIHx8IFtdO1xyXG4gICAgICAgIHRoaXMudXBkYXRlR3JpZFNldHRpbmcoZ3JpZFNldHRpbmcsIGZhbHNlLCBmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzJyxcclxuICAgICAgICAgICAgbnVsbFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5pZCA9IGdldFVuaXF1ZUlkKDQpO1xyXG5cclxuICAgICAgICB0aGlzLml0ZW1TZWxlY3RvciA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaVJvdy5TZWxlY3RvcicpO1xyXG5cclxuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycycpO1xyXG4gICAgICAgIGNvbnN0IGZpZWxkU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLnBhcmFtZXRlcnMsICdGaWVsZFNldHRpbmdzLk1vRGF0YUxpc3QnLCBbXSk7XHJcblxyXG4gICAgICAgIGZpZWxkU2V0dGluZ3MuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZpZWxkc1tjLkNvbXBvbmVudFBhcmFtZXRlci4kQ2FwdGlvbl0gPSBjLiRDYXB0aW9uO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNvbnRleHQuUmVmcmVzaEFsbENtZFVpKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG5cclxuICAgICAgICB0aGlzLmRldmljZVNpemUkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgdGFwKChkZXZpY2VTaXplKSA9PiB0aGlzLl9kZXZpY2VTaXplQ2hhbmdlZChkZXZpY2VTaXplKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fd2luZG93UmVzaXplZCgpKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQ/LmZpcmVFdmVudCgnYWZ0ZXJyZW5kZXInLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdNb0RhdGFMaXN0Q2hhbmdlZCcsIHRoaXMuX21vRGF0YUxpc3RDaGFuZ2VkKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0dyaWRTZXR0aW5nQ2hhbmdlZCcsIHRoaXMuX2dyaWRTZXR0aW5nQ2hhbmdlZCk7XHJcbiAgICB9XHJcbiAgICBvblJlc2V0R3JpZFNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFsbENvbHVtbnMgPSB0aGlzLmFsbENvbHVtbnMubWFwKChjKSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5jLFxyXG4gICAgICAgICAgICBIaWRkZW46IGZhbHNlLFxyXG4gICAgICAgICAgICBXaWR0aDogMCxcclxuICAgICAgICAgICAgJFdpZHRoOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICRXaWR0aDI6IHVuZGVmaW5lZFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICBjb25zdCBncmlkU2V0dGluZ3MgPSBnZXRSZXNldEdyaWRTZXR0aW5ncyhhbGxDb2x1bW5zLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlR3JpZFNldHRpbmcoZ3JpZFNldHRpbmdzLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NvbHVtblN1bW1hcnkoZTogQ29sdW1uU3VtbWFyeVR5cGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KFxyXG4gICAgICAgICAgICAnY29sdW1uU3VtbWFyeScsXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgZS5tb0FycixcclxuICAgICAgICAgICAgZS5jb2x1bW4sXHJcbiAgICAgICAgICAgIGUuZ3JvdXBMZXZlbCxcclxuICAgICAgICAgICAgZS5ncm91cE5hbWUsXHJcbiAgICAgICAgICAgIGUuc3VtbWFyeUZuXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfZ3JpZFNldHRpbmdDaGFuZ2VkKHNldHRpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nU291cmNlLm5leHQoc2V0dGluZyk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX21vRGF0YUxpc3RDaGFuZ2VkKG1vRGF0YUxpc3QpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QobW9EYXRhTGlzdCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldEFsbENoZWNrZWQoaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2FsbENoZWNrZWRTb3VyY2UubmV4dChpdGVtcy5sZW5ndGggPiAwICYmICFpdGVtcy5zb21lKChjKSA9PiAhYy4kSXNDaGVja2VkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVDb2x1bW5zUmVzaXplZChlOiBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZyA9IHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UuZ2V0VmFsdWUoKTtcclxuICAgICAgICBjb25zdCB7IGNvbHVtbnMsIHJlc2l6ZWQgfSA9IGU7XHJcbiAgICAgICAgY29uc3QgY29sTGlzdDogQ29sU2V0dGluZ1tdID0gZ3JpZFNldHRpbmcuQ29sU2V0dGluZ0xpc3Q7XHJcbiAgICAgICAgcmVzaXplZC5mb3JFYWNoKChjb2x1bW4xKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc2l6ZWRDb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGMpID0+IGMuTmFtZSA9PT0gY29sdW1uMS5uYW1lKTtcclxuICAgICAgICAgICAgaWYgKCFjb2xMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gY29sTGlzdC5maW5kKChjKSA9PiBjLk5hbWUgPT09IHJlc2l6ZWRDb2x1bW4/Lk5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uV2lkdGggPSBjb2x1bW4xLndpZHRoO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc2l6ZWRDb2x1bW4pIHtcclxuICAgICAgICAgICAgICAgIGNvbExpc3QucHVzaCh7IElzSGlkZGVuOiByZXNpemVkQ29sdW1uLkhpZGRlbiwgTmFtZTogcmVzaXplZENvbHVtbi5OYW1lLCBXaWR0aDogY29sdW1uMS53aWR0aCB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3JhaXNlRXZlbnRVc2VyU2V0dGluZ0NoYW5nZWQoZ3JpZFNldHRpbmcpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRWaXNpYmxlQ29sdW1ucygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb2x1bW5zID0gR2V0QWxsQ29sdW1uc1NvcnRlZCh0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5zU291cmNlLm5leHQoY29sdW1ucy5maWx0ZXIoKGMpID0+ICFjLkhpZGRlbikpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIGFwcGx5R3JvdXBieSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzb3J0TGlzdDogU29ydFNldHRpbmdbXSA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQsXHJcbiAgICAgICAgICAgICdTZXR0aW5nLlZpZXcuR3JpZFNldHRpbmcuU29ydFNldHRpbmdMaXN0JyxcclxuICAgICAgICAgICAgW11cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBieVNvdXJjZS5uZXh0KHNvcnRMaXN0LmZpbHRlcigoYykgPT4gYy5Jc0dyb3VwZWQpKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmFpc2VSb3dDbGljayhpbmRleCwgbW8pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQ/LmZpcmVFdmVudCgncm93ZGJsY2xpY2snLCB0aGlzLmNvbnRleHQsIGluZGV4LCBtbyk7XHJcbiAgICB9XHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgcHJvdGVjdGVkIF9kZXZpY2VTaXplQ2hhbmdlZChfOiBzdHJpbmcpOiB2b2lkIHt9XHJcbiAgICBwcm90ZWN0ZWQgX3dpbmRvd1Jlc2l6ZWQoKTogdm9pZCB7fVxyXG5cclxuICAgIHByb3RlY3RlZCBfb3Blbk1vKG1vLCBpKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmFpc2VSb3dDbGljayhpLCBtbyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUdyaWRTZXR0aW5nKHNldHRpbmcsIGlzU29ydCA9IGZhbHNlLCByYWlzZUV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghc2V0dGluZykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29udGV4dC5TZXR0aW5nLlZpZXcuR3JpZFNldHRpbmcgPSBzZXR0aW5nO1xyXG4gICAgICAgIHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UubmV4dChzZXR0aW5nKTtcclxuICAgICAgICB0aGlzLmFwcGx5R3JvdXBieSgpO1xyXG4gICAgICAgIGlmIChpc1NvcnQpIHtcclxuICAgICAgICAgICAgc2V0dGluZy5FdmVudCA9ICdTb3J0Q2hhbmdlJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZXR0aW5nLkV2ZW50ID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NldFZpc2libGVDb2x1bW5zKCk7XHJcbiAgICAgICAgdGhpcy5fZGV2aWNlU2l6ZUNoYW5nZWQodGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplKTtcclxuICAgICAgICBpZiAocmFpc2VFdmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKHNldHRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCB1cGRhdGVTb3J0U2V0dGluZ3Moc29ydFNldHRpbmdzLCByYWlzZUV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGdyaWRTZXR0aW5ncyA9IHRoaXMuY29udGV4dC5TZXR0aW5nLlZpZXcuR3JpZFNldHRpbmc7XHJcbiAgICAgICAgZ3JpZFNldHRpbmdzLlNvcnRTZXR0aW5nTGlzdCA9IHNvcnRTZXR0aW5ncztcclxuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nU291cmNlLm5leHQoZ3JpZFNldHRpbmdzKTtcclxuICAgICAgICB0aGlzLmFwcGx5R3JvdXBieSgpO1xyXG4gICAgICAgIGdyaWRTZXR0aW5ncy5FdmVudCA9ICdTb3J0Q2hhbmdlJztcclxuICAgICAgICBpZiAocmFpc2VFdmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKGdyaWRTZXR0aW5ncyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKGdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1VzZXJTZXR0aW5nQ2hhbmdlJywgdGhpcy5jb250ZXh0LCBncmlkU2V0dGluZyk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3VsdkNvbW1hbmRDbGlja2VkKG1vLCBpbmRleCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlbW92ZUNoZWNrZWRBbGwoKTtcclxuICAgICAgICB0aGlzLl9zZWxlY3QobW8sIGluZGV4KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfY2hlY2tlZEFsbCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBtb0RhdGFMaXN0ID0gdGhpcy5tb0RhdGFMaXN0O1xyXG4gICAgICAgIG1vRGF0YUxpc3QuZm9yRWFjaCgobW8pID0+IChtby4kSXNDaGVja2VkID0gdHJ1ZSkpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd1NlbGVjdEFsbCcsIHRoaXMuY29udGV4dCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3JlbW92ZUNoZWNrZWRBbGwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGVzZWxjdEFsbCgpO1xyXG4gICAgICAgIC8vIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd0Rlc2VsZWN0QWxsJywgdGhpcy5jb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2Rlc2VsY3RBbGwoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbW9EYXRhTGlzdCA9IHRoaXMubW9EYXRhTGlzdDtcclxuICAgICAgICBtb0RhdGFMaXN0LmZvckVhY2goKG1vKSA9PiAobW8uJElzQ2hlY2tlZCA9IGZhbHNlKSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2Rlc2VsZWN0KG1vLCBpbmRleCk6IE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgICAgIG1vLiRJc0NoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QoKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdyb3dkZXNlbGVjdCcsIHRoaXMuY29udGV4dCwgaW5kZXgsIG1vKTtcclxuICAgICAgICByZXR1cm4gbW87XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9zZWxlY3QobW8sIGluZGV4KTogTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICAgICAgLy8gICAgdGhpcy5fZGVzZWxjdEFsbCgpO1xyXG4gICAgICAgIG1vLiRJc0NoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd3NlbGVjdCcsIHRoaXMuY29udGV4dCwgaW5kZXgsIG1vKTtcclxuICAgICAgICByZXR1cm4gbW87XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9kb0NoZWNrZWRBbGwoY2hlY2tlZCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrZWRBbGwoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVDaGVja2VkQWxsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfZ2V0U2VsZWN0ZWQoKTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTW8gPSB0aGlzLm1vRGF0YUxpc3QuZmluZCgobW8pID0+IG1vLiRJc0NoZWNrZWQpO1xyXG4gICAgICAgIGlmICghc2VsZWN0ZWRNbykge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZWN0ZWRNby5qc29uID0gc2VsZWN0ZWRNbztcclxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRNbztcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCByZWZyZXNoQ29udGV4dE1vRGF0YUxpc3QobW9EYXRhTGlzdCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1JlZnJlc2hDb250ZXh0TW9EYXRhTGlzdCcsIG1vRGF0YUxpc3QpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Input, Component, HostBinding, HostListener, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from './base.component';
|
|
3
|
-
import { BarsaApi } from './barsa-api';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ReportItemBaseComponent extends BaseComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.itemClick = new EventEmitter();
|
|
9
|
-
this.index = -1;
|
|
10
|
-
this.fields = {};
|
|
11
|
-
}
|
|
12
|
-
onClick() {
|
|
13
|
-
this.itemClick.emit({ index: this.index, mo: this.mo });
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
super.ngOnInit();
|
|
17
|
-
this.classNames2 = this.classNames;
|
|
18
|
-
this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUiRow.Parameters');
|
|
19
|
-
const fieldSettings = BarsaApi.Common.Util.TryGetValue(this.parameters, 'FieldSettings.MoDataList', []);
|
|
20
|
-
fieldSettings.forEach((c) => {
|
|
21
|
-
this.fields[c.ComponentParameter.$Caption] = c.$Caption;
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportItemBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReportItemBaseComponent, selector: "bnrc-report-item-base", inputs: { classNames: "classNames", context: "context", mo: "mo", allColumns: "allColumns", index: "index" }, outputs: { itemClick: "itemClick" }, host: { listeners: { "click": "onClick($event.target)" }, properties: { "class": "this.classNames2" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportItemBaseComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: 'bnrc-report-item-base',
|
|
31
|
-
template: '',
|
|
32
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33
|
-
standalone: false
|
|
34
|
-
}]
|
|
35
|
-
}], ctorParameters: () => [], propDecorators: { itemClick: [{
|
|
36
|
-
type: Output
|
|
37
|
-
}], classNames2: [{
|
|
38
|
-
type: HostBinding,
|
|
39
|
-
args: ['class']
|
|
40
|
-
}], classNames: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], context: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], mo: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], allColumns: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], index: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], onClick: [{
|
|
51
|
-
type: HostListener,
|
|
52
|
-
args: ['click', ['$event.target']]
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWl0ZW0tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9yZXBvcnQtaXRlbS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFFWix1QkFBdUIsRUFDMUIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBb0J2QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsYUFBYTtJQWF0RDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBYkYsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFTaEMsVUFBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBS2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsMkNBQTJDLENBQUMsQ0FBQztRQUM5RyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSwwQkFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4RyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBaENRLHVCQUF1QjttR0FBdkIsdUJBQXVCLGdWQUp0QixFQUFFOzs0RkFJSCx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjt3REFFYSxTQUFTO3NCQUFsQixNQUFNO2dCQUNlLFdBQVc7c0JBQWhDLFdBQVc7dUJBQUMsT0FBTztnQkFDWCxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFJRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBU04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBJbnB1dCxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgT25Jbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcclxuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgUmVwb3J0U2V0dGluZyB9IGZyb20gJy4vcmVwb3J0LWJhc2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBDb21wb25lbnRQYXJhbWV0ZXI6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBSZWxhdGVkRmllbGQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFJlcG9ydEl0ZW1TZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBGaWVsZFNldHRpbmdzOiB7XHJcbiAgICAgICAgTW9EYXRhTGlzdDogQXJyYXk8RmllbGRTZXR0aW5ncz47XHJcbiAgICB9O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1yZXBvcnQtaXRlbS1iYXNlJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydEl0ZW1CYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZXMyOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBjbGFzc05hbWVzOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBjb250ZXh0OiB7XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgICAgIFNldHRpbmc6IFJlcG9ydFNldHRpbmc7XHJcbiAgICB9IHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQElucHV0KCkgYWxsQ29sdW1uczogYW55W107XHJcbiAgICBASW5wdXQoKSBpbmRleCA9IC0xO1xyXG4gICAgZmllbGRzOiBhbnk7XHJcbiAgICBwYXJhbWV0ZXJzOiBSZXBvcnRJdGVtU2V0dGluZyB8IG51bGw7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuZmllbGRzID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdCh7IGluZGV4OiB0aGlzLmluZGV4LCBtbzogdGhpcy5tbyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY2xhc3NOYW1lczIgPSB0aGlzLmNsYXNzTmFtZXM7XHJcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpUm93LlBhcmFtZXRlcnMnKTtcclxuICAgICAgICBjb25zdCBmaWVsZFNldHRpbmdzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5wYXJhbWV0ZXJzLCAnRmllbGRTZXR0aW5ncy5Nb0RhdGFMaXN0JywgW10pO1xyXG5cclxuICAgICAgICBmaWVsZFNldHRpbmdzLmZvckVhY2goKGMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5maWVsZHNbYy5Db21wb25lbnRQYXJhbWV0ZXIuJENhcHRpb25dID0gYy4kQ2FwdGlvbjtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|