barsa-novin-ray-core 2.2.73 → 2.2.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/fesm2022/barsa-novin-ray-core.mjs +630 -651
  2. package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
  3. package/lib/abstract-classes/field-base.d.ts +1 -1
  4. package/lib/abstract-classes/number-base.d.ts +1 -1
  5. package/lib/date-services/date-hijri.service.d.ts +1 -1
  6. package/lib/date-services/date.service.d.ts +1 -1
  7. package/lib/directives/base.directive.d.ts +1 -1
  8. package/lib/dynamic-component/base-view-item-props.d.ts +4 -4
  9. package/lib/resolvers/login-settings.resolver.d.ts +1 -1
  10. package/lib/resolvers/tile-group-breadcrumb.resolver.d.ts +1 -1
  11. package/lib/services/notification.service.d.ts +2 -2
  12. package/lib/services/portal.service.d.ts +1 -1
  13. package/package.json +3 -5
  14. package/esm2022/barsa-novin-ray-core.mjs +0 -5
  15. package/esm2022/lib/abstract-classes/application-base.mjs +0 -25
  16. package/esm2022/lib/abstract-classes/barsa-api.mjs +0 -43
  17. package/esm2022/lib/abstract-classes/base-column-props.mjs +0 -89
  18. package/esm2022/lib/abstract-classes/base.component.mjs +0 -60
  19. package/esm2022/lib/abstract-classes/field-base.mjs +0 -244
  20. package/esm2022/lib/abstract-classes/files-validation-helper.mjs +0 -75
  21. package/esm2022/lib/abstract-classes/form-base.mjs +0 -164
  22. package/esm2022/lib/abstract-classes/form-field-report-page.component.mjs +0 -54
  23. package/esm2022/lib/abstract-classes/form-page-base.mjs +0 -132
  24. package/esm2022/lib/abstract-classes/form-page.component.mjs +0 -53
  25. package/esm2022/lib/abstract-classes/form-props.base.mjs +0 -100
  26. package/esm2022/lib/abstract-classes/form-toolbar-base.mjs +0 -57
  27. package/esm2022/lib/abstract-classes/index.mjs +0 -25
  28. package/esm2022/lib/abstract-classes/layout-item-base.mjs +0 -49
  29. package/esm2022/lib/abstract-classes/layout-panel-base.mjs +0 -68
  30. package/esm2022/lib/abstract-classes/linear-list-helper.mjs +0 -135
  31. package/esm2022/lib/abstract-classes/models.mjs +0 -184
  32. package/esm2022/lib/abstract-classes/module-with-dynamic-components.mjs +0 -2
  33. package/esm2022/lib/abstract-classes/number-base.mjs +0 -201
  34. package/esm2022/lib/abstract-classes/page-base.mjs +0 -98
  35. package/esm2022/lib/abstract-classes/page-with-form-handler-base.mjs +0 -41
  36. package/esm2022/lib/abstract-classes/report-base.mjs +0 -266
  37. package/esm2022/lib/abstract-classes/report-item-base.mjs +0 -54
  38. package/esm2022/lib/abstract-classes/report-view-base.component.mjs +0 -450
  39. package/esm2022/lib/abstract-classes/system-base.mjs +0 -25
  40. package/esm2022/lib/abstract-classes/tile-props.mjs +0 -49
  41. package/esm2022/lib/auth-guard.mjs +0 -48
  42. package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +0 -311
  43. package/esm2022/lib/barsa-novin-ray-core.module.mjs +0 -522
  44. package/esm2022/lib/base-ulv-setting.component.mjs +0 -46
  45. package/esm2022/lib/base.module.mjs +0 -28
  46. package/esm2022/lib/button-loading/button-loading.component.mjs +0 -20
  47. package/esm2022/lib/constants.mjs +0 -963
  48. package/esm2022/lib/container.component.mjs +0 -100
  49. package/esm2022/lib/controllers/base-controller.mjs +0 -9
  50. package/esm2022/lib/controllers/base-view.mjs +0 -24
  51. package/esm2022/lib/controllers/index.mjs +0 -4
  52. package/esm2022/lib/controllers/models.mjs +0 -2
  53. package/esm2022/lib/custom-route-reuse-strategy.mjs +0 -32
  54. package/esm2022/lib/date-services/date-hijri.service.mjs +0 -146
  55. package/esm2022/lib/date-services/date-info.mjs +0 -2
  56. package/esm2022/lib/date-services/date-miladi.service.mjs +0 -124
  57. package/esm2022/lib/date-services/date-shamsi.service.mjs +0 -148
  58. package/esm2022/lib/date-services/date.service.mjs +0 -149
  59. package/esm2022/lib/date-services/index.mjs +0 -6
  60. package/esm2022/lib/device.mjs +0 -663
  61. package/esm2022/lib/directives/absolute-div-body.directive.mjs +0 -46
  62. package/esm2022/lib/directives/anchor-scroll.directive.mjs +0 -25
  63. package/esm2022/lib/directives/attr-rtl.directive.mjs +0 -36
  64. package/esm2022/lib/directives/base.directive.mjs +0 -55
  65. package/esm2022/lib/directives/body-click.directive.mjs +0 -36
  66. package/esm2022/lib/directives/column-resizer.directive.mjs +0 -40
  67. package/esm2022/lib/directives/copy.directive.mjs +0 -60
  68. package/esm2022/lib/directives/count-down.directive.mjs +0 -109
  69. package/esm2022/lib/directives/dynamic-command.directive.mjs +0 -43
  70. package/esm2022/lib/directives/dynamic-style.directive.mjs +0 -66
  71. package/esm2022/lib/directives/ellapsis-text.directive.mjs +0 -70
  72. package/esm2022/lib/directives/ellipsify.directive.mjs +0 -73
  73. package/esm2022/lib/directives/field-binding.directive.mjs +0 -18
  74. package/esm2022/lib/directives/fill-empty-space.mjs +0 -89
  75. package/esm2022/lib/directives/form-close.directive.mjs +0 -33
  76. package/esm2022/lib/directives/img-lazy.directive.mjs +0 -82
  77. package/esm2022/lib/directives/index.mjs +0 -42
  78. package/esm2022/lib/directives/intersection-observer.directive.mjs +0 -52
  79. package/esm2022/lib/directives/items-renderer.directive.mjs +0 -60
  80. package/esm2022/lib/directives/label-mandatory.directive.mjs +0 -49
  81. package/esm2022/lib/directives/load-external-files.directive.mjs +0 -38
  82. package/esm2022/lib/directives/mobile.directive.mjs +0 -30
  83. package/esm2022/lib/directives/nowraptext.directive.mjs +0 -27
  84. package/esm2022/lib/directives/numbers-only-input.directive.mjs +0 -27
  85. package/esm2022/lib/directives/placeHolder.directive.mjs +0 -16
  86. package/esm2022/lib/directives/prevent-default.directive.mjs +0 -21
  87. package/esm2022/lib/directives/print-files.directive.mjs +0 -39
  88. package/esm2022/lib/directives/render-ulv-paging.directive.mjs +0 -81
  89. package/esm2022/lib/directives/render-ulv-viewer.directive.mjs +0 -76
  90. package/esm2022/lib/directives/render-ulv.directive.mjs +0 -52
  91. package/esm2022/lib/directives/route-form-change.directive.mjs +0 -38
  92. package/esm2022/lib/directives/save-image.directive.mjs +0 -28
  93. package/esm2022/lib/directives/splide-slider.directive.mjs +0 -113
  94. package/esm2022/lib/directives/stop-propagation.directive.mjs +0 -21
  95. package/esm2022/lib/directives/table-resizer.directive.mjs +0 -236
  96. package/esm2022/lib/directives/ulv-command.directive.mjs +0 -43
  97. package/esm2022/lib/directives/until-inview.directive.mjs +0 -53
  98. package/esm2022/lib/directives/webotp.directive.mjs +0 -49
  99. package/esm2022/lib/directives/workflow-choice-command.directive.mjs +0 -61
  100. package/esm2022/lib/dynamic-component/base-dynamic.component.mjs +0 -97
  101. package/esm2022/lib/dynamic-component/base-form-toolbaritem-props.mjs +0 -53
  102. package/esm2022/lib/dynamic-component/base-item-content-props.mjs +0 -83
  103. package/esm2022/lib/dynamic-component/base-view-content-props.mjs +0 -27
  104. package/esm2022/lib/dynamic-component/base-view-item-props.mjs +0 -552
  105. package/esm2022/lib/dynamic-component/base-view-props.mjs +0 -163
  106. package/esm2022/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +0 -38
  107. package/esm2022/lib/dynamic-component/dynamic-form.component.mjs +0 -69
  108. package/esm2022/lib/dynamic-component/dynamic-item.component.mjs +0 -78
  109. package/esm2022/lib/dynamic-component/dynamic-layout.component.mjs +0 -64
  110. package/esm2022/lib/dynamic-component/index.mjs +0 -11
  111. package/esm2022/lib/empty-page/empty-page.component.mjs +0 -49
  112. package/esm2022/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +0 -16
  113. package/esm2022/lib/field-ui/field-ui.component.mjs +0 -149
  114. package/esm2022/lib/form/form.component.mjs +0 -212
  115. package/esm2022/lib/form-new/form-new.component.mjs +0 -31
  116. package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page-routing.module.mjs +0 -54
  117. package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page.module.mjs +0 -29
  118. package/esm2022/lib/form-page-routing/constants.mjs +0 -9
  119. package/esm2022/lib/form-page-routing/index.mjs +0 -3
  120. package/esm2022/lib/from-intersection-observer.mjs +0 -53
  121. package/esm2022/lib/global-error-handler.mjs +0 -26
  122. package/esm2022/lib/injdection-tokens.mjs +0 -8
  123. package/esm2022/lib/modal-root.component.mjs +0 -34
  124. package/esm2022/lib/not-found/not-found.component.mjs +0 -16
  125. package/esm2022/lib/not-internet/not-internet.component.mjs +0 -21
  126. package/esm2022/lib/pipes/barsa-icon-dict.pipe.mjs +0 -20
  127. package/esm2022/lib/pipes/bbb-translate.pipe.mjs +0 -36
  128. package/esm2022/lib/pipes/can-upload.pipe.mjs +0 -27
  129. package/esm2022/lib/pipes/card-media-size.pipe.mjs +0 -21
  130. package/esm2022/lib/pipes/column-custom-component.pipe.mjs +0 -41
  131. package/esm2022/lib/pipes/column-customui.pipe.mjs +0 -33
  132. package/esm2022/lib/pipes/column-icon.pipe.mjs +0 -23
  133. package/esm2022/lib/pipes/column-value.pipe.mjs +0 -35
  134. package/esm2022/lib/pipes/column-valueof-parameters.pipe.mjs +0 -34
  135. package/esm2022/lib/pipes/combo-row-img.pipe.mjs +0 -17
  136. package/esm2022/lib/pipes/context-menu.pipe.mjs +0 -41
  137. package/esm2022/lib/pipes/control-ui.pipe.mjs +0 -32
  138. package/esm2022/lib/pipes/convert-to-style.pipe.mjs +0 -33
  139. package/esm2022/lib/pipes/date-time-to-caption.pipe.mjs +0 -35
  140. package/esm2022/lib/pipes/fileinfo-count.pipe.mjs +0 -21
  141. package/esm2022/lib/pipes/filter-columns-by-details.pipe.mjs +0 -23
  142. package/esm2022/lib/pipes/filter-inline-action-list.pipe.mjs +0 -19
  143. package/esm2022/lib/pipes/filter-string.pipe.mjs +0 -45
  144. package/esm2022/lib/pipes/filter-tab.pipe.mjs +0 -20
  145. package/esm2022/lib/pipes/filter-toolbar-control.pipe.mjs +0 -17
  146. package/esm2022/lib/pipes/filter-workflow-mobile.pipe.mjs +0 -25
  147. package/esm2022/lib/pipes/filter.pipe.mjs +0 -34
  148. package/esm2022/lib/pipes/find-column-by-db-name.pipe.mjs +0 -28
  149. package/esm2022/lib/pipes/find-preview-column.pipe.mjs +0 -20
  150. package/esm2022/lib/pipes/fiori-icon.pipe.mjs +0 -43
  151. package/esm2022/lib/pipes/groupby.pipe.mjs +0 -64
  152. package/esm2022/lib/pipes/header-facet-value.pipe.mjs +0 -23
  153. package/esm2022/lib/pipes/hide-accept-cancel-buttons.pipe.mjs +0 -24
  154. package/esm2022/lib/pipes/hide-columns-inmobile.pipe.mjs +0 -23
  155. package/esm2022/lib/pipes/index.mjs +0 -55
  156. package/esm2022/lib/pipes/isimage.pipe.mjs +0 -20
  157. package/esm2022/lib/pipes/list-count.pipe.mjs +0 -18
  158. package/esm2022/lib/pipes/merge-fields-to-columns.pipe.mjs +0 -43
  159. package/esm2022/lib/pipes/mo-info-ulv-data.pipe.mjs +0 -59
  160. package/esm2022/lib/pipes/mo-info-ulv-paging.pipe.mjs +0 -17
  161. package/esm2022/lib/pipes/mo-report-value-concat.pipe.mjs +0 -36
  162. package/esm2022/lib/pipes/mo-report-value.pipe.mjs +0 -18
  163. package/esm2022/lib/pipes/mo-value.pipe.mjs +0 -19
  164. package/esm2022/lib/pipes/multiple-groupby.pipe.mjs +0 -91
  165. package/esm2022/lib/pipes/numeral.pipe.mjs +0 -44
  166. package/esm2022/lib/pipes/picture-field-source.pipe.mjs +0 -23
  167. package/esm2022/lib/pipes/remove-newline.pipe.mjs +0 -21
  168. package/esm2022/lib/pipes/replace.pipe.mjs +0 -18
  169. package/esm2022/lib/pipes/reverse.pipe.mjs +0 -23
  170. package/esm2022/lib/pipes/rownumber.pipe.mjs +0 -26
  171. package/esm2022/lib/pipes/sanitize-text.pipe.mjs +0 -21
  172. package/esm2022/lib/pipes/seperator-fix.pipe.mjs +0 -24
  173. package/esm2022/lib/pipes/sort.pipe.mjs +0 -49
  174. package/esm2022/lib/pipes/string-to-number.pipe.mjs +0 -26
  175. package/esm2022/lib/pipes/th-image-icon.pipe.mjs +0 -22
  176. package/esm2022/lib/pipes/tlbButtons.pipe.mjs +0 -60
  177. package/esm2022/lib/pipes/toolbar-settings.pipe.mjs +0 -27
  178. package/esm2022/lib/pipes/total-summary.pipe.mjs +0 -17
  179. package/esm2022/lib/pipes/tree-item-isexpanded.pipe.mjs +0 -26
  180. package/esm2022/lib/pipes/visible-value.pipe.mjs +0 -19
  181. package/esm2022/lib/portal-page/portal-page.component.mjs +0 -24
  182. package/esm2022/lib/portal-page/portal-sidebar.component.mjs +0 -37
  183. package/esm2022/lib/redirect-home-guard.mjs +0 -51
  184. package/esm2022/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +0 -12
  185. package/esm2022/lib/report-container/report-container.component.mjs +0 -63
  186. package/esm2022/lib/resizable-module/resizable.component.mjs +0 -31
  187. package/esm2022/lib/resizable-module/resizable.directive.mjs +0 -42
  188. package/esm2022/lib/resizable-module/resizable.module.mjs +0 -17
  189. package/esm2022/lib/resolvers/index.mjs +0 -7
  190. package/esm2022/lib/resolvers/login-settings.resolver.mjs +0 -18
  191. package/esm2022/lib/resolvers/portal-dynamic-page.resolver.mjs +0 -49
  192. package/esm2022/lib/resolvers/portal-form-page.resolver.mjs +0 -18
  193. package/esm2022/lib/resolvers/portal-page.resolver.mjs +0 -30
  194. package/esm2022/lib/resolvers/portal-report-page.resolver.mjs +0 -37
  195. package/esm2022/lib/resolvers/tile-group-breadcrumb.resolver.mjs +0 -30
  196. package/esm2022/lib/root-page/root-page.component.mjs +0 -21
  197. package/esm2022/lib/root-portal/root-portal.component.mjs +0 -236
  198. package/esm2022/lib/server-connection-error/server-connection-error.component.mjs +0 -19
  199. package/esm2022/lib/services/api.service.mjs +0 -63
  200. package/esm2022/lib/services/audio-recording.service.mjs +0 -95
  201. package/esm2022/lib/services/barsa-dialog.service.mjs +0 -80
  202. package/esm2022/lib/services/barsa-storage.service.mjs +0 -78
  203. package/esm2022/lib/services/breadcrumb.service.mjs +0 -64
  204. package/esm2022/lib/services/column.service.mjs +0 -20
  205. package/esm2022/lib/services/container.service.mjs +0 -69
  206. package/esm2022/lib/services/dynamic-component.service.mjs +0 -55
  207. package/esm2022/lib/services/form-panel.service.mjs +0 -394
  208. package/esm2022/lib/services/form.service.mjs +0 -14
  209. package/esm2022/lib/services/groupby.service.mjs +0 -21
  210. package/esm2022/lib/services/horizontal-layout.service.mjs +0 -16
  211. package/esm2022/lib/services/index.mjs +0 -32
  212. package/esm2022/lib/services/indexeddb.service.mjs +0 -34
  213. package/esm2022/lib/services/layout-main-content.service.mjs +0 -19
  214. package/esm2022/lib/services/layout.service.mjs +0 -42
  215. package/esm2022/lib/services/local-storage.service.mjs +0 -32
  216. package/esm2022/lib/services/log.service.mjs +0 -50
  217. package/esm2022/lib/services/network-status.service.mjs +0 -15
  218. package/esm2022/lib/services/notification-popup.service.mjs +0 -2
  219. package/esm2022/lib/services/notification-sw.service.mjs +0 -180
  220. package/esm2022/lib/services/notification.service.mjs +0 -189
  221. package/esm2022/lib/services/portal.service.mjs +0 -950
  222. package/esm2022/lib/services/prompt-update.service.mjs +0 -56
  223. package/esm2022/lib/services/routing.service.mjs +0 -60
  224. package/esm2022/lib/services/save-scoll-position.service.mjs +0 -29
  225. package/esm2022/lib/services/service-worker-communication.service.mjs +0 -120
  226. package/esm2022/lib/services/tabpage.service.mjs +0 -13
  227. package/esm2022/lib/services/toast.service.mjs +0 -2
  228. package/esm2022/lib/services/ui.service.mjs +0 -23
  229. package/esm2022/lib/services/ulvmain.service.mjs +0 -824
  230. package/esm2022/lib/services/upload.service.mjs +0 -166
  231. package/esm2022/lib/services/video-recording.service.mjs +0 -115
  232. package/esm2022/lib/unlimit-session/unlimit-session.component.mjs +0 -40
  233. package/esm2022/public-api.mjs +0 -42
