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,113 +0,0 @@
1
- import { Input, Renderer2, inject, ElementRef, Directive, HostBinding } from '@angular/core';
2
- import Splide from '@splidejs/splide';
3
- import { BaseDirective } from './base.directive';
4
- import { MoReportValuePipe } from '../pipes/mo-report-value.pipe';
5
- import { PictureFieldSourcePipe } from '../pipes/picture-field-source.pipe';
6
- import * as i0 from "@angular/core";
7
- export class SplideSliderDirective extends BaseDirective {
8
- constructor() {
9
- super(...arguments);
10
- this.type = 'small';
11
- this.width = '100%';
12
- this.carouselCls = 'carousel-full';
13
- this.numWidth = window.innerWidth;
14
- this.height = this.numWidth / 2;
15
- this.rval = inject(MoReportValuePipe);
16
- this._picFieldSrc = inject(PictureFieldSourcePipe);
17
- this._renderer2 = inject(Renderer2);
18
- this._el = inject(ElementRef);
19
- }
20
- get dom() {
21
- return this._el.nativeElement;
22
- }
23
- ngOnInit() {
24
- super.ngOnInit();
25
- this.type = this.type || 'full';
26
- this._width = this.width;
27
- }
28
- ngAfterViewInit() {
29
- this._init();
30
- setTimeout(() => {
31
- this._refreshSplide();
32
- }, 200);
33
- }
34
- ngOnChanges(changes) {
35
- super.ngOnChanges(changes);
36
- const { moDataList } = changes;
37
- if (moDataList && moDataList.currentValue) {
38
- this._refreshSplide();
39
- }
40
- }
41
- onRefresh() {
42
- this._refreshSplide();
43
- }
44
- _refreshSplide() {
45
- this._splide && this._splide.refresh();
46
- this._splide && this._splide.length < this._splide.options.perPage && this._splide.Components.Arrows.destroy();
47
- }
48
- _init() {
49
- this._renderer2.setAttribute(this.dom, 'data-splide', '{"direction":"rtl"}');
50
- this._splide = new Splide(this.dom, {
51
- ...this._getCommonOptions,
52
- gap: +this.sliderGap,
53
- padding: +this.sliderPadding,
54
- perPage: +this.sliderPerPage,
55
- breakpoints: {
56
- 480: {
57
- perPage: +this.breakpoint480
58
- },
59
- 768: {
60
- perPage: +this.breakpoint768
61
- },
62
- 991: {
63
- perPage: +this.breakpoint991
64
- },
65
- 1279: {
66
- perPage: +this.breakpoint1279
67
- }
68
- }
69
- }).mount();
70
- }
71
- get _getCommonOptions() {
72
- return {
73
- rewind: true,
74
- arrows: this.moDataList?.length > 1,
75
- type: 'slide',
76
- direction: 'rtl',
77
- pagination: false
78
- };
79
- }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplideSliderDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
81
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SplideSliderDirective, selector: "[splideSlider]", inputs: { moDataList: "moDataList", type: "type", breakpoint991: "breakpoint991", breakpoint768: "breakpoint768", breakpoint480: "breakpoint480", breakpoint1279: "breakpoint1279", sliderPerPage: "sliderPerPage", sliderGap: "sliderGap", sliderPadding: "sliderPadding", width: "width" }, host: { properties: { "style.width": "this._width" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplideSliderDirective, decorators: [{
84
- type: Directive,
85
- args: [{
86
- selector: '[splideSlider]',
87
- standalone: false
88
- }]
89
- }], propDecorators: { _width: [{
90
- type: HostBinding,
91
- args: ['style.width']
92
- }], moDataList: [{
93
- type: Input
94
- }], type: [{
95
- type: Input
96
- }], breakpoint991: [{
97
- type: Input
98
- }], breakpoint768: [{
99
- type: Input
100
- }], breakpoint480: [{
101
- type: Input
102
- }], breakpoint1279: [{
103
- type: Input
104
- }], sliderPerPage: [{
105
- type: Input
106
- }], sliderGap: [{
107
- type: Input
108
- }], sliderPadding: [{
109
- type: Input
110
- }], width: [{
111
- type: Input
112
- }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaWRlLXNsaWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3BsaWRlLXNsaWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RyxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBTTVFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBSnhEOztRQVFhLFNBQUksR0FBZSxPQUFPLENBQUM7UUFRM0IsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV4QixnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUU5QixhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUM3QixXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFLM0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2QsaUJBQVksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5QyxlQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLFFBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0EwRC9DO0lBakVHLElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQU1ELFFB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RyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBSZW5kZXJlcjIsIGluamVjdCwgRWxlbWVudFJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IFNwbGlkZSBmcm9tICdAc3BsaWRlanMvc3BsaWRlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcbmltcG9ydCB7IE1vUmVwb3J0VmFsdWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbW8tcmVwb3J0LXZhbHVlLnBpcGUnO1xyXG5pbXBvcnQgeyBQaWN0dXJlRmllbGRTb3VyY2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMvcGljdHVyZS1maWVsZC1zb3VyY2UucGlwZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3NwbGlkZVNsaWRlcl0nLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGlkZVNsaWRlckRpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUge1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIF93aWR0aDtcclxuXHJcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBASW5wdXQoKSB0eXBlOiBTbGlkZXJUeXBlID0gJ3NtYWxsJztcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ5OTE6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ3Njg6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ0ODA6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQxMjc5OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBzbGlkZXJQZXJQYWdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBzbGlkZXJHYXA6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHNsaWRlclBhZGRpbmc6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHdpZHRoID0gJzEwMCUnO1xyXG5cclxuICAgIGNhcm91c2VsQ2xzID0gJ2Nhcm91c2VsLWZ1bGwnO1xyXG5cclxuICAgIG51bVdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBoZWlnaHQgPSB0aGlzLm51bVdpZHRoIC8gMjtcclxuICAgIGdldCBkb20oKTogSFRNTEVsZW1lbnQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG4gICAgX3NwbGlkZTogdW5kZWZpbmVkIHwgYW55O1xyXG4gICAgcnZhbCA9IGluamVjdChNb1JlcG9ydFZhbHVlUGlwZSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3BpY0ZpZWxkU3JjID0gaW5qZWN0KFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9yZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBfZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMudHlwZSA9IHRoaXMudHlwZSB8fCAnZnVsbCc7XHJcbiAgICAgICAgdGhpcy5fd2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2luaXQoKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFNwbGlkZSgpO1xyXG4gICAgICAgIH0sIDIwMCk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBtb0RhdGFMaXN0IH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hTcGxpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblJlZnJlc2goKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaFNwbGlkZSgpO1xyXG4gICAgfVxyXG4gICAgX3JlZnJlc2hTcGxpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlICYmIHRoaXMuX3NwbGlkZS5yZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlICYmIHRoaXMuX3NwbGlkZS5sZW5ndGggPCB0aGlzLl9zcGxpZGUub3B0aW9ucy5wZXJQYWdlICYmIHRoaXMuX3NwbGlkZS5Db21wb25lbnRzLkFycm93cy5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgICBfaW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMuZG9tLCAnZGF0YS1zcGxpZGUnLCAne1wiZGlyZWN0aW9uXCI6XCJydGxcIn0nKTtcclxuICAgICAgICB0aGlzLl9zcGxpZGUgPSBuZXcgU3BsaWRlKHRoaXMuZG9tLCB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuX2dldENvbW1vbk9wdGlvbnMsXHJcbiAgICAgICAgICAgIGdhcDogK3RoaXMuc2xpZGVyR2FwLFxyXG4gICAgICAgICAgICBwYWRkaW5nOiArdGhpcy5zbGlkZXJQYWRkaW5nLFxyXG4gICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5zbGlkZXJQZXJQYWdlLFxyXG4gICAgICAgICAgICBicmVha3BvaW50czoge1xyXG4gICAgICAgICAgICAgICAgNDgwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGVyUGFnZTogK3RoaXMuYnJlYWtwb2ludDQ4MFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIDc2ODoge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQ3NjhcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICA5OTE6IHtcclxuICAgICAgICAgICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5icmVha3BvaW50OTkxXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgMTI3OToge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQxMjc5XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KS5tb3VudCgpO1xyXG4gICAgfVxyXG4gICAgZ2V0IF9nZXRDb21tb25PcHRpb25zKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHJld2luZDogdHJ1ZSxcclxuICAgICAgICAgICAgYXJyb3dzOiB0aGlzLm1vRGF0YUxpc3Q/Lmxlbmd0aCA+IDEsXHJcbiAgICAgICAgICAgIHR5cGU6ICdzbGlkZScsXHJcbiAgICAgICAgICAgIGRpcmVjdGlvbjogJ3J0bCcsXHJcbiAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG50eXBlIFNsaWRlclR5cGUgPSAnZnVsbCcgfCAnbXVsdGlwbGUnIHwgJ3NpbmdsZScgfCAnc21hbGwnIHwgdW5kZWZpbmVkO1xyXG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Directive, HostListener } from '@angular/core';
2
- import { BaseDirective } from './base.directive';
3
- import * as i0 from "@angular/core";
4
- export class StopPropagationDirective extends BaseDirective {
5
- onClick(e) {
6
- e.stopPropagation();
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StopPropagationDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: StopPropagationDirective, selector: "[stopPropagation]", host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StopPropagationDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- selector: '[stopPropagation]',
15
- standalone: false
16
- }]
17
- }], propDecorators: { onClick: [{
18
- type: HostListener,
19
- args: ['click', ['$event']]
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU1qRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUV2RCxPQUFPLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQUpRLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFHRyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tzdG9wUHJvcGFnYXRpb25dJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIHtcclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIG9uQ2xpY2soZSk6IHZvaWQge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,236 +0,0 @@
1
- import { Directive, Input, HostListener, EventEmitter, Output } from '@angular/core';
2
- import { fromEvent } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import { BaseDirective } from './base.directive';
5
- import * as i0 from "@angular/core";
6
- export class TableResizerDirective extends BaseDirective {
7
- constructor(_el, renderer) {
8
- super(_el);
9
- this._el = _el;
10
- this.renderer = renderer;
11
- this.columnResized = new EventEmitter();
12
- fromEvent(document, 'mouseup')
13
- .pipe(takeUntil(this._onDestroy$))
14
- .subscribe(() => {
15
- this._mouseUp();
16
- });
17
- fromEvent(document, 'mousemove')
18
- .pipe(takeUntil(this._onDestroy$))
19
- .subscribe((e) => {
20
- this._mouseMove(e);
21
- });
22
- }
23
- get _table() {
24
- return this._el.nativeElement;
25
- }
26
- moseDown(e) {
27
- this._mouseDown(e);
28
- }
29
- moseMove(e) {
30
- this._mouseMove(e);
31
- }
32
- ngAfterViewInit() {
33
- if (this.rowResizer) {
34
- this._putBodyCellsContentIntoDiv();
35
- }
36
- if (this.rowResizer) {
37
- this._addRowsResizer();
38
- }
39
- this._setTableMode(this.fitWidth);
40
- }
41
- ngOnChanges(changes) {
42
- super.ngOnChanges(changes);
43
- const { fitWidth } = changes;
44
- if (this.enableResizing && fitWidth && !fitWidth.firstChange) {
45
- const newFitWidth = fitWidth.currentValue;
46
- this._setTableMode(newFitWidth);
47
- }
48
- }
49
- _initializeTable() {
50
- this._initTable();
51
- this._setTableMode(this.fitWidth);
52
- }
53
- _resizeRow(event) {
54
- this._currentResizer = "Row" /* Resizer.Row */;
55
- const elementFromPoint = document.elementFromPoint(event.pageX, event.pageY);
56
- this._currentCell = elementFromPoint?.closest('td');
57
- this._startY = event.pageY;
58
- this._currentRowHeight = this._currentCell?.clientHeight || 0;
59
- }
60
- _resizeColumn(event) {
61
- if (!this.fitWidth) {
62
- this._setTableFreeSize();
63
- }
64
- this._currentResizer = "Column" /* Resizer.Column */;
65
- const elementFromPoint = document.elementFromPoint(event.pageX, event.pageY);
66
- this._currentCell = elementFromPoint?.closest('th');
67
- this._startX = event.pageX;
68
- this._currentColumnWidth = this._currentCell?.clientWidth || 0;
69
- this._sideCell = this._getSideCell(this._currentCell);
70
- this._sideColumnWidth = this._sideCell?.clientWidth;
71
- }
72
- _addRowsResizer() {
73
- const table = this._table;
74
- const rowsLabel = table.querySelectorAll('.vertical-label');
75
- rowsLabel.forEach((cell) => {
76
- const rowResizer = this.renderer.createElement('div');
77
- this.renderer.appendChild(cell, rowResizer);
78
- rowResizer.setAttribute('class', 'row-resizer');
79
- this.renderer.setStyle(cell, 'height', 'inherit');
80
- this.renderer.setStyle(cell, 'position', 'relative');
81
- this.renderer.setAttribute(rowResizer, 'style', 'cursor: row-resize; height:8px; position:absolute;bottom:0;left:0;right:0');
82
- });
83
- }
84
- _putBodyCellsContentIntoDiv() {
85
- const table = this._table;
86
- const bodyCells = table.querySelectorAll('body td:not(.vertical-label)');
87
- bodyCells.forEach((cell) => {
88
- const contentContainer = this.renderer.createElement('div');
89
- cell.children.forEach((child) => {
90
- contentContainer.appendChild(child);
91
- });
92
- this.renderer.setStyle(cell, 'overflow', 'hidden');
93
- this.renderer.setStyle(cell, 'height', 'inherit');
94
- this.renderer.setStyle(contentContainer, 'height', 'inherit');
95
- this.renderer.setStyle(contentContainer, 'display', 'block');
96
- cell.appendChild(contentContainer);
97
- });
98
- }
99
- _getSideCell(currentCell) {
100
- const currentRow = this._currentCell.parentNode?.children;
101
- if (currentRow) {
102
- const cellIndexInRow = Array.from(currentRow).indexOf(currentCell);
103
- return Array.from(currentRow)[cellIndexInRow + 1];
104
- }
105
- return null;
106
- }
107
- _changeWidth(fitWidth, sideCell, currentCell, changedCurrentCellWidth, changedSideCellWidth) {
108
- if (fitWidth) {
109
- if (sideCell && changedCurrentCellWidth >= this.minWidth && changedSideCellWidth >= this.minWidth) {
110
- this.renderer.setStyle(sideCell, 'width', changedSideCellWidth + 'px');
111
- this.renderer.setStyle(sideCell, 'min-width', changedSideCellWidth + 'px');
112
- this.renderer.setStyle(currentCell, 'width', changedCurrentCellWidth + 'px');
113
- this.renderer.setStyle(currentCell, 'min-width', changedCurrentCellWidth + 'px');
114
- }
115
- }
116
- else if (changedCurrentCellWidth >= this.minWidth) {
117
- this.renderer.setStyle(currentCell, 'width', changedCurrentCellWidth + 'px');
118
- this.renderer.setStyle(currentCell, 'min-width', changedCurrentCellWidth + 'px');
119
- }
120
- }
121
- _changeHeight(currentCell, changedHeight, minHeight) {
122
- if (changedHeight > minHeight) {
123
- this.renderer.setStyle(currentCell.closest('tr'), 'height', changedHeight + 'px');
124
- }
125
- }
126
- _initTable() {
127
- if (this._isInitTable) {
128
- return;
129
- }
130
- this._isInitTable = true;
131
- const table = this._table;
132
- const parent = table.parentElement;
133
- this.renderer.setStyle(parent, 'overflow-x', this.fitWidth ? 'hidden' : 'auto');
134
- // this.renderer.setStyle(parent, 'overflow-y', 'auto');
135
- this.renderer.setStyle(parent, 'width', '100%');
136
- }
137
- _setTableMode(isFitWidth) {
138
- if (isFitWidth) {
139
- this._setTableFitSize();
140
- }
141
- }
142
- _setTableFreeSize() {
143
- const table = this._table;
144
- this.renderer.setStyle(table, 'width', this.containerWidth + 'px');
145
- this.renderer.setStyle(table, 'max-width', 'unset');
146
- this.renderer.setStyle(table, 'min-width', this.containerWidth + 'px');
147
- const headCells = table.querySelectorAll('th');
148
- headCells.forEach((cell) => {
149
- const width = cell.offsetWidth;
150
- this.renderer.setStyle(cell, 'width', width + 'px');
151
- this.renderer.setStyle(cell, 'min-width', width + 'px');
152
- });
153
- }
154
- _setTableFitSize() {
155
- const table = this._table;
156
- this.renderer.setStyle(table, 'width', '100%');
157
- this.renderer.setStyle(table, 'max-width', '100%');
158
- }
159
- _mouseDown(e) {
160
- if (e.srcElement.className === 'row-resizer') {
161
- this._resizeRow(e);
162
- this.renderer.setStyle(this._el.nativeElement, 'cursor', 'row-resize');
163
- }
164
- else if (e.srcElement.className === 'column-resizer') {
165
- this._resizeColumn(e);
166
- this.renderer.setStyle(this._el.nativeElement, 'cursor', 'col-resize');
167
- }
168
- }
169
- _mouseMove(e) {
170
- if (e.buttons !== 0) {
171
- if (this._currentResizer === "Column" /* Resizer.Column */) {
172
- if (!this._isInitTable) {
173
- this._initializeTable();
174
- }
175
- const endX = e.pageX;
176
- const dx = endX - this._startX;
177
- const changedCurrentCellWidth = this._currentColumnWidth - dx;
178
- const changedSideCellWidth = this._sideColumnWidth + dx;
179
- this._changeWidth(this.fitWidth, this._sideCell, this._currentCell, changedCurrentCellWidth, changedSideCellWidth);
180
- }
181
- else if (this._currentResizer === "Row" /* Resizer.Row */) {
182
- const endY = e.pageY;
183
- const dy = endY - this._startY;
184
- const changedCurrentRowHeight = this._currentRowHeight + dy;
185
- this._changeHeight(this._currentCell, changedCurrentRowHeight, this.minHeight);
186
- }
187
- }
188
- }
189
- _mouseUp() {
190
- if (this._currentResizer) {
191
- const table = this._el.nativeElement;
192
- const headers = table.querySelectorAll('th');
193
- const columnResized = [];
194
- for (let i = 0; i < headers.length; i++) {
195
- const header = headers[i];
196
- const columnName = header.attributes['columnname']?.value;
197
- if (typeof columnName !== 'undefined') {
198
- columnResized.push({ name: columnName, width: header.offsetWidth, thDom: header });
199
- }
200
- }
201
- this.columnResized.emit(columnResized);
202
- }
203
- this._currentResizer = null;
204
- this.renderer.setStyle(this._el.nativeElement, 'cursor', 'default');
205
- }
206
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableResizerDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
207
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableResizerDirective, selector: "[tableResizer]", inputs: { fitWidth: "fitWidth", minWidth: "minWidth", minHeight: "minHeight", containerWidth: "containerWidth", rowResizer: "rowResizer", enableResizing: "enableResizing" }, outputs: { columnResized: "columnResized" }, host: { listeners: { "mousedown": "moseDown($event)", "mousemove": "moseMove($event)" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
208
- }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableResizerDirective, decorators: [{
210
- type: Directive,
211
- args: [{
212
- selector: '[tableResizer]',
213
- standalone: false
214
- }]
215
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { fitWidth: [{
216
- type: Input
217
- }], minWidth: [{
218
- type: Input
219
- }], minHeight: [{
220
- type: Input
221
- }], containerWidth: [{
222
- type: Input
223
- }], rowResizer: [{
224
- type: Input
225
- }], enableResizing: [{
226
- type: Input
227
- }], columnResized: [{
228
- type: Output
229
- }], moseDown: [{
230
- type: HostListener,
231
- args: ['mousedown', ['$event']]
232
- }], moseMove: [{
233
- type: HostListener,
234
- args: ['mousemove', ['$event']]
235
- }] } });
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVzaXplci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvdGFibGUtcmVzaXplci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBRUwsWUFBWSxFQU1aLFlBQVksRUFDWixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVVqRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQWlCcEQsWUFBc0IsR0FBZSxFQUFVLFFBQW1CO1FBQzlELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURPLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBVnhELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFZbkUsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUNQLFNBQVMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDO2FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENB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Y3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb2x1bW5SZXNpemVkQXJncyB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XHJcbmNvbnN0IGVudW0gUmVzaXplciB7XHJcbiAgICBSb3cgPSAnUm93JyxcclxuICAgIENvbHVtbiA9ICdDb2x1bW4nXHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdGFibGVSZXNpemVyXScsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVSZXNpemVyRGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgZml0V2lkdGg6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBtaW5XaWR0aDtcclxuICAgIEBJbnB1dCgpIG1pbkhlaWdodDtcclxuICAgIEBJbnB1dCgpIGNvbnRhaW5lcldpZHRoOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSByb3dSZXNpemVyOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZW5hYmxlUmVzaXppbmc6IGJvb2xlYW47XHJcbiAgICBAT3V0cHV0KCkgY29sdW1uUmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+PigpO1xyXG4gICAgcHJpdmF0ZSBfY3VycmVudENlbGw6IEhUTUxUYWJsZUNlbGxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSBfc2lkZUNlbGw7XHJcbiAgICBwcml2YXRlIF9zdGFydFg7XHJcbiAgICBwcml2YXRlIF9zdGFydFk7XHJcbiAgICBwcml2YXRlIF9jdXJyZW50Q29sdW1uV2lkdGg7XHJcbiAgICBwcml2YXRlIF9zaWRlQ29sdW1uV2lkdGg7XHJcbiAgICBwcml2YXRlIF9jdXJyZW50Um93SGVpZ2h0O1xyXG4gICAgcHJpdmF0ZSBfY3VycmVudFJlc2l6ZXI6IFJlc2l6ZXIgfCBudWxsO1xyXG4gICAgcHJpdmF0ZSBfaXNJbml0VGFibGU6IGJvb2xlYW47XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgICAgICBzdXBlcihfZWwpO1xyXG4gICAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fbW91c2VVcCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX21vdXNlTW92ZShlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldCBfdGFibGUoKTogSFRNTFRhYmxlRWxlbWVudCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFRhYmxlRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxyXG4gICAgbW9zZURvd24oZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21vdXNlRG93bihlKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gICAgbW9zZU1vdmUoZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21vdXNlTW92ZShlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucm93UmVzaXplcikge1xyXG4gICAgICAgICAgICB0aGlzLl9wdXRCb2R5Q2VsbHNDb250ZW50SW50b0RpdigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5yb3dSZXNpemVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkZFJvd3NSZXNpemVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NldFRhYmxlTW9kZSh0aGlzLmZpdFdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBmaXRXaWR0aCB9ID0gY2hhbmdlcztcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVSZXNpemluZyAmJiBmaXRXaWR0aCAmJiAhZml0V2lkdGguZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3Rml0V2lkdGggPSBmaXRXaWR0aC5jdXJyZW50VmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldFRhYmxlTW9kZShuZXdGaXRXaWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZVRhYmxlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2luaXRUYWJsZSgpO1xyXG4gICAgICAgIHRoaXMuX3NldFRhYmxlTW9kZSh0aGlzLmZpdFdpZHRoKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3Jlc2l6ZVJvdyhldmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRSZXNpemVyID0gUmVzaXplci5Sb3c7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudEZyb21Qb2ludCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZlbnQucGFnZVgsIGV2ZW50LnBhZ2VZKTtcclxuICAgICAgICB0aGlzLl9jdXJyZW50Q2VsbCA9IGVsZW1lbnRGcm9tUG9pbnQ/LmNsb3Nlc3QoJ3RkJykgYXMgSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRZID0gZXZlbnQucGFnZVk7XHJcbiAgICAgICAgdGhpcy5fY3VycmVudFJvd0hlaWdodCA9IHRoaXMuX2N1cnJlbnRDZWxsPy5jbGllbnRIZWlnaHQgfHwgMDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9yZXNpemVDb2x1bW4oZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuZml0V2lkdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0VGFibGVGcmVlU2l6ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jdXJyZW50UmVzaXplciA9IFJlc2l6ZXIuQ29sdW1uO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRGcm9tUG9pbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGV2ZW50LnBhZ2VYLCBldmVudC5wYWdlWSk7XHJcbiAgICAgICAgdGhpcy5fY3VycmVudENlbGwgPSBlbGVtZW50RnJvbVBvaW50Py5jbG9zZXN0KCd0aCcpIGFzIEhUTUxUYWJsZUNlbGxFbGVtZW50O1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0WCA9IGV2ZW50LnBhZ2VYO1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb2x1bW5XaWR0aCA9IHRoaXMuX2N1cnJlbnRDZWxsPy5jbGllbnRXaWR0aCB8fCAwO1xyXG4gICAgICAgIHRoaXMuX3NpZGVDZWxsID0gdGhpcy5fZ2V0U2lkZUNlbGwodGhpcy5fY3VycmVudENlbGwpO1xyXG4gICAgICAgIHRoaXMuX3NpZGVDb2x1bW5XaWR0aCA9IHRoaXMuX3NpZGVDZWxsPy5jbGllbnRXaWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9hZGRSb3dzUmVzaXplcigpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMuX3RhYmxlO1xyXG4gICAgICAgIGNvbnN0IHJvd3NMYWJlbCA9IHRhYmxlLnF1ZXJ5U2VsZWN0b3JBbGwoJy52ZXJ0aWNhbC1sYWJlbCcpO1xyXG4gICAgICAgIHJvd3NMYWJlbC5mb3JFYWNoKChjZWxsKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvd1Jlc2l6ZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChjZWxsLCByb3dSZXNpemVyKTtcclxuXHJcbiAgICAgICAgICAgIHJvd1Jlc2l6ZXIuc2V0QXR0cmlidXRlKCdjbGFzcycsICdyb3ctcmVzaXplcicpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNlbGwsICdoZWlnaHQnLCAnaW5oZXJpdCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNlbGwsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIHJvd1Jlc2l6ZXIsXHJcbiAgICAgICAgICAgICAgICAnc3R5bGUnLFxyXG4gICAgICAgICAgICAgICAgJ2N1cnNvcjogcm93LXJlc2l6ZTsgaGVpZ2h0OjhweDsgcG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjAnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcHV0Qm9keUNlbGxzQ29udGVudEludG9EaXYoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdGFibGUgPSB0aGlzLl90YWJsZSBhcyBhbnk7XHJcbiAgICAgICAgY29uc3QgYm9keUNlbGxzID0gdGFibGUucXVlcnlTZWxlY3RvckFsbCgnYm9keSB0ZDpub3QoLnZlcnRpY2FsLWxhYmVsKScpO1xyXG4gICAgICAgIGJvZHlDZWxscy5mb3JFYWNoKChjZWxsKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRDb250YWluZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICBjZWxsLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50Q29udGFpbmVyLmFwcGVuZENoaWxkKGNoaWxkKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY2VsbCwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNlbGwsICdoZWlnaHQnLCAnaW5oZXJpdCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNvbnRlbnRDb250YWluZXIsICdoZWlnaHQnLCAnaW5oZXJpdCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNvbnRlbnRDb250YWluZXIsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XHJcblxyXG4gICAgICAgICAgICBjZWxsLmFwcGVuZENoaWxkKGNvbnRlbnRDb250YWluZXIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2dldFNpZGVDZWxsKGN1cnJlbnRDZWxsKTogRWxlbWVudCB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSb3cgPSB0aGlzLl9jdXJyZW50Q2VsbC5wYXJlbnROb2RlPy5jaGlsZHJlbjtcclxuICAgICAgICBpZiAoY3VycmVudFJvdykge1xyXG4gICAgICAgICAgICBjb25zdCBjZWxsSW5kZXhJblJvdyA9IEFycmF5LmZyb20oY3VycmVudFJvdykuaW5kZXhPZihjdXJyZW50Q2VsbCk7XHJcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKGN1cnJlbnRSb3cpW2NlbGxJbmRleEluUm93ICsgMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NoYW5nZVdpZHRoKFxyXG4gICAgICAgIGZpdFdpZHRoOiBib29sZWFuLFxyXG4gICAgICAgIHNpZGVDZWxsLFxyXG4gICAgICAgIGN1cnJlbnRDZWxsLFxyXG4gICAgICAgIGNoYW5nZWRDdXJyZW50Q2VsbFdpZHRoLFxyXG4gICAgICAgIGNoYW5nZWRTaWRlQ2VsbFdpZHRoXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBpZiAoZml0V2lkdGgpIHtcclxuICAgICAgICAgICAgaWYgKHNpZGVDZWxsICYmIGNoYW5nZWRDdXJyZW50Q2VsbFdpZHRoID49IHRoaXMubWluV2lkdGggJiYgY2hhbmdlZFNpZGVDZWxsV2lkdGggPj0gdGhpcy5taW5XaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzaWRlQ2VsbCwgJ3dpZHRoJywgY2hhbmdlZFNpZGVDZWxsV2lkdGggKyAncHgnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2lkZUNlbGwsICdtaW4td2lkdGgnLCBjaGFuZ2VkU2lkZUNlbGxXaWR0aCArICdweCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjdXJyZW50Q2VsbCwgJ3dpZHRoJywgY2hhbmdlZEN1cnJlbnRDZWxsV2lkdGggKyAncHgnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudENlbGwsICdtaW4td2lkdGgnLCBjaGFuZ2VkQ3VycmVudENlbGxXaWR0aCArICdweCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VkQ3VycmVudENlbGxXaWR0aCA+PSB0aGlzLm1pbldpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudENlbGwsICd3aWR0aCcsIGNoYW5nZWRDdXJyZW50Q2VsbFdpZHRoICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudENlbGwsICdtaW4td2lkdGgnLCBjaGFuZ2VkQ3VycmVudENlbGxXaWR0aCArICdweCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VIZWlnaHQoY3VycmVudENlbGwsIGNoYW5nZWRIZWlnaHQsIG1pbkhlaWdodCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChjaGFuZ2VkSGVpZ2h0ID4gbWluSGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudENlbGwuY2xvc2VzdCgndHInKSwgJ2hlaWdodCcsIGNoYW5nZWRIZWlnaHQgKyAncHgnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9pbml0VGFibGUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2lzSW5pdFRhYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faXNJbml0VGFibGUgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IHRhYmxlOiBIVE1MVGFibGVFbGVtZW50ID0gdGhpcy5fdGFibGU7XHJcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGFibGUucGFyZW50RWxlbWVudDtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHBhcmVudCwgJ292ZXJmbG93LXgnLCB0aGlzLmZpdFdpZHRoID8gJ2hpZGRlbicgOiAnYXV0bycpO1xyXG4gICAgICAgIC8vIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocGFyZW50LCAnb3ZlcmZsb3cteScsICdhdXRvJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwYXJlbnQsICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0VGFibGVNb2RlKGlzRml0V2lkdGgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXNGaXRXaWR0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRUYWJsZUZpdFNpemUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0VGFibGVGcmVlU2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMuX3RhYmxlO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGFibGUsICd3aWR0aCcsIHRoaXMuY29udGFpbmVyV2lkdGggKyAncHgnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRhYmxlLCAnbWF4LXdpZHRoJywgJ3Vuc2V0Jyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0YWJsZSwgJ21pbi13aWR0aCcsIHRoaXMuY29udGFpbmVyV2lkdGggKyAncHgnKTtcclxuICAgICAgICBjb25zdCBoZWFkQ2VsbHMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0aCcpO1xyXG4gICAgICAgIGhlYWRDZWxscy5mb3JFYWNoKChjZWxsKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjZWxsLCAnd2lkdGgnLCB3aWR0aCArICdweCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNlbGwsICdtaW4td2lkdGgnLCB3aWR0aCArICdweCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldFRhYmxlRml0U2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMuX3RhYmxlO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGFibGUsICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0YWJsZSwgJ21heC13aWR0aCcsICcxMDAlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbW91c2VEb3duKGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZS5zcmNFbGVtZW50LmNsYXNzTmFtZSA9PT0gJ3Jvdy1yZXNpemVyJykge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXNpemVSb3coZSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdyb3ctcmVzaXplJyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlLnNyY0VsZW1lbnQuY2xhc3NOYW1lID09PSAnY29sdW1uLXJlc2l6ZXInKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZUNvbHVtbihlKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ2NvbC1yZXNpemUnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbW91c2VNb3ZlKGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZS5idXR0b25zICE9PSAwKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UmVzaXplciA9PT0gUmVzaXplci5Db2x1bW4pIHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5faXNJbml0VGFibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbml0aWFsaXplVGFibGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFggPSBlLnBhZ2VYO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZHggPSBlbmRYIC0gdGhpcy5fc3RhcnRYO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlZEN1cnJlbnRDZWxsV2lkdGggPSB0aGlzLl9jdXJyZW50Q29sdW1uV2lkdGggLSBkeDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRTaWRlQ2VsbFdpZHRoID0gdGhpcy5fc2lkZUNvbHVtbldpZHRoICsgZHg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VXaWR0aChcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpdFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NpZGVDZWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRDZWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZWRDdXJyZW50Q2VsbFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZWRTaWRlQ2VsbFdpZHRoXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2N1cnJlbnRSZXNpemVyID09PSBSZXNpemVyLlJvdykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZW5kWSA9IGUucGFnZVk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkeSA9IGVuZFkgLSB0aGlzLl9zdGFydFk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjaGFuZ2VkQ3VycmVudFJvd0hlaWdodCA9IHRoaXMuX2N1cnJlbnRSb3dIZWlnaHQgKyBkeTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZUhlaWdodCh0aGlzLl9jdXJyZW50Q2VsbCwgY2hhbmdlZEN1cnJlbnRSb3dIZWlnaHQsIHRoaXMubWluSGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9tb3VzZVVwKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50UmVzaXplcikge1xyXG4gICAgICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0aCcpO1xyXG4gICAgICAgICAgICBjb25zdCBjb2x1bW5SZXNpemVkOiBDb2x1bW5SZXNpemVkQXJnc1tdID0gW107XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGVhZGVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gaGVhZGVyc1tpXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBoZWFkZXIuYXR0cmlidXRlc1snY29sdW1ubmFtZSddPy52YWx1ZTtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY29sdW1uTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5SZXNpemVkLnB1c2goeyBuYW1lOiBjb2x1bW5OYW1lLCB3aWR0aDogaGVhZGVyLm9mZnNldFdpZHRoLCB0aERvbTogaGVhZGVyIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY29sdW1uUmVzaXplZC5lbWl0KGNvbHVtblJlc2l6ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jdXJyZW50UmVzaXplciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ2RlZmF1bHQnKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,43 +0,0 @@
1
- import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
- import { BaseDirective } from './base.directive';
3
- import { executeUlvCommandHandler } from '../constants';
4
- import * as i0 from "@angular/core";
5
- export class UlvCommandDirective extends BaseDirective {
6
- constructor() {
7
- super(...arguments);
8
- this.commandClick = new EventEmitter();
9
- }
10
- onClick(event) {
11
- if (this.disable) {
12
- return false;
13
- }
14
- const button = this.ulvCommandHandler;
15
- event.stopPropagation();
16
- event.preventDefault();
17
- this.commandClick.emit(button);
18
- setTimeout(() => {
19
- // add settimeout because we need select row before execute row
20
- executeUlvCommandHandler(button);
21
- });
22
- return false;
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UlvCommandDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: UlvCommandDirective, selector: "[ulvCommandHandler]", inputs: { ulvCommandHandler: "ulvCommandHandler", disable: "disable" }, outputs: { commandClick: "commandClick" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UlvCommandDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- selector: '[ulvCommandHandler]',
31
- standalone: false
32
- }]
33
- }], propDecorators: { ulvCommandHandler: [{
34
- type: Input
35
- }], disable: [{
36
- type: Input
37
- }], commandClick: [{
38
- type: Output
39
- }], onClick: [{
40
- type: HostListener,
41
- args: ['click', ['$event']]
42
- }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWx2LWNvbW1hbmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL3Vsdi1jb21tYW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU14RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQUp0RDs7UUFPYyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FrQi9DO0lBaEJHLE9BQU8sQ0FBQyxLQUFVO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRXRDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLCtEQUErRDtZQUMvRCx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBcEJRLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFFWSxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRVAsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBleGVjdXRlVWx2Q29tbWFuZEhhbmRsZXIgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1t1bHZDb21tYW5kSGFuZGxlcl0nLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVsdkNvbW1hbmREaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIHVsdkNvbW1hbmRIYW5kbGVyOiBhbnk7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlOiBib29sZWFuO1xyXG4gICAgQE91dHB1dCgpIGNvbW1hbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIG9uQ2xpY2soZXZlbnQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBidXR0b24gPSB0aGlzLnVsdkNvbW1hbmRIYW5kbGVyO1xyXG5cclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuY29tbWFuZENsaWNrLmVtaXQoYnV0dG9uKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgLy8gYWRkIHNldHRpbWVvdXQgYmVjYXVzZSB3ZSBuZWVkIHNlbGVjdCByb3cgYmVmb3JlIGV4ZWN1dGUgcm93XHJcbiAgICAgICAgICAgIGV4ZWN1dGVVbHZDb21tYW5kSGFuZGxlcihidXR0b24pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,53 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import { BaseDirective } from './base.directive';
5
- import { fromIntersectionObserver } from '../from-intersection-observer';
6
- import * as i0 from "@angular/core";
7
- export class UntilInViewDirective extends BaseDirective {
8
- constructor(_templateRef, _vcr, _cdr, _el) {
9
- super(_el);
10
- this._templateRef = _templateRef;
11
- this._vcr = _vcr;
12
- this._cdr = _cdr;
13
- this._el = _el;
14
- this.intersectionDebounce = 100;
15
- this.viewed$ = new Subject();
16
- }
17
- viewed() {
18
- this.viewed$.next();
19
- this._vcr.createEmbeddedView(this._templateRef);
20
- this._cdr.detectChanges();
21
- }
22
- ngOnInit() {
23
- super.ngOnInit();
24
- const element = this.untilInView.nativeElement;
25
- const config = {
26
- root: null,
27
- rootMargin: '0px',
28
- threshold: 0
29
- };
30
- fromIntersectionObserver(element, config, this.intersectionDebounce)
31
- .pipe(takeUntil(this.viewed$), takeUntil(this._onDestroy$))
32
- .subscribe(() => {
33
- this.viewed();
34
- });
35
- }
36
- ngOnDestroy() {
37
- this._onDestroy$.next();
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UntilInViewDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: UntilInViewDirective, selector: "[untilInView]", inputs: { untilInView: "untilInView", intersectionDebounce: "intersectionDebounce" }, usesInheritance: true, ngImport: i0 }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UntilInViewDirective, decorators: [{
43
- type: Directive,
44
- args: [{
45
- selector: '[untilInView]',
46
- standalone: false
47
- }]
48
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { untilInView: [{
49
- type: Input
50
- }], intersectionDebounce: [{
51
- type: Input
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW50aWwtaW52aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy91bnRpbC1pbnZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsS0FBSyxFQUtSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNekUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFJbkQsWUFDWSxZQUE4QixFQUM5QixJQUFzQixFQUN0QixJQUF1QixFQUNyQixHQUFlO1FBRXpCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxILGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUNyQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBTnBCLHlCQUFvQixHQUFHLEdBQUcsQ0FBQztRQUM1QixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVF0QyxDQUFDO0lBRU0sTUFBTTtRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRztZQUNYLElBQUksRUFBRSxJQUFJO1lBQ1YsVUFBVSxFQUFFLEtBQUs7WUFDakIsU0FBUyxFQUFFLENBQUM7U0FDZixDQUFDO1FBQ0Ysd0JBQXdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUM7YUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxRCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBcENRLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsS0FBSztpQkFDcEI7d0tBRVksV0FBVztzQkFBbkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IGZyb21JbnRlcnNlY3Rpb25PYnNlcnZlciB9IGZyb20gJy4uL2Zyb20taW50ZXJzZWN0aW9uLW9ic2VydmVyJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdW50aWxJblZpZXddJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbnRpbEluVmlld0RpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSB1bnRpbEluVmlldzogRWxlbWVudFJlZjtcclxuICAgIEBJbnB1dCgpIGludGVyc2VjdGlvbkRlYm91bmNlID0gMTAwO1xyXG4gICAgcHJpdmF0ZSB2aWV3ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgICAgIHByaXZhdGUgX3ZjcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWZcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9lbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHZpZXdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZpZXdlZCQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuX3Zjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy51bnRpbEluVmlldy5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHtcclxuICAgICAgICAgICAgcm9vdDogbnVsbCxcclxuICAgICAgICAgICAgcm9vdE1hcmdpbjogJzBweCcsXHJcbiAgICAgICAgICAgIHRocmVzaG9sZDogMFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgZnJvbUludGVyc2VjdGlvbk9ic2VydmVyKGVsZW1lbnQsIGNvbmZpZywgdGhpcy5pbnRlcnNlY3Rpb25EZWJvdW5jZSlcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudmlld2VkJCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdlZCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,49 +0,0 @@
1
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class WebOtpDirective {
4
- constructor(_el, _renderer2) {
5
- this.otpRecieved = new EventEmitter();
6
- const input = _el.nativeElement;
7
- _renderer2.setAttribute(input, 'autocomplete', 'one-time-code');
8
- if ('OTPCredential' in window) {
9
- if (!input) {
10
- return;
11
- }
12
- this._ac = new AbortController();
13
- const x = navigator.credentials;
14
- x.get({
15
- otp: { transport: ['sms'] },
16
- signal: this._ac.signal
17
- })
18
- .then((otp) => {
19
- console.log(otp);
20
- if (otp) {
21
- this.autoUpdate && (input.value = otp.code);
22
- this.otpRecieved.emit(otp.code);
23
- }
24
- })
25
- .catch((err) => {
26
- console.error(err);
27
- });
28
- }
29
- }
30
- ngOnDestroy() {
31
- if (this._ac) {
32
- this._ac.abort();
33
- }
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebOtpDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: WebOtpDirective, selector: "[appWebotp]", inputs: { autoUpdate: "autoUpdate" }, outputs: { otpRecieved: "otpRecieved" }, ngImport: i0 }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebOtpDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- selector: '[appWebotp]',
42
- standalone: false
43
- }]
44
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { otpRecieved: [{
45
- type: Output
46
- }], autoUpdate: [{
47
- type: Input
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vib3RwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy93ZWJvdHAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBTXpHLE1BQU0sT0FBTyxlQUFlO0lBSXhCLFlBQVksR0FBZSxFQUFFLFVBQXFCO1FBSHhDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUkvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsYUFBaUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFaEUsSUFBSSxlQUFlLElBQUksTUFBTSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNULE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxXQUFrQixDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ0YsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU07YUFDMUIsQ0FBQztpQkFDRyxJQUFJLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNOLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDOytHQWxDUSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjt1R0FFYSxXQUFXO3NCQUFwQixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbYXBwV2Vib3RwXScsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2ViT3RwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIEBPdXRwdXQoKSBvdHBSZWNpZXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgQElucHV0KCkgYXV0b1VwZGF0ZTogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX2FjITogQWJvcnRDb250cm9sbGVyO1xyXG4gICAgY29uc3RydWN0b3IoX2VsOiBFbGVtZW50UmVmLCBfcmVuZGVyZXIyOiBSZW5kZXJlcjIpIHtcclxuICAgICAgICBjb25zdCBpbnB1dCA9IF9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgX3JlbmRlcmVyMi5zZXRBdHRyaWJ1dGUoaW5wdXQsICdhdXRvY29tcGxldGUnLCAnb25lLXRpbWUtY29kZScpO1xyXG5cclxuICAgICAgICBpZiAoJ09UUENyZWRlbnRpYWwnIGluIHdpbmRvdykge1xyXG4gICAgICAgICAgICBpZiAoIWlucHV0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5fYWMgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHggPSBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgYXMgYW55O1xyXG4gICAgICAgICAgICB4LmdldCh7XHJcbiAgICAgICAgICAgICAgICBvdHA6IHsgdHJhbnNwb3J0OiBbJ3NtcyddIH0sXHJcbiAgICAgICAgICAgICAgICBzaWduYWw6IHRoaXMuX2FjLnNpZ25hbFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKG90cDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cob3RwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3RwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0b1VwZGF0ZSAmJiAoaW5wdXQudmFsdWUgPSBvdHAuY29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3RwUmVjaWV2ZWQuZW1pdChvdHAuY29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fYWMpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWMuYWJvcnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19