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,201 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { FieldBaseComponent } from './field-base';
|
|
3
|
-
import { BarsaApi } from './barsa-api';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class NumberBaseComponent extends FieldBaseComponent {
|
|
6
|
-
get decimalPrecision() {
|
|
7
|
-
const decimalPrecision = Number(this.Setting.DecimalPrecision);
|
|
8
|
-
if (isNaN(decimalPrecision)) {
|
|
9
|
-
return 0;
|
|
10
|
-
}
|
|
11
|
-
return decimalPrecision;
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
this._updateBySetting();
|
|
16
|
-
}
|
|
17
|
-
ngOnDestroy() {
|
|
18
|
-
this._clearInterval();
|
|
19
|
-
super.ngOnDestroy();
|
|
20
|
-
}
|
|
21
|
-
onKeyDown(e) {
|
|
22
|
-
const isCharacter = this._isCharacter(e);
|
|
23
|
-
if (!isCharacter) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const isValid = new RegExp('^[0-9,.,-]*$').test(e.currentTarget.value + e.key);
|
|
27
|
-
if (!isValid || e.key === '.') {
|
|
28
|
-
if (e.key === '.' && this.inputElement && this.decimalPrecision > 0) {
|
|
29
|
-
const cursorPosition = this.inputElement.value.indexOf('.');
|
|
30
|
-
this._setCursorPosition(cursorPosition + 1);
|
|
31
|
-
}
|
|
32
|
-
e.preventDefault();
|
|
33
|
-
e.stopPropagation();
|
|
34
|
-
}
|
|
35
|
-
else if (isValid && this.inputElement) {
|
|
36
|
-
// در صورتی که عدد قبل از منفی قرار گیرد
|
|
37
|
-
const cursorPosition = this.inputElement.value.indexOf('-');
|
|
38
|
-
if (cursorPosition > -1 && this.inputElement.selectionStart === 0 && this.inputElement.selectionEnd === 0) {
|
|
39
|
-
e.preventDefault();
|
|
40
|
-
e.stopPropagation();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
if (e.key === '-' && this.inputElement) {
|
|
44
|
-
const cursorPosition = this.inputElement.value.indexOf('-');
|
|
45
|
-
if (cursorPosition < 0 && this.inputElement.selectionStart === 0) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
this._setCursorPosition(cursorPosition + 1);
|
|
49
|
-
e.preventDefault();
|
|
50
|
-
e.stopPropagation();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
onValueChange(e) {
|
|
54
|
-
const text = e.currentTarget?.value || '';
|
|
55
|
-
this.reFormatValue(text, e);
|
|
56
|
-
}
|
|
57
|
-
_updateBySetting() {
|
|
58
|
-
if (this.inputElement) {
|
|
59
|
-
const formated = this._getFormated(this.value).toString();
|
|
60
|
-
this.inputElement.value = formated;
|
|
61
|
-
}
|
|
62
|
-
this.hasMask =
|
|
63
|
-
BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ShowThousandSeperator', false) ||
|
|
64
|
-
BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.DecimalPrecision', 0) > 0;
|
|
65
|
-
}
|
|
66
|
-
_configChaned(options) {
|
|
67
|
-
// implemented by child components
|
|
68
|
-
this._updateBySetting();
|
|
69
|
-
this._cdr.detectChanges();
|
|
70
|
-
}
|
|
71
|
-
_setValue(value) {
|
|
72
|
-
super._setValue(value);
|
|
73
|
-
this.reFormatValue(this.value, { target: this.inputElement });
|
|
74
|
-
}
|
|
75
|
-
_clearInterval() {
|
|
76
|
-
if (this.tickRef) {
|
|
77
|
-
clearInterval(this.tickRef);
|
|
78
|
-
this.tickRef = null;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
_isCharacter(evt) {
|
|
82
|
-
if (typeof evt.which === 'undefined') {
|
|
83
|
-
return true;
|
|
84
|
-
}
|
|
85
|
-
else if (typeof evt.which === 'number' && evt.which > 0) {
|
|
86
|
-
return !evt.ctrlKey && !evt.metaKey && !evt.altKey && evt.which !== 8 && evt.key.length === 1;
|
|
87
|
-
}
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
_getFormated(val) {
|
|
91
|
-
return this._numeralPipe.transform(val, this.decimalPrecision, this.Setting.ShowThousandSeperator).toString();
|
|
92
|
-
}
|
|
93
|
-
_setCursorPosition(cursorPosition) {
|
|
94
|
-
if (this.inputElement) {
|
|
95
|
-
if (cursorPosition > this.inputElement.value.length && this.decimalPrecision) {
|
|
96
|
-
cursorPosition = this.inputElement.value.length;
|
|
97
|
-
}
|
|
98
|
-
this.inputElement.setSelectionRange(cursorPosition, cursorPosition);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
reFormatValue(text, e) {
|
|
102
|
-
let newVal;
|
|
103
|
-
if (typeof text === 'number') {
|
|
104
|
-
if (text === this.value) {
|
|
105
|
-
this._syncInputElementValue(this.value, e);
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
text = text.toString();
|
|
109
|
-
}
|
|
110
|
-
if (typeof text === 'undefined' && typeof this.value === 'undefined') {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
const isMinus = text?.startsWith('-');
|
|
114
|
-
text = isMinus ? text?.substring(1, text.length) : text;
|
|
115
|
-
if (text) {
|
|
116
|
-
let indexofDot = text.indexOf('.');
|
|
117
|
-
const selectionStart = this.inputElement?.selectionStart;
|
|
118
|
-
const decimalPersicion = this.decimalPrecision;
|
|
119
|
-
if (decimalPersicion) {
|
|
120
|
-
const t = text.length - (indexofDot + 1);
|
|
121
|
-
if (t > decimalPersicion) {
|
|
122
|
-
const diff = t - decimalPersicion;
|
|
123
|
-
if (selectionStart && selectionStart < text.length) {
|
|
124
|
-
// text = text.substring(0, text.length - diff);
|
|
125
|
-
text =
|
|
126
|
-
text.substring(0, selectionStart) +
|
|
127
|
-
text.substring(selectionStart + 1, selectionStart + 1 + text.length - diff);
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
text = text.substring(0, text.length - 1);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
let formated = this._getFormated(text).toString();
|
|
135
|
-
newVal = this._numeralPipe.getValue(formated);
|
|
136
|
-
let indexOfDotFormated = formated.indexOf('.');
|
|
137
|
-
if (decimalPersicion === 0) {
|
|
138
|
-
indexofDot = text.length;
|
|
139
|
-
indexOfDotFormated = formated.length;
|
|
140
|
-
}
|
|
141
|
-
if (this.hasMask) {
|
|
142
|
-
let cursorPosition = this.inputElement?.selectionStart;
|
|
143
|
-
let diff = 0;
|
|
144
|
-
if (indexofDot < 0 && decimalPersicion > 0) {
|
|
145
|
-
formated = this._getFormated(text);
|
|
146
|
-
newVal = this._numeralPipe.getValue(formated);
|
|
147
|
-
}
|
|
148
|
-
else if (cursorPosition != null && cursorPosition <= indexofDot) {
|
|
149
|
-
diff = indexOfDotFormated - indexofDot;
|
|
150
|
-
cursorPosition += diff;
|
|
151
|
-
}
|
|
152
|
-
if (this.inputElement && this.inputElement.value !== formated) {
|
|
153
|
-
this.inputElement.value = this._getMinusValue(isMinus, formated);
|
|
154
|
-
}
|
|
155
|
-
if (e.target.value !== formated) {
|
|
156
|
-
e.target.value = this._getMinusValue(isMinus, formated);
|
|
157
|
-
}
|
|
158
|
-
this._setCursorPosition(cursorPosition);
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
if (this.inputElement) {
|
|
162
|
-
this.inputElement.value = this._getMinusValue(isMinus, newVal);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
else if (this.inputElement) {
|
|
167
|
-
this.inputElement.value = this._getMinusValue(isMinus, '');
|
|
168
|
-
}
|
|
169
|
-
if (newVal && +newVal === this.value) {
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
this.value = this._getMinusValue(isMinus, newVal);
|
|
173
|
-
this.formmatedValue.emit(this.inputElement?.value);
|
|
174
|
-
this.valueChange.emit(this.value);
|
|
175
|
-
}
|
|
176
|
-
_getMinusValue(isMinus, newVal) {
|
|
177
|
-
let val2 = typeof newVal == 'undefined' ? '' : newVal;
|
|
178
|
-
val2 = isMinus ? `-${val2}` : val2;
|
|
179
|
-
return val2;
|
|
180
|
-
}
|
|
181
|
-
_syncInputElementValue(value, e) {
|
|
182
|
-
const elValue = this._numeralPipe.getValue(e.target.value);
|
|
183
|
-
if (value === +elValue) {
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
const formated = this._getFormated(value);
|
|
187
|
-
e.target.value = formated;
|
|
188
|
-
}
|
|
189
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
190
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NumberBaseComponent, selector: "bnrc-number-base", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
191
|
-
}
|
|
192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberBaseComponent, decorators: [{
|
|
193
|
-
type: Component,
|
|
194
|
-
args: [{
|
|
195
|
-
selector: 'bnrc-number-base',
|
|
196
|
-
template: '',
|
|
197
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
198
|
-
standalone: false
|
|
199
|
-
}]
|
|
200
|
-
}] });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbnVtYmVyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBT3ZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFJdkQsSUFBSSxnQkFBZ0I7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsQ0FBQztRQUNiLENBQUM7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ0QsU0FBUyxDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMs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QUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQzsrR0E5TFEsbUJBQW1CO21HQUFuQixtQkFBbUIsK0VBSmxCLEVBQUU7OzRGQUlILG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtYmFzZSc7XHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1udW1iZXItYmFzZScsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJCYXNlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgaGFzTWFzazogYm9vbGVhbjtcclxuICAgIHRpY2tSZWY6IGFueTtcclxuICAgIHByb3RlY3RlZCBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gICAgZ2V0IGRlY2ltYWxQcmVjaXNpb24oKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBkZWNpbWFsUHJlY2lzaW9uID0gTnVtYmVyKHRoaXMuU2V0dGluZy5EZWNpbWFsUHJlY2lzaW9uKTtcclxuICAgICAgICBpZiAoaXNOYU4oZGVjaW1hbFByZWNpc2lvbikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkZWNpbWFsUHJlY2lzaW9uO1xyXG4gICAgfVxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fdXBkYXRlQnlTZXR0aW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgICBvbktleURvd24oZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGlzQ2hhcmFjdGVyID0gdGhpcy5faXNDaGFyYWN0ZXIoZSk7XHJcbiAgICAgICAgaWYgKCFpc0NoYXJhY3Rlcikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSBuZXcgUmVnRXhwKCdeWzAtOSwuLC1dKiQnKS50ZXN0KGUuY3VycmVudFRhcmdldC52YWx1ZSArIGUua2V5KTtcclxuICAgICAgICBpZiAoIWlzVmFsaWQgfHwgZS5rZXkgPT09ICcuJykge1xyXG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09ICcuJyAmJiB0aGlzLmlucHV0RWxlbWVudCAmJiB0aGlzLmRlY2ltYWxQcmVjaXNpb24gPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJzb3JQb3NpdGlvbiA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmluZGV4T2YoJy4nKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NldEN1cnNvclBvc2l0aW9uKGN1cnNvclBvc2l0aW9uICsgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXNWYWxpZCAmJiB0aGlzLmlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICAvLyDYr9ixINi12YjYsdiq24wg2qnZhyDYudiv2K8g2YLYqNmEINin2LIg2YXZhtmB24wg2YLYsdin2LEg2q/bjNix2K9cclxuICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5pbmRleE9mKCctJyk7XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3JQb3NpdGlvbiA+IC0xICYmIHRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09PSAwICYmIHRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvbkVuZCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZS5rZXkgPT09ICctJyAmJiB0aGlzLmlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJzb3JQb3NpdGlvbiA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmluZGV4T2YoJy0nKTtcclxuICAgICAgICAgICAgaWYgKGN1cnNvclBvc2l0aW9uIDwgMCAmJiB0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuX3NldEN1cnNvclBvc2l0aW9uKGN1cnNvclBvc2l0aW9uICsgMSk7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblZhbHVlQ2hhbmdlKGUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0ZXh0OiBzdHJpbmcgPSBlLmN1cnJlbnRUYXJnZXQ/LnZhbHVlIHx8ICcnO1xyXG4gICAgICAgIHRoaXMucmVGb3JtYXRWYWx1ZSh0ZXh0LCBlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZUJ5U2V0dGluZygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgZm9ybWF0ZWQgPSB0aGlzLl9nZXRGb3JtYXRlZCh0aGlzLnZhbHVlKS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IGZvcm1hdGVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhc01hc2sgPVxyXG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLlNob3dUaG91c2FuZFNlcGVyYXRvcicsIGZhbHNlKSB8fFxyXG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkRlY2ltYWxQcmVjaXNpb24nLCAwKSA+IDA7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ0NoYW5lZChvcHRpb25zKTogdm9pZCB7XHJcbiAgICAgICAgLy8gaW1wbGVtZW50ZWQgYnkgY2hpbGQgY29tcG9uZW50c1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZUJ5U2V0dGluZygpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLnJlRm9ybWF0VmFsdWUodGhpcy52YWx1ZSwgeyB0YXJnZXQ6IHRoaXMuaW5wdXRFbGVtZW50IH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9jbGVhckludGVydmFsKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnRpY2tSZWYpIHtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpY2tSZWYpO1xyXG4gICAgICAgICAgICB0aGlzLnRpY2tSZWYgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfaXNDaGFyYWN0ZXIoZXZ0KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBldnQud2hpY2ggPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2dC53aGljaCA9PT0gJ251bWJlcicgJiYgZXZ0LndoaWNoID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gIWV2dC5jdHJsS2V5ICYmICFldnQubWV0YUtleSAmJiAhZXZ0LmFsdEtleSAmJiBldnQud2hpY2ggIT09IDggJiYgZXZ0LmtleS5sZW5ndGggPT09IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2dldEZvcm1hdGVkKHZhbCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWVyYWxQaXBlLnRyYW5zZm9ybSh2YWwsIHRoaXMuZGVjaW1hbFByZWNpc2lvbiwgdGhpcy5TZXR0aW5nLlNob3dUaG91c2FuZFNlcGVyYXRvcikudG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24pOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKGN1cnNvclBvc2l0aW9uID4gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoICYmIHRoaXMuZGVjaW1hbFByZWNpc2lvbikge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGN1cnNvclBvc2l0aW9uLCBjdXJzb3JQb3NpdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSByZUZvcm1hdFZhbHVlKHRleHQ6IHN0cmluZyB8IG51bWJlciwgZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgbGV0IG5ld1ZhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGV4dCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgaWYgKHRleHQgPT09IHRoaXMudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3N5bmNJbnB1dEVsZW1lbnRWYWx1ZSh0aGlzLnZhbHVlLCBlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0ID0gdGV4dC50b1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIHRleHQgPT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB0aGlzLnZhbHVlID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGlzTWludXMgPSB0ZXh0Py5zdGFydHNXaXRoKCctJyk7XHJcbiAgICAgICAgdGV4dCA9IGlzTWludXMgPyB0ZXh0Py5zdWJzdHJpbmcoMSwgdGV4dC5sZW5ndGgpIDogdGV4dDtcclxuXHJcbiAgICAgICAgaWYgKHRleHQpIHtcclxuICAgICAgICAgICAgbGV0IGluZGV4b2ZEb3QgPSB0ZXh0LmluZGV4T2YoJy4nKTtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0aGlzLmlucHV0RWxlbWVudD8uc2VsZWN0aW9uU3RhcnQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBkZWNpbWFsUGVyc2ljaW9uID0gdGhpcy5kZWNpbWFsUHJlY2lzaW9uO1xyXG4gICAgICAgICAgICBpZiAoZGVjaW1hbFBlcnNpY2lvbikge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdCA9IHRleHQubGVuZ3RoIC0gKGluZGV4b2ZEb3QgKyAxKTtcclxuICAgICAgICAgICAgICAgIGlmICh0ID4gZGVjaW1hbFBlcnNpY2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpZmYgPSB0IC0gZGVjaW1hbFBlcnNpY2lvbjtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgJiYgc2VsZWN0aW9uU3RhcnQgPCB0ZXh0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgdGV4dC5sZW5ndGggLSBkaWZmKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCkgK1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC5zdWJzdHJpbmcoc2VsZWN0aW9uU3RhcnQgKyAxLCBzZWxlY3Rpb25TdGFydCArIDEgKyB0ZXh0Lmxlbmd0aCAtIGRpZmYpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZm9ybWF0ZWQ6IHN0cmluZyA9IHRoaXMuX2dldEZvcm1hdGVkKHRleHQpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIG5ld1ZhbCA9IHRoaXMuX251bWVyYWxQaXBlLmdldFZhbHVlKGZvcm1hdGVkKTtcclxuXHJcbiAgICAgICAgICAgIGxldCBpbmRleE9mRG90Rm9ybWF0ZWQgPSBmb3JtYXRlZC5pbmRleE9mKCcuJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZGVjaW1hbFBlcnNpY2lvbiA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgaW5kZXhvZkRvdCA9IHRleHQubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgaW5kZXhPZkRvdEZvcm1hdGVkID0gZm9ybWF0ZWQubGVuZ3RoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc01hc2spIHtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJzb3JQb3NpdGlvbiA9IHRoaXMuaW5wdXRFbGVtZW50Py5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgICAgICAgICAgIGxldCBkaWZmID0gMDtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleG9mRG90IDwgMCAmJiBkZWNpbWFsUGVyc2ljaW9uID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdGVkID0gdGhpcy5fZ2V0Rm9ybWF0ZWQodGV4dCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3VmFsID0gdGhpcy5fbnVtZXJhbFBpcGUuZ2V0VmFsdWUoZm9ybWF0ZWQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJzb3JQb3NpdGlvbiAhPSBudWxsICYmIGN1cnNvclBvc2l0aW9uIDw9IGluZGV4b2ZEb3QpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaWZmID0gaW5kZXhPZkRvdEZvcm1hdGVkIC0gaW5kZXhvZkRvdDtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3JQb3NpdGlvbiArPSBkaWZmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50ICYmIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlICE9PSBmb3JtYXRlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5fZ2V0TWludXNWYWx1ZShpc01pbnVzLCBmb3JtYXRlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoZS50YXJnZXQudmFsdWUgIT09IGZvcm1hdGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQudmFsdWUgPSB0aGlzLl9nZXRNaW51c1ZhbHVlKGlzTWludXMsIGZvcm1hdGVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuX3NldEN1cnNvclBvc2l0aW9uKGN1cnNvclBvc2l0aW9uKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5fZ2V0TWludXNWYWx1ZShpc01pbnVzLCBuZXdWYWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2dldE1pbnVzVmFsdWUoaXNNaW51cywgJycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobmV3VmFsICYmICtuZXdWYWwgPT09IHRoaXMudmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2dldE1pbnVzVmFsdWUoaXNNaW51cywgbmV3VmFsKTtcclxuICAgICAgICB0aGlzLmZvcm1tYXRlZFZhbHVlLmVtaXQodGhpcy5pbnB1dEVsZW1lbnQ/LnZhbHVlKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2dldE1pbnVzVmFsdWUoaXNNaW51czogYm9vbGVhbiwgbmV3VmFsOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCB2YWwyID0gdHlwZW9mIG5ld1ZhbCA9PSAndW5kZWZpbmVkJyA/ICcnIDogbmV3VmFsO1xyXG4gICAgICAgIHZhbDIgPSBpc01pbnVzID8gYC0ke3ZhbDJ9YCA6IHZhbDI7XHJcbiAgICAgICAgcmV0dXJuIHZhbDI7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3N5bmNJbnB1dEVsZW1lbnRWYWx1ZSh2YWx1ZTogbnVtYmVyLCBlOiB7IHRhcmdldDogYW55IH0pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBlbFZhbHVlID0gdGhpcy5fbnVtZXJhbFBpcGUuZ2V0VmFsdWUoZS50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gK2VsVmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmb3JtYXRlZCA9IHRoaXMuX2dldEZvcm1hdGVkKHZhbHVlKTtcclxuICAgICAgICBlLnRhcmdldC52YWx1ZSA9IGZvcm1hdGVkO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { from } from 'rxjs';
|
|
3
|
-
import { takeUntil, map, filter, tap, concatMap } from 'rxjs/operators';
|
|
4
|
-
import { BarsaApi } from './barsa-api';
|
|
5
|
-
import { ContainerComponent } from '../container.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class PageBaseComponent extends ContainerComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.hasRoute = true;
|
|
11
|
-
this.fullscreen = true;
|
|
12
|
-
}
|
|
13
|
-
ngAfterViewInit() {
|
|
14
|
-
super.ngAfterViewInit();
|
|
15
|
-
this.addModulesToDom();
|
|
16
|
-
}
|
|
17
|
-
addModulesToDom() {
|
|
18
|
-
this.getData$()
|
|
19
|
-
.pipe(filter((c) => c != null))
|
|
20
|
-
.subscribe((pageData) => {
|
|
21
|
-
this.renderPlaceHolders(pageData);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
getData$() {
|
|
25
|
-
if (this.isRoot) {
|
|
26
|
-
return this._portalService.portalData$;
|
|
27
|
-
}
|
|
28
|
-
return this._activatedRoute.data.pipe(map((data) => data.pageData), takeUntil(this._onDestroy$));
|
|
29
|
-
}
|
|
30
|
-
renderPlaceHolders(pageData) {
|
|
31
|
-
this.pageData = pageData;
|
|
32
|
-
const modules = this.getModules(pageData);
|
|
33
|
-
this.addModulesToPage(modules);
|
|
34
|
-
}
|
|
35
|
-
preparePlaceholder(placeHolderElement, placeHolderName, pageData) {
|
|
36
|
-
// remove old attached component . when we use rxjs for update data
|
|
37
|
-
const hasChild = placeHolderElement.hasChildNodes();
|
|
38
|
-
if (hasChild) {
|
|
39
|
-
placeHolderElement.removeChild(placeHolderElement.childNodes[0]);
|
|
40
|
-
}
|
|
41
|
-
const placeHolders = this.getPlaceHolders(pageData);
|
|
42
|
-
const placeHolder = placeHolders.find((c) => c.Name === placeHolderName);
|
|
43
|
-
if (placeHolder != null) {
|
|
44
|
-
const modules = this.getModules(pageData);
|
|
45
|
-
const module = modules.find((c) => c.PlaceHolder.Id === placeHolder.Id);
|
|
46
|
-
if (module) {
|
|
47
|
-
const controlUi = this.getModuleControlUi(module.Component);
|
|
48
|
-
placeHolderElement.appendChild(controlUi);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
console.error('placeholder not found ' + placeHolderName);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
getModuleControlUi(component) {
|
|
56
|
-
const controlUi = document.createElement(component.Selector);
|
|
57
|
-
controlUi.settings = component.Settings;
|
|
58
|
-
controlUi.activatedRoute = this._activatedRoute;
|
|
59
|
-
return controlUi;
|
|
60
|
-
}
|
|
61
|
-
addModulesToPage(modules) {
|
|
62
|
-
modules = modules.sort((a, b) => (Number(a.OrderNumber) > Number(b.OrderNumber) ? 1 : -1));
|
|
63
|
-
from(modules)
|
|
64
|
-
.pipe(takeUntil(this._onDestroy$), concatMap((module) => this.getComponentFactory(module.Component).pipe(tap((controlUi) => {
|
|
65
|
-
controlUi.instance.settings = module.Component.Settings;
|
|
66
|
-
controlUi.instance.activatedRoute = this._activatedRoute;
|
|
67
|
-
if (this.containerRef) {
|
|
68
|
-
this.containerRef.insert(controlUi.hostView);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
this._vcr.insert(controlUi.hostView);
|
|
72
|
-
}
|
|
73
|
-
}))))
|
|
74
|
-
.subscribe(() => this._cdr.detectChanges());
|
|
75
|
-
}
|
|
76
|
-
getComponentFactory(uiComponent) {
|
|
77
|
-
return this._portalService.getComponent(uiComponent.Module, uiComponent.ModuleFileName, uiComponent.Name, uiComponent.Selector, this._injector);
|
|
78
|
-
}
|
|
79
|
-
getPlaceHolders(pageData) {
|
|
80
|
-
const placeholders = BarsaApi.Common.Util.TryGetValue(pageData, 'Component.Settings.PlaceHolders.MoDataList', []);
|
|
81
|
-
return placeholders;
|
|
82
|
-
}
|
|
83
|
-
getModules(pageData) {
|
|
84
|
-
return BarsaApi.Common.Util.TryGetValue(pageData, 'ModuleList.MoDataList', []);
|
|
85
|
-
}
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageBaseComponent, selector: "bnrc-page-base", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
88
|
-
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageBaseComponent, decorators: [{
|
|
90
|
-
type: Component,
|
|
91
|
-
args: [{
|
|
92
|
-
selector: 'bnrc-page-base',
|
|
93
|
-
template: '',
|
|
94
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
95
|
-
standalone: false
|
|
96
|
-
}]
|
|
97
|
-
}] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL3BhZ2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsSUFBSSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBUTVELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFOekQ7O1FBV0ksYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixlQUFVLEdBQUcsSUFBSSxDQUFDO0tBeUdyQjtJQXRHRyxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ1MsZUFBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFO2FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDUyxRQUFRO1FBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDakMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRVMsa0JBQWtCLENBQUMsUUFBOEI7UUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNTLGtCQUFrQixDQUN4QixrQkFBa0QsRUFDbEQsZUFBdUIsRUFDdkIsUUFBOEI7UUFFOUIsbUVBQW1FO1FBQ25FLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BELElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQztRQUN6RSxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4RSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzVELGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsS0FBSyxDQUFDLHdCQUF3QixHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDO0lBQ1Msa0JBQWtCLENBQUMsU0FBUztRQUNsQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQVEsQ0FBQztRQUNwRSxTQUFTLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDeEMsU0FBUyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDUyxnQkFBZ0IsQ0FBQyxPQUFtQjtRQUMxQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ1IsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzNCLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNkLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hELFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDekQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUNKLENBQ0o7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDUyxtQkFBbUIsQ0FBQyxXQUs3QjtRQUNHLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQ25DLFdBQVcsQ0FBQyxNQUFNLEVBQ2xCLFdBQVcsQ0FBQyxjQUFjLEVBQzFCLFdBQVcsQ0FBQyxJQUFJLEVBQ2hCLFdBQVcsQ0FBQyxRQUFRLEVBQ3BCLElBQUksQ0FBQyxTQUFTLENBQ2pCLENBQUM7SUFDTixDQUFDO0lBRVMsZUFBZSxDQUFDLFFBQVE7UUFDOUIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUNqRCxRQUFRLEVBQ1IsNENBQTRDLEVBQzVDLEVBQUUsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUNTLFVBQVUsQ0FBQyxRQUFRO1FBQ3pCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDOytHQTlHUSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2RUFKaEIsRUFBRTs7NEZBSUgsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnRSZWYsIENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwLCBmaWx0ZXIsIHRhcCwgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XHJcbmltcG9ydCB7IE1vZHVsZURhdGFNb2RlbCwgUGFnZURhdGFNb2RlbCwgUGxhY2VIb2xkZXJEYXRhTW9kZWwsIFBvcnRhbERhdGFNb2RlbCB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udGFpbmVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1wYWdlLWJhc2UnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUJhc2VDb21wb25lbnQgZXh0ZW5kcyBDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICAgIHBvcnRhbERhdGEkOiBPYnNlcnZhYmxlPFBvcnRhbERhdGFNb2RlbD47XHJcbiAgICBwb3J0YWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAgIGlzUm9vdDogYm9vbGVhbjtcclxuICAgIGhhc1JvdXRlck91dGxldDogUGxhY2VIb2xkZXJEYXRhTW9kZWw7XHJcbiAgICBoYXNSb3V0ZSA9IHRydWU7XHJcbiAgICBmdWxsc2NyZWVuID0gdHJ1ZTtcclxuICAgIHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbDtcclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgdGhpcy5hZGRNb2R1bGVzVG9Eb20oKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBhZGRNb2R1bGVzVG9Eb20oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZXREYXRhJCgpXHJcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcigoYykgPT4gYyAhPSBudWxsKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocGFnZURhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0RGF0YSQoKTogT2JzZXJ2YWJsZTxQb3J0YWxEYXRhTW9kZWwgfCBudWxsPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNSb290KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wb3J0YWxTZXJ2aWNlLnBvcnRhbERhdGEkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZhdGVkUm91dGUuZGF0YS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKGRhdGEpID0+IGRhdGEucGFnZURhdGEpLFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCByZW5kZXJQbGFjZUhvbGRlcnMocGFnZURhdGE6IFBhZ2VEYXRhTW9kZWwgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wYWdlRGF0YSA9IHBhZ2VEYXRhO1xyXG4gICAgICAgIGNvbnN0IG1vZHVsZXMgPSB0aGlzLmdldE1vZHVsZXMocGFnZURhdGEpO1xyXG4gICAgICAgIHRoaXMuYWRkTW9kdWxlc1RvUGFnZShtb2R1bGVzKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBwcmVwYXJlUGxhY2Vob2xkZXIoXHJcbiAgICAgICAgcGxhY2VIb2xkZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQsXHJcbiAgICAgICAgcGxhY2VIb2xkZXJOYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcGFnZURhdGE6IFBhZ2VEYXRhTW9kZWwgfCBudWxsXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICAvLyByZW1vdmUgb2xkIGF0dGFjaGVkIGNvbXBvbmVudCAuIHdoZW4gd2UgdXNlIHJ4anMgZm9yIHVwZGF0ZSBkYXRhXHJcbiAgICAgICAgY29uc3QgaGFzQ2hpbGQgPSBwbGFjZUhvbGRlckVsZW1lbnQuaGFzQ2hpbGROb2RlcygpO1xyXG4gICAgICAgIGlmIChoYXNDaGlsZCkge1xyXG4gICAgICAgICAgICBwbGFjZUhvbGRlckVsZW1lbnQucmVtb3ZlQ2hpbGQocGxhY2VIb2xkZXJFbGVtZW50LmNoaWxkTm9kZXNbMF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBwbGFjZUhvbGRlcnMgPSB0aGlzLmdldFBsYWNlSG9sZGVycyhwYWdlRGF0YSk7XHJcbiAgICAgICAgY29uc3QgcGxhY2VIb2xkZXIgPSBwbGFjZUhvbGRlcnMuZmluZCgoYykgPT4gYy5OYW1lID09PSBwbGFjZUhvbGRlck5hbWUpO1xyXG4gICAgICAgIGlmIChwbGFjZUhvbGRlciAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsZXMgPSB0aGlzLmdldE1vZHVsZXMocGFnZURhdGEpO1xyXG4gICAgICAgICAgICBjb25zdCBtb2R1bGUgPSBtb2R1bGVzLmZpbmQoKGMpID0+IGMuUGxhY2VIb2xkZXIuSWQgPT09IHBsYWNlSG9sZGVyLklkKTtcclxuICAgICAgICAgICAgaWYgKG1vZHVsZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29udHJvbFVpID0gdGhpcy5nZXRNb2R1bGVDb250cm9sVWkobW9kdWxlLkNvbXBvbmVudCk7XHJcbiAgICAgICAgICAgICAgICBwbGFjZUhvbGRlckVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udHJvbFVpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3BsYWNlaG9sZGVyIG5vdCBmb3VuZCAnICsgcGxhY2VIb2xkZXJOYW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0TW9kdWxlQ29udHJvbFVpKGNvbXBvbmVudCk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbFVpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChjb21wb25lbnQuU2VsZWN0b3IpIGFzIGFueTtcclxuICAgICAgICBjb250cm9sVWkuc2V0dGluZ3MgPSBjb21wb25lbnQuU2V0dGluZ3M7XHJcbiAgICAgICAgY29udHJvbFVpLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGU7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRyb2xVaTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBhZGRNb2R1bGVzVG9QYWdlKG1vZHVsZXM6IEFycmF5PGFueT4pOiB2b2lkIHtcclxuICAgICAgICBtb2R1bGVzID0gbW9kdWxlcy5zb3J0KChhLCBiKSA9PiAoTnVtYmVyKGEuT3JkZXJOdW1iZXIpID4gTnVtYmVyKGIuT3JkZXJOdW1iZXIpID8gMSA6IC0xKSk7XHJcbiAgICAgICAgZnJvbShtb2R1bGVzKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIGNvbmNhdE1hcCgobW9kdWxlKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q29tcG9uZW50RmFjdG9yeShtb2R1bGUuQ29tcG9uZW50KS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoKGNvbnRyb2xVaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFVpLmluc3RhbmNlLnNldHRpbmdzID0gbW9kdWxlLkNvbXBvbmVudC5TZXR0aW5ncztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5hY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJSZWYuaW5zZXJ0KGNvbnRyb2xVaS5ob3N0Vmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Zjci5pbnNlcnQoY29udHJvbFVpLmhvc3RWaWV3KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBnZXRDb21wb25lbnRGYWN0b3J5KHVpQ29tcG9uZW50OiB7XHJcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcclxuICAgICAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XHJcbiAgICAgICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcclxuICAgIH0pOiBPYnNlcnZhYmxlPENvbXBvbmVudFJlZjxhbnk+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BvcnRhbFNlcnZpY2UuZ2V0Q29tcG9uZW50KFxyXG4gICAgICAgICAgICB1aUNvbXBvbmVudC5Nb2R1bGUsXHJcbiAgICAgICAgICAgIHVpQ29tcG9uZW50Lk1vZHVsZUZpbGVOYW1lLFxyXG4gICAgICAgICAgICB1aUNvbXBvbmVudC5OYW1lLFxyXG4gICAgICAgICAgICB1aUNvbXBvbmVudC5TZWxlY3RvcixcclxuICAgICAgICAgICAgdGhpcy5faW5qZWN0b3JcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRQbGFjZUhvbGRlcnMocGFnZURhdGEpOiBBcnJheTxQbGFjZUhvbGRlckRhdGFNb2RlbD4ge1xyXG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxyXG4gICAgICAgICAgICBwYWdlRGF0YSxcclxuICAgICAgICAgICAgJ0NvbXBvbmVudC5TZXR0aW5ncy5QbGFjZUhvbGRlcnMuTW9EYXRhTGlzdCcsXHJcbiAgICAgICAgICAgIFtdXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXJzO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIGdldE1vZHVsZXMocGFnZURhdGEpOiBBcnJheTxNb2R1bGVEYXRhTW9kZWw+IHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUocGFnZURhdGEsICdNb2R1bGVMaXN0Lk1vRGF0YUxpc3QnLCBbXSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { PageBaseComponent } from './page-base';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class PageWithFormHandlerBaseComponent extends PageBaseComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.isFirstPage = true;
|
|
8
|
-
/* eslint-disable */
|
|
9
|
-
this.ShowFormPanelControl = (formpanelCtrlr) => {
|
|
10
|
-
this.formpanelCtrlr = formpanelCtrlr;
|
|
11
|
-
this._portalService.ShowFormPanelControl(formpanelCtrlr, this._router, this._activatedRoute, this._formDialogComponent, this.isFirstPage, this._vcr);
|
|
12
|
-
};
|
|
13
|
-
/* eslint-disable */
|
|
14
|
-
this.ForceCloseChild = () => {
|
|
15
|
-
this._router.navigate(['../'], { relativeTo: this._activatedRoute });
|
|
16
|
-
};
|
|
17
|
-
/* eslint-disable */
|
|
18
|
-
this.RefreshFormPanelControl = (formpanelCtrlr) => {
|
|
19
|
-
if (!this.formpanelCtrlr) {
|
|
20
|
-
this.formpanelCtrlr = formpanelCtrlr;
|
|
21
|
-
}
|
|
22
|
-
this._portalService.ShowFormPanelControl(this.formpanelCtrlr, this._router, this._activatedRoute, this._formDialogComponent, this.isFirstPage, this._vcr, true);
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageWithFormHandlerBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageWithFormHandlerBaseComponent, selector: "ng-component", inputs: { ShowFormPanelControl: "ShowFormPanelControl", ForceCloseChild: "ForceCloseChild", RefreshFormPanelControl: "RefreshFormPanelControl" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageWithFormHandlerBaseComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{
|
|
31
|
-
template: '',
|
|
32
|
-
standalone: false
|
|
33
|
-
}]
|
|
34
|
-
}], propDecorators: { ShowFormPanelControl: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], ForceCloseChild: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], RefreshFormPanelControl: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS13aXRoLWZvcm0taGFuZGxlci1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL3BhZ2Utd2l0aC1mb3JtLWhhbmRsZXItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTWhELE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxpQkFBaUI7SUFKdkU7O1FBTUksZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsb0JBQW9CO1FBQ1gseUJBQW9CLEdBQUcsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUNwQyxjQUFjLEVBQ2QsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxJQUFJLENBQ1osQ0FBQztRQUNOLENBQUMsQ0FBQztRQUNGLG9CQUFvQjtRQUNYLG9CQUFlLEdBQUcsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDO1FBQ0Ysb0JBQW9CO1FBQ1gsNEJBQXVCLEdBQUcsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDcEMsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUNQLENBQUM7UUFDTixDQUFDLENBQUM7S0FDTDsrR0FsQ1ksZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsNk5BSC9CLEVBQUU7OzRGQUdILGdDQUFnQztrQkFKNUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsS0FBSztpQkFDcEI7OEJBS1ksb0JBQW9CO3NCQUE1QixLQUFLO2dCQVlHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBSUcsdUJBQXVCO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWdlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZS1iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VXaXRoRm9ybUhhbmRsZXJCYXNlQ29tcG9uZW50IGV4dGVuZHMgUGFnZUJhc2VDb21wb25lbnQge1xyXG4gICAgZm9ybXBhbmVsQ3RybHI6IGFueTtcclxuICAgIGlzRmlyc3RQYWdlID0gdHJ1ZTtcclxuICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICBASW5wdXQoKSBTaG93Rm9ybVBhbmVsQ29udHJvbCA9IChmb3JtcGFuZWxDdHJscikgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybXBhbmVsQ3RybHIgPSBmb3JtcGFuZWxDdHJscjtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLlNob3dGb3JtUGFuZWxDb250cm9sKFxyXG4gICAgICAgICAgICBmb3JtcGFuZWxDdHJscixcclxuICAgICAgICAgICAgdGhpcy5fcm91dGVyLFxyXG4gICAgICAgICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICAgICAgdGhpcy5fZm9ybURpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICAgICAgdGhpcy5pc0ZpcnN0UGFnZSxcclxuICAgICAgICAgICAgdGhpcy5fdmNyXHJcbiAgICAgICAgKTtcclxuICAgIH07XHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgQElucHV0KCkgRm9yY2VDbG9zZUNoaWxkID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJy4uLyddLCB7IHJlbGF0aXZlVG86IHRoaXMuX2FjdGl2YXRlZFJvdXRlIH0pO1xyXG4gICAgfTtcclxuICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICBASW5wdXQoKSBSZWZyZXNoRm9ybVBhbmVsQ29udHJvbCA9IChmb3JtcGFuZWxDdHJscikgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5mb3JtcGFuZWxDdHJscikge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1wYW5lbEN0cmxyID0gZm9ybXBhbmVsQ3RybHI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UuU2hvd0Zvcm1QYW5lbENvbnRyb2woXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybXBhbmVsQ3RybHIsXHJcbiAgICAgICAgICAgIHRoaXMuX3JvdXRlcixcclxuICAgICAgICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1EaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgICAgIHRoaXMuaXNGaXJzdFBhZ2UsXHJcbiAgICAgICAgICAgIHRoaXMuX3ZjcixcclxuICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICk7XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
|