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