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
package/README.md ADDED
@@ -0,0 +1,25 @@
1
+ # BarsaNovinRayCore
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.6.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project BarsaNovinRayCore` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project BarsaNovinRayCore`.
8
+
9
+ > Note: Don't forget to add `--project BarsaNovinRayCore` or else it will be added to the default project in your `angular.json` file.
10
+
11
+ ## Build
12
+
13
+ Run `ng build BarsaNovinRayCore` to build the project. The build artifacts will be stored in the `dist/` directory.
14
+
15
+ ## Publishing
16
+
17
+ After building your library with `ng build BarsaNovinRayCore`, go to the dist folder `cd dist/barsa-novin-ray-core` and run `npm publish`.
18
+
19
+ ## Running unit tests
20
+
21
+ Run `ng test BarsaNovinRayCore` to execute the unit tests via [Karma](https://karma-runner.github.io).
22
+
23
+ ## Further help
24
+
25
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etbm92aW4tcmF5LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvYmFyc2Etbm92aW4tcmF5LWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Input, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { BaseComponent } from '../base.component';
3
+ import * as i0 from "@angular/core";
4
+ export class ApplicationBaseComponent extends BaseComponent {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.systemList = [];
8
+ }
9
+ }
10
+ ApplicationBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ApplicationBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
11
+ ApplicationBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ApplicationBaseComponent, selector: "bnrc-application-base", inputs: { context: "context", selectedSystemId: "selectedSystemId" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ApplicationBaseComponent, decorators: [{
13
+ type: Component,
14
+ args: [{
15
+ selector: 'bnrc-application-base',
16
+ template: '',
17
+ changeDetection: ChangeDetectionStrategy.OnPush
18
+ }]
19
+ }], propDecorators: { context: [{
20
+ type: Input
21
+ }], selectedSystemId: [{
22
+ type: Input
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9hcHBsaWNhdGlvbi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUE4Q2xELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBTDNEOztRQWNJLGVBQVUsR0FBVSxFQUFFLENBQUM7S0FDMUI7O3FIQVZZLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDBKQUh2QixFQUFFOzJGQUdILHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBS1ksT0FBTztzQkFBZixLQUFLO2dCQUlHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3lzdGVtU2V0dGluZyB9IGZyb20gJy4vc3lzdGVtLWJhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uU2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIENvbm5lY3Rpb25JbmZvOiBzdHJpbmc7XG4gICAgQWxsb3dNYW5hZ2VtZW50V2luZG93OiBib29sZWFuO1xuICAgIERlZmF1bHRTeXN0ZW1JZDogc3RyaW5nO1xuICAgIEVuYWJsZUNvbXBhY3RBcnJheTogYm9vbGVhbjtcbiAgICBFbmFibGVOb3RpZmljYXRpb246IGJvb2xlYW47XG4gICAgRW5hYmxlU2Nhbm5lcjogYm9vbGVhbjtcbiAgICBGb3JjZUZvcm1IZWxwQnV0dG9uOiBib29sZWFuO1xuICAgIEhpZGVEZWxldGVJbkZvcm1zOiBib29sZWFuO1xuICAgIEhpZGVUaGVtZUJ1dHRvbjogYm9vbGVhbjtcbiAgICBJc0FkbWluOiBib29sZWFuO1xuICAgIElzSW5pdGlhbGl6aW5nOiBib29sZWFuO1xuICAgIElzT25BY3Rpdml0eURpcmVjdG9yeTogYm9vbGVhbjtcbiAgICBJc1VzZXI6IGJvb2xlYW47XG4gICAgTWF4RXhjZWxFeHBvcnRSb3dzOiBudW1iZXI7XG4gICAgTmV3RGF0ZUZpeDogYm9vbGVhbjtcbiAgICBOb0xvZ291dDogYm9vbGVhbjtcbiAgICBTY2FubmVyQWdlbnRWYWxpZFZlcnNpb246IHN0cmluZztcbiAgICBTZWN1cml0eVR5cGU6IHN0cmluZztcbiAgICBTaG93RGVidWdUb29sYmFyOiBib29sZWFuO1xuICAgIFNob3dOZXh0UHJpdmlvdXM6IGJvb2xlYW47XG4gICAgU3lzdGVtRGljdDogeyBba2V5OiBzdHJpbmddOiBTeXN0ZW1TZXR0aW5nIH07XG4gICAgVmVyc2lvbjogc3RyaW5nO1xuICAgIFZlcnNpb25TcGw6IHN0cmluZztcbiAgICBVc2VyOiB7XG4gICAgICAgIERpc3BhbHlOYW1lOiBzdHJpbmc7XG4gICAgICAgIElkOiBzdHJpbmc7XG4gICAgICAgIE5hbWU6IHN0cmluZztcbiAgICB9O1xuICAgIFdlYkNvbmZpZzoge1xuICAgICAgICBXb3JrZmxvdzoge1xuICAgICAgICAgICAgU2hvd0luZm9CYXI6IHRydWU7XG4gICAgICAgICAgICBTaG93VG9vbGJhcjogdHJ1ZTtcbiAgICAgICAgICAgIFNob3dVc2VyTXNnOiB0cnVlO1xuICAgICAgICB9O1xuICAgIH07XG59XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtYXBwbGljYXRpb24tYmFzZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uQmFzZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIC8vIEBWaWV3Q2hpbGRyZW4oUGxhY2VIb2xkZXJEaXJlY3RpdmUpIHBsYWNlSG9sZGVyc1JlZjogUXVlcnlMaXN0PFxuICAgIC8vICAgUGxhY2VIb2xkZXJEaXJlY3RpdmVcbiAgICAvLyA+O1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBTZXR0aW5nOiBBcHBsaWNhdGlvblNldHRpbmc7XG4gICAgfTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZFN5c3RlbUlkOiBzdHJpbmc7XG4gICAgc3lzdGVtTGlzdDogYW55W10gPSBbXTtcbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ export class BarsaApi {
2
+ static get GanttChartHelper() {
3
+ return GanttChartHelper;
4
+ }
5
+ static get Ext() {
6
+ return Ext;
7
+ }
8
+ static get Common() {
9
+ return Common;
10
+ }
11
+ static get Util() {
12
+ return Util;
13
+ }
14
+ static get Ul() {
15
+ return Ul;
16
+ }
17
+ static get Ui() {
18
+ return Ui;
19
+ }
20
+ static get Bw() {
21
+ return Bw;
22
+ }
23
+ static get BBB() {
24
+ return BBB;
25
+ }
26
+ static get LoginForm() {
27
+ return LoginForm;
28
+ }
29
+ static get LoginAction() {
30
+ return LoginAction;
31
+ }
32
+ static get LoginFormUi() {
33
+ return LoginFormUi;
34
+ }
35
+ static get LoginFormData() {
36
+ return LoginFormData;
37
+ }
38
+ }
39
+ BarsaApi.idGenerator = -10000;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2JhcnNhLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLE9BQU8sUUFBUTtJQUVqQixNQUFNLEtBQUssZ0JBQWdCO1FBQ3ZCLE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHO1FBQ1YsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxLQUFLLE1BQU07UUFDYixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsTUFBTSxLQUFLLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxLQUFLLEVBQUU7UUFDVCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLEtBQUssRUFBRTtRQUNULE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sS0FBSyxFQUFFO1FBQ1QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDVixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLEtBQUssU0FBUztRQUNoQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsTUFBTSxLQUFLLFdBQVc7UUFDbEIsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQztJQUNELE1BQU0sS0FBSyxXQUFXO1FBQ2xCLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxNQUFNLEtBQUssYUFBYTtRQUNwQixPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDOztBQXBDTSxvQkFBVyxHQUFHLENBQUMsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgY29uc3QgQ29tbW9uOiBhbnk7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBVbDogYW55O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVWk6IGFueTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFV0aWw6IGFueTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEJ3OiBhbnk7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBCQkI6IGFueTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IExvZ2luQWN0aW9uOiBhbnk7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBVbHZNYWluQ3RybDogYW55O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgTG9naW5Gb3JtVWk6IGFueTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IExvZ2luRm9ybURhdGE6IGFueTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IExvZ2luRm9ybTogYW55O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgRXh0OiBhbnk7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBHYW50dENoYXJ0SGVscGVyOiBhbnk7XG5leHBvcnQgY2xhc3MgQmFyc2FBcGkge1xuICAgIHN0YXRpYyBpZEdlbmVyYXRvciA9IC0xMDAwMDtcbiAgICBzdGF0aWMgZ2V0IEdhbnR0Q2hhcnRIZWxwZXIoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIEdhbnR0Q2hhcnRIZWxwZXI7XG4gICAgfVxuICAgIHN0YXRpYyBnZXQgRXh0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiBFeHQ7XG4gICAgfVxuICAgIHN0YXRpYyBnZXQgQ29tbW9uKCk6IGFueSB7XG4gICAgICAgIHJldHVybiBDb21tb247XG4gICAgfVxuICAgIHN0YXRpYyBnZXQgVXRpbCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gVXRpbDtcbiAgICB9XG4gICAgc3RhdGljIGdldCBVbCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gVWw7XG4gICAgfVxuICAgIHN0YXRpYyBnZXQgVWkoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIFVpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0IEJ3KCk6IGFueSB7XG4gICAgICAgIHJldHVybiBCdztcbiAgICB9XG4gICAgc3RhdGljIGdldCBCQkIoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIEJCQjtcbiAgICB9XG4gICAgc3RhdGljIGdldCBMb2dpbkZvcm0oKTogYW55IHtcbiAgICAgICAgcmV0dXJuIExvZ2luRm9ybTtcbiAgICB9XG4gICAgc3RhdGljIGdldCBMb2dpbkFjdGlvbigpOiBhbnkge1xuICAgICAgICByZXR1cm4gTG9naW5BY3Rpb247XG4gICAgfVxuICAgIHN0YXRpYyBnZXQgTG9naW5Gb3JtVWkoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIExvZ2luRm9ybVVpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0IExvZ2luRm9ybURhdGEoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIExvZ2luRm9ybURhdGE7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,167 @@
1
+ import { Input, Output, EventEmitter, Component, ChangeDetectionStrategy, Self, Optional, Inject } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
3
+ import { distinctUntilChanged, map, takeUntil } from 'rxjs/operators';
4
+ import { DIALOG_SERVICE } from '../../public-api';
5
+ import { BaseComponent } from '../base.component';
6
+ import { BarsaApi } from './barsa-api';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../services";
9
+ import * as i2 from "../pipes";
10
+ import * as i3 from "@angular/router";
11
+ import * as i4 from "@angular/platform-browser";
12
+ import * as i5 from "../date-services";
13
+ export class FieldBaseComponent extends BaseComponent {
14
+ constructor(_portalService, _bbbPipe, _picFieldSrc, _numeralPipe, _el, _cdr, _renderer2, _activatedRoute, _domSanitizer, _dialogService, _uploadService, _dateService) {
15
+ super();
16
+ this._portalService = _portalService;
17
+ this._bbbPipe = _bbbPipe;
18
+ this._picFieldSrc = _picFieldSrc;
19
+ this._numeralPipe = _numeralPipe;
20
+ this._el = _el;
21
+ this._cdr = _cdr;
22
+ this._renderer2 = _renderer2;
23
+ this._activatedRoute = _activatedRoute;
24
+ this._domSanitizer = _domSanitizer;
25
+ this._dialogService = _dialogService;
26
+ this._uploadService = _uploadService;
27
+ this._dateService = _dateService;
28
+ this.valueChange = new EventEmitter();
29
+ this.formmatedValue = new EventEmitter();
30
+ this._refreshSource = new Subject();
31
+ this._valueChangedSource = new Subject();
32
+ this._disableChangedSource = new BehaviorSubject(false);
33
+ this._readonlyChangedSource = new BehaviorSubject(false);
34
+ this.refresh$ = this._refreshSource.asObservable().pipe(takeUntil(this._onDestroy$));
35
+ this.value$ = this._valueChangedSource.asObservable().pipe(takeUntil(this._onDestroy$));
36
+ this.disable$ = this._disableChangedSource
37
+ .asObservable()
38
+ .pipe(takeUntil(this._onDestroy$), distinctUntilChanged());
39
+ this.readonly$ = this._readonlyChangedSource
40
+ .asObservable()
41
+ .pipe(takeUntil(this._onDestroy$), distinctUntilChanged());
42
+ this.disableOrReadonly$ = combineLatest([this.readonly$, this.disable$]).pipe(map(([disable, readonly]) => disable || readonly), distinctUntilChanged());
43
+ this.el = _el;
44
+ }
45
+ ngOnInit() {
46
+ super.ngOnInit();
47
+ if (this.context) {
48
+ this.Setting = this.context ? this.context.Setting : null;
49
+ const readonly = this.context?.readOnly;
50
+ this._setReadonly(readonly, false);
51
+ this._setDisable(this.context.disable, false);
52
+ this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.CustomUi.Parameters', null);
53
+ this.JsonExtraProp = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.JsonExtraProp', null);
54
+ }
55
+ this._addListener();
56
+ }
57
+ ngOnDestroy() {
58
+ super.ngOnDestroy();
59
+ this._removeListener();
60
+ }
61
+ ngAfterViewInit() {
62
+ super.ngAfterViewInit();
63
+ if (this.focusControl) {
64
+ const elDom = this._el.nativeElement;
65
+ const focusableNodeList = elDom.querySelectorAll(' button, [href], input, select, textarea, [tabindex]:not([tabindex=”-1″])');
66
+ let focused = false;
67
+ focusableNodeList.forEach((el) => {
68
+ const tagName = el.tagName.toLocaleLowerCase();
69
+ if (!focused &&
70
+ el.offsetWidth > 0 &&
71
+ el.offsetHeight > 0 &&
72
+ el.getAttribute('disabled') !== 'true' &&
73
+ el.getAttribute('ng-reflect-disabled') !== 'true' &&
74
+ !tagName.startsWith('fdp')) {
75
+ el.focus();
76
+ focused = true;
77
+ }
78
+ });
79
+ }
80
+ }
81
+ fireContextEvent(event, value, value1, value2) {
82
+ this.context.fireEvent(event, value, value1, value2);
83
+ }
84
+ _addListener() {
85
+ if (this.context && this.context.on) {
86
+ this.context.on({
87
+ ControlValueChanged: this._setValue.bind(this),
88
+ ControlDisableChanged: this._setDisable.bind(this),
89
+ ControlReadonlyChanged: this._setReadonly.bind(this),
90
+ ControlRefresh: this._setRefresh.bind(this)
91
+ });
92
+ }
93
+ }
94
+ _removeListener() {
95
+ if (this.context && this.context.un) {
96
+ this.context.un('ControlValueChanged', this._setValue);
97
+ this.context.un('ControlDisableChanged', this._setDisable);
98
+ this.context.un('ControlReadonlyChanged', this._setReadonly);
99
+ this.context.un('ControlRefresh', this._setRefresh);
100
+ }
101
+ }
102
+ _setValue(value) {
103
+ this.value = value;
104
+ this._valueChangedSource.next(value);
105
+ this._cdr.detectChanges();
106
+ }
107
+ _setRefresh(value) {
108
+ this._refreshSource.next(value);
109
+ this._cdr.detectChanges();
110
+ }
111
+ _setDisable(value, changeDetect = true) {
112
+ this._disableChangedSource.next(value);
113
+ if (changeDetect) {
114
+ this._cdr.detectChanges();
115
+ }
116
+ }
117
+ _setReadonly(value, changeDetect = true) {
118
+ this._readonlyChangedSource.next(value);
119
+ if (changeDetect) {
120
+ this._cdr.detectChanges();
121
+ }
122
+ }
123
+ }
124
+ FieldBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FieldBaseComponent, deps: [{ token: i1.PortalService }, { token: i2.BbbTranslatePipe }, { token: i2.PictureFieldSourcePipe }, { token: i2.NumeralPipe }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i3.ActivatedRoute }, { token: i4.DomSanitizer }, { token: DIALOG_SERVICE, optional: true }, { token: i1.UploadService, optional: true, self: true }, { token: i5.DateService, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
125
+ FieldBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FieldBaseComponent, selector: "bnrc-field-base", inputs: { context: "context", focusControl: "focusControl", layoutInfo: "layoutInfo", value: "value", width: "width", height: "height", inlineEdit: "inlineEdit", id: "id" }, outputs: { valueChange: "valueChange", formmatedValue: "formmatedValue" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FieldBaseComponent, decorators: [{
127
+ type: Component,
128
+ args: [{
129
+ selector: 'bnrc-field-base',
130
+ template: '',
131
+ changeDetection: ChangeDetectionStrategy.OnPush
132
+ }]
133
+ }], ctorParameters: function () { return [{ type: i1.PortalService }, { type: i2.BbbTranslatePipe }, { type: i2.PictureFieldSourcePipe }, { type: i2.NumeralPipe }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i3.ActivatedRoute }, { type: i4.DomSanitizer }, { type: undefined, decorators: [{
134
+ type: Optional
135
+ }, {
136
+ type: Inject,
137
+ args: [DIALOG_SERVICE]
138
+ }] }, { type: i1.UploadService, decorators: [{
139
+ type: Self
140
+ }, {
141
+ type: Optional
142
+ }] }, { type: i5.DateService, decorators: [{
143
+ type: Self
144
+ }, {
145
+ type: Optional
146
+ }] }]; }, propDecorators: { context: [{
147
+ type: Input
148
+ }], focusControl: [{
149
+ type: Input
150
+ }], layoutInfo: [{
151
+ type: Input
152
+ }], value: [{
153
+ type: Input
154
+ }], width: [{
155
+ type: Input
156
+ }], height: [{
157
+ type: Input
158
+ }], inlineEdit: [{
159
+ type: Input
160
+ }], id: [{
161
+ type: Input
162
+ }], valueChange: [{
163
+ type: Output
164
+ }], formmatedValue: [{
165
+ type: Output
166
+ }] } });
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9maWVsZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBTVQsdUJBQXVCLEVBRXZCLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQTZCdkMsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxhQUFhO0lBeUIxRCxZQUNjLGNBQTZCLEVBQzdCLFFBQTBCLEVBQzFCLFlBQW9DLEVBQ3BDLFlBQXlCLEVBQ3pCLEdBQWUsRUFDZixJQUF1QixFQUN2QixVQUFxQixFQUNyQixlQUErQixFQUMvQixhQUEyQixFQUNTLGNBQW1CLEVBQ25DLGNBQTZCLEVBQzdCLFlBQXlCO1FBRXZELEtBQUssRUFBRSxDQUFDO1FBYkUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQXdCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixTQUFJLEdBQUosSUFB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YztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDb21wb25lbnQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG4gICAgT3B0aW9uYWwsXG4gICAgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERJQUxPR19TRVJWSUNFIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gJy4uL2RhdGUtc2VydmljZXMnO1xuaW1wb3J0IHsgQmJiVHJhbnNsYXRlUGlwZSwgTnVtZXJhbFBpcGUsIFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUgfSBmcm9tICcuLi9waXBlcyc7XG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlLCBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XG5pbXBvcnQgeyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBDb250cm9sRmllbGRDYXB0aW9uOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ6IHN0cmluZztcbiAgICBDb250cm9sRmllbGREZWZJZDogc3RyaW5nO1xuICAgIENvbnRyb2xOYW1lOiBzdHJpbmc7XG4gICAgUmVsYXRlZEZpZWxkTGlzdDogW107XG4gICAgSGlkZTogYm9vbGVhbjtcbiAgICB4dHlwZTogc3RyaW5nO1xuICAgIExhYmVsUG9zaXRpb246IHN0cmluZztcbiAgICBJc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgICBJc1Zpc2libGU6IGJvb2xlYW47XG4gICAgU2hvd0xhYmVsOiBib29sZWFuO1xuICAgIElzUmVhZE9ubHk6IGJvb2xlYW47XG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xuICAgIElzQm9sZDogYm9vbGVhbjtcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcbiAgICBKc29uRXh0cmFQcm9wOiBhbnkgfCBudWxsO1xuICAgIEZpZWxkSWNvbjogc3RyaW5nO1xuICAgIElzTHRyOiBib29sZWFuO1xufVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLWZpZWxkLWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWVsZEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcbiAgICBASW5wdXQoKSBmb2N1c0NvbnRyb2w6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogYW55O1xuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gICAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGZvcm1tYXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgSnNvbkV4dHJhUHJvcDogYW55O1xuICAgIHBhcmFtZXRlcnM6IGFueTtcbiAgICBTZXR0aW5nOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbDtcbiAgICByZWZyZXNoJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHZhbHVlJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGRpc2FibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHJlYWRvbmx5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBkaXNhYmxlT3JSZWFkb25seSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZWw6IGFueTtcbiAgICBwcml2YXRlIF9yZWZyZXNoU291cmNlID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICAgIHByaXZhdGUgX3ZhbHVlQ2hhbmdlZFNvdXJjZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBwcml2YXRlIF9kaXNhYmxlQ2hhbmdlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX3JlYWRvbmx5Q2hhbmdlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9iYmJQaXBlOiBCYmJUcmFuc2xhdGVQaXBlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BpY0ZpZWxkU3JjOiBQaWN0dXJlRmllbGRTb3VyY2VQaXBlLFxuICAgICAgICBwcm90ZWN0ZWQgX251bWVyYWxQaXBlOiBOdW1lcmFsUGlwZSxcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJvdGVjdGVkIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfU0VSVklDRSkgcHJvdGVjdGVkIF9kaWFsb2dTZXJ2aWNlOiBhbnksXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfZGF0ZVNlcnZpY2U6IERhdGVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMucmVmcmVzaCQgPSB0aGlzLl9yZWZyZXNoU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcbiAgICAgICAgdGhpcy52YWx1ZSQgPSB0aGlzLl92YWx1ZUNoYW5nZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLmRpc2FibGUkID0gdGhpcy5fZGlzYWJsZUNoYW5nZWRTb3VyY2VcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5yZWFkb25seSQgPSB0aGlzLl9yZWFkb25seUNoYW5nZWRTb3VyY2VcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlT3JSZWFkb25seSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlYWRvbmx5JCwgdGhpcy5kaXNhYmxlJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtkaXNhYmxlLCByZWFkb25seV0pID0+IGRpc2FibGUgfHwgcmVhZG9ubHkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmVsID0gX2VsO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLlNldHRpbmcgPSB0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQuU2V0dGluZyA6IG51bGw7XG4gICAgICAgICAgICBjb25zdCByZWFkb25seSA9IHRoaXMuY29udGV4dD8ucmVhZE9ubHk7XG4gICAgICAgICAgICB0aGlzLl9zZXRSZWFkb25seShyZWFkb25seSwgZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5fc2V0RGlzYWJsZSh0aGlzLmNvbnRleHQuZGlzYWJsZSwgZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XG4gICAgICAgICAgICB0aGlzLkpzb25FeHRyYVByb3AgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkpzb25FeHRyYVByb3AnLCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hZGRMaXN0ZW5lcigpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5fcmVtb3ZlTGlzdGVuZXIoKTtcbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNDb250cm9sKSB7XG4gICAgICAgICAgICBjb25zdCBlbERvbSA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGVOb2RlTGlzdDogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4gPSBlbERvbS5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICAgICAgICcgYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg94oCdLTHigLNdKSdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBsZXQgZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgZm9jdXNhYmxlTm9kZUxpc3QuZm9yRWFjaCgoZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFnTmFtZTogc3RyaW5nID0gZWwudGFnTmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgIWZvY3VzZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgZWwub2Zmc2V0V2lkdGggPiAwICYmXG4gICAgICAgICAgICAgICAgICAgIGVsLm9mZnNldEhlaWdodCA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgZWwuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpICE9PSAndHJ1ZScgJiZcbiAgICAgICAgICAgICAgICAgICAgZWwuZ2V0QXR0cmlidXRlKCduZy1yZWZsZWN0LWRpc2FibGVkJykgIT09ICd0cnVlJyAmJlxuICAgICAgICAgICAgICAgICAgICAhdGFnTmFtZS5zdGFydHNXaXRoKCdmZHAnKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBlbC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICBmb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpcmVDb250ZXh0RXZlbnQoZXZlbnQ6IHN0cmluZywgdmFsdWU6IGFueSwgdmFsdWUxPzogYW55LCB2YWx1ZTI/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudChldmVudCwgdmFsdWUsIHZhbHVlMSwgdmFsdWUyKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9hZGRMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQub24pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5vbih7XG4gICAgICAgICAgICAgICAgQ29udHJvbFZhbHVlQ2hhbmdlZDogdGhpcy5fc2V0VmFsdWUuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBDb250cm9sRGlzYWJsZUNoYW5nZWQ6IHRoaXMuX3NldERpc2FibGUuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBDb250cm9sUmVhZG9ubHlDaGFuZ2VkOiB0aGlzLl9zZXRSZWFkb25seS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIENvbnRyb2xSZWZyZXNoOiB0aGlzLl9zZXRSZWZyZXNoLmJpbmQodGhpcylcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcmVtb3ZlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0LnVuKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xWYWx1ZUNoYW5nZWQnLCB0aGlzLl9zZXRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xEaXNhYmxlQ2hhbmdlZCcsIHRoaXMuX3NldERpc2FibGUpO1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sUmVhZG9ubHlDaGFuZ2VkJywgdGhpcy5fc2V0UmVhZG9ubHkpO1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sUmVmcmVzaCcsIHRoaXMuX3NldFJlZnJlc2gpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl92YWx1ZUNoYW5nZWRTb3VyY2UubmV4dCh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0UmVmcmVzaCh2YWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWZyZXNoU291cmNlLm5leHQodmFsdWUpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldERpc2FibGUodmFsdWUsIGNoYW5nZURldGVjdCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZUNoYW5nZWRTb3VyY2UubmV4dCh2YWx1ZSk7XG4gICAgICAgIGlmIChjaGFuZ2VEZXRlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRSZWFkb25seSh2YWx1ZSwgY2hhbmdlRGV0ZWN0ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWFkb25seUNoYW5nZWRTb3VyY2UubmV4dCh2YWx1ZSk7XG4gICAgICAgIGlmIChjaGFuZ2VEZXRlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,71 @@
1
+ import { of, throwError } from 'rxjs';
2
+ import { concatMap, map, mergeMap, takeUntil, toArray } from 'rxjs/operators';
3
+ import { BaseComponent } from '../base.component';
4
+ import { formatBytes } from '../constants';
5
+ import { BarsaApi } from './barsa-api';
6
+ export class FilesValidationHelper extends BaseComponent {
7
+ constructor(maxFileCount, maxFileSizeKb, maxTotalFileSizeKb, bbbPipe) {
8
+ super();
9
+ this.bbbPipe = bbbPipe;
10
+ this.maxFileCount = Number(maxFileCount);
11
+ if (maxTotalFileSizeKb) {
12
+ this.maxTotalFileSize = Number(maxTotalFileSizeKb);
13
+ if (this.maxTotalFileSize > 0) {
14
+ this.maxTotalFileSize *= 1024;
15
+ }
16
+ }
17
+ if (maxFileSizeKb) {
18
+ this.maxFileSize = Number(maxFileSizeKb);
19
+ if (this.maxFileSize > 0) {
20
+ this.maxFileSize *= 1024;
21
+ }
22
+ }
23
+ }
24
+ validateFiles(validateFiles) {
25
+ return of(validateFiles).pipe(takeUntil(this._onDestroy$), map((files) => files), concatMap((files) => this._validateTotalSize(files)), concatMap((files) => this.filesCountError(files)), mergeMap((files) => files), concatMap((file) => this._validateSize(file)), toArray(), map((files) => files.filter((c) => !c.error).map((c) => c.file)), map((files) => this._validateMaxPictureCount(files)));
26
+ }
27
+ filesCountError(files) {
28
+ if (files.length > 0) {
29
+ return of(files);
30
+ }
31
+ return throwError('files count is 0');
32
+ }
33
+ _validateTotalSize(files) {
34
+ return new Promise((resolve) => {
35
+ const totalFileSize = files.reduce((accumulator, currFile) => accumulator + currFile.size, 0);
36
+ const uplaodTotalSizeTooBigText = this.bbbPipe?.transform('Uplaod_TotalSizeTooBig');
37
+ if (this.maxTotalFileSize > 0 && totalFileSize > this.maxTotalFileSize) {
38
+ const invalidFileSize = uplaodTotalSizeTooBigText
39
+ ?.replace('{{{filesize}}}', formatBytes(totalFileSize, 2, 'MB'))
40
+ .replace('{{maxFilesize}}', formatBytes(this.maxTotalFileSize, 2, 'MB'));
41
+ BarsaApi.Ul.MsgBox.Error(invalidFileSize, () => {
42
+ resolve([]);
43
+ });
44
+ }
45
+ else {
46
+ resolve(files);
47
+ }
48
+ });
49
+ }
50
+ _validateSize(file) {
51
+ return new Promise((resolve, reject) => {
52
+ const uplaodFileTooBigText = this.bbbPipe?.transform('Uplaod_FileTooBig');
53
+ if (this.maxFileSize > 0 && file.size > this.maxFileSize) {
54
+ const invalidFileSize = uplaodFileTooBigText
55
+ ?.replace('{{{filesize}}}', formatBytes(file.size, 2, 'MB'))
56
+ .replace('{{maxFilesize}}', formatBytes(this.maxFileSize, 2, 'MB'));
57
+ BarsaApi.Ul.MsgBox.Error(invalidFileSize, () => {
58
+ resolve({ file, error: invalidFileSize });
59
+ });
60
+ }
61
+ else {
62
+ resolve({ file });
63
+ }
64
+ reject();
65
+ });
66
+ }
67
+ _validateMaxPictureCount(files) {
68
+ return this.maxFileCount ? files.slice(0, this.maxFileCount) : files;
69
+ }
70
+ }
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdmFsaWRhdGlvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvZmlsZXMtdmFsaWRhdGlvbi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3ZDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBS3BELFlBQ0ksWUFBb0IsRUFDcEIsYUFBcUIsRUFDckIsa0JBQTBCLEVBQ2xCLE9BQTBCO1FBRWxDLEtBQUssRUFBRSxDQUFDO1FBRkEsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFHbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekMsSUFBSSxrQkFBa0IsRUFBRTtZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDbkQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxFQUFFO2dCQUMzQixJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDO2FBQ2pDO1NBQ0o7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLElBQUksSUFBSSxD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RUFBRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMxRSxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDdEQsTUFBTSxlQUFlLEdBQUcsb0JBQW9CO29CQUN4QyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7cUJBQzNELE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDeEUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7b0JBQzNDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztnQkFDOUMsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDSCxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ3JCO1lBQ0QsTUFBTSxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxLQUFhO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDekUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgbWFwLCBtZXJnZU1hcCwgdGFrZVVudGlsLCB0b0FycmF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IGZvcm1hdEJ5dGVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xuaW1wb3J0IHsgQmJiVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uL3BpcGVzL2JiYi10cmFuc2xhdGUucGlwZSc7XG5cbmV4cG9ydCBjbGFzcyBGaWxlc1ZhbGlkYXRpb25IZWxwZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBtYXhGaWxlQ291bnQ6IG51bWJlcjtcbiAgICBtYXhGaWxlU2l6ZTogbnVtYmVyO1xuICAgIG1heFRvdGFsRmlsZVNpemU6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBtYXhGaWxlQ291bnQ6IG51bWJlcixcbiAgICAgICAgbWF4RmlsZVNpemVLYjogbnVtYmVyLFxuICAgICAgICBtYXhUb3RhbEZpbGVTaXplS2I6IG51bWJlcixcbiAgICAgICAgcHJpdmF0ZSBiYmJQaXBlPzogQmJiVHJhbnNsYXRlUGlwZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm1heEZpbGVDb3VudCA9IE51bWJlcihtYXhGaWxlQ291bnQpO1xuICAgICAgICBpZiAobWF4VG90YWxGaWxlU2l6ZUtiKSB7XG4gICAgICAgICAgICB0aGlzLm1heFRvdGFsRmlsZVNpemUgPSBOdW1iZXIobWF4VG90YWxGaWxlU2l6ZUtiKTtcbiAgICAgICAgICAgIGlmICh0aGlzLm1heFRvdGFsRmlsZVNpemUgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXhUb3RhbEZpbGVTaXplICo9IDEwMjQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1heEZpbGVTaXplS2IpIHtcbiAgICAgICAgICAgIHRoaXMubWF4RmlsZVNpemUgPSBOdW1iZXIobWF4RmlsZVNpemVLYik7XG4gICAgICAgICAgICBpZiAodGhpcy5tYXhGaWxlU2l6ZSA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1heEZpbGVTaXplICo9IDEwMjQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsaWRhdGVGaWxlcyh2YWxpZGF0ZUZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPEZpbGVbXT4ge1xuICAgICAgICByZXR1cm4gb2YodmFsaWRhdGVGaWxlcykucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgIG1hcCgoZmlsZXMpID0+IGZpbGVzKSxcbiAgICAgICAgICAgIGNvbmNhdE1hcCgoZmlsZXMpID0+IHRoaXMuX3ZhbGlkYXRlVG90YWxTaXplKGZpbGVzKSksXG4gICAgICAgICAgICBjb25jYXRNYXAoKGZpbGVzKSA9PiB0aGlzLmZpbGVzQ291bnRFcnJvcihmaWxlcykpLFxuICAgICAgICAgICAgbWVyZ2VNYXAoKGZpbGVzKSA9PiBmaWxlcyksXG4gICAgICAgICAgICBjb25jYXRNYXAoKGZpbGUpID0+IHRoaXMuX3ZhbGlkYXRlU2l6ZShmaWxlKSksXG4gICAgICAgICAgICB0b0FycmF5KCksXG4gICAgICAgICAgICBtYXAoKGZpbGVzKSA9PiBmaWxlcy5maWx0ZXIoKGMpID0+ICFjLmVycm9yKS5tYXAoKGMpID0+IGMuZmlsZSkpLFxuICAgICAgICAgICAgbWFwKChmaWxlcykgPT4gdGhpcy5fdmFsaWRhdGVNYXhQaWN0dXJlQ291bnQoZmlsZXMpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsZXNDb3VudEVycm9yKGZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPEZpbGVbXT4ge1xuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKGZpbGVzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignZmlsZXMgY291bnQgaXMgMCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbGlkYXRlVG90YWxTaXplKGZpbGVzOiBGaWxlW10pOiBQcm9taXNlPEZpbGVbXT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8RmlsZVtdPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdG90YWxGaWxlU2l6ZSA9IGZpbGVzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJGaWxlKSA9PiBhY2N1bXVsYXRvciArIGN1cnJGaWxlLnNpemUsIDApO1xuICAgICAgICAgICAgY29uc3QgdXBsYW9kVG90YWxTaXplVG9vQmlnVGV4dCA9IHRoaXMuYmJiUGlwZT8udHJhbnNmb3JtKCdVcGxhb2RfVG90YWxTaXplVG9vQmlnJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5tYXhUb3RhbEZpbGVTaXplID4gMCAmJiB0b3RhbEZpbGVTaXplID4gdGhpcy5tYXhUb3RhbEZpbGVTaXplKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW52YWxpZEZpbGVTaXplID0gdXBsYW9kVG90YWxTaXplVG9vQmlnVGV4dFxuICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoJ3t7e2ZpbGVzaXplfX19JywgZm9ybWF0Qnl0ZXModG90YWxGaWxlU2l6ZSwgMiwgJ01CJykpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCd7e21heEZpbGVzaXplfX0nLCBmb3JtYXRCeXRlcyh0aGlzLm1heFRvdGFsRmlsZVNpemUsIDIsICdNQicpKTtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5VbC5Nc2dCb3guRXJyb3IoaW52YWxpZEZpbGVTaXplLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoW10pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZpbGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmFsaWRhdGVTaXplKGZpbGU6IEZpbGUpOiBQcm9taXNlPHsgZmlsZTogRmlsZTsgZXJyb3I/OiBzdHJpbmcgfT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8eyBmaWxlOiBGaWxlOyBlcnJvcj86IHN0cmluZyB9PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1cGxhb2RGaWxlVG9vQmlnVGV4dCA9IHRoaXMuYmJiUGlwZT8udHJhbnNmb3JtKCdVcGxhb2RfRmlsZVRvb0JpZycpO1xuICAgICAgICAgICAgaWYgKHRoaXMubWF4RmlsZVNpemUgPiAwICYmIGZpbGUuc2l6ZSA+IHRoaXMubWF4RmlsZVNpemUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnZhbGlkRmlsZVNpemUgPSB1cGxhb2RGaWxlVG9vQmlnVGV4dFxuICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoJ3t7e2ZpbGVzaXplfX19JywgZm9ybWF0Qnl0ZXMoZmlsZS5zaXplLCAyLCAnTUInKSlcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJ3t7bWF4RmlsZXNpemV9fScsIGZvcm1hdEJ5dGVzKHRoaXMubWF4RmlsZVNpemUsIDIsICdNQicpKTtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5VbC5Nc2dCb3guRXJyb3IoaW52YWxpZEZpbGVTaXplLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoeyBmaWxlLCBlcnJvcjogaW52YWxpZEZpbGVTaXplIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHsgZmlsZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlamVjdCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGF0ZU1heFBpY3R1cmVDb3VudChmaWxlczogRmlsZVtdKTogRmlsZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4RmlsZUNvdW50ID8gZmlsZXMuc2xpY2UoMCwgdGhpcy5tYXhGaWxlQ291bnQpIDogZmlsZXM7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,101 @@
1
+ import { Input, Component, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import { filter, map, takeUntil, merge } from 'rxjs/operators';
3
+ import { BaseComponent } from '../base.component';
4
+ import { getDeviceIsMobile } from '../constants';
5
+ import { BarsaApi } from './barsa-api';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../services/form-panel.service";
8
+ export class FormBaseComponent extends BaseComponent {
9
+ constructor(_formPanelService) {
10
+ super();
11
+ this._formPanelService = _formPanelService;
12
+ this.formClose = new EventEmitter();
13
+ this._formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
14
+ this.isSearchPanel = isSearchPanel;
15
+ });
16
+ this.hideClose$ = this._formPanelService.hideClose$;
17
+ this.hideTitle$ = this._formPanelService.hideTitle$;
18
+ this.hidePin$ = this._formPanelService.hidePin$;
19
+ this.toolbarVisible$ = this._formPanelService.toolbarVisible$;
20
+ this.title$ = this._formPanelService.title$;
21
+ this.toolbarItems$ = this._formPanelService.toolbarItems$;
22
+ this.headerLayout$ = this._formPanelService.headerLayout$;
23
+ this.layout94$ = this._formPanelService.layout$;
24
+ this.maxContentWidth$ = this._formPanelService.maxContentWidth$;
25
+ this.formWidth$ = this._formPanelService.formWidth$;
26
+ this.headerSubtitle$ = this._formPanelService.headerSubtitle$;
27
+ this.avatar$ = this._formPanelService.avatar$;
28
+ this.workflowPanelUi$ = this._formPanelService.workflowPanelUi$;
29
+ this.view$ = this._formPanelService.view$;
30
+ this.mo$ = this._formPanelService.mo$;
31
+ this.fieldDict$ = this._formPanelService.fieldDict$;
32
+ this.isSimple$ = this._formPanelService.isSimpleForm$;
33
+ this.mask$ = this._formPanelService.mask$;
34
+ this.headerDescription$ = this._formPanelService.headerDescription$;
35
+ this.headerRemoveContentPadding$ = this._formPanelService.headerRemoveContentPadding$;
36
+ this._formPanelService.context$.pipe(takeUntil(this._onDestroy$)).subscribe();
37
+ this._formPanelService.view$.pipe(takeUntil(this._onDestroy$)).subscribe();
38
+ }
39
+ get forceClose$() {
40
+ return this._formPanelService.forceClose$;
41
+ }
42
+ ngOnInit() {
43
+ super.ngOnInit();
44
+ this._formPanelService.context = this.context;
45
+ this.isMobile = getDeviceIsMobile();
46
+ this.listFieldUi = this.context._dictFieldUi;
47
+ this.isModal = this.context.Setting?.IsModal;
48
+ this.isSubForm = this.context.IsSubForm;
49
+ this.isFormReport = this.context.IsFormReport;
50
+ this._setParamters();
51
+ this.modernTabs$ = this.layout94$.pipe(filter((c) => c), map((layout94) => (this.layout94 = layout94)),
52
+ /* eslint-disable */
53
+ merge(this._formPanelService.groupLayout$), map((_) => {
54
+ if (this.layout94.items[0].xtype !== 'Ly.LayoutTabPanel') {
55
+ return [];
56
+ }
57
+ const tabs = this.layout94.items[0].items;
58
+ return tabs.filter((c) => c.Visible !== false);
59
+ }));
60
+ }
61
+ ngOnDestroy() {
62
+ super.ngOnDestroy();
63
+ this._formPanelService.destroy();
64
+ }
65
+ onClose() {
66
+ this.context.fireEvent('RequestForClose', this.context);
67
+ }
68
+ onToolbarClick(btn) {
69
+ this._formPanelService.toolbarClick(btn);
70
+ }
71
+ onWorkflowChoiceClick(wfChoice) {
72
+ this._formPanelService.wfChoice(wfChoice);
73
+ }
74
+ fieldChange(fieldName, value) {
75
+ const fieldUi = this.context._listFieldUi.find((c) => c.Setting.ControlName === fieldName);
76
+ fieldUi.value = value;
77
+ fieldUi.fireEvent('change', fieldUi);
78
+ }
79
+ searchClick() {
80
+ const fieldUi = this.context._listFieldUi.find((c) => c.originalXtype === 'Ui.SearchCommandInfoUi');
81
+ fieldUi.fireEvent(BarsaApi.Ul.FormPanelCtrlr.EventEnum.SearchClick, fieldUi);
82
+ }
83
+ _setParamters() {
84
+ this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.View.CustomUi.Parameters', null);
85
+ }
86
+ }
87
+ FormBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormBaseComponent, deps: [{ token: i1.FormPanelService }], target: i0.ɵɵFactoryTarget.Component });
88
+ FormBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FormBaseComponent, selector: "bnrc-form-base", inputs: { context: "context" }, outputs: { formClose: "formClose" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormBaseComponent, decorators: [{
90
+ type: Component,
91
+ args: [{
92
+ selector: 'bnrc-form-base',
93
+ template: '',
94
+ changeDetection: ChangeDetectionStrategy.OnPush
95
+ }]
96
+ }], ctorParameters: function () { return [{ type: i1.FormPanelService }]; }, propDecorators: { context: [{
97
+ type: Input
98
+ }], formClose: [{
99
+ type: Output
100
+ }] } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQix1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFRdkMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7SUFzQ2hELFlBQXNCLGlCQUFtQztRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFoQy9DLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBa0NyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7UUFD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QUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzNGLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxXQUFXO1FBQ1AsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxLQUFLLHdCQUF3QixDQUFDLENBQUM7UUFFcEcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFDTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0csQ0FBQzs7OEdBdkhRLGlCQUFpQjtrR0FBakIsaUJBQWlCLGtKQUhoQixFQUFFOzJGQUdILGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7dUdBRVksT0FBTztzQkFBZixLQUFLO2dCQUtJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCBtZXJnZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IGdldERldmljZUlzTW9iaWxlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEZvcm1QYW5lbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLXBhbmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XG5pbXBvcnQgeyBGb3JtU2V0dGluZywgRm9ybVZpZXdTZXR0aW5nLCBJSGVhZGVyTGF5b3V0LCBMYXlvdXRTZXR0aW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtZm9ybS1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBjb25maWc6IGFueTtcbiAgICAgICAgU2V0dGluZzogRm9ybVNldHRpbmc7XG4gICAgfTtcbiAgICBAT3V0cHV0KCkgZm9ybUNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIGxpc3RGaWVsZFVpOiBhbnk7XG4gICAgaXNXaXphcmQ6IGJvb2xlYW47XG4gICAgcGFyYW1ldGVyczogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBpc01vYmlsZTogYm9vbGVhbjtcblxuICAgIHRvb2xiYXJWaXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoaWRlQ2xvc2UkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhpZGVUaXRsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGlkZVBpbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgdGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgdG9vbGJhckl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgaGVhZGVyTGF5b3V0JDogT2JzZXJ2YWJsZTxJSGVhZGVyTGF5b3V0IHwgbnVsbD47XG4gICAgbGF5b3V0OTQkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgbGF5b3V0OTQ6IGFueTtcbiAgICBtYXhDb250ZW50V2lkdGgkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgZm9ybVdpZHRoJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhlYWRlckRlc2NyaXB0aW9uJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoZWFkZXJTdWJ0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBhdmF0YXIkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgd29ya2Zsb3dQYW5lbFVpJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHZpZXckOiBPYnNlcnZhYmxlPEZvcm1WaWV3U2V0dGluZz47XG4gICAgbW8kOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsPjtcbiAgICBpc1NpbXBsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZmllbGREaWN0JDogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgdW5kZWZpbmVkPjtcbiAgICBtYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc1NlYXJjaFBhbmVsOiBib29sZWFuO1xuICAgIGlzTW9kYWw6IGJvb2xlYW47XG4gICAgaXNTdWJGb3JtOiBib29sZWFuO1xuICAgIG1vZGVyblRhYnMkOiBPYnNlcnZhYmxlPExheW91dFNldHRpbmdbXT47XG4gICAgaXNGb3JtUmVwb3J0OiBib29sZWFuO1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmlzU2VhcmNoUGFuZWwkLnN1YnNjcmliZSgoaXNTZWFyY2hQYW5lbCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1NlYXJjaFBhbmVsID0gaXNTZWFyY2hQYW5lbDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaGlkZUNsb3NlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGlkZUNsb3NlJDtcbiAgICAgICAgdGhpcy5oaWRlVGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oaWRlVGl0bGUkO1xuICAgICAgICB0aGlzLmhpZGVQaW4kID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oaWRlUGluJDtcbiAgICAgICAgdGhpcy50b29sYmFyVmlzaWJsZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnRvb2xiYXJWaXNpYmxlJDtcbiAgICAgICAgdGhpcy50aXRsZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnRpdGxlJDtcbiAgICAgICAgdGhpcy50b29sYmFySXRlbXMkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50b29sYmFySXRlbXMkO1xuICAgICAgICB0aGlzLmhlYWRlckxheW91dCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhlYWRlckxheW91dCQ7XG4gICAgICAgIHRoaXMubGF5b3V0OTQkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5sYXlvdXQkO1xuICAgICAgICB0aGlzLm1heENvbnRlbnRXaWR0aCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLm1heENvbnRlbnRXaWR0aCQ7XG4gICAgICAgIHRoaXMuZm9ybVdpZHRoJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuZm9ybVdpZHRoJDtcbiAgICAgICAgdGhpcy5oZWFkZXJTdWJ0aXRsZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhlYWRlclN1YnRpdGxlJDtcbiAgICAgICAgdGhpcy5hdmF0YXIkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5hdmF0YXIkO1xuICAgICAgICB0aGlzLndvcmtmbG93UGFuZWxVaSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLndvcmtmbG93UGFuZWxVaSQ7XG4gICAgICAgIHRoaXMudmlldyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnZpZXckO1xuICAgICAgICB0aGlzLm1vJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubW8kO1xuICAgICAgICB0aGlzLmZpZWxkRGljdCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZpZWxkRGljdCQ7XG4gICAgICAgIHRoaXMuaXNTaW1wbGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5pc1NpbXBsZUZvcm0kO1xuICAgICAgICB0aGlzLm1hc2skID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5tYXNrJDtcbiAgICAgICAgdGhpcy5oZWFkZXJEZXNjcmlwdGlvbiQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhlYWRlckRlc2NyaXB0aW9uJDtcbiAgICAgICAgdGhpcy5oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJDtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudmlldyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBnZXQgZm9yY2VDbG9zZSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZvcmNlQ2xvc2UkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmNvbnRleHQgPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICB0aGlzLmxpc3RGaWVsZFVpID0gdGhpcy5jb250ZXh0Ll9kaWN0RmllbGRVaTtcblxuICAgICAgICB0aGlzLmlzTW9kYWwgPSB0aGlzLmNvbnRleHQuU2V0dGluZz8uSXNNb2RhbDtcbiAgICAgICAgdGhpcy5pc1N1YkZvcm0gPSB0aGlzLmNvbnRleHQuSXNTdWJGb3JtO1xuICAgICAgICB0aGlzLmlzRm9ybVJlcG9ydCA9IHRoaXMuY29udGV4dC5Jc0Zvcm1SZXBvcnQ7XG4gICAgICAgIHRoaXMuX3NldFBhcmFtdGVycygpO1xuICAgICAgICB0aGlzLm1vZGVyblRhYnMkID0gdGhpcy5sYXlvdXQ5NCQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoYykgPT4gYyksXG4gICAgICAgICAgICBtYXAoKGxheW91dDk0KSA9PiAodGhpcy5sYXlvdXQ5NCA9IGxheW91dDk0KSksXG4gICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgICAgICAgICAgbWVyZ2UodGhpcy5fZm9ybVBhbmVsU2VydmljZS5ncm91cExheW91dCQpLFxuICAgICAgICAgICAgbWFwKChfKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0OTQuaXRlbXNbMF0ueHR5cGUgIT09ICdMeS5MYXlvdXRUYWJQYW5lbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB0YWJzOiBMYXlvdXRTZXR0aW5nW10gPSB0aGlzLmxheW91dDk0Lml0ZW1zWzBdLml0ZW1zO1xuICAgICAgICAgICAgICAgIHJldHVybiB0YWJzLmZpbHRlcigoYykgPT4gYy5WaXNpYmxlICE9PSBmYWxzZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5kZXN0cm95KCk7XG4gICAgfVxuICAgIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1JlcXVlc3RGb3JDbG9zZScsIHRoaXMuY29udGV4dCk7XG4gICAgfVxuICAgIG9uVG9vbGJhckNsaWNrKGJ0bik6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnRvb2xiYXJDbGljayhidG4pO1xuICAgIH1cbiAgICBvbldvcmtmbG93Q2hvaWNlQ2xpY2sod2ZDaG9pY2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS53ZkNob2ljZSh3ZkNob2ljZSk7XG4gICAgfVxuICAgIGZpZWxkQ2hhbmdlKGZpZWxkTmFtZSwgdmFsdWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGRVaSA9IHRoaXMuY29udGV4dC5fbGlzdEZpZWxkVWkuZmluZCgoYykgPT4gYy5TZXR0aW5nLkNvbnRyb2xOYW1lID09PSBmaWVsZE5hbWUpO1xuICAgICAgICBmaWVsZFVpLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIGZpZWxkVWkuZmlyZUV2ZW50KCdjaGFuZ2UnLCBmaWVsZFVpKTtcbiAgICB9XG4gICAgc2VhcmNoQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkVWkgPSB0aGlzLmNvbnRleHQuX2xpc3RGaWVsZFVpLmZpbmQoKGMpID0+IGMub3JpZ2luYWxYdHlwZSA9PT0gJ1VpLlNlYXJjaENvbW1hbmRJbmZvVWknKTtcblxuICAgICAgICBmaWVsZFVpLmZpcmVFdmVudChCYXJzYUFwaS5VbC5Gb3JtUGFuZWxDdHJsci5FdmVudEVudW0uU2VhcmNoQ2xpY2ssIGZpZWxkVWkpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXRQYXJhbXRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuVmlldy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,79 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { BaseComponent } from '../base.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../pipes";
5
+ import * as i2 from "../services";
6
+ import * as i3 from "@angular/platform-browser";
7
+ export class FormPropsBaseComponent extends BaseComponent {
8
+ constructor(_controlUiPipe, _formPanelService, _sanitizer, _cdr, _renderer2, _vcr, _factoryResolver) {
9
+ super();
10
+ this._controlUiPipe = _controlUiPipe;
11
+ this._formPanelService = _formPanelService;
12
+ this._sanitizer = _sanitizer;
13
+ this._cdr = _cdr;
14
+ this._renderer2 = _renderer2;
15
+ this._vcr = _vcr;
16
+ this._factoryResolver = _factoryResolver;
17
+ }
18
+ ngOnInit() {
19
+ // this.mo = this._formPanelService.mo;
20
+ super.ngOnInit();
21
+ }
22
+ }
23
+ FormPropsBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormPropsBaseComponent, deps: [{ token: i1.ControlUiPipe }, { token: i2.FormPanelService }, { token: i3.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
24
+ FormPropsBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FormPropsBaseComponent, selector: "bnrc-form-props-base", inputs: { breadCrumbs: "breadCrumbs", toolbarVisible: "toolbarVisible", toolbarItems: "toolbarItems", layoutActions: "layoutActions", layout94: "layout94", settings: "settings", workflowPanelUi: "workflowPanelUi", title: "title", subtitle: "subtitle", description: "description", facetList: "facetList", removeHeaderBorder: "removeHeaderBorder", removeContentPadding: "removeContentPadding", isMobile: "isMobile", avatar: "avatar", rtl: "rtl", mask: "mask", fieldDict: "fieldDict", contentDensity: "contentDensity", deviceSize: "deviceSize", dirValue: "dirValue", modernTabs: "modernTabs", mo: "mo" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormPropsBaseComponent, decorators: [{
26
+ type: Component,
27
+ args: [{
28
+ selector: 'bnrc-form-props-base',
29
+ template: '',
30
+ changeDetection: ChangeDetectionStrategy.OnPush
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i1.ControlUiPipe }, { type: i2.FormPanelService }, { type: i3.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { breadCrumbs: [{
33
+ type: Input
34
+ }], toolbarVisible: [{
35
+ type: Input
36
+ }], toolbarItems: [{
37
+ type: Input
38
+ }], layoutActions: [{
39
+ type: Input
40
+ }], layout94: [{
41
+ type: Input
42
+ }], settings: [{
43
+ type: Input
44
+ }], workflowPanelUi: [{
45
+ type: Input
46
+ }], title: [{
47
+ type: Input
48
+ }], subtitle: [{
49
+ type: Input
50
+ }], description: [{
51
+ type: Input
52
+ }], facetList: [{
53
+ type: Input
54
+ }], removeHeaderBorder: [{
55
+ type: Input
56
+ }], removeContentPadding: [{
57
+ type: Input
58
+ }], isMobile: [{
59
+ type: Input
60
+ }], avatar: [{
61
+ type: Input
62
+ }], rtl: [{
63
+ type: Input
64
+ }], mask: [{
65
+ type: Input
66
+ }], fieldDict: [{
67
+ type: Input
68
+ }], contentDensity: [{
69
+ type: Input
70
+ }], deviceSize: [{
71
+ type: Input
72
+ }], dirValue: [{
73
+ type: Input
74
+ }], modernTabs: [{
75
+ type: Input
76
+ }], mo: [{
77
+ type: Input
78
+ }] } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1wcm9wcy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tcHJvcHMuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBSVIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQVdsRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQXdCckQsWUFDYyxjQUE2QixFQUM3QixpQkFBbUMsRUFDbkMsVUFBd0IsRUFDeEIsSUFBdUIsRUFDdkIsVUFBcUIsRUFDckIsSUFBc0IsRUFDdEIsZ0JBQTBDO1FBRXBELEtBQUssRUFBRSxDQUFDO1FBUkUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLGVBQVUsR0FBVixVQUFVLENBQVc7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEwQjtJQUd4RCxDQUFDO0lBQ0QsUUFBUTtRQUNKLHVDQUF1QztRQUN2QyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQzs7bUhBdENRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDZxQkFIckIsRUFBRTsyRkFHSCxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzRSQUVZLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UuY29tcG9uZW50JztcblxuaW1wb3J0IHsgQ29udHJvbFVpUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcbmltcG9ydCB7IEJyZWFkQ3J1bWJJbmZvLCBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTGF5b3V0U2V0dGluZywgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJy4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLWZvcm0tcHJvcHMtYmFzZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBicmVhZENydW1iczogQnJlYWRDcnVtYkluZm9bXSB8IG51bGw7XG4gICAgQElucHV0KCkgdG9vbGJhclZpc2libGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdG9vbGJhckl0ZW1zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBsYXlvdXRBY3Rpb25zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBsYXlvdXQ5NDtcbiAgICBASW5wdXQoKSBzZXR0aW5nczogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSB3b3JrZmxvd1BhbmVsVWk6IGFueTtcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBmYWNldExpc3Q6IGFueVtdO1xuICAgIEBJbnB1dCgpIHJlbW92ZUhlYWRlckJvcmRlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByZW1vdmVDb250ZW50UGFkZGluZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc01vYmlsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhdmF0YXI6IGFueTtcbiAgICBASW5wdXQoKSBydGw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWFzazogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmaWVsZERpY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgY29udGVudERlbnNpdHk6IGFueTtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiAncycgfCAnbScgfCAnbCcgfCAneGwnO1xuICAgIEBJbnB1dCgpIGRpclZhbHVlOiAncnRsJyB8ICdsdHInO1xuICAgIEBJbnB1dCgpIG1vZGVyblRhYnM6IExheW91dFNldHRpbmdbXTtcbiAgICBASW5wdXQoKSBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9jb250cm9sVWlQaXBlOiBDb250cm9sVWlQaXBlLFxuICAgICAgICBwcm90ZWN0ZWQgX2Zvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJvdGVjdGVkIF92Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMubW8gPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLm1vO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cbn1cbiJdfQ==