@@ -1,100 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Inject, Optional, Self, ViewChild, ViewContainerRef } from '@angular/core';
2
- import { BarsaApi } from './abstract-classes/barsa-api';
3
- import { BaseComponent } from './abstract-classes/base.component';
4
- import { getUniqueId } from './constants';
5
- import { DIALOG_SERVICE, FORM_DIALOG_COMPONENT } from './injdection-tokens';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "./services/portal.service";
9
- import * as i3 from "./services/barsa-dialog.service";
10
- import * as i4 from "./services/container.service";
11
- export class ContainerComponent extends BaseComponent {
12
- constructor(_el, _activatedRoute, _portalService, _vcr, _barsaDialogService, _injector, _router, _cdr, _renderer2, _dialogService, _containerService, _formDialogComponent) {
13
- super();
14
- this._el = _el;
15
- this._activatedRoute = _activatedRoute;
16
- this._portalService = _portalService;
17
- this._vcr = _vcr;
18
- this._barsaDialogService = _barsaDialogService;
19
- this._injector = _injector;
20
- this._router = _router;
21
- this._cdr = _cdr;
22
- this._renderer2 = _renderer2;
23
- this._dialogService = _dialogService;
24
- this._containerService = _containerService;
25
- this._formDialogComponent = _formDialogComponent;
26
- this.id = getUniqueId(6);
27
- this.oldContainerContainer = this._barsaDialogService.containerComponent;
28
- this._barsaDialogService.containerComponent = this;
29
- }
30
- get injector() {
31
- return this._injector;
32
- }
33
- get cdr() {
34
- return this._cdr;
35
- }
36
- get vcr() {
37
- return this.containerRef;
38
- }
39
- ngOnInit() {
40
- this.parentContainer = BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter;
41
- BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter = this;
42
- this.oldNavigation = BarsaApi.Bw.Navigate;
43
- BarsaApi.Bw.Navigate = (navigation, isRelative, queryParams) => {
44
- this._router.navigate(navigation, {
45
- relativeTo: isRelative ? this._activatedRoute : null,
46
- queryParams,
47
- preserveFragment: true
48
- });
49
- };
50
- super.ngOnInit();
51
- if (this._containerService) {
52
- this._containerService.setViewContainerRef(this.containerRef);
53
- }
54
- }
55
- ngOnDestroy() {
56
- BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter = this.parentContainer;
57
- super.ngOnDestroy();
58
- this._barsaDialogService.containerComponent = this.oldContainerContainer;
59
- BarsaApi.Bw.Navigate = this.oldNavigation;
60
- }
61
- detach() {
62
- this._viewRef = this.containerRef.detach();
63
- this._cdr.detectChanges();
64
- }
65
- reAttach() {
66
- if (this._viewRef) {
67
- this.containerRef.insert(this._viewRef);
68
- this._cdr.detectChanges();
69
- }
70
- }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerComponent, deps: [{ token: i0.ElementRef }, { token: i1.ActivatedRoute }, { token: i2.PortalService }, { token: i0.ViewContainerRef }, { token: i3.BarsaDialogService }, { token: i0.Injector }, { token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: DIALOG_SERVICE, optional: true }, { token: i4.ContainerService, optional: true, self: true }, { token: FORM_DIALOG_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContainerComponent, selector: "bnrc-container", viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerComponent, decorators: [{
75
- type: Component,
76
- args: [{
77
- selector: 'bnrc-container',
78
- template: '',
79
- changeDetection: ChangeDetectionStrategy.OnPush,
80
- standalone: false
81
- }]
82
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ActivatedRoute }, { type: i2.PortalService }, { type: i0.ViewContainerRef }, { type: i3.BarsaDialogService }, { type: i0.Injector }, { type: i1.Router }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
83
- type: Optional
84
- }, {
85
- type: Inject,
86
- args: [DIALOG_SERVICE]
87
- }] }, { type: i4.ContainerService, decorators: [{
88
- type: Self
89
- }, {
90
- type: Optional
91
- }] }, { type: i0.Type, decorators: [{
92
- type: Optional
93
- }, {
94
- type: Inject,
95
- args: [FORM_DIALOG_COMPONENT]
96
- }] }], propDecorators: { containerRef: [{
97
- type: ViewChild,
98
- args: ['containerRef', { static: true, read: ViewContainerRef }]
99
- }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBSU4sUUFBUSxFQUVSLElBQUksRUFFSixTQUFTLEVBQ1QsZ0JBQWdCLEVBRW5CLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQVU1RSxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGFBQWE7SUFVMUQsWUFDYyxHQUFlLEVBQ2YsZUFBK0IsRUFDL0IsY0FBNkIsRUFDN0IsSUFBc0IsRUFDdEIsbUJBQXVDLEVBQ3ZDLFNBQW1CLEVBQ25CLE9BQWUsRUFDZixJQUF1QixFQUN2QixVQUFxQixFQUNlLGNBQW1CLEVBQ25DLGlCQUFtQyxFQUNaLG9CQUErQjtRQUVwRixLQUFLLEVBQUUsQ0FBQztRQWJFLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDdEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixlQUFVLEdBQVYsVUFB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MEJBQUksTUFBTTsyQkFBQyxjQUFjOzswQkFDakMsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3lDQXBCN0MsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEluamVjdCxcclxuICAgIEluamVjdG9yLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBTZWxmLFxyXG4gICAgVHlwZSxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBWaWV3UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC1jbGFzc2VzL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZ2V0VW5pcXVlSWQgfSBmcm9tICcuL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IERJQUxPR19TRVJWSUNFLCBGT1JNX0RJQUxPR19DT01QT05FTlQgfSBmcm9tICcuL2luamRlY3Rpb24tdG9rZW5zJztcclxuaW1wb3J0IHsgQmFyc2FEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9iYXJzYS1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnRhaW5lclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbnRhaW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG9ydGFsLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1jb250YWluZXInLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lclJlZicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgICBjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgICBvbGRDb250YWluZXJDb250YWluZXI6IENvbnRhaW5lckNvbXBvbmVudDtcclxuICAgIG9sZE5hdmlnYXRpb246IGFueTtcclxuICAgIHBhcmVudENvbnRhaW5lcjogYW55O1xyXG4gICAgZGV0YWNoUGFyZW50OiBhbnk7XHJcbiAgICBwdWJsaWMgaWQgPSBnZXRVbmlxdWVJZCg2KTtcclxuICAgIHByaXZhdGUgX3ZpZXdSZWY6IFZpZXdSZWYgfCBudWxsO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdmNyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfYmFyc2FEaWFsb2dTZXJ2aWNlOiBCYXJzYURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERJQUxPR19TRVJWSUNFKSBwcm90ZWN0ZWQgX2RpYWxvZ1NlcnZpY2U6IGFueSxcclxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfY29udGFpbmVyU2VydmljZTogQ29udGFpbmVyU2VydmljZSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZPUk1fRElBTE9HX0NPTVBPTkVOVCkgcHJvdGVjdGVkIF9mb3JtRGlhbG9nQ29tcG9uZW50OiBUeXBlPGFueT5cclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5vbGRDb250YWluZXJDb250YWluZXIgPSB0aGlzLl9iYXJzYURpYWxvZ1NlcnZpY2UuY29udGFpbmVyQ29tcG9uZW50O1xyXG4gICAgICAgIHRoaXMuX2JhcnNhRGlhbG9nU2VydmljZS5jb250YWluZXJDb21wb25lbnQgPSB0aGlzO1xyXG4gICAgfVxyXG4gICAgZ2V0IGluamVjdG9yKCk6IEluamVjdG9yIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faW5qZWN0b3I7XHJcbiAgICB9XHJcbiAgICBnZXQgY2RyKCk6IENoYW5nZURldGVjdG9yUmVmIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY2RyO1xyXG4gICAgfVxyXG4gICAgZ2V0IHZjcigpOiBWaWV3Q29udGFpbmVyUmVmIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXJSZWY7XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBhcmVudENvbnRhaW5lciA9IEJhcnNhQXBpLlVsLkFwcGxpY2F0aW9uQ3RybHIuQ3VycmVudFN5c3RlbUFkYXB0ZXI7XHJcbiAgICAgICAgQmFyc2FBcGkuVWwuQXBwbGljYXRpb25DdHJsci5DdXJyZW50U3lzdGVtQWRhcHRlciA9IHRoaXM7XHJcblxyXG4gICAgICAgIHRoaXMub2xkTmF2aWdhdGlvbiA9IEJhcnNhQXBpLkJ3Lk5hdmlnYXRlO1xyXG4gICAgICAgIEJhcnNhQXBpLkJ3Lk5hdmlnYXRlID0gKG5hdmlnYXRpb246IGFueVtdLCBpc1JlbGF0aXZlLCBxdWVyeVBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUobmF2aWdhdGlvbiwge1xyXG4gICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogaXNSZWxhdGl2ZSA/IHRoaXMuX2FjdGl2YXRlZFJvdXRlIDogbnVsbCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgICAgICAgICAgcHJlc2VydmVGcmFnbWVudDogdHJ1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbnRhaW5lclNlcnZpY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29udGFpbmVyU2VydmljZS5zZXRWaWV3Q29udGFpbmVyUmVmKHRoaXMuY29udGFpbmVyUmVmKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5VbC5BcHBsaWNhdGlvbkN0cmxyLkN1cnJlbnRTeXN0ZW1BZGFwdGVyID0gdGhpcy5wYXJlbnRDb250YWluZXI7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLl9iYXJzYURpYWxvZ1NlcnZpY2UuY29udGFpbmVyQ29tcG9uZW50ID0gdGhpcy5vbGRDb250YWluZXJDb250YWluZXI7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTmF2aWdhdGUgPSB0aGlzLm9sZE5hdmlnYXRpb247XHJcbiAgICB9XHJcbiAgICBkZXRhY2goKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdmlld1JlZiA9IHRoaXMuY29udGFpbmVyUmVmLmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICByZUF0dGFjaCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fdmlld1JlZikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lclJlZi5pbnNlcnQodGhpcy5fdmlld1JlZik7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,9 +0,0 @@
1
- export class BaseController {
2
- /**
3
- *
4
- */
5
- constructor(view) {
6
- this.view = view;
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9jb250cm9sbGVycy9iYXNlLWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFnQixjQUFjO0lBRWhDOztPQUVHO0lBQ0gsWUFBWSxJQUFPO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUJhc2VDb250cm9sbGVyIHtcclxuICAgIGluaXQ6ICgpID0+IHZvaWQ7XHJcbn1cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb250cm9sbGVyPFQ+IGltcGxlbWVudHMgSUJhc2VDb250cm9sbGVyIHtcclxuICAgIHZpZXc6IFQ7XHJcbiAgICAvKipcclxuICAgICAqXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHZpZXc6IFQpIHtcclxuICAgICAgICB0aGlzLnZpZXcgPSB2aWV3O1xyXG4gICAgfVxyXG4gICAgYWJzdHJhY3QgaW5pdCgpOiB2b2lkO1xyXG59XHJcblxyXG5cclxuIl19
@@ -1,24 +0,0 @@
1
- import { Directive, signal } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ViewBase {
4
- constructor() {
5
- this.errorMessage = signal('');
6
- this.errorCode = signal(-1);
7
- }
8
- ngOnInit() {
9
- this.controller.init();
10
- }
11
- showError(message, code) {
12
- this.errorMessage.set(message);
13
- this.errorCode.set(code);
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ViewBase, ngImport: i0 }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewBase, decorators: [{
19
- type: Directive,
20
- args: [{
21
- standalone: false
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9jb250cm9sbGVycy9iYXNlLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzFELE1BQU0sT0FBTyxRQUFRO0lBSHJCO1FBS0ksaUJBQVksR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBUzFCO0lBUEcsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELFNBQVMsQ0FBQyxPQUFlLEVBQUUsSUFBWTtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOytHQVhRLFFBQVE7bUdBQVIsUUFBUTs7NEZBQVIsUUFBUTtrQkFIcEIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQmFzZUNvbnRyb2xsZXIgfSBmcm9tICcuL2Jhc2UtY29udHJvbGxlcic7XHJcblxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElWaWV3QmFzZSB7XHJcbiAgICBjb250cm9sbGVyOiBJQmFzZUNvbnRyb2xsZXI7XHJcbiAgICBlcnJvck1lc3NhZ2U6IFdyaXRhYmxlU2lnbmFsPHN0cmluZz47XHJcbiAgICBlcnJvckNvZGU6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj47XHJcbiAgICBuZ09uSW5pdDogKCkgPT4gdm9pZDtcclxuICAgIHNob3dFcnJvcjogKG1lc3NhZ2U6IHN0cmluZywgY29kZTogbnVtYmVyKSA9PiB2b2lkO1xyXG59XHJcblxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld0Jhc2U8VCBleHRlbmRzIElCYXNlQ29udHJvbGxlcj4gaW1wbGVtZW50cyBJVmlld0Jhc2UsIE9uSW5pdCB7XHJcbiAgICBjb250cm9sbGVyOiBUO1xyXG4gICAgZXJyb3JNZXNzYWdlID0gc2lnbmFsKCcnKTtcclxuICAgIGVycm9yQ29kZSA9IHNpZ25hbCgtMSk7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLmluaXQoKTtcclxuICAgIH1cclxuICAgIHNob3dFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGNvZGU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLnNldChtZXNzYWdlKTtcclxuICAgICAgICB0aGlzLmVycm9yQ29kZS5zZXQoY29kZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,4 +0,0 @@
1
- export * from './base-controller';
2
- export * from './base-view';
3
- export * from './models';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2NvbnRyb2xsZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UtY29udHJvbGxlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS12aWV3JztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9jb250cm9sbGVycy9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUFwaVJlc3VsdCB7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICBlcnJvcj86IGFueTtcclxuICAgIHN1Y2NlZWQ6IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -1,32 +0,0 @@
1
- export class CustomRouteReuseStategy {
2
- constructor() {
3
- this.handlers = {};
4
- }
5
- shouldDetach(route) {
6
- return route.data.shouldReuse || false;
7
- }
8
- store(route, handle) {
9
- if (route.data.shouldReuse && route?.routeConfig?.path) {
10
- this.handlers[route.routeConfig.path] = handle;
11
- }
12
- }
13
- shouldAttach(route) {
14
- if (route.routeConfig?.path) {
15
- return !!this.handlers[route.routeConfig.path];
16
- }
17
- // return !!route.routeConfig && !!this.handlers[route.routeConfig.path];
18
- return false;
19
- }
20
- retrieve(route) {
21
- if (!route.routeConfig?.path) {
22
- return null;
23
- }
24
- return this.handlers[route.routeConfig.path];
25
- }
26
- shouldReuseRoute(future
27
- // curr: ActivatedRouteSnapshot
28
- ) {
29
- return future.data.shouldReuse || false;
30
- }
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJvdXRlLXJldXNlLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9jdXN0b20tcm91dGUtcmV1c2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNJLGFBQVEsR0FBMkMsRUFBRSxDQUFDO0lBaUMxRCxDQUFDO0lBL0JHLFlBQVksQ0FBQyxLQUE2QjtRQUN0QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQTZCLEVBQUUsTUFBK0I7UUFDaEUsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDbkQsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBNkI7UUFDdEMsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QseUVBQXlFO1FBQ3pFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBNkI7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQkFBZ0IsQ0FDWixNQUE4QjtJQUM5QiwrQkFBK0I7O1FBRS9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDO0lBQzVDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlUmV1c2VTdHJhdGVneSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGV0YWNoZWRSb3V0ZUhhbmRsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tUm91dGVSZXVzZVN0YXRlZ3kgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xyXG4gICAgaGFuZGxlcnM6IHsgW2tleTogc3RyaW5nXTogRGV0YWNoZWRSb3V0ZUhhbmRsZSB9ID0ge307XHJcblxyXG4gICAgc2hvdWxkRGV0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHJvdXRlLmRhdGEuc2hvdWxkUmV1c2UgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGhhbmRsZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkIHtcclxuICAgICAgICBpZiAocm91dGUuZGF0YS5zaG91bGRSZXVzZSAmJiByb3V0ZT8ucm91dGVDb25maWc/LnBhdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVyc1tyb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoXSA9IGhhbmRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2hvdWxkQXR0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuaGFuZGxlcnNbcm91dGUucm91dGVDb25maWcucGF0aF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHJldHVybiAhIXJvdXRlLnJvdXRlQ29uZmlnICYmICEhdGhpcy5oYW5kbGVyc1tyb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoXTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0cmlldmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwge1xyXG4gICAgICAgIGlmICghcm91dGUucm91dGVDb25maWc/LnBhdGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZXJzW3JvdXRlLnJvdXRlQ29uZmlnLnBhdGhdO1xyXG4gICAgfVxyXG5cclxuICAgIHNob3VsZFJldXNlUm91dGUoXHJcbiAgICAgICAgZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XHJcbiAgICAgICAgLy8gY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxyXG4gICAgKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGZ1dHVyZS5kYXRhLnNob3VsZFJldXNlIHx8IGZhbHNlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,146 +0,0 @@
1
- import { Injectable, Optional } from '@angular/core';
2
- import moment from 'moment-hijri';
3
- import { DateService } from './date.service';
4
- import 'moment/locale/ar-SA';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../services/log.service";
7
- export class DateHijriService extends DateService {
8
- constructor(logService) {
9
- super(logService);
10
- this.logService = logService;
11
- this.locale = 'ar-SA';
12
- }
13
- getTimes(date) {
14
- return moment(date).format('HH:mm');
15
- }
16
- weeksCount(momentObj) {
17
- return moment.duration(moment(momentObj).endOf('iMonth') - moment(momentObj).startOf('iMonth')).weeks() + 1;
18
- }
19
- subtractMonth(momentOfDate, value) {
20
- return momentOfDate.subtract(value, 'iMonth').toDate();
21
- }
22
- addMonth(momentOfDate, value) {
23
- return momentOfDate.add(value, 'iMonth').toDate();
24
- }
25
- toText() {
26
- return 'الی ';
27
- }
28
- to(date1, date2) {
29
- return moment(date1).to(date2);
30
- }
31
- from(date1, date2) {
32
- return moment(date1).from(date2);
33
- }
34
- isSame(date1, date2, mode) {
35
- const m1 = moment(date1);
36
- const m2 = moment(date2);
37
- return this.checkSame(m1, m2, mode, 'i');
38
- }
39
- strDate(date) {
40
- return moment(date).format('iD');
41
- }
42
- weekdaysMin() {
43
- return moment.weekdaysMin();
44
- }
45
- weekDays() {
46
- return moment.weekdays();
47
- }
48
- date(date) {
49
- return moment(date).iDate();
50
- }
51
- endOfMonth(date) {
52
- return moment(date).endOf('iMonth').format('iYYYY-iMM-iDD hh:mm');
53
- }
54
- startOfMonth(date) {
55
- return moment(date).startOf('iMonth').format('iYYYY-iMM-iDD hh:mm');
56
- }
57
- getDateInfo(date) {
58
- const m = moment(date);
59
- const shamsi = {
60
- year: m.iYear(),
61
- month: m.iMonth(),
62
- day: m.iDate(),
63
- hour: m.hour(),
64
- minutes: m.minute(),
65
- strYear: m.format('iYYYY'),
66
- strMonth: m.format('iM'),
67
- strDay: m.format('iD'),
68
- monthName: m.format('iMMMM'),
69
- dayInWeek: 0,
70
- dayName: m.format('dddd'),
71
- moment: m,
72
- date
73
- };
74
- shamsi.dayInWeek = m.daysInMonth(shamsi.year, shamsi.month);
75
- return shamsi;
76
- }
77
- daysInMonth(year, month) {
78
- return moment.jDaysInMonth(year, month);
79
- }
80
- getMoment(date) {
81
- if (!date) {
82
- date = new Date();
83
- }
84
- return moment(date);
85
- }
86
- stringToMoment(str, format) {
87
- return moment(str, format);
88
- }
89
- getStrMonthName(date) {
90
- return moment(date).format('iMMMM');
91
- }
92
- parse(payload) {
93
- const { year, month, day, hour, minutes } = payload;
94
- const format = 'iYYYY-iM-iD HH:mm';
95
- const value = `${year}-${month}-${day} ${hour}:${minutes}`;
96
- if (this.logService) {
97
- this.logService.info(value, format);
98
- }
99
- return moment(value, format);
100
- }
101
- monthNames() {
102
- return moment.localeData()._iMonths;
103
- }
104
- format(value, format) {
105
- const m = this.getMoment(value);
106
- format = format.indexOf('YYYY') > -1 ? format.replace('YYYY', 'i1111') : format;
107
- format = format.indexOf('YY') > -1 ? format.replace('YY', 'i11') : format;
108
- format = format.indexOf('MMMM') > -1 ? format.replace('MMMM', 'i2222') : format;
109
- format = format.indexOf('MM') > -1 ? format.replace('MM', 'i22') : format;
110
- format = format.indexOf('DD') > -1 ? format.replace('DD', 'i33') : format;
111
- format = format.replace(/1/g, 'Y');
112
- format = format.replace(/2/g, 'M');
113
- format = format.replace(/3/g, 'D');
114
- return m.format(format);
115
- }
116
- getShortDateString(date) {
117
- const m = moment(date);
118
- m.locale('ar-SA');
119
- const format = 'iYYYY/iMM/iDD';
120
- return m.format(format);
121
- }
122
- getDateTimeString(date) {
123
- const m = moment(date);
124
- m.locale('ar-SA');
125
- return m.format('iYYYY-iMM-iDD HH:mm');
126
- }
127
- getDateString(date, showDate, showTime) {
128
- const m = moment(date);
129
- let format = 'dddd';
130
- if (showDate) {
131
- format = `${format} iYYYY/iMM/iDD `;
132
- }
133
- if (showTime) {
134
- format = `${format} HH:mm`;
135
- }
136
- return m.format(format);
137
- }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateHijriService, deps: [{ token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
139
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateHijriService }); }
140
- }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateHijriService, decorators: [{
142
- type: Injectable
143
- }], ctorParameters: () => [{ type: i1.LogService, decorators: [{
144
- type: Optional
145
- }] }] });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1oaWpyaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kYXRlLXNlcnZpY2VzL2RhdGUtaGlqcmkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUM7QUFJbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8scUJBQXFCLENBQUM7OztBQUU3QixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUU3QyxZQUFrQyxVQUFzQjtRQUNwRCxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFEWSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRDlDLFdBQU0sR0FBRyxPQUFPLENBQUM7SUFHM0IsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFtQjtRQUN4QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELFVBQVUsQ0FBQyxTQUFjO1FBQ3JCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUNELGFBQWEsQ0FBQyxZQUFpQixFQUFFLEtBQWE7UUFDMUMsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsUUFBUSxDQUFDLFlBQWlCLEVB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QUFDO1FBQ2hDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hGLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzFFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hGLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzFFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRTFFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNuQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsSUFBVTtRQUN6QixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQixNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUM7UUFDL0IsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxJQUFVO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxhQUFhLENBQUMsSUFBVSxFQUFFLFFBQWlCLEVBQUUsUUFBaUI7UUFDMUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsTUFBTSxHQUFHLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLE1BQU0sR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0FuSVEsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OzBCQUdNLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC1oaWpyaSc7XG5cbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlSW5mbyB9IGZyb20gJy4vZGF0ZS1pbmZvJztcbmltcG9ydCB7IERhdGVTZXJ2aWNlIH0gZnJvbSAnLi9kYXRlLnNlcnZpY2UnO1xuaW1wb3J0ICdtb21lbnQvbG9jYWxlL2FyLVNBJztcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlSGlqcmlTZXJ2aWNlIGV4dGVuZHMgRGF0ZVNlcnZpY2Uge1xuICAgIHByb3RlY3RlZCBsb2NhbGUgPSAnYXItU0EnO1xuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGxvZ1NlcnZpY2UpO1xuICAgIH1cbiAgICBnZXRUaW1lcyhkYXRlOiBzdHJpbmcgfCBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlKS5mb3JtYXQoJ0hIOm1tJyk7XG4gICAgfVxuICAgIHdlZWtzQ291bnQobW9tZW50T2JqOiBhbnkpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbW9tZW50LmR1cmF0aW9uKG1vbWVudChtb21lbnRPYmopLmVuZE9mKCdpTW9udGgnKSAtIG1vbWVudChtb21lbnRPYmopLnN0YXJ0T2YoJ2lNb250aCcpKS53ZWVrcygpICsgMTtcbiAgICB9XG4gICAgc3VidHJhY3RNb250aChtb21lbnRPZkRhdGU6IGFueSwgdmFsdWU6IG51bWJlcik6IERhdGUge1xuICAgICAgICByZXR1cm4gbW9tZW50T2ZEYXRlLnN1YnRyYWN0KHZhbHVlLCAnaU1vbnRoJykudG9EYXRlKCk7XG4gICAgfVxuICAgIGFkZE1vbnRoKG1vbWVudE9mRGF0ZTogYW55LCB2YWx1ZTogbnVtYmVyKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiBtb21lbnRPZkRhdGUuYWRkKHZhbHVlLCAnaU1vbnRoJykudG9EYXRlKCk7XG4gICAgfVxuICAgIHRvVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ9in2YTbjCAnO1xuICAgIH1cbiAgICB0byhkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUxKS50byhkYXRlMik7XG4gICAgfVxuICAgIGZyb20oZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlMSkuZnJvbShkYXRlMik7XG4gICAgfVxuICAgIGlzU2FtZShkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUsIG1vZGU6ICd5ZWFyJyB8ICdtb250aCcgfCAnZGF5Jyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBtMSA9IG1vbWVudChkYXRlMSk7XG4gICAgICAgIGNvbnN0IG0yID0gbW9tZW50KGRhdGUyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tTYW1lKG0xLCBtMiwgbW9kZSwgJ2knKTtcbiAgICB9XG4gICAgc3RyRGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlKS5mb3JtYXQoJ2lEJyk7XG4gICAgfVxuICAgIHdlZWtkYXlzTWluKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudC53ZWVrZGF5c01pbigpO1xuICAgIH1cbiAgICB3ZWVrRGF5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBtb21lbnQud2Vla2RheXMoKTtcbiAgICB9XG4gICAgZGF0ZShkYXRlOiBEYXRlKTogYW55IHtcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlKS5pRGF0ZSgpO1xuICAgIH1cbiAgICBlbmRPZk1vbnRoKGRhdGU6IERhdGUpOiBhbnkge1xuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpLmVuZE9mKCdpTW9udGgnKS5mb3JtYXQoJ2lZWVlZLWlNTS1pREQgaGg6bW0nKTtcbiAgICB9XG4gICAgc3RhcnRPZk1vbnRoKGRhdGU6IERhdGUpOiBhbnkge1xuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpLnN0YXJ0T2YoJ2lNb250aCcpLmZvcm1hdCgnaVlZWVktaU1NLWlERCBoaDptbScpO1xuICAgIH1cbiAgICBnZXREYXRlSW5mbyhkYXRlOiBhbnkpOiBEYXRlSW5mbyB7XG4gICAgICAgIGNvbnN0IG0gPSBtb21lbnQoZGF0ZSk7XG4gICAgICAgIGNvbnN0IHNoYW1zaSA9IHtcbiAgICAgICAgICAgIHllYXI6IG0uaVllYXIoKSxcbiAgICAgICAgICAgIG1vbnRoOiBtLmlNb250aCgpLFxuICAgICAgICAgICAgZGF5OiBtLmlEYXRlKCksXG4gICAgICAgICAgICBob3VyOiBtLmhvdXIoKSxcbiAgICAgICAgICAgIG1pbnV0ZXM6IG0ubWludXRlKCksXG4gICAgICAgICAgICBzdHJZZWFyOiBtLmZvcm1hdCgnaVlZWVknKSxcbiAgICAgICAgICAgIHN0ck1vbnRoOiBtLmZvcm1hdCgnaU0nKSxcbiAgICAgICAgICAgIHN0ckRheTogbS5mb3JtYXQoJ2lEJyksXG4gICAgICAgICAgICBtb250aE5hbWU6IG0uZm9ybWF0KCdpTU1NTScpLFxuICAgICAgICAgICAgZGF5SW5XZWVrOiAwLFxuICAgICAgICAgICAgZGF5TmFtZTogbS5mb3JtYXQoJ2RkZGQnKSxcbiAgICAgICAgICAgIG1vbWVudDogbSxcbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgfTtcbiAgICAgICAgc2hhbXNpLmRheUluV2VlayA9IG0uZGF5c0luTW9udGgoc2hhbXNpLnllYXIsIHNoYW1zaS5tb250aCk7XG4gICAgICAgIHJldHVybiBzaGFtc2k7XG4gICAgfVxuICAgIGRheXNJbk1vbnRoKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBtb21lbnQuakRheXNJbk1vbnRoKHllYXIsIG1vbnRoKTtcbiAgICB9XG4gICAgZ2V0TW9tZW50KGRhdGU/OiBEYXRlKTogYW55IHtcbiAgICAgICAgaWYgKCFkYXRlKSB7XG4gICAgICAgICAgICBkYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpO1xuICAgIH1cbiAgICBzdHJpbmdUb01vbWVudChzdHI6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICByZXR1cm4gbW9tZW50KHN0ciwgZm9ybWF0KTtcbiAgICB9XG4gICAgZ2V0U3RyTW9udGhOYW1lKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpLmZvcm1hdCgnaU1NTU0nKTtcbiAgICB9XG4gICAgcGFyc2UocGF5bG9hZDogeyB5ZWFyOiBudW1iZXI7IG1vbnRoOiBudW1iZXI7IGRheTogbnVtYmVyOyBob3VyOiBzdHJpbmc7IG1pbnV0ZXM6IHN0cmluZyB9KTogYW55IHtcbiAgICAgICAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGVzIH0gPSBwYXlsb2FkO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSAnaVlZWVktaU0taUQgSEg6bW0nO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGAke3llYXJ9LSR7bW9udGh9LSR7ZGF5fSAke2hvdXJ9OiR7bWludXRlc31gO1xuICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyh2YWx1ZSwgZm9ybWF0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb21lbnQodmFsdWUsIGZvcm1hdCk7XG4gICAgfVxuICAgIG1vbnRoTmFtZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gbW9tZW50LmxvY2FsZURhdGEoKS5faU1vbnRocztcbiAgICB9XG4gICAgZm9ybWF0KHZhbHVlOiBEYXRlLCBmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG0gPSB0aGlzLmdldE1vbWVudCh2YWx1ZSk7XG4gICAgICAgIGZvcm1hdCA9IGZvcm1hdC5pbmRleE9mKCdZWVlZJykgPiAtMSA/IGZvcm1hdC5yZXBsYWNlKCdZWVlZJywgJ2kxMTExJykgOiBmb3JtYXQ7XG4gICAgICAgIGZvcm1hdCA9IGZvcm1hdC5pbmRleE9mKCdZWScpID4gLTEgPyBmb3JtYXQucmVwbGFjZSgnWVknLCAnaTExJykgOiBmb3JtYXQ7XG4gICAgICAgIGZvcm1hdCA9IGZvcm1hdC5pbmRleE9mKCdNTU1NJykgPiAtMSA/IGZvcm1hdC5yZXBsYWNlKCdNTU1NJywgJ2kyMjIyJykgOiBmb3JtYXQ7XG4gICAgICAgIGZvcm1hdCA9IGZvcm1hdC5pbmRleE9mKCdNTScpID4gLTEgPyBmb3JtYXQucmVwbGFjZSgnTU0nLCAnaTIyJykgOiBmb3JtYXQ7XG4gICAgICAgIGZvcm1hdCA9IGZvcm1hdC5pbmRleE9mKCdERCcpID4gLTEgPyBmb3JtYXQucmVwbGFjZSgnREQnLCAnaTMzJykgOiBmb3JtYXQ7XG5cbiAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoLzEvZywgJ1knKTtcbiAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoLzIvZywgJ00nKTtcbiAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoLzMvZywgJ0QnKTtcbiAgICAgICAgcmV0dXJuIG0uZm9ybWF0KGZvcm1hdCk7XG4gICAgfVxuICAgIGdldFNob3J0RGF0ZVN0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbSA9IG1vbWVudChkYXRlKTtcbiAgICAgICAgbS5sb2NhbGUoJ2FyLVNBJyk7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9ICdpWVlZWS9pTU0vaUREJztcbiAgICAgICAgcmV0dXJuIG0uZm9ybWF0KGZvcm1hdCk7XG4gICAgfVxuICAgIGdldERhdGVUaW1lU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtID0gbW9tZW50KGRhdGUpO1xuICAgICAgICBtLmxvY2FsZSgnYXItU0EnKTtcbiAgICAgICAgcmV0dXJuIG0uZm9ybWF0KCdpWVlZWS1pTU0taUREIEhIOm1tJyk7XG4gICAgfVxuICAgIGdldERhdGVTdHJpbmcoZGF0ZTogRGF0ZSwgc2hvd0RhdGU6IGJvb2xlYW4sIHNob3dUaW1lOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbSA9IG1vbWVudChkYXRlKTtcbiAgICAgICAgbGV0IGZvcm1hdCA9ICdkZGRkJztcbiAgICAgICAgaWYgKHNob3dEYXRlKSB7XG4gICAgICAgICAgICBmb3JtYXQgPSBgJHtmb3JtYXR9IGlZWVlZL2lNTS9pREQgIGA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3dUaW1lKSB7XG4gICAgICAgICAgICBmb3JtYXQgPSBgJHtmb3JtYXR9IEhIOm1tYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbS5mb3JtYXQoZm9ybWF0KTtcbiAgICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kYXRlLXNlcnZpY2VzL2RhdGUtaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEYXRlSW5mbyB7XHJcbiAgICB5ZWFyOiBudW1iZXI7XHJcbiAgICBtb250aDogbnVtYmVyO1xyXG4gICAgZGF5OiBudW1iZXI7XHJcbiAgICBob3VyOiBudW1iZXI7XHJcbiAgICBtaW51dGVzOiBudW1iZXI7XHJcbiAgICBzdHJZZWFyOiBzdHJpbmc7XHJcbiAgICBzdHJNb250aDogc3RyaW5nO1xyXG4gICAgc3RyRGF5OiBzdHJpbmc7XHJcbiAgICBtb250aE5hbWU6IHN0cmluZztcclxuICAgIGRheU5hbWU6IHN0cmluZztcclxuICAgIGRheUluV2VlazogbnVtYmVyO1xyXG4gICAgbW9tZW50OiBhbnk7XHJcbiAgICBkYXRlOiBEYXRlO1xyXG59XHJcbiJdfQ==
@@ -1,124 +0,0 @@
1
- import { Injectable, Optional } from '@angular/core';
2
- import moment from 'moment';
3
- import { DateService } from './date.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/log.service";
6
- export class DateMiladiService extends DateService {
7
- constructor(logService) {
8
- super(logService);
9
- this.logService = logService;
10
- this.locale = 'en';
11
- moment.locale('en');
12
- }
13
- getTimes(date) {
14
- return moment(date).format('HH:mm');
15
- }
16
- weeksCount(momentObj) {
17
- return moment.duration(moment(momentObj).endOf('month').diff(moment(momentObj).startOf('month'))).asWeeks() + 1;
18
- }
19
- subtractMonth(momentOfDate, value) {
20
- return momentOfDate.subtract(value, 'months').toDate();
21
- }
22
- addMonth(momentOfDate, value) {
23
- return momentOfDate.add(value, 'months').toDate();
24
- }
25
- to(date1, date2) {
26
- return moment(date1).to(date2);
27
- }
28
- from(date1, date2) {
29
- return moment(date1).from(date2);
30
- }
31
- isSame(date1, date2, mode) {
32
- return moment(date1).isSame(date2, mode);
33
- }
34
- strDate(date) {
35
- return moment(date).format('D');
36
- }
37
- toText() {
38
- return 'to ';
39
- }
40
- date(date) {
41
- return moment(date).date();
42
- }
43
- endOfMonth(date) {
44
- return new Date(moment(date).endOf('month').format('YYYY-MM-DD hh:mm'));
45
- }
46
- startOfMonth(date) {
47
- return new Date(moment(date).startOf('month').format('YYYY-MM-DD hh:mm'));
48
- }
49
- getDateInfo(date) {
50
- const m = moment(date);
51
- const miladi = {
52
- year: m.year(),
53
- month: m.month(),
54
- day: m.date(),
55
- hour: m.hour(),
56
- minutes: m.minute(),
57
- strYear: m.format('YYYY'),
58
- strMonth: m.format('M'),
59
- strDay: m.format('D'),
60
- monthName: m.format('MMMM'),
61
- dayInWeek: 0,
62
- moment: m,
63
- dayName: m.format('dddd'),
64
- date
65
- };
66
- miladi.dayInWeek = m.daysInMonth();
67
- return miladi;
68
- }
69
- daysInMonth(year, month) {
70
- return moment([year, month]).daysInMonth();
71
- }
72
- getMoment(date) {
73
- if (!date) {
74
- date = new Date();
75
- }
76
- return moment(date);
77
- }
78
- stringToMoment(str, format) {
79
- return moment(str, format);
80
- }
81
- getStrMonthName(date) {
82
- return moment(date).format('MMMM');
83
- }
84
- parse(payload) {
85
- const { year, month, day, hour, minutes } = payload;
86
- const format = 'YYYY-M-D HH:mm';
87
- const value = `${year}-${month}-${day} ${hour}:${minutes}`;
88
- if (this.logService) {
89
- this.logService.info(value, format);
90
- }
91
- return moment(value, format);
92
- }
93
- getDateString(date, showDate, showTime) {
94
- const m = moment(date);
95
- m.locale('en');
96
- let format = 'dddd';
97
- if (showDate) {
98
- format = `${format} DD MM YYYY`;
99
- }
100
- if (showTime) {
101
- format = `${format} HH:mm`;
102
- }
103
- return m.format(format);
104
- }
105
- getDateTimeString(date) {
106
- const m = moment(date);
107
- m.locale('en');
108
- return m.format('YYYY-MM-DD HH:mm');
109
- }
110
- weekdaysMin() {
111
- return moment.weekdaysMin();
112
- }
113
- weekDays() {
114
- return moment.weekdays();
115
- }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateMiladiService, deps: [{ token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateMiladiService }); }
118
- }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateMiladiService, decorators: [{
120
- type: Injectable
121
- }], ctorParameters: () => [{ type: i1.LogService, decorators: [{
122
- type: Optional
123
- }] }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1taWxhZGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGF0ZS1zZXJ2aWNlcy9kYXRlLW1pbGFkaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUk1QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQUU5QyxZQUFrQyxVQUFzQjtRQUNwRCxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFEWSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRDlDLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFHcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQW1CO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLFNBQWM7UUFDckIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBQ0QsYUFBYSxDQUFDLFlBQWlCLEVBQUUsS0FBYTtRQUMxQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFD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T0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxJQUFVO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELFdBQVc7UUFDUCxPQUFPLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsUUFBUTtRQUNKLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBL0dRLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFHTSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGVJbmZvIH0gZnJvbSAnLi9kYXRlLWluZm8nO1xyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gJy4vZGF0ZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERhdGVNaWxhZGlTZXJ2aWNlIGV4dGVuZHMgRGF0ZVNlcnZpY2Uge1xyXG4gICAgcHJvdGVjdGVkIGxvY2FsZSA9ICdlbic7XHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKGxvZ1NlcnZpY2UpO1xyXG4gICAgICAgIG1vbWVudC5sb2NhbGUoJ2VuJyk7XHJcbiAgICB9XHJcbiAgICBnZXRUaW1lcyhkYXRlOiBzdHJpbmcgfCBEYXRlKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpLmZvcm1hdCgnSEg6bW0nKTtcclxuICAgIH1cclxuICAgIHdlZWtzQ291bnQobW9tZW50T2JqOiBhbnkpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQuZHVyYXRpb24obW9tZW50KG1vbWVudE9iaikuZW5kT2YoJ21vbnRoJykuZGlmZihtb21lbnQobW9tZW50T2JqKS5zdGFydE9mKCdtb250aCcpKSkuYXNXZWVrcygpICsgMTtcclxuICAgIH1cclxuICAgIHN1YnRyYWN0TW9udGgobW9tZW50T2ZEYXRlOiBhbnksIHZhbHVlOiBudW1iZXIpOiBEYXRlIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50T2ZEYXRlLnN1YnRyYWN0KHZhbHVlLCAnbW9udGhzJykudG9EYXRlKCk7XHJcbiAgICB9XHJcbiAgICBhZGRNb250aChtb21lbnRPZkRhdGU6IGFueSwgdmFsdWU6IG51bWJlcik6IERhdGUge1xyXG4gICAgICAgIHJldHVybiBtb21lbnRPZkRhdGUuYWRkKHZhbHVlLCAnbW9udGhzJykudG9EYXRlKCk7XHJcbiAgICB9XHJcbiAgICB0byhkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZTEpLnRvKGRhdGUyKTtcclxuICAgIH1cclxuICAgIGZyb20oZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUxKS5mcm9tKGRhdGUyKTtcclxuICAgIH1cclxuICAgIGlzU2FtZShkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUsIG1vZGU6ICd5ZWFyJyB8ICdtb250aCcgfCAnZGF5Jyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZTEpLmlzU2FtZShkYXRlMiwgbW9kZSk7XHJcbiAgICB9XHJcbiAgICBzdHJEYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuZm9ybWF0KCdEJyk7XHJcbiAgICB9XHJcbiAgICB0b1RleHQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gJ3RvICc7XHJcbiAgICB9XHJcbiAgICBkYXRlKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuZGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgZW5kT2ZNb250aChkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKG1vbWVudChkYXRlKS5lbmRPZignbW9udGgnKS5mb3JtYXQoJ1lZWVktTU0tREQgaGg6bW0nKSk7XHJcbiAgICB9XHJcbiAgICBzdGFydE9mTW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShtb21lbnQoZGF0ZSkuc3RhcnRPZignbW9udGgnKS5mb3JtYXQoJ1lZWVktTU0tREQgaGg6bW0nKSk7XHJcbiAgICB9XHJcbiAgICBnZXREYXRlSW5mbyhkYXRlOiBhbnkpOiBEYXRlSW5mbyB7XHJcbiAgICAgICAgY29uc3QgbSA9IG1vbWVudChkYXRlKTtcclxuICAgICAgICBjb25zdCBtaWxhZGkgPSB7XHJcbiAgICAgICAgICAgIHllYXI6IG0ueWVhcigpLFxyXG4gICAgICAgICAgICBtb250aDogbS5tb250aCgpLFxyXG4gICAgICAgICAgICBkYXk6IG0uZGF0ZSgpLFxyXG4gICAgICAgICAgICBob3VyOiBtLmhvdXIoKSxcclxuICAgICAgICAgICAgbWludXRlczogbS5taW51dGUoKSxcclxuICAgICAgICAgICAgc3RyWWVhcjogbS5mb3JtYXQoJ1lZWVknKSxcclxuICAgICAgICAgICAgc3RyTW9udGg6IG0uZm9ybWF0KCdNJyksXHJcbiAgICAgICAgICAgIHN0ckRheTogbS5mb3JtYXQoJ0QnKSxcclxuICAgICAgICAgICAgbW9udGhOYW1lOiBtLmZvcm1hdCgnTU1NTScpLFxyXG4gICAgICAgICAgICBkYXlJbldlZWs6IDAsXHJcbiAgICAgICAgICAgIG1vbWVudDogbSxcclxuICAgICAgICAgICAgZGF5TmFtZTogbS5mb3JtYXQoJ2RkZGQnKSxcclxuICAgICAgICAgICAgZGF0ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbWlsYWRpLmRheUluV2VlayA9IG0uZGF5c0luTW9udGgoKTtcclxuICAgICAgICByZXR1cm4gbWlsYWRpO1xyXG4gICAgfVxyXG4gICAgZGF5c0luTW9udGgoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KFt5ZWFyLCBtb250aF0pLmRheXNJbk1vbnRoKCk7XHJcbiAgICB9XHJcbiAgICBnZXRNb21lbnQoZGF0ZT86IERhdGUpOiBhbnkge1xyXG4gICAgICAgIGlmICghZGF0ZSkge1xyXG4gICAgICAgICAgICBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlKTtcclxuICAgIH1cclxuICAgIHN0cmluZ1RvTW9tZW50KHN0cjogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChzdHIsIGZvcm1hdCk7XHJcbiAgICB9XHJcbiAgICBnZXRTdHJNb250aE5hbWUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlKS5mb3JtYXQoJ01NTU0nKTtcclxuICAgIH1cclxuICAgIHBhcnNlKHBheWxvYWQ6IHsgeWVhcjogbnVtYmVyOyBtb250aDogbnVtYmVyOyBkYXk6IG51bWJlcjsgaG91cjogc3RyaW5nOyBtaW51dGVzOiBzdHJpbmcgfSk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGVzIH0gPSBwYXlsb2FkO1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdCA9ICdZWVlZLU0tRCBISDptbSc7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX0gJHtob3VyfToke21pbnV0ZXN9YDtcclxuICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKHZhbHVlLCBmb3JtYXQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG1vbWVudCh2YWx1ZSwgZm9ybWF0KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXRlU3RyaW5nKGRhdGU6IERhdGUsIHNob3dEYXRlOiBib29sZWFuLCBzaG93VGltZTogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgbSA9IG1vbWVudChkYXRlKTtcclxuICAgICAgICBtLmxvY2FsZSgnZW4nKTtcclxuXHJcbiAgICAgICAgbGV0IGZvcm1hdCA9ICdkZGRkJztcclxuICAgICAgICBpZiAoc2hvd0RhdGUpIHtcclxuICAgICAgICAgICAgZm9ybWF0ID0gYCR7Zm9ybWF0fSBERCBNTSBZWVlZYDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNob3dUaW1lKSB7XHJcbiAgICAgICAgICAgIGZvcm1hdCA9IGAke2Zvcm1hdH0gSEg6bW1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbS5mb3JtYXQoZm9ybWF0KTtcclxuICAgIH1cclxuICAgIGdldERhdGVUaW1lU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IG0gPSBtb21lbnQoZGF0ZSk7XHJcbiAgICAgICAgbS5sb2NhbGUoJ2VuJyk7XHJcbiAgICAgICAgcmV0dXJuIG0uZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tJyk7XHJcbiAgICB9XHJcbiAgICB3ZWVrZGF5c01pbigpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudC53ZWVrZGF5c01pbigpO1xyXG4gICAgfVxyXG4gICAgd2Vla0RheXMoKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQud2Vla2RheXMoKTtcclxuICAgIH1cclxufVxyXG4iXX0=