barsa-novin-ray-core 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/README.md +25 -0
  2. package/esm2020/barsa-novin-ray-core.mjs +5 -0
  3. package/esm2020/lib/abstract-classes/application-base.mjs +24 -0
  4. package/esm2020/lib/abstract-classes/barsa-api.mjs +40 -0
  5. package/esm2020/lib/abstract-classes/field-base.mjs +167 -0
  6. package/esm2020/lib/abstract-classes/files-validation-helper.mjs +71 -0
  7. package/esm2020/lib/abstract-classes/form-base.mjs +101 -0
  8. package/esm2020/lib/abstract-classes/form-props.base.mjs +79 -0
  9. package/esm2020/lib/abstract-classes/form-toolbar-base.mjs +45 -0
  10. package/esm2020/lib/abstract-classes/index.mjs +21 -0
  11. package/esm2020/lib/abstract-classes/layout-item-base.mjs +33 -0
  12. package/esm2020/lib/abstract-classes/layout-panel-base.mjs +80 -0
  13. package/esm2020/lib/abstract-classes/models.mjs +172 -0
  14. package/esm2020/lib/abstract-classes/module-with-dynamic-components.mjs +2 -0
  15. package/esm2020/lib/abstract-classes/number-base.mjs +117 -0
  16. package/esm2020/lib/abstract-classes/page-base.mjs +97 -0
  17. package/esm2020/lib/abstract-classes/report-base.mjs +231 -0
  18. package/esm2020/lib/abstract-classes/report-item-base.mjs +53 -0
  19. package/esm2020/lib/abstract-classes/report-view-base.component.mjs +262 -0
  20. package/esm2020/lib/abstract-classes/system-base.mjs +24 -0
  21. package/esm2020/lib/auth-guard.mjs +37 -0
  22. package/esm2020/lib/barsa-novin-ray-core-routing.module.mjs +18 -0
  23. package/esm2020/lib/barsa-novin-ray-core.module.mjs +271 -0
  24. package/esm2020/lib/base-ulv-setting.component.mjs +37 -0
  25. package/esm2020/lib/base.component.mjs +59 -0
  26. package/esm2020/lib/base.module.mjs +28 -0
  27. package/esm2020/lib/constants.mjs +441 -0
  28. package/esm2020/lib/container.component.mjs +76 -0
  29. package/esm2020/lib/custom-route-reuse-strategy.mjs +32 -0
  30. package/esm2020/lib/date-services/date-hijri.service.mjs +127 -0
  31. package/esm2020/lib/date-services/date-info.mjs +2 -0
  32. package/esm2020/lib/date-services/date-miladi.service.mjs +124 -0
  33. package/esm2020/lib/date-services/date-shamsi.service.mjs +129 -0
  34. package/esm2020/lib/date-services/date.service.mjs +139 -0
  35. package/esm2020/lib/date-services/index.mjs +6 -0
  36. package/esm2020/lib/device.mjs +663 -0
  37. package/esm2020/lib/directives/anchor-scroll.directive.mjs +24 -0
  38. package/esm2020/lib/directives/attr-rtl.directive.mjs +35 -0
  39. package/esm2020/lib/directives/base.directive.mjs +51 -0
  40. package/esm2020/lib/directives/column-resizer.directive.mjs +39 -0
  41. package/esm2020/lib/directives/dynamic-command.directive.mjs +43 -0
  42. package/esm2020/lib/directives/ellipsify.directive.mjs +72 -0
  43. package/esm2020/lib/directives/field-binding.directive.mjs +17 -0
  44. package/esm2020/lib/directives/img-lazy.directive.mjs +75 -0
  45. package/esm2020/lib/directives/index.mjs +19 -0
  46. package/esm2020/lib/directives/intersection-observer.directive.mjs +49 -0
  47. package/esm2020/lib/directives/items-renderer.directive.mjs +59 -0
  48. package/esm2020/lib/directives/numbers-only-input.directive.mjs +26 -0
  49. package/esm2020/lib/directives/placeHolder.directive.mjs +15 -0
  50. package/esm2020/lib/directives/render-ulv-paging.directive.mjs +58 -0
  51. package/esm2020/lib/directives/render-ulv-viewer.directive.mjs +60 -0
  52. package/esm2020/lib/directives/table-resizer.directive.mjs +235 -0
  53. package/esm2020/lib/directives/ulv-command.directive.mjs +41 -0
  54. package/esm2020/lib/directives/until-inview.directive.mjs +51 -0
  55. package/esm2020/lib/dynamic-component/base-dynamic.component.mjs +89 -0
  56. package/esm2020/lib/dynamic-component/base-form-toolbaritem-props.mjs +50 -0
  57. package/esm2020/lib/dynamic-component/base-item-content-props.mjs +70 -0
  58. package/esm2020/lib/dynamic-component/base-view-content-props.mjs +26 -0
  59. package/esm2020/lib/dynamic-component/base-view-item-props.mjs +374 -0
  60. package/esm2020/lib/dynamic-component/base-view-props.mjs +127 -0
  61. package/esm2020/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +36 -0
  62. package/esm2020/lib/dynamic-component/dynamic-form.component.mjs +62 -0
  63. package/esm2020/lib/dynamic-component/dynamic-item.component.mjs +60 -0
  64. package/esm2020/lib/dynamic-component/index.mjs +10 -0
  65. package/esm2020/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +16 -0
  66. package/esm2020/lib/field-ui/field-ui.component.mjs +116 -0
  67. package/esm2020/lib/form/form.component.mjs +151 -0
  68. package/esm2020/lib/form-new/form-new.component.mjs +30 -0
  69. package/esm2020/lib/from-intersection-observer.mjs +53 -0
  70. package/esm2020/lib/global-error-handler.mjs +26 -0
  71. package/esm2020/lib/modal-root.component.mjs +31 -0
  72. package/esm2020/lib/not-found/not-found.component.mjs +16 -0
  73. package/esm2020/lib/pipes/barsa-icon-dict.pipe.mjs +18 -0
  74. package/esm2020/lib/pipes/bbb-translate.pipe.mjs +29 -0
  75. package/esm2020/lib/pipes/can-upload.pipe.mjs +30 -0
  76. package/esm2020/lib/pipes/context-menu.pipe.mjs +40 -0
  77. package/esm2020/lib/pipes/control-ui.pipe.mjs +31 -0
  78. package/esm2020/lib/pipes/convert-to-style.pipe.mjs +32 -0
  79. package/esm2020/lib/pipes/date-time-to-caption.pipe.mjs +34 -0
  80. package/esm2020/lib/pipes/fileinfo-count.pipe.mjs +20 -0
  81. package/esm2020/lib/pipes/filter-columns-by-details.pipe.mjs +20 -0
  82. package/esm2020/lib/pipes/filter-string.pipe.mjs +44 -0
  83. package/esm2020/lib/pipes/filter-tab.pipe.mjs +19 -0
  84. package/esm2020/lib/pipes/filter-toolbar-control.pipe.mjs +16 -0
  85. package/esm2020/lib/pipes/filter.pipe.mjs +33 -0
  86. package/esm2020/lib/pipes/find-column-by-db-name.pipe.mjs +17 -0
  87. package/esm2020/lib/pipes/fiori-icon.pipe.mjs +42 -0
  88. package/esm2020/lib/pipes/groupby.pipe.mjs +48 -0
  89. package/esm2020/lib/pipes/header-facet-value.pipe.mjs +22 -0
  90. package/esm2020/lib/pipes/index.mjs +33 -0
  91. package/esm2020/lib/pipes/list-count.pipe.mjs +17 -0
  92. package/esm2020/lib/pipes/merge-fields-to-columns.pipe.mjs +42 -0
  93. package/esm2020/lib/pipes/mo-info-ulv-data.pipe.mjs +24 -0
  94. package/esm2020/lib/pipes/mo-report-value-concat.pipe.mjs +35 -0
  95. package/esm2020/lib/pipes/mo-report-value.pipe.mjs +28 -0
  96. package/esm2020/lib/pipes/mo-value.pipe.mjs +31 -0
  97. package/esm2020/lib/pipes/multiple-groupby.pipe.mjs +97 -0
  98. package/esm2020/lib/pipes/numeral.pipe.mjs +40 -0
  99. package/esm2020/lib/pipes/picture-field-source.pipe.mjs +22 -0
  100. package/esm2020/lib/pipes/remove-newline.pipe.mjs +20 -0
  101. package/esm2020/lib/pipes/seperator-fix.pipe.mjs +23 -0
  102. package/esm2020/lib/pipes/sort.pipe.mjs +48 -0
  103. package/esm2020/lib/pipes/tlbButtons.pipe.mjs +58 -0
  104. package/esm2020/lib/pipes/total-summary.pipe.mjs +16 -0
  105. package/esm2020/lib/pipes/visible-value.pipe.mjs +24 -0
  106. package/esm2020/lib/portal-page/portal-page.component.mjs +13 -0
  107. package/esm2020/lib/redirect-home-guard.mjs +28 -0
  108. package/esm2020/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +33 -0
  109. package/esm2020/lib/report-container/report-container.component.mjs +52 -0
  110. package/esm2020/lib/resolvers/index.mjs +5 -0
  111. package/esm2020/lib/resolvers/portal-dynamic-page.resolver.mjs +49 -0
  112. package/esm2020/lib/resolvers/portal-form-page.resolver.mjs +18 -0
  113. package/esm2020/lib/resolvers/portal-page.resolver.mjs +30 -0
  114. package/esm2020/lib/resolvers/portal-report-page.resolver.mjs +37 -0
  115. package/esm2020/lib/root-page/root-page.component.mjs +21 -0
  116. package/esm2020/lib/root-portal/root-portal.component.mjs +51 -0
  117. package/esm2020/lib/services/api.service.mjs +60 -0
  118. package/esm2020/lib/services/barsa-dialog.service.mjs +80 -0
  119. package/esm2020/lib/services/breadcrumb.service.mjs +60 -0
  120. package/esm2020/lib/services/container.service.mjs +36 -0
  121. package/esm2020/lib/services/dynamic-component.service.mjs +55 -0
  122. package/esm2020/lib/services/form-panel.service.mjs +235 -0
  123. package/esm2020/lib/services/form.service.mjs +14 -0
  124. package/esm2020/lib/services/horizontal-layout.service.mjs +16 -0
  125. package/esm2020/lib/services/index.mjs +16 -0
  126. package/esm2020/lib/services/layout.service.mjs +42 -0
  127. package/esm2020/lib/services/log.service.mjs +50 -0
  128. package/esm2020/lib/services/network-status.service.mjs +15 -0
  129. package/esm2020/lib/services/portal.service.mjs +638 -0
  130. package/esm2020/lib/services/ui.service.mjs +23 -0
  131. package/esm2020/lib/services/ulvmain.service.mjs +594 -0
  132. package/esm2020/lib/services/upload.service.mjs +75 -0
  133. package/esm2020/public-api.mjs +33 -0
  134. package/fesm2015/barsa-novin-ray-core.mjs +9047 -0
  135. package/fesm2015/barsa-novin-ray-core.mjs.map +1 -0
  136. package/fesm2020/barsa-novin-ray-core.mjs +8945 -0
  137. package/fesm2020/barsa-novin-ray-core.mjs.map +1 -0
  138. package/index.d.ts +5 -0
  139. package/lib/abstract-classes/application-base.d.ts +53 -0
  140. package/lib/abstract-classes/barsa-api.d.ts +28 -0
  141. package/lib/abstract-classes/field-base.d.ts +81 -0
  142. package/lib/abstract-classes/files-validation-helper.d.ts +15 -0
  143. package/lib/abstract-classes/form-base.d.ts +59 -0
  144. package/lib/abstract-classes/form-props.base.d.ts +45 -0
  145. package/lib/abstract-classes/form-toolbar-base.d.ts +17 -0
  146. package/lib/abstract-classes/index.d.ts +20 -0
  147. package/lib/abstract-classes/layout-item-base.d.ts +15 -0
  148. package/lib/abstract-classes/layout-panel-base.d.ts +24 -0
  149. package/lib/abstract-classes/models.d.ts +660 -0
  150. package/lib/abstract-classes/module-with-dynamic-components.d.ts +4 -0
  151. package/lib/abstract-classes/number-base.d.ts +20 -0
  152. package/lib/abstract-classes/page-base.d.ts +31 -0
  153. package/lib/abstract-classes/report-base.d.ts +97 -0
  154. package/lib/abstract-classes/report-item-base.d.ts +33 -0
  155. package/lib/abstract-classes/report-view-base.component.d.ts +130 -0
  156. package/lib/abstract-classes/system-base.d.ts +45 -0
  157. package/lib/auth-guard.d.ts +12 -0
  158. package/lib/barsa-novin-ray-core-routing.module.d.ts +7 -0
  159. package/lib/barsa-novin-ray-core.module.d.ts +88 -0
  160. package/lib/base-ulv-setting.component.d.ts +18 -0
  161. package/lib/base.component.d.ts +15 -0
  162. package/lib/base.module.d.ts +13 -0
  163. package/lib/constants.d.ts +89 -0
  164. package/lib/container.component.d.ts +33 -0
  165. package/lib/custom-route-reuse-strategy.d.ts +11 -0
  166. package/lib/date-services/date-hijri.service.d.ts +40 -0
  167. package/lib/date-services/date-info.d.ts +15 -0
  168. package/lib/date-services/date-miladi.service.d.ts +39 -0
  169. package/lib/date-services/date-shamsi.service.d.ts +40 -0
  170. package/lib/date-services/date.service.d.ts +54 -0
  171. package/lib/date-services/index.d.ts +5 -0
  172. package/lib/device.d.ts +15 -0
  173. package/lib/directives/anchor-scroll.directive.d.ts +7 -0
  174. package/lib/directives/attr-rtl.directive.d.ts +13 -0
  175. package/lib/directives/base.directive.d.ts +13 -0
  176. package/lib/directives/column-resizer.directive.d.ts +13 -0
  177. package/lib/directives/dynamic-command.directive.d.ts +12 -0
  178. package/lib/directives/ellipsify.directive.d.ts +17 -0
  179. package/lib/directives/field-binding.directive.d.ts +7 -0
  180. package/lib/directives/img-lazy.directive.d.ts +20 -0
  181. package/lib/directives/index.d.ts +18 -0
  182. package/lib/directives/intersection-observer.directive.d.ts +17 -0
  183. package/lib/directives/items-renderer.directive.d.ts +17 -0
  184. package/lib/directives/numbers-only-input.directive.d.ts +9 -0
  185. package/lib/directives/placeHolder.directive.d.ts +6 -0
  186. package/lib/directives/render-ulv-paging.directive.d.ts +19 -0
  187. package/lib/directives/render-ulv-viewer.directive.d.ts +19 -0
  188. package/lib/directives/table-resizer.directive.d.ts +47 -0
  189. package/lib/directives/ulv-command.directive.d.ts +11 -0
  190. package/lib/directives/until-inview.directive.d.ts +17 -0
  191. package/lib/dynamic-component/base-dynamic.component.d.ts +26 -0
  192. package/lib/dynamic-component/base-form-toolbaritem-props.d.ts +28 -0
  193. package/lib/dynamic-component/base-item-content-props.d.ts +40 -0
  194. package/lib/dynamic-component/base-view-content-props.d.ts +11 -0
  195. package/lib/dynamic-component/base-view-item-props.d.ts +95 -0
  196. package/lib/dynamic-component/base-view-props.d.ts +65 -0
  197. package/lib/dynamic-component/dynamic-form-toolbar-item.component.d.ts +18 -0
  198. package/lib/dynamic-component/dynamic-form.component.d.ts +33 -0
  199. package/lib/dynamic-component/dynamic-item.component.d.ts +30 -0
  200. package/lib/dynamic-component/index.d.ts +9 -0
  201. package/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.d.ts +7 -0
  202. package/lib/field-ui/field-ui.component.d.ts +27 -0
  203. package/lib/form/form.component.d.ts +36 -0
  204. package/lib/form-new/form-new.component.d.ts +23 -0
  205. package/lib/from-intersection-observer.d.ts +7 -0
  206. package/lib/global-error-handler.d.ts +8 -0
  207. package/lib/modal-root.component.d.ts +15 -0
  208. package/lib/not-found/not-found.component.d.ts +8 -0
  209. package/lib/pipes/barsa-icon-dict.pipe.d.ts +9 -0
  210. package/lib/pipes/bbb-translate.pipe.d.ts +7 -0
  211. package/lib/pipes/can-upload.pipe.d.ts +8 -0
  212. package/lib/pipes/context-menu.pipe.d.ts +11 -0
  213. package/lib/pipes/control-ui.pipe.d.ts +9 -0
  214. package/lib/pipes/convert-to-style.pipe.d.ts +8 -0
  215. package/lib/pipes/date-time-to-caption.pipe.d.ts +9 -0
  216. package/lib/pipes/fileinfo-count.pipe.d.ts +10 -0
  217. package/lib/pipes/filter-columns-by-details.pipe.d.ts +8 -0
  218. package/lib/pipes/filter-string.pipe.d.ts +11 -0
  219. package/lib/pipes/filter-tab.pipe.d.ts +7 -0
  220. package/lib/pipes/filter-toolbar-control.pipe.d.ts +8 -0
  221. package/lib/pipes/filter.pipe.d.ts +10 -0
  222. package/lib/pipes/find-column-by-db-name.pipe.d.ts +8 -0
  223. package/lib/pipes/fiori-icon.pipe.d.ts +7 -0
  224. package/lib/pipes/groupby.pipe.d.ts +7 -0
  225. package/lib/pipes/header-facet-value.pipe.d.ts +8 -0
  226. package/lib/pipes/index.d.ts +32 -0
  227. package/lib/pipes/list-count.pipe.d.ts +8 -0
  228. package/lib/pipes/merge-fields-to-columns.pipe.d.ts +10 -0
  229. package/lib/pipes/mo-info-ulv-data.pipe.d.ts +7 -0
  230. package/lib/pipes/mo-report-value-concat.pipe.d.ts +9 -0
  231. package/lib/pipes/mo-report-value.pipe.d.ts +12 -0
  232. package/lib/pipes/mo-value.pipe.d.ts +9 -0
  233. package/lib/pipes/multiple-groupby.pipe.d.ts +23 -0
  234. package/lib/pipes/numeral.pipe.d.ts +9 -0
  235. package/lib/pipes/picture-field-source.pipe.d.ts +8 -0
  236. package/lib/pipes/remove-newline.pipe.d.ts +8 -0
  237. package/lib/pipes/seperator-fix.pipe.d.ts +7 -0
  238. package/lib/pipes/sort.pipe.d.ts +9 -0
  239. package/lib/pipes/tlbButtons.pipe.d.ts +9 -0
  240. package/lib/pipes/total-summary.pipe.d.ts +8 -0
  241. package/lib/pipes/visible-value.pipe.d.ts +8 -0
  242. package/lib/portal-page/portal-page.component.d.ts +6 -0
  243. package/lib/redirect-home-guard.d.ts +13 -0
  244. package/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.d.ts +14 -0
  245. package/lib/report-container/report-container.component.d.ts +24 -0
  246. package/lib/resolvers/index.d.ts +4 -0
  247. package/lib/resolvers/portal-dynamic-page.resolver.d.ts +12 -0
  248. package/lib/resolvers/portal-form-page.resolver.d.ts +8 -0
  249. package/lib/resolvers/portal-page.resolver.d.ts +12 -0
  250. package/lib/resolvers/portal-report-page.resolver.d.ts +12 -0
  251. package/lib/root-page/root-page.component.d.ts +10 -0
  252. package/lib/root-portal/root-portal.component.d.ts +14 -0
  253. package/lib/services/api.service.d.ts +18 -0
  254. package/lib/services/barsa-dialog.service.d.ts +31 -0
  255. package/lib/services/breadcrumb.service.d.ts +14 -0
  256. package/lib/services/container.service.d.ts +14 -0
  257. package/lib/services/dynamic-component.service.d.ts +13 -0
  258. package/lib/services/form-panel.service.d.ts +83 -0
  259. package/lib/services/form.service.d.ts +8 -0
  260. package/lib/services/horizontal-layout.service.d.ts +7 -0
  261. package/lib/services/index.d.ts +15 -0
  262. package/lib/services/layout.service.d.ts +23 -0
  263. package/lib/services/log.service.d.ts +17 -0
  264. package/lib/services/network-status.service.d.ts +7 -0
  265. package/lib/services/portal.service.d.ts +130 -0
  266. package/lib/services/ui.service.d.ts +14 -0
  267. package/lib/services/ulvmain.service.d.ts +178 -0
  268. package/lib/services/upload.service.d.ts +18 -0
  269. package/package.json +38 -0
  270. package/public-api.d.ts +29 -0
