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,45 @@
|
|
|
1
|
+
import { Input, Component, EventEmitter, Output, HostBinding, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { BaseComponent } from '../base.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class FormToolbarBaseComponent extends BaseComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.visible = true;
|
|
8
|
+
this.toolClick = new EventEmitter();
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
super.ngOnInit();
|
|
12
|
+
this._rtl = this.rtl;
|
|
13
|
+
}
|
|
14
|
+
onToolClick(btn) {
|
|
15
|
+
this.toolClick.emit(btn);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
FormToolbarBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormToolbarBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
FormToolbarBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FormToolbarBaseComponent, selector: "bnrc-form-toolbar-base", inputs: { buttons: "buttons", visible: "visible", size: "size", device: "device", deviceSize: "deviceSize", rtl: "rtl" }, outputs: { toolClick: "toolClick" }, host: { properties: { "attr.rtl": "this._rtl" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormToolbarBaseComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{
|
|
23
|
+
selector: 'bnrc-form-toolbar-base',
|
|
24
|
+
template: '',
|
|
25
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
26
|
+
}]
|
|
27
|
+
}], propDecorators: { buttons: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], visible: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], size: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], device: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], deviceSize: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], rtl: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], toolClick: [{
|
|
40
|
+
type: Output
|
|
41
|
+
}], _rtl: [{
|
|
42
|
+
type: HostBinding,
|
|
43
|
+
args: ['attr.rtl']
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10b29sYmFyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvZm9ybS10b29sYmFyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1sRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUwzRDs7UUFPYSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBS2QsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FVakQ7SUFSRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQUc7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDOztxSEFoQlEsd0JBQXdCO3lHQUF4Qix3QkFBd0IsdVNBSHZCLEVBQUU7MkZBR0gsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFFWSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDa0IsSUFBSTtzQkFBNUIsV0FBVzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIEhvc3RCaW5kaW5nLCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS5jb21wb25lbnQnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLWZvcm0tdG9vbGJhci1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVRvb2xiYXJCYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYnV0dG9uczogYW55W107XG4gICAgQElucHV0KCkgdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgc2l6ZTogYW55O1xuICAgIEBJbnB1dCgpIGRldmljZTogYW55O1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IGFueTtcbiAgICBASW5wdXQoKSBydGw6IGJvb2xlYW47XG4gICAgQE91dHB1dCgpIHRvb2xDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5ydGwnKSBfcnRsO1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLl9ydGwgPSB0aGlzLnJ0bDtcbiAgICB9XG5cbiAgICBvblRvb2xDbGljayhidG4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b29sQ2xpY2suZW1pdChidG4pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export * from './field-base';
|
|
3
|
+
export * from './form-base';
|
|
4
|
+
export * from './form-toolbar-base';
|
|
5
|
+
export * from './system-base';
|
|
6
|
+
export * from './report-base';
|
|
7
|
+
export * from './report-item-base';
|
|
8
|
+
export * from './application-base';
|
|
9
|
+
export * from './layout-item-base';
|
|
10
|
+
export * from './layout-panel-base';
|
|
11
|
+
export * from './page-base';
|
|
12
|
+
export * from './number-base';
|
|
13
|
+
export * from './models';
|
|
14
|
+
export * from './module-with-dynamic-components';
|
|
15
|
+
export * from './files-validation-helper';
|
|
16
|
+
export * from './barsa-api';
|
|
17
|
+
export * from './report-view-base.component';
|
|
18
|
+
export * from './form-props.base';
|
|
19
|
+
export const APP_VERSION = new InjectionToken('AppVersion');
|
|
20
|
+
export const DIALOG_SERVICE = new InjectionToken('DIALOG_SERVICE');
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQVMsWUFBWSxDQUFDLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFTLGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXRvb2xiYXItYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3N5c3RlbS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnQtaXRlbS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24tYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC1pdGVtLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQtcGFuZWwtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlLXdpdGgtZHluYW1pYy1jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMtdmFsaWRhdGlvbi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iYXJzYS1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnQtdmlldy1iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tcHJvcHMuYmFzZSc7XG5leHBvcnQgY29uc3QgQVBQX1ZFUlNJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignQXBwVmVyc2lvbicpO1xuZXhwb3J0IGNvbnN0IERJQUxPR19TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0RJQUxPR19TRVJWSUNFJyk7XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Input, Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { BaseComponent } from '../base.component';
|
|
3
|
+
import { getUniqueId } from '../constants';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../services/form-panel.service";
|
|
6
|
+
export class LayoutItemBaseComponent extends BaseComponent {
|
|
7
|
+
constructor(formPanelService) {
|
|
8
|
+
super();
|
|
9
|
+
this.formPanelService = formPanelService;
|
|
10
|
+
this.id = getUniqueId(4);
|
|
11
|
+
this.formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
|
|
12
|
+
this.isSearchPanel = isSearchPanel;
|
|
13
|
+
});
|
|
14
|
+
this.formPanelService.searchPanelIsObject$.subscribe((searchPanelIsObject) => {
|
|
15
|
+
this.searchPanelIsObject = searchPanelIsObject;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
LayoutItemBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutItemBaseComponent, deps: [{ token: i1.FormPanelService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
LayoutItemBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LayoutItemBaseComponent, selector: "bnrc-layout-item-base", inputs: { config: "config", isPanel: "isPanel" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutItemBaseComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: 'bnrc-layout-item-base',
|
|
25
|
+
template: '',
|
|
26
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.FormPanelService }]; }, propDecorators: { config: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], isPanel: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWl0ZW0tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9sYXlvdXQtaXRlbS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFTM0MsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUFNdEQsWUFBc0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUVwRCxJQUFJLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQzdELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEVBQUU7WUFDekUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7b0hBZlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsc0lBSHRCLEVBQUU7MkZBR0gsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDt1R0FFWSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRVbmlxdWVJZCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS1wYW5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IExheW91dFNldHRpbmcgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1sYXlvdXQtaXRlbS1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBjb25maWc6IExheW91dFNldHRpbmc7XG4gICAgQElucHV0KCkgaXNQYW5lbDogYm9vbGVhbjtcbiAgICBpc1NlYXJjaFBhbmVsOiBib29sZWFuO1xuICAgIHNlYXJjaFBhbmVsSXNPYmplY3Q6IGJvb2xlYW47XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmlkID0gZ2V0VW5pcXVlSWQoNCk7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsU2VydmljZS5pc1NlYXJjaFBhbmVsJC5zdWJzY3JpYmUoKGlzU2VhcmNoUGFuZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCA9IGlzU2VhcmNoUGFuZWw7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1QYW5lbFNlcnZpY2Uuc2VhcmNoUGFuZWxJc09iamVjdCQuc3Vic2NyaWJlKChzZWFyY2hQYW5lbElzT2JqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsSXNPYmplY3QgPSBzZWFyY2hQYW5lbElzT2JqZWN0O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Input, Component, Self, ViewChild, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { getUniqueId } from '../constants';
|
|
3
|
+
import { LayoutItemBaseComponent } from './layout-item-base';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../services/form-panel.service";
|
|
6
|
+
import * as i2 from "../services/layout.service";
|
|
7
|
+
export class LayoutPanelBaseComponent extends LayoutItemBaseComponent {
|
|
8
|
+
constructor(el, formPanelService, layoutService) {
|
|
9
|
+
super(formPanelService);
|
|
10
|
+
this.el = el;
|
|
11
|
+
this.formPanelService = formPanelService;
|
|
12
|
+
this.layoutService = layoutService;
|
|
13
|
+
this.id = getUniqueId(4);
|
|
14
|
+
layoutService.id = 'panel' + this.id;
|
|
15
|
+
this.formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
|
|
16
|
+
this.isSearchPanel = isSearchPanel;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
super.ngOnInit();
|
|
21
|
+
this.maxLabelWidth$ = this.layoutService.maxWidth$;
|
|
22
|
+
this._calcWidth(this.config);
|
|
23
|
+
}
|
|
24
|
+
_calcWidth(config) {
|
|
25
|
+
config.items.forEach((item) => {
|
|
26
|
+
switch (item.xtype) {
|
|
27
|
+
case 'Ly.LayoutJoin':
|
|
28
|
+
this._calcWidth(item);
|
|
29
|
+
break;
|
|
30
|
+
case 'Ly.LayoutControl':
|
|
31
|
+
this._setLabelWidth(item);
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
_setLabelWidth(item) {
|
|
37
|
+
const fieldXtype = item.FieldUi?.originalXtype;
|
|
38
|
+
if (fieldXtype === 'Ui.Button' || fieldXtype === 'Ui.CheckBox' || !item.TextVisible) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const ctx = this.canvasRef.nativeElement.getContext('2d');
|
|
42
|
+
ctx.font = 'normal 0.885rem IRANYekanDigits';
|
|
43
|
+
let labelCaption = item.Caption;
|
|
44
|
+
if (item.FieldUi?.Setting?.IsMandatory) {
|
|
45
|
+
if (labelCaption.indexOf('*') < 0) {
|
|
46
|
+
labelCaption = labelCaption + ' *';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
labelCaption = labelCaption.replace('*', '');
|
|
51
|
+
}
|
|
52
|
+
const labelWidth = ctx.measureText(labelCaption).width;
|
|
53
|
+
let labelWithPadding = labelWidth + 10;
|
|
54
|
+
if (item.FieldUi.Setting.FieldIcon) {
|
|
55
|
+
labelWithPadding += 21;
|
|
56
|
+
}
|
|
57
|
+
const controlWidth = Math.ceil(labelWithPadding);
|
|
58
|
+
this.layoutService.setMaxWidth(controlWidth);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
LayoutPanelBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutPanelBaseComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormPanelService }, { token: i2.LayoutService, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
LayoutPanelBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LayoutPanelBaseComponent, selector: "bnrc-layout-panel-base", inputs: { isPanel: "isPanel", config: "config" }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["canvas"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutPanelBaseComponent, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{
|
|
66
|
+
selector: 'bnrc-layout-panel-base',
|
|
67
|
+
template: '',
|
|
68
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
69
|
+
}]
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormPanelService }, { type: i2.LayoutService, decorators: [{
|
|
71
|
+
type: Self
|
|
72
|
+
}] }]; }, propDecorators: { isPanel: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], config: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], canvasRef: [{
|
|
77
|
+
type: ViewChild,
|
|
78
|
+
args: ['canvas', { static: true }]
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXBhbmVsLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbGF5b3V0LXBhbmVsLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBc0IsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUczQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVE3RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsdUJBQXVCO0lBT2pFLFlBQ1csRUFBYyxFQUNYLGdCQUFrQyxFQUMxQixhQUE0QjtRQUU5QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUpqQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ1gscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUc5QyxJQUFJLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixhQUFhLENBQUMsRUFBRSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBTTtRQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUIsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNoQixLQUFLLGVBQWU7b0JBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3RCLE1BQU07Z0JBQ1YsS0FBSyxrQkFBa0I7b0JBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzFCLE1BQU07YUFDYjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELGNBQWMsQ0FBQyxJQUFTO1FBQ3BCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDO1FBQy9DLElBQUksVUFBVSxLQUFLLFdBQVcsSUFBSSxVQUFVLEtBQUssYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNqRixPQUFPO1NBQ1Y7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsR0FBRyxDQUFDLElBQUksR0FBRyxpQ0FBaUMsQ0FBQztRQUM3QyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1lBQ3BDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQy9CLFlBQVksR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQ3RDO1NBQ0o7YUFBTTtZQUNILFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNoRDtRQUVELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3ZELElBQUksZ0JBQWdCLEdBQUcsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNoQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7cUhBM0RRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDBQQUh2QixFQUFFOzJGQUdILHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQVdRLElBQUk7NENBVEEsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDaUMsU0FBUztzQkFBL0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgU2VsZiwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRVbmlxdWVJZCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS1wYW5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LWl0ZW0tYmFzZSc7XG5pbXBvcnQgeyBMYXlvdXRTZXR0aW5nIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtbGF5b3V0LXBhbmVsLWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRQYW5lbEJhc2VDb21wb25lbnQgZXh0ZW5kcyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgaXNQYW5lbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb25maWc6IExheW91dFNldHRpbmc7XG4gICAgQFZpZXdDaGlsZCgnY2FudmFzJywgeyBzdGF0aWM6IHRydWUgfSkgY2FudmFzUmVmOiBFbGVtZW50UmVmO1xuICAgIG1heExhYmVsV2lkdGgkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgaXNTZWFyY2hQYW5lbDogYm9vbGVhbjtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBmb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgICAgICBAU2VsZigpIHByb3RlY3RlZCBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1QYW5lbFNlcnZpY2UpO1xuICAgICAgICB0aGlzLmlkID0gZ2V0VW5pcXVlSWQoNCk7XG4gICAgICAgIGxheW91dFNlcnZpY2UuaWQgPSAncGFuZWwnICsgdGhpcy5pZDtcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxTZXJ2aWNlLmlzU2VhcmNoUGFuZWwkLnN1YnNjcmliZSgoaXNTZWFyY2hQYW5lbCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1NlYXJjaFBhbmVsID0gaXNTZWFyY2hQYW5lbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLm1heExhYmVsV2lkdGgkID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm1heFdpZHRoJDtcbiAgICAgICAgdGhpcy5fY2FsY1dpZHRoKHRoaXMuY29uZmlnKTtcbiAgICB9XG4gICAgX2NhbGNXaWR0aChjb25maWcpOiB2b2lkIHtcbiAgICAgICAgY29uZmlnLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS54dHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ0x5LkxheW91dEpvaW4nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWxjV2lkdGgoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0x5LkxheW91dENvbnRyb2wnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXRMYWJlbFdpZHRoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9zZXRMYWJlbFdpZHRoKGl0ZW06IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZFh0eXBlID0gaXRlbS5GaWVsZFVpPy5vcmlnaW5hbFh0eXBlO1xuICAgICAgICBpZiAoZmllbGRYdHlwZSA9PT0gJ1VpLkJ1dHRvbicgfHwgZmllbGRYdHlwZSA9PT0gJ1VpLkNoZWNrQm94JyB8fCAhaXRlbS5UZXh0VmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuY2FudmFzUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICAgICAgY3R4LmZvbnQgPSAnbm9ybWFsIDAuODg1cmVtIElSQU5ZZWthbkRpZ2l0cyc7XG4gICAgICAgIGxldCBsYWJlbENhcHRpb24gPSBpdGVtLkNhcHRpb247XG4gICAgICAgIGlmIChpdGVtLkZpZWxkVWk/LlNldHRpbmc/LklzTWFuZGF0b3J5KSB7XG4gICAgICAgICAgICBpZiAobGFiZWxDYXB0aW9uLmluZGV4T2YoJyonKSA8IDApIHtcbiAgICAgICAgICAgICAgICBsYWJlbENhcHRpb24gPSBsYWJlbENhcHRpb24gKyAnIConO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGFiZWxDYXB0aW9uID0gbGFiZWxDYXB0aW9uLnJlcGxhY2UoJyonLCAnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYWJlbFdpZHRoID0gY3R4Lm1lYXN1cmVUZXh0KGxhYmVsQ2FwdGlvbikud2lkdGg7XG4gICAgICAgIGxldCBsYWJlbFdpdGhQYWRkaW5nID0gbGFiZWxXaWR0aCArIDEwO1xuICAgICAgICBpZiAoaXRlbS5GaWVsZFVpLlNldHRpbmcuRmllbGRJY29uKSB7XG4gICAgICAgICAgICBsYWJlbFdpdGhQYWRkaW5nICs9IDIxO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbnRyb2xXaWR0aCA9IE1hdGguY2VpbChsYWJlbFdpdGhQYWRkaW5nKTtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnNldE1heFdpZHRoKGNvbnRyb2xXaWR0aCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
export class GeneralControlInfoModel {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.ShowLabel = true;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export class StringControlInfoModel extends GeneralControlInfoModel {
|
|
7
|
+
}
|
|
8
|
+
export class RichStringControlInfoModel extends StringControlInfoModel {
|
|
9
|
+
}
|
|
10
|
+
export class NumberControlInfoModel extends GeneralControlInfoModel {
|
|
11
|
+
}
|
|
12
|
+
export class FilePictureInfoModel extends GeneralControlInfoModel {
|
|
13
|
+
}
|
|
14
|
+
export class FileControlInfoModel extends GeneralControlInfoModel {
|
|
15
|
+
}
|
|
16
|
+
export class CommandControlInfoModel extends GeneralControlInfoModel {
|
|
17
|
+
}
|
|
18
|
+
export class IconControlInfoModel extends GeneralControlInfoModel {
|
|
19
|
+
}
|
|
20
|
+
export class PictureFileControlInfoModel extends GeneralControlInfoModel {
|
|
21
|
+
}
|
|
22
|
+
export class GaugeControlInfoModel extends GeneralControlInfoModel {
|
|
23
|
+
}
|
|
24
|
+
export class RelationListControlInfoModel extends GeneralControlInfoModel {
|
|
25
|
+
}
|
|
26
|
+
export class HistoryControlInfoModel extends RelationListControlInfoModel {
|
|
27
|
+
}
|
|
28
|
+
export class RabetehAkseTakiListiControlInfoModel extends RelationListControlInfoModel {
|
|
29
|
+
}
|
|
30
|
+
export class RelatedReportControlInfoModel extends GeneralControlInfoModel {
|
|
31
|
+
}
|
|
32
|
+
export class CodeEditorControlInfoModel extends GeneralControlInfoModel {
|
|
33
|
+
}
|
|
34
|
+
export class EnumControlInfoModel extends GeneralControlInfoModel {
|
|
35
|
+
}
|
|
36
|
+
export class RowDataOption {
|
|
37
|
+
}
|
|
38
|
+
export class DateTimeControlInfoModel extends GeneralControlInfoModel {
|
|
39
|
+
}
|
|
40
|
+
export class BoolControlInfoModel extends GeneralControlInfoModel {
|
|
41
|
+
}
|
|
42
|
+
export class CalculateControlInfoModel extends GeneralControlInfoModel {
|
|
43
|
+
}
|
|
44
|
+
export class SubformControlInfoModel extends GeneralControlInfoModel {
|
|
45
|
+
}
|
|
46
|
+
export class LinearListControlInfoModel extends GeneralControlInfoModel {
|
|
47
|
+
}
|
|
48
|
+
export class ListRelationModel {
|
|
49
|
+
}
|
|
50
|
+
export class SingleRelationControlInfoModel extends GeneralControlInfoModel {
|
|
51
|
+
}
|
|
52
|
+
export class MetaobjectDataModel {
|
|
53
|
+
}
|
|
54
|
+
export class MoForReportModel {
|
|
55
|
+
constructor() {
|
|
56
|
+
this.DeletedList = this.AddedList = this.MoDataList = [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export class ReportBaseInfo {
|
|
60
|
+
}
|
|
61
|
+
export class ReportExtraInfo extends ReportBaseInfo {
|
|
62
|
+
}
|
|
63
|
+
export class MetaobjectRelationModel extends ListRelationModel {
|
|
64
|
+
}
|
|
65
|
+
export var FieldInfoTypeEnum;
|
|
66
|
+
(function (FieldInfoTypeEnum) {
|
|
67
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["IntInfo"] = 0] = "IntInfo";
|
|
68
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["StringInfo"] = 2] = "StringInfo";
|
|
69
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["DateInfo"] = 3] = "DateInfo";
|
|
70
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["BoolInfo"] = 5] = "BoolInfo";
|
|
71
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["EnumInfo"] = 6] = "EnumInfo";
|
|
72
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["UserInfo"] = 7] = "UserInfo";
|
|
73
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["CategoryInfo"] = 8] = "CategoryInfo";
|
|
74
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["MetaObjectInfo"] = 9] = "MetaObjectInfo";
|
|
75
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["CommandInfo"] = 10] = "CommandInfo";
|
|
76
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["PicturesInfo"] = 11] = "PicturesInfo";
|
|
77
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["RelationInfo"] = 12] = "RelationInfo";
|
|
78
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["HistoryInfo"] = 13] = "HistoryInfo";
|
|
79
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["RelationInfoReverse_AksListi"] = 14] = "RelationInfoReverse_AksListi";
|
|
80
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["CreatorUserInfo"] = 15] = "CreatorUserInfo";
|
|
81
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["CreationDateInfo"] = 16] = "CreationDateInfo";
|
|
82
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["LastUpdateDateInfo"] = 17] = "LastUpdateDateInfo";
|
|
83
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["ReminderInfo"] = 18] = "ReminderInfo";
|
|
84
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["RichStringInfo"] = 19] = "RichStringInfo";
|
|
85
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["ConvertCommandInfo"] = 20] = "ConvertCommandInfo";
|
|
86
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["RelationInfoSingleReverse_AksTakiListi"] = 21] = "RelationInfoSingleReverse_AksTakiListi";
|
|
87
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["DialCommandInfo"] = 22] = "DialCommandInfo";
|
|
88
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["FindContactCommandInfo"] = 23] = "FindContactCommandInfo";
|
|
89
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["SequenceCommandInfo"] = 24] = "SequenceCommandInfo";
|
|
90
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["CurrencyInfo"] = 25] = "CurrencyInfo";
|
|
91
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["SinglePictureInfo"] = 26] = "SinglePictureInfo";
|
|
92
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["WordReportCommandInfo"] = 27] = "WordReportCommandInfo";
|
|
93
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["HierarchicalInfo"] = 28] = "HierarchicalInfo";
|
|
94
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["TimeSpanInfo"] = 29] = "TimeSpanInfo";
|
|
95
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["ReportInfo"] = 30] = "ReportInfo";
|
|
96
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["FileInfo"] = 31] = "FileInfo";
|
|
97
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["WordFileInfo"] = 32] = "WordFileInfo";
|
|
98
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["PictureFileInfo"] = 33] = "PictureFileInfo";
|
|
99
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["GaugeInfo"] = 34] = "GaugeInfo";
|
|
100
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["CodeInfo"] = 35] = "CodeInfo";
|
|
101
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["WorkCenterInfo"] = 36] = "WorkCenterInfo";
|
|
102
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["IsDeletedInfo"] = 37] = "IsDeletedInfo";
|
|
103
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["RowNumberInfo"] = 38] = "RowNumberInfo";
|
|
104
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["BinaryInfo"] = 39] = "BinaryInfo";
|
|
105
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["ReverseMetaObjectInfo_AksTakiTaki"] = 40] = "ReverseMetaObjectInfo_AksTakiTaki";
|
|
106
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["ColorInfo"] = 41] = "ColorInfo";
|
|
107
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["IconInfo"] = 42] = "IconInfo";
|
|
108
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["RefreshFieldCommandInfo"] = 43] = "RefreshFieldCommandInfo";
|
|
109
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["ReferenceFieldInfo"] = 44] = "ReferenceFieldInfo";
|
|
110
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["SearchCommandInfo"] = 45] = "SearchCommandInfo";
|
|
111
|
+
FieldInfoTypeEnum[FieldInfoTypeEnum["OrderInfo"] = 46] = "OrderInfo"; // 0x0000002E
|
|
112
|
+
})(FieldInfoTypeEnum || (FieldInfoTypeEnum = {}));
|
|
113
|
+
export class BaseReportModel {
|
|
114
|
+
constructor() {
|
|
115
|
+
this.DefaultItemComponent = 'ReportDefaultItemComponent';
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export class CustomCommand {
|
|
119
|
+
}
|
|
120
|
+
export class ReportModel extends BaseReportModel {
|
|
121
|
+
constructor() {
|
|
122
|
+
super();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export class ReportListModel extends BaseReportModel {
|
|
126
|
+
}
|
|
127
|
+
export class ReportFormModel extends BaseReportModel {
|
|
128
|
+
}
|
|
129
|
+
export class ReportCalendarModel extends BaseReportModel {
|
|
130
|
+
}
|
|
131
|
+
export class ReportTreeModel extends BaseReportModel {
|
|
132
|
+
}
|
|
133
|
+
export class ReportViewColumn {
|
|
134
|
+
}
|
|
135
|
+
export class GridSetting {
|
|
136
|
+
}
|
|
137
|
+
export class ColSetting {
|
|
138
|
+
}
|
|
139
|
+
export class SortSetting {
|
|
140
|
+
}
|
|
141
|
+
export class ReportField {
|
|
142
|
+
constructor(column, item) {
|
|
143
|
+
this.column = column;
|
|
144
|
+
this.item = item;
|
|
145
|
+
const name = column.Name;
|
|
146
|
+
this.caption = column.Caption;
|
|
147
|
+
this.value = this.item[name];
|
|
148
|
+
if (Number(column.FieldTypeId) === FieldInfoTypeEnum.DateInfo) {
|
|
149
|
+
this.value = this.item[name + '$Caption'];
|
|
150
|
+
}
|
|
151
|
+
if (Number(column.FieldTypeId) === FieldInfoTypeEnum.IconInfo) {
|
|
152
|
+
this.value = this.item[name].Url;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
export const DateRanges = [
|
|
157
|
+
'DateR_None',
|
|
158
|
+
'DateR_SpecificRange',
|
|
159
|
+
'DateR_Today',
|
|
160
|
+
'DateR_ThisWeek',
|
|
161
|
+
'DateR_ThisMonth',
|
|
162
|
+
'DateR_ThisYear',
|
|
163
|
+
'DateR_DaysBefore',
|
|
164
|
+
'DateR_PrevWeek',
|
|
165
|
+
'DateR_PrevMonth',
|
|
166
|
+
'DateR_PrevYear',
|
|
167
|
+
'DateR_DaysAfter',
|
|
168
|
+
'DateR_NextWeek',
|
|
169
|
+
'DateR_NextMonth',
|
|
170
|
+
'DateR_NextYear'
|
|
171
|
+
];
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFRRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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QUFPLFdBQVc7SUFJcEIsWUFBbUIsTUFBd0IsRUFBUyxJQUFTO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBSztRQUN6RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztDQUNKO0FBK0ZELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlSW5mbyBhcyBEYXRlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXNlcnZpY2VzJztcblxuZXhwb3J0IGNsYXNzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvbjogc3RyaW5nO1xuICAgIENvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkRGVmSWQ6IHN0cmluZztcbiAgICBDb250cm9sTmFtZTogc3RyaW5nO1xuICAgIFJlbGF0ZWRGaWVsZExpc3Q6IFtdO1xuICAgIEhpZGU6IGJvb2xlYW47XG4gICAgeHR5cGU6IHN0cmluZztcbiAgICBMYWJlbFBvc2l0aW9uOiBzdHJpbmc7XG4gICAgSXNNYW5kYXRvcnk6IGJvb2xlYW47XG4gICAgSXNWaXNpYmxlOiBib29sZWFuO1xuICAgIFNob3dMYWJlbCA9IHRydWU7XG4gICAgSXNSZWFkT25seTogYm9vbGVhbjtcbiAgICBJc0VuYWJsZWQ6IGJvb2xlYW47XG4gICAgSXNCb2xkOiBib29sZWFuO1xuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xuICAgIEpzb25FeHRyYVByb3A6IGFueSB8IG51bGw7XG4gICAgQ29tcG9uZW50OiBzdHJpbmc7XG4gICAgSW5mbzogQ29udHJvbEluZm9UeXBlcztcbiAgICBGaWVsZEljb246IHN0cmluZztcbiAgICBJc0x0cjogYm9vbGVhbjtcbiAgICBEaXNwbGF5VHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBGaWxlQXR0YWNobWVudEluZm8ge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBJZDogc3RyaW5nO1xuICAgIElzTmV3OiBib29sZWFuO1xuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcbiAgICBUeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgU3RyaW5nQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBNYXhMZW5ndGg6IG51bWJlcjtcbiAgICBNaW5MZW5ndGg6IG51bWJlcjtcbiAgICBSZWd1bGFyRXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIElzUGFzc3dvcmQ6IGJvb2xlYW47XG4gICAgSXNNdWx0aUxpbmU6IGJvb2xlYW47XG4gICAgTnVsbFRleHQ6IHN0cmluZztcbiAgICBBbGxvd2VkU3RyaW5nQ2hhcnM6IHN0cmluZztcbiAgICBPbmx5QWNjZXB0Q3VycmVudEN1bHR1cmU6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgUmljaFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIHtcbiAgICBJc0h0bWxWaWV3ZXI6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgTnVtYmVyQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xuICAgIE1heFZhbHVlOiBudW1iZXI7XG4gICAgRGVjaW1hbFByZWNpc2lvbjogbnVtYmVyO1xuICAgIFNob3dUaG91c2FuZFNlcGVyYXRvcjogYm9vbGVhbjtcbiAgICBOdW1iZXJUeXBlOiBzdHJpbmc7XG4gICAgQ3VycmVuY3lTeW1ib2w6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBGaWxlUGljdHVyZUluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBFeHQ6IHN0cmluZztcbiAgICBGaWxlSWQ6IHN0cmluZztcbiAgICBJc0RlbGV0ZWQ6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgRmlsZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgQ2FuRGVsZXRlOiBib29sZWFuO1xuICAgIENhblNhdmU6IGJvb2xlYW47XG4gICAgQ2FuVmlldzogYm9vbGVhbjtcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIE1heEZpbGVDb3VudDogbnVtYmVyO1xuICAgIE1heEZpbGVTaXplS2I6IG51bWJlcjtcbiAgICBPZmZpY2VPbmxpbmU6IGJvb2xlYW47XG4gICAgVmFsaWRFeHRlbnNpb25zOiBzdHJpbmc7XG4gICAgVmlld1R5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBDb21tYW5kQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBNZW51TmFtZTogc3RyaW5nO1xuICAgIERpc2FibGVXaGVuUmVhZG9ubHk6IGJvb2xlYW47XG4gICAgRGlzcGxheVR5cGU6IHN0cmluZztcbiAgICBEeW5hbWljQ29tbWFuZDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEljb25Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge31cbmV4cG9ydCBjbGFzcyBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgU2l6ZU1vZGU6IG51bWJlcjtcbiAgICBNYXhGaWxlU2l6ZUtiOiBudW1iZXI7XG4gICAgVmFsaWRFeHRlbnNpb25zOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgR2F1Z2VDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xuICAgIE1heFZhbHVlOiBudW1iZXI7XG4gICAgTWF4VmFsdWUyOiBudW1iZXI7XG4gICAgTWluVmFsdWU6IG51bWJlcjtcbiAgICBNaW5WYWx1ZTI6IG51bWJlcjtcbiAgICBWYWx1ZTogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgUmVsYXRpb25MaXN0VHlwZXMgPVxuICAgIHwgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbFxuICAgIHwgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFJhYmV0ZWhBa3NlVGFraUxpc3RpQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgU2luZ2xlUmVsYXRpb25Db250cm9sSW5mb01vZGVsO1xuZXhwb3J0IGNsYXNzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xuICAgIFVsdlNldHRpbmc6IFJlcG9ydE1vZGVsO1xufVxuZXhwb3J0IGNsYXNzIEhpc3RvcnlDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCB7XG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFJhYmV0ZWhBa3NlVGFraUxpc3RpQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEF1dG9TYXZlO1xufVxuZXhwb3J0IGNsYXNzIFJlbGF0ZWRSZXBvcnRDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xuICAgIFBhcmFtTmFtZTE6IHN0cmluZztcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcbn1cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBFeHRyYVRleHQ6IHN0cmluZztcbiAgICBTdWdnZXN0aW9uczogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEVudW1Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgU2hvd0FzUmFkaW9CdXR0b246IGJvb2xlYW47XG4gICAgSWNvbkRpc3BsYXlUeXBlOiBzdHJpbmc7XG4gICAgRGF0YVNvdXJjZToge1xuICAgICAgICBSb3dzOiBSb3dEYXRhT3B0aW9uW107XG4gICAgfTtcbiAgICBFbXB0eVJvd0RhdGE6IFJvd0RhdGFPcHRpb247XG59XG5leHBvcnQgY2xhc3MgUm93RGF0YU9wdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBJc0VtcHR5OiBib29sZWFuO1xuICAgIHR4dDogc3RyaW5nO1xuICAgIHR4dF9zYWZlPzogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBDYWxlbmRhclR5cGU6IHN0cmluZztcbiAgICBEYXRlRm9ybWF0OiBzdHJpbmc7XG4gICAgU2hvd0RhdGUxOiBib29sZWFuO1xuICAgIFNob3dUaW1lMTogYm9vbGVhbjtcbiAgICBUaW1lRm9ybWF0OiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgQm9vbENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRmFsc2VDYXB0aW9uOiBzdHJpbmc7XG4gICAgVHJ1ZUNhcHRpb246IHN0cmluZztcbiAgICBUcnVlSWNvbjogc3RyaW5nO1xuICAgIFZpZXdUeXBlOiBzdHJpbmc7XG4gICAgRmFsc2VJY29uOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBJbm5lckN0cmxyOiBDb250cm9sSW5mb1R5cGVzO1xuICAgIEV4ZWN1dGFpb25UaW1lOiBzdHJpbmc7XG4gICAgRWRpdFR5cGU6IHN0cmluZztcbiAgICBEb250U2hvd1JlY2FsY3VsYXRlQnV0dG9uOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFN1YmZvcm1Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFR5cGVEZWZJZDogYW55O1xuICAgIFR5cGVEZWZJY29uOiBzdHJpbmc7XG4gICAgSXNDb21wb3NlZFJlbGF0aW9uOiBzdHJpbmc7XG4gICAgRHJvcERvd25SZXBvcnRJZDogc3RyaW5nO1xuICAgIFR5cGVWaWV3SWQ6IHN0cmluZztcbiAgICBGb3JtUGFuZWxTZXR0aW5nOiBGb3JtU2V0dGluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlSW5mbyB7XG4gICAgZmlsZUlkOiBzdHJpbmc7XG4gICAgZmlsZVVybDogc3RyaW5nO1xuICAgIHZpZXdJbkJyb3dzZXI6IGJvb2xlYW47XG4gICAgY29udmVydFRvOiBzdHJpbmc7XG4gICAgaXNPZmZpY2VPbmxpbmU6IGJvb2xlYW47XG4gICAgZm9yT2N4OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvUmVzdWx0IHtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICBjb250ZW50VHlwZTogc3RyaW5nO1xuICAgIHN1Y2NlZWQ6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgTGluZWFyTGlzdENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRGVmYXVsdEZpZWxkOiBzdHJpbmc7XG4gICAgRXh0cmFKc29uUHJvcEZpZWxkOiBzdHJpbmc7XG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xuICAgIElzR2VuZXJhbEluZm86IGJvb2xlYW47XG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBSZWxhdGlvbjogTGlzdFJlbGF0aW9uTW9kZWw7XG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xuICAgIFJvd0ljb246IHN0cmluZztcbiAgICBUYXJnZXRUeXBlRGVmSWQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBMaXN0UmVsYXRpb25Nb2RlbCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIENoaWxkRmRJZDogc3RyaW5nO1xuICAgIENoaWxkRmROYW1lOiBzdHJpbmc7XG4gICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcbiAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XG4gICAgUmVsYXRpb25UeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgU2luZ2xlUmVsYXRpb25Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XG4gICAgRHJvcERvd25SZXBvcnRJZDogc3RyaW5nO1xuICAgIEZpbGxCZWZvcmVEcm9wRG93bjogYm9vbGVhbjtcbiAgICBIaWRlQ29tYm86IGJvb2xlYW47XG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xuICAgIFBhc3NQYXJlbnRGb3JtOiBib29sZWFuO1xuICAgIFNob3dOZXdCdXR0b246IGJvb2xlYW47XG4gICAgU2hvd09rQ2FuY2VsOiBib29sZWFuO1xuICAgIFZpZXdSZWxhdGVkRm9ybVR5cGU6IHN0cmluZztcbiAgICBUYXJnZXRUeXBlRGVmSWQ6IHN0cmluZztcbiAgICBEYXRhU291cmNlOiB7XG4gICAgICAgIFJvd3M6IFJvd0RhdGFPcHRpb25bXTtcbiAgICB9O1xuICAgIFByZXZpZXdGaWVsZENhcHRpb246IHN0cmluZztcbiAgICBQcmV2aWV3RmllbGRJZDogc3RyaW5nO1xuICAgIFByZXZpZXdGaWVsZE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29udHJvbEluZm9UeXBlcyA9XG4gICAgfCBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQ2FsY3VsYXRlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQm9vbENvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEVudW1Db250cm9sSW5mb01vZGVsXG4gICAgfCBJY29uQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgRmlsZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IERhdGVUaW1lQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgTnVtYmVyQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgU3RyaW5nQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgUGljdHVyZUZpbGVDb250cm9sSW5mb01vZGVsXG4gICAgfCBHYXVnZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IENvbW1hbmRDb250cm9sSW5mb01vZGVsXG4gICAgfCBDb2RlRWRpdG9yQ29udHJvbEluZm9Nb2RlbDtcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlld1NldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBMYXlvdXQ5NDogYW55O1xuICAgIENvbnRyb2xJbmZvOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbFtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIERhdGE6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICB9O1xuICAgIFZpZXc6IEZvcm1WaWV3U2V0dGluZztcbn1cblxuZXhwb3J0IGNsYXNzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAkRmllbGREaWN0PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICAkUmVwb3J0SWQ/OiBzdHJpbmc7XG4gICAgJFR5cGU/OiBzdHJpbmc7XG4gICAgJFN0eWxlSW5kZXg/OiBudW1iZXJbXTtcbiAgICAkQ2FwdGlvbjogc3RyaW5nO1xuICAgICRJY29uPzogc3RyaW5nO1xuICAgICRTdGF0ZT86IHN0cmluZztcbiAgICAkVHlwZURlZklkPzogc3RyaW5nO1xuICAgICRUeXBlRGVmTmFtZT86IHN0cmluZztcbiAgICAkQ2hpbGRyZW4/OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgSWQ6IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIENhbGVuZGFyTWV0YW9iamVjdERhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgICRDb2xvcjogc3RyaW5nO1xuICAgICRNb21lbnRTdGFydERhdGU6IHN0cmluZztcbiAgICAkTW9tZW50RW5kRGF0ZTogc3RyaW5nO1xuICAgICRTdGFydFRpbWVzOiBzdHJpbmc7XG4gICAgJEVuZFRpbWVzOiBzdHJpbmc7XG4gICAgJFRpdGxlOiBzdHJpbmc7XG4gICAgJE5vdGVzOiBzdHJpbmc7XG4gICAgJFN0YXJ0RGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XG4gICAgJEVuZERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xufVxuXG5leHBvcnQgY2xhc3MgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgJFR5cGU/OiBzdHJpbmc7XG4gICAgVHlwZURlZklkOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ6IHN0cmluZztcbiAgICBJY29uPzogc3RyaW5nO1xuICAgIE1vRGF0YUxpc3Q6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+O1xuICAgIERlbGV0ZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xuICAgIEFkZGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcbiAgICBQYWdpbmc6IFBhZ2luZ1NldHRpbmc7XG4gICAgUmVsYXRpb24/OiB7XG4gICAgICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xuICAgICAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZkSWQ6IHN0cmluZztcbiAgICAgICAgQ2hpbGRGZElkOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZkTmFtZTogc3RyaW5nO1xuICAgICAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xuICAgICAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xuICAgICAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFBhcmVudEZvcm1zOiBib29sZWFuO1xuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFJvb3RQYXJlbnRMaXN0OiBib29sZWFuO1xuICAgIH07XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuRGVsZXRlZExpc3QgPSB0aGlzLkFkZGVkTGlzdCA9IHRoaXMuTW9EYXRhTGlzdCA9IFtdO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRCYXNlSW5mbyB7XG4gICAgSWQ6IHN0cmluZztcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgRm9sZGVySWQ6IHN0cmluZztcbiAgICBJY29uVXJsOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFJlcG9ydElkOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0RXh0cmFJbmZvIGV4dGVuZHMgUmVwb3J0QmFzZUluZm8ge1xuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIFR5cGVEZWZDYXB0aW9uOiBzdHJpbmc7XG4gICAgUmVwb3J0VHlwZTogc3RyaW5nO1xuICAgIEhpZGVUb29sYmFyOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdFJlbGF0aW9uTW9kZWwgZXh0ZW5kcyBMaXN0UmVsYXRpb25Nb2RlbCB7XG4gICAgUGFyZW50RmRJZDogc3RyaW5nO1xuICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEZpZWxkSW5mb1R5cGVFbnVtIHtcbiAgICBJbnRJbmZvID0gMCxcbiAgICBTdHJpbmdJbmZvID0gMixcbiAgICBEYXRlSW5mbyA9IDMsXG4gICAgQm9vbEluZm8gPSA1LFxuICAgIEVudW1JbmZvID0gNixcbiAgICBVc2VySW5mbyA9IDcsXG4gICAgQ2F0ZWdvcnlJbmZvID0gOCxcbiAgICBNZXRhT2JqZWN0SW5mbyA9IDksXG4gICAgQ29tbWFuZEluZm8gPSAxMCwgLy8gMHgwMDAwMDAwQVxuICAgIFBpY3R1cmVzSW5mbyA9IDExLCAvLyAweDAwMDAwMDBCXG4gICAgUmVsYXRpb25JbmZvID0gMTIsIC8vIDB4MDAwMDAwMENcbiAgICBIaXN0b3J5SW5mbyA9IDEzLCAvLyAweDAwMDAwMDBEXG4gICAgUmVsYXRpb25JbmZvUmV2ZXJzZV9Ba3NMaXN0aSA9IDE0LCAvLyAweDAwMDAwMDBFXG4gICAgQ3JlYXRvclVzZXJJbmZvID0gMTUsIC8vIDB4MDAwMDAwMEZcbiAgICBDcmVhdGlvbkRhdGVJbmZvID0gMTYsIC8vIDB4MDAwMDAwMTBcbiAgICBMYXN0VXBkYXRlRGF0ZUluZm8gPSAxNywgLy8gMHgwMDAwMDAxMVxuICAgIFJlbWluZGVySW5mbyA9IDE4LCAvLyAweDAwMDAwMDEyXG4gICAgUmljaFN0cmluZ0luZm8gPSAxOSwgLy8gMHgwMDAwMDAxM1xuICAgIENvbnZlcnRDb21tYW5kSW5mbyA9IDIwLCAvLyAweDAwMDAwMDE0XG4gICAgUmVsYXRpb25JbmZvU2luZ2xlUmV2ZXJzZV9Ba3NUYWtpTGlzdGkgPSAyMSwgLy8gMHgwMDAwMDAxNVxuICAgIERpYWxDb21tYW5kSW5mbyA9IDIyLCAvLyAweDAwMDAwMDE2XG4gICAgRmluZENvbnRhY3RDb21tYW5kSW5mbyA9IDIzLCAvLyAweDAwMDAwMDE3XG4gICAgU2VxdWVuY2VDb21tYW5kSW5mbyA9IDI0LCAvLyAweDAwMDAwMDE4XG4gICAgQ3VycmVuY3lJbmZvID0gMjUsIC8vIDB4MDAwMDAwMTlcbiAgICBTaW5nbGVQaWN0dXJlSW5mbyA9IDI2LCAvLyAweDAwMDAwMDFBXG4gICAgV29yZFJlcG9ydENvbW1hbmRJbmZvID0gMjcsIC8vIDB4MDAwMDAwMUJcbiAgICBIaWVyYXJjaGljYWxJbmZvID0gMjgsIC8vIDB4MDAwMDAwMUNcbiAgICBUaW1lU3BhbkluZm8gPSAyOSwgLy8gMHgwMDAwMDAxRFxuICAgIFJlcG9ydEluZm8gPSAzMCwgLy8gMHgwMDAwMDAxRVxuICAgIEZpbGVJbmZvID0gMzEsIC8vIDB4MDAwMDAwMUZcbiAgICBXb3JkRmlsZUluZm8gPSAzMiwgLy8gMHgwMDAwMDAyMFxuICAgIFBpY3R1cmVGaWxlSW5mbyA9IDMzLCAvLyAweDAwMDAwMDIxXG4gICAgR2F1Z2VJbmZvID0gMzQsIC8vIDB4MDAwMDAwMjJcbiAgICBDb2RlSW5mbyA9IDM1LCAvLyAweDAwMDAwMDIzXG4gICAgV29ya0NlbnRlckluZm8gPSAzNiwgLy8gMHgwMDAwMDAyNFxuICAgIElzRGVsZXRlZEluZm8gPSAzNywgLy8gMHgwMDAwMDAyNVxuICAgIFJvd051bWJlckluZm8gPSAzOCwgLy8gMHgwMDAwMDAyNlxuICAgIEJpbmFyeUluZm8gPSAzOSwgLy8gMHgwMDAwMDAyN1xuICAgIFJldmVyc2VNZXRhT2JqZWN0SW5mb19Ba3NUYWtpVGFraSA9IDQwLCAvLyAweDAwMDAwMDI4XG4gICAgQ29sb3JJbmZvID0gNDEsIC8vIDB4MDAwMDAwMjlcbiAgICBJY29uSW5mbyA9IDQyLCAvLyAweDAwMDAwMDJBXG4gICAgUmVmcmVzaEZpZWxkQ29tbWFuZEluZm8gPSA0MywgLy8gMHgwMDAwMDAyQlxuICAgIFJlZmVyZW5jZUZpZWxkSW5mbyA9IDQ0LCAvLyAweDAwMDAwMDJDXG4gICAgU2VhcmNoQ29tbWFuZEluZm8gPSA0NSwgLy8gMHgwMDAwMDAyRFxuICAgIE9yZGVySW5mbyA9IDQ2IC8vIDB4MDAwMDAwMkVcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NOYW1lc01vZGVsIHtcbiAgICBDb21tYW5kQmFyQ2xhc3M6IHN0cmluZztcbiAgICBEYXRhQ2xhc3M6IHN0cmluZztcbiAgICBTZWxlY3Rpb25DbGFzczogc3RyaW5nO1xuICAgIFZpZXdlckNsYXNzOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhTW9kZWwge1xuICAgIEN1c3RvbUNvbW1hbmRzPzogQ3VzdG9tQ29tbWFuZFtdO1xuICAgIERlZmF1bHRDb21tYW5kc0FjY2Vzcz86IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBQYXJlbnRVbHZDb25maWc/OiBhbnk7XG4gICAgUmVsYXRpb24/OiBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbDtcbiAgICBSZXBvcnQ/OiBSZXBvcnRFeHRyYUluZm87XG4gICAgRXh0cmFKc29uUHJvcFJlcG9ydD86IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgQ2xhc3NOYW1lczogQ2xhc3NOYW1lc01vZGVsO1xuICAgIEV4dHJhOiBFeHRyYU1vZGVsO1xuICAgIFZpZXc6IFZpZXdUeXBlcztcbiAgICBTZWFyY2hQYW5lbDogYW55O1xuICAgIERlZmF1bHRJdGVtQ29tcG9uZW50ID0gJ1JlcG9ydERlZmF1bHRJdGVtQ29tcG9uZW50Jztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdENvbW1hbmRzQWNjZXNzIHtcbiAgICBBZGQ6IGJvb2xlYW47XG4gICAgQWRkVG9MaXN0OiBib29sZWFuO1xuICAgIERlbGV0ZTogYm9vbGVhbjtcbiAgICBFZGl0OiBib29sZWFuO1xuICAgIEV4cG9ydDogYm9vbGVhbjtcbiAgICBQcmludDogYm9vbGVhbjtcbiAgICBSZWZyZXNoOiBib29sZWFuO1xuICAgIFJlbW92ZUZyb21MaXN0OiBib29sZWFuO1xuICAgIFZpZXc6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tbWFuZCB7XG4gICAgRGF0YTogYW55O1xuICAgIERpc2FibGVXaGVuUmVhZG9ubHk6IGJvb2xlYW47XG4gICAgSGlkZURpc2FibGU6IGJvb2xlYW47XG4gICAgSWNvblVybDogc3RyaW5nO1xuICAgIElzTGFyZ2U6IGJvb2xlYW47XG4gICAgTXl0eXBlOiBzdHJpbmc7XG4gICAgT3JkZXI6IG51bWJlcjtcbiAgICBTaG93T25Db250ZXh0OiBib29sZWFuO1xuICAgIFNob3dPblRvb2xiYXI6IGJvb2xlYW47XG4gICAgVGV4dDogc3RyaW5nO1xuICAgIFVzZUFsd2F5czogYm9vbGVhbjtcbiAgICBVc2VGb3JNdWx0aTogYm9vbGVhbjtcbiAgICBVc2VGb3JTaW5nbGU6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIERhdGE6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFJlcG9ydExpc3RNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogR3JpZFZpZXc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0Rm9ybU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBGb3JtVmlldztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVZpZXcge1xuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XG4gICAgUGFyZW50SWREYk5hbWU6IHN0cmluZztcbiAgICBTaG93U2VsZWN0aW9uQ2hlY2tzOiBib29sZWFuO1xuICAgIFRyZWVBdXRvT3BlbkxldmVsczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRWaWV3IHtcbiAgICBBbGxvd0dyaWRDb2x1bW5Tb3J0OiBib29sZWFuO1xuICAgIEF1dG9JbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XG4gICAgQ29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47XG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcbiAgICBEaXNhYmxlUm93UmVsb2FkOiBib29sZWFuO1xuICAgIEdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZztcbiAgICBHcmlkX0ZyZWVDb2x1bW5TaXppbmc6IGJvb2xlYW47XG4gICAgR3JpZF9HcmlkTGluZXM6IHN0cmluZztcbiAgICBHcmlkX0hpZGVIZWFkZXI6IGJvb2xlYW47XG4gICAgR3JpZF9TaG93Um93TnVtYmVyOiBib29sZWFuO1xuICAgIEhhc0NvbmRpdGlvbmFsRm9ybWF0OiBib29sZWFuO1xuICAgIEhhc1N1bW1hcnlSb3c6IGJvb2xlYW47XG4gICAgSGlkZUljb246IGJvb2xlYW47XG4gICAgSXNDaGVja0xpc3Q6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVmlldyB7XG4gICAgQ2FsZW5kYXJGaWVsZHM6IENhbGVuZGFyRmllbGRzO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlldyB7XG4gICAgRm9ybVBhbmVsU2V0dGluZzogYW55O1xufVxuZXhwb3J0IHR5cGUgVmlld1R5cGVzID0gR3JpZFZpZXcgfCBDYWxlbmRhclZpZXcgfCBUcmVlVmlldyB8IEZvcm1WaWV3O1xuXG5leHBvcnQgdHlwZSBSZXBvcnRNb2RlbFR5cGVzID0gUmVwb3J0TGlzdE1vZGVsIHwgUmVwb3J0Q2FsZW5kYXJNb2RlbCB8IFJlcG9ydEZvcm1Nb2RlbCB8IFJlcG9ydFRyZWVNb2RlbDtcblxuZXhwb3J0IGNsYXNzIFJlcG9ydENhbGVuZGFyTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IENhbGVuZGFyVmlldztcbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRUcmVlTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IFRyZWVWaWV3O1xufVxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckZpZWxkcyB7XG4gICAgRW5kRGF0ZTogc3RyaW5nO1xuICAgIE5vdGVzOiBzdHJpbmc7XG4gICAgU3RhcnREYXRlOiBzdHJpbmc7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBDb2xvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld0NvbHVtbiB7XG4gICAgQWxpYXM6IHN0cmluZztcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgRmllbGREZWZJZDogc3RyaW5nO1xuICAgIEZpZWxkVHlwZUlkOiBudW1iZXI7XG4gICAgRmllbGRUeXBlOiBzdHJpbmc7XG4gICAgSGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgSXNMdHI6IGJvb2xlYW47XG4gICAgSXNQcmV2aWV3OiBib29sZWFuO1xuICAgIE1ldGFGaWVsZFR5cGVJZDogc3RyaW5nO1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIFRhZz86IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgT25seUltYWdlPzogYm9vbGVhbjtcbiAgICBFeHRyYT86IGFueTtcbiAgICAkV2lkdGg6IHN0cmluZztcbiAgICAkV2lkdGgyPzogc3RyaW5nO1xuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xuICAgICRDU1NDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgJEN1c3RvbUNvbXBvbmVudD86IE1ldGFvYmplY3REYXRhTW9kZWw7XG59XG5cbmV4cG9ydCBjbGFzcyBHcmlkU2V0dGluZyB7XG4gICAgQ29sU2V0dGluZ0xpc3Q6IEFycmF5PENvbFNldHRpbmc+O1xuICAgIFNvcnRTZXR0aW5nTGlzdDogQXJyYXk8U29ydFNldHRpbmc+O1xuICAgIEF1dG9TaXplQ29sdW1uczogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBDb2xTZXR0aW5nIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgV2lkdGg6IG51bWJlcjtcbiAgICBJc0hpZGRlbjogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBTb3J0U2V0dGluZyB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFNvcnREaXJlY3Rpb246IHN0cmluZztcbiAgICBJc0dyb3VwZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBSZXBvcnRGaWVsZCB7XG4gICAgcHVibGljIGtleTogc3RyaW5nO1xuICAgIHB1YmxpYyB2YWx1ZTogc3RyaW5nO1xuICAgIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IocHVibGljIGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgcHVibGljIGl0ZW06IGFueSkge1xuICAgICAgICBjb25zdCBuYW1lID0gY29sdW1uLk5hbWU7XG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IGNvbHVtbi5DYXB0aW9uO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWVdO1xuICAgICAgICBpZiAoTnVtYmVyKGNvbHVtbi5GaWVsZFR5cGVJZCkgPT09IEZpZWxkSW5mb1R5cGVFbnVtLkRhdGVJbmZvKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWUgKyAnJENhcHRpb24nXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTnVtYmVyKGNvbHVtbi5GaWVsZFR5cGVJZCkgPT09IEZpZWxkSW5mb1R5cGVFbnVtLkljb25JbmZvKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWVdLlVybDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpblJlc3VsdCB7XG4gICAgZGF0YTogeyBzdGg6IHN0cmluZyB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRTZXR0aW5nc0RhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFBsYWNlSG9sZGVycz86IFBsYWNlSG9sZGVyRGF0YU1vZGVsW107XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudERhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgU2V0dGluZ3M6IENvbXBvbmVudFNldHRpbmdzRGF0YU1vZGVsO1xufVxuZXhwb3J0IGludGVyZmFjZSBQbGFjZUhvbGRlckRhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIElzUGFnZTogYm9vbGVhbjtcbiAgICBPcmRlck51bWJlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZURhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUGxhY2VIb2xkZXI6IFBsYWNlSG9sZGVyRGF0YU1vZGVsO1xuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgTW9EYXRhTGlzdDogQXJyYXk8UGFnZURhdGFNb2RlbD47XG59XG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUxpc3RSZXBvcnRNb2RlbCBleHRlbmRzIE1vRm9yUmVwb3J0TW9kZWwge1xuICAgIE1vRGF0YUxpc3Q6IEFycmF5PE1vZHVsZURhdGFNb2RlbD47XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBDb21wb25lbnQ6IENvbXBvbmVudERhdGFNb2RlbDtcbiAgICBNb2R1bGVMaXN0OiBNb2R1bGVMaXN0UmVwb3J0TW9kZWw7XG4gICAgQ2hpbGRQYWdlTGlzdDogUGFnZUxpc3RSZXBvcnRNb2RlbDtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFJvdXRlOiBzdHJpbmc7XG4gICAgSXNEZWZhdWx0Um91dGU6IGJvb2xlYW47XG4gICAgSXNMb2dpblJvdXRlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRhbERhdGFNb2RlbCBleHRlbmRzIFBhZ2VEYXRhTW9kZWwge1xuICAgIElzQWN0aXZlOiBib29sZWFuO1xuICAgIElzUHdhOiBib29sZWFuO1xuICAgIFBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xufVxuZXhwb3J0IGludGVyZmFjZSBHcm91cFZpc2liaWxpdHkge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJMYXlvdXQge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFN1YnRpdGxlOiBzdHJpbmc7XG4gICAgQXZhdGFyOiBhbnk7XG4gICAgRmFjZXRMaXN0OiB7IE1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtIHtcbiAgICBpY29uOiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGl0ZW1JZDogc3RyaW5nO1xuICAgIERhdGE6IGFueTtcbiAgICBDb21tYW5kOiBhbnk7XG4gICAgaGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBJc0J1aWx0aW4/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdTZXR0aW5nIHtcbiAgICBFbmRJbmRleDogbnVtYmVyO1xuICAgIEhhc1BhZ2luZzogYm9vbGVhbjtcbiAgICBQYWdlOiBudW1iZXI7XG4gICAgUGFnZVNpemU6IG51bWJlcjtcbiAgICBSb3dDb3VudDogbnVtYmVyO1xuICAgIFN0YXJ0SW5kZXg6IG51bWJlcjtcbiAgICBUb3RhbFBhZ2VzOiBudW1iZXI7XG4gICAgVG90YWxSb3dzOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkluZm9UeXBlIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIENhcHRpb246IHN0cmluZztcbiAgICBJc01hbmRhdG9yeT86IGJvb2xlYW47XG4gICAgV2lkdGg6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUGFuZWxTZXR0aW5ncyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ6IHN0cmluZztcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgSXNQdWJsaWM6IGJvb2xlYW47XG4gICAgQXBwbHlBdXRvbWF0aWNhbGx5OiBib29sZWFuO1xuICAgIFNlYXJjaE1vPzogc3RyaW5nO1xuICAgIEZpZWxkc1NldHRpbmc/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIERldmljZVNpemUgPSAnZGVza3RvcCcgfCAnbW9iaWxlJyB8ICd0YWJsZXQnO1xuZXhwb3J0IGNvbnN0IERhdGVSYW5nZXMgPSBbXG4gICAgJ0RhdGVSX05vbmUnLFxuICAgICdEYXRlUl9TcGVjaWZpY1JhbmdlJyxcbiAgICAnRGF0ZVJfVG9kYXknLFxuICAgICdEYXRlUl9UaGlzV2VlaycsXG4gICAgJ0RhdGVSX1RoaXNNb250aCcsXG4gICAgJ0RhdGVSX1RoaXNZZWFyJyxcbiAgICAnRGF0ZVJfRGF5c0JlZm9yZScsXG4gICAgJ0RhdGVSX1ByZXZXZWVrJyxcbiAgICAnRGF0ZVJfUHJldk1vbnRoJyxcbiAgICAnRGF0ZVJfUHJldlllYXInLFxuICAgICdEYXRlUl9EYXlzQWZ0ZXInLFxuICAgICdEYXRlUl9OZXh0V2VlaycsXG4gICAgJ0RhdGVSX05leHRNb250aCcsXG4gICAgJ0RhdGVSX05leHRZZWFyJ1xuXTtcblxuZXhwb3J0IGludGVyZmFjZSBVaVJlcG9ydFZpZXdCYXNlIHtcbiAgICBVaUNvbXBvbmVudDoge1xuICAgICAgICBDb21wb25lbnQ6IGJvb2xlYW47XG4gICAgICAgIE1vZHVsZTogc3RyaW5nO1xuICAgICAgICBNb2R1bGVGaWxlTmFtZTogc3RyaW5nO1xuICAgICAgICBOYW1lOiBzdHJpbmc7XG4gICAgICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgICAgIFNldHRpbmdzOiBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZztcbiAgICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIFR5cGU6IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xuICAgIEhpZGRlbjogYm9vbGVhbjtcbiAgICBFbmFibGVTZWFyY2g6IGJvb2xlYW47XG4gICAgRGlzYWJsZVJlc3BvbnNpdmU/OiBib29sZWFuO1xuICAgIERpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51PzogYm9vbGVhbjtcbiAgICBIb3Jpem9udGFsR3JvdXBCeTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVGl0bGU/OiBzdHJpbmc7XG4gICAgeHR5cGU6IHN0cmluZztcbiAgICBUZXh0VmlzaWJsZT86IGJvb2xlYW47XG4gICAgaXRlbXM6IExheW91dFNldHRpbmdbXTtcbiAgICBJc1Jvb3Q/OiBib29sZWFuO1xuICAgIFNlbGVjdGVkVGFiUGFnZU5hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSA9ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCc7XG5leHBvcnQgaW50ZXJmYWNlIFRyZWVOb2RlT2JqIHtcbiAgICBpc0V4cGFuZDogYm9vbGVhbjtcbiAgICB2aXNpYmlsaXR5OiBib29sZWFuO1xuICAgIGV4cGFuZDogKCkgPT4gdm9pZDtcbiAgICBjb2xsYXBzZTogKCkgPT4gdm9pZDtcbiAgICBEYXRhOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGNoaWxkcmVuOiBUcmVlTm9kZU9ialtdO1xuICAgIGljb246IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbiAgICBsZWFmOiBib29sZWFuO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIGxvYWRpbmc/OiBib29sZWFuO1xuICAgIGhhc09uZURlcHRoTGV2ZWw/OiBib29sZWFuO1xuICAgIHBhcmVudE5vZGU6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBmaXJzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgbGFzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgcHJldmlvdXNTaWJsaW5nOiBUcmVlTm9kZU9iaiB8IG51bGw7XG4gICAgbmV4dFNpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBhdHRyaWJ1dGVzOiB7IERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsIH07XG4gICAgaGFzQ2hpbGROb2RlczogKCkgPT4gYm9vbGVhbjtcbiAgICBub0Ryb3A6IGJvb2xlYW47XG4gICAgJENoaWxkcmVuPzogVHJlZU5vZGVPYmpbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5SZXNpemVkQXJncyB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHdpZHRoOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyA9IHsgY29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47IHJlc2l6ZWQ6IEFycmF5PENvbHVtblJlc2l6ZWRBcmdzPiB9O1xuZXhwb3J0IHR5cGUgUmVsYXRpb25JdGVtVHlwZSA9IHtcbiAgICBJZDogc3RyaW5nO1xuICAgIFNvdXJjZVR5cGVEZWZJZDogc3RyaW5nO1xuICAgIE9iamVjdEluUmVsYXRpb25OYW1lOiBzdHJpbmc7XG4gICAgR3JvdXBDYXB0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBFanJheU9sZ28gPSB7XG4gICAgTW9kdWxlOiBzdHJpbmc7XG4gICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICBQYXJhbWV0ZXJzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcbn07XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXdpdGgtZHluYW1pYy1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZHVsZS13aXRoLWR5bmFtaWMtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgTW9kdWxlV2l0aER5bmFtaWNDb21wb25lbnRzID0gVHlwZTxhbnk+ICYge1xyXG4gICAgZHluYW1pY0NvbXBvbmVudHNNYXA6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xyXG59O1xyXG4iXX0=
|
|
@@ -0,0 +1,117 @@
|
|
|
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
|
+
ngOnInit() {
|
|
7
|
+
super.ngOnInit();
|
|
8
|
+
if (this.inputElement) {
|
|
9
|
+
const formated = this._getFormated(this.value).toString();
|
|
10
|
+
this.inputElement.value = formated;
|
|
11
|
+
}
|
|
12
|
+
this.hasMask =
|
|
13
|
+
BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ShowThousandSeperator', false) ||
|
|
14
|
+
BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.DecimalPrecision', 0) > 0;
|
|
15
|
+
}
|
|
16
|
+
ngOnDestroy() {
|
|
17
|
+
this._clearInterval();
|
|
18
|
+
super.ngOnDestroy();
|
|
19
|
+
}
|
|
20
|
+
onKeyDown(e) {
|
|
21
|
+
const isCharacter = this._isCharacter(e);
|
|
22
|
+
if (!isCharacter) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const isValid = new RegExp('^[0-9,.]*$').test(e.currentTarget.value + e.key);
|
|
26
|
+
if (!isValid || e.key === '.') {
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
e.stopPropagation();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
onValueChange(e) {
|
|
32
|
+
const text = e.currentTarget?.value || '';
|
|
33
|
+
this.reFormatValue(text, e);
|
|
34
|
+
}
|
|
35
|
+
_setValue(value) {
|
|
36
|
+
super._setValue(value);
|
|
37
|
+
this.reFormatValue(this.value, { target: this.inputElement });
|
|
38
|
+
}
|
|
39
|
+
_clearInterval() {
|
|
40
|
+
if (this.tickRef) {
|
|
41
|
+
clearInterval(this.tickRef);
|
|
42
|
+
this.tickRef = null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
_isCharacter(evt) {
|
|
46
|
+
if (typeof evt.which === 'undefined') {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
else if (typeof evt.which === 'number' && evt.which > 0) {
|
|
50
|
+
return !evt.ctrlKey && !evt.metaKey && !evt.altKey && evt.which !== 8 && evt.key.length === 1;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
_getFormated(val) {
|
|
55
|
+
return this._numeralPipe
|
|
56
|
+
.transform(val, this.Setting.DecimalPrecision, this.Setting.ShowThousandSeperator)
|
|
57
|
+
.toString();
|
|
58
|
+
}
|
|
59
|
+
_setCursorPosition(cursorPosition) {
|
|
60
|
+
if (this.inputElement) {
|
|
61
|
+
if (cursorPosition > this.inputElement.value.length) {
|
|
62
|
+
cursorPosition = this.inputElement.value.length;
|
|
63
|
+
}
|
|
64
|
+
this.inputElement.setSelectionRange(cursorPosition, cursorPosition);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
reFormatValue(text, e) {
|
|
68
|
+
if (typeof text === 'number') {
|
|
69
|
+
text = text.toString();
|
|
70
|
+
}
|
|
71
|
+
let formated = this._getFormated(text).toString();
|
|
72
|
+
let newVal = this._numeralPipe.getValue(formated);
|
|
73
|
+
let indexofDot = text.indexOf('.');
|
|
74
|
+
let indexOfDotFormated = formated.indexOf('.');
|
|
75
|
+
const decimalPersicion = Number(this.Setting.DecimalPrecision);
|
|
76
|
+
if (decimalPersicion === 0) {
|
|
77
|
+
indexofDot = text.length;
|
|
78
|
+
indexOfDotFormated = formated.length;
|
|
79
|
+
}
|
|
80
|
+
if (this.hasMask) {
|
|
81
|
+
let cursorPosition = this.inputElement?.selectionStart;
|
|
82
|
+
let diff = 0;
|
|
83
|
+
if (indexofDot < 0 && decimalPersicion > 0) {
|
|
84
|
+
formated = this._getFormated(text);
|
|
85
|
+
newVal = this._numeralPipe.getValue(formated);
|
|
86
|
+
}
|
|
87
|
+
else if (cursorPosition != null && cursorPosition <= indexofDot) {
|
|
88
|
+
diff = indexOfDotFormated - indexofDot;
|
|
89
|
+
cursorPosition += diff;
|
|
90
|
+
}
|
|
91
|
+
if (this.inputElement) {
|
|
92
|
+
this.inputElement.value = formated;
|
|
93
|
+
}
|
|
94
|
+
e.target.value = formated;
|
|
95
|
+
this._setCursorPosition(cursorPosition);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
if (this.inputElement) {
|
|
99
|
+
this.inputElement.value = newVal;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
this.value = newVal;
|
|
103
|
+
this.valueChange.emit(this.value);
|
|
104
|
+
this.formmatedValue.emit(this.inputElement?.value);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
NumberBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
108
|
+
NumberBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NumberBaseComponent, selector: "bnrc-number-base", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberBaseComponent, decorators: [{
|
|
110
|
+
type: Component,
|
|
111
|
+
args: [{
|
|
112
|
+
selector: 'bnrc-number-base',
|
|
113
|
+
template: '',
|
|
114
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
115
|
+
}]
|
|
116
|
+
}] });
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbnVtYmVyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFLdkQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLE9BQU87WUFDUixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxLQUFLLENBQUM7Z0JBQ3RGLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELFNBQVMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLEdBQUcsSUFB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QVksRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO2FBQ3BDO1NBQ0o7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDOztnSEEzR1EsbUJBQW1CO29HQUFuQixtQkFBbUIsK0VBSGxCLEVBQUU7MkZBR0gsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtYmFzZSc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1udW1iZXItYmFzZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlckJhc2VDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgaGFzTWFzazogYm9vbGVhbjtcbiAgICB0aWNrUmVmOiBhbnk7XG4gICAgcHJvdGVjdGVkIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdGVkID0gdGhpcy5fZ2V0Rm9ybWF0ZWQodGhpcy52YWx1ZSkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gZm9ybWF0ZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYXNNYXNrID1cbiAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuU2hvd1Rob3VzYW5kU2VwZXJhdG9yJywgZmFsc2UpIHx8XG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkRlY2ltYWxQcmVjaXNpb24nLCAwKSA+IDA7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG4gICAgb25LZXlEb3duKGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNDaGFyYWN0ZXIgPSB0aGlzLl9pc0NoYXJhY3RlcihlKTtcbiAgICAgICAgaWYgKCFpc0NoYXJhY3Rlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSBuZXcgUmVnRXhwKCdeWzAtOSwuXSokJykudGVzdChlLmN1cnJlbnRUYXJnZXQudmFsdWUgKyBlLmtleSk7XG4gICAgICAgIGlmICghaXNWYWxpZCB8fCBlLmtleSA9PT0gJy4nKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uVmFsdWVDaGFuZ2UoZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0ZXh0OiBzdHJpbmcgPSBlLmN1cnJlbnRUYXJnZXQ/LnZhbHVlIHx8ICcnO1xuICAgICAgICB0aGlzLnJlRm9ybWF0VmFsdWUodGV4dCwgZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWUpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5yZUZvcm1hdFZhbHVlKHRoaXMudmFsdWUsIHsgdGFyZ2V0OiB0aGlzLmlucHV0RWxlbWVudCB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jbGVhckludGVydmFsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aWNrUmVmKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMudGlja1JlZik7XG4gICAgICAgICAgICB0aGlzLnRpY2tSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfaXNDaGFyYWN0ZXIoZXZ0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0eXBlb2YgZXZ0LndoaWNoID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2dC53aGljaCA9PT0gJ251bWJlcicgJiYgZXZ0LndoaWNoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuICFldnQuY3RybEtleSAmJiAhZXZ0Lm1ldGFLZXkgJiYgIWV2dC5hbHRLZXkgJiYgZXZ0LndoaWNoICE9PSA4ICYmIGV2dC5rZXkubGVuZ3RoID09PSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2dldEZvcm1hdGVkKHZhbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1lcmFsUGlwZVxuICAgICAgICAgICAgLnRyYW5zZm9ybSh2YWwsIHRoaXMuU2V0dGluZy5EZWNpbWFsUHJlY2lzaW9uLCB0aGlzLlNldHRpbmcuU2hvd1Rob3VzYW5kU2VwZXJhdG9yKVxuICAgICAgICAgICAgLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoY3Vyc29yUG9zaXRpb24gPiB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjdXJzb3JQb3NpdGlvbiA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zaXRpb24sIGN1cnNvclBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIHJlRm9ybWF0VmFsdWUodGV4dDogc3RyaW5nIHwgbnVtYmVyLCBlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdGV4dCA9IHRleHQudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZm9ybWF0ZWQ6IHN0cmluZyA9IHRoaXMuX2dldEZvcm1hdGVkKHRleHQpLnRvU3RyaW5nKCk7XG4gICAgICAgIGxldCBuZXdWYWwgPSB0aGlzLl9udW1lcmFsUGlwZS5nZXRWYWx1ZShmb3JtYXRlZCk7XG5cbiAgICAgICAgbGV0IGluZGV4b2ZEb3QgPSB0ZXh0LmluZGV4T2YoJy4nKTtcbiAgICAgICAgbGV0IGluZGV4T2ZEb3RGb3JtYXRlZCA9IGZvcm1hdGVkLmluZGV4T2YoJy4nKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBlcnNpY2lvbiA9IE51bWJlcih0aGlzLlNldHRpbmcuRGVjaW1hbFByZWNpc2lvbik7XG5cbiAgICAgICAgaWYgKGRlY2ltYWxQZXJzaWNpb24gPT09IDApIHtcbiAgICAgICAgICAgIGluZGV4b2ZEb3QgPSB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgIGluZGV4T2ZEb3RGb3JtYXRlZCA9IGZvcm1hdGVkLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oYXNNYXNrKSB7XG4gICAgICAgICAgICBsZXQgY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0RWxlbWVudD8uc2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgICAgICBsZXQgZGlmZiA9IDA7XG4gICAgICAgICAgICBpZiAoaW5kZXhvZkRvdCA8IDAgJiYgZGVjaW1hbFBlcnNpY2lvbiA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3JtYXRlZCA9IHRoaXMuX2dldEZvcm1hdGVkKHRleHQpO1xuICAgICAgICAgICAgICAgIG5ld1ZhbCA9IHRoaXMuX251bWVyYWxQaXBlLmdldFZhbHVlKGZvcm1hdGVkKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3Vyc29yUG9zaXRpb24gIT0gbnVsbCAmJiBjdXJzb3JQb3NpdGlvbiA8PSBpbmRleG9mRG90KSB7XG4gICAgICAgICAgICAgICAgZGlmZiA9IGluZGV4T2ZEb3RGb3JtYXRlZCAtIGluZGV4b2ZEb3Q7XG4gICAgICAgICAgICAgICAgY3Vyc29yUG9zaXRpb24gKz0gZGlmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gZm9ybWF0ZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnRhcmdldC52YWx1ZSA9IGZvcm1hdGVkO1xuICAgICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSBuZXdWYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbDtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLmZvcm1tYXRlZFZhbHVlLmVtaXQodGhpcy5pbnB1dEVsZW1lbnQ/LnZhbHVlKTtcbiAgICB9XG59XG4iXX0=
|