barsa-novin-ray-core 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/esm2020/barsa-novin-ray-core.mjs +5 -0
- package/esm2020/lib/abstract-classes/application-base.mjs +24 -0
- package/esm2020/lib/abstract-classes/barsa-api.mjs +40 -0
- package/esm2020/lib/abstract-classes/field-base.mjs +167 -0
- package/esm2020/lib/abstract-classes/files-validation-helper.mjs +71 -0
- package/esm2020/lib/abstract-classes/form-base.mjs +101 -0
- package/esm2020/lib/abstract-classes/form-props.base.mjs +79 -0
- package/esm2020/lib/abstract-classes/form-toolbar-base.mjs +45 -0
- package/esm2020/lib/abstract-classes/index.mjs +21 -0
- package/esm2020/lib/abstract-classes/layout-item-base.mjs +33 -0
- package/esm2020/lib/abstract-classes/layout-panel-base.mjs +80 -0
- package/esm2020/lib/abstract-classes/models.mjs +172 -0
- package/esm2020/lib/abstract-classes/module-with-dynamic-components.mjs +2 -0
- package/esm2020/lib/abstract-classes/number-base.mjs +117 -0
- package/esm2020/lib/abstract-classes/page-base.mjs +97 -0
- package/esm2020/lib/abstract-classes/report-base.mjs +231 -0
- package/esm2020/lib/abstract-classes/report-item-base.mjs +53 -0
- package/esm2020/lib/abstract-classes/report-view-base.component.mjs +262 -0
- package/esm2020/lib/abstract-classes/system-base.mjs +24 -0
- package/esm2020/lib/auth-guard.mjs +37 -0
- package/esm2020/lib/barsa-novin-ray-core-routing.module.mjs +18 -0
- package/esm2020/lib/barsa-novin-ray-core.module.mjs +271 -0
- package/esm2020/lib/base-ulv-setting.component.mjs +37 -0
- package/esm2020/lib/base.component.mjs +59 -0
- package/esm2020/lib/base.module.mjs +28 -0
- package/esm2020/lib/constants.mjs +441 -0
- package/esm2020/lib/container.component.mjs +76 -0
- package/esm2020/lib/custom-route-reuse-strategy.mjs +32 -0
- package/esm2020/lib/date-services/date-hijri.service.mjs +127 -0
- package/esm2020/lib/date-services/date-info.mjs +2 -0
- package/esm2020/lib/date-services/date-miladi.service.mjs +124 -0
- package/esm2020/lib/date-services/date-shamsi.service.mjs +129 -0
- package/esm2020/lib/date-services/date.service.mjs +139 -0
- package/esm2020/lib/date-services/index.mjs +6 -0
- package/esm2020/lib/device.mjs +663 -0
- package/esm2020/lib/directives/anchor-scroll.directive.mjs +24 -0
- package/esm2020/lib/directives/attr-rtl.directive.mjs +35 -0
- package/esm2020/lib/directives/base.directive.mjs +51 -0
- package/esm2020/lib/directives/column-resizer.directive.mjs +39 -0
- package/esm2020/lib/directives/dynamic-command.directive.mjs +43 -0
- package/esm2020/lib/directives/ellipsify.directive.mjs +72 -0
- package/esm2020/lib/directives/field-binding.directive.mjs +17 -0
- package/esm2020/lib/directives/img-lazy.directive.mjs +75 -0
- package/esm2020/lib/directives/index.mjs +19 -0
- package/esm2020/lib/directives/intersection-observer.directive.mjs +49 -0
- package/esm2020/lib/directives/items-renderer.directive.mjs +59 -0
- package/esm2020/lib/directives/numbers-only-input.directive.mjs +26 -0
- package/esm2020/lib/directives/placeHolder.directive.mjs +15 -0
- package/esm2020/lib/directives/render-ulv-paging.directive.mjs +58 -0
- package/esm2020/lib/directives/render-ulv-viewer.directive.mjs +60 -0
- package/esm2020/lib/directives/table-resizer.directive.mjs +235 -0
- package/esm2020/lib/directives/ulv-command.directive.mjs +41 -0
- package/esm2020/lib/directives/until-inview.directive.mjs +51 -0
- package/esm2020/lib/dynamic-component/base-dynamic.component.mjs +89 -0
- package/esm2020/lib/dynamic-component/base-form-toolbaritem-props.mjs +50 -0
- package/esm2020/lib/dynamic-component/base-item-content-props.mjs +70 -0
- package/esm2020/lib/dynamic-component/base-view-content-props.mjs +26 -0
- package/esm2020/lib/dynamic-component/base-view-item-props.mjs +374 -0
- package/esm2020/lib/dynamic-component/base-view-props.mjs +127 -0
- package/esm2020/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +36 -0
- package/esm2020/lib/dynamic-component/dynamic-form.component.mjs +62 -0
- package/esm2020/lib/dynamic-component/dynamic-item.component.mjs +60 -0
- package/esm2020/lib/dynamic-component/index.mjs +10 -0
- package/esm2020/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +16 -0
- package/esm2020/lib/field-ui/field-ui.component.mjs +116 -0
- package/esm2020/lib/form/form.component.mjs +151 -0
- package/esm2020/lib/form-new/form-new.component.mjs +30 -0
- package/esm2020/lib/from-intersection-observer.mjs +53 -0
- package/esm2020/lib/global-error-handler.mjs +26 -0
- package/esm2020/lib/modal-root.component.mjs +31 -0
- package/esm2020/lib/not-found/not-found.component.mjs +16 -0
- package/esm2020/lib/pipes/barsa-icon-dict.pipe.mjs +18 -0
- package/esm2020/lib/pipes/bbb-translate.pipe.mjs +29 -0
- package/esm2020/lib/pipes/can-upload.pipe.mjs +30 -0
- package/esm2020/lib/pipes/context-menu.pipe.mjs +40 -0
- package/esm2020/lib/pipes/control-ui.pipe.mjs +31 -0
- package/esm2020/lib/pipes/convert-to-style.pipe.mjs +32 -0
- package/esm2020/lib/pipes/date-time-to-caption.pipe.mjs +34 -0
- package/esm2020/lib/pipes/fileinfo-count.pipe.mjs +20 -0
- package/esm2020/lib/pipes/filter-columns-by-details.pipe.mjs +20 -0
- package/esm2020/lib/pipes/filter-string.pipe.mjs +44 -0
- package/esm2020/lib/pipes/filter-tab.pipe.mjs +19 -0
- package/esm2020/lib/pipes/filter-toolbar-control.pipe.mjs +16 -0
- package/esm2020/lib/pipes/filter.pipe.mjs +33 -0
- package/esm2020/lib/pipes/find-column-by-db-name.pipe.mjs +17 -0
- package/esm2020/lib/pipes/fiori-icon.pipe.mjs +42 -0
- package/esm2020/lib/pipes/groupby.pipe.mjs +48 -0
- package/esm2020/lib/pipes/header-facet-value.pipe.mjs +22 -0
- package/esm2020/lib/pipes/index.mjs +33 -0
- package/esm2020/lib/pipes/list-count.pipe.mjs +17 -0
- package/esm2020/lib/pipes/merge-fields-to-columns.pipe.mjs +42 -0
- package/esm2020/lib/pipes/mo-info-ulv-data.pipe.mjs +24 -0
- package/esm2020/lib/pipes/mo-report-value-concat.pipe.mjs +35 -0
- package/esm2020/lib/pipes/mo-report-value.pipe.mjs +28 -0
- package/esm2020/lib/pipes/mo-value.pipe.mjs +31 -0
- package/esm2020/lib/pipes/multiple-groupby.pipe.mjs +97 -0
- package/esm2020/lib/pipes/numeral.pipe.mjs +40 -0
- package/esm2020/lib/pipes/picture-field-source.pipe.mjs +22 -0
- package/esm2020/lib/pipes/remove-newline.pipe.mjs +20 -0
- package/esm2020/lib/pipes/seperator-fix.pipe.mjs +23 -0
- package/esm2020/lib/pipes/sort.pipe.mjs +48 -0
- package/esm2020/lib/pipes/tlbButtons.pipe.mjs +58 -0
- package/esm2020/lib/pipes/total-summary.pipe.mjs +16 -0
- package/esm2020/lib/pipes/visible-value.pipe.mjs +24 -0
- package/esm2020/lib/portal-page/portal-page.component.mjs +13 -0
- package/esm2020/lib/redirect-home-guard.mjs +28 -0
- package/esm2020/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +33 -0
- package/esm2020/lib/report-container/report-container.component.mjs +52 -0
- package/esm2020/lib/resolvers/index.mjs +5 -0
- package/esm2020/lib/resolvers/portal-dynamic-page.resolver.mjs +49 -0
- package/esm2020/lib/resolvers/portal-form-page.resolver.mjs +18 -0
- package/esm2020/lib/resolvers/portal-page.resolver.mjs +30 -0
- package/esm2020/lib/resolvers/portal-report-page.resolver.mjs +37 -0
- package/esm2020/lib/root-page/root-page.component.mjs +21 -0
- package/esm2020/lib/root-portal/root-portal.component.mjs +51 -0
- package/esm2020/lib/services/api.service.mjs +60 -0
- package/esm2020/lib/services/barsa-dialog.service.mjs +80 -0
- package/esm2020/lib/services/breadcrumb.service.mjs +60 -0
- package/esm2020/lib/services/container.service.mjs +36 -0
- package/esm2020/lib/services/dynamic-component.service.mjs +55 -0
- package/esm2020/lib/services/form-panel.service.mjs +235 -0
- package/esm2020/lib/services/form.service.mjs +14 -0
- package/esm2020/lib/services/horizontal-layout.service.mjs +16 -0
- package/esm2020/lib/services/index.mjs +16 -0
- package/esm2020/lib/services/layout.service.mjs +42 -0
- package/esm2020/lib/services/log.service.mjs +50 -0
- package/esm2020/lib/services/network-status.service.mjs +15 -0
- package/esm2020/lib/services/portal.service.mjs +638 -0
- package/esm2020/lib/services/ui.service.mjs +23 -0
- package/esm2020/lib/services/ulvmain.service.mjs +594 -0
- package/esm2020/lib/services/upload.service.mjs +75 -0
- package/esm2020/public-api.mjs +33 -0
- package/fesm2015/barsa-novin-ray-core.mjs +9047 -0
- package/fesm2015/barsa-novin-ray-core.mjs.map +1 -0
- package/fesm2020/barsa-novin-ray-core.mjs +8945 -0
- package/fesm2020/barsa-novin-ray-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/abstract-classes/application-base.d.ts +53 -0
- package/lib/abstract-classes/barsa-api.d.ts +28 -0
- package/lib/abstract-classes/field-base.d.ts +81 -0
- package/lib/abstract-classes/files-validation-helper.d.ts +15 -0
- package/lib/abstract-classes/form-base.d.ts +59 -0
- package/lib/abstract-classes/form-props.base.d.ts +45 -0
- package/lib/abstract-classes/form-toolbar-base.d.ts +17 -0
- package/lib/abstract-classes/index.d.ts +20 -0
- package/lib/abstract-classes/layout-item-base.d.ts +15 -0
- package/lib/abstract-classes/layout-panel-base.d.ts +24 -0
- package/lib/abstract-classes/models.d.ts +660 -0
- package/lib/abstract-classes/module-with-dynamic-components.d.ts +4 -0
- package/lib/abstract-classes/number-base.d.ts +20 -0
- package/lib/abstract-classes/page-base.d.ts +31 -0
- package/lib/abstract-classes/report-base.d.ts +97 -0
- package/lib/abstract-classes/report-item-base.d.ts +33 -0
- package/lib/abstract-classes/report-view-base.component.d.ts +130 -0
- package/lib/abstract-classes/system-base.d.ts +45 -0
- package/lib/auth-guard.d.ts +12 -0
- package/lib/barsa-novin-ray-core-routing.module.d.ts +7 -0
- package/lib/barsa-novin-ray-core.module.d.ts +88 -0
- package/lib/base-ulv-setting.component.d.ts +18 -0
- package/lib/base.component.d.ts +15 -0
- package/lib/base.module.d.ts +13 -0
- package/lib/constants.d.ts +89 -0
- package/lib/container.component.d.ts +33 -0
- package/lib/custom-route-reuse-strategy.d.ts +11 -0
- package/lib/date-services/date-hijri.service.d.ts +40 -0
- package/lib/date-services/date-info.d.ts +15 -0
- package/lib/date-services/date-miladi.service.d.ts +39 -0
- package/lib/date-services/date-shamsi.service.d.ts +40 -0
- package/lib/date-services/date.service.d.ts +54 -0
- package/lib/date-services/index.d.ts +5 -0
- package/lib/device.d.ts +15 -0
- package/lib/directives/anchor-scroll.directive.d.ts +7 -0
- package/lib/directives/attr-rtl.directive.d.ts +13 -0
- package/lib/directives/base.directive.d.ts +13 -0
- package/lib/directives/column-resizer.directive.d.ts +13 -0
- package/lib/directives/dynamic-command.directive.d.ts +12 -0
- package/lib/directives/ellipsify.directive.d.ts +17 -0
- package/lib/directives/field-binding.directive.d.ts +7 -0
- package/lib/directives/img-lazy.directive.d.ts +20 -0
- package/lib/directives/index.d.ts +18 -0
- package/lib/directives/intersection-observer.directive.d.ts +17 -0
- package/lib/directives/items-renderer.directive.d.ts +17 -0
- package/lib/directives/numbers-only-input.directive.d.ts +9 -0
- package/lib/directives/placeHolder.directive.d.ts +6 -0
- package/lib/directives/render-ulv-paging.directive.d.ts +19 -0
- package/lib/directives/render-ulv-viewer.directive.d.ts +19 -0
- package/lib/directives/table-resizer.directive.d.ts +47 -0
- package/lib/directives/ulv-command.directive.d.ts +11 -0
- package/lib/directives/until-inview.directive.d.ts +17 -0
- package/lib/dynamic-component/base-dynamic.component.d.ts +26 -0
- package/lib/dynamic-component/base-form-toolbaritem-props.d.ts +28 -0
- package/lib/dynamic-component/base-item-content-props.d.ts +40 -0
- package/lib/dynamic-component/base-view-content-props.d.ts +11 -0
- package/lib/dynamic-component/base-view-item-props.d.ts +95 -0
- package/lib/dynamic-component/base-view-props.d.ts +65 -0
- package/lib/dynamic-component/dynamic-form-toolbar-item.component.d.ts +18 -0
- package/lib/dynamic-component/dynamic-form.component.d.ts +33 -0
- package/lib/dynamic-component/dynamic-item.component.d.ts +30 -0
- package/lib/dynamic-component/index.d.ts +9 -0
- package/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.d.ts +7 -0
- package/lib/field-ui/field-ui.component.d.ts +27 -0
- package/lib/form/form.component.d.ts +36 -0
- package/lib/form-new/form-new.component.d.ts +23 -0
- package/lib/from-intersection-observer.d.ts +7 -0
- package/lib/global-error-handler.d.ts +8 -0
- package/lib/modal-root.component.d.ts +15 -0
- package/lib/not-found/not-found.component.d.ts +8 -0
- package/lib/pipes/barsa-icon-dict.pipe.d.ts +9 -0
- package/lib/pipes/bbb-translate.pipe.d.ts +7 -0
- package/lib/pipes/can-upload.pipe.d.ts +8 -0
- package/lib/pipes/context-menu.pipe.d.ts +11 -0
- package/lib/pipes/control-ui.pipe.d.ts +9 -0
- package/lib/pipes/convert-to-style.pipe.d.ts +8 -0
- package/lib/pipes/date-time-to-caption.pipe.d.ts +9 -0
- package/lib/pipes/fileinfo-count.pipe.d.ts +10 -0
- package/lib/pipes/filter-columns-by-details.pipe.d.ts +8 -0
- package/lib/pipes/filter-string.pipe.d.ts +11 -0
- package/lib/pipes/filter-tab.pipe.d.ts +7 -0
- package/lib/pipes/filter-toolbar-control.pipe.d.ts +8 -0
- package/lib/pipes/filter.pipe.d.ts +10 -0
- package/lib/pipes/find-column-by-db-name.pipe.d.ts +8 -0
- package/lib/pipes/fiori-icon.pipe.d.ts +7 -0
- package/lib/pipes/groupby.pipe.d.ts +7 -0
- package/lib/pipes/header-facet-value.pipe.d.ts +8 -0
- package/lib/pipes/index.d.ts +32 -0
- package/lib/pipes/list-count.pipe.d.ts +8 -0
- package/lib/pipes/merge-fields-to-columns.pipe.d.ts +10 -0
- package/lib/pipes/mo-info-ulv-data.pipe.d.ts +7 -0
- package/lib/pipes/mo-report-value-concat.pipe.d.ts +9 -0
- package/lib/pipes/mo-report-value.pipe.d.ts +12 -0
- package/lib/pipes/mo-value.pipe.d.ts +9 -0
- package/lib/pipes/multiple-groupby.pipe.d.ts +23 -0
- package/lib/pipes/numeral.pipe.d.ts +9 -0
- package/lib/pipes/picture-field-source.pipe.d.ts +8 -0
- package/lib/pipes/remove-newline.pipe.d.ts +8 -0
- package/lib/pipes/seperator-fix.pipe.d.ts +7 -0
- package/lib/pipes/sort.pipe.d.ts +9 -0
- package/lib/pipes/tlbButtons.pipe.d.ts +9 -0
- package/lib/pipes/total-summary.pipe.d.ts +8 -0
- package/lib/pipes/visible-value.pipe.d.ts +8 -0
- package/lib/portal-page/portal-page.component.d.ts +6 -0
- package/lib/redirect-home-guard.d.ts +13 -0
- package/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.d.ts +14 -0
- package/lib/report-container/report-container.component.d.ts +24 -0
- package/lib/resolvers/index.d.ts +4 -0
- package/lib/resolvers/portal-dynamic-page.resolver.d.ts +12 -0
- package/lib/resolvers/portal-form-page.resolver.d.ts +8 -0
- package/lib/resolvers/portal-page.resolver.d.ts +12 -0
- package/lib/resolvers/portal-report-page.resolver.d.ts +12 -0
- package/lib/root-page/root-page.component.d.ts +10 -0
- package/lib/root-portal/root-portal.component.d.ts +14 -0
- package/lib/services/api.service.d.ts +18 -0
- package/lib/services/barsa-dialog.service.d.ts +31 -0
- package/lib/services/breadcrumb.service.d.ts +14 -0
- package/lib/services/container.service.d.ts +14 -0
- package/lib/services/dynamic-component.service.d.ts +13 -0
- package/lib/services/form-panel.service.d.ts +83 -0
- package/lib/services/form.service.d.ts +8 -0
- package/lib/services/horizontal-layout.service.d.ts +7 -0
- package/lib/services/index.d.ts +15 -0
- package/lib/services/layout.service.d.ts +23 -0
- package/lib/services/log.service.d.ts +17 -0
- package/lib/services/network-status.service.d.ts +7 -0
- package/lib/services/portal.service.d.ts +130 -0
- package/lib/services/ui.service.d.ts +14 -0
- package/lib/services/ulvmain.service.d.ts +178 -0
- package/lib/services/upload.service.d.ts +18 -0
- package/package.json +38 -0
- package/public-api.d.ts +29 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { BehaviorSubject, Subject, combineLatest } from 'rxjs';
|
|
2
|
+
import { debounceTime, delay, filter, map, takeUntil, tap } from 'rxjs/operators';
|
|
3
|
+
import { BarsaApi } from '../abstract-classes/barsa-api';
|
|
4
|
+
import { BaseComponent } from '../base.component';
|
|
5
|
+
import { DeviceWidth, getHeaderValue } from '../constants';
|
|
6
|
+
export class FormPanelService extends BaseComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this._hideClose$ = new BehaviorSubject(false);
|
|
10
|
+
this._hideTitle$ = new BehaviorSubject(false);
|
|
11
|
+
this._hidePin$ = new BehaviorSubject(false);
|
|
12
|
+
this._contextSource = new BehaviorSubject(null);
|
|
13
|
+
this._searchPanelIsObjectSource = new BehaviorSubject(false);
|
|
14
|
+
this._isSearchPanelSource = new BehaviorSubject(false);
|
|
15
|
+
this._workflowPanelUiSource = new BehaviorSubject(null);
|
|
16
|
+
this._moSource = new BehaviorSubject(null);
|
|
17
|
+
this._viewSource = new BehaviorSubject(null);
|
|
18
|
+
this._toolbarItemsSource = new BehaviorSubject([]);
|
|
19
|
+
this._titleSource = new BehaviorSubject('');
|
|
20
|
+
this._maxContentWidthSource = new BehaviorSubject('auto');
|
|
21
|
+
this._wizardNextStepSource = new Subject();
|
|
22
|
+
this._layoutSource = new BehaviorSubject(null);
|
|
23
|
+
this._forceCloseSource = new Subject();
|
|
24
|
+
this._groupBRuleSource = new Subject();
|
|
25
|
+
this._isSimpleFormSource = new BehaviorSubject(false);
|
|
26
|
+
this._formWidthSource = new BehaviorSubject('100%');
|
|
27
|
+
this._toolbarVisibleSource = new BehaviorSubject(true);
|
|
28
|
+
this._headerLayoutSource = new BehaviorSubject(null);
|
|
29
|
+
this._headerTitleSource = new BehaviorSubject('');
|
|
30
|
+
this._maskSource = new BehaviorSubject(false);
|
|
31
|
+
this._headerRemoveContentPaddingSource = new BehaviorSubject(false);
|
|
32
|
+
this._headerDescriptionSource = new BehaviorSubject('');
|
|
33
|
+
this._canSend$ = new BehaviorSubject(false);
|
|
34
|
+
this.context$ = this._contextSource.asObservable().pipe(tap((context) => this._prepareContext(context)), takeUntil(this._onDestroy$));
|
|
35
|
+
this.searchPanelIsObject$ = this._searchPanelIsObjectSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
36
|
+
this.isSearchPanel$ = this._isSearchPanelSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
37
|
+
this.workflowPanelUi$ = this._workflowPanelUiSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
38
|
+
this.mo$ = this._moSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
39
|
+
this.fieldDict$ = this.mo$.pipe(map((c) => c.$FieldDict), takeUntil(this._onDestroy$));
|
|
40
|
+
this.view$ = this._viewSource.asObservable().pipe(tap((view) => this._prepareView(view)), takeUntil(this._onDestroy$));
|
|
41
|
+
this.toolbarItems$ = this._toolbarItemsSource.asObservable().pipe(map((items) => this._filterToolbarItems(items)), takeUntil(this._onDestroy$));
|
|
42
|
+
this.maxContentWidth$ = this._maxContentWidthSource.asObservable().pipe(map((width) => (width ? width + 'px' : 'auto')), takeUntil(this._onDestroy$));
|
|
43
|
+
this.wizardNextStep$ = this._wizardNextStepSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
44
|
+
this.layout$ = this._layoutSource.asObservable().pipe(map((layout) => {
|
|
45
|
+
if (!layout) {
|
|
46
|
+
return layout;
|
|
47
|
+
}
|
|
48
|
+
const deviceWidth = DeviceWidth();
|
|
49
|
+
if (deviceWidth < layout.Bounds.width) {
|
|
50
|
+
layout.Bounds.width = deviceWidth;
|
|
51
|
+
}
|
|
52
|
+
return { ...layout };
|
|
53
|
+
}), takeUntil(this._onDestroy$));
|
|
54
|
+
this.forceClose$ = this._forceCloseSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
55
|
+
this.groupLayout$ = this._groupBRuleSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
56
|
+
this.isSimpleForm$ = this._isSimpleFormSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
57
|
+
this.formWidth$ = this._formWidthSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
58
|
+
this.toolbarVisible$ = this._toolbarVisibleSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
59
|
+
this.title$ = combineLatest([this._headerTitleSource.asObservable(), this._titleSource.asObservable()]).pipe(map(([headerTitle, title]) => (headerTitle ? headerTitle : title)), takeUntil(this._onDestroy$));
|
|
60
|
+
this.headerLayout$ = this._headerLayoutSource.asObservable().pipe(filter((headerLayout) => !!headerLayout), tap((headerLayout) => this._headerTitleSource.next(getHeaderValue(headerLayout?.Title))), tap((headerLayout) => this._hideClose$.next(headerLayout?.HideClose)), tap((headerLayout) => this._hideTitle$.next(headerLayout?.HideTitle)), tap((headerLayout) => this._hidePin$.next(headerLayout?.HidePin)), tap((headerLayout) => this._headerDescriptionSource.next(getHeaderValue(headerLayout?.Description))), tap((headerLayout) => this._headerRemoveContentPaddingSource.next(getHeaderValue(headerLayout?.RemoveContentPadding))), takeUntil(this._onDestroy$));
|
|
61
|
+
this.headerDescription$ = this._headerDescriptionSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
62
|
+
this.headerRemoveContentPadding$ = this._headerRemoveContentPaddingSource
|
|
63
|
+
.asObservable()
|
|
64
|
+
.pipe(delay(0), takeUntil(this._onDestroy$));
|
|
65
|
+
this.headerSubtitle$ = this.headerLayout$.pipe(map((headerLayout) => getHeaderValue(headerLayout?.SubTitle)), takeUntil(this._onDestroy$));
|
|
66
|
+
this.avatar$ = this.headerLayout$.pipe(map((headerLayout) => getHeaderValue(headerLayout?.Avatar)), takeUntil(this._onDestroy$));
|
|
67
|
+
this.mask$ = this._maskSource.asObservable().pipe(debounceTime(200), takeUntil(this._onDestroy$));
|
|
68
|
+
}
|
|
69
|
+
get hidePin$() {
|
|
70
|
+
return this._hidePin$.asObservable();
|
|
71
|
+
}
|
|
72
|
+
get hideClose$() {
|
|
73
|
+
return this._hideClose$.asObservable();
|
|
74
|
+
}
|
|
75
|
+
get hideTitle$() {
|
|
76
|
+
return this._hideTitle$.asObservable();
|
|
77
|
+
}
|
|
78
|
+
get canSend$() {
|
|
79
|
+
return this._canSend$.asObservable();
|
|
80
|
+
}
|
|
81
|
+
get mo() {
|
|
82
|
+
return this._moSource.getValue();
|
|
83
|
+
}
|
|
84
|
+
set context(val) {
|
|
85
|
+
if (this._context) {
|
|
86
|
+
this.destroy();
|
|
87
|
+
}
|
|
88
|
+
this._contextSource.next(val);
|
|
89
|
+
}
|
|
90
|
+
destroy() {
|
|
91
|
+
if (!this._context) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
this._context.un('GroupBRuleChanged', this._groupBRuleChanged);
|
|
95
|
+
this._context.un('TitleChanged', this._titleChanged);
|
|
96
|
+
this._context.un('WizardNextStep', this._wizardNextStep);
|
|
97
|
+
this._context.un('DoLayout', this._doLayout);
|
|
98
|
+
this._context.un('MaskChanged', this._maskChanged);
|
|
99
|
+
this._context.un('ForceClose', this._forceClose);
|
|
100
|
+
this._context.toolbar.un('ToolbarItemsChanged', this._toolbarItemsChanged);
|
|
101
|
+
this._context = null;
|
|
102
|
+
this._layoutSource.next(null);
|
|
103
|
+
// this._onDestroy$.next();
|
|
104
|
+
}
|
|
105
|
+
toolbarClick(btn) {
|
|
106
|
+
btn.handler(btn, this._context);
|
|
107
|
+
}
|
|
108
|
+
wfChoice(btn) {
|
|
109
|
+
this._context.WorkflowPanelUi.fireEvent('ChoiceSelect', btn, this._context);
|
|
110
|
+
}
|
|
111
|
+
_initialize(context) {
|
|
112
|
+
this._workflowPanelUiSource.next(context?.WorkflowPanelUi);
|
|
113
|
+
this._isSearchPanelSource.next(context?.Setting?.IsSearchPanel);
|
|
114
|
+
this._canSend$.next(context?.Setting?.CanSend);
|
|
115
|
+
this._searchPanelIsObjectSource.next(context?.Setting?.ParameterTypeIsObject);
|
|
116
|
+
this._moSource.next(context?.Mo);
|
|
117
|
+
this._viewSource.next(context?.Setting?.View);
|
|
118
|
+
this._toolbarItemsSource.next(context?.toolbar?.items);
|
|
119
|
+
if (context?.toolbar) {
|
|
120
|
+
context.toolbar.on({
|
|
121
|
+
ToolbarItemsChanged: this._toolbarItemsChanged.bind(this)
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
this._titleSource?.next(context?.title);
|
|
125
|
+
this._toolbarVisibleSource.next(this._getToolbarVisibility(context));
|
|
126
|
+
}
|
|
127
|
+
_prepareView(view) {
|
|
128
|
+
this._layoutSource.next(view?.Layout94);
|
|
129
|
+
this._maxContentWidthSource.next(this._getMaxContentWidth(view));
|
|
130
|
+
this._isSimpleFormSource.next(this._getIsSimpleForm(view));
|
|
131
|
+
this._headerLayoutSource.next(this._getHeaderLayout(view));
|
|
132
|
+
this._formWidthSource.next(view?.inDialog ? view.Layout94.Bounds.width + 'px' : '100%');
|
|
133
|
+
}
|
|
134
|
+
_filterToolbarItems(items) {
|
|
135
|
+
if (!items) {
|
|
136
|
+
return [];
|
|
137
|
+
}
|
|
138
|
+
const newItems = items.filter((c) => !c.hidden);
|
|
139
|
+
newItems.forEach((item) => {
|
|
140
|
+
if (item.menu) {
|
|
141
|
+
item.menu.items = item.menu.items.filter((c) => !c.hidden);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
return newItems.sort((a) => (typeof a == 'string' ? 0 : a.IAmMenu ? 1 : -1));
|
|
145
|
+
}
|
|
146
|
+
_getHeaderLayout(view) {
|
|
147
|
+
const headerLayout = BarsaApi.Common.Util.TryGetValue(view, 'HeaderLayout', null);
|
|
148
|
+
if (headerLayout) {
|
|
149
|
+
// this.setHeaderTitleAndSubtitleAndAvatar(headerLayout);
|
|
150
|
+
const t = [];
|
|
151
|
+
headerLayout.FacetList.MoDataList.forEach((facetColumn) => {
|
|
152
|
+
t.push({
|
|
153
|
+
type: facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo.Type,
|
|
154
|
+
mo: facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
headerLayout.FacetList2 = t;
|
|
158
|
+
}
|
|
159
|
+
return headerLayout;
|
|
160
|
+
}
|
|
161
|
+
_getIsSimpleForm(view) {
|
|
162
|
+
const isSimple = BarsaApi.Common.Util.TryGetValue(view, 'ExtraJsonProp.IsSimple', false);
|
|
163
|
+
return isSimple;
|
|
164
|
+
}
|
|
165
|
+
_getToolbarVisibility(context) {
|
|
166
|
+
if (!context) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
const hideToolbar = BarsaApi.Common.Util.TryGetValue(context, 'toolbar.hideToolbar', false);
|
|
170
|
+
if (hideToolbar) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
const { FormSettings } = context.Setting.View;
|
|
174
|
+
if (FormSettings) {
|
|
175
|
+
const showToolbar = FormSettings.ShowToolbar === false ? false : true;
|
|
176
|
+
const featureToolbar = BarsaApi.Common.Util.TryGetValue(context, 'Features.Toolbar', false);
|
|
177
|
+
const visible = (featureToolbar && showToolbar) !== false;
|
|
178
|
+
return visible;
|
|
179
|
+
}
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
_getMaxContentWidth(view) {
|
|
183
|
+
const maxContentWidth = BarsaApi.Common.Util.TryGetValue(view, 'ExtraJsonProp.MaxWidth', '0');
|
|
184
|
+
return maxContentWidth;
|
|
185
|
+
}
|
|
186
|
+
_addListener(context) {
|
|
187
|
+
if (!context) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
context.on({
|
|
191
|
+
GroupBRuleChanged: this._groupBRuleChanged.bind(this),
|
|
192
|
+
TitleChanged: this._titleChanged.bind(this),
|
|
193
|
+
WizardNextStep: this._wizardNextStep.bind(this),
|
|
194
|
+
DoLayout: this._doLayout.bind(this),
|
|
195
|
+
MaskChanged: this._maskChanged.bind(this),
|
|
196
|
+
ForceClose: this._forceClose.bind(this),
|
|
197
|
+
Refresh: this._refresh.bind(this)
|
|
198
|
+
});
|
|
199
|
+
context.toolbar.on({
|
|
200
|
+
ToolbarItemsChanged: this._toolbarItemsChanged.bind(this)
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
_refresh() {
|
|
204
|
+
this._initialize(this._context);
|
|
205
|
+
// this._prepareView(this._context.Setting.View);
|
|
206
|
+
}
|
|
207
|
+
_forceClose() {
|
|
208
|
+
this._forceCloseSource.next();
|
|
209
|
+
}
|
|
210
|
+
_maskChanged(mask) {
|
|
211
|
+
this._maskSource.next(mask);
|
|
212
|
+
}
|
|
213
|
+
_toolbarItemsChanged(items) {
|
|
214
|
+
this._toolbarItemsSource.next(items);
|
|
215
|
+
}
|
|
216
|
+
_titleChanged(title) {
|
|
217
|
+
this._titleSource.next(title);
|
|
218
|
+
}
|
|
219
|
+
_wizardNextStep() {
|
|
220
|
+
this._wizardNextStepSource.next();
|
|
221
|
+
}
|
|
222
|
+
_doLayout(context) {
|
|
223
|
+
const view = context.Setting.View;
|
|
224
|
+
this._viewSource.next(view);
|
|
225
|
+
}
|
|
226
|
+
_groupBRuleChanged(groupItem) {
|
|
227
|
+
this._groupBRuleSource.next(groupItem);
|
|
228
|
+
}
|
|
229
|
+
_prepareContext(context) {
|
|
230
|
+
this._addListener(context);
|
|
231
|
+
this._initialize(context);
|
|
232
|
+
this._context = context;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1wYW5lbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9mb3JtLXBhbmVsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFvRC9DO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFwQ1osZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQVV4QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2hELCtCQUEwQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzNELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3hELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENB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LENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ1MsZUFBZTtRQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNTLFNBQVMsQ0FBQyxPQUFPO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDUyxrQkFBa0IsQ0FBQyxTQUF3QjtRQUNqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDUyxlQUFlLENBQUMsT0FBTztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRlbGF5LCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtVmlld1NldHRpbmcsIElIZWFkZXJMYXlvdXQsIExheW91dFNldHRpbmcsIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscyc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMvYmFyc2EtYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXZpY2VXaWR0aCwgZ2V0SGVhZGVyVmFsdWUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybVBhbmVsU2VydmljZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIGNvbnRleHQkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgc2VhcmNoUGFuZWxJc09iamVjdCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaXNTZWFyY2hQYW5lbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgd29ya2Zsb3dQYW5lbFVpJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIG1vJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsPjtcbiAgICB2aWV3JDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHRvb2xiYXJJdGVtcyQ6IE9ic2VydmFibGU8YW55W10+O1xuICAgIG1heENvbnRlbnRXaWR0aCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICB3aXphcmROZXh0U3RlcCQ6IE9ic2VydmFibGU8dm9pZD47XG4gICAgbGF5b3V0JDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGZvcmNlQ2xvc2UkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICAgIGdyb3VwTGF5b3V0JDogT2JzZXJ2YWJsZTxMYXlvdXRTZXR0aW5nPjtcbiAgICBpc1NpbXBsZUZvcm0kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGZvcm1XaWR0aCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICB0b29sYmFyVmlzaWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGVhZGVyTGF5b3V0JDogT2JzZXJ2YWJsZTxJSGVhZGVyTGF5b3V0PjtcbiAgICBfaGlkZUNsb3NlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIF9oaWRlVGl0bGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgX2hpZGVQaW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgdGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgaGVhZGVyRGVzY3JpcHRpb24kOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhlYWRlclN1YnRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGF2YXRhciQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBtYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmaWVsZERpY3QkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ+O1xuXG4gICAgcHJpdmF0ZSBfY29udGV4dDtcbiAgICBwcml2YXRlIF9jb250ZXh0U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX3NlYXJjaFBhbmVsSXNPYmplY3RTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIF9pc1NlYXJjaFBhbmVsU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBfd29ya2Zsb3dQYW5lbFVpU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX21vU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX3ZpZXdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gICAgcHJpdmF0ZSBfdG9vbGJhckl0ZW1zU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICAgIHByaXZhdGUgX3RpdGxlU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIF9tYXhDb250ZW50V2lkdGhTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ2F1dG8nKTtcbiAgICBwcml2YXRlIF93aXphcmROZXh0U3RlcFNvdXJjZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfbGF5b3V0U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX2ZvcmNlQ2xvc2VTb3VyY2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX2dyb3VwQlJ1bGVTb3VyY2UgPSBuZXcgU3ViamVjdDxMYXlvdXRTZXR0aW5nPigpO1xuICAgIHByaXZhdGUgX2lzU2ltcGxlRm9ybVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX2Zvcm1XaWR0aFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignMTAwJScpO1xuICAgIHByaXZhdGUgX3Rvb2xiYXJWaXNpYmxlU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBwcml2YXRlIF9oZWFkZXJMYXlvdXRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gICAgcHJpdmF0ZSBfaGVhZGVyVGl0bGVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgX21hc2tTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIF9oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZ1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX2hlYWRlckRlc2NyaXB0aW9uU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIF9jYW5TZW5kJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29udGV4dCQgPSB0aGlzLl9jb250ZXh0U291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGNvbnRleHQpID0+IHRoaXMuX3ByZXBhcmVDb250ZXh0KGNvbnRleHQpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxJc09iamVjdCQgPSB0aGlzLl9zZWFyY2hQYW5lbElzT2JqZWN0U291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcbiAgICAgICAgdGhpcy5pc1NlYXJjaFBhbmVsJCA9IHRoaXMuX2lzU2VhcmNoUGFuZWxTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLndvcmtmbG93UGFuZWxVaSQgPSB0aGlzLl93b3JrZmxvd1BhbmVsVWlTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuXG4gICAgICAgIHRoaXMubW8kID0gdGhpcy5fbW9Tb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLmZpZWxkRGljdCQgPSB0aGlzLm1vJC5waXBlKFxuICAgICAgICAgICAgbWFwKChjKSA9PiBjLiRGaWVsZERpY3QpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy52aWV3JCA9IHRoaXMuX3ZpZXdTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIHRhcCgodmlldykgPT4gdGhpcy5fcHJlcGFyZVZpZXcodmlldykpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy50b29sYmFySXRlbXMkID0gdGhpcy5fdG9vbGJhckl0ZW1zU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGl0ZW1zKSA9PiB0aGlzLl9maWx0ZXJUb29sYmFySXRlbXMoaXRlbXMpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMubWF4Q29udGVudFdpZHRoJCA9IHRoaXMuX21heENvbnRlbnRXaWR0aFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgbWFwKCh3aWR0aCkgPT4gKHdpZHRoID8gd2lkdGggKyAncHgnIDogJ2F1dG8nKSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLndpemFyZE5leHRTdGVwJCA9IHRoaXMuX3dpemFyZE5leHRTdGVwU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcbiAgICAgICAgdGhpcy5sYXlvdXQkID0gdGhpcy5fbGF5b3V0U291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGxheW91dCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghbGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXlvdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGRldmljZVdpZHRoID0gRGV2aWNlV2lkdGgoKTtcbiAgICAgICAgICAgICAgICBpZiAoZGV2aWNlV2lkdGggPCBsYXlvdXQuQm91bmRzLndpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxheW91dC5Cb3VuZHMud2lkdGggPSBkZXZpY2VXaWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4ubGF5b3V0IH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZm9yY2VDbG9zZSQgPSB0aGlzLl9mb3JjZUNsb3NlU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcblxuICAgICAgICB0aGlzLmdyb3VwTGF5b3V0JCA9IHRoaXMuX2dyb3VwQlJ1bGVTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuXG4gICAgICAgIHRoaXMuaXNTaW1wbGVGb3JtJCA9IHRoaXMuX2lzU2ltcGxlRm9ybVNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG5cbiAgICAgICAgdGhpcy5mb3JtV2lkdGgkID0gdGhpcy5fZm9ybVdpZHRoU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcblxuICAgICAgICB0aGlzLnRvb2xiYXJWaXNpYmxlJCA9IHRoaXMuX3Rvb2xiYXJWaXNpYmxlU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcbiAgICAgICAgdGhpcy50aXRsZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9oZWFkZXJUaXRsZVNvdXJjZS5hc09ic2VydmFibGUoKSwgdGhpcy5fdGl0bGVTb3VyY2UuYXNPYnNlcnZhYmxlKCldKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbaGVhZGVyVGl0bGUsIHRpdGxlXSkgPT4gKGhlYWRlclRpdGxlID8gaGVhZGVyVGl0bGUgOiB0aXRsZSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaGVhZGVyTGF5b3V0JCA9IHRoaXMuX2hlYWRlckxheW91dFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChoZWFkZXJMYXlvdXQpID0+ICEhaGVhZGVyTGF5b3V0KSxcbiAgICAgICAgICAgIHRhcCgoaGVhZGVyTGF5b3V0KSA9PiB0aGlzLl9oZWFkZXJUaXRsZVNvdXJjZS5uZXh0KGdldEhlYWRlclZhbHVlKGhlYWRlckxheW91dD8uVGl0bGUpKSksXG4gICAgICAgICAgICB0YXAoKGhlYWRlckxheW91dCkgPT4gdGhpcy5faGlkZUNsb3NlJC5uZXh0KGhlYWRlckxheW91dD8uSGlkZUNsb3NlKSksXG4gICAgICAgICAgICB0YXAoKGhlYWRlckxheW91dCkgPT4gdGhpcy5faGlkZVRpdGxlJC5uZXh0KGhlYWRlckxheW91dD8uSGlkZVRpdGxlKSksXG4gICAgICAgICAgICB0YXAoKGhlYWRlckxheW91dCkgPT4gdGhpcy5faGlkZVBpbiQubmV4dChoZWFkZXJMYXlvdXQ/LkhpZGVQaW4pKSxcbiAgICAgICAgICAgIHRhcCgoaGVhZGVyTGF5b3V0KSA9PiB0aGlzLl9oZWFkZXJEZXNjcmlwdGlvblNvdXJjZS5uZXh0KGdldEhlYWRlclZhbHVlKGhlYWRlckxheW91dD8uRGVzY3JpcHRpb24pKSksXG4gICAgICAgICAgICB0YXAoKGhlYWRlckxheW91dCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl9oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZ1NvdXJjZS5uZXh0KGdldEhlYWRlclZhbHVlKGhlYWRlckxheW91dD8uUmVtb3ZlQ29udGVudFBhZGRpbmcpKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaGVhZGVyRGVzY3JpcHRpb24kID0gdGhpcy5faGVhZGVyRGVzY3JpcHRpb25Tb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuXG4gICAgICAgIHRoaXMuaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckID0gdGhpcy5faGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmdTb3VyY2VcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoZGVsYXkoMCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG5cbiAgICAgICAgdGhpcy5oZWFkZXJTdWJ0aXRsZSQgPSB0aGlzLmhlYWRlckxheW91dCQucGlwZShcbiAgICAgICAgICAgIG1hcCgoaGVhZGVyTGF5b3V0KSA9PiBnZXRIZWFkZXJWYWx1ZShoZWFkZXJMYXlvdXQ/LlN1YlRpdGxlKSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmF2YXRhciQgPSB0aGlzLmhlYWRlckxheW91dCQucGlwZShcbiAgICAgICAgICAgIG1hcCgoaGVhZGVyTGF5b3V0KSA9PiBnZXRIZWFkZXJWYWx1ZShoZWFkZXJMYXlvdXQ/LkF2YXRhcikpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5tYXNrJCA9IHRoaXMuX21hc2tTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcbiAgICB9XG4gICAgZ2V0IGhpZGVQaW4kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZVBpbiQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIGdldCBoaWRlQ2xvc2UkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZUNsb3NlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgZ2V0IGhpZGVUaXRsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oaWRlVGl0bGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBnZXQgY2FuU2VuZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYW5TZW5kJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgZ2V0IG1vKCk6IE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9Tb3VyY2UuZ2V0VmFsdWUoKTtcbiAgICB9XG4gICAgc2V0IGNvbnRleHQodmFsOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NvbnRleHRTb3VyY2UubmV4dCh2YWwpO1xuICAgIH1cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2NvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jb250ZXh0LnVuKCdHcm91cEJSdWxlQ2hhbmdlZCcsIHRoaXMuX2dyb3VwQlJ1bGVDaGFuZ2VkKTtcbiAgICAgICAgdGhpcy5fY29udGV4dC51bignVGl0bGVDaGFuZ2VkJywgdGhpcy5fdGl0bGVDaGFuZ2VkKTtcbiAgICAgICAgdGhpcy5fY29udGV4dC51bignV2l6YXJkTmV4dFN0ZXAnLCB0aGlzLl93aXphcmROZXh0U3RlcCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQudW4oJ0RvTGF5b3V0JywgdGhpcy5fZG9MYXlvdXQpO1xuICAgICAgICB0aGlzLl9jb250ZXh0LnVuKCdNYXNrQ2hhbmdlZCcsIHRoaXMuX21hc2tDaGFuZ2VkKTtcbiAgICAgICAgdGhpcy5fY29udGV4dC51bignRm9yY2VDbG9zZScsIHRoaXMuX2ZvcmNlQ2xvc2UpO1xuICAgICAgICB0aGlzLl9jb250ZXh0LnRvb2xiYXIudW4oJ1Rvb2xiYXJJdGVtc0NoYW5nZWQnLCB0aGlzLl90b29sYmFySXRlbXNDaGFuZ2VkKTtcbiAgICAgICAgdGhpcy5fY29udGV4dCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2xheW91dFNvdXJjZS5uZXh0KG51bGwpO1xuICAgICAgICAvLyB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICB9XG5cbiAgICB0b29sYmFyQ2xpY2soYnRuKTogdm9pZCB7XG4gICAgICAgIGJ0bi5oYW5kbGVyKGJ0biwgdGhpcy5fY29udGV4dCk7XG4gICAgfVxuICAgIHdmQ2hvaWNlKGJ0bik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb250ZXh0LldvcmtmbG93UGFuZWxVaS5maXJlRXZlbnQoJ0Nob2ljZVNlbGVjdCcsIGJ0biwgdGhpcy5fY29udGV4dCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9pbml0aWFsaXplKGNvbnRleHQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl93b3JrZmxvd1BhbmVsVWlTb3VyY2UubmV4dChjb250ZXh0Py5Xb3JrZmxvd1BhbmVsVWkpO1xuICAgICAgICB0aGlzLl9pc1NlYXJjaFBhbmVsU291cmNlLm5leHQoY29udGV4dD8uU2V0dGluZz8uSXNTZWFyY2hQYW5lbCk7XG4gICAgICAgIHRoaXMuX2NhblNlbmQkLm5leHQoY29udGV4dD8uU2V0dGluZz8uQ2FuU2VuZCk7XG4gICAgICAgIHRoaXMuX3NlYXJjaFBhbmVsSXNPYmplY3RTb3VyY2UubmV4dChjb250ZXh0Py5TZXR0aW5nPy5QYXJhbWV0ZXJUeXBlSXNPYmplY3QpO1xuICAgICAgICB0aGlzLl9tb1NvdXJjZS5uZXh0KGNvbnRleHQ/Lk1vKTtcbiAgICAgICAgdGhpcy5fdmlld1NvdXJjZS5uZXh0KGNvbnRleHQ/LlNldHRpbmc/LlZpZXcpO1xuICAgICAgICB0aGlzLl90b29sYmFySXRlbXNTb3VyY2UubmV4dChjb250ZXh0Py50b29sYmFyPy5pdGVtcyk7XG4gICAgICAgIGlmIChjb250ZXh0Py50b29sYmFyKSB7XG4gICAgICAgICAgICBjb250ZXh0LnRvb2xiYXIub24oe1xuICAgICAgICAgICAgICAgIFRvb2xiYXJJdGVtc0NoYW5nZWQ6IHRoaXMuX3Rvb2xiYXJJdGVtc0NoYW5nZWQuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdGl0bGVTb3VyY2U/Lm5leHQoY29udGV4dD8udGl0bGUpO1xuICAgICAgICB0aGlzLl90b29sYmFyVmlzaWJsZVNvdXJjZS5uZXh0KHRoaXMuX2dldFRvb2xiYXJWaXNpYmlsaXR5KGNvbnRleHQpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3ByZXBhcmVWaWV3KHZpZXcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0U291cmNlLm5leHQodmlldz8uTGF5b3V0OTQpO1xuICAgICAgICB0aGlzLl9tYXhDb250ZW50V2lkdGhTb3VyY2UubmV4dCh0aGlzLl9nZXRNYXhDb250ZW50V2lkdGgodmlldykpO1xuICAgICAgICB0aGlzLl9pc1NpbXBsZUZvcm1Tb3VyY2UubmV4dCh0aGlzLl9nZXRJc1NpbXBsZUZvcm0odmlldykpO1xuICAgICAgICB0aGlzLl9oZWFkZXJMYXlvdXRTb3VyY2UubmV4dCh0aGlzLl9nZXRIZWFkZXJMYXlvdXQodmlldykpO1xuICAgICAgICB0aGlzLl9mb3JtV2lkdGhTb3VyY2UubmV4dCh2aWV3Py5pbkRpYWxvZyA/IHZpZXcuTGF5b3V0OTQuQm91bmRzLndpZHRoICsgJ3B4JyA6ICcxMDAlJyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZmlsdGVyVG9vbGJhckl0ZW1zKGl0ZW1zOiBBcnJheTxhbnk+KTogQXJyYXk8YW55PiB7XG4gICAgICAgIGlmICghaXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdJdGVtcyA9IGl0ZW1zLmZpbHRlcigoYykgPT4gIWMuaGlkZGVuKTtcbiAgICAgICAgbmV3SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0ubWVudSkge1xuICAgICAgICAgICAgICAgIGl0ZW0ubWVudS5pdGVtcyA9IGl0ZW0ubWVudS5pdGVtcy5maWx0ZXIoKGMpID0+ICFjLmhpZGRlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3SXRlbXMuc29ydCgoYSk6IG51bWJlciA9PiAodHlwZW9mIGEgPT0gJ3N0cmluZycgPyAwIDogYS5JQW1NZW51ID8gMSA6IC0xKSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZ2V0SGVhZGVyTGF5b3V0KHZpZXcpOiBJSGVhZGVyTGF5b3V0IHtcbiAgICAgICAgY29uc3QgaGVhZGVyTGF5b3V0ID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodmlldywgJ0hlYWRlckxheW91dCcsIG51bGwpO1xuXG4gICAgICAgIGlmIChoZWFkZXJMYXlvdXQpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuc2V0SGVhZGVyVGl0bGVBbmRTdWJ0aXRsZUFuZEF2YXRhcihoZWFkZXJMYXlvdXQpO1xuICAgICAgICAgICAgY29uc3QgdDogYW55W10gPSBbXTtcbiAgICAgICAgICAgIGhlYWRlckxheW91dC5GYWNldExpc3QuTW9EYXRhTGlzdC5mb3JFYWNoKChmYWNldENvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGZhY2V0Q29sdW1uLkNvbHVtblNldHRpbmdzLiRGb3JtUGFuZWxTZXR0aW5nLkRhdGEuTW8uVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgbW86IGZhY2V0Q29sdW1uLkNvbHVtblNldHRpbmdzLiRGb3JtUGFuZWxTZXR0aW5nLkRhdGEuTW9cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaGVhZGVyTGF5b3V0LkZhY2V0TGlzdDIgPSB0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoZWFkZXJMYXlvdXQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9nZXRJc1NpbXBsZUZvcm0odmlldzogRm9ybVZpZXdTZXR0aW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzU2ltcGxlID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodmlldywgJ0V4dHJhSnNvblByb3AuSXNTaW1wbGUnLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiBpc1NpbXBsZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9nZXRUb29sYmFyVmlzaWJpbGl0eShjb250ZXh0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghY29udGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhpZGVUb29sYmFyID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoY29udGV4dCwgJ3Rvb2xiYXIuaGlkZVRvb2xiYXInLCBmYWxzZSk7XG4gICAgICAgIGlmIChoaWRlVG9vbGJhcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgRm9ybVNldHRpbmdzIH0gPSBjb250ZXh0LlNldHRpbmcuVmlldztcbiAgICAgICAgaWYgKEZvcm1TZXR0aW5ncykge1xuICAgICAgICAgICAgY29uc3Qgc2hvd1Rvb2xiYXIgPSBGb3JtU2V0dGluZ3MuU2hvd1Rvb2xiYXIgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICAgICAgY29uc3QgZmVhdHVyZVRvb2xiYXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShjb250ZXh0LCAnRmVhdHVyZXMuVG9vbGJhcicsIGZhbHNlKTtcblxuICAgICAgICAgICAgY29uc3QgdmlzaWJsZSA9IChmZWF0dXJlVG9vbGJhciAmJiBzaG93VG9vbGJhcikgIT09IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZ2V0TWF4Q29udGVudFdpZHRoKHZpZXcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtYXhDb250ZW50V2lkdGggPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh2aWV3LCAnRXh0cmFKc29uUHJvcC5NYXhXaWR0aCcsICcwJyk7XG4gICAgICAgIHJldHVybiBtYXhDb250ZW50V2lkdGg7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfYWRkTGlzdGVuZXIoY29udGV4dCk6IHZvaWQge1xuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0Lm9uKHtcbiAgICAgICAgICAgIEdyb3VwQlJ1bGVDaGFuZ2VkOiB0aGlzLl9ncm91cEJSdWxlQ2hhbmdlZC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgVGl0bGVDaGFuZ2VkOiB0aGlzLl90aXRsZUNoYW5nZWQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIFdpemFyZE5leHRTdGVwOiB0aGlzLl93aXphcmROZXh0U3RlcC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgRG9MYXlvdXQ6IHRoaXMuX2RvTGF5b3V0LmJpbmQodGhpcyksXG4gICAgICAgICAgICBNYXNrQ2hhbmdlZDogdGhpcy5fbWFza0NoYW5nZWQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIEZvcmNlQ2xvc2U6IHRoaXMuX2ZvcmNlQ2xvc2UuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIFJlZnJlc2g6IHRoaXMuX3JlZnJlc2guYmluZCh0aGlzKVxuICAgICAgICB9KTtcbiAgICAgICAgY29udGV4dC50b29sYmFyLm9uKHtcbiAgICAgICAgICAgIFRvb2xiYXJJdGVtc0NoYW5nZWQ6IHRoaXMuX3Rvb2xiYXJJdGVtc0NoYW5nZWQuYmluZCh0aGlzKVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yZWZyZXNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplKHRoaXMuX2NvbnRleHQpO1xuICAgICAgICAvLyB0aGlzLl9wcmVwYXJlVmlldyh0aGlzLl9jb250ZXh0LlNldHRpbmcuVmlldyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZm9yY2VDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9yY2VDbG9zZVNvdXJjZS5uZXh0KCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfbWFza0NoYW5nZWQobWFzayk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tYXNrU291cmNlLm5leHQobWFzayk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfdG9vbGJhckl0ZW1zQ2hhbmdlZChpdGVtcyk6IHZvaWQge1xuICAgICAgICB0aGlzLl90b29sYmFySXRlbXNTb3VyY2UubmV4dChpdGVtcyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfdGl0bGVDaGFuZ2VkKHRpdGxlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpdGxlU291cmNlLm5leHQodGl0bGUpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3dpemFyZE5leHRTdGVwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl93aXphcmROZXh0U3RlcFNvdXJjZS5uZXh0KCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZG9MYXlvdXQoY29udGV4dCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2aWV3ID0gY29udGV4dC5TZXR0aW5nLlZpZXc7XG4gICAgICAgIHRoaXMuX3ZpZXdTb3VyY2UubmV4dCh2aWV3KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9ncm91cEJSdWxlQ2hhbmdlZChncm91cEl0ZW06IExheW91dFNldHRpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JvdXBCUnVsZVNvdXJjZS5uZXh0KGdyb3VwSXRlbSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcHJlcGFyZUNvbnRleHQoY29udGV4dCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hZGRMaXN0ZW5lcihjb250ZXh0KTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZShjb250ZXh0KTtcbiAgICAgICAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
export class FormService {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.fromListSubject = new BehaviorSubject([]);
|
|
5
|
+
this.formList$ = this.fromListSubject.asObservable();
|
|
6
|
+
}
|
|
7
|
+
openCompose(formComposeId) {
|
|
8
|
+
this.fromListSubject.next([...this.fromListSubject.value, formComposeId]);
|
|
9
|
+
}
|
|
10
|
+
closeCompose(formComposeId) {
|
|
11
|
+
this.fromListSubject.next(this.fromListSubject.value.filter((id) => id !== formComposeId));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxNQUFNLE9BQU8sV0FBVztJQUdwQjtRQURRLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFDRCxXQUFXLENBQUMsYUFBcUI7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELFlBQVksQ0FBQyxhQUFxQjtRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybVNlcnZpY2Uge1xuICAgIGZvcm1MaXN0JDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gICAgcHJpdmF0ZSBmcm9tTGlzdFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9ybUxpc3QkID0gdGhpcy5mcm9tTGlzdFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIG9wZW5Db21wb3NlKGZvcm1Db21wb3NlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZyb21MaXN0U3ViamVjdC5uZXh0KFsuLi50aGlzLmZyb21MaXN0U3ViamVjdC52YWx1ZSwgZm9ybUNvbXBvc2VJZF0pO1xuICAgIH1cbiAgICBjbG9zZUNvbXBvc2UoZm9ybUNvbXBvc2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZnJvbUxpc3RTdWJqZWN0Lm5leHQodGhpcy5mcm9tTGlzdFN1YmplY3QudmFsdWUuZmlsdGVyKChpZCkgPT4gaWQgIT09IGZvcm1Db21wb3NlSWQpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
export class HorizontalLayoutService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.controlFlexColumnSource = new BehaviorSubject({});
|
|
6
|
+
this.displayTextFlexColumn$ = this.controlFlexColumnSource
|
|
7
|
+
.asObservable()
|
|
8
|
+
.pipe(map((controlFlexColumn) => Object.keys(controlFlexColumn).some((c) => controlFlexColumn[c])));
|
|
9
|
+
}
|
|
10
|
+
setFlexColumn(id, val) {
|
|
11
|
+
const flexColumn = this.controlFlexColumnSource.getValue();
|
|
12
|
+
flexColumn[id] = val;
|
|
13
|
+
this.controlFlexColumnSource.next(flexColumn);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1sYXlvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvc2VydmljZXMvaG9yaXpvbnRhbC1sYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxNQUFNLE9BQU8sdUJBQXVCO0lBSWhDO1FBRlEsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBR3ZFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCO2FBQ3JELFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUNELGFBQWEsQ0FBQyxFQUFFLEVBQUUsR0FBWTtRQUMxQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0QsVUFBVSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgSG9yaXpvbnRhbExheW91dFNlcnZpY2Uge1xuICAgIGRpc3BsYXlUZXh0RmxleENvbHVtbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHJpdmF0ZSBjb250cm9sRmxleENvbHVtblNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGlzcGxheVRleHRGbGV4Pih7fSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5VGV4dEZsZXhDb2x1bW4kID0gdGhpcy5jb250cm9sRmxleENvbHVtblNvdXJjZVxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShtYXAoKGNvbnRyb2xGbGV4Q29sdW1uKSA9PiBPYmplY3Qua2V5cyhjb250cm9sRmxleENvbHVtbikuc29tZSgoYykgPT4gY29udHJvbEZsZXhDb2x1bW5bY10pKSk7XG4gICAgfVxuICAgIHNldEZsZXhDb2x1bW4oaWQsIHZhbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBmbGV4Q29sdW1uID0gdGhpcy5jb250cm9sRmxleENvbHVtblNvdXJjZS5nZXRWYWx1ZSgpO1xuICAgICAgICBmbGV4Q29sdW1uW2lkXSA9IHZhbDtcbiAgICAgICAgdGhpcy5jb250cm9sRmxleENvbHVtblNvdXJjZS5uZXh0KGZsZXhDb2x1bW4pO1xuICAgIH1cbn1cbmludGVyZmFjZSBEaXNwbGF5VGV4dEZsZXgge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './api.service';
|
|
2
|
+
export * from './breadcrumb.service';
|
|
3
|
+
export * from './barsa-dialog.service';
|
|
4
|
+
export * from './dynamic-component.service';
|
|
5
|
+
export * from './form-panel.service';
|
|
6
|
+
export * from './form.service';
|
|
7
|
+
export * from './container.service';
|
|
8
|
+
export * from './horizontal-layout.service';
|
|
9
|
+
export * from './layout.service';
|
|
10
|
+
export * from './log.service';
|
|
11
|
+
export * from './portal.service';
|
|
12
|
+
export * from './ui.service';
|
|
13
|
+
export * from './ulvmain.service';
|
|
14
|
+
export * from './upload.service';
|
|
15
|
+
export * from './network-status.service';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcGkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2JhcnNhLWRpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tcGFuZWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaG9yaXpvbnRhbC1sYXlvdXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wb3J0YWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3VpLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91bHZtYWluLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91cGxvYWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25ldHdvcmstc3RhdHVzLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class LayoutService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.rendered = new BehaviorSubject(false);
|
|
8
|
+
this.maxWidth = new BehaviorSubject(0);
|
|
9
|
+
this.refreshLayoutSource = new Subject();
|
|
10
|
+
this.horizontalSource = new Subject();
|
|
11
|
+
this._listOfHorizontal = [];
|
|
12
|
+
this.rootRendered$ = this.rendered.asObservable();
|
|
13
|
+
this.maxWidth$ = this.maxWidth.asObservable();
|
|
14
|
+
this.refreshLayout$ = this.refreshLayoutSource.asObservable();
|
|
15
|
+
this.horizontal$ = this.horizontalSource.asObservable().pipe(distinctUntilChanged((a, b) => a === b));
|
|
16
|
+
}
|
|
17
|
+
setRendered(val) {
|
|
18
|
+
this.rendered.next(val);
|
|
19
|
+
}
|
|
20
|
+
setMaxWidth(val) {
|
|
21
|
+
if (this.maxWidth.value < val) {
|
|
22
|
+
this.maxWidth.next(val);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
refreshLayout() {
|
|
26
|
+
this.refreshLayoutSource.next();
|
|
27
|
+
}
|
|
28
|
+
addHorizontal(id) {
|
|
29
|
+
this._listOfHorizontal = [...this._listOfHorizontal, id];
|
|
30
|
+
this.horizontalSource.next(this._listOfHorizontal);
|
|
31
|
+
}
|
|
32
|
+
removeHorizontal(id) {
|
|
33
|
+
this._listOfHorizontal = this._listOfHorizontal.filter((c) => c !== id);
|
|
34
|
+
this.horizontalSource.next(this._listOfHorizontal);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
LayoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
LayoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutService });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutService, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}], ctorParameters: function () { return []; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3RELE1BQU0sT0FBTyxhQUFhO0lBY3RCO1FBTlEsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9DLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUMxQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFTLENBQUM7UUFDeEMsc0JBQWlCLEdBQVUsRUFBRSxDQUFDO1FBR2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUNELFdBQVcsQ0FBQyxHQUFZO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXLENBQUMsR0FBRztRQUNYLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUNELGFBQWE7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUNELGFBQWEsQ0FBQyxFQUFFO1FBQ1osSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2RCxDQUFDOzswR0F0Q1EsYUFBYTs4R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGF5b3V0U2VydmljZSB7XG4gICAgcm9vdFJlbmRlcmVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBtYXhXaWR0aCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICByZWZyZXNoTGF5b3V0JDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICBob3Jpem9udGFsJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgaWQ6IHN0cmluZztcbiAgICBpc1RhYjogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgcmVuZGVyZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIG1heFdpZHRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgcmVmcmVzaExheW91dFNvdXJjZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBob3Jpem9udGFsU291cmNlID0gbmV3IFN1YmplY3Q8YW55W10+KCk7XG4gICAgcHJpdmF0ZSBfbGlzdE9mSG9yaXpvbnRhbDogYW55W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnJvb3RSZW5kZXJlZCQgPSB0aGlzLnJlbmRlcmVkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB0aGlzLm1heFdpZHRoJCA9IHRoaXMubWF4V2lkdGguYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMucmVmcmVzaExheW91dCQgPSB0aGlzLnJlZnJlc2hMYXlvdXRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbCQgPSB0aGlzLmhvcml6b250YWxTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYSA9PT0gYikpO1xuICAgIH1cbiAgICBzZXRSZW5kZXJlZCh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlZC5uZXh0KHZhbCk7XG4gICAgfVxuICAgIHNldE1heFdpZHRoKHZhbCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tYXhXaWR0aC52YWx1ZSA8IHZhbCkge1xuICAgICAgICAgICAgdGhpcy5tYXhXaWR0aC5uZXh0KHZhbCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVmcmVzaExheW91dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoTGF5b3V0U291cmNlLm5leHQoKTtcbiAgICB9XG4gICAgYWRkSG9yaXpvbnRhbChpZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9saXN0T2ZIb3Jpem9udGFsID0gWy4uLnRoaXMuX2xpc3RPZkhvcml6b250YWwsIGlkXTtcbiAgICAgICAgdGhpcy5ob3Jpem9udGFsU291cmNlLm5leHQodGhpcy5fbGlzdE9mSG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIHJlbW92ZUhvcml6b250YWwoaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdE9mSG9yaXpvbnRhbCA9IHRoaXMuX2xpc3RPZkhvcml6b250YWwuZmlsdGVyKChjKSA9PiBjICE9PSBpZCk7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFNvdXJjZS5uZXh0KHRoaXMuX2xpc3RPZkhvcml6b250YWwpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// angular
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LogService {
|
|
5
|
+
// info (extra messages like analytics)
|
|
6
|
+
// use LEVEL_5 to see only these
|
|
7
|
+
info(...msg) {
|
|
8
|
+
if (LogService.DEBUG.LEVEL_5 || LogService.DEBUG.LEVEL_4) {
|
|
9
|
+
// extra messages
|
|
10
|
+
/* eslint-disable */
|
|
11
|
+
console.info(msg);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
// debug (standard output)
|
|
15
|
+
debug(...msg) {
|
|
16
|
+
if (LogService.DEBUG.LEVEL_4 || LogService.DEBUG.LEVEL_3) {
|
|
17
|
+
// console.debug does not work on {N} apps... use `log`
|
|
18
|
+
/* eslint-disable */
|
|
19
|
+
console.debug(msg);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// error
|
|
23
|
+
error(...err) {
|
|
24
|
+
if (LogService.DEBUG.LEVEL_4 || LogService.DEBUG.LEVEL_3 || LogService.DEBUG.LEVEL_2) {
|
|
25
|
+
console.error(err);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// warn
|
|
29
|
+
warn(...warn) {
|
|
30
|
+
if (LogService.DEBUG.LEVEL_4 || LogService.DEBUG.LEVEL_3 || LogService.DEBUG.LEVEL_1) {
|
|
31
|
+
console.warn(warn);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
LogService.DEBUG = {
|
|
36
|
+
LEVEL_1: false,
|
|
37
|
+
LEVEL_2: false,
|
|
38
|
+
LEVEL_3: false,
|
|
39
|
+
LEVEL_4: false,
|
|
40
|
+
LEVEL_5: false // just info (excluding all else)
|
|
41
|
+
};
|
|
42
|
+
LogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
LogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LogService, providedIn: 'root' });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LogService, decorators: [{
|
|
45
|
+
type: Injectable,
|
|
46
|
+
args: [{
|
|
47
|
+
providedIn: 'root'
|
|
48
|
+
}]
|
|
49
|
+
}] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2xvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWEzQyxNQUFNLE9BQU8sVUFBVTtJQVNuQix1Q0FBdUM7SUFDdkMsZ0NBQWdDO0lBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQWU7UUFDMUIsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUN0RCxpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBRUQsMEJBQTBCO0lBQ25CLEtBQUssQ0FBQyxHQUFHLEdBQWU7UUFDM0IsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUN0RCx1REFBdUQ7WUFDdkQsb0JBQW9CO1lBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsUUFBUTtJQUNELEtBQUssQ0FBQyxHQUFHLEdBQWU7UUFDM0IsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNsRixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELE9BQU87SUFDQSxJQUFJLENBQUMsR0FBRyxJQUFnQjtRQUMzQixJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2xGLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDOztBQXZDYSxnQkFBSyxHQUFXO0lBQzFCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLEtBQUssQ0FBQyxpQ0FBaUM7Q0FDbkQsQ0FBQzt1R0FQTyxVQUFVOzJHQUFWLFVBQVUsY0FGUCxNQUFNOzJGQUVULFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYW5ndWxhclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEZWJ1ZyB7XG4gICAgTEVWRUxfMTogYm9vbGVhbjtcbiAgICBMRVZFTF8yOiBib29sZWFuO1xuICAgIExFVkVMXzM6IGJvb2xlYW47XG4gICAgTEVWRUxfNDogYm9vbGVhbjtcbiAgICBMRVZFTF81OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvZ1NlcnZpY2Uge1xuICAgIHB1YmxpYyBzdGF0aWMgREVCVUc6IElEZWJ1ZyA9IHtcbiAgICAgICAgTEVWRUxfMTogZmFsc2UsIC8vIC53YXJuIG9ubHlcbiAgICAgICAgTEVWRUxfMjogZmFsc2UsIC8vIC5lcnJvciBvbmx5XG4gICAgICAgIExFVkVMXzM6IGZhbHNlLCAvLyAubG9nICsgYWxsIHRoZSBhYm92ZVxuICAgICAgICBMRVZFTF80OiBmYWxzZSwgLy8gLmxvZyArIGFsbCB0aGUgYWJvdmUgKyBpbmZvXG4gICAgICAgIExFVkVMXzU6IGZhbHNlIC8vIGp1c3QgaW5mbyAoZXhjbHVkaW5nIGFsbCBlbHNlKVxuICAgIH07XG5cbiAgICAvLyBpbmZvIChleHRyYSBtZXNzYWdlcyBsaWtlIGFuYWx5dGljcylcbiAgICAvLyB1c2UgTEVWRUxfNSB0byBzZWUgb25seSB0aGVzZVxuICAgIHB1YmxpYyBpbmZvKC4uLm1zZzogQXJyYXk8YW55Pik6IHZvaWQge1xuICAgICAgICBpZiAoTG9nU2VydmljZS5ERUJVRy5MRVZFTF81IHx8IExvZ1NlcnZpY2UuREVCVUcuTEVWRUxfNCkge1xuICAgICAgICAgICAgLy8gZXh0cmEgbWVzc2FnZXNcbiAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgICAgICAgICBjb25zb2xlLmluZm8obXNnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlYnVnIChzdGFuZGFyZCBvdXRwdXQpXG4gICAgcHVibGljIGRlYnVnKC4uLm1zZzogQXJyYXk8YW55Pik6IHZvaWQge1xuICAgICAgICBpZiAoTG9nU2VydmljZS5ERUJVRy5MRVZFTF80IHx8IExvZ1NlcnZpY2UuREVCVUcuTEVWRUxfMykge1xuICAgICAgICAgICAgLy8gY29uc29sZS5kZWJ1ZyBkb2VzIG5vdCB3b3JrIG9uIHtOfSBhcHBzLi4uIHVzZSBgbG9nYFxuICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcobXNnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVycm9yXG4gICAgcHVibGljIGVycm9yKC4uLmVycjogQXJyYXk8YW55Pik6IHZvaWQge1xuICAgICAgICBpZiAoTG9nU2VydmljZS5ERUJVRy5MRVZFTF80IHx8IExvZ1NlcnZpY2UuREVCVUcuTEVWRUxfMyB8fCBMb2dTZXJ2aWNlLkRFQlVHLkxFVkVMXzIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHdhcm5cbiAgICBwdWJsaWMgd2FybiguLi53YXJuOiBBcnJheTxhbnk+KTogdm9pZCB7XG4gICAgICAgIGlmIChMb2dTZXJ2aWNlLkRFQlVHLkxFVkVMXzQgfHwgTG9nU2VydmljZS5ERUJVRy5MRVZFTF8zIHx8IExvZ1NlcnZpY2UuREVCVUcuTEVWRUxfMSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKHdhcm4pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { fromEvent, merge, of } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NetworkStatusService {
|
|
6
|
+
get networkStatus$() {
|
|
7
|
+
return merge(of(null), fromEvent(window, 'online'), fromEvent(window, 'offline')).pipe(map(() => navigator.onLine));
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
NetworkStatusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NetworkStatusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
NetworkStatusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NetworkStatusService });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NetworkStatusService, decorators: [{
|
|
13
|
+
type: Injectable
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1zdGF0dXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvc2VydmljZXMvbmV0d29yay1zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3JDLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsSUFBSSxjQUFjO1FBQ2QsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbEYsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDOUIsQ0FBQztJQUNOLENBQUM7O2lIQUxRLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZXR3b3JrU3RhdHVzU2VydmljZSB7XG4gICAgZ2V0IG5ldHdvcmtTdGF0dXMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gbWVyZ2Uob2YobnVsbCksIGZyb21FdmVudCh3aW5kb3csICdvbmxpbmUnKSwgZnJvbUV2ZW50KHdpbmRvdywgJ29mZmxpbmUnKSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiBuYXZpZ2F0b3Iub25MaW5lKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|