@@ -0,0 +1,24 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AnchorScrollDirective {
4
+ scrollInto() {
5
+ const element = document.querySelector('#' + this.anchorScroll);
6
+ if (element != null) {
7
+ element.scrollIntoView();
8
+ }
9
+ }
10
+ }
11
+ AnchorScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AnchorScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ AnchorScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: AnchorScrollDirective, selector: "[anchorScroll]", inputs: { anchorScroll: "anchorScroll" }, host: { listeners: { "click": "scrollInto()" } }, ngImport: i0 });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AnchorScrollDirective, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: '[anchorScroll]'
17
+ }]
18
+ }], propDecorators: { anchorScroll: [{
19
+ type: Input
20
+ }], scrollInto: [{
21
+ type: HostListener,
22
+ args: ['click']
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLXNjcm9sbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvYW5jaG9yLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsvRCxNQUFNLE9BQU8scUJBQXFCO0lBRzlCLFVBQVU7UUFDTixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEUsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7O2tIQVJRLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7OEJBRVksWUFBWTtzQkFBcEIsS0FBSztnQkFFTixVQUFVO3NCQURULFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1thbmNob3JTY3JvbGxdJ1xufSlcbmV4cG9ydCBjbGFzcyBBbmNob3JTY3JvbGxEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIGFuY2hvclNjcm9sbDogc3RyaW5nO1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBzY3JvbGxJbnRvKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmFuY2hvclNjcm9sbCk7XG4gICAgICAgIGlmIChlbGVtZW50ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { takeUntil } from 'rxjs/operators';
3
+ import { BaseDirective } from './base.directive';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/portal.service";
6
+ export class AttrRtlDirective extends BaseDirective {
7
+ constructor(_renderer2, _el, _portalService) {
8
+ super();
9
+ this._renderer2 = _renderer2;
10
+ this._el = _el;
11
+ const rtl = this.rtl;
12
+ if (rtl === false) {
13
+ this._setRtlAttribute(rtl);
14
+ return;
15
+ }
16
+ _portalService.rtl$.pipe(takeUntil(this._onDestroy$)).subscribe((rtlValue) => {
17
+ this._setRtlAttribute(rtlValue);
18
+ });
19
+ }
20
+ _setRtlAttribute(rtl) {
21
+ this._renderer2.setAttribute(this._el.nativeElement, 'rtl', `${rtl}`);
22
+ }
23
+ }
24
+ AttrRtlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AttrRtlDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Directive });
25
+ AttrRtlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: AttrRtlDirective, selector: "[attrRtl]", inputs: { rtl: ["attrRtl", "rtl"] }, usesInheritance: true, ngImport: i0 });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AttrRtlDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: '[attrRtl]'
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.PortalService }]; }, propDecorators: { rtl: [{
32
+ type: Input,
33
+ args: ['attrRtl']
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ci1ydGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2F0dHItcnRsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFPakQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFFL0MsWUFBb0IsVUFBcUIsRUFBVSxHQUFlLEVBQUUsY0FBNkI7UUFDN0YsS0FBSyxFQUFFLENBQUM7UUFEUSxlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUU5RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3JCLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixPQUFPO1NBQ1Y7UUFDRCxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDekUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEdBQVk7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDOzs2R0FoQlEsZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztpQkFDeEI7cUpBRXFCLEdBQUc7c0JBQXBCLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcG9ydGFsLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1thdHRyUnRsXSdcbn0pXG5leHBvcnQgY2xhc3MgQXR0clJ0bERpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgnYXR0clJ0bCcpIHJ0bDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yZW5kZXJlcjI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGNvbnN0IHJ0bCA9IHRoaXMucnRsO1xuICAgICAgICBpZiAocnRsID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0UnRsQXR0cmlidXRlKHJ0bCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgX3BvcnRhbFNlcnZpY2UucnRsJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChydGxWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2V0UnRsQXR0cmlidXRlKHJ0bFZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0UnRsQXR0cmlidXRlKHJ0bDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICdydGwnLCBgJHtydGx9YCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,51 @@
1
+ import { Directive } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { BarsaApi } from '../abstract-classes/barsa-api';
4
+ import * as i0 from "@angular/core";
5
+ export class BaseDirective {
6
+ constructor() {
7
+ this._onDestroy$ = new Subject();
8
+ }
9
+ ngAfterContentInit() {
10
+ if (!BarsaApi.Common.Debug?.Data?.CustomUi) {
11
+ return;
12
+ }
13
+ console.log('ngAfterContentInit');
14
+ console.log(this);
15
+ }
16
+ ngOnChanges(changes) {
17
+ if (!BarsaApi.Common.Debug?.Data?.CustomUi) {
18
+ return;
19
+ }
20
+ console.log(changes);
21
+ }
22
+ ngOnInit() {
23
+ if (!BarsaApi.Common.Debug?.Data?.CustomUi) {
24
+ return;
25
+ }
26
+ console.log('ngOnInit');
27
+ console.log(this);
28
+ }
29
+ ngAfterViewInit() {
30
+ if (!BarsaApi.Common.Debug?.Data?.CustomUi) {
31
+ return;
32
+ }
33
+ console.log('ngAfterViewInit');
34
+ console.log(this);
35
+ }
36
+ ngOnDestroy() {
37
+ this._onDestroy$.next();
38
+ this._onDestroy$.complete();
39
+ if (!BarsaApi.Common.Debug?.Data?.CustomUi) {
40
+ return;
41
+ }
42
+ console.log('ngOnDestroy');
43
+ console.log(this);
44
+ }
45
+ }
46
+ BaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
+ BaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: BaseDirective, usesOnChanges: true, ngImport: i0 });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BaseDirective, decorators: [{
49
+ type: Directive
50
+ }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvYmFzZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixTQUFTLEVBQXlELE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUd6RCxNQUFNLE9BQWdCLGFBQWE7SUFEbkM7UUFFdUIsZ0JBQVcsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQXNDdkU7SUFwQ0csa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDeEMsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN4QyxPQUFPO1NBQ1Y7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDeEMsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDeEMsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDeEMsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7OzBHQXRDaUIsYUFBYTs4RkFBYixhQUFhOzJGQUFiLGFBQWE7a0JBRGxDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFCYXJzYUFwaS5Db21tb24uRGVidWc/LkRhdGE/LkN1c3RvbVVpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coJ25nQWZ0ZXJDb250ZW50SW5pdCcpO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzKTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoIUJhcnNhQXBpLkNvbW1vbi5EZWJ1Zz8uRGF0YT8uQ3VzdG9tVWkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZyhjaGFuZ2VzKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghQmFyc2FBcGkuQ29tbW9uLkRlYnVnPy5EYXRhPy5DdXN0b21VaSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKCduZ09uSW5pdCcpO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzKTtcbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIUJhcnNhQXBpLkNvbW1vbi5EZWJ1Zz8uRGF0YT8uQ3VzdG9tVWkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZygnbmdBZnRlclZpZXdJbml0Jyk7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgaWYgKCFCYXJzYUFwaS5Db21tb24uRGVidWc/LkRhdGE/LkN1c3RvbVVpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coJ25nT25EZXN0cm95Jyk7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { BaseDirective } from './base.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class ColumnResizerDirective extends BaseDirective {
5
+ constructor(el, renderer) {
6
+ super();
7
+ this.el = el;
8
+ this.renderer = renderer;
9
+ }
10
+ ngOnInit() {
11
+ super.ngOnInit();
12
+ if (!this.disableResizer) {
13
+ this._addColumnsResizer();
14
+ }
15
+ }
16
+ _addColumnsResizer() {
17
+ const cell = this.el.nativeElement;
18
+ if (cell.hasAttribute('NoResizable')) {
19
+ return;
20
+ }
21
+ const columnResizer = this.renderer.createElement('div');
22
+ this.renderer.appendChild(cell, columnResizer);
23
+ columnResizer.setAttribute('class', 'column-resizer');
24
+ this.renderer.setAttribute(columnResizer, 'style', 'cursor: col-resize; width: 8px;position: absolute;left:0; top:0; bottom:0');
25
+ this.renderer.setStyle(cell, 'padding-left', 0);
26
+ this.renderer.setStyle(cell, 'position', 'relative');
27
+ }
28
+ }
29
+ ColumnResizerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnResizerDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
30
+ ColumnResizerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ColumnResizerDirective, selector: "[columnResizer]", inputs: { disableResizer: "disableResizer" }, usesInheritance: true, ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnResizerDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[columnResizer]'
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { disableResizer: [{
37
+ type: Input
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2NvbHVtbi1yZXNpemVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUtqRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQUVyRCxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFEUSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUUvRCxDQUFDO0lBQ0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsTUFBTSxJQUFJLEdBQXlCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNsQyxPQUFPO1NBQ1Y7UUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDL0MsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FDdEIsYUFBYSxFQUNiLE9BQU8sRUFDUCwyRUFBMkUsQ0FDOUUsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RCxDQUFDOzttSEE1QlEsc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM5Qjt5SEFFWSxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjb2x1bW5SZXNpemVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbHVtblJlc2l6ZXJEaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVSZXNpemVyOiBib29sZWFuO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVSZXNpemVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkZENvbHVtbnNSZXNpemVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2FkZENvbHVtbnNSZXNpemVyKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNlbGw6IEhUTUxUYWJsZUNlbGxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmIChjZWxsLmhhc0F0dHJpYnV0ZSgnTm9SZXNpemFibGUnKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNvbHVtblJlc2l6ZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGNlbGwsIGNvbHVtblJlc2l6ZXIpO1xyXG4gICAgICAgIGNvbHVtblJlc2l6ZXIuc2V0QXR0cmlidXRlKCdjbGFzcycsICdjb2x1bW4tcmVzaXplcicpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICBjb2x1bW5SZXNpemVyLFxyXG4gICAgICAgICAgICAnc3R5bGUnLFxyXG4gICAgICAgICAgICAnY3Vyc29yOiBjb2wtcmVzaXplOyB3aWR0aDogOHB4O3Bvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OjA7IHRvcDowOyBib3R0b206MCdcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY2VsbCwgJ3BhZGRpbmctbGVmdCcsIDApO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY2VsbCwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,43 @@
1
+ import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import { BarsaApi } from '../abstract-classes';
3
+ import * as i0 from "@angular/core";
4
+ export class DynamicCommandDirective {
5
+ constructor() {
6
+ this.commandClick = new EventEmitter();
7
+ }
8
+ onClick(event) {
9
+ if (typeof this.enableCommand === typeof undefined) {
10
+ this.enableCommand = true;
11
+ }
12
+ if (!this.enableCommand) {
13
+ return true;
14
+ }
15
+ const command = this.dynCommand;
16
+ event.stopPropagation();
17
+ event.preventDefault();
18
+ const e = { command, DynamicSetting: this.mo };
19
+ BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Id, e);
20
+ this.commandClick.emit();
21
+ return false;
22
+ }
23
+ }
24
+ DynamicCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DynamicCommandDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
+ DynamicCommandDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: DynamicCommandDirective, selector: "[dynCommand]", inputs: { dynCommand: "dynCommand", mo: "mo", enableCommand: "enableCommand" }, outputs: { commandClick: "commandClick" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DynamicCommandDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: '[dynCommand]'
30
+ }]
31
+ }], propDecorators: { dynCommand: [{
32
+ type: Input
33
+ }], mo: [{
34
+ type: Input
35
+ }], enableCommand: [{
36
+ type: Input
37
+ }], commandClick: [{
38
+ type: Output
39
+ }], onClick: [{
40
+ type: HostListener,
41
+ args: ['click', ['$event']]
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21tYW5kLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9keW5hbWljLWNvbW1hbmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0scUJBQXFCLENBQUM7O0FBS3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFIcEM7UUFPYyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FpQi9DO0lBZkcsT0FBTyxDQUFDLEtBQVU7UUFDZCxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxPQUFPLFNBQVMsRUFBRTtZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM3QjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMvQyxRQUFRLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOztvSEFwQlEsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztpQkFDM0I7OEJBRVksVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXJzYUFwaSwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkeW5Db21tYW5kXSdcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbW1hbmREaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIGR5bkNvbW1hbmQ6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQElucHV0KCkgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQElucHV0KCkgZW5hYmxlQ29tbWFuZDtcbiAgICBAT3V0cHV0KCkgY29tbWFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2ZW50OiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVuYWJsZUNvbW1hbmQgPT09IHR5cGVvZiB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlQ29tbWFuZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmVuYWJsZUNvbW1hbmQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLmR5bkNvbW1hbmQ7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBlID0geyBjb21tYW5kLCBEeW5hbWljU2V0dGluZzogdGhpcy5tbyB9O1xuICAgICAgICBCYXJzYUFwaS5Db21tb24uQ3VzdG9tQ29kZU1hbmFnZXIuUnVuRHluYW1pY0NvbW1hbmQoY29tbWFuZC5JZCwgZSk7XG4gICAgICAgIHRoaXMuY29tbWFuZENsaWNrLmVtaXQoKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { BaseDirective } from './base.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class EllipsifyDirective extends BaseDirective {
5
+ constructor(el, renderer) {
6
+ super();
7
+ this.el = el;
8
+ this.renderer = renderer;
9
+ }
10
+ moseMove(e) {
11
+ if (e.buttons) {
12
+ this._heightChange();
13
+ }
14
+ }
15
+ ngAfterViewInit() {
16
+ super.ngAfterViewInit();
17
+ setTimeout(() => {
18
+ this.childes = this.el.nativeElement.querySelectorAll('span, h5, p');
19
+ this._initStyle();
20
+ this._handleNoEllipsis();
21
+ this._heightChange();
22
+ }, 100);
23
+ }
24
+ _heightChange() {
25
+ this.childes.forEach((child) => {
26
+ if (child.childElementCount === 0) {
27
+ const height = child.clientHeight;
28
+ const lineHeightStr = getComputedStyle(child).lineHeight.replace('px', '');
29
+ const lineHeight = Number(lineHeightStr);
30
+ let limitLine = this.limitLine ? this.limitLine : Math.round(height / lineHeight);
31
+ limitLine = limitLine && limitLine !== 0 ? limitLine : 1;
32
+ this.renderer.setStyle(child, '-webkit-line-clamp', limitLine.toString());
33
+ }
34
+ });
35
+ }
36
+ _initStyle() {
37
+ this.childes.forEach((child) => {
38
+ if (child.childElementCount === 0) {
39
+ this.renderer.setStyle(child, 'height', 'inherit');
40
+ this.renderer.setStyle(child, 'overflow', 'hidden');
41
+ this.renderer.setStyle(child, '-webkit-box-orient', 'vertical');
42
+ this.renderer.setStyle(child, 'display', '-webkit-box');
43
+ this.renderer.setStyle(child, 'width', 'fit-content');
44
+ }
45
+ });
46
+ }
47
+ _handleNoEllipsis() {
48
+ const noEllipsisEls = this.el.nativeElement.querySelectorAll('[ellipsis=no-ellipsis]');
49
+ noEllipsisEls.forEach((el) => {
50
+ const all = el.querySelectorAll('span, h5, p');
51
+ all.forEach((el2) => {
52
+ if (el2.childElementCount === 0) {
53
+ this.renderer.setStyle(el2, 'white-space', 'break-spaces');
54
+ }
55
+ });
56
+ });
57
+ }
58
+ }
59
+ EllipsifyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: EllipsifyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
60
+ EllipsifyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: EllipsifyDirective, selector: "[ellipsify]", inputs: { limitLine: "limitLine" }, host: { listeners: { "mousemove": "moseMove($event)" } }, usesInheritance: true, ngImport: i0 });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: EllipsifyDirective, decorators: [{
62
+ type: Directive,
63
+ args: [{
64
+ selector: '[ellipsify]'
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { limitLine: [{
67
+ type: Input
68
+ }], moseMove: [{
69
+ type: HostListener,
70
+ args: ['mousemove', ['$event']]
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaWZ5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9lbGxpcHNpZnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUtqRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQUlqRCxZQUFzQixFQUFjLEVBQVksUUFBbUI7UUFDL0QsS0FBSyxFQUFFLENBQUM7UUFEVSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUVuRSxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQUM7UUFDTixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFO2dCQUMvQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO2dCQUNsQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDM0UsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQztnQkFDbEYsU0FBUyxHQUFHLFNBQVMsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQzdFO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sVUFBVTtRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFO2dCQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDekQ7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN2RixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUU7WUFDOUIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9DLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEIsSUFBSSxHQUFHLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFO29CQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2lCQUM5RDtZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0EzRFEsa0JBQWtCO21HQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtpQkFDMUI7eUhBRVksU0FBUztzQkFBakIsS0FBSztnQkFPTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tlbGxpcHNpZnldJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWxsaXBzaWZ5RGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gICAgQElucHV0KCkgbGltaXRMaW5lO1xyXG4gICAgY2hpbGRlczogRWxlbWVudFJlZltdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbDogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcclxuICAgIG1vc2VNb3ZlKGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZS5idXR0b25zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hlaWdodENoYW5nZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hpbGRlcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuLCBoNSwgcCcpO1xyXG4gICAgICAgICAgICB0aGlzLl9pbml0U3R5bGUoKTtcclxuICAgICAgICAgICAgdGhpcy5faGFuZGxlTm9FbGxpcHNpcygpO1xyXG4gICAgICAgICAgICB0aGlzLl9oZWlnaHRDaGFuZ2UoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2hlaWdodENoYW5nZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoaWxkZXMuZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQuY2hpbGRFbGVtZW50Q291bnQgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGNoaWxkLmNsaWVudEhlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVIZWlnaHRTdHIgPSBnZXRDb21wdXRlZFN0eWxlKGNoaWxkKS5saW5lSGVpZ2h0LnJlcGxhY2UoJ3B4JywgJycpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGluZUhlaWdodCA9IE51bWJlcihsaW5lSGVpZ2h0U3RyKTtcclxuICAgICAgICAgICAgICAgIGxldCBsaW1pdExpbmUgPSB0aGlzLmxpbWl0TGluZSA/IHRoaXMubGltaXRMaW5lIDogTWF0aC5yb3VuZChoZWlnaHQgLyBsaW5lSGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGxpbWl0TGluZSA9IGxpbWl0TGluZSAmJiBsaW1pdExpbmUgIT09IDAgPyBsaW1pdExpbmUgOiAxO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjaGlsZCwgJy13ZWJraXQtbGluZS1jbGFtcCcsIGxpbWl0TGluZS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2luaXRTdHlsZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoaWxkZXMuZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQuY2hpbGRFbGVtZW50Q291bnQgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY2hpbGQsICdoZWlnaHQnLCAnaW5oZXJpdCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjaGlsZCwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjaGlsZCwgJy13ZWJraXQtYm94LW9yaWVudCcsICd2ZXJ0aWNhbCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjaGlsZCwgJ2Rpc3BsYXknLCAnLXdlYmtpdC1ib3gnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY2hpbGQsICd3aWR0aCcsICdmaXQtY29udGVudCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfaGFuZGxlTm9FbGxpcHNpcygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBub0VsbGlwc2lzRWxzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tlbGxpcHNpcz1uby1lbGxpcHNpc10nKTtcclxuICAgICAgICBub0VsbGlwc2lzRWxzLmZvckVhY2goKGVsOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYWxsID0gZWwucXVlcnlTZWxlY3RvckFsbCgnc3BhbiwgaDUsIHAnKTtcclxuICAgICAgICAgICAgYWxsLmZvckVhY2goKGVsMikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGVsMi5jaGlsZEVsZW1lbnRDb3VudCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWwyLCAnd2hpdGUtc3BhY2UnLCAnYnJlYWstc3BhY2VzJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FieldDirective {
4
+ }
5
+ FieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ FieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: FieldDirective, selector: "[field]", inputs: { field: "field", value: "value" }, ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FieldDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[field]'
11
+ }]
12
+ }], propDecorators: { field: [{
13
+ type: Input
14
+ }], value: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmluZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvZmllbGQtYmluZGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2pELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOytGQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFIMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsU0FBUztpQkFDdEI7OEJBRVksS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmllbGRdJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWVsZERpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgZmllbGQ6IHN0cmluZztcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xufVxuIl19
@@ -0,0 +1,75 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import { fromEvent, timer, Subject, merge } from 'rxjs';
3
+ import { debounceTime, filter, takeUntil, tap } from 'rxjs/operators';
4
+ import { BaseDirective } from './base.directive';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../services/portal.service";
7
+ export class ImageLazyDirective extends BaseDirective {
8
+ constructor(elementRef, portalService) {
9
+ super();
10
+ this.elementRef = elementRef;
11
+ this.portalService = portalService;
12
+ this.auto = true;
13
+ this.threshold = 20;
14
+ this.imageLoaded = new EventEmitter();
15
+ this._imageViewed$ = new Subject();
16
+ this._imgEl = this.elementRef.nativeElement;
17
+ }
18
+ ngOnInit() {
19
+ super.ngOnInit();
20
+ const supports = 'loading' in HTMLImageElement.prototype;
21
+ if (supports) {
22
+ this._imgEl.src = this.imgLazy;
23
+ this._imgEl.setAttribute('loading', 'lazy');
24
+ return;
25
+ }
26
+ const timer1 = timer(1000);
27
+ if (this.auto) {
28
+ const isCached = this.portalService.cachedImages[this.imgLazy];
29
+ if (isCached) {
30
+ this._imgEl.src = this.imgLazy;
31
+ return;
32
+ }
33
+ merge([timer1, fromEvent(window, 'scroll')])
34
+ .pipe(takeUntil(this._imageViewed$), takeUntil(this._onDestroy$), debounceTime(20), filter(() => this.isInViewport()), tap(() => this.showImage()))
35
+ .subscribe();
36
+ }
37
+ }
38
+ showImage() {
39
+ if (this.imgLazy === this._imgEl.src) {
40
+ return;
41
+ }
42
+ const imgEl = this._imgEl;
43
+ imgEl.src = this.imgLazy;
44
+ this.portalService.cachedImages[this.imgLazy] = true;
45
+ imgEl.addEventListener('load', () => {
46
+ this.imageLoaded.emit();
47
+ });
48
+ this._imageViewed$.next();
49
+ }
50
+ isInViewport() {
51
+ const rect = this._imgEl.getBoundingClientRect();
52
+ const isInViewport = rect.top >= 0 &&
53
+ rect.left >= 0 &&
54
+ rect.bottom - this.threshold <= (window.innerHeight || document.documentElement.clientHeight) &&
55
+ rect.right <= (window.innerWidth || document.documentElement.clientWidth);
56
+ return isInViewport;
57
+ }
58
+ }
59
+ ImageLazyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ImageLazyDirective, deps: [{ token: i0.ElementRef }, { token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Directive });
60
+ ImageLazyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ImageLazyDirective, selector: "[imgLazy]", inputs: { auto: "auto", threshold: "threshold", imgLazy: "imgLazy" }, outputs: { imageLoaded: "imageLoaded" }, usesInheritance: true, ngImport: i0 });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ImageLazyDirective, decorators: [{
62
+ type: Directive,
63
+ args: [{
64
+ selector: '[imgLazy]'
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PortalService }]; }, propDecorators: { auto: [{
67
+ type: Input
68
+ }], threshold: [{
69
+ type: Input
70
+ }], imageLoaded: [{
71
+ type: Output
72
+ }], imgLazy: [{
73
+ type: Input
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWxhenkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2ltZy1sYXp5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBTWpELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxhQUFhO0lBT2pELFlBQW9CLFVBQXNCLEVBQVUsYUFBNEI7UUFDNUUsS0FBSyxFQUFFLENBQUM7UUFEUSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFOdkUsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHbkMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFpQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLFNBQVMsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7UUFFekQsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM1QyxPQUFPO1NBQ1Y7UUFDRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9ELElBQUksUUFBUSxFQUFFO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQy9CLE9BQU87YUFDVjtZQUNELEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQ3ZDLElBQUksQ0FDRCxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUMzQixZQUFZLENBQUMsRUFBRSxDQUFDLEVBQ2hCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFDakMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUM5QjtpQkFDQSxTQUFTLEVBQUUsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFDTSxTQUFTO1FBQ1osSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2xDLE9BQU87U0FDVjtRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRXpCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDckQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNPLFlBQVk7UUFDaEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pELE1BQU0sWUFBWSxHQUNkLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNiLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztZQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUM7WUFDN0YsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RSxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDOzsrR0EzRFEsa0JBQWtCO21HQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztpQkFDeEI7NkhBRVksSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIHRpbWVyLCBTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcG9ydGFsLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpbWdMYXp5XSdcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VMYXp5RGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYXV0byA9IHRydWU7XG4gICAgQElucHV0KCkgdGhyZXNob2xkID0gMjA7XG4gICAgQE91dHB1dCgpIGltYWdlTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBJbnB1dCgpIGltZ0xhenk6IHN0cmluZztcbiAgICBwcml2YXRlIF9pbWdFbDogSFRNTEltYWdlRWxlbWVudDtcbiAgICBwcml2YXRlIF9pbWFnZVZpZXdlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX2ltZ0VsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGNvbnN0IHN1cHBvcnRzID0gJ2xvYWRpbmcnIGluIEhUTUxJbWFnZUVsZW1lbnQucHJvdG90eXBlO1xuXG4gICAgICAgIGlmIChzdXBwb3J0cykge1xuICAgICAgICAgICAgdGhpcy5faW1nRWwuc3JjID0gdGhpcy5pbWdMYXp5O1xuICAgICAgICAgICAgdGhpcy5faW1nRWwuc2V0QXR0cmlidXRlKCdsb2FkaW5nJywgJ2xhenknKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0aW1lcjEgPSB0aW1lcigxMDAwKTtcbiAgICAgICAgaWYgKHRoaXMuYXV0bykge1xuICAgICAgICAgICAgY29uc3QgaXNDYWNoZWQgPSB0aGlzLnBvcnRhbFNlcnZpY2UuY2FjaGVkSW1hZ2VzW3RoaXMuaW1nTGF6eV07XG4gICAgICAgICAgICBpZiAoaXNDYWNoZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pbWdFbC5zcmMgPSB0aGlzLmltZ0xhenk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWVyZ2UoW3RpbWVyMSwgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpXSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2ltYWdlVmlld2VkJCksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDIwKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuaXNJblZpZXdwb3J0KCkpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5zaG93SW1hZ2UoKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyBzaG93SW1hZ2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmltZ0xhenkgPT09IHRoaXMuX2ltZ0VsLnNyYykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGltZ0VsID0gdGhpcy5faW1nRWw7XG4gICAgICAgIGltZ0VsLnNyYyA9IHRoaXMuaW1nTGF6eTtcblxuICAgICAgICB0aGlzLnBvcnRhbFNlcnZpY2UuY2FjaGVkSW1hZ2VzW3RoaXMuaW1nTGF6eV0gPSB0cnVlO1xuICAgICAgICBpbWdFbC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbWFnZUxvYWRlZC5lbWl0KCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9pbWFnZVZpZXdlZCQubmV4dCgpO1xuICAgIH1cbiAgICBwcml2YXRlIGlzSW5WaWV3cG9ydCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMuX2ltZ0VsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBpc0luVmlld3BvcnQgPVxuICAgICAgICAgICAgcmVjdC50b3AgPj0gMCAmJlxuICAgICAgICAgICAgcmVjdC5sZWZ0ID49IDAgJiZcbiAgICAgICAgICAgIHJlY3QuYm90dG9tIC0gdGhpcy50aHJlc2hvbGQgPD0gKHdpbmRvdy5pbm5lckhlaWdodCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSAmJlxuICAgICAgICAgICAgcmVjdC5yaWdodCA8PSAod2luZG93LmlubmVyV2lkdGggfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgICAgcmV0dXJuIGlzSW5WaWV3cG9ydDtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ export * from './anchor-scroll.directive';
2
+ export * from './attr-rtl.directive';
3
+ export * from './base.directive';
4
+ export * from './column-resizer.directive';
5
+ export * from './dynamic-command.directive';
6
+ export * from './ellipsify.directive';
7
+ export * from './field-binding.directive';
8
+ export * from './img-lazy.directive';
9
+ export * from './intersection-observer.directive';
10
+ export * from './items-renderer.directive';
11
+ export * from './numbers-only-input.directive';
12
+ export * from './placeHolder.directive';
13
+ export * from './render-ulv-viewer.directive';
14
+ export * from './render-ulv-paging.directive';
15
+ export * from './render-ulv-viewer.directive';
16
+ export * from './table-resizer.directive';
17
+ export * from './ulv-command.directive';
18
+ export * from './until-inview.directive';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuY2hvci1zY3JvbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXR0ci1ydGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4tcmVzaXplci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWNvbW1hbmQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxsaXBzaWZ5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLWJpbmRpbmcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW1nLWxhenkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJzZWN0aW9uLW9ic2VydmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2l0ZW1zLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlcnMtb25seS1pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFjZUhvbGRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZW5kZXItdWx2LXZpZXdlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZW5kZXItdWx2LXBhZ2luZy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZW5kZXItdWx2LXZpZXdlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1yZXNpemVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Vsdi1jb21tYW5kLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3VudGlsLWludmlldy5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,49 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { fromIntersectionObserver } from '../from-intersection-observer';
5
+ import * as i0 from "@angular/core";
6
+ export class IntersectionObserverDirective {
7
+ constructor(element) {
8
+ this.element = element;
9
+ this.intersectionDebounce = 0;
10
+ this.intersectionRootMargin = '0px';
11
+ this.visibilityChange = new EventEmitter();
12
+ this.destroy$ = new Subject();
13
+ }
14
+ ngOnInit() {
15
+ const element = this.element.nativeElement;
16
+ const config = {
17
+ root: this.intersectionRoot,
18
+ rootMargin: this.intersectionRootMargin,
19
+ threshold: this.intersectionThreshold
20
+ };
21
+ fromIntersectionObserver(element, config, this.intersectionDebounce)
22
+ .pipe(takeUntil(this.destroy$))
23
+ .subscribe((status) => {
24
+ this.visibilityChange.emit(status);
25
+ });
26
+ }
27
+ ngOnDestroy() {
28
+ this.destroy$.next();
29
+ }
30
+ }
31
+ IntersectionObserverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: IntersectionObserverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
32
+ IntersectionObserverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: { intersectionDebounce: "intersectionDebounce", intersectionRootMargin: "intersectionRootMargin", intersectionRoot: "intersectionRoot", intersectionThreshold: "intersectionThreshold" }, outputs: { visibilityChange: "visibilityChange" }, ngImport: i0 });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: IntersectionObserverDirective, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: '[intersectionObserver]'
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { intersectionDebounce: [{
39
+ type: Input
40
+ }], intersectionRootMargin: [{
41
+ type: Input
42
+ }], intersectionRoot: [{
43
+ type: Input
44
+ }], intersectionThreshold: [{
45
+ type: Input
46
+ }], visibilityChange: [{
47
+ type: Output
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLW9ic2VydmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBc0IsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLN0YsTUFBTSxPQUFPLDZCQUE2QjtJQVV0QyxZQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBVDlCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUN6QiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFJOUIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFFNUQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFRyxDQUFDO0lBRTNDLFFBQVE7UUFDSixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxNQUFNLE1BQU0sR0FBRztZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMscUJBQXFCO1NBQ3hDLENBQUM7UUFFRix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQzthQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OzBIQTdCUSw2QkFBNkI7OEdBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ3JDO2lHQUVZLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBmcm9tSW50ZXJzZWN0aW9uT2JzZXJ2ZXIsIEludGVyc2VjdGlvblN0YXR1cyB9IGZyb20gJy4uL2Zyb20taW50ZXJzZWN0aW9uLW9ic2VydmVyJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaW50ZXJzZWN0aW9uT2JzZXJ2ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcnNlY3Rpb25PYnNlcnZlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBpbnRlcnNlY3Rpb25EZWJvdW5jZSA9IDA7XG4gICAgQElucHV0KCkgaW50ZXJzZWN0aW9uUm9vdE1hcmdpbiA9ICcwcHgnO1xuICAgIEBJbnB1dCgpIGludGVyc2VjdGlvblJvb3Q6IEhUTUxFbGVtZW50O1xuICAgIEBJbnB1dCgpIGludGVyc2VjdGlvblRocmVzaG9sZDogbnVtYmVyIHwgbnVtYmVyW107XG5cbiAgICBAT3V0cHV0KCkgdmlzaWJpbGl0eUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SW50ZXJzZWN0aW9uU3RhdHVzPigpO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgICAgICByb290OiB0aGlzLmludGVyc2VjdGlvblJvb3QsXG4gICAgICAgICAgICByb290TWFyZ2luOiB0aGlzLmludGVyc2VjdGlvblJvb3RNYXJnaW4sXG4gICAgICAgICAgICB0aHJlc2hvbGQ6IHRoaXMuaW50ZXJzZWN0aW9uVGhyZXNob2xkXG4gICAgICAgIH07XG5cbiAgICAgICAgZnJvbUludGVyc2VjdGlvbk9ic2VydmVyKGVsZW1lbnQsIGNvbmZpZywgdGhpcy5pbnRlcnNlY3Rpb25EZWJvdW5jZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eUNoYW5nZS5lbWl0KHN0YXR1cyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,59 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BaseDirective } from './base.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class ItemsRendererDirective extends BaseDirective {
5
+ constructor(el) {
6
+ super();
7
+ this.el = el;
8
+ this.itemClick = new EventEmitter();
9
+ this.handleClick = false;
10
+ }
11
+ ngOnInit() {
12
+ super.ngOnInit();
13
+ const context = this.itemsRenderer.context;
14
+ const { itemSelector } = this.itemsRenderer;
15
+ const fragmentDoc = document.createDocumentFragment();
16
+ if (!this.moDataList) {
17
+ this.moDataList = this.itemsRenderer.moDataList;
18
+ }
19
+ this.moDataList.forEach((mo, index) => {
20
+ const itemComponentElement = document.createElement(itemSelector);
21
+ itemComponentElement.addEventListener('itemClick', (e) => {
22
+ if (this.handleClick) {
23
+ this.itemClick.emit(e.detail);
24
+ }
25
+ else {
26
+ mo.$IsChecked = true;
27
+ context?.fireEvent('rowdblclick', context, index, mo);
28
+ }
29
+ });
30
+ itemComponentElement.context = context;
31
+ itemComponentElement.mo = mo;
32
+ itemComponentElement.index = index;
33
+ itemComponentElement.classNames = this.itemClass;
34
+ itemComponentElement.allColumns = this.itemsRenderer.allColumns;
35
+ fragmentDoc.appendChild(itemComponentElement);
36
+ });
37
+ this.el.nativeElement.appendChild(fragmentDoc);
38
+ this._fragmentDoc = fragmentDoc;
39
+ }
40
+ }
41
+ ItemsRendererDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ItemsRendererDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
42
+ ItemsRendererDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ItemsRendererDirective, selector: "[itemsRenderer]", inputs: { itemsRenderer: "itemsRenderer", moDataList: "moDataList", itemClass: "itemClass", handleClick: "handleClick" }, outputs: { itemClick: "itemClick" }, usesInheritance: true, ngImport: i0 });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ItemsRendererDirective, decorators: [{
44
+ type: Directive,
45
+ args: [{
46
+ selector: '[itemsRenderer]'
47
+ }]
48
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { itemsRenderer: [{
49
+ type: Input
50
+ }], moDataList: [{
51
+ type: Input
52
+ }], itemClass: [{
53
+ type: Input
54
+ }], itemClick: [{
55
+ type: Output
56
+ }], handleClick: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtcmVuZGVyZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2l0ZW1zLXJlbmRlcmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGFBQWE7SUFPckQsWUFBbUIsRUFBYztRQUM3QixLQUFLLEVBQUUsQ0FBQztRQURPLE9BQUUsR0FBRixFQUFFLENBQVk7UUFIdkIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFJN0IsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDM0MsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDNUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztTQUNuRDtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2xDLE1BQU0sb0JBQW9CLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNsRSxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2pDO3FCQUFNO29CQUNILEVBQUUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO29CQUNyQixPQUFPLEVBQUUsU0FBUyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUN6RDtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsb0JBQW9CLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QyxvQkFBb0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQzdCLG9CQUFvQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkMsb0JBQW9CLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDakQsb0JBQW9CLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQ2hFLFdBQVcsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDOzttSEF0Q1Esc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM5QjtpR0FFWSxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNFLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscyc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2l0ZW1zUmVuZGVyZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBJdGVtc1JlbmRlcmVyRGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgaXRlbXNSZW5kZXJlcjogYW55O1xuICAgIEBJbnB1dCgpIG1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBASW5wdXQoKSBpdGVtQ2xhc3M6IHN0cmluZztcbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBJbnB1dCgpIGhhbmRsZUNsaWNrID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfZnJhZ21lbnREb2M6IERvY3VtZW50RnJhZ21lbnQ7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5pdGVtc1JlbmRlcmVyLmNvbnRleHQ7XG4gICAgICAgIGNvbnN0IHsgaXRlbVNlbGVjdG9yIH0gPSB0aGlzLml0ZW1zUmVuZGVyZXI7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50RG9jID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICBpZiAoIXRoaXMubW9EYXRhTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5tb0RhdGFMaXN0ID0gdGhpcy5pdGVtc1JlbmRlcmVyLm1vRGF0YUxpc3Q7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vRGF0YUxpc3QuZm9yRWFjaCgobW8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVtQ29tcG9uZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXRlbVNlbGVjdG9yKTtcbiAgICAgICAgICAgIGl0ZW1Db21wb25lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2l0ZW1DbGljaycsIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFuZGxlQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChlLmRldGFpbCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbW8uJElzQ2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ/LmZpcmVFdmVudCgncm93ZGJsY2xpY2snLCBjb250ZXh0LCBpbmRleCwgbW8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaXRlbUNvbXBvbmVudEVsZW1lbnQuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgICAgICAgICBpdGVtQ29tcG9uZW50RWxlbWVudC5tbyA9IG1vO1xuICAgICAgICAgICAgaXRlbUNvbXBvbmVudEVsZW1lbnQuaW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIGl0ZW1Db21wb25lbnRFbGVtZW50LmNsYXNzTmFtZXMgPSB0aGlzLml0ZW1DbGFzcztcbiAgICAgICAgICAgIGl0ZW1Db21wb25lbnRFbGVtZW50LmFsbENvbHVtbnMgPSB0aGlzLml0ZW1zUmVuZGVyZXIuYWxsQ29sdW1ucztcbiAgICAgICAgICAgIGZyYWdtZW50RG9jLmFwcGVuZENoaWxkKGl0ZW1Db21wb25lbnRFbGVtZW50KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChmcmFnbWVudERvYyk7XG4gICAgICAgIHRoaXMuX2ZyYWdtZW50RG9jID0gZnJhZ21lbnREb2M7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NumbersOnlyInputDirective {
4
+ constructor(elRef) {
5
+ this.elRef = elRef;
6
+ }
7
+ onInputChange(event) {
8
+ const initalValue = this.elRef.nativeElement.value;
9
+ this.elRef.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');
10
+ if (initalValue !== this.elRef.nativeElement.value) {
11
+ event.stopPropagation();
12
+ }
13
+ }
14
+ }
15
+ NumbersOnlyInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumbersOnlyInputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
16
+ NumbersOnlyInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: NumbersOnlyInputDirective, selector: "input[type=number], input[numbersOnly]", host: { listeners: { "input": "onInputChange($event)" } }, ngImport: i0 });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumbersOnlyInputDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: 'input[type=number], input[numbersOnly]'
21
+ }]
22
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onInputChange: [{
23
+ type: HostListener,
24
+ args: ['input', ['$event']]
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy1vbmx5LWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9udW1iZXJzLW9ubHktaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtwRSxNQUFNLE9BQU8seUJBQXlCO0lBQ2xDLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFBRyxDQUFDO0lBRU4sYUFBYSxDQUFDLEtBQUs7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDaEQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQzs7c0hBVFEseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0NBQXdDO2lCQUNyRDtpR0FJc0MsYUFBYTtzQkFBL0MsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R5cGU9bnVtYmVyXSwgaW5wdXRbbnVtYmVyc09ubHldJ1xufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJzT25seUlucHV0RGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKSBvbklucHV0Q2hhbmdlKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluaXRhbFZhbHVlID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBpbml0YWxWYWx1ZS5yZXBsYWNlKC9bXjAtOV0qL2csICcnKTtcbiAgICAgICAgaWYgKGluaXRhbFZhbHVlICE9PSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PlaceHolderDirective {
4
+ }
5
+ PlaceHolderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PlaceHolderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ PlaceHolderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: PlaceHolderDirective, selector: "[placeHolder]", inputs: { placeHolder: "placeHolder" }, ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PlaceHolderDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[placeHolder]'
11
+ }]
12
+ }], propDecorators: { placeHolder: [{
13
+ type: Input
14
+ }] } });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2VIb2xkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL3BsYWNlSG9sZGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7aUJBQzVCOzhCQUVZLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BsYWNlSG9sZGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VIb2xkZXJEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIHBsYWNlSG9sZGVyOiBzdHJpbmc7XG59XG4iXX0=