@igo2/common 17.0.0-next.0 → 17.0.0-next.10

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 (830) hide show
  1. package/action/actionbar/actionbar-item.component.d.ts +75 -0
  2. package/action/actionbar/actionbar.component.d.ts +148 -0
  3. package/action/index.d.ts +5 -0
  4. package/action/public_api.d.ts +4 -0
  5. package/action/shared/action.interfaces.d.ts +18 -0
  6. package/action/shared/store.d.ts +8 -0
  7. package/action/src/action.theming.scss +5 -0
  8. package/action/src/actionbar/actionbar-item.theming.scss +32 -0
  9. package/action/src/actionbar/actionbar.theming.scss +22 -0
  10. package/backdrop/index.d.ts +5 -0
  11. package/backdrop/public_api.d.ts +2 -0
  12. package/badge/badge-icon.directive.d.ts +34 -0
  13. package/badge/index.d.ts +5 -0
  14. package/badge/public_api.d.ts +2 -0
  15. package/clickout/index.d.ts +5 -0
  16. package/clickout/public_api.d.ts +2 -0
  17. package/clone/index.d.ts +5 -0
  18. package/clone/public_api.d.ts +2 -0
  19. package/collapsible/index.d.ts +5 -0
  20. package/collapsible/public_api.d.ts +6 -0
  21. package/collapsible/src/collapsible.theming.scss +22 -0
  22. package/color/color-picker-form-field/index.d.ts +2 -0
  23. package/color/index.d.ts +5 -0
  24. package/color/public_api.d.ts +1 -0
  25. package/confirm-dialog/index.d.ts +5 -0
  26. package/confirm-dialog/public_api.d.ts +4 -0
  27. package/context-menu/index.d.ts +5 -0
  28. package/context-menu/public_api.d.ts +6 -0
  29. package/custom-html/index.d.ts +5 -0
  30. package/custom-html/public_api.d.ts +6 -0
  31. package/dom/index.d.ts +5 -0
  32. package/dom/public_api.d.ts +3 -0
  33. package/drag-drop/index.d.ts +5 -0
  34. package/drag-drop/public_api.d.ts +2 -0
  35. package/dynamic-component/index.d.ts +5 -0
  36. package/dynamic-component/public_api.d.ts +4 -0
  37. package/entity/entity-selector/index.d.ts +2 -0
  38. package/entity/entity-table/index.d.ts +2 -0
  39. package/entity/entity-table-paginator/entity-table-paginator.component.d.ts +50 -0
  40. package/entity/entity-table-paginator/index.d.ts +3 -0
  41. package/entity/entity.module.d.ts +16 -0
  42. package/entity/index.d.ts +5 -0
  43. package/entity/public_api.d.ts +5 -0
  44. package/entity/shared/transaction.d.ts +179 -0
  45. package/entity/src/entity-selector/entity-selector.theming.scss +21 -0
  46. package/entity/src/entity-table/entity-table.theming.scss +37 -0
  47. package/entity/src/entity.theming.scss +7 -0
  48. package/environment/index.d.ts +5 -0
  49. package/esm2022/action/action.module.mjs +19 -0
  50. package/esm2022/action/actionbar/actionbar-item.component.mjs +192 -0
  51. package/esm2022/action/actionbar/actionbar.component.mjs +277 -0
  52. package/esm2022/action/actionbar/actionbar.module.mjs +19 -0
  53. package/esm2022/action/igo2-common-action.mjs +5 -0
  54. package/esm2022/action/public_api.mjs +5 -0
  55. package/esm2022/action/shared/action.enums.mjs +7 -0
  56. package/esm2022/action/shared/action.interfaces.mjs +2 -0
  57. package/esm2022/action/shared/index.mjs +4 -0
  58. package/esm2022/action/shared/store.mjs +8 -0
  59. package/esm2022/backdrop/backdrop.component.mjs +22 -0
  60. package/esm2022/backdrop/backdrop.module.mjs +25 -0
  61. package/esm2022/backdrop/igo2-common-backdrop.mjs +5 -0
  62. package/esm2022/backdrop/public_api.mjs +3 -0
  63. package/esm2022/badge/badge-icon.directive.mjs +149 -0
  64. package/esm2022/badge/badge-icon.module.mjs +25 -0
  65. package/esm2022/badge/igo2-common-badge.mjs +5 -0
  66. package/esm2022/badge/public_api.mjs +3 -0
  67. package/esm2022/clickout/clickout.directive.mjs +32 -0
  68. package/esm2022/clickout/clickout.module.mjs +25 -0
  69. package/esm2022/clickout/igo2-common-clickout.mjs +5 -0
  70. package/esm2022/clickout/public_api.mjs +3 -0
  71. package/esm2022/clone/clone.module.mjs +25 -0
  72. package/esm2022/clone/clone.pipe.mjs +25 -0
  73. package/esm2022/clone/igo2-common-clone.mjs +5 -0
  74. package/esm2022/clone/public_api.mjs +3 -0
  75. package/esm2022/collapsible/collapse.directive.mjs +57 -0
  76. package/esm2022/collapsible/collapsible.component.mjs +38 -0
  77. package/esm2022/collapsible/collapsible.module.mjs +26 -0
  78. package/esm2022/collapsible/igo2-common-collapsible.mjs +5 -0
  79. package/esm2022/collapsible/public_api.mjs +10 -0
  80. package/esm2022/color/color-picker-form-field/color-picker-form-field.component.mjs +104 -0
  81. package/esm2022/color/color-picker-form-field/color-picker-form-field.module.mjs +19 -0
  82. package/esm2022/color/color-picker-form-field/index.mjs +3 -0
  83. package/esm2022/color/igo2-common-color.mjs +5 -0
  84. package/esm2022/color/public_api.mjs +2 -0
  85. package/esm2022/confirm-dialog/confirm-dialog.component.mjs +31 -0
  86. package/esm2022/confirm-dialog/confirm-dialog.interface.mjs +2 -0
  87. package/esm2022/confirm-dialog/confirm-dialog.module.mjs +27 -0
  88. package/esm2022/confirm-dialog/confirm-dialog.service.mjs +35 -0
  89. package/esm2022/confirm-dialog/igo2-common-confirm-dialog.mjs +5 -0
  90. package/esm2022/confirm-dialog/public_api.mjs +5 -0
  91. package/esm2022/context-menu/context-menu.directive.mjs +109 -0
  92. package/esm2022/context-menu/context-menu.module.mjs +26 -0
  93. package/esm2022/context-menu/igo2-common-context-menu.mjs +5 -0
  94. package/esm2022/context-menu/long-press.directive.mjs +66 -0
  95. package/esm2022/context-menu/public_api.mjs +10 -0
  96. package/esm2022/custom-html/custom-html.component.mjs +22 -0
  97. package/esm2022/custom-html/custom-html.module.mjs +25 -0
  98. package/esm2022/custom-html/custom-html.pipe.mjs +23 -0
  99. package/esm2022/custom-html/igo2-common-custom-html.mjs +5 -0
  100. package/esm2022/custom-html/public_api.mjs +10 -0
  101. package/esm2022/dom/dom.interfaces.mjs +2 -0
  102. package/esm2022/dom/dom.module.mjs +27 -0
  103. package/esm2022/dom/dom.service.mjs +35 -0
  104. package/esm2022/dom/igo2-common-dom.mjs +5 -0
  105. package/esm2022/dom/public_api.mjs +4 -0
  106. package/esm2022/drag-drop/drag-drop.directive.mjs +82 -0
  107. package/esm2022/drag-drop/drag-drop.module.mjs +25 -0
  108. package/esm2022/drag-drop/igo2-common-drag-drop.mjs +5 -0
  109. package/esm2022/drag-drop/public_api.mjs +3 -0
  110. package/esm2022/dynamic-component/dynamic-component.module.mjs +19 -0
  111. package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +129 -0
  112. package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +19 -0
  113. package/esm2022/dynamic-component/igo2-common-dynamic-component.mjs +5 -0
  114. package/esm2022/dynamic-component/public_api.mjs +5 -0
  115. package/esm2022/dynamic-component/shared/dynamic-component.interfaces.mjs +2 -0
  116. package/esm2022/dynamic-component/shared/dynamic-component.mjs +183 -0
  117. package/esm2022/dynamic-component/shared/dynamic-component.service.mjs +30 -0
  118. package/esm2022/dynamic-component/shared/index.mjs +4 -0
  119. package/esm2022/entity/entity-selector/entity-selector.component.mjs +174 -0
  120. package/esm2022/entity/entity-selector/entity-selector.module.mjs +19 -0
  121. package/esm2022/entity/entity-selector/index.mjs +3 -0
  122. package/esm2022/entity/entity-table/entity-table-row.directive.mjs +138 -0
  123. package/esm2022/entity/entity-table/entity-table.component.mjs +883 -0
  124. package/esm2022/entity/entity-table/entity-table.module.mjs +19 -0
  125. package/esm2022/entity/entity-table/index.mjs +3 -0
  126. package/esm2022/entity/entity-table-paginator/entity-table-paginator.component.mjs +158 -0
  127. package/esm2022/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
  128. package/esm2022/entity/entity-table-paginator/entity-table-paginator.module.mjs +19 -0
  129. package/esm2022/entity/entity-table-paginator/index.mjs +4 -0
  130. package/esm2022/entity/entity.module.mjs +30 -0
  131. package/esm2022/entity/igo2-common-entity.mjs +5 -0
  132. package/esm2022/entity/public_api.mjs +6 -0
  133. package/esm2022/entity/shared/entity.enums.mjs +28 -0
  134. package/esm2022/entity/shared/entity.interfaces.mjs +2 -0
  135. package/esm2022/entity/shared/entity.utils.mjs +73 -0
  136. package/esm2022/entity/shared/index.mjs +10 -0
  137. package/esm2022/entity/shared/state.mjs +194 -0
  138. package/esm2022/entity/shared/store.mjs +322 -0
  139. package/esm2022/entity/shared/strategies/filter-custom-function.mjs +80 -0
  140. package/esm2022/entity/shared/strategies/filter-selection.mjs +81 -0
  141. package/esm2022/entity/shared/strategies/index.mjs +4 -0
  142. package/esm2022/entity/shared/strategies/strategy.mjs +78 -0
  143. package/esm2022/entity/shared/transaction.mjs +329 -0
  144. package/esm2022/entity/shared/view.mjs +330 -0
  145. package/esm2022/entity/shared/watcher.mjs +135 -0
  146. package/esm2022/environment/environment.interface.mjs +2 -0
  147. package/esm2022/environment/igo2-common-environment.mjs +5 -0
  148. package/esm2022/environment/public_api.mjs +2 -0
  149. package/esm2022/flexible/flexible.component.mjs +135 -0
  150. package/esm2022/flexible/flexible.module.mjs +25 -0
  151. package/esm2022/flexible/flexible.type.mjs +2 -0
  152. package/esm2022/flexible/igo2-common-flexible.mjs +5 -0
  153. package/esm2022/flexible/public_api.mjs +4 -0
  154. package/esm2022/form/form/form.component.mjs +103 -0
  155. package/esm2022/form/form/form.module.mjs +19 -0
  156. package/esm2022/form/form/index.mjs +3 -0
  157. package/esm2022/form/form-dialog/form-dialog.component.mjs +94 -0
  158. package/esm2022/form/form-dialog/form-dialog.interface.mjs +2 -0
  159. package/esm2022/form/form-dialog/form-dialog.module.mjs +31 -0
  160. package/esm2022/form/form-dialog/form-dialog.service.mjs +30 -0
  161. package/esm2022/form/form-dialog/index.mjs +5 -0
  162. package/esm2022/form/form-field/form-field-select.component.mjs +117 -0
  163. package/esm2022/form/form-field/form-field-text.component.mjs +126 -0
  164. package/esm2022/form/form-field/form-field-textarea.component.mjs +95 -0
  165. package/esm2022/form/form-field/form-field.component.mjs +65 -0
  166. package/esm2022/form/form-field/form-field.directive.mjs +11 -0
  167. package/esm2022/form/form-field/form-field.module.mjs +23 -0
  168. package/esm2022/form/form-field/index.mjs +7 -0
  169. package/esm2022/form/form-group/form-group.component.mjs +82 -0
  170. package/esm2022/form/form-group/form-group.module.mjs +19 -0
  171. package/esm2022/form/form-group/index.mjs +3 -0
  172. package/esm2022/form/form.module.mjs +32 -0
  173. package/esm2022/form/igo2-common-form.mjs +5 -0
  174. package/esm2022/form/public_api.mjs +7 -0
  175. package/esm2022/form/shared/form-field-component.mjs +7 -0
  176. package/esm2022/form/shared/form-field.service.mjs +29 -0
  177. package/esm2022/form/shared/form.interfaces.mjs +2 -0
  178. package/esm2022/form/shared/form.service.mjs +82 -0
  179. package/esm2022/form/shared/form.utils.mjs +41 -0
  180. package/esm2022/form/shared/index.mjs +6 -0
  181. package/esm2022/home-button/home-button.component.mjs +26 -0
  182. package/esm2022/home-button/home-button.module.mjs +19 -0
  183. package/esm2022/home-button/igo2-common-home-button.mjs +5 -0
  184. package/esm2022/home-button/public_api.mjs +3 -0
  185. package/esm2022/icon/icon/icon.component.mjs +38 -0
  186. package/esm2022/icon/icon.provider.mjs +14 -0
  187. package/esm2022/icon/igo2-common-icon.mjs +5 -0
  188. package/esm2022/icon/public_api.mjs +4 -0
  189. package/esm2022/icon/shared/icon.interface.mjs +2 -0
  190. package/esm2022/icon/shared/icon.service.mjs +26 -0
  191. package/esm2022/icon/shared/icons.mjs +32 -0
  192. package/esm2022/icon/shared/index.mjs +4 -0
  193. package/esm2022/image/igo2-common-image.mjs +5 -0
  194. package/esm2022/image/image-error.directive.mjs +35 -0
  195. package/esm2022/image/image.module.mjs +26 -0
  196. package/esm2022/image/public_api.mjs +7 -0
  197. package/esm2022/image/secure-image.pipe.mjs +66 -0
  198. package/esm2022/interactive-tour/igo2-common-interactive-tour.mjs +5 -0
  199. package/esm2022/interactive-tour/interactive-tour.component.mjs +133 -0
  200. package/esm2022/interactive-tour/interactive-tour.interface.mjs +2 -0
  201. package/esm2022/interactive-tour/interactive-tour.loader.mjs +49 -0
  202. package/esm2022/interactive-tour/interactive-tour.module.mjs +19 -0
  203. package/esm2022/interactive-tour/interactive-tour.service.mjs +303 -0
  204. package/esm2022/interactive-tour/public_api.mjs +6 -0
  205. package/esm2022/json-dialog/igo2-common-json-dialog.mjs +5 -0
  206. package/esm2022/json-dialog/json-dialog.component.mjs +38 -0
  207. package/esm2022/json-dialog/json-dialog.module.mjs +26 -0
  208. package/esm2022/json-dialog/json-dialog.service.mjs +26 -0
  209. package/esm2022/json-dialog/public_api.mjs +4 -0
  210. package/esm2022/keyvalue/igo2-common-keyvalue.mjs +5 -0
  211. package/esm2022/keyvalue/keyvalue.module.mjs +25 -0
  212. package/esm2022/keyvalue/keyvalue.pipe.mjs +19 -0
  213. package/esm2022/keyvalue/public_api.mjs +3 -0
  214. package/esm2022/list/igo2-common-list.mjs +5 -0
  215. package/esm2022/list/list-item.directive.mjs +166 -0
  216. package/esm2022/list/list.component.mjs +252 -0
  217. package/esm2022/list/list.module.mjs +26 -0
  218. package/esm2022/list/public_api.mjs +7 -0
  219. package/esm2022/panel/igo2-common-panel.mjs +5 -0
  220. package/esm2022/panel/panel.component.mjs +30 -0
  221. package/esm2022/panel/panel.module.mjs +19 -0
  222. package/esm2022/panel/public_api.mjs +3 -0
  223. package/esm2022/public_api.mjs +17 -78
  224. package/esm2022/select-value-dialog/igo2-common-select-value-dialog.mjs +5 -0
  225. package/esm2022/select-value-dialog/public_api.mjs +6 -0
  226. package/esm2022/select-value-dialog/select-value-check-radio-dialog.component.mjs +103 -0
  227. package/esm2022/select-value-dialog/select-value-dialog.enums.mjs +6 -0
  228. package/esm2022/select-value-dialog/select-value-dialog.interface.mjs +2 -0
  229. package/esm2022/select-value-dialog/select-value-dialog.module.mjs +27 -0
  230. package/esm2022/select-value-dialog/select-value-dialog.service.mjs +29 -0
  231. package/esm2022/sidenav/igo2-common-sidenav.mjs +5 -0
  232. package/esm2022/sidenav/public_api.mjs +3 -0
  233. package/esm2022/sidenav/sidenav-shim.directive.mjs +58 -0
  234. package/esm2022/sidenav/sidenav.module.mjs +25 -0
  235. package/esm2022/spinner/igo2-common-spinner.mjs +5 -0
  236. package/esm2022/spinner/public_api.mjs +4 -0
  237. package/esm2022/spinner/spinner-activity.directive.mjs +56 -0
  238. package/esm2022/spinner/spinner.component.mjs +30 -0
  239. package/esm2022/spinner/spinner.module.mjs +26 -0
  240. package/esm2022/stop-propagation/igo2-common-stop-propagation.mjs +5 -0
  241. package/esm2022/stop-propagation/public_api.mjs +10 -0
  242. package/esm2022/stop-propagation/stop-drop-propagation.directive.mjs +21 -0
  243. package/esm2022/stop-propagation/stop-propagation.directive.mjs +20 -0
  244. package/esm2022/stop-propagation/stop-propagation.module.mjs +26 -0
  245. package/esm2022/table/igo2-common-table.mjs +5 -0
  246. package/esm2022/table/public_api.mjs +7 -0
  247. package/esm2022/table/table-action-color.enum.mjs +7 -0
  248. package/esm2022/table/table-database.mjs +28 -0
  249. package/esm2022/table/table-datasource.mjs +64 -0
  250. package/esm2022/table/table-model.interface.mjs +2 -0
  251. package/esm2022/table/table.component.mjs +143 -0
  252. package/esm2022/table/table.module.mjs +25 -0
  253. package/esm2022/tool/igo2-common-tool.mjs +5 -0
  254. package/esm2022/tool/public_api.mjs +4 -0
  255. package/esm2022/tool/shared/index.mjs +6 -0
  256. package/esm2022/tool/shared/tool-component.mjs +9 -0
  257. package/esm2022/tool/shared/tool.interface.mjs +2 -0
  258. package/esm2022/tool/shared/tool.service.mjs +43 -0
  259. package/esm2022/tool/shared/toolbox.enums.mjs +2 -0
  260. package/esm2022/tool/shared/toolbox.mjs +192 -0
  261. package/esm2022/tool/tool.module.mjs +28 -0
  262. package/esm2022/tool/toolbox/index.mjs +3 -0
  263. package/esm2022/tool/toolbox/toolbox.animation.mjs +10 -0
  264. package/esm2022/tool/toolbox/toolbox.component.mjs +241 -0
  265. package/esm2022/tool/toolbox/toolbox.module.mjs +19 -0
  266. package/esm2022/widget/igo2-common-widget.mjs +5 -0
  267. package/esm2022/widget/public_api.mjs +4 -0
  268. package/esm2022/widget/shared/index.mjs +4 -0
  269. package/esm2022/widget/shared/widget.interfaces.mjs +2 -0
  270. package/esm2022/widget/shared/widget.mjs +4 -0
  271. package/esm2022/widget/shared/widget.service.mjs +22 -0
  272. package/esm2022/widget/widget-outlet/index.mjs +3 -0
  273. package/esm2022/widget/widget-outlet/widget-outlet.component.mjs +113 -0
  274. package/esm2022/widget/widget-outlet/widget-outlet.module.mjs +19 -0
  275. package/esm2022/widget/widget.module.mjs +22 -0
  276. package/esm2022/workspace/igo2-common-workspace.mjs +5 -0
  277. package/esm2022/workspace/public_api.mjs +5 -0
  278. package/esm2022/workspace/shared/index.mjs +4 -0
  279. package/esm2022/workspace/shared/store.mjs +37 -0
  280. package/esm2022/workspace/shared/workspace.interfaces.mjs +2 -0
  281. package/esm2022/workspace/shared/workspace.mjs +143 -0
  282. package/esm2022/workspace/workspace-selector/index.mjs +3 -0
  283. package/esm2022/workspace/workspace-selector/workspace-selector.component.mjs +51 -0
  284. package/esm2022/workspace/workspace-selector/workspace-selector.module.mjs +19 -0
  285. package/esm2022/workspace/workspace-widget-outlet/index.mjs +3 -0
  286. package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +74 -0
  287. package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +19 -0
  288. package/esm2022/workspace/workspace.module.mjs +27 -0
  289. package/fesm2022/igo2-common-action.mjs +505 -0
  290. package/fesm2022/igo2-common-action.mjs.map +1 -0
  291. package/fesm2022/igo2-common-backdrop.mjs +51 -0
  292. package/fesm2022/igo2-common-backdrop.mjs.map +1 -0
  293. package/fesm2022/igo2-common-badge.mjs +178 -0
  294. package/fesm2022/igo2-common-badge.mjs.map +1 -0
  295. package/fesm2022/igo2-common-clickout.mjs +61 -0
  296. package/fesm2022/igo2-common-clickout.mjs.map +1 -0
  297. package/fesm2022/igo2-common-clone.mjs +54 -0
  298. package/fesm2022/igo2-common-clone.mjs.map +1 -0
  299. package/fesm2022/igo2-common-collapsible.mjs +126 -0
  300. package/fesm2022/igo2-common-collapsible.mjs.map +1 -0
  301. package/fesm2022/igo2-common-color.mjs +127 -0
  302. package/fesm2022/igo2-common-color.mjs.map +1 -0
  303. package/fesm2022/igo2-common-confirm-dialog.mjs +91 -0
  304. package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -0
  305. package/fesm2022/igo2-common-context-menu.mjs +206 -0
  306. package/fesm2022/igo2-common-context-menu.mjs.map +1 -0
  307. package/fesm2022/igo2-common-custom-html.mjs +74 -0
  308. package/fesm2022/igo2-common-custom-html.mjs.map +1 -0
  309. package/fesm2022/igo2-common-dom.mjs +65 -0
  310. package/fesm2022/igo2-common-dom.mjs.map +1 -0
  311. package/fesm2022/igo2-common-drag-drop.mjs +111 -0
  312. package/fesm2022/igo2-common-drag-drop.mjs.map +1 -0
  313. package/fesm2022/igo2-common-dynamic-component.mjs +375 -0
  314. package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -0
  315. package/fesm2022/igo2-common-entity.mjs +3036 -0
  316. package/fesm2022/igo2-common-entity.mjs.map +1 -0
  317. package/fesm2022/igo2-common-environment.mjs +4 -0
  318. package/fesm2022/igo2-common-environment.mjs.map +1 -0
  319. package/fesm2022/igo2-common-flexible.mjs +163 -0
  320. package/fesm2022/igo2-common-flexible.mjs.map +1 -0
  321. package/fesm2022/igo2-common-form.mjs +898 -0
  322. package/fesm2022/igo2-common-form.mjs.map +1 -0
  323. package/fesm2022/igo2-common-home-button.mjs +49 -0
  324. package/fesm2022/igo2-common-home-button.mjs.map +1 -0
  325. package/fesm2022/igo2-common-icon.mjs +108 -0
  326. package/fesm2022/igo2-common-icon.mjs.map +1 -0
  327. package/fesm2022/igo2-common-image.mjs +129 -0
  328. package/fesm2022/igo2-common-image.mjs.map +1 -0
  329. package/fesm2022/igo2-common-interactive-tour.mjs +490 -0
  330. package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -0
  331. package/fesm2022/igo2-common-json-dialog.mjs +88 -0
  332. package/fesm2022/igo2-common-json-dialog.mjs.map +1 -0
  333. package/fesm2022/igo2-common-keyvalue.mjs +48 -0
  334. package/fesm2022/igo2-common-keyvalue.mjs.map +1 -0
  335. package/fesm2022/igo2-common-list.mjs +446 -0
  336. package/fesm2022/igo2-common-list.mjs.map +1 -0
  337. package/fesm2022/igo2-common-panel.mjs +53 -0
  338. package/fesm2022/igo2-common-panel.mjs.map +1 -0
  339. package/fesm2022/igo2-common-select-value-dialog.mjs +161 -0
  340. package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -0
  341. package/fesm2022/igo2-common-sidenav.mjs +86 -0
  342. package/fesm2022/igo2-common-sidenav.mjs.map +1 -0
  343. package/fesm2022/igo2-common-spinner.mjs +110 -0
  344. package/fesm2022/igo2-common-spinner.mjs.map +1 -0
  345. package/fesm2022/igo2-common-stop-propagation.mjs +73 -0
  346. package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -0
  347. package/fesm2022/igo2-common-table.mjs +264 -0
  348. package/fesm2022/igo2-common-table.mjs.map +1 -0
  349. package/fesm2022/igo2-common-tool.mjs +535 -0
  350. package/fesm2022/igo2-common-tool.mjs.map +1 -0
  351. package/fesm2022/igo2-common-widget.mjs +176 -0
  352. package/fesm2022/igo2-common-widget.mjs.map +1 -0
  353. package/fesm2022/igo2-common-workspace.mjs +361 -0
  354. package/fesm2022/igo2-common-workspace.mjs.map +1 -0
  355. package/fesm2022/igo2-common.mjs +16 -8751
  356. package/fesm2022/igo2-common.mjs.map +1 -1
  357. package/flexible/flexible.component.d.ts +41 -0
  358. package/flexible/index.d.ts +5 -0
  359. package/flexible/public_api.d.ts +3 -0
  360. package/form/form/index.d.ts +2 -0
  361. package/form/form-dialog/form-dialog.component.d.ts +23 -0
  362. package/form/form-dialog/form-dialog.interface.d.ts +18 -0
  363. package/form/form-dialog/index.d.ts +4 -0
  364. package/form/form-field/form-field.directive.d.ts +5 -0
  365. package/form/form-field/index.d.ts +6 -0
  366. package/form/form-group/index.d.ts +2 -0
  367. package/form/form.module.d.ts +18 -0
  368. package/form/index.d.ts +5 -0
  369. package/form/public_api.d.ts +6 -0
  370. package/home-button/index.d.ts +5 -0
  371. package/home-button/public_api.d.ts +2 -0
  372. package/home-button/src/home-button.theming.scss +18 -0
  373. package/icon/icon/icon.component.d.ts +14 -0
  374. package/icon/icon.provider.d.ts +4 -0
  375. package/icon/index.d.ts +5 -0
  376. package/icon/public_api.d.ts +3 -0
  377. package/icon/shared/icon.interface.d.ts +4 -0
  378. package/icon/shared/icon.service.d.ts +12 -0
  379. package/icon/shared/icons.d.ts +9 -0
  380. package/icon/shared/index.d.ts +3 -0
  381. package/image/index.d.ts +5 -0
  382. package/image/public_api.d.ts +6 -0
  383. package/image/secure-image.pipe.d.ts +13 -0
  384. package/interactive-tour/index.d.ts +5 -0
  385. package/interactive-tour/interactive-tour.component.d.ts +33 -0
  386. package/interactive-tour/interactive-tour.loader.d.ts +18 -0
  387. package/interactive-tour/interactive-tour.service.d.ts +31 -0
  388. package/interactive-tour/public_api.d.ts +5 -0
  389. package/interactive-tour/src/interactive-tour.theming.scss +32 -0
  390. package/json-dialog/index.d.ts +5 -0
  391. package/json-dialog/public_api.d.ts +3 -0
  392. package/keyvalue/index.d.ts +5 -0
  393. package/keyvalue/public_api.d.ts +2 -0
  394. package/list/index.d.ts +5 -0
  395. package/list/public_api.d.ts +6 -0
  396. package/list/src/list.theming.scss +58 -0
  397. package/package.json +201 -3
  398. package/panel/index.d.ts +5 -0
  399. package/panel/public_api.d.ts +2 -0
  400. package/panel/src/panel.theming.scss +30 -0
  401. package/public_api.d.ts +16 -77
  402. package/select-value-dialog/index.d.ts +5 -0
  403. package/select-value-dialog/public_api.d.ts +5 -0
  404. package/select-value-dialog/select-value-check-radio-dialog.component.d.ts +25 -0
  405. package/sidenav/index.d.ts +5 -0
  406. package/sidenav/public_api.d.ts +2 -0
  407. package/spinner/index.d.ts +5 -0
  408. package/spinner/public_api.d.ts +3 -0
  409. package/spinner/spinner-activity.directive.d.ts +32 -0
  410. package/spinner/spinner.module.d.ts +14 -0
  411. package/src/common-theme.scss +19 -19
  412. package/stop-propagation/index.d.ts +5 -0
  413. package/stop-propagation/public_api.d.ts +6 -0
  414. package/table/index.d.ts +5 -0
  415. package/table/public_api.d.ts +6 -0
  416. package/tool/index.d.ts +5 -0
  417. package/tool/public_api.d.ts +3 -0
  418. package/tool/shared/tool.interface.d.ts +18 -0
  419. package/tool/shared/toolbox.d.ts +98 -0
  420. package/tool/src/tool.theming.scss +5 -0
  421. package/tool/src/toolbox/toolbox.theming.scss +105 -0
  422. package/tool/toolbox/index.d.ts +2 -0
  423. package/tool/toolbox/toolbox.component.d.ts +128 -0
  424. package/widget/index.d.ts +5 -0
  425. package/widget/public_api.d.ts +3 -0
  426. package/widget/shared/widget.d.ts +4 -0
  427. package/widget/shared/widget.service.d.ts +10 -0
  428. package/widget/widget-outlet/index.d.ts +2 -0
  429. package/widget/widget-outlet/widget-outlet.component.d.ts +71 -0
  430. package/workspace/index.d.ts +5 -0
  431. package/workspace/public_api.d.ts +4 -0
  432. package/workspace/shared/store.d.ts +20 -0
  433. package/workspace/shared/workspace.d.ts +108 -0
  434. package/workspace/shared/workspace.interfaces.d.ts +11 -0
  435. package/workspace/workspace-selector/index.d.ts +2 -0
  436. package/workspace/workspace-selector/workspace-selector.component.d.ts +38 -0
  437. package/workspace/workspace-widget-outlet/index.d.ts +2 -0
  438. package/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -0
  439. package/workspace/workspace.module.d.ts +14 -0
  440. package/esm2022/lib/action/action.module.mjs +0 -19
  441. package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +0 -206
  442. package/esm2022/lib/action/actionbar/actionbar.component.mjs +0 -277
  443. package/esm2022/lib/action/actionbar/actionbar.module.mjs +0 -19
  444. package/esm2022/lib/action/index.mjs +0 -3
  445. package/esm2022/lib/action/shared/action.enums.mjs +0 -7
  446. package/esm2022/lib/action/shared/action.interfaces.mjs +0 -2
  447. package/esm2022/lib/action/shared/index.mjs +0 -4
  448. package/esm2022/lib/action/shared/store.mjs +0 -8
  449. package/esm2022/lib/backdrop/backdrop.component.mjs +0 -22
  450. package/esm2022/lib/backdrop/backdrop.module.mjs +0 -25
  451. package/esm2022/lib/backdrop/index.mjs +0 -2
  452. package/esm2022/lib/badge-icon/badge-icon.directive.mjs +0 -152
  453. package/esm2022/lib/badge-icon/badge-icon.module.mjs +0 -25
  454. package/esm2022/lib/badge-icon/index.mjs +0 -2
  455. package/esm2022/lib/clickout/clickout.directive.mjs +0 -32
  456. package/esm2022/lib/clickout/clickout.module.mjs +0 -25
  457. package/esm2022/lib/clickout/index.mjs +0 -2
  458. package/esm2022/lib/clone/clone.module.mjs +0 -25
  459. package/esm2022/lib/clone/clone.pipe.mjs +0 -25
  460. package/esm2022/lib/clone/index.mjs +0 -2
  461. package/esm2022/lib/collapsible/collapse.directive.mjs +0 -57
  462. package/esm2022/lib/collapsible/collapsible.component.mjs +0 -38
  463. package/esm2022/lib/collapsible/collapsible.module.mjs +0 -26
  464. package/esm2022/lib/collapsible/index.mjs +0 -9
  465. package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +0 -104
  466. package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +0 -19
  467. package/esm2022/lib/color-picker-form-field/index.mjs +0 -2
  468. package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +0 -31
  469. package/esm2022/lib/confirm-dialog/confirm-dialog.interface.mjs +0 -2
  470. package/esm2022/lib/confirm-dialog/confirm-dialog.module.mjs +0 -27
  471. package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +0 -35
  472. package/esm2022/lib/confirm-dialog/index.mjs +0 -4
  473. package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -109
  474. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -26
  475. package/esm2022/lib/context-menu/index.mjs +0 -9
  476. package/esm2022/lib/context-menu/long-press.directive.mjs +0 -66
  477. package/esm2022/lib/custom-html/custom-html.component.mjs +0 -22
  478. package/esm2022/lib/custom-html/custom-html.module.mjs +0 -25
  479. package/esm2022/lib/custom-html/custom-html.pipe.mjs +0 -23
  480. package/esm2022/lib/custom-html/index.mjs +0 -9
  481. package/esm2022/lib/dom/dom.interfaces.mjs +0 -2
  482. package/esm2022/lib/dom/dom.module.mjs +0 -27
  483. package/esm2022/lib/dom/dom.service.mjs +0 -35
  484. package/esm2022/lib/dom/index.mjs +0 -3
  485. package/esm2022/lib/drag-drop/drag-drop.directive.mjs +0 -82
  486. package/esm2022/lib/drag-drop/drag-drop.module.mjs +0 -25
  487. package/esm2022/lib/drag-drop/index.mjs +0 -2
  488. package/esm2022/lib/dynamic-component/dynamic-component.module.mjs +0 -19
  489. package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -129
  490. package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -19
  491. package/esm2022/lib/dynamic-component/index.mjs +0 -3
  492. package/esm2022/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +0 -2
  493. package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +0 -183
  494. package/esm2022/lib/dynamic-component/shared/dynamic-component.service.mjs +0 -30
  495. package/esm2022/lib/dynamic-component/shared/index.mjs +0 -4
  496. package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +0 -174
  497. package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +0 -19
  498. package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +0 -138
  499. package/esm2022/lib/entity/entity-table/entity-table.component.mjs +0 -884
  500. package/esm2022/lib/entity/entity-table/entity-table.module.mjs +0 -19
  501. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -156
  502. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
  503. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -19
  504. package/esm2022/lib/entity/entity-table-paginator/index.mjs +0 -3
  505. package/esm2022/lib/entity/entity.module.mjs +0 -22
  506. package/esm2022/lib/entity/index.mjs +0 -14
  507. package/esm2022/lib/entity/shared/entity.enums.mjs +0 -28
  508. package/esm2022/lib/entity/shared/entity.interfaces.mjs +0 -2
  509. package/esm2022/lib/entity/shared/entity.utils.mjs +0 -73
  510. package/esm2022/lib/entity/shared/index.mjs +0 -10
  511. package/esm2022/lib/entity/shared/state.mjs +0 -194
  512. package/esm2022/lib/entity/shared/store.mjs +0 -322
  513. package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +0 -80
  514. package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +0 -81
  515. package/esm2022/lib/entity/shared/strategies/index.mjs +0 -4
  516. package/esm2022/lib/entity/shared/strategies/strategy.mjs +0 -78
  517. package/esm2022/lib/entity/shared/transaction.mjs +0 -329
  518. package/esm2022/lib/entity/shared/view.mjs +0 -330
  519. package/esm2022/lib/entity/shared/watcher.mjs +0 -135
  520. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  521. package/esm2022/lib/environment/index.mjs +0 -2
  522. package/esm2022/lib/flexible/flexible.component.mjs +0 -135
  523. package/esm2022/lib/flexible/flexible.module.mjs +0 -25
  524. package/esm2022/lib/flexible/flexible.type.mjs +0 -2
  525. package/esm2022/lib/flexible/index.mjs +0 -3
  526. package/esm2022/lib/form/form/form.component.mjs +0 -103
  527. package/esm2022/lib/form/form/form.module.mjs +0 -19
  528. package/esm2022/lib/form/form-field/form-field-select.component.mjs +0 -117
  529. package/esm2022/lib/form/form-field/form-field-text.component.mjs +0 -126
  530. package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +0 -95
  531. package/esm2022/lib/form/form-field/form-field.component.mjs +0 -65
  532. package/esm2022/lib/form/form-field/form-field.module.mjs +0 -23
  533. package/esm2022/lib/form/form-field/index.mjs +0 -15
  534. package/esm2022/lib/form/form-group/form-group.component.mjs +0 -82
  535. package/esm2022/lib/form/form-group/form-group.module.mjs +0 -19
  536. package/esm2022/lib/form/form.module.mjs +0 -25
  537. package/esm2022/lib/form/index.mjs +0 -13
  538. package/esm2022/lib/form/shared/form-field-component.mjs +0 -7
  539. package/esm2022/lib/form/shared/form-field.service.mjs +0 -29
  540. package/esm2022/lib/form/shared/form.interfaces.mjs +0 -2
  541. package/esm2022/lib/form/shared/form.service.mjs +0 -82
  542. package/esm2022/lib/form/shared/form.utils.mjs +0 -41
  543. package/esm2022/lib/form/shared/index.mjs +0 -6
  544. package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -94
  545. package/esm2022/lib/form-dialog/form-dialog.interface.mjs +0 -2
  546. package/esm2022/lib/form-dialog/form-dialog.module.mjs +0 -31
  547. package/esm2022/lib/form-dialog/form-dialog.service.mjs +0 -30
  548. package/esm2022/lib/form-dialog/index.mjs +0 -4
  549. package/esm2022/lib/home-button/home-button.component.mjs +0 -26
  550. package/esm2022/lib/home-button/home-button.module.mjs +0 -19
  551. package/esm2022/lib/home-button/index.mjs +0 -2
  552. package/esm2022/lib/image/image-error.directive.mjs +0 -35
  553. package/esm2022/lib/image/image.module.mjs +0 -26
  554. package/esm2022/lib/image/index.mjs +0 -6
  555. package/esm2022/lib/image/secure-image.pipe.mjs +0 -66
  556. package/esm2022/lib/interactive-tour/index.mjs +0 -5
  557. package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +0 -126
  558. package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +0 -2
  559. package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +0 -49
  560. package/esm2022/lib/interactive-tour/interactive-tour.module.mjs +0 -19
  561. package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +0 -299
  562. package/esm2022/lib/json-dialog/index.mjs +0 -3
  563. package/esm2022/lib/json-dialog/json-dialog.component.mjs +0 -38
  564. package/esm2022/lib/json-dialog/json-dialog.module.mjs +0 -26
  565. package/esm2022/lib/json-dialog/json-dialog.service.mjs +0 -26
  566. package/esm2022/lib/keyvalue/index.mjs +0 -2
  567. package/esm2022/lib/keyvalue/keyvalue.module.mjs +0 -25
  568. package/esm2022/lib/keyvalue/keyvalue.pipe.mjs +0 -19
  569. package/esm2022/lib/list/index.mjs +0 -6
  570. package/esm2022/lib/list/list-item.directive.mjs +0 -166
  571. package/esm2022/lib/list/list.component.mjs +0 -252
  572. package/esm2022/lib/list/list.module.mjs +0 -26
  573. package/esm2022/lib/panel/index.mjs +0 -2
  574. package/esm2022/lib/panel/panel.component.mjs +0 -30
  575. package/esm2022/lib/panel/panel.module.mjs +0 -19
  576. package/esm2022/lib/select-value-dialog/index.mjs +0 -5
  577. package/esm2022/lib/select-value-dialog/select-value-check-radio-dialog.component.mjs +0 -103
  578. package/esm2022/lib/select-value-dialog/select-value-dialog.enums.mjs +0 -6
  579. package/esm2022/lib/select-value-dialog/select-value-dialog.interface.mjs +0 -2
  580. package/esm2022/lib/select-value-dialog/select-value-dialog.module.mjs +0 -27
  581. package/esm2022/lib/select-value-dialog/select-value-dialog.service.mjs +0 -29
  582. package/esm2022/lib/sidenav/index.mjs +0 -2
  583. package/esm2022/lib/sidenav/sidenav-shim.directive.mjs +0 -58
  584. package/esm2022/lib/sidenav/sidenav.module.mjs +0 -25
  585. package/esm2022/lib/spinner/index.mjs +0 -9
  586. package/esm2022/lib/spinner/spinner-activity.directive.mjs +0 -56
  587. package/esm2022/lib/spinner/spinner.component.mjs +0 -30
  588. package/esm2022/lib/spinner/spinner.module.mjs +0 -21
  589. package/esm2022/lib/stop-propagation/index.mjs +0 -9
  590. package/esm2022/lib/stop-propagation/stop-drop-propagation.directive.mjs +0 -21
  591. package/esm2022/lib/stop-propagation/stop-propagation.directive.mjs +0 -20
  592. package/esm2022/lib/stop-propagation/stop-propagation.module.mjs +0 -26
  593. package/esm2022/lib/table/index.mjs +0 -6
  594. package/esm2022/lib/table/table-action-color.enum.mjs +0 -7
  595. package/esm2022/lib/table/table-database.mjs +0 -28
  596. package/esm2022/lib/table/table-datasource.mjs +0 -64
  597. package/esm2022/lib/table/table-model.interface.mjs +0 -2
  598. package/esm2022/lib/table/table.component.mjs +0 -143
  599. package/esm2022/lib/table/table.module.mjs +0 -25
  600. package/esm2022/lib/tool/index.mjs +0 -3
  601. package/esm2022/lib/tool/shared/index.mjs +0 -6
  602. package/esm2022/lib/tool/shared/tool-component.mjs +0 -9
  603. package/esm2022/lib/tool/shared/tool.interface.mjs +0 -2
  604. package/esm2022/lib/tool/shared/tool.service.mjs +0 -43
  605. package/esm2022/lib/tool/shared/toolbox.enums.mjs +0 -2
  606. package/esm2022/lib/tool/shared/toolbox.mjs +0 -184
  607. package/esm2022/lib/tool/tool.module.mjs +0 -28
  608. package/esm2022/lib/tool/toolbox/toolbox.animation.mjs +0 -10
  609. package/esm2022/lib/tool/toolbox/toolbox.component.mjs +0 -243
  610. package/esm2022/lib/tool/toolbox/toolbox.module.mjs +0 -19
  611. package/esm2022/lib/widget/index.mjs +0 -3
  612. package/esm2022/lib/widget/shared/index.mjs +0 -4
  613. package/esm2022/lib/widget/shared/widget.interfaces.mjs +0 -2
  614. package/esm2022/lib/widget/shared/widget.mjs +0 -4
  615. package/esm2022/lib/widget/shared/widget.service.mjs +0 -22
  616. package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +0 -114
  617. package/esm2022/lib/widget/widget-outlet/widget-outlet.module.mjs +0 -19
  618. package/esm2022/lib/widget/widget.module.mjs +0 -22
  619. package/esm2022/lib/workspace/index.mjs +0 -10
  620. package/esm2022/lib/workspace/shared/index.mjs +0 -4
  621. package/esm2022/lib/workspace/shared/store.mjs +0 -37
  622. package/esm2022/lib/workspace/shared/workspace.interfaces.mjs +0 -2
  623. package/esm2022/lib/workspace/shared/workspace.mjs +0 -143
  624. package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +0 -52
  625. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -19
  626. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -74
  627. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -19
  628. package/esm2022/lib/workspace/workspace.module.mjs +0 -22
  629. package/lib/action/actionbar/actionbar-item.component.d.ts +0 -78
  630. package/lib/action/actionbar/actionbar.component.d.ts +0 -148
  631. package/lib/action/index.d.ts +0 -2
  632. package/lib/action/shared/action.interfaces.d.ts +0 -17
  633. package/lib/action/shared/store.d.ts +0 -8
  634. package/lib/backdrop/index.d.ts +0 -1
  635. package/lib/badge-icon/badge-icon.directive.d.ts +0 -36
  636. package/lib/badge-icon/index.d.ts +0 -1
  637. package/lib/clickout/index.d.ts +0 -1
  638. package/lib/clone/index.d.ts +0 -1
  639. package/lib/collapsible/index.d.ts +0 -5
  640. package/lib/color-picker-form-field/index.d.ts +0 -1
  641. package/lib/confirm-dialog/index.d.ts +0 -3
  642. package/lib/context-menu/index.d.ts +0 -5
  643. package/lib/custom-html/index.d.ts +0 -5
  644. package/lib/dom/index.d.ts +0 -2
  645. package/lib/drag-drop/index.d.ts +0 -1
  646. package/lib/dynamic-component/index.d.ts +0 -2
  647. package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +0 -49
  648. package/lib/entity/entity-table-paginator/index.d.ts +0 -2
  649. package/lib/entity/entity.module.d.ts +0 -12
  650. package/lib/entity/index.d.ts +0 -9
  651. package/lib/entity/shared/transaction.d.ts +0 -180
  652. package/lib/flexible/flexible.component.d.ts +0 -41
  653. package/lib/flexible/index.d.ts +0 -2
  654. package/lib/form/form-field/index.d.ts +0 -9
  655. package/lib/form/form.module.d.ts +0 -15
  656. package/lib/form/index.d.ts +0 -7
  657. package/lib/form-dialog/form-dialog.component.d.ts +0 -24
  658. package/lib/form-dialog/form-dialog.interface.d.ts +0 -18
  659. package/lib/form-dialog/index.d.ts +0 -3
  660. package/lib/home-button/index.d.ts +0 -1
  661. package/lib/image/index.d.ts +0 -5
  662. package/lib/image/secure-image.pipe.d.ts +0 -13
  663. package/lib/interactive-tour/index.d.ts +0 -4
  664. package/lib/interactive-tour/interactive-tour.component.d.ts +0 -30
  665. package/lib/interactive-tour/interactive-tour.loader.d.ts +0 -18
  666. package/lib/interactive-tour/interactive-tour.service.d.ts +0 -29
  667. package/lib/json-dialog/index.d.ts +0 -2
  668. package/lib/keyvalue/index.d.ts +0 -1
  669. package/lib/list/index.d.ts +0 -5
  670. package/lib/panel/index.d.ts +0 -1
  671. package/lib/select-value-dialog/index.d.ts +0 -4
  672. package/lib/select-value-dialog/select-value-check-radio-dialog.component.d.ts +0 -25
  673. package/lib/sidenav/index.d.ts +0 -1
  674. package/lib/spinner/index.d.ts +0 -5
  675. package/lib/spinner/spinner-activity.directive.d.ts +0 -32
  676. package/lib/spinner/spinner.module.d.ts +0 -11
  677. package/lib/stop-propagation/index.d.ts +0 -5
  678. package/lib/table/index.d.ts +0 -5
  679. package/lib/tool/index.d.ts +0 -2
  680. package/lib/tool/shared/tool.interface.d.ts +0 -18
  681. package/lib/tool/shared/toolbox.d.ts +0 -95
  682. package/lib/tool/toolbox/toolbox.component.d.ts +0 -128
  683. package/lib/widget/index.d.ts +0 -2
  684. package/lib/widget/shared/widget.d.ts +0 -4
  685. package/lib/widget/shared/widget.service.d.ts +0 -10
  686. package/lib/widget/widget-outlet/widget-outlet.component.d.ts +0 -71
  687. package/lib/workspace/index.d.ts +0 -6
  688. package/lib/workspace/shared/store.d.ts +0 -20
  689. package/lib/workspace/shared/workspace.d.ts +0 -108
  690. package/lib/workspace/shared/workspace.interfaces.d.ts +0 -11
  691. package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +0 -38
  692. package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +0 -57
  693. package/lib/workspace/workspace.module.d.ts +0 -11
  694. package/src/lib/action/action.theming.scss +0 -5
  695. package/src/lib/action/actionbar/actionbar-item.theming.scss +0 -32
  696. package/src/lib/action/actionbar/actionbar.theming.scss +0 -22
  697. package/src/lib/collapsible/collapsible.theming.scss +0 -22
  698. package/src/lib/entity/entity-selector/entity-selector.theming.scss +0 -21
  699. package/src/lib/entity/entity-table/entity-table.theming.scss +0 -37
  700. package/src/lib/entity/entity.theming.scss +0 -7
  701. package/src/lib/home-button/home-button.theming.scss +0 -18
  702. package/src/lib/interactive-tour/interactive-tour.theming.scss +0 -32
  703. package/src/lib/list/list.theming.scss +0 -58
  704. package/src/lib/panel/panel.theming.scss +0 -30
  705. package/src/lib/tool/tool.theming.scss +0 -5
  706. package/src/lib/tool/toolbox/toolbox.theming.scss +0 -105
  707. /package/{lib/action → action}/action.module.d.ts +0 -0
  708. /package/{lib/action → action}/actionbar/actionbar.module.d.ts +0 -0
  709. /package/{lib/action → action}/shared/action.enums.d.ts +0 -0
  710. /package/{lib/action → action}/shared/index.d.ts +0 -0
  711. /package/{lib/backdrop → backdrop}/backdrop.component.d.ts +0 -0
  712. /package/{lib/backdrop → backdrop}/backdrop.module.d.ts +0 -0
  713. /package/{lib/badge-icon → badge}/badge-icon.module.d.ts +0 -0
  714. /package/{lib/clickout → clickout}/clickout.directive.d.ts +0 -0
  715. /package/{lib/clickout → clickout}/clickout.module.d.ts +0 -0
  716. /package/{lib/clone → clone}/clone.module.d.ts +0 -0
  717. /package/{lib/clone → clone}/clone.pipe.d.ts +0 -0
  718. /package/{lib/collapsible → collapsible}/collapse.directive.d.ts +0 -0
  719. /package/{lib/collapsible → collapsible}/collapsible.component.d.ts +0 -0
  720. /package/{lib/collapsible → collapsible}/collapsible.module.d.ts +0 -0
  721. /package/{lib → color}/color-picker-form-field/color-picker-form-field.component.d.ts +0 -0
  722. /package/{lib → color}/color-picker-form-field/color-picker-form-field.module.d.ts +0 -0
  723. /package/{lib/confirm-dialog → confirm-dialog}/confirm-dialog.component.d.ts +0 -0
  724. /package/{lib/confirm-dialog → confirm-dialog}/confirm-dialog.interface.d.ts +0 -0
  725. /package/{lib/confirm-dialog → confirm-dialog}/confirm-dialog.module.d.ts +0 -0
  726. /package/{lib/confirm-dialog → confirm-dialog}/confirm-dialog.service.d.ts +0 -0
  727. /package/{lib/context-menu → context-menu}/context-menu.directive.d.ts +0 -0
  728. /package/{lib/context-menu → context-menu}/context-menu.module.d.ts +0 -0
  729. /package/{lib/context-menu → context-menu}/long-press.directive.d.ts +0 -0
  730. /package/{lib/custom-html → custom-html}/custom-html.component.d.ts +0 -0
  731. /package/{lib/custom-html → custom-html}/custom-html.module.d.ts +0 -0
  732. /package/{lib/custom-html → custom-html}/custom-html.pipe.d.ts +0 -0
  733. /package/{lib/dom → dom}/dom.interfaces.d.ts +0 -0
  734. /package/{lib/dom → dom}/dom.module.d.ts +0 -0
  735. /package/{lib/dom → dom}/dom.service.d.ts +0 -0
  736. /package/{lib/drag-drop → drag-drop}/drag-drop.directive.d.ts +0 -0
  737. /package/{lib/drag-drop → drag-drop}/drag-drop.module.d.ts +0 -0
  738. /package/{lib/dynamic-component → dynamic-component}/dynamic-component.module.d.ts +0 -0
  739. /package/{lib/dynamic-component → dynamic-component}/dynamic-outlet/dynamic-outlet.component.d.ts +0 -0
  740. /package/{lib/dynamic-component → dynamic-component}/dynamic-outlet/dynamic-outlet.module.d.ts +0 -0
  741. /package/{lib/dynamic-component → dynamic-component}/shared/dynamic-component.d.ts +0 -0
  742. /package/{lib/dynamic-component → dynamic-component}/shared/dynamic-component.interfaces.d.ts +0 -0
  743. /package/{lib/dynamic-component → dynamic-component}/shared/dynamic-component.service.d.ts +0 -0
  744. /package/{lib/dynamic-component → dynamic-component}/shared/index.d.ts +0 -0
  745. /package/{lib/entity → entity}/entity-selector/entity-selector.component.d.ts +0 -0
  746. /package/{lib/entity → entity}/entity-selector/entity-selector.module.d.ts +0 -0
  747. /package/{lib/entity → entity}/entity-table/entity-table-row.directive.d.ts +0 -0
  748. /package/{lib/entity → entity}/entity-table/entity-table.component.d.ts +0 -0
  749. /package/{lib/entity → entity}/entity-table/entity-table.module.d.ts +0 -0
  750. /package/{lib/entity → entity}/entity-table-paginator/entity-table-paginator.interface.d.ts +0 -0
  751. /package/{lib/entity → entity}/entity-table-paginator/entity-table-paginator.module.d.ts +0 -0
  752. /package/{lib/entity → entity}/shared/entity.enums.d.ts +0 -0
  753. /package/{lib/entity → entity}/shared/entity.interfaces.d.ts +0 -0
  754. /package/{lib/entity → entity}/shared/entity.utils.d.ts +0 -0
  755. /package/{lib/entity → entity}/shared/index.d.ts +0 -0
  756. /package/{lib/entity → entity}/shared/state.d.ts +0 -0
  757. /package/{lib/entity → entity}/shared/store.d.ts +0 -0
  758. /package/{lib/entity → entity}/shared/strategies/filter-custom-function.d.ts +0 -0
  759. /package/{lib/entity → entity}/shared/strategies/filter-selection.d.ts +0 -0
  760. /package/{lib/entity → entity}/shared/strategies/index.d.ts +0 -0
  761. /package/{lib/entity → entity}/shared/strategies/strategy.d.ts +0 -0
  762. /package/{lib/entity → entity}/shared/view.d.ts +0 -0
  763. /package/{lib/entity → entity}/shared/watcher.d.ts +0 -0
  764. /package/{lib/environment → environment}/environment.interface.d.ts +0 -0
  765. /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
  766. /package/{lib/flexible → flexible}/flexible.module.d.ts +0 -0
  767. /package/{lib/flexible → flexible}/flexible.type.d.ts +0 -0
  768. /package/{lib/form → form}/form/form.component.d.ts +0 -0
  769. /package/{lib/form → form}/form/form.module.d.ts +0 -0
  770. /package/{lib → form}/form-dialog/form-dialog.module.d.ts +0 -0
  771. /package/{lib → form}/form-dialog/form-dialog.service.d.ts +0 -0
  772. /package/{lib/form → form}/form-field/form-field-select.component.d.ts +0 -0
  773. /package/{lib/form → form}/form-field/form-field-text.component.d.ts +0 -0
  774. /package/{lib/form → form}/form-field/form-field-textarea.component.d.ts +0 -0
  775. /package/{lib/form → form}/form-field/form-field.component.d.ts +0 -0
  776. /package/{lib/form → form}/form-field/form-field.module.d.ts +0 -0
  777. /package/{lib/form → form}/form-group/form-group.component.d.ts +0 -0
  778. /package/{lib/form → form}/form-group/form-group.module.d.ts +0 -0
  779. /package/{lib/form → form}/shared/form-field-component.d.ts +0 -0
  780. /package/{lib/form → form}/shared/form-field.service.d.ts +0 -0
  781. /package/{lib/form → form}/shared/form.interfaces.d.ts +0 -0
  782. /package/{lib/form → form}/shared/form.service.d.ts +0 -0
  783. /package/{lib/form → form}/shared/form.utils.d.ts +0 -0
  784. /package/{lib/form → form}/shared/index.d.ts +0 -0
  785. /package/{lib/home-button → home-button}/home-button.component.d.ts +0 -0
  786. /package/{lib/home-button → home-button}/home-button.module.d.ts +0 -0
  787. /package/{lib/image → image}/image-error.directive.d.ts +0 -0
  788. /package/{lib/image → image}/image.module.d.ts +0 -0
  789. /package/{lib/interactive-tour → interactive-tour}/interactive-tour.interface.d.ts +0 -0
  790. /package/{lib/interactive-tour → interactive-tour}/interactive-tour.module.d.ts +0 -0
  791. /package/{lib/json-dialog → json-dialog}/json-dialog.component.d.ts +0 -0
  792. /package/{lib/json-dialog → json-dialog}/json-dialog.module.d.ts +0 -0
  793. /package/{lib/json-dialog → json-dialog}/json-dialog.service.d.ts +0 -0
  794. /package/{lib/keyvalue → keyvalue}/keyvalue.module.d.ts +0 -0
  795. /package/{lib/keyvalue → keyvalue}/keyvalue.pipe.d.ts +0 -0
  796. /package/{lib/list → list}/list-item.directive.d.ts +0 -0
  797. /package/{lib/list → list}/list.component.d.ts +0 -0
  798. /package/{lib/list → list}/list.module.d.ts +0 -0
  799. /package/{lib/panel → panel}/panel.component.d.ts +0 -0
  800. /package/{lib/panel → panel}/panel.module.d.ts +0 -0
  801. /package/{lib/select-value-dialog → select-value-dialog}/select-value-dialog.enums.d.ts +0 -0
  802. /package/{lib/select-value-dialog → select-value-dialog}/select-value-dialog.interface.d.ts +0 -0
  803. /package/{lib/select-value-dialog → select-value-dialog}/select-value-dialog.module.d.ts +0 -0
  804. /package/{lib/select-value-dialog → select-value-dialog}/select-value-dialog.service.d.ts +0 -0
  805. /package/{lib/sidenav → sidenav}/sidenav-shim.directive.d.ts +0 -0
  806. /package/{lib/sidenav → sidenav}/sidenav.module.d.ts +0 -0
  807. /package/{lib/spinner → spinner}/spinner.component.d.ts +0 -0
  808. /package/{lib/stop-propagation → stop-propagation}/stop-drop-propagation.directive.d.ts +0 -0
  809. /package/{lib/stop-propagation → stop-propagation}/stop-propagation.directive.d.ts +0 -0
  810. /package/{lib/stop-propagation → stop-propagation}/stop-propagation.module.d.ts +0 -0
  811. /package/{lib/table → table}/table-action-color.enum.d.ts +0 -0
  812. /package/{lib/table → table}/table-database.d.ts +0 -0
  813. /package/{lib/table → table}/table-datasource.d.ts +0 -0
  814. /package/{lib/table → table}/table-model.interface.d.ts +0 -0
  815. /package/{lib/table → table}/table.component.d.ts +0 -0
  816. /package/{lib/table → table}/table.module.d.ts +0 -0
  817. /package/{lib/tool → tool}/shared/index.d.ts +0 -0
  818. /package/{lib/tool → tool}/shared/tool-component.d.ts +0 -0
  819. /package/{lib/tool → tool}/shared/tool.service.d.ts +0 -0
  820. /package/{lib/tool → tool}/shared/toolbox.enums.d.ts +0 -0
  821. /package/{lib/tool → tool}/tool.module.d.ts +0 -0
  822. /package/{lib/tool → tool}/toolbox/toolbox.animation.d.ts +0 -0
  823. /package/{lib/tool → tool}/toolbox/toolbox.module.d.ts +0 -0
  824. /package/{lib/widget → widget}/shared/index.d.ts +0 -0
  825. /package/{lib/widget → widget}/shared/widget.interfaces.d.ts +0 -0
  826. /package/{lib/widget → widget}/widget-outlet/widget-outlet.module.d.ts +0 -0
  827. /package/{lib/widget → widget}/widget.module.d.ts +0 -0
  828. /package/{lib/workspace → workspace}/shared/index.d.ts +0 -0
  829. /package/{lib/workspace → workspace}/workspace-selector/workspace-selector.module.d.ts +0 -0
  830. /package/{lib/workspace → workspace}/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +0 -0
