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,244 +0,0 @@
|
|
|
1
|
-
import { Input, Output, EventEmitter, Component, ChangeDetectionStrategy, Self, Optional, Inject, HostBinding } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
|
|
3
|
-
import { distinctUntilChanged, map, takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { BaseComponent } from './base.component';
|
|
5
|
-
import { DIALOG_SERVICE } from '../injdection-tokens';
|
|
6
|
-
import { BarsaApi } from './barsa-api';
|
|
7
|
-
import { getDeviceIsMobile, getDeviceIsTablet, getFocusableTagNames } from '../constants';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../services";
|
|
10
|
-
import * as i2 from "../pipes";
|
|
11
|
-
import * as i3 from "@angular/router";
|
|
12
|
-
import * as i4 from "@angular/platform-browser";
|
|
13
|
-
import * as i5 from "../date-services";
|
|
14
|
-
export class FieldBaseComponent extends BaseComponent {
|
|
15
|
-
get customFieldInfo() {
|
|
16
|
-
return this.context.Setting.CustomFieldInfo;
|
|
17
|
-
}
|
|
18
|
-
constructor(_portalService, _bbbPipe, _picFieldSrc, _numeralPipe, _el, _cdr, _renderer2, _activatedRoute, _domSanitizer, _dialogService, _uploadService, _dateService, _audioRecorder, _videoRecoder, _columnService) {
|
|
19
|
-
super();
|
|
20
|
-
this._portalService = _portalService;
|
|
21
|
-
this._bbbPipe = _bbbPipe;
|
|
22
|
-
this._picFieldSrc = _picFieldSrc;
|
|
23
|
-
this._numeralPipe = _numeralPipe;
|
|
24
|
-
this._el = _el;
|
|
25
|
-
this._cdr = _cdr;
|
|
26
|
-
this._renderer2 = _renderer2;
|
|
27
|
-
this._activatedRoute = _activatedRoute;
|
|
28
|
-
this._domSanitizer = _domSanitizer;
|
|
29
|
-
this._dialogService = _dialogService;
|
|
30
|
-
this._uploadService = _uploadService;
|
|
31
|
-
this._dateService = _dateService;
|
|
32
|
-
this._audioRecorder = _audioRecorder;
|
|
33
|
-
this._videoRecoder = _videoRecoder;
|
|
34
|
-
this._columnService = _columnService;
|
|
35
|
-
this.valueChange = new EventEmitter();
|
|
36
|
-
this.formmatedValue = new EventEmitter();
|
|
37
|
-
this.isMobile = getDeviceIsMobile();
|
|
38
|
-
this.isTablet = getDeviceIsTablet();
|
|
39
|
-
this.mobileConfig = {
|
|
40
|
-
title: 'انتخاب',
|
|
41
|
-
approveButtonText: 'تایید',
|
|
42
|
-
cancelButtonText: 'انصراف',
|
|
43
|
-
hasCloseButton: true,
|
|
44
|
-
dialogConfig: {
|
|
45
|
-
ariaLabel: 'انتخاب'
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
this._refreshSource = new Subject();
|
|
49
|
-
this._valueChangedSource = new Subject();
|
|
50
|
-
this._disableChangedSource = new BehaviorSubject(false);
|
|
51
|
-
this._readonlyChangedSource = new BehaviorSubject(false);
|
|
52
|
-
this.refresh$ = this._refreshSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
53
|
-
this.value$ = this._valueChangedSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
54
|
-
this.deviceSize$ = this._portalService.deviceSize$;
|
|
55
|
-
this.disable$ = this._disableChangedSource
|
|
56
|
-
.asObservable()
|
|
57
|
-
.pipe(takeUntil(this._onDestroy$), distinctUntilChanged());
|
|
58
|
-
this.readonly$ = this._readonlyChangedSource
|
|
59
|
-
.asObservable()
|
|
60
|
-
.pipe(takeUntil(this._onDestroy$), distinctUntilChanged());
|
|
61
|
-
this.disableOrReadonly$ = combineLatest([this.readonly$, this.disable$]).pipe(map(([disable, readonly]) => disable || readonly), distinctUntilChanged());
|
|
62
|
-
this.el = _el;
|
|
63
|
-
}
|
|
64
|
-
ngOnInit() {
|
|
65
|
-
super.ngOnInit();
|
|
66
|
-
if (this.context) {
|
|
67
|
-
this.context.dom = this.el.nativeElement;
|
|
68
|
-
this.context.id = this.id;
|
|
69
|
-
// this.context.rendered = true;
|
|
70
|
-
this.Setting = this.context ? this.context.Setting : null;
|
|
71
|
-
const readonly = this.context?.readOnly;
|
|
72
|
-
this._setReadonly(readonly, false);
|
|
73
|
-
this._setDisable(this.context.disable, false);
|
|
74
|
-
// this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.CustomUi.Parameters', null);
|
|
75
|
-
// if (!this.parameters) {
|
|
76
|
-
// this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.CustomUi.Settings', null);
|
|
77
|
-
// }
|
|
78
|
-
this.JsonExtraProp = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.JsonExtraProp', null);
|
|
79
|
-
}
|
|
80
|
-
this._addListener();
|
|
81
|
-
this._setMobileConfig();
|
|
82
|
-
}
|
|
83
|
-
ngOnChanges(changes) {
|
|
84
|
-
const { cellEdit } = changes;
|
|
85
|
-
if (cellEdit && !cellEdit.firstChange && cellEdit.currentValue) {
|
|
86
|
-
this._focusToFirstFocusableElement();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
ngOnDestroy() {
|
|
90
|
-
super.ngOnDestroy();
|
|
91
|
-
this._removeListener();
|
|
92
|
-
}
|
|
93
|
-
ngAfterViewInit() {
|
|
94
|
-
super.ngAfterViewInit();
|
|
95
|
-
if (this.context) {
|
|
96
|
-
this.context.rendered = true;
|
|
97
|
-
}
|
|
98
|
-
this._columnService?.controlRendered();
|
|
99
|
-
if (this.focusControl) {
|
|
100
|
-
this._focusToFirstFocusableElement();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
_focusToFirstFocusableElement() {
|
|
104
|
-
const elDom = this._el.nativeElement;
|
|
105
|
-
const focusableNodeList = elDom.querySelectorAll(getFocusableTagNames());
|
|
106
|
-
let focused = false;
|
|
107
|
-
focusableNodeList.forEach((el) => {
|
|
108
|
-
const tagName = el.tagName.toLocaleLowerCase();
|
|
109
|
-
if (!focused &&
|
|
110
|
-
el.offsetWidth > 0 &&
|
|
111
|
-
el.offsetHeight > 0 &&
|
|
112
|
-
el.getAttribute('disabled') !== 'true' &&
|
|
113
|
-
el.getAttribute('ng-reflect-disabled') !== 'true' &&
|
|
114
|
-
!tagName.startsWith('fdp')) {
|
|
115
|
-
el.focus();
|
|
116
|
-
focused = true;
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
fireContextEvent(event, value, value1, value2) {
|
|
121
|
-
this.context.fireEvent(event, value, value1, value2);
|
|
122
|
-
}
|
|
123
|
-
_setMobileConfig() {
|
|
124
|
-
const mobileConfig = this.mobileConfig;
|
|
125
|
-
mobileConfig.title = this.Setting?.ControlFieldCaptionTranslated;
|
|
126
|
-
mobileConfig.dialogConfig && (mobileConfig.dialogConfig.ariaLabel = mobileConfig.title);
|
|
127
|
-
mobileConfig.approveButtonText = this._bbbPipe.transform('Ok');
|
|
128
|
-
mobileConfig.cancelButtonText = this._bbbPipe.transform('Cancel');
|
|
129
|
-
}
|
|
130
|
-
_addListener() {
|
|
131
|
-
if (this.context && this.context.on) {
|
|
132
|
-
this.context.on({
|
|
133
|
-
ControlValueChanged: this._setValue.bind(this),
|
|
134
|
-
ControlDisableChanged: this._setDisable.bind(this),
|
|
135
|
-
ControlReadonlyChanged: this._setReadonly.bind(this),
|
|
136
|
-
ControlRefresh: this._setRefresh.bind(this),
|
|
137
|
-
ConfigChanged: this._configChaned.bind(this)
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
_removeListener() {
|
|
142
|
-
if (this.context && this.context.un) {
|
|
143
|
-
this.context.un('ControlValueChanged', this._setValue);
|
|
144
|
-
this.context.un('ControlDisableChanged', this._setDisable);
|
|
145
|
-
this.context.un('ControlReadonlyChanged', this._setReadonly);
|
|
146
|
-
this.context.un('ControlRefresh', this._setRefresh);
|
|
147
|
-
this.context.un('ConfigChanged', this._configChaned);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
_configChaned(options) {
|
|
151
|
-
// implemented by child components
|
|
152
|
-
this._cdr.detectChanges();
|
|
153
|
-
}
|
|
154
|
-
_setValue(value) {
|
|
155
|
-
this.value = value;
|
|
156
|
-
this._valueChangedSource.next(value);
|
|
157
|
-
this._cdr.detectChanges();
|
|
158
|
-
}
|
|
159
|
-
_setRefresh(value) {
|
|
160
|
-
this._refreshSource.next(value);
|
|
161
|
-
this._cdr.detectChanges();
|
|
162
|
-
}
|
|
163
|
-
_setDisable(value, changeDetect = true) {
|
|
164
|
-
this._disableChangedSource.next(value);
|
|
165
|
-
if (changeDetect) {
|
|
166
|
-
this._cdr.detectChanges();
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
_setReadonly(value, changeDetect = true) {
|
|
170
|
-
this._readonlyChangedSource.next(value);
|
|
171
|
-
if (changeDetect) {
|
|
172
|
-
this._cdr.detectChanges();
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldBaseComponent, deps: [{ token: i1.PortalService }, { token: i2.BbbTranslatePipe }, { token: i2.PictureFieldSourcePipe }, { token: i2.NumeralPipe }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i3.ActivatedRoute }, { token: i4.DomSanitizer }, { token: DIALOG_SERVICE, optional: true }, { token: i1.UploadService, optional: true, self: true }, { token: i5.DateService, optional: true, self: true }, { token: i1.AudioRecordingService, optional: true, self: true }, { token: i1.VideoRecordingService, optional: true, self: true }, { token: i1.ColumnService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
176
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldBaseComponent, selector: "bnrc-field-base", inputs: { context: "context", focusControl: "focusControl", layoutInfo: "layoutInfo", value: "value", width: "width", height: "height", formHeight: "formHeight", inlineEdit: "inlineEdit", cellEdit: "cellEdit", formContainer: "formContainer", id: "id", parametes: "parametes" }, outputs: { valueChange: "valueChange", formmatedValue: "formmatedValue" }, host: { properties: { "class.isMobile": "this.isMobile", "class.isTablet": "this.isTablet" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
177
|
-
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldBaseComponent, decorators: [{
|
|
179
|
-
type: Component,
|
|
180
|
-
args: [{
|
|
181
|
-
selector: 'bnrc-field-base',
|
|
182
|
-
template: '',
|
|
183
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
184
|
-
standalone: false
|
|
185
|
-
}]
|
|
186
|
-
}], ctorParameters: () => [{ type: i1.PortalService }, { type: i2.BbbTranslatePipe }, { type: i2.PictureFieldSourcePipe }, { type: i2.NumeralPipe }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i3.ActivatedRoute }, { type: i4.DomSanitizer }, { type: undefined, decorators: [{
|
|
187
|
-
type: Optional
|
|
188
|
-
}, {
|
|
189
|
-
type: Inject,
|
|
190
|
-
args: [DIALOG_SERVICE]
|
|
191
|
-
}] }, { type: i1.UploadService, decorators: [{
|
|
192
|
-
type: Self
|
|
193
|
-
}, {
|
|
194
|
-
type: Optional
|
|
195
|
-
}] }, { type: i5.DateService, decorators: [{
|
|
196
|
-
type: Self
|
|
197
|
-
}, {
|
|
198
|
-
type: Optional
|
|
199
|
-
}] }, { type: i1.AudioRecordingService, decorators: [{
|
|
200
|
-
type: Self
|
|
201
|
-
}, {
|
|
202
|
-
type: Optional
|
|
203
|
-
}] }, { type: i1.VideoRecordingService, decorators: [{
|
|
204
|
-
type: Self
|
|
205
|
-
}, {
|
|
206
|
-
type: Optional
|
|
207
|
-
}] }, { type: i1.ColumnService, decorators: [{
|
|
208
|
-
type: Optional
|
|
209
|
-
}] }], propDecorators: { context: [{
|
|
210
|
-
type: Input
|
|
211
|
-
}], focusControl: [{
|
|
212
|
-
type: Input
|
|
213
|
-
}], layoutInfo: [{
|
|
214
|
-
type: Input
|
|
215
|
-
}], value: [{
|
|
216
|
-
type: Input
|
|
217
|
-
}], width: [{
|
|
218
|
-
type: Input
|
|
219
|
-
}], height: [{
|
|
220
|
-
type: Input
|
|
221
|
-
}], formHeight: [{
|
|
222
|
-
type: Input
|
|
223
|
-
}], inlineEdit: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}], cellEdit: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}], formContainer: [{
|
|
228
|
-
type: Input
|
|
229
|
-
}], id: [{
|
|
230
|
-
type: Input
|
|
231
|
-
}], parametes: [{
|
|
232
|
-
type: Input
|
|
233
|
-
}], valueChange: [{
|
|
234
|
-
type: Output
|
|
235
|
-
}], formmatedValue: [{
|
|
236
|
-
type: Output
|
|
237
|
-
}], isMobile: [{
|
|
238
|
-
type: HostBinding,
|
|
239
|
-
args: ['class.isMobile']
|
|
240
|
-
}], isTablet: [{
|
|
241
|
-
type: HostBinding,
|
|
242
|
-
args: ['class.isTablet']
|
|
243
|
-
}] } });
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9maWVsZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBTVQsdUJBQXVCLEVBRXZCLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBNkIxRixNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGFBQWE7SUFvQzFELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ2hELENBQUM7SUFNRCxZQUNjLGNBQTZCLEVBQzdCLFFBQTBCLEVBQzFCLFlBQW9DLEVBQ3BDLFlBQXlCLEVBQ3pCLEdBQWUsRUFDZixJQUF1QixFQUN2QixVQUFxQixFQUNyQixlQUErQixFQUMvQixhQUEyQixFQUNTLGNBQW1CLEVBQ25DLGNBQTZCLEVBQzdCLFlBQXlCLEVBQ3pCLGNBQXFDLEVBQ3JDLGFB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UztzQkFBakIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ3dCLFFBQVE7c0JBQXRDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNFLFFBQVE7c0JBQXRDLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIElucHV0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgU2VsZixcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IERJQUxPR19TRVJWSUNFIH0gZnJvbSAnLi4vaW5qZGVjdGlvbi10b2tlbnMnO1xyXG5pbXBvcnQgeyBCYmJUcmFuc2xhdGVQaXBlLCBOdW1lcmFsUGlwZSwgUGljdHVyZUZpZWxkU291cmNlUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcclxuaW1wb3J0IHsgQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLCBDb2x1bW5TZXJ2aWNlLCBQb3J0YWxTZXJ2aWNlLCBVcGxvYWRTZXJ2aWNlLCBWaWRlb1JlY29yZGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xyXG5pbXBvcnQgeyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCwgQWJicmV2YXRpb25EZXZpY2VTaXplLCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBnZXREZXZpY2VJc01vYmlsZSwgZ2V0RGV2aWNlSXNUYWJsZXQsIGdldEZvY3VzYWJsZVRhZ05hbWVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIENvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcclxuICAgIENvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkOiBzdHJpbmc7XHJcbiAgICBDb250cm9sRmllbGREZWZJZDogc3RyaW5nO1xyXG4gICAgQ29udHJvbE5hbWU6IHN0cmluZztcclxuICAgIFJlbGF0ZWRGaWVsZExpc3Q6IFtdO1xyXG4gICAgSGlkZTogYm9vbGVhbjtcclxuICAgIHh0eXBlOiBzdHJpbmc7XHJcbiAgICBMYWJlbFBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBJc01hbmRhdG9yeTogYm9vbGVhbjtcclxuICAgIElzVmlzaWJsZTogYm9vbGVhbjtcclxuICAgIFNob3dMYWJlbDogYm9vbGVhbjtcclxuICAgIElzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgICBJc0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBJc0JvbGQ6IGJvb2xlYW47XHJcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcclxuICAgIEpzb25FeHRyYVByb3A6IGFueSB8IG51bGw7XHJcbiAgICBGaWVsZEljb246IHN0cmluZztcclxuICAgIElzTHRyOiBib29sZWFuO1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLWZpZWxkLWJhc2UnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGRCYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICAgIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcclxuICAgIEBJbnB1dCgpIGZvY3VzQ29udHJvbDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGxheW91dEluZm86IGFueTtcclxuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XHJcbiAgICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBmb3JtSGVpZ2h0OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY2VsbEVkaXQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBmb3JtQ29udGFpbmVyOiBIVE1MRWxlbWVudDtcclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBwYXJhbWV0ZXM6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBmb3JtbWF0ZWRWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pc01vYmlsZScpIGlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXNUYWJsZXQnKSBpc1RhYmxldCA9IGdldERldmljZUlzVGFibGV0KCk7XHJcbiAgICBKc29uRXh0cmFQcm9wOiBhbnk7XHJcbiAgICBwYXJhbWV0ZXJzOiBhbnk7XHJcbiAgICBTZXR0aW5nOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbDtcclxuICAgIHJlZnJlc2gkOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICB2YWx1ZSQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIGRpc2FibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcmVhZG9ubHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZGlzYWJsZU9yUmVhZG9ubHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcclxuICAgIGVsOiBhbnk7XHJcbiAgICBtb2JpbGVDb25maWc6IGFueSA9IHtcclxuICAgICAgICB0aXRsZTogJ9in2YbYqtiu2KfYqCcsXHJcbiAgICAgICAgYXBwcm92ZUJ1dHRvblRleHQ6ICfYqtin24zbjNivJyxcclxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn2KfZhti12LHYp9mBJyxcclxuICAgICAgICBoYXNDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICBkaWFsb2dDb25maWc6IHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAn2KfZhtiq2K7Yp9ioJ1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBnZXQgY3VzdG9tRmllbGRJbmZvKCk6IE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuU2V0dGluZy5DdXN0b21GaWVsZEluZm87XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9yZWZyZXNoU291cmNlID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkU291cmNlID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZUNoYW5nZWRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHByaXZhdGUgX3JlYWRvbmx5Q2hhbmdlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2JiYlBpcGU6IEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9waWNGaWVsZFNyYzogUGljdHVyZUZpZWxkU291cmNlUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX251bWVyYWxQaXBlOiBOdW1lcmFsUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfU0VSVklDRSkgcHJvdGVjdGVkIF9kaWFsb2dTZXJ2aWNlOiBhbnksXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3VwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2RhdGVTZXJ2aWNlOiBEYXRlU2VydmljZSxcclxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfYXVkaW9SZWNvcmRlcjogQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLFxyXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF92aWRlb1JlY29kZXI6IFZpZGVvUmVjb3JkaW5nU2VydmljZSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2NvbHVtblNlcnZpY2U6IENvbHVtblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoJCA9IHRoaXMuX3JlZnJlc2hTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xyXG4gICAgICAgIHRoaXMudmFsdWUkID0gdGhpcy5fdmFsdWVDaGFuZ2VkU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcclxuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJDtcclxuICAgICAgICB0aGlzLmRpc2FibGUkID0gdGhpcy5fZGlzYWJsZUNoYW5nZWRTb3VyY2VcclxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XHJcbiAgICAgICAgdGhpcy5yZWFkb25seSQgPSB0aGlzLl9yZWFkb25seUNoYW5nZWRTb3VyY2VcclxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlT3JSZWFkb25seSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlYWRvbmx5JCwgdGhpcy5kaXNhYmxlJF0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW2Rpc2FibGUsIHJlYWRvbmx5XSkgPT4gZGlzYWJsZSB8fCByZWFkb25seSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZWwgPSBfZWw7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5kb20gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5pZCA9IHRoaXMuaWQ7XHJcblxyXG4gICAgICAgICAgICAvLyB0aGlzLmNvbnRleHQucmVuZGVyZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcgPSB0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQuU2V0dGluZyA6IG51bGw7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlYWRvbmx5ID0gdGhpcy5jb250ZXh0Py5yZWFkT25seTtcclxuICAgICAgICAgICAgdGhpcy5fc2V0UmVhZG9ubHkocmVhZG9ubHksIGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5fc2V0RGlzYWJsZSh0aGlzLmNvbnRleHQuZGlzYWJsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkN1c3RvbVVpLlBhcmFtZXRlcnMnLCBudWxsKTtcclxuICAgICAgICAgICAgLy8gaWYgKCF0aGlzLnBhcmFtZXRlcnMpIHtcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ3VzdG9tVWkuU2V0dGluZ3MnLCBudWxsKTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB0aGlzLkpzb25FeHRyYVByb3AgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkpzb25FeHRyYVByb3AnLCBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fYWRkTGlzdGVuZXIoKTtcclxuICAgICAgICB0aGlzLl9zZXRNb2JpbGVDb25maWcoKTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB7IGNlbGxFZGl0IH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChjZWxsRWRpdCAmJiAhY2VsbEVkaXQuZmlyc3RDaGFuZ2UgJiYgY2VsbEVkaXQuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzVG9GaXJzdEZvY3VzYWJsZUVsZW1lbnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVyKCk7XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQucmVuZGVyZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jb2x1bW5TZXJ2aWNlPy5jb250cm9sUmVuZGVyZWQoKTtcclxuICAgICAgICBpZiAodGhpcy5mb2N1c0NvbnRyb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5fZm9jdXNUb0ZpcnN0Rm9jdXNhYmxlRWxlbWVudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9mb2N1c1RvRmlyc3RGb2N1c2FibGVFbGVtZW50KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGVsRG9tID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBjb25zdCBmb2N1c2FibGVOb2RlTGlzdDogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4gPSBlbERvbS5xdWVyeVNlbGVjdG9yQWxsKGdldEZvY3VzYWJsZVRhZ05hbWVzKCkpO1xyXG4gICAgICAgIGxldCBmb2N1c2VkID0gZmFsc2U7XHJcbiAgICAgICAgZm9jdXNhYmxlTm9kZUxpc3QuZm9yRWFjaCgoZWw6IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhZ05hbWU6IHN0cmluZyA9IGVsLnRhZ05hbWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgIWZvY3VzZWQgJiZcclxuICAgICAgICAgICAgICAgIGVsLm9mZnNldFdpZHRoID4gMCAmJlxyXG4gICAgICAgICAgICAgICAgZWwub2Zmc2V0SGVpZ2h0ID4gMCAmJlxyXG4gICAgICAgICAgICAgICAgZWwuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpICE9PSAndHJ1ZScgJiZcclxuICAgICAgICAgICAgICAgIGVsLmdldEF0dHJpYnV0ZSgnbmctcmVmbGVjdC1kaXNhYmxlZCcpICE9PSAndHJ1ZScgJiZcclxuICAgICAgICAgICAgICAgICF0YWdOYW1lLnN0YXJ0c1dpdGgoJ2ZkcCcpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgZWwuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgIGZvY3VzZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZmlyZUNvbnRleHRFdmVudChldmVudDogc3RyaW5nLCB2YWx1ZTogYW55LCB2YWx1ZTE/OiBhbnksIHZhbHVlMj86IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoZXZlbnQsIHZhbHVlLCB2YWx1ZTEsIHZhbHVlMik7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldE1vYmlsZUNvbmZpZygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBtb2JpbGVDb25maWcgPSB0aGlzLm1vYmlsZUNvbmZpZztcclxuICAgICAgICBtb2JpbGVDb25maWcudGl0bGUgPSB0aGlzLlNldHRpbmc/LkNvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkO1xyXG4gICAgICAgIG1vYmlsZUNvbmZpZy5kaWFsb2dDb25maWcgJiYgKG1vYmlsZUNvbmZpZy5kaWFsb2dDb25maWcuYXJpYUxhYmVsID0gbW9iaWxlQ29uZmlnLnRpdGxlKTtcclxuICAgICAgICBtb2JpbGVDb25maWcuYXBwcm92ZUJ1dHRvblRleHQgPSB0aGlzLl9iYmJQaXBlLnRyYW5zZm9ybSgnT2snKTtcclxuICAgICAgICBtb2JpbGVDb25maWcuY2FuY2VsQnV0dG9uVGV4dCA9IHRoaXMuX2JiYlBpcGUudHJhbnNmb3JtKCdDYW5jZWwnKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfYWRkTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQub24pIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0Lm9uKHtcclxuICAgICAgICAgICAgICAgIENvbnRyb2xWYWx1ZUNoYW5nZWQ6IHRoaXMuX3NldFZhbHVlLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBDb250cm9sRGlzYWJsZUNoYW5nZWQ6IHRoaXMuX3NldERpc2FibGUuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIENvbnRyb2xSZWFkb25seUNoYW5nZWQ6IHRoaXMuX3NldFJlYWRvbmx5LmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBDb250cm9sUmVmcmVzaDogdGhpcy5fc2V0UmVmcmVzaC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgQ29uZmlnQ2hhbmdlZDogdGhpcy5fY29uZmlnQ2hhbmVkLmJpbmQodGhpcylcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9yZW1vdmVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC51bikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xWYWx1ZUNoYW5nZWQnLCB0aGlzLl9zZXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbERpc2FibGVDaGFuZ2VkJywgdGhpcy5fc2V0RGlzYWJsZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbFJlYWRvbmx5Q2hhbmdlZCcsIHRoaXMuX3NldFJlYWRvbmx5KTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sUmVmcmVzaCcsIHRoaXMuX3NldFJlZnJlc2gpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbmZpZ0NoYW5nZWQnLCB0aGlzLl9jb25maWdDaGFuZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfY29uZmlnQ2hhbmVkKG9wdGlvbnMpOiB2b2lkIHtcclxuICAgICAgICAvLyBpbXBsZW1lbnRlZCBieSBjaGlsZCBjb21wb25lbnRzXHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFJlZnJlc2godmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZWZyZXNoU291cmNlLm5leHQodmFsdWUpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldERpc2FibGUodmFsdWUsIGNoYW5nZURldGVjdCA9IHRydWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlQ2hhbmdlZFNvdXJjZS5uZXh0KHZhbHVlKTtcclxuICAgICAgICBpZiAoY2hhbmdlRGV0ZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRSZWFkb25seSh2YWx1ZSwgY2hhbmdlRGV0ZWN0ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlYWRvbmx5Q2hhbmdlZFNvdXJjZS5uZXh0KHZhbHVlKTtcclxuICAgICAgICBpZiAoY2hhbmdlRGV0ZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { BaseComponent } from './base.component';
|
|
2
|
-
import { formatBytes } from '../constants';
|
|
3
|
-
import { BarsaApi } from './barsa-api';
|
|
4
|
-
export class FilesValidationHelper extends BaseComponent {
|
|
5
|
-
get maxFileCount() {
|
|
6
|
-
return this._maxFileCount;
|
|
7
|
-
}
|
|
8
|
-
set maxFileCount(val) {
|
|
9
|
-
this._maxFileCount = val;
|
|
10
|
-
}
|
|
11
|
-
get maxFileSize() {
|
|
12
|
-
return this._maxFileSize;
|
|
13
|
-
}
|
|
14
|
-
set maxFileSize(val) {
|
|
15
|
-
this._maxFileSize = val * 1024;
|
|
16
|
-
}
|
|
17
|
-
get maxTotalFileSize() {
|
|
18
|
-
return this._maxTotalFileSize;
|
|
19
|
-
}
|
|
20
|
-
set maxTotalFileSize(val) {
|
|
21
|
-
this._maxTotalFileSize = val * 1024;
|
|
22
|
-
}
|
|
23
|
-
constructor(maxFileCount, maxFileSize, maxTotalFileSize) {
|
|
24
|
-
super();
|
|
25
|
-
this.maxFileCount = Number(maxFileCount);
|
|
26
|
-
this.maxFileSize = Number(maxFileSize);
|
|
27
|
-
this.maxTotalFileSize = Number(maxTotalFileSize);
|
|
28
|
-
}
|
|
29
|
-
validateFiles(files) {
|
|
30
|
-
return this._validateSize(files);
|
|
31
|
-
}
|
|
32
|
-
_validateSize(files) {
|
|
33
|
-
const totalFileSize = files.reduce((accumulator, currFile) => accumulator + currFile.size, 0);
|
|
34
|
-
const uplaodTotalSizeTooBigText = BarsaApi.BBB['Uplaod_TotalSizeTooBig'];
|
|
35
|
-
const uplaodFileTooBigText = BarsaApi.BBB['Uplaod_FileTooBig'];
|
|
36
|
-
const maxFilesExceeded = BarsaApi.BBB['Uplaod_MaxFilesExceeded'];
|
|
37
|
-
let errorMsg = '';
|
|
38
|
-
if (files.length > this.maxFileCount && this.maxFileCount > 0) {
|
|
39
|
-
errorMsg = maxFilesExceeded + `(${this.maxFileCount})`;
|
|
40
|
-
}
|
|
41
|
-
const fileReachSize = [];
|
|
42
|
-
files.forEach((file) => {
|
|
43
|
-
if (file.size > this.maxFileSize) {
|
|
44
|
-
fileReachSize.push(file);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
if (files.length > 1 && this.maxTotalFileSize > 0 && totalFileSize > this.maxTotalFileSize) {
|
|
48
|
-
errorMsg = uplaodTotalSizeTooBigText
|
|
49
|
-
?.replace('{{{filesize}}}', this._getMbSize(totalFileSize))
|
|
50
|
-
.replace('{{maxFilesize}}', this._getMbSize(this.maxTotalFileSize));
|
|
51
|
-
}
|
|
52
|
-
else if (fileReachSize.length) {
|
|
53
|
-
errorMsg += uplaodFileTooBigText
|
|
54
|
-
?.replace('{{{filesize}}}', this._getMbSize(fileReachSize[0].size))
|
|
55
|
-
.replace('{{maxFilesize}}', this._getMbSize(this.maxFileSize));
|
|
56
|
-
errorMsg +=
|
|
57
|
-
`<br/>` +
|
|
58
|
-
fileReachSize
|
|
59
|
-
.map((c, index) => `<div class="file-validation" ><strong>${index + 1}-</strong><strong>${c.name}</strong></div>`)
|
|
60
|
-
.join('<br/>');
|
|
61
|
-
}
|
|
62
|
-
if (errorMsg) {
|
|
63
|
-
BarsaApi.Ul.MsgBox.Error(errorMsg, () => { });
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
_getKbSize(size) {
|
|
69
|
-
return formatBytes(size, 2, 'KB');
|
|
70
|
-
}
|
|
71
|
-
_getMbSize(size) {
|
|
72
|
-
return formatBytes(size, 2, 'MB');
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdmFsaWRhdGlvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvZmlsZXMtdmFsaWRhdGlvbi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQUtwRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEdBQVc7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsR0FBVztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEdBQVc7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQVksWUFBb0IsRUFBRSxXQUFtQixFQUFFLGdCQUF3QjtRQUMzRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFX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VyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNPLFVBQVUsQ0FBQyxJQUFJO1FBQ25CLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZm9ybWF0Qnl0ZXMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XG5cbmV4cG9ydCBjbGFzcyBGaWxlc1ZhbGlkYXRpb25IZWxwZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBfbWF4RmlsZUNvdW50OiBudW1iZXI7XG4gICAgX21heEZpbGVTaXplOiBudW1iZXI7XG4gICAgX21heFRvdGFsRmlsZVNpemU6IG51bWJlcjtcblxuICAgIGdldCBtYXhGaWxlQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heEZpbGVDb3VudDtcbiAgICB9XG4gICAgc2V0IG1heEZpbGVDb3VudCh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tYXhGaWxlQ291bnQgPSB2YWw7XG4gICAgfVxuICAgIGdldCBtYXhGaWxlU2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4RmlsZVNpemU7XG4gICAgfVxuICAgIHNldCBtYXhGaWxlU2l6ZSh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tYXhGaWxlU2l6ZSA9IHZhbCAqIDEwMjQ7XG4gICAgfVxuICAgIGdldCBtYXhUb3RhbEZpbGVTaXplKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhUb3RhbEZpbGVTaXplO1xuICAgIH1cbiAgICBzZXQgbWF4VG90YWxGaWxlU2l6ZSh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tYXhUb3RhbEZpbGVTaXplID0gdmFsICogMTAyNDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihtYXhGaWxlQ291bnQ6IG51bWJlciwgbWF4RmlsZVNpemU6IG51bWJlciwgbWF4VG90YWxGaWxlU2l6ZTogbnVtYmVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubWF4RmlsZUNvdW50ID0gTnVtYmVyKG1heEZpbGVDb3VudCk7XG4gICAgICAgIHRoaXMubWF4RmlsZVNpemUgPSBOdW1iZXIobWF4RmlsZVNpemUpO1xuICAgICAgICB0aGlzLm1heFRvdGFsRmlsZVNpemUgPSBOdW1iZXIobWF4VG90YWxGaWxlU2l6ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlRmlsZXMoZmlsZXM6IEZpbGVbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGVTaXplKGZpbGVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGF0ZVNpemUoZmlsZXM6IEZpbGVbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB0b3RhbEZpbGVTaXplID0gZmlsZXMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VyckZpbGUpID0+IGFjY3VtdWxhdG9yICsgY3VyckZpbGUuc2l6ZSwgMCk7XG4gICAgICAgIGNvbnN0IHVwbGFvZFRvdGFsU2l6ZVRvb0JpZ1RleHQgPSBCYXJzYUFwaS5CQkJbJ1VwbGFvZF9Ub3RhbFNpemVUb29CaWcnXTtcbiAgICAgICAgY29uc3QgdXBsYW9kRmlsZVRvb0JpZ1RleHQgPSBCYXJzYUFwaS5CQkJbJ1VwbGFvZF9GaWxlVG9vQmlnJ107XG4gICAgICAgIGNvbnN0IG1heEZpbGVzRXhjZWVkZWQgPSBCYXJzYUFwaS5CQkJbJ1VwbGFvZF9NYXhGaWxlc0V4Y2VlZGVkJ107XG5cbiAgICAgICAgbGV0IGVycm9yTXNnID0gJyc7XG4gICAgICAgIGlmIChmaWxlcy5sZW5ndGggPiB0aGlzLm1heEZpbGVDb3VudCAmJiB0aGlzLm1heEZpbGVDb3VudCA+IDApIHtcbiAgICAgICAgICAgIGVycm9yTXNnID0gbWF4RmlsZXNFeGNlZWRlZCArIGAoJHt0aGlzLm1heEZpbGVDb3VudH0pYDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlUmVhY2hTaXplOiBGaWxlW10gPSBbXTtcbiAgICAgICAgZmlsZXMuZm9yRWFjaCgoZmlsZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IHRoaXMubWF4RmlsZVNpemUpIHtcbiAgICAgICAgICAgICAgICBmaWxlUmVhY2hTaXplLnB1c2goZmlsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoID4gMSAmJiB0aGlzLm1heFRvdGFsRmlsZVNpemUgPiAwICYmIHRvdGFsRmlsZVNpemUgPiB0aGlzLm1heFRvdGFsRmlsZVNpemUpIHtcbiAgICAgICAgICAgIGVycm9yTXNnID0gdXBsYW9kVG90YWxTaXplVG9vQmlnVGV4dFxuICAgICAgICAgICAgICAgID8ucmVwbGFjZSgne3t7ZmlsZXNpemV9fX0nLCB0aGlzLl9nZXRNYlNpemUodG90YWxGaWxlU2l6ZSkpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoJ3t7bWF4RmlsZXNpemV9fScsIHRoaXMuX2dldE1iU2l6ZSh0aGlzLm1heFRvdGFsRmlsZVNpemUpKTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWxlUmVhY2hTaXplLmxlbmd0aCkge1xuICAgICAgICAgICAgZXJyb3JNc2cgKz0gdXBsYW9kRmlsZVRvb0JpZ1RleHRcbiAgICAgICAgICAgICAgICA/LnJlcGxhY2UoJ3t7e2ZpbGVzaXplfX19JywgdGhpcy5fZ2V0TWJTaXplKGZpbGVSZWFjaFNpemVbMF0uc2l6ZSkpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoJ3t7bWF4RmlsZXNpemV9fScsIHRoaXMuX2dldE1iU2l6ZSh0aGlzLm1heEZpbGVTaXplKSk7XG4gICAgICAgICAgICBlcnJvck1zZyArPVxuICAgICAgICAgICAgICAgIGA8YnIvPmAgK1xuICAgICAgICAgICAgICAgIGZpbGVSZWFjaFNpemVcbiAgICAgICAgICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChjLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgPGRpdiBjbGFzcz1cImZpbGUtdmFsaWRhdGlvblwiID48c3Ryb25nPiR7aW5kZXggKyAxfS08L3N0cm9uZz48c3Ryb25nPiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH08L3N0cm9uZz48L2Rpdj5gXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJzxici8+Jyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yTXNnKSB7XG4gICAgICAgICAgICBCYXJzYUFwaS5VbC5Nc2dCb3guRXJyb3IoZXJyb3JNc2csICgpID0+IHt9KTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZ2V0S2JTaXplKHNpemUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZm9ybWF0Qnl0ZXMoc2l6ZSwgMiwgJ0tCJyk7XG4gICAgfVxuICAgIHByaXZhdGUgX2dldE1iU2l6ZShzaXplKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdEJ5dGVzKHNpemUsIDIsICdNQicpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { Input, Component, Output, EventEmitter, ChangeDetectionStrategy, Self, HostBinding } from '@angular/core';
|
|
2
|
-
import { filter, map, takeUntil, merge } from 'rxjs/operators';
|
|
3
|
-
import { BaseComponent } from './base.component';
|
|
4
|
-
import { getDeviceIsMobile, getParentHeight, getUniqueId } from '../constants';
|
|
5
|
-
import { BarsaApi } from './barsa-api';
|
|
6
|
-
import { fromIntersectionObserver } from '../from-intersection-observer';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../services";
|
|
9
|
-
import * as i2 from "@angular/router";
|
|
10
|
-
import * as i3 from "../pipes";
|
|
11
|
-
import * as i4 from "../services/form-panel.service";
|
|
12
|
-
export class FormBaseComponent extends BaseComponent {
|
|
13
|
-
constructor(_breadcrumbService, _portalService, _router, _el, _controlUiPipe, _formPanelService, _activatedRoute, _cdr) {
|
|
14
|
-
super();
|
|
15
|
-
this._breadcrumbService = _breadcrumbService;
|
|
16
|
-
this._portalService = _portalService;
|
|
17
|
-
this._router = _router;
|
|
18
|
-
this._el = _el;
|
|
19
|
-
this._controlUiPipe = _controlUiPipe;
|
|
20
|
-
this._formPanelService = _formPanelService;
|
|
21
|
-
this._activatedRoute = _activatedRoute;
|
|
22
|
-
this._cdr = _cdr;
|
|
23
|
-
this.id = `form_${getUniqueId(4)}`;
|
|
24
|
-
this.fullscreen = false;
|
|
25
|
-
this.formClose = new EventEmitter();
|
|
26
|
-
this._formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
|
|
27
|
-
this.isSearchPanel = isSearchPanel;
|
|
28
|
-
});
|
|
29
|
-
this.hideClose$ = this._formPanelService.hideClose$;
|
|
30
|
-
this.hideTitle$ = this._formPanelService.hideTitle$;
|
|
31
|
-
this.hidePin$ = this._formPanelService.hidePin$;
|
|
32
|
-
this.toolbarVisible$ = this._formPanelService.toolbarVisible$;
|
|
33
|
-
this.title$ = this._formPanelService.title$.pipe(map((title) => (!title ? '' : getDeviceIsMobile() ? title.split(':')[0] : title)));
|
|
34
|
-
this.toolbarItems$ = this._formPanelService.toolbarItems$;
|
|
35
|
-
this.workflowButtons$ = this._formPanelService.workflowButtons$;
|
|
36
|
-
this.headerLayout$ = this._formPanelService.headerLayout$;
|
|
37
|
-
this.layout94$ = this._formPanelService.layout$;
|
|
38
|
-
this.maxContentWidth$ = this._formPanelService.maxContentWidth$;
|
|
39
|
-
this.formWidth$ = this._formPanelService.formWidth$;
|
|
40
|
-
this.headerSubtitle$ = this._formPanelService.headerSubtitle$;
|
|
41
|
-
this.avatar$ = this._formPanelService.avatar$;
|
|
42
|
-
this.circleAvatar$ = this._formPanelService.circleAvatar$;
|
|
43
|
-
this.workflowPanelUi$ = this._formPanelService.workflowPanelUi$;
|
|
44
|
-
this.view$ = this._formPanelService.view$;
|
|
45
|
-
this.mo$ = this._formPanelService.mo$;
|
|
46
|
-
this.fieldDict$ = this._formPanelService.fieldDict$;
|
|
47
|
-
this.isSimple$ = this._formPanelService.isSimpleForm$;
|
|
48
|
-
this.mask$ = this._formPanelService.mask$;
|
|
49
|
-
this.headerDescription$ = this._formPanelService.headerDescription$;
|
|
50
|
-
this.headerRemoveContentPadding$ = this._formPanelService.headerRemoveContentPadding$;
|
|
51
|
-
this._formPanelService.context$.pipe(takeUntil(this._onDestroy$)).subscribe();
|
|
52
|
-
this._formPanelService.view$.pipe(takeUntil(this._onDestroy$)).subscribe();
|
|
53
|
-
this.landscape$ = this._portalService.landscape$;
|
|
54
|
-
this.standalone$ = this._portalService.standalone$;
|
|
55
|
-
this._portalService.standalone$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => (this._standalone = c));
|
|
56
|
-
}
|
|
57
|
-
get forceClose$() {
|
|
58
|
-
return this._formPanelService.forceClose$;
|
|
59
|
-
}
|
|
60
|
-
ngOnInit() {
|
|
61
|
-
super.ngOnInit();
|
|
62
|
-
this._formPanelService.context = this.context;
|
|
63
|
-
this.isMobile = getDeviceIsMobile();
|
|
64
|
-
this.listFieldUi = this.context._dictFieldUi;
|
|
65
|
-
this.isModal = this.context.Setting?.IsModal;
|
|
66
|
-
this.isSubForm = this.context.IsSubForm;
|
|
67
|
-
this.isFormReport = this.context.IsFormReport;
|
|
68
|
-
this._setParamters();
|
|
69
|
-
this.modernTabs$ = this.layout94$.pipe(filter((c) => c), map((layout94) => (this.layout94 = layout94)),
|
|
70
|
-
/* eslint-disable */
|
|
71
|
-
merge(this._formPanelService.groupLayout$), map((_) => {
|
|
72
|
-
if (this.layout94.items[0].xtype !== 'Ly.LayoutTabPanel') {
|
|
73
|
-
return [];
|
|
74
|
-
}
|
|
75
|
-
const tabs = this.layout94.items[0].items;
|
|
76
|
-
return tabs.filter((c) => c.Visible !== false);
|
|
77
|
-
}));
|
|
78
|
-
setTimeout(() => {
|
|
79
|
-
this.obtainHeight();
|
|
80
|
-
}, 0);
|
|
81
|
-
this._portalService.windowResize$.subscribe((e) => {
|
|
82
|
-
this.obtainHeight();
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
ngAfterViewInit() {
|
|
86
|
-
super.ngAfterViewInit();
|
|
87
|
-
if (this.isMobile) {
|
|
88
|
-
this._formIntersection = fromIntersectionObserver(this._el.nativeElement, {
|
|
89
|
-
root: null,
|
|
90
|
-
rootMargin: '0px',
|
|
91
|
-
threshold: 0
|
|
92
|
-
}, 100, false)
|
|
93
|
-
.pipe(takeUntil(this._onDestroy$))
|
|
94
|
-
.subscribe((e) => {
|
|
95
|
-
this._onInView(e);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
ngOnDestroy() {
|
|
100
|
-
super.ngOnDestroy();
|
|
101
|
-
if (this._formIntersection) {
|
|
102
|
-
this._formIntersection.unsubscribe();
|
|
103
|
-
}
|
|
104
|
-
this._formPanelService.destroy();
|
|
105
|
-
}
|
|
106
|
-
onClose() {
|
|
107
|
-
this.context.fireEvent('RequestForClose', this.context);
|
|
108
|
-
}
|
|
109
|
-
onFullscreen() {
|
|
110
|
-
this.fullscreen = !this.fullscreen;
|
|
111
|
-
}
|
|
112
|
-
onToolbarClick(btn) {
|
|
113
|
-
this._formPanelService.toolbarClick(btn);
|
|
114
|
-
}
|
|
115
|
-
onWorkflowChoiceClick(wfChoice) {
|
|
116
|
-
this._formPanelService.wfChoice(wfChoice);
|
|
117
|
-
}
|
|
118
|
-
fieldChange(fieldName, value) {
|
|
119
|
-
const fieldUi = this.context._listFieldUi.find((c) => c.Setting.ControlName === fieldName);
|
|
120
|
-
fieldUi.value = value;
|
|
121
|
-
fieldUi.fireEvent('change', fieldUi);
|
|
122
|
-
}
|
|
123
|
-
searchClick() {
|
|
124
|
-
const fieldUi = this.context._listFieldUi.find((c) => c.originalXtype === 'Ui.SearchCommandInfoUi');
|
|
125
|
-
fieldUi.fireEvent(BarsaApi.Ul.FormPanelCtrlr.EventEnum.SearchClick, fieldUi);
|
|
126
|
-
}
|
|
127
|
-
_onInView(e) {
|
|
128
|
-
if (this.isMobile) {
|
|
129
|
-
this.formVisibilityStatus = e;
|
|
130
|
-
this._cdr.detectChanges();
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
obtainHeight() {
|
|
134
|
-
const parentHeight = getParentHeight(this._el.nativeElement);
|
|
135
|
-
this._formPanelService.setFormHeight(parentHeight);
|
|
136
|
-
}
|
|
137
|
-
_setParamters() {
|
|
138
|
-
this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.View.CustomUi.Parameters', null);
|
|
139
|
-
}
|
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormBaseComponent, deps: [{ token: i1.BreadcrumbService }, { token: i1.PortalService }, { token: i2.Router }, { token: i0.ElementRef }, { token: i3.ControlUiPipe }, { token: i4.FormPanelService, self: true }, { token: i2.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormBaseComponent, selector: "bnrc-form-base", inputs: { context: "context" }, outputs: { formClose: "formClose" }, host: { properties: { "attr.id": "this.id", "class.fullscreen": "this.fullscreen" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
142
|
-
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormBaseComponent, decorators: [{
|
|
144
|
-
type: Component,
|
|
145
|
-
args: [{
|
|
146
|
-
selector: 'bnrc-form-base',
|
|
147
|
-
template: '',
|
|
148
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
149
|
-
standalone: false
|
|
150
|
-
}]
|
|
151
|
-
}], ctorParameters: () => [{ type: i1.BreadcrumbService }, { type: i1.PortalService }, { type: i2.Router }, { type: i0.ElementRef }, { type: i3.ControlUiPipe }, { type: i4.FormPanelService, decorators: [{
|
|
152
|
-
type: Self
|
|
153
|
-
}] }, { type: i2.ActivatedRoute }, { type: i0.ChangeDetectorRef }], propDecorators: { id: [{
|
|
154
|
-
type: HostBinding,
|
|
155
|
-
args: ['attr.id']
|
|
156
|
-
}], fullscreen: [{
|
|
157
|
-
type: HostBinding,
|
|
158
|
-
args: ['class.fullscreen']
|
|
159
|
-
}], context: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], formClose: [{
|
|
162
|
-
type: Output
|
|
163
|
-
}] } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUV2QixJQUFJLEVBRUosV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVl2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBUXpFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBcURoRCxZQUNjLGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixPQUFlLEVBQ2YsR0FBZSxFQUNmLGNBQTZCLEVBQ3JCLGlCQUFtQyxFQUMzQyxlQUErQixFQUMvQixJQUF1QjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQVRFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQzNDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixT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R0FBakIsaUJBQWlCLHlPQUpoQixFQUFFOzs0RkFJSCxpQkFBaUI7a0JBTjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs7MEJBNERRLElBQUk7c0dBMURlLEVBQUU7c0JBQXpCLFdBQVc7dUJBQUMsU0FBUztnQkFDVyxVQUFVO3NCQUExQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFdEIsT0FBTztzQkFBZixLQUFLO2dCQUtJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgSW5wdXQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBTZWxmLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBIb3N0QmluZGluZ1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwsIG1lcmdlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBnZXREZXZpY2VJc01vYmlsZSwgZ2V0UGFyZW50SGVpZ2h0LCBnZXRVbmlxdWVJZCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEZvcm1QYW5lbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLXBhbmVsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcclxuaW1wb3J0IHtcclxuICAgIEZvcm1TZXR0aW5nLFxyXG4gICAgRm9ybVZpZXdTZXR0aW5nLFxyXG4gICAgRm9ybVZpc2liaWxpdHlTdGF0dXMsXHJcbiAgICBJSGVhZGVyTGF5b3V0LFxyXG4gICAgTGF5b3V0U2V0dGluZyxcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWxcclxufSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJTZXJ2aWNlLCBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDb250cm9sVWlQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZnJvbUludGVyc2VjdGlvbk9ic2VydmVyIH0gZnJvbSAnLi4vZnJvbS1pbnRlcnNlY3Rpb24tb2JzZXJ2ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JucmMtZm9ybS1iYXNlJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1CYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkID0gYGZvcm1fJHtnZXRVbmlxdWVJZCg0KX1gO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsc2NyZWVuJykgZnVsbHNjcmVlbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbnRleHQ6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICAgICAgY29uZmlnOiBhbnk7XHJcbiAgICAgICAgU2V0dGluZzogRm9ybVNldHRpbmc7XHJcbiAgICB9O1xyXG4gICAgQE91dHB1dCgpIGZvcm1DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIGxpc3RGaWVsZFVpOiBhbnk7XHJcbiAgICBpc1dpemFyZDogYm9vbGVhbjtcclxuICAgIHBhcmFtZXRlcnM6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBpc01vYmlsZTogYm9vbGVhbjtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPCdzJyB8ICdtJyB8ICdsJyB8ICd4bCc+O1xyXG4gICAgZGlyVmFsdWUkOiBPYnNlcnZhYmxlPCdydGwnIHwgJ2x0cic+O1xyXG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHRvb2xiYXJWaXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGhpZGVDbG9zZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlVGl0bGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaGlkZVBpbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHRvb2xiYXJJdGVtcyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG4gICAgd29ya2Zsb3dCdXR0b25zJDogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgICBoZWFkZXJMYXlvdXQkOiBPYnNlcnZhYmxlPElIZWFkZXJMYXlvdXQgfCBudWxsPjtcclxuICAgIGxheW91dDk0JDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgbGF5b3V0OTQ6IGFueTtcclxuICAgIG1heENvbnRlbnRXaWR0aCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIGZvcm1XaWR0aCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIGhlYWRlckRlc2NyaXB0aW9uJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaGVhZGVyU3VidGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBhdmF0YXIkOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBjaXJjbGVBdmF0YXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZXh0ZW5kVG9vbGJhckl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgICB3b3JrZmxvd1BhbmVsVWkkOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICB2aWV3JDogT2JzZXJ2YWJsZTxGb3JtVmlld1NldHRpbmc+O1xyXG4gICAgbW8kOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsPjtcclxuICAgIGlzU2ltcGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGZpZWxkRGljdCQ6IE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8IHVuZGVmaW5lZD47XHJcbiAgICBtYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGlzU2VhcmNoUGFuZWw6IGJvb2xlYW47XHJcbiAgICBpc01vZGFsOiBib29sZWFuO1xyXG4gICAgaXNTdWJGb3JtOiBib29sZWFuO1xyXG4gICAgbW9kZXJuVGFicyQ6IE9ic2VydmFibGU8TGF5b3V0U2V0dGluZ1tdPjtcclxuICAgIGlzRm9ybVJlcG9ydDogYm9vbGVhbjtcclxuICAgIGxhbmRzY2FwZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBzdGFuZGFsb25lJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHByb3RlY3RlZCBfc3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQ7XHJcbiAgICBwcm90ZWN0ZWQgX3N0YW5kYWxvbmU6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIF9mb3JtSW50ZXJzZWN0aW9uOiBhbnk7XHJcbiAgICBmb3JtVmlzaWJpbGl0eVN0YXR1czogRm9ybVZpc2liaWxpdHlTdGF0dXM7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9icmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX2NvbnRyb2xVaVBpcGU6IENvbnRyb2xVaVBpcGUsXHJcbiAgICAgICAgQFNlbGYoKSBwcm90ZWN0ZWQgX2Zvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaXNTZWFyY2hQYW5lbCQuc3Vic2NyaWJlKChpc1NlYXJjaFBhbmVsKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCA9IGlzU2VhcmNoUGFuZWw7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5oaWRlQ2xvc2UkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oaWRlQ2xvc2UkO1xyXG4gICAgICAgIHRoaXMuaGlkZVRpdGxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGlkZVRpdGxlJDtcclxuICAgICAgICB0aGlzLmhpZGVQaW4kID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oaWRlUGluJDtcclxuICAgICAgICB0aGlzLnRvb2xiYXJWaXNpYmxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudG9vbGJhclZpc2libGUkO1xyXG4gICAgICAgIHRoaXMudGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50aXRsZSQucGlwZShcclxuICAgICAgICAgICAgbWFwKCh0aXRsZSkgPT4gKCF0aXRsZSA/ICcnIDogZ2V0RGV2aWNlSXNNb2JpbGUoKSA/IHRpdGxlLnNwbGl0KCc6JylbMF0gOiB0aXRsZSkpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnRvb2xiYXJJdGVtcyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnRvb2xiYXJJdGVtcyQ7XHJcbiAgICAgICAgdGhpcy53b3JrZmxvd0J1dHRvbnMkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS53b3JrZmxvd0J1dHRvbnMkO1xyXG4gICAgICAgIHRoaXMuaGVhZGVyTGF5b3V0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGVhZGVyTGF5b3V0JDtcclxuICAgICAgICB0aGlzLmxheW91dDk0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubGF5b3V0JDtcclxuICAgICAgICB0aGlzLm1heENvbnRlbnRXaWR0aCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLm1heENvbnRlbnRXaWR0aCQ7XHJcbiAgICAgICAgdGhpcy5mb3JtV2lkdGgkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5mb3JtV2lkdGgkO1xyXG4gICAgICAgIHRoaXMuaGVhZGVyU3VidGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJTdWJ0aXRsZSQ7XHJcbiAgICAgICAgdGhpcy5hdmF0YXIkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5hdmF0YXIkO1xyXG4gICAgICAgIHRoaXMuY2lyY2xlQXZhdGFyJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY2lyY2xlQXZhdGFyJDtcclxuICAgICAgICB0aGlzLndvcmtmbG93UGFuZWxVaSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLndvcmtmbG93UGFuZWxVaSQ7XHJcbiAgICAgICAgdGhpcy52aWV3JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudmlldyQ7XHJcbiAgICAgICAgdGhpcy5tbyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLm1vJDtcclxuICAgICAgICB0aGlzLmZpZWxkRGljdCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZpZWxkRGljdCQ7XHJcbiAgICAgICAgdGhpcy5pc1NpbXBsZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmlzU2ltcGxlRm9ybSQ7XHJcbiAgICAgICAgdGhpcy5tYXNrJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubWFzayQ7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJEZXNjcmlwdGlvbiQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhlYWRlckRlc2NyaXB0aW9uJDtcclxuICAgICAgICB0aGlzLmhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckO1xyXG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY29udGV4dCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudmlldyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMubGFuZHNjYXBlJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UubGFuZHNjYXBlJDtcclxuICAgICAgICB0aGlzLnN0YW5kYWxvbmUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJDtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnN0YW5kYWxvbmUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGMpID0+ICh0aGlzLl9zdGFuZGFsb25lID0gYykpO1xyXG4gICAgfVxyXG4gICAgZ2V0IGZvcmNlQ2xvc2UkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZvcmNlQ2xvc2UkO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0ID0gdGhpcy5jb250ZXh0O1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xyXG4gICAgICAgIHRoaXMubGlzdEZpZWxkVWkgPSB0aGlzLmNvbnRleHQuX2RpY3RGaWVsZFVpO1xyXG5cclxuICAgICAgICB0aGlzLmlzTW9kYWwgPSB0aGlzLmNvbnRleHQuU2V0dGluZz8uSXNNb2RhbDtcclxuICAgICAgICB0aGlzLmlzU3ViRm9ybSA9IHRoaXMuY29udGV4dC5Jc1N1YkZvcm07XHJcbiAgICAgICAgdGhpcy5pc0Zvcm1SZXBvcnQgPSB0aGlzLmNvbnRleHQuSXNGb3JtUmVwb3J0O1xyXG4gICAgICAgIHRoaXMuX3NldFBhcmFtdGVycygpO1xyXG4gICAgICAgIHRoaXMubW9kZXJuVGFicyQgPSB0aGlzLmxheW91dDk0JC5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIoKGMpID0+IGMpLFxyXG4gICAgICAgICAgICBtYXAoKGxheW91dDk0KSA9PiAodGhpcy5sYXlvdXQ5NCA9IGxheW91dDk0KSksXHJcbiAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICAgICAgICAgIG1lcmdlKHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuZ3JvdXBMYXlvdXQkKSxcclxuICAgICAgICAgICAgbWFwKChfKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sYXlvdXQ5NC5pdGVtc1swXS54dHlwZSAhPT0gJ0x5LkxheW91dFRhYlBhbmVsJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IHRhYnM6IExheW91dFNldHRpbmdbXSA9IHRoaXMubGF5b3V0OTQuaXRlbXNbMF0uaXRlbXM7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFicy5maWx0ZXIoKGMpID0+IGMuVmlzaWJsZSAhPT0gZmFsc2UpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub2J0YWluSGVpZ2h0KCk7XHJcbiAgICAgICAgfSwgMCk7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9idGFpbkhlaWdodCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1JbnRlcnNlY3Rpb24gPSBmcm9tSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHJvb3Q6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgcm9vdE1hcmdpbjogJzBweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkOiAwXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgMTAwLFxyXG4gICAgICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uSW5WaWV3KGUpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2Zvcm1JbnRlcnNlY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5fZm9ybUludGVyc2VjdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmRlc3Ryb3koKTtcclxuICAgIH1cclxuICAgIG9uQ2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnUmVxdWVzdEZvckNsb3NlJywgdGhpcy5jb250ZXh0KTtcclxuICAgIH1cclxuICAgIG9uRnVsbHNjcmVlbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZ1bGxzY3JlZW4gPSAhdGhpcy5mdWxsc2NyZWVuO1xyXG4gICAgfVxyXG4gICAgb25Ub29sYmFyQ2xpY2soYnRuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS50b29sYmFyQ2xpY2soYnRuKTtcclxuICAgIH1cclxuICAgIG9uV29ya2Zsb3dDaG9pY2VDbGljayh3ZkNob2ljZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uud2ZDaG9pY2Uod2ZDaG9pY2UpO1xyXG4gICAgfVxyXG4gICAgZmllbGRDaGFuZ2UoZmllbGROYW1lLCB2YWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpZWxkVWkgPSB0aGlzLmNvbnRleHQuX2xpc3RGaWVsZFVpLmZpbmQoKGMpID0+IGMuU2V0dGluZy5Db250cm9sTmFtZSA9PT0gZmllbGROYW1lKTtcclxuICAgICAgICBmaWVsZFVpLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgZmllbGRVaS5maXJlRXZlbnQoJ2NoYW5nZScsIGZpZWxkVWkpO1xyXG4gICAgfVxyXG4gICAgc2VhcmNoQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZmllbGRVaSA9IHRoaXMuY29udGV4dC5fbGlzdEZpZWxkVWkuZmluZCgoYykgPT4gYy5vcmlnaW5hbFh0eXBlID09PSAnVWkuU2VhcmNoQ29tbWFuZEluZm9VaScpO1xyXG5cclxuICAgICAgICBmaWVsZFVpLmZpcmVFdmVudChCYXJzYUFwaS5VbC5Gb3JtUGFuZWxDdHJsci5FdmVudEVudW0uU2VhcmNoQ2xpY2ssIGZpZWxkVWkpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9vbkluVmlldyhlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtVmlzaWJpbGl0eVN0YXR1cyA9IGU7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvYnRhaW5IZWlnaHQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgcGFyZW50SGVpZ2h0ID0gZ2V0UGFyZW50SGVpZ2h0KHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uuc2V0Rm9ybUhlaWdodChwYXJlbnRIZWlnaHQpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfc2V0UGFyYW10ZXJzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuVmlldy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|