@@ -1,330 +0,0 @@
1
- import { ObjectUtils, uuid } from '@igo2/utils';
2
- import { BehaviorSubject, combineLatest } from 'rxjs';
3
- import { debounceTime, map, skip } from 'rxjs/operators';
4
- /**
5
- * An entity view streams entities from an observable source. These entities
6
- * can be filtered or sorted without affecting the source. A view can also
7
- * combine data from multiple sources, joined together.
8
- */
9
- export class EntityView {
10
- source$;
11
- /**
12
- * Observable stream of values
13
- */
14
- values$ = new BehaviorSubject([]);
15
- /**
16
- * Subscription to the source (and joined sources) values
17
- */
18
- values$$;
19
- /**
20
- * Whether this view has been lifted
21
- */
22
- lifted = false;
23
- /**
24
- * Join clauses
25
- */
26
- joins = [];
27
- /**
28
- * Observable of a filter clause
29
- */
30
- filter$ = new BehaviorSubject(undefined);
31
- /**
32
- * Observable of filter clauses
33
- */
34
- filters$ = new BehaviorSubject([]);
35
- /**
36
- * Filters index
37
- */
38
- filterIndex = new Map();
39
- /**
40
- * Observable of a sort clause
41
- */
42
- sort$ = new BehaviorSubject(undefined);
43
- /**
44
- * Method for indexing
45
- */
46
- get getKey() {
47
- return this.getKey$.value;
48
- }
49
- getKey$ = new BehaviorSubject(undefined);
50
- /**
51
- * Number of entities
52
- */
53
- count$ = new BehaviorSubject(0);
54
- get count() {
55
- return this.count$.value;
56
- }
57
- /**
58
- * Whether the store is empty
59
- */
60
- empty$ = new BehaviorSubject(true);
61
- get empty() {
62
- return this.empty$.value;
63
- }
64
- /**
65
- * Store index
66
- */
67
- get index() {
68
- return this._index;
69
- }
70
- _index;
71
- constructor(source$) {
72
- this.source$ = source$;
73
- }
74
- /**
75
- * Get a value from the view by key
76
- * @param key Key
77
- * @returns Value
78
- */
79
- get(key) {
80
- if (this._index === undefined) {
81
- throw new Error('This view has no index, therefore, this method is unavailable.');
82
- }
83
- return this.index.get(key);
84
- }
85
- /**
86
- * Get all the values
87
- * @returns Array of values
88
- */
89
- all() {
90
- return this.values$.value;
91
- }
92
- /**
93
- * Observe all the values
94
- * @returns Observable of values
95
- */
96
- all$() {
97
- return this.values$;
98
- }
99
- /**
100
- * Get the first value that respects a criteria
101
- * @returns A value
102
- */
103
- firstBy(clause) {
104
- return this.values$.value.find(clause);
105
- }
106
- /**
107
- * Observe the first value that respects a criteria
108
- * @returns Observable of a value
109
- */
110
- firstBy$(clause) {
111
- return this.values$.pipe(map((values) => values.find(clause)));
112
- }
113
- /**
114
- * Get all the values that respect a criteria
115
- * @returns Array of values
116
- */
117
- manyBy(clause) {
118
- return this.values$.value.filter(clause);
119
- }
120
- /**
121
- * Observe all the values that respect a criteria
122
- * @returns Observable of values
123
- */
124
- manyBy$(clause) {
125
- return this.values$.pipe(map((values) => values.filter(clause)));
126
- }
127
- /**
128
- * Clear the filter and sort and unsubscribe from the source
129
- */
130
- clear() {
131
- this.filter(undefined);
132
- this.sort(undefined);
133
- }
134
- destroy() {
135
- if (this.values$$ !== undefined) {
136
- this.values$$.unsubscribe();
137
- }
138
- this.clear();
139
- }
140
- /**
141
- * Create an index
142
- * @param getKey Method to get a value's id
143
- * @returns The view
144
- */
145
- createIndex(getKey) {
146
- this._index = new Map();
147
- this.getKey$.next(getKey);
148
- return this;
149
- }
150
- /**
151
- * Join another source to the stream (chainable)
152
- * @param clause Join clause
153
- * @returns The view
154
- */
155
- join(clause) {
156
- if (this.lifted === true) {
157
- throw new Error('This view has already been lifted, therefore, no join is allowed.');
158
- }
159
- this.joins.push(clause);
160
- return this;
161
- }
162
- /**
163
- * Filter values (chainable)
164
- * @param clause Filter clause
165
- * @returns The view
166
- */
167
- filter(clause) {
168
- this.filter$.next(clause);
169
- return this;
170
- }
171
- /**
172
- * @param clause Filter clause
173
- * @returns The filter id
174
- */
175
- addFilter(clause) {
176
- const id = uuid();
177
- this.filterIndex.set(id, clause);
178
- this.filters$.next(Array.from(this.filterIndex.values()));
179
- return id;
180
- }
181
- /**
182
- * Remove a filter by id
183
- * @param clause Filter clause
184
- */
185
- removeFilter(id) {
186
- this.filterIndex.delete(id);
187
- this.filters$.next(Array.from(this.filterIndex.values()));
188
- }
189
- /**
190
- * Sort values (chainable)
191
- * @param clauseSort clause
192
- * @returns The view
193
- */
194
- sort(clause) {
195
- this.sort$.next(clause);
196
- return this;
197
- }
198
- /**
199
- * Create the final observable
200
- * @returns Observable
201
- */
202
- lift() {
203
- this.lifted = true;
204
- const source$ = this.joins.length > 0 ? this.liftJoinedSource() : this.liftSource();
205
- const observables$ = [
206
- source$,
207
- this.filters$,
208
- this.filter$,
209
- this.sort$,
210
- this.getKey$
211
- ];
212
- this.values$$ = combineLatest(observables$)
213
- .pipe(skip(1), debounceTime(5))
214
- .subscribe((bunch) => {
215
- const [_values, filters, filter, sort, getKey] = bunch;
216
- const values = this.processValues(_values, filters, filter, sort);
217
- const generateIndex = getKey !== undefined;
218
- this.setValues(values, generateIndex);
219
- });
220
- }
221
- /**
222
- * Create the source observable when no joins are defined
223
- * @returns Observable
224
- */
225
- liftSource() {
226
- return this.source$;
227
- }
228
- /**
229
- * Create the source observable when joins are defined
230
- * @returns Observable
231
- */
232
- liftJoinedSource() {
233
- const sources$ = [
234
- this.source$,
235
- combineLatest(this.joins.map((join) => join.source))
236
- ];
237
- return combineLatest(sources$).pipe(map((bunch) => {
238
- const [entities, joinData] = bunch;
239
- return entities.reduce((values, entity) => {
240
- const value = this.computeJoinedValue(entity, joinData);
241
- if (value !== undefined) {
242
- values.push(value);
243
- }
244
- return values;
245
- }, []);
246
- }));
247
- }
248
- /**
249
- * Apply joins to a source's entity and return the final value
250
- * @returns Final value
251
- */
252
- computeJoinedValue(entity, joinData) {
253
- let value = entity;
254
- let joinIndex = 0;
255
- while (value !== undefined && joinIndex < this.joins.length) {
256
- value = this.joins[joinIndex].reduce(value, joinData[joinIndex]);
257
- joinIndex += 1;
258
- }
259
- return value;
260
- }
261
- /**
262
- * Filter and sort values before streaming them
263
- * @param values Values
264
- * @param filters Filter clauses
265
- * @param filter Filter clause
266
- * @param sort Sort clause
267
- * @returns Filtered and sorted values
268
- */
269
- processValues(values, filters, filter, sort) {
270
- values = values.slice(0);
271
- values = this.filterValues(values, filters.concat([filter]));
272
- values = this.sortValues(values, sort);
273
- return values;
274
- }
275
- /**
276
- * Filter values
277
- * @param values Values
278
- * @param filters Filter clauses
279
- * @returns Filtered values
280
- */
281
- filterValues(values, clauses) {
282
- if (clauses.length === 0) {
283
- return values;
284
- }
285
- return values.filter((value) => {
286
- return clauses
287
- .filter((clause) => clause !== undefined)
288
- .every((clause) => clause(value));
289
- });
290
- }
291
- /**
292
- * Sort values
293
- * @param values Values
294
- * @param sort Sort clause
295
- * @returns Sorted values
296
- */
297
- sortValues(values, clause) {
298
- if (clause === undefined) {
299
- return values;
300
- }
301
- return values.sort((v1, v2) => {
302
- return ObjectUtils.naturalCompare(clause.valueAccessor(v1), clause.valueAccessor(v2), clause.direction, clause.nullsFirst);
303
- });
304
- }
305
- /**
306
- * Set value and optionally generate an index
307
- * @param values Values
308
- * @param generateIndex boolean
309
- */
310
- setValues(values, generateIndex) {
311
- if (generateIndex === true) {
312
- this._index = this.generateIndex(values);
313
- }
314
- this.values$.next(values);
315
- const count = values.length;
316
- const empty = count === 0;
317
- this.count$.next(count);
318
- this.empty$.next(empty);
319
- }
320
- /**
321
- * Generate a complete index of all the values
322
- * @param entities Entities
323
- * @returns Index
324
- */
325
- generateIndex(values) {
326
- const entries = values.map((value) => [this.getKey(value), value]);
327
- return new Map(entries);
328
- }
329
- }
330
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZUFBZSxFQUE0QixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTekQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBNkVEO0lBNUVwQjs7T0FFRztJQUNNLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUVoRDs7T0FFRztJQUNLLFFBQVEsQ0FBZTtJQUUvQjs7T0FFRztJQUNLLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFdkI7O09BRUc7SUFDSyxLQUFLLEdBQXVCLEVBQUUsQ0FBQztJQUV2Qzs7T0FFRztJQUNLLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVqRDs7T0FFRztJQUNLLFFBQVEsR0FBMEMsSUFBSSxlQUFlLENBQzNFLEVBQUUsQ0FDSCxDQUFDO0lBRUY7O09BRUc7SUFDSyxXQUFXLEdBQW9DLElBQUksR0FBRyxFQUFFLENBQUM7SUFFakU7O09BRUc7SUFDSyxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFL0M7O09BRUc7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDTyxPQUFPLEdBQXNDLElBQUksZUFBZSxDQUN0RSxTQUFTLENBQ1YsQ0FBQztJQUVGOztPQUVHO0lBQ00sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFTLENB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QUksYUFBYSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixNQUFNLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssYUFBYSxDQUFDLE1BQVc7UUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JqZWN0VXRpbHMsIHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgc2tpcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRW50aXR5RmlsdGVyQ2xhdXNlLFxyXG4gIEVudGl0eUpvaW5DbGF1c2UsXHJcbiAgRW50aXR5S2V5LFxyXG4gIEVudGl0eVNvcnRDbGF1c2VcclxufSBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBbiBlbnRpdHkgdmlldyBzdHJlYW1zIGVudGl0aWVzIGZyb20gYW4gb2JzZXJ2YWJsZSBzb3VyY2UuIFRoZXNlIGVudGl0aWVzXHJcbiAqIGNhbiBiZSBmaWx0ZXJlZCBvciBzb3J0ZWQgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHNvdXJjZS4gQSB2aWV3IGNhbiBhbHNvXHJcbiAqIGNvbWJpbmUgZGF0YSBmcm9tIG11bHRpcGxlIHNvdXJjZXMsIGpvaW5lZCB0b2dldGhlci5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlWaWV3PEUgZXh0ZW5kcyBvYmplY3QsIFYgZXh0ZW5kcyBvYmplY3QgPSBFPiB7XHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBzdHJlYW0gb2YgdmFsdWVzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdmFsdWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VltdPihbXSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc291cmNlIChhbmQgam9pbmVkIHNvdXJjZXMpIHZhbHVlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgdmFsdWVzJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGlzIHZpZXcgaGFzIGJlZW4gbGlmdGVkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsaWZ0ZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSm9pbiBjbGF1c2VzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBqb2luczogRW50aXR5Sm9pbkNsYXVzZVtdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIE9ic2VydmFibGUgb2YgYSBmaWx0ZXIgY2xhdXNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWx0ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIG9mIGZpbHRlciBjbGF1c2VzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWx0ZXJzJDogQmVoYXZpb3JTdWJqZWN0PEVudGl0eUZpbHRlckNsYXVzZVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICBbXVxyXG4gICk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlcnMgaW5kZXhcclxuICAgKi9cclxuICBwcml2YXRlIGZpbHRlckluZGV4OiBNYXA8c3RyaW5nLCBFbnRpdHlGaWx0ZXJDbGF1c2U+ID0gbmV3IE1hcCgpO1xyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIG9mIGEgc29ydCBjbGF1c2VcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgZm9yIGluZGV4aW5nXHJcbiAgICovXHJcbiAgZ2V0IGdldEtleSgpOiAoVikgPT4gRW50aXR5S2V5IHtcclxuICAgIHJldHVybiB0aGlzLmdldEtleSQudmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0S2V5JDogQmVoYXZpb3JTdWJqZWN0PChWKSA9PiBFbnRpdHlLZXk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIHVuZGVmaW5lZFxyXG4gICk7XHJcblxyXG4gIC8qKlxyXG4gICAqIE51bWJlciBvZiBlbnRpdGllc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNvdW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICBnZXQgY291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmNvdW50JC52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIHN0b3JlIGlzIGVtcHR5XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZW1wdHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcclxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lbXB0eSQudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9yZSBpbmRleFxyXG4gICAqL1xyXG4gIGdldCBpbmRleCgpOiBNYXA8RW50aXR5S2V5LCBWPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5kZXg7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2luZGV4OiBNYXA8RW50aXR5S2V5LCBWPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzb3VyY2UkOiBCZWhhdmlvclN1YmplY3Q8RVtdPikge31cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGEgdmFsdWUgZnJvbSB0aGUgdmlldyBieSBrZXlcclxuICAgKiBAcGFyYW0ga2V5IEtleVxyXG4gICAqIEByZXR1cm5zIFZhbHVlXHJcbiAgICovXHJcbiAgZ2V0KGtleTogRW50aXR5S2V5KTogViB7XHJcbiAgICBpZiAodGhpcy5faW5kZXggPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgJ1RoaXMgdmlldyBoYXMgbm8gaW5kZXgsIHRoZXJlZm9yZSwgdGhpcyBtZXRob2QgaXMgdW5hdmFpbGFibGUuJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaW5kZXguZ2V0KGtleSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIHRoZSB2YWx1ZXNcclxuICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWx1ZXNcclxuICAgKi9cclxuICBhbGwoKTogVltdIHtcclxuICAgIHJldHVybiB0aGlzLnZhbHVlcyQudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZlIGFsbCB0aGUgdmFsdWVzXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB2YWx1ZXNcclxuICAgKi9cclxuICBhbGwkKCk6IEJlaGF2aW9yU3ViamVjdDxWW10+IHtcclxuICAgIHJldHVybiB0aGlzLnZhbHVlcyQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIGZpcnN0IHZhbHVlIHRoYXQgcmVzcGVjdHMgYSBjcml0ZXJpYVxyXG4gICAqIEByZXR1cm5zIEEgdmFsdWVcclxuICAgKi9cclxuICBmaXJzdEJ5KGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlPFY+KTogViB7XHJcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMkLnZhbHVlLmZpbmQoY2xhdXNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9ic2VydmUgdGhlIGZpcnN0IHZhbHVlIHRoYXQgcmVzcGVjdHMgYSBjcml0ZXJpYVxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgYSB2YWx1ZVxyXG4gICAqL1xyXG4gIGZpcnN0QnkkKGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlPFY+KTogT2JzZXJ2YWJsZTxWPiB7XHJcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMkLnBpcGUobWFwKCh2YWx1ZXM6IFZbXSkgPT4gdmFsdWVzLmZpbmQoY2xhdXNlKSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCB0aGUgdmFsdWVzIHRoYXQgcmVzcGVjdCBhIGNyaXRlcmlhXHJcbiAgICogQHJldHVybnMgQXJyYXkgb2YgdmFsdWVzXHJcbiAgICovXHJcbiAgbWFueUJ5KGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlPFY+KTogVltdIHtcclxuICAgIHJldHVybiB0aGlzLnZhbHVlcyQudmFsdWUuZmlsdGVyKGNsYXVzZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZlIGFsbCB0aGUgdmFsdWVzIHRoYXQgcmVzcGVjdCBhIGNyaXRlcmlhXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB2YWx1ZXNcclxuICAgKi9cclxuICBtYW55QnkkKGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlPFY+KTogT2JzZXJ2YWJsZTxWW10+IHtcclxuICAgIHJldHVybiB0aGlzLnZhbHVlcyQucGlwZShtYXAoKHZhbHVlczogVltdKSA9PiB2YWx1ZXMuZmlsdGVyKGNsYXVzZSkpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBmaWx0ZXIgYW5kIHNvcnQgYW5kIHVuc3Vic2NyaWJlIGZyb20gdGhlIHNvdXJjZVxyXG4gICAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5maWx0ZXIodW5kZWZpbmVkKTtcclxuICAgIHRoaXMuc29ydCh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLnZhbHVlcyQkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy52YWx1ZXMkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGFuIGluZGV4XHJcbiAgICogQHBhcmFtIGdldEtleSBNZXRob2QgdG8gZ2V0IGEgdmFsdWUncyBpZFxyXG4gICAqIEByZXR1cm5zIFRoZSB2aWV3XHJcbiAgICovXHJcbiAgY3JlYXRlSW5kZXgoZ2V0S2V5OiAoRSkgPT4gRW50aXR5S2V5KTogRW50aXR5VmlldzxFLCBWPiB7XHJcbiAgICB0aGlzLl9pbmRleCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuZ2V0S2V5JC5uZXh0KGdldEtleSk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEpvaW4gYW5vdGhlciBzb3VyY2UgdG8gdGhlIHN0cmVhbSAoY2hhaW5hYmxlKVxyXG4gICAqIEBwYXJhbSBjbGF1c2UgSm9pbiBjbGF1c2VcclxuICAgKiBAcmV0dXJucyBUaGUgdmlld1xyXG4gICAqL1xyXG4gIGpvaW4oY2xhdXNlOiBFbnRpdHlKb2luQ2xhdXNlKTogRW50aXR5VmlldzxFLCBWPiB7XHJcbiAgICBpZiAodGhpcy5saWZ0ZWQgPT09IHRydWUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICdUaGlzIHZpZXcgaGFzIGFscmVhZHkgYmVlbiBsaWZ0ZWQsIHRoZXJlZm9yZSwgbm8gam9pbiBpcyBhbGxvd2VkLidcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuam9pbnMucHVzaChjbGF1c2UpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaWx0ZXIgdmFsdWVzIChjaGFpbmFibGUpXHJcbiAgICogQHBhcmFtIGNsYXVzZSBGaWx0ZXIgY2xhdXNlXHJcbiAgICogQHJldHVybnMgVGhlIHZpZXdcclxuICAgKi9cclxuICBmaWx0ZXIoY2xhdXNlOiBFbnRpdHlGaWx0ZXJDbGF1c2U8Vj4pOiBFbnRpdHlWaWV3PEUsIFY+IHtcclxuICAgIHRoaXMuZmlsdGVyJC5uZXh0KGNsYXVzZSk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwYXJhbSBjbGF1c2UgRmlsdGVyIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBmaWx0ZXIgaWRcclxuICAgKi9cclxuICBhZGRGaWx0ZXIoY2xhdXNlOiBFbnRpdHlGaWx0ZXJDbGF1c2U8Vj4pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgaWQgPSB1dWlkKCk7XHJcbiAgICB0aGlzLmZpbHRlckluZGV4LnNldChpZCwgY2xhdXNlKTtcclxuICAgIHRoaXMuZmlsdGVycyQubmV4dChBcnJheS5mcm9tKHRoaXMuZmlsdGVySW5kZXgudmFsdWVzKCkpKTtcclxuICAgIHJldHVybiBpZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhIGZpbHRlciBieSBpZFxyXG4gICAqIEBwYXJhbSBjbGF1c2UgRmlsdGVyIGNsYXVzZVxyXG4gICAqL1xyXG4gIHJlbW92ZUZpbHRlcihpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZpbHRlckluZGV4LmRlbGV0ZShpZCk7XHJcbiAgICB0aGlzLmZpbHRlcnMkLm5leHQoQXJyYXkuZnJvbSh0aGlzLmZpbHRlckluZGV4LnZhbHVlcygpKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTb3J0IHZhbHVlcyAoY2hhaW5hYmxlKVxyXG4gICAqIEBwYXJhbSBjbGF1c2VTb3J0IGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSB2aWV3XHJcbiAgICovXHJcbiAgc29ydChjbGF1c2U6IEVudGl0eVNvcnRDbGF1c2U8Vj4pOiBFbnRpdHlWaWV3PEUsIFY+IHtcclxuICAgIHRoaXMuc29ydCQubmV4dChjbGF1c2UpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgdGhlIGZpbmFsIG9ic2VydmFibGVcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlXHJcbiAgICovXHJcbiAgbGlmdCgpIHtcclxuICAgIHRoaXMubGlmdGVkID0gdHJ1ZTtcclxuICAgIGNvbnN0IHNvdXJjZSQgPVxyXG4gICAgICB0aGlzLmpvaW5zLmxlbmd0aCA+IDAgPyB0aGlzLmxpZnRKb2luZWRTb3VyY2UoKSA6IHRoaXMubGlmdFNvdXJjZSgpO1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXMkID0gW1xyXG4gICAgICBzb3VyY2UkLFxyXG4gICAgICB0aGlzLmZpbHRlcnMkLFxyXG4gICAgICB0aGlzLmZpbHRlciQsXHJcbiAgICAgIHRoaXMuc29ydCQsXHJcbiAgICAgIHRoaXMuZ2V0S2V5JFxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLnZhbHVlcyQkID0gY29tYmluZUxhdGVzdChvYnNlcnZhYmxlcyQpXHJcbiAgICAgIC5waXBlKHNraXAoMSksIGRlYm91bmNlVGltZSg1KSlcclxuICAgICAgLnN1YnNjcmliZSgoYnVuY2g6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgY29uc3QgW192YWx1ZXMsIGZpbHRlcnMsIGZpbHRlciwgc29ydCwgZ2V0S2V5XSA9IGJ1bmNoO1xyXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMucHJvY2Vzc1ZhbHVlcyhfdmFsdWVzLCBmaWx0ZXJzLCBmaWx0ZXIsIHNvcnQpO1xyXG4gICAgICAgIGNvbnN0IGdlbmVyYXRlSW5kZXggPSBnZXRLZXkgIT09IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnNldFZhbHVlcyh2YWx1ZXMsIGdlbmVyYXRlSW5kZXgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgc291cmNlIG9ic2VydmFibGUgd2hlbiBubyBqb2lucyBhcmUgZGVmaW5lZFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGVcclxuICAgKi9cclxuICBwcml2YXRlIGxpZnRTb3VyY2UoKTogT2JzZXJ2YWJsZTxWW10+IHtcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZSQgYXMgYW55IGFzIE9ic2VydmFibGU8VltdPjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgc291cmNlIG9ic2VydmFibGUgd2hlbiBqb2lucyBhcmUgZGVmaW5lZFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGVcclxuICAgKi9cclxuICBwcml2YXRlIGxpZnRKb2luZWRTb3VyY2UoKTogT2JzZXJ2YWJsZTxWW10+IHtcclxuICAgIGNvbnN0IHNvdXJjZXMkID0gW1xyXG4gICAgICB0aGlzLnNvdXJjZSQsXHJcbiAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5qb2lucy5tYXAoKGpvaW46IEVudGl0eUpvaW5DbGF1c2UpID0+IGpvaW4uc291cmNlKSlcclxuICAgIF07XHJcblxyXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3Qoc291cmNlcyQpLnBpcGUoXHJcbiAgICAgIG1hcCgoYnVuY2g6IFtFW10sIGFueVtdXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IFtlbnRpdGllcywgam9pbkRhdGFdID0gYnVuY2g7XHJcbiAgICAgICAgcmV0dXJuIGVudGl0aWVzLnJlZHVjZSgodmFsdWVzOiBWW10sIGVudGl0eTogRSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbXB1dGVKb2luZWRWYWx1ZShlbnRpdHksIGpvaW5EYXRhKTtcclxuICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB2YWx1ZXM7XHJcbiAgICAgICAgfSwgW10pO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFwcGx5IGpvaW5zIHRvIGEgc291cmNlJ3MgZW50aXR5IGFuZCByZXR1cm4gdGhlIGZpbmFsIHZhbHVlXHJcbiAgICogQHJldHVybnMgRmluYWwgdmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIGNvbXB1dGVKb2luZWRWYWx1ZShlbnRpdHk6IEUsIGpvaW5EYXRhOiBhbnlbXSk6IFYgfCB1bmRlZmluZWQge1xyXG4gICAgbGV0IHZhbHVlID0gZW50aXR5IGFzIFBhcnRpYWw8Vj47XHJcbiAgICBsZXQgam9pbkluZGV4ID0gMDtcclxuICAgIHdoaWxlICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGpvaW5JbmRleCA8IHRoaXMuam9pbnMubGVuZ3RoKSB7XHJcbiAgICAgIHZhbHVlID0gdGhpcy5qb2luc1tqb2luSW5kZXhdLnJlZHVjZSh2YWx1ZSwgam9pbkRhdGFbam9pbkluZGV4XSk7XHJcbiAgICAgIGpvaW5JbmRleCArPSAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlIGFzIFY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaWx0ZXIgYW5kIHNvcnQgdmFsdWVzIGJlZm9yZSBzdHJlYW1pbmcgdGhlbVxyXG4gICAqIEBwYXJhbSB2YWx1ZXMgVmFsdWVzXHJcbiAgICogQHBhcmFtIGZpbHRlcnMgRmlsdGVyIGNsYXVzZXNcclxuICAgKiBAcGFyYW0gZmlsdGVyIEZpbHRlciBjbGF1c2VcclxuICAgKiBAcGFyYW0gc29ydCBTb3J0IGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIEZpbHRlcmVkIGFuZCBzb3J0ZWQgdmFsdWVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwcm9jZXNzVmFsdWVzKFxyXG4gICAgdmFsdWVzOiBWW10sXHJcbiAgICBmaWx0ZXJzOiBFbnRpdHlGaWx0ZXJDbGF1c2VbXSxcclxuICAgIGZpbHRlcjogRW50aXR5RmlsdGVyQ2xhdXNlLFxyXG4gICAgc29ydDogRW50aXR5U29ydENsYXVzZVxyXG4gICk6IFZbXSB7XHJcbiAgICB2YWx1ZXMgPSB2YWx1ZXMuc2xpY2UoMCk7XHJcbiAgICB2YWx1ZXMgPSB0aGlzLmZpbHRlclZhbHVlcyh2YWx1ZXMsIGZpbHRlcnMuY29uY2F0KFtmaWx0ZXJdKSk7XHJcbiAgICB2YWx1ZXMgPSB0aGlzLnNvcnRWYWx1ZXModmFsdWVzLCBzb3J0KTtcclxuICAgIHJldHVybiB2YWx1ZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaWx0ZXIgdmFsdWVzXHJcbiAgICogQHBhcmFtIHZhbHVlcyBWYWx1ZXNcclxuICAgKiBAcGFyYW0gZmlsdGVycyBGaWx0ZXIgY2xhdXNlc1xyXG4gICAqIEByZXR1cm5zIEZpbHRlcmVkIHZhbHVlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZmlsdGVyVmFsdWVzKHZhbHVlczogVltdLCBjbGF1c2VzOiBFbnRpdHlGaWx0ZXJDbGF1c2VbXSk6IFZbXSB7XHJcbiAgICBpZiAoY2xhdXNlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHZhbHVlcztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigodmFsdWU6IFYpID0+IHtcclxuICAgICAgcmV0dXJuIGNsYXVzZXNcclxuICAgICAgICAuZmlsdGVyKChjbGF1c2U6IEVudGl0eUZpbHRlckNsYXVzZSkgPT4gY2xhdXNlICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgLmV2ZXJ5KChjbGF1c2U6IEVudGl0eUZpbHRlckNsYXVzZSkgPT4gY2xhdXNlKHZhbHVlKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgdmFsdWVzXHJcbiAgICogQHBhcmFtIHZhbHVlcyBWYWx1ZXNcclxuICAgKiBAcGFyYW0gc29ydCBTb3J0IGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFNvcnRlZCB2YWx1ZXNcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnRWYWx1ZXModmFsdWVzOiBWW10sIGNsYXVzZTogRW50aXR5U29ydENsYXVzZSk6IFZbXSB7XHJcbiAgICBpZiAoY2xhdXNlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlcztcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZXMuc29ydCgodjE6IFYsIHYyOiBWKSA9PiB7XHJcbiAgICAgIHJldHVybiBPYmplY3RVdGlscy5uYXR1cmFsQ29tcGFyZShcclxuICAgICAgICBjbGF1c2UudmFsdWVBY2Nlc3Nvcih2MSksXHJcbiAgICAgICAgY2xhdXNlLnZhbHVlQWNjZXNzb3IodjIpLFxyXG4gICAgICAgIGNsYXVzZS5kaXJlY3Rpb24sXHJcbiAgICAgICAgY2xhdXNlLm51bGxzRmlyc3RcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHZhbHVlIGFuZCBvcHRpb25hbGx5IGdlbmVyYXRlIGFuIGluZGV4XHJcbiAgICogQHBhcmFtIHZhbHVlcyBWYWx1ZXNcclxuICAgKiBAcGFyYW0gZ2VuZXJhdGVJbmRleCBib29sZWFuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZXModmFsdWVzOiBWW10sIGdlbmVyYXRlSW5kZXg6IGJvb2xlYW4pIHtcclxuICAgIGlmIChnZW5lcmF0ZUluZGV4ID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuX2luZGV4ID0gdGhpcy5nZW5lcmF0ZUluZGV4KHZhbHVlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52YWx1ZXMkLm5leHQodmFsdWVzKTtcclxuXHJcbiAgICBjb25zdCBjb3VudCA9IHZhbHVlcy5sZW5ndGg7XHJcbiAgICBjb25zdCBlbXB0eSA9IGNvdW50ID09PSAwO1xyXG4gICAgdGhpcy5jb3VudCQubmV4dChjb3VudCk7XHJcbiAgICB0aGlzLmVtcHR5JC5uZXh0KGVtcHR5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlIGEgY29tcGxldGUgaW5kZXggb2YgYWxsIHRoZSB2YWx1ZXNcclxuICAgKiBAcGFyYW0gZW50aXRpZXMgRW50aXRpZXNcclxuICAgKiBAcmV0dXJucyBJbmRleFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2VuZXJhdGVJbmRleCh2YWx1ZXM6IFZbXSk6IE1hcDxFbnRpdHlLZXksIFY+IHtcclxuICAgIGNvbnN0IGVudHJpZXMgPSB2YWx1ZXMubWFwKCh2YWx1ZTogVikgPT4gW3RoaXMuZ2V0S2V5KHZhbHVlKSwgdmFsdWVdKTtcclxuICAgIHJldHVybiBuZXcgTWFwKGVudHJpZXMgYXMgW0VudGl0eUtleSwgVl1bXSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,135 +0,0 @@
1
- import { ObjectUtils } from '@igo2/utils';
2
- import { skip } from 'rxjs/operators';
3
- /**
4
- * This class is used to synchronize a component's changes
5
- * detection with an EntityStore changes. For example, it is frequent
6
- * to have a component subscribe to a store's selected entity and, at the same time,
7
- * this component provides a way to select an entity with, let's say, a click.
8
- *
9
- * This class automatically handles those case and triggers the compoent's
10
- * change detection when needed.
11
- *
12
- * Note: If the component observes the store's stateView, a workspace is
13
- * probably not required because the stateView catches any changes to the
14
- * entities and their state.
15
- */
16
- export class EntityStoreWatcher {
17
- /**
18
- * Component change detector
19
- */
20
- cdRef;
21
- /**
22
- * Entity store
23
- */
24
- store;
25
- /**
26
- * Component inner state
27
- */
28
- innerStateIndex = new Map();
29
- /**
30
- * Subscription to the store's entities
31
- */
32
- entities$$;
33
- /**
34
- * Subscription to the store's state
35
- */
36
- state$$;
37
- constructor(store, cdRef) {
38
- this.setChangeDetector(cdRef);
39
- this.setStore(store);
40
- }
41
- destroy() {
42
- this.setChangeDetector(undefined);
43
- this.setStore(undefined);
44
- }
45
- /**
46
- * Bind this workspace to a store and start watching for changes
47
- * @param store Entity store
48
- */
49
- setStore(store) {
50
- if (store === undefined) {
51
- this.teardownObservers();
52
- this.innerStateIndex.clear();
53
- this.store = undefined;
54
- return;
55
- }
56
- this.setStore(undefined);
57
- this.store = store;
58
- this.setupObservers();
59
- this.detectChanges();
60
- }
61
- /**
62
- * Bind this workspace to a component's change detector
63
- * @param cdRef Change detector
64
- */
65
- setChangeDetector(cdRef) {
66
- this.cdRef = cdRef;
67
- }
68
- /**
69
- * Set up observers on a store's entities and their state
70
- * @param store Entity store
71
- */
72
- setupObservers() {
73
- this.teardownObservers();
74
- this.entities$$ = this.store.entities$.subscribe((entities) => this.onEntitiesChange(entities));
75
- this.state$$ = this.store.state.change$
76
- .pipe(skip(1))
77
- .subscribe(() => this.onStateChange());
78
- }
79
- /**
80
- * Teardown store observers
81
- */
82
- teardownObservers() {
83
- if (this.entities$$ !== undefined) {
84
- this.entities$$.unsubscribe();
85
- }
86
- if (this.state$$ !== undefined) {
87
- this.state$$.unsubscribe();
88
- }
89
- this.entities$$ = undefined;
90
- this.state$$ = undefined;
91
- }
92
- /**
93
- * When the entities change, always trigger the changes detection
94
- */
95
- onEntitiesChange(entities) {
96
- this.detectChanges();
97
- }
98
- /**
99
- * When the entities state change, trigger the change detection
100
- * only if the component has not handled these changes yet. For example,
101
- * the component might have initiated thoses changes itself.
102
- */
103
- onStateChange() {
104
- let changesDetected = false;
105
- const storeIndex = this.store.state.index;
106
- const innerIndex = this.innerStateIndex;
107
- if (storeIndex.size !== innerIndex.size) {
108
- changesDetected = this.detectChanges();
109
- }
110
- const storeKeys = Array.from(storeIndex.keys());
111
- for (const key of storeKeys) {
112
- const storeValue = storeIndex.get(key);
113
- const innerValue = innerIndex.get(key);
114
- if (changesDetected === false) {
115
- if (innerValue === undefined) {
116
- changesDetected = this.detectChanges();
117
- }
118
- else if (!ObjectUtils.objectsAreEquivalent(storeValue, innerValue)) {
119
- changesDetected = this.detectChanges();
120
- }
121
- }
122
- this.innerStateIndex.set(key, Object.assign({}, storeValue));
123
- }
124
- }
125
- /**
126
- * Trigger the change detection of the workspace is bound to a change detector
127
- */
128
- detectChanges() {
129
- if (this.cdRef !== undefined) {
130
- this.cdRef.detectChanges();
131
- }
132
- return true;
133
- }
134
- }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUt0Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOztPQUVHO0lBQ0ssS0FBSyxDQUFvQjtJQUVqQzs7T0FFRztJQUNLLEtBQUssQ0FBaUI7SUFFOUI7O09BRUc7SUFDSyxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7SUFFdkU7O09BRUc7SUFDSyxVQUFVLENBQWU7SUFFakM7O09BRUc7SUFDSyxPQUFPLENBQWU7SUFFOUIsWUFBWSxLQUFzQixFQUFFLEtBQXlCO1FBQzNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFzQjtRQUM3QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMs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O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5S2V5IH0gZnJvbSAnLi9lbnRpdHkuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBjbGFzcyBpcyB1c2VkIHRvIHN5bmNocm9uaXplIGEgY29tcG9uZW50J3MgY2hhbmdlc1xyXG4gKiBkZXRlY3Rpb24gd2l0aCBhbiBFbnRpdHlTdG9yZSBjaGFuZ2VzLiBGb3IgZXhhbXBsZSwgaXQgaXMgZnJlcXVlbnRcclxuICogdG8gaGF2ZSBhIGNvbXBvbmVudCBzdWJzY3JpYmUgdG8gYSBzdG9yZSdzIHNlbGVjdGVkIGVudGl0eSBhbmQsIGF0IHRoZSBzYW1lIHRpbWUsXHJcbiAqIHRoaXMgY29tcG9uZW50IHByb3ZpZGVzIGEgd2F5IHRvIHNlbGVjdCBhbiBlbnRpdHkgd2l0aCwgbGV0J3Mgc2F5LCBhIGNsaWNrLlxyXG4gKlxyXG4gKiBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB0aG9zZSBjYXNlIGFuZCB0cmlnZ2VycyB0aGUgY29tcG9lbnQnc1xyXG4gKiBjaGFuZ2UgZGV0ZWN0aW9uIHdoZW4gbmVlZGVkLlxyXG4gKlxyXG4gKiBOb3RlOiBJZiB0aGUgY29tcG9uZW50IG9ic2VydmVzIHRoZSBzdG9yZSdzIHN0YXRlVmlldywgYSB3b3Jrc3BhY2UgaXNcclxuICogcHJvYmFibHkgbm90IHJlcXVpcmVkIGJlY2F1c2UgdGhlIHN0YXRlVmlldyBjYXRjaGVzIGFueSBjaGFuZ2VzIHRvIHRoZVxyXG4gKiBlbnRpdGllcyBhbmQgdGhlaXIgc3RhdGUuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmVXYXRjaGVyPEUgZXh0ZW5kcyBvYmplY3Q+IHtcclxuICAvKipcclxuICAgKiBDb21wb25lbnQgY2hhbmdlIGRldGVjdG9yXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVudGl0eSBzdG9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RvcmU6IEVudGl0eVN0b3JlPEU+O1xyXG5cclxuICAvKipcclxuICAgKiBDb21wb25lbnQgaW5uZXIgc3RhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGlubmVyU3RhdGVJbmRleCA9IG5ldyBNYXA8RW50aXR5S2V5LCB7IFtrZXk6IHN0cmluZ106IGFueSB9PigpO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHN0b3JlJ3MgZW50aXRpZXNcclxuICAgKi9cclxuICBwcml2YXRlIGVudGl0aWVzJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzdG9yZSdzIHN0YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0ZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHN0b3JlPzogRW50aXR5U3RvcmU8RT4sIGNkUmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuc2V0Q2hhbmdlRGV0ZWN0b3IoY2RSZWYpO1xyXG4gICAgdGhpcy5zZXRTdG9yZShzdG9yZSk7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95KCkge1xyXG4gICAgdGhpcy5zZXRDaGFuZ2VEZXRlY3Rvcih1bmRlZmluZWQpO1xyXG4gICAgdGhpcy5zZXRTdG9yZSh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGlzIHdvcmtzcGFjZSB0byBhIHN0b3JlIGFuZCBzdGFydCB3YXRjaGluZyBmb3IgY2hhbmdlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICBzZXRTdG9yZShzdG9yZT86IEVudGl0eVN0b3JlPEU+KSB7XHJcbiAgICBpZiAoc3RvcmUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnRlYXJkb3duT2JzZXJ2ZXJzKCk7XHJcbiAgICAgIHRoaXMuaW5uZXJTdGF0ZUluZGV4LmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuc3RvcmUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldFN0b3JlKHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLnN0b3JlID0gc3RvcmU7XHJcbiAgICB0aGlzLnNldHVwT2JzZXJ2ZXJzKCk7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmQgdGhpcyB3b3Jrc3BhY2UgdG8gYSBjb21wb25lbnQncyBjaGFuZ2UgZGV0ZWN0b3JcclxuICAgKiBAcGFyYW0gY2RSZWYgQ2hhbmdlIGRldGVjdG9yXHJcbiAgICovXHJcbiAgc2V0Q2hhbmdlRGV0ZWN0b3IoY2RSZWY/OiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5jZFJlZiA9IGNkUmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHVwIG9ic2VydmVycyBvbiBhIHN0b3JlJ3MgZW50aXRpZXMgYW5kIHRoZWlyIHN0YXRlXHJcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0dXBPYnNlcnZlcnMoKSB7XHJcbiAgICB0aGlzLnRlYXJkb3duT2JzZXJ2ZXJzKCk7XHJcblxyXG4gICAgdGhpcy5lbnRpdGllcyQkID0gdGhpcy5zdG9yZS5lbnRpdGllcyQuc3Vic2NyaWJlKChlbnRpdGllczogRVtdKSA9PlxyXG4gICAgICB0aGlzLm9uRW50aXRpZXNDaGFuZ2UoZW50aXRpZXMpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc3RhdGUkJCA9IHRoaXMuc3RvcmUuc3RhdGUuY2hhbmdlJFxyXG4gICAgICAucGlwZShza2lwKDEpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25TdGF0ZUNoYW5nZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRlYXJkb3duIHN0b3JlIG9ic2VydmVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgdGVhcmRvd25PYnNlcnZlcnMoKSB7XHJcbiAgICBpZiAodGhpcy5lbnRpdGllcyQkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5lbnRpdGllcyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zdGF0ZSQkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zdGF0ZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVudGl0aWVzJCQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnN0YXRlJCQgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIHRoZSBlbnRpdGllcyBjaGFuZ2UsIGFsd2F5cyB0cmlnZ2VyIHRoZSBjaGFuZ2VzIGRldGVjdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25FbnRpdGllc0NoYW5nZShlbnRpdGllczogRVtdKSB7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gdGhlIGVudGl0aWVzIHN0YXRlIGNoYW5nZSwgdHJpZ2dlciB0aGUgY2hhbmdlIGRldGVjdGlvblxyXG4gICAqIG9ubHkgaWYgdGhlIGNvbXBvbmVudCBoYXMgbm90IGhhbmRsZWQgdGhlc2UgY2hhbmdlcyB5ZXQuIEZvciBleGFtcGxlLFxyXG4gICAqIHRoZSBjb21wb25lbnQgbWlnaHQgaGF2ZSBpbml0aWF0ZWQgdGhvc2VzIGNoYW5nZXMgaXRzZWxmLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25TdGF0ZUNoYW5nZSgpIHtcclxuICAgIGxldCBjaGFuZ2VzRGV0ZWN0ZWQgPSBmYWxzZTtcclxuICAgIGNvbnN0IHN0b3JlSW5kZXggPSB0aGlzLnN0b3JlLnN0YXRlLmluZGV4O1xyXG4gICAgY29uc3QgaW5uZXJJbmRleCA9IHRoaXMuaW5uZXJTdGF0ZUluZGV4O1xyXG5cclxuICAgIGlmIChzdG9yZUluZGV4LnNpemUgIT09IGlubmVySW5kZXguc2l6ZSkge1xyXG4gICAgICBjaGFuZ2VzRGV0ZWN0ZWQgPSB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzdG9yZUtleXMgPSBBcnJheS5mcm9tKHN0b3JlSW5kZXgua2V5cygpKTtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIHN0b3JlS2V5cykge1xyXG4gICAgICBjb25zdCBzdG9yZVZhbHVlID0gc3RvcmVJbmRleC5nZXQoa2V5KTtcclxuICAgICAgY29uc3QgaW5uZXJWYWx1ZSA9IGlubmVySW5kZXguZ2V0KGtleSk7XHJcbiAgICAgIGlmIChjaGFuZ2VzRGV0ZWN0ZWQgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgaWYgKGlubmVyVmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY2hhbmdlc0RldGVjdGVkID0gdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICghT2JqZWN0VXRpbHMub2JqZWN0c0FyZUVxdWl2YWxlbnQoc3RvcmVWYWx1ZSwgaW5uZXJWYWx1ZSkpIHtcclxuICAgICAgICAgIGNoYW5nZXNEZXRlY3RlZCA9IHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pbm5lclN0YXRlSW5kZXguc2V0KGtleSwgT2JqZWN0LmFzc2lnbih7fSwgc3RvcmVWYWx1ZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlciB0aGUgY2hhbmdlIGRldGVjdGlvbiBvZiB0aGUgd29ya3NwYWNlIGlzIGJvdW5kIHRvIGEgY2hhbmdlIGRldGVjdG9yXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkZXRlY3RDaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuY2RSZWYgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZW52aXJvbm1lbnQvZW52aXJvbm1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50T3B0aW9ucyB7XHJcbiAgZGVwb3Q/OiBEZXBvdE9wdGlvbnM7XHJcbiAgaW50ZXJhY3RpdmVUb3VyPzogSW50ZXJhY3RpdmVUb3VyQ29uZmlnT3B0aW9ucztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEZXBvdE9wdGlvbnMge1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHRyYWluaW5nR3VpZGVzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3RpdmVUb3VyQ29uZmlnT3B0aW9ucyB7XHJcbiAgYWN0aXZhdGVJbnRlcmFjdGl2ZVRvdXI/OiBib29sZWFuO1xyXG4gIHRvdXJJbk1vYmlsZT86IGJvb2xlYW47XHJcbiAgcGF0aFRvQ29uZmlnRmlsZT86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './environment.interface';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnZpcm9ubWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC5pbnRlcmZhY2UnO1xyXG4iXX0=