@igo2/common 1.12.1 → 1.13.0-alpha.0

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 (255) hide show
  1. package/{esm2015/igo2-common.js → esm2020/igo2-common.mjs} +0 -0
  2. package/{esm2015/lib/action/action.module.js → esm2020/lib/action/action.module.mjs} +3 -5
  3. package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +252 -0
  4. package/esm2020/lib/action/actionbar/actionbar.component.mjs +370 -0
  5. package/{esm2015/lib/action/actionbar/actionbar.module.js → esm2020/lib/action/actionbar/actionbar.module.mjs} +10 -12
  6. package/{esm2015/lib/action/index.js → esm2020/lib/action/index.mjs} +1 -1
  7. package/{esm2015/lib/action/shared/action.enums.js → esm2020/lib/action/shared/action.enums.mjs} +1 -1
  8. package/esm2020/lib/action/shared/action.interfaces.mjs +2 -0
  9. package/{esm2015/lib/action/shared/index.js → esm2020/lib/action/shared/index.mjs} +1 -1
  10. package/{esm2015/lib/action/shared/store.js → esm2020/lib/action/shared/store.mjs} +1 -1
  11. package/{esm2015/lib/backdrop/backdrop.component.js → esm2020/lib/backdrop/backdrop.component.mjs} +3 -7
  12. package/{esm2015/lib/backdrop/backdrop.module.js → esm2020/lib/backdrop/backdrop.module.mjs} +2 -2
  13. package/{esm2015/lib/backdrop/index.js → esm2020/lib/backdrop/index.mjs} +1 -1
  14. package/{esm2015/lib/badge-icon/badge-icon.directive.js → esm2020/lib/badge-icon/badge-icon.directive.mjs} +1 -1
  15. package/{esm2015/lib/badge-icon/badge-icon.module.js → esm2020/lib/badge-icon/badge-icon.module.mjs} +2 -2
  16. package/{esm2015/lib/badge-icon/index.js → esm2020/lib/badge-icon/index.mjs} +1 -1
  17. package/{esm2015/lib/clickout/clickout.directive.js → esm2020/lib/clickout/clickout.directive.mjs} +1 -1
  18. package/{esm2015/lib/clickout/clickout.module.js → esm2020/lib/clickout/clickout.module.mjs} +2 -2
  19. package/{esm2015/lib/clickout/index.js → esm2020/lib/clickout/index.mjs} +1 -1
  20. package/{esm2015/lib/clone/clone.module.js → esm2020/lib/clone/clone.module.mjs} +2 -2
  21. package/{esm2015/lib/clone/clone.pipe.js → esm2020/lib/clone/clone.pipe.mjs} +1 -1
  22. package/{esm2015/lib/clone/index.js → esm2020/lib/clone/index.mjs} +1 -1
  23. package/{esm2015/lib/collapsible/collapse.directive.js → esm2020/lib/collapsible/collapse.directive.mjs} +1 -1
  24. package/{esm2015/lib/collapsible/collapsible.component.js → esm2020/lib/collapsible/collapsible.component.mjs} +9 -15
  25. package/{esm2015/lib/collapsible/collapsible.module.js → esm2020/lib/collapsible/collapsible.module.mjs} +2 -2
  26. package/{esm2015/lib/collapsible/index.js → esm2020/lib/collapsible/index.mjs} +1 -1
  27. package/{esm2015/lib/confirm-dialog/confirm-dialog.component.js → esm2020/lib/confirm-dialog/confirm-dialog.component.mjs} +5 -11
  28. package/{esm2015/lib/confirm-dialog/confirm-dialog.module.js → esm2020/lib/confirm-dialog/confirm-dialog.module.mjs} +2 -2
  29. package/{esm2015/lib/confirm-dialog/confirm-dialog.service.js → esm2020/lib/confirm-dialog/confirm-dialog.service.mjs} +1 -1
  30. package/{esm2015/lib/confirm-dialog/index.js → esm2020/lib/confirm-dialog/index.mjs} +1 -1
  31. package/{esm2015/lib/context-menu/context-menu.directive.js → esm2020/lib/context-menu/context-menu.directive.mjs} +1 -1
  32. package/{esm2015/lib/context-menu/context-menu.module.js → esm2020/lib/context-menu/context-menu.module.mjs} +2 -2
  33. package/{esm2015/lib/context-menu/index.js → esm2020/lib/context-menu/index.mjs} +1 -1
  34. package/{esm2015/lib/custom-html/custom-html.component.js → esm2020/lib/custom-html/custom-html.component.mjs} +3 -7
  35. package/{esm2015/lib/custom-html/custom-html.module.js → esm2020/lib/custom-html/custom-html.module.mjs} +7 -9
  36. package/{esm2015/lib/custom-html/custom-html.pipe.js → esm2020/lib/custom-html/custom-html.pipe.mjs} +1 -1
  37. package/{esm2015/lib/custom-html/index.js → esm2020/lib/custom-html/index.mjs} +1 -1
  38. package/{esm2015/lib/dom/dom.interfaces.js → esm2020/lib/dom/dom.interfaces.mjs} +1 -1
  39. package/{esm2015/lib/dom/dom.module.js → esm2020/lib/dom/dom.module.mjs} +1 -1
  40. package/esm2020/lib/dom/dom.service.mjs +30 -0
  41. package/{esm2015/lib/dom/index.js → esm2020/lib/dom/index.mjs} +1 -1
  42. package/{esm2015/lib/drag-drop/drag-drop.directive.js → esm2020/lib/drag-drop/drag-drop.directive.mjs} +0 -0
  43. package/{esm2015/lib/drag-drop/drag-drop.module.js → esm2020/lib/drag-drop/drag-drop.module.mjs} +2 -2
  44. package/{esm2015/lib/drag-drop/index.js → esm2020/lib/drag-drop/index.mjs} +1 -1
  45. package/{esm2015/lib/dynamic-component/dynamic-component.module.js → esm2020/lib/dynamic-component/dynamic-component.module.mjs} +3 -5
  46. package/{esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.js → esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs} +2 -7
  47. package/{esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.js → esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs} +2 -4
  48. package/{esm2015/lib/dynamic-component/index.js → esm2020/lib/dynamic-component/index.mjs} +1 -1
  49. package/{esm2015/lib/dynamic-component/shared/dynamic-component.interfaces.js → esm2020/lib/dynamic-component/shared/dynamic-component.interfaces.mjs} +1 -1
  50. package/{esm2015/lib/dynamic-component/shared/dynamic-component.js → esm2020/lib/dynamic-component/shared/dynamic-component.mjs} +1 -1
  51. package/{esm2015/lib/dynamic-component/shared/dynamic-component.service.js → esm2020/lib/dynamic-component/shared/dynamic-component.service.mjs} +1 -1
  52. package/{esm2015/lib/dynamic-component/shared/index.js → esm2020/lib/dynamic-component/shared/index.mjs} +1 -1
  53. package/{esm2015/lib/entity/entity-selector/entity-selector.component.js → esm2020/lib/entity/entity-selector/entity-selector.component.mjs} +8 -15
  54. package/{esm2015/lib/entity/entity-selector/entity-selector.module.js → esm2020/lib/entity/entity-selector/entity-selector.module.mjs} +4 -6
  55. package/{esm2015/lib/entity/entity-table/entity-table-row.directive.js → esm2020/lib/entity/entity-table/entity-table-row.directive.mjs} +1 -1
  56. package/esm2020/lib/entity/entity-table/entity-table.component.mjs +1339 -0
  57. package/{esm2015/lib/entity/entity-table/entity-table.module.js → esm2020/lib/entity/entity-table/entity-table.module.mjs} +20 -22
  58. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +132 -0
  59. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
  60. package/{esm2015/lib/entity/entity-table-paginator/entity-table-paginator.module.js → esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs} +2 -4
  61. package/{esm2015/lib/entity/entity.module.js → esm2020/lib/entity/entity.module.mjs} +2 -4
  62. package/{esm2015/lib/entity/index.js → esm2020/lib/entity/index.mjs} +1 -1
  63. package/{esm2015/lib/entity/shared/entity.enums.js → esm2020/lib/entity/shared/entity.enums.mjs} +1 -1
  64. package/esm2020/lib/entity/shared/entity.interfaces.mjs +2 -0
  65. package/esm2020/lib/entity/shared/entity.utils.mjs +67 -0
  66. package/{esm2015/lib/entity/shared/index.js → esm2020/lib/entity/shared/index.mjs} +1 -1
  67. package/{esm2015/lib/entity/shared/state.js → esm2020/lib/entity/shared/state.mjs} +1 -1
  68. package/{esm2015/lib/entity/shared/store.js → esm2020/lib/entity/shared/store.mjs} +1 -1
  69. package/{esm2015/lib/entity/shared/strategies/filter-custom-function.js → esm2020/lib/entity/shared/strategies/filter-custom-function.mjs} +1 -1
  70. package/{esm2015/lib/entity/shared/strategies/filter-selection.js → esm2020/lib/entity/shared/strategies/filter-selection.mjs} +1 -1
  71. package/{esm2015/lib/entity/shared/strategies/index.js → esm2020/lib/entity/shared/strategies/index.mjs} +1 -1
  72. package/{esm2015/lib/entity/shared/strategies/strategy.js → esm2020/lib/entity/shared/strategies/strategy.mjs} +1 -1
  73. package/{esm2015/lib/entity/shared/transaction.js → esm2020/lib/entity/shared/transaction.mjs} +1 -1
  74. package/{esm2015/lib/entity/shared/view.js → esm2020/lib/entity/shared/view.mjs} +1 -1
  75. package/{esm2015/lib/entity/shared/watcher.js → esm2020/lib/entity/shared/watcher.mjs} +1 -1
  76. package/{esm2015/lib/flexible/flexible.component.js → esm2020/lib/flexible/flexible.component.mjs} +7 -17
  77. package/{esm2015/lib/flexible/flexible.module.js → esm2020/lib/flexible/flexible.module.mjs} +2 -2
  78. package/{esm2015/lib/flexible/flexible.type.js → esm2020/lib/flexible/flexible.type.mjs} +1 -1
  79. package/{esm2015/lib/flexible/index.js → esm2020/lib/flexible/index.mjs} +1 -1
  80. package/esm2020/lib/form/form/form.component.mjs +117 -0
  81. package/{esm2015/lib/form/form/form.module.js → esm2020/lib/form/form/form.module.mjs} +4 -6
  82. package/esm2020/lib/form/form-field/form-field-select.component.mjs +127 -0
  83. package/esm2020/lib/form/form-field/form-field-text.component.mjs +104 -0
  84. package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +105 -0
  85. package/{esm2015/lib/form/form-field/form-field.component.js → esm2020/lib/form/form-field/form-field.component.mjs} +3 -8
  86. package/{esm2015/lib/form/form-field/form-field.module.js → esm2020/lib/form/form-field/form-field.module.mjs} +10 -12
  87. package/{esm2015/lib/form/form-field/index.js → esm2020/lib/form/form-field/index.mjs} +1 -1
  88. package/{esm2015/lib/form/form-group/form-group.component.js → esm2020/lib/form/form-group/form-group.component.mjs} +5 -10
  89. package/{esm2015/lib/form/form-group/form-group.module.js → esm2020/lib/form/form-group/form-group.module.mjs} +5 -7
  90. package/{esm2015/lib/form/form.module.js → esm2020/lib/form/form.module.mjs} +4 -6
  91. package/{esm2015/lib/form/index.js → esm2020/lib/form/index.mjs} +1 -1
  92. package/{esm2015/lib/form/shared/form-field-component.js → esm2020/lib/form/shared/form-field-component.mjs} +1 -1
  93. package/{esm2015/lib/form/shared/form-field.service.js → esm2020/lib/form/shared/form-field.service.mjs} +1 -1
  94. package/esm2020/lib/form/shared/form.interfaces.mjs +2 -0
  95. package/esm2020/lib/form/shared/form.service.mjs +81 -0
  96. package/{esm2015/lib/form/shared/form.utils.js → esm2020/lib/form/shared/form.utils.mjs} +1 -1
  97. package/{esm2015/lib/form/shared/index.js → esm2020/lib/form/shared/index.mjs} +1 -1
  98. package/{esm2015/lib/home-button/home-button.component.js → esm2020/lib/home-button/home-button.component.mjs} +6 -10
  99. package/{esm2015/lib/home-button/home-button.module.js → esm2020/lib/home-button/home-button.module.mjs} +6 -8
  100. package/{esm2015/lib/home-button/index.js → esm2020/lib/home-button/index.mjs} +1 -1
  101. package/{esm2015/lib/image/image.module.js → esm2020/lib/image/image.module.mjs} +2 -2
  102. package/{esm2015/lib/image/index.js → esm2020/lib/image/index.mjs} +1 -1
  103. package/esm2020/lib/image/secure-image.pipe.mjs +54 -0
  104. package/{esm2015/lib/interactive-tour/index.js → esm2020/lib/interactive-tour/index.mjs} +1 -1
  105. package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +135 -0
  106. package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +2 -0
  107. package/{esm2015/lib/interactive-tour/interactive-tour.loader.js → esm2020/lib/interactive-tour/interactive-tour.loader.mjs} +1 -1
  108. package/{esm2015/lib/interactive-tour/interactive-tour.module.js → esm2020/lib/interactive-tour/interactive-tour.module.mjs} +6 -8
  109. package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +285 -0
  110. package/{esm2015/lib/json-dialog/index.js → esm2020/lib/json-dialog/index.mjs} +1 -1
  111. package/{esm2015/lib/json-dialog/json-dialog.component.js → esm2020/lib/json-dialog/json-dialog.component.mjs} +6 -13
  112. package/{esm2015/lib/json-dialog/json-dialog.module.js → esm2020/lib/json-dialog/json-dialog.module.mjs} +2 -2
  113. package/{esm2015/lib/json-dialog/json-dialog.service.js → esm2020/lib/json-dialog/json-dialog.service.mjs} +1 -1
  114. package/{esm2015/lib/keyvalue/index.js → esm2020/lib/keyvalue/index.mjs} +1 -1
  115. package/{esm2015/lib/keyvalue/keyvalue.module.js → esm2020/lib/keyvalue/keyvalue.module.mjs} +2 -2
  116. package/{esm2015/lib/keyvalue/keyvalue.pipe.js → esm2020/lib/keyvalue/keyvalue.pipe.mjs} +1 -1
  117. package/{esm2015/lib/list/index.js → esm2020/lib/list/index.mjs} +1 -1
  118. package/{esm2015/lib/list/list-item.directive.js → esm2020/lib/list/list-item.directive.mjs} +1 -1
  119. package/{esm2015/lib/list/list.component.js → esm2020/lib/list/list.component.mjs} +6 -10
  120. package/{esm2015/lib/list/list.module.js → esm2020/lib/list/list.module.mjs} +2 -2
  121. package/{esm2015/lib/panel/index.js → esm2020/lib/panel/index.mjs} +1 -1
  122. package/esm2020/lib/panel/panel.component.mjs +60 -0
  123. package/{esm2015/lib/panel/panel.module.js → esm2020/lib/panel/panel.module.mjs} +2 -2
  124. package/{esm2015/lib/sidenav/index.js → esm2020/lib/sidenav/index.mjs} +1 -1
  125. package/{esm2015/lib/sidenav/sidenav-shim.directive.js → esm2020/lib/sidenav/sidenav-shim.directive.mjs} +1 -1
  126. package/{esm2015/lib/sidenav/sidenav.module.js → esm2020/lib/sidenav/sidenav.module.mjs} +2 -2
  127. package/{esm2015/lib/spinner/index.js → esm2020/lib/spinner/index.mjs} +1 -1
  128. package/{esm2015/lib/spinner/spinner-activity.directive.js → esm2020/lib/spinner/spinner-activity.directive.mjs} +1 -1
  129. package/{esm2015/lib/spinner/spinner.component.js → esm2020/lib/spinner/spinner.component.mjs} +4 -9
  130. package/{esm2015/lib/spinner/spinner.module.js → esm2020/lib/spinner/spinner.module.mjs} +2 -2
  131. package/{esm2015/lib/stop-propagation/index.js → esm2020/lib/stop-propagation/index.mjs} +1 -1
  132. package/{esm2015/lib/stop-propagation/stop-drop-propagation.directive.js → esm2020/lib/stop-propagation/stop-drop-propagation.directive.mjs} +1 -1
  133. package/{esm2015/lib/stop-propagation/stop-propagation.directive.js → esm2020/lib/stop-propagation/stop-propagation.directive.mjs} +1 -1
  134. package/{esm2015/lib/stop-propagation/stop-propagation.module.js → esm2020/lib/stop-propagation/stop-propagation.module.mjs} +2 -2
  135. package/{esm2015/lib/table/index.js → esm2020/lib/table/index.mjs} +1 -1
  136. package/{esm2015/lib/table/table-action-color.enum.js → esm2020/lib/table/table-action-color.enum.mjs} +1 -1
  137. package/{esm2015/lib/table/table-database.js → esm2020/lib/table/table-database.mjs} +1 -1
  138. package/{esm2015/lib/table/table-datasource.js → esm2020/lib/table/table-datasource.mjs} +1 -1
  139. package/esm2020/lib/table/table-model.interface.mjs +2 -0
  140. package/esm2020/lib/table/table.component.mjs +297 -0
  141. package/{esm2015/lib/table/table.module.js → esm2020/lib/table/table.module.mjs} +12 -14
  142. package/{esm2015/lib/tool/index.js → esm2020/lib/tool/index.mjs} +1 -1
  143. package/{esm2015/lib/tool/shared/index.js → esm2020/lib/tool/shared/index.mjs} +1 -1
  144. package/{esm2015/lib/tool/shared/tool-component.js → esm2020/lib/tool/shared/tool-component.mjs} +1 -1
  145. package/esm2020/lib/tool/shared/tool.interface.mjs +2 -0
  146. package/{esm2015/lib/tool/shared/tool.service.js → esm2020/lib/tool/shared/tool.service.mjs} +1 -1
  147. package/{esm2015/lib/tool/shared/toolbox.enums.js → esm2020/lib/tool/shared/toolbox.enums.mjs} +1 -1
  148. package/{esm2015/lib/tool/shared/toolbox.js → esm2020/lib/tool/shared/toolbox.mjs} +1 -1
  149. package/{esm2015/lib/tool/tool.module.js → esm2020/lib/tool/tool.module.mjs} +2 -4
  150. package/{esm2015/lib/tool/toolbox/toolbox.animation.js → esm2020/lib/tool/toolbox/toolbox.animation.mjs} +1 -1
  151. package/esm2020/lib/tool/toolbox/toolbox.component.mjs +255 -0
  152. package/{esm2015/lib/tool/toolbox/toolbox.module.js → esm2020/lib/tool/toolbox/toolbox.module.mjs} +4 -6
  153. package/{esm2015/lib/widget/index.js → esm2020/lib/widget/index.mjs} +1 -1
  154. package/{esm2015/lib/widget/shared/index.js → esm2020/lib/widget/shared/index.mjs} +1 -1
  155. package/esm2020/lib/widget/shared/widget.interfaces.mjs +2 -0
  156. package/{esm2015/lib/widget/shared/widget.js → esm2020/lib/widget/shared/widget.mjs} +1 -1
  157. package/{esm2015/lib/widget/shared/widget.service.js → esm2020/lib/widget/shared/widget.service.mjs} +1 -1
  158. package/{esm2015/lib/widget/widget-outlet/widget-outlet.component.js → esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs} +3 -8
  159. package/{esm2015/lib/widget/widget-outlet/widget-outlet.module.js → esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs} +3 -5
  160. package/{esm2015/lib/widget/widget.module.js → esm2020/lib/widget/widget.module.mjs} +3 -5
  161. package/{esm2015/lib/workspace/index.js → esm2020/lib/workspace/index.mjs} +1 -1
  162. package/{esm2015/lib/workspace/shared/index.js → esm2020/lib/workspace/shared/index.mjs} +1 -1
  163. package/{esm2015/lib/workspace/shared/store.js → esm2020/lib/workspace/shared/store.mjs} +1 -1
  164. package/esm2020/lib/workspace/shared/workspace.interfaces.mjs +2 -0
  165. package/{esm2015/lib/workspace/shared/workspace.js → esm2020/lib/workspace/shared/workspace.mjs} +1 -1
  166. package/{esm2015/lib/workspace/workspace-selector/workspace-selector.component.js → esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs} +3 -8
  167. package/{esm2015/lib/workspace/workspace-selector/workspace-selector.module.js → esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs} +3 -5
  168. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +88 -0
  169. package/{esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.js → esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs} +3 -5
  170. package/{esm2015/lib/workspace/workspace.module.js → esm2020/lib/workspace/workspace.module.mjs} +2 -4
  171. package/{esm2015/public_api.js → esm2020/public_api.mjs} +1 -1
  172. package/fesm2015/igo2-common.mjs +10145 -0
  173. package/fesm2015/igo2-common.mjs.map +1 -0
  174. package/{fesm2015/igo2-common.js → fesm2020/igo2-common.mjs} +471 -706
  175. package/fesm2020/igo2-common.mjs.map +1 -0
  176. package/{igo2-common.d.ts → index.d.ts} +0 -0
  177. package/lib/action/actionbar/actionbar-item.component.d.ts +1 -1
  178. package/lib/action/actionbar/actionbar.component.d.ts +1 -1
  179. package/lib/backdrop/backdrop.component.d.ts +1 -1
  180. package/lib/badge-icon/badge-icon.directive.d.ts +1 -1
  181. package/lib/clickout/clickout.directive.d.ts +1 -1
  182. package/lib/clone/clone.pipe.d.ts +1 -1
  183. package/lib/collapsible/collapse.directive.d.ts +1 -1
  184. package/lib/collapsible/collapsible.component.d.ts +1 -1
  185. package/lib/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  186. package/lib/context-menu/context-menu.directive.d.ts +1 -1
  187. package/lib/custom-html/custom-html.component.d.ts +1 -1
  188. package/lib/custom-html/custom-html.pipe.d.ts +1 -1
  189. package/lib/drag-drop/drag-drop.directive.d.ts +1 -1
  190. package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +1 -1
  191. package/lib/entity/entity-selector/entity-selector.component.d.ts +1 -1
  192. package/lib/entity/entity-table/entity-table-row.directive.d.ts +1 -1
  193. package/lib/entity/entity-table/entity-table.component.d.ts +4 -4
  194. package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +1 -1
  195. package/lib/flexible/flexible.component.d.ts +1 -1
  196. package/lib/form/form/form.component.d.ts +1 -1
  197. package/lib/form/form-field/form-field-select.component.d.ts +3 -3
  198. package/lib/form/form-field/form-field-text.component.d.ts +3 -3
  199. package/lib/form/form-field/form-field-textarea.component.d.ts +3 -3
  200. package/lib/form/form-field/form-field.component.d.ts +1 -1
  201. package/lib/form/form-group/form-group.component.d.ts +3 -3
  202. package/lib/form/shared/form.interfaces.d.ts +4 -4
  203. package/lib/form/shared/form.service.d.ts +2 -2
  204. package/lib/home-button/home-button.component.d.ts +1 -1
  205. package/lib/image/secure-image.pipe.d.ts +1 -1
  206. package/lib/interactive-tour/interactive-tour.component.d.ts +1 -1
  207. package/lib/json-dialog/json-dialog.component.d.ts +1 -1
  208. package/lib/keyvalue/keyvalue.pipe.d.ts +1 -1
  209. package/lib/list/list-item.directive.d.ts +1 -1
  210. package/lib/list/list.component.d.ts +1 -1
  211. package/lib/panel/panel.component.d.ts +1 -1
  212. package/lib/sidenav/sidenav-shim.directive.d.ts +1 -1
  213. package/lib/spinner/spinner-activity.directive.d.ts +1 -1
  214. package/lib/spinner/spinner.component.d.ts +1 -1
  215. package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +1 -1
  216. package/lib/stop-propagation/stop-propagation.directive.d.ts +1 -1
  217. package/lib/table/table.component.d.ts +1 -1
  218. package/lib/tool/toolbox/toolbox.component.d.ts +1 -1
  219. package/lib/widget/widget-outlet/widget-outlet.component.d.ts +1 -1
  220. package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +1 -1
  221. package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +1 -1
  222. package/package.json +25 -12
  223. package/style/common.theming.scss +12 -12
  224. package/style/partial/action.scss +18 -18
  225. package/style/partial/common.variables.scss +8 -8
  226. package/bundles/igo2-common.umd.js +0 -11545
  227. package/bundles/igo2-common.umd.js.map +0 -1
  228. package/esm2015/lib/action/actionbar/actionbar-item.component.js +0 -257
  229. package/esm2015/lib/action/actionbar/actionbar.component.js +0 -385
  230. package/esm2015/lib/action/shared/action.interfaces.js +0 -2
  231. package/esm2015/lib/dom/dom.service.js +0 -33
  232. package/esm2015/lib/entity/entity-table/entity-table.component.js +0 -1359
  233. package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.component.js +0 -138
  234. package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.interface.js +0 -2
  235. package/esm2015/lib/entity/shared/entity.interfaces.js +0 -2
  236. package/esm2015/lib/entity/shared/entity.utils.js +0 -67
  237. package/esm2015/lib/form/form/form.component.js +0 -125
  238. package/esm2015/lib/form/form-field/form-field-select.component.js +0 -132
  239. package/esm2015/lib/form/form-field/form-field-text.component.js +0 -108
  240. package/esm2015/lib/form/form-field/form-field-textarea.component.js +0 -110
  241. package/esm2015/lib/form/shared/form.interfaces.js +0 -2
  242. package/esm2015/lib/form/shared/form.service.js +0 -81
  243. package/esm2015/lib/image/secure-image.pipe.js +0 -55
  244. package/esm2015/lib/interactive-tour/interactive-tour.component.js +0 -140
  245. package/esm2015/lib/interactive-tour/interactive-tour.interface.js +0 -2
  246. package/esm2015/lib/interactive-tour/interactive-tour.service.js +0 -285
  247. package/esm2015/lib/panel/panel.component.js +0 -67
  248. package/esm2015/lib/table/table-model.interface.js +0 -2
  249. package/esm2015/lib/table/table.component.js +0 -310
  250. package/esm2015/lib/tool/shared/tool.interface.js +0 -2
  251. package/esm2015/lib/tool/toolbox/toolbox.component.js +0 -261
  252. package/esm2015/lib/widget/shared/widget.interfaces.js +0 -2
  253. package/esm2015/lib/workspace/shared/workspace.interfaces.js +0 -2
  254. package/esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.js +0 -93
  255. package/fesm2015/igo2-common.js.map +0 -1
@@ -1,257 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
- import { BehaviorSubject, isObservable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/material/list";
6
- import * as i3 from "@angular/material/tooltip";
7
- import * as i4 from "@angular/material/button";
8
- import * as i5 from "@angular/material/icon";
9
- import * as i6 from "@angular/material/core";
10
- import * as i7 from "@angular/material/checkbox";
11
- import * as i8 from "@ngx-translate/core";
12
- function ActionbarItemComponent_mat_list_item_0_button_4_mat_icon_2_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelement(0, "mat-icon", 7);
14
- i0.ɵɵpipe(1, "async");
15
- } if (rf & 2) {
16
- const ctx_r4 = i0.ɵɵnextContext(3);
17
- i0.ɵɵpropertyInterpolate("svgIcon", i0.ɵɵpipeBind1(1, 1, ctx_r4.icon$));
18
- } }
19
- function ActionbarItemComponent_mat_list_item_0_button_4_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelementStart(0, "button", 5);
21
- i0.ɵɵpipe(1, "async");
22
- i0.ɵɵtemplate(2, ActionbarItemComponent_mat_list_item_0_button_4_mat_icon_2_Template, 2, 3, "mat-icon", 6);
23
- i0.ɵɵelementEnd();
24
- } if (rf & 2) {
25
- const ctx_r2 = i0.ɵɵnextContext(2);
26
- i0.ɵɵproperty("color", ctx_r2.color)("disabled", i0.ɵɵpipeBind1(1, 3, ctx_r2.disabled$));
27
- i0.ɵɵadvance(2);
28
- i0.ɵɵproperty("ngIf", ctx_r2.withIcon);
29
- } }
30
- function ActionbarItemComponent_mat_list_item_0_h4_5_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelementStart(0, "h4", 8);
32
- i0.ɵɵtext(1);
33
- i0.ɵɵpipe(2, "translate");
34
- i0.ɵɵelementEnd();
35
- } if (rf & 2) {
36
- const ctx_r3 = i0.ɵɵnextContext(2);
37
- i0.ɵɵadvance(1);
38
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r3.title));
39
- } }
40
- function ActionbarItemComponent_mat_list_item_0_Template(rf, ctx) { if (rf & 1) {
41
- const _r6 = i0.ɵɵgetCurrentView();
42
- i0.ɵɵelementStart(0, "mat-list-item", 2);
43
- i0.ɵɵlistener("click", function ActionbarItemComponent_mat_list_item_0_Template_mat_list_item_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.onClick(); });
44
- i0.ɵɵpipe(1, "translate");
45
- i0.ɵɵpipe(2, "async");
46
- i0.ɵɵpipe(3, "async");
47
- i0.ɵɵtemplate(4, ActionbarItemComponent_mat_list_item_0_button_4_Template, 3, 5, "button", 3);
48
- i0.ɵɵtemplate(5, ActionbarItemComponent_mat_list_item_0_h4_5_Template, 3, 3, "h4", 4);
49
- i0.ɵɵelementEnd();
50
- } if (rf & 2) {
51
- const ctx_r0 = i0.ɵɵnextContext();
52
- i0.ɵɵproperty("matTooltip", ctx_r0.withTooltip ? i0.ɵɵpipeBind1(1, 4, i0.ɵɵpipeBind1(2, 6, ctx_r0.tooltip$) || ctx_r0.title) : "")("ngClass", i0.ɵɵpipeBind1(3, 8, ctx_r0.ngClass$));
53
- i0.ɵɵadvance(4);
54
- i0.ɵɵproperty("ngIf", ctx_r0.withIcon);
55
- i0.ɵɵadvance(1);
56
- i0.ɵɵproperty("ngIf", ctx_r0.withTitle);
57
- } }
58
- function ActionbarItemComponent_mat_list_item_1_mat_checkbox_4_Template(rf, ctx) { if (rf & 1) {
59
- const _r9 = i0.ɵɵgetCurrentView();
60
- i0.ɵɵelementStart(0, "mat-checkbox", 11);
61
- i0.ɵɵlistener("change", function ActionbarItemComponent_mat_list_item_1_mat_checkbox_4_Template_mat_checkbox_change_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.action.handler(); });
62
- i0.ɵɵpipe(1, "async");
63
- i0.ɵɵtext(2);
64
- i0.ɵɵpipe(3, "translate");
65
- i0.ɵɵelementEnd();
66
- } if (rf & 2) {
67
- const ctx_r7 = i0.ɵɵnextContext(2);
68
- i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(1, 2, ctx_r7.checkCondition$));
69
- i0.ɵɵadvance(2);
70
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, ctx_r7.title), " ");
71
- } }
72
- function ActionbarItemComponent_mat_list_item_1_Template(rf, ctx) { if (rf & 1) {
73
- i0.ɵɵelementStart(0, "mat-list-item", 9);
74
- i0.ɵɵpipe(1, "translate");
75
- i0.ɵɵpipe(2, "async");
76
- i0.ɵɵpipe(3, "async");
77
- i0.ɵɵtemplate(4, ActionbarItemComponent_mat_list_item_1_mat_checkbox_4_Template, 4, 6, "mat-checkbox", 10);
78
- i0.ɵɵelementEnd();
79
- } if (rf & 2) {
80
- const ctx_r1 = i0.ɵɵnextContext();
81
- i0.ɵɵproperty("matTooltip", ctx_r1.withTooltip ? i0.ɵɵpipeBind1(1, 3, i0.ɵɵpipeBind1(2, 5, ctx_r1.tooltip$) || ctx_r1.title) : "")("ngClass", i0.ɵɵpipeBind1(3, 7, ctx_r1.ngClass$));
82
- i0.ɵɵadvance(4);
83
- i0.ɵɵproperty("ngIf", ctx_r1.withTitle);
84
- } }
85
- /**
86
- * An action button
87
- */
88
- export class ActionbarItemComponent {
89
- constructor() {
90
- this.disabled$ = new BehaviorSubject(false);
91
- this.checkCondition$ = new BehaviorSubject(undefined);
92
- this.icon$ = new BehaviorSubject(undefined);
93
- this.tooltip$ = new BehaviorSubject(undefined);
94
- this.noDisplay$ = new BehaviorSubject(false);
95
- this.ngClass$ = new BehaviorSubject({});
96
- /**
97
- * Color
98
- */
99
- this.color = 'default';
100
- /**
101
- * Whether the action title is displayed
102
- */
103
- this.withTitle = true;
104
- /**
105
- * Whether the action icon is displayed
106
- */
107
- this.withIcon = true;
108
- /**
109
- * Whether a tooltip should be shown
110
- */
111
- this.withTooltip = true;
112
- /**
113
- * Event emitted when the action button is clicked
114
- */
115
- this.trigger = new EventEmitter();
116
- }
117
- /**
118
- * Whether the action is disabled
119
- */
120
- set disabled(value) { this.disabled$.next(value); }
121
- get disabled() { return this.disabled$.value; }
122
- /**
123
- * Whether the action is display or not
124
- */
125
- set noDisplay(value) { this.noDisplay$.next(value); }
126
- get noDisplay() { return this.noDisplay$.value; }
127
- /**
128
- * @internal
129
- */
130
- get title() { return this.action.title; }
131
- ngOnInit() {
132
- const args = this.action.args || [];
133
- if (this.action.ngClass !== undefined) {
134
- this.ngClass$$ = this.action.ngClass(...args)
135
- .subscribe((ngClass) => this.updateNgClass(ngClass));
136
- }
137
- if (isObservable(this.action.icon)) {
138
- this.icon$$ = this.action.icon
139
- .subscribe((icon) => this.updateIcon(icon));
140
- }
141
- else {
142
- this.updateIcon(this.action.icon);
143
- }
144
- if (isObservable(this.action.checkCondition)) {
145
- this.checkCondition$$ = this.action.checkCondition
146
- .subscribe((checkCondition) => this.updateCheckCondition(checkCondition));
147
- }
148
- else {
149
- this.updateCheckCondition(this.action.checkCondition);
150
- }
151
- if (isObservable(this.action.tooltip)) {
152
- this.tooltip$$ = this.action.tooltip
153
- .subscribe((tooltip) => this.updateTooltip(tooltip));
154
- }
155
- else {
156
- this.updateTooltip(this.action.tooltip);
157
- }
158
- if (this.action.availability !== undefined) {
159
- this.availability$$ = this.action.availability(...args)
160
- .subscribe((available) => this.disabled = !available);
161
- }
162
- this.disabled$$ = this.disabled$
163
- .subscribe((disabled) => this.updateNgClass({ 'igo-actionbar-item-disabled': disabled }));
164
- if (this.action.display !== undefined) {
165
- this.display$$ = this.action.display(...args)
166
- .subscribe((display) => this.noDisplay = !display);
167
- }
168
- this.noDisplay$$ = this.noDisplay$
169
- .subscribe((noDisplay) => this.updateNgClass({ 'igo-actionbar-item-no-display': noDisplay }));
170
- }
171
- ngOnDestroy() {
172
- if (this.ngClass$$ !== undefined) {
173
- this.ngClass$$.unsubscribe();
174
- this.ngClass$$ = undefined;
175
- }
176
- if (this.availability$$ !== undefined) {
177
- this.availability$$.unsubscribe();
178
- this.availability$$ = undefined;
179
- }
180
- if (this.display$$ !== undefined) {
181
- this.display$$.unsubscribe();
182
- this.display$$ = undefined;
183
- }
184
- if (this.checkCondition$$ !== undefined) {
185
- this.checkCondition$$.unsubscribe();
186
- this.checkCondition$$ = undefined;
187
- }
188
- if (this.icon$$ !== undefined) {
189
- this.icon$$.unsubscribe();
190
- this.icon$$ = undefined;
191
- }
192
- if (this.tooltip$$ !== undefined) {
193
- this.tooltip$$.unsubscribe();
194
- this.tooltip$$ = undefined;
195
- }
196
- this.disabled$$.unsubscribe();
197
- this.noDisplay$$.unsubscribe();
198
- }
199
- /**
200
- * When the action button is clicked, emit the 'trigger' event but don't
201
- * invoke the action handler. This is handled by the parent component.
202
- * @internal
203
- */
204
- onClick() {
205
- if (this.disabled === true) {
206
- return;
207
- }
208
- this.trigger.emit(this.action);
209
- }
210
- updateNgClass(ngClass) {
211
- this.ngClass$.next(Object.assign({}, this.ngClass$.value, ngClass));
212
- }
213
- updateTooltip(tooltip) {
214
- this.tooltip$.next(tooltip);
215
- }
216
- updateCheckCondition(checkCondition) {
217
- this.checkCondition$.next(checkCondition);
218
- }
219
- updateIcon(icon) {
220
- this.icon$.next(icon);
221
- }
222
- }
223
- ActionbarItemComponent.ɵfac = function ActionbarItemComponent_Factory(t) { return new (t || ActionbarItemComponent)(); };
224
- ActionbarItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionbarItemComponent, selectors: [["igo-actionbar-item"]], inputs: { action: "action", color: "color", withTitle: "withTitle", withIcon: "withIcon", withTooltip: "withTooltip", disabled: "disabled", noDisplay: "noDisplay" }, outputs: { trigger: "trigger" }, decls: 2, vars: 2, consts: [["matTooltipClass", "actionbarItemTooltip", "matTooltipShowDelay", "500", 3, "matTooltip", "ngClass", "click", 4, "ngIf"], ["class", "item-checkbox", "matTooltipClass", "actionbarItemTooltip", "matTooltipShowDelay", "500", 3, "matTooltip", "ngClass", 4, "ngIf"], ["matTooltipClass", "actionbarItemTooltip", "matTooltipShowDelay", "500", 3, "matTooltip", "ngClass", "click"], ["mat-list-avatar", "", "mat-icon-button", "", 3, "color", "disabled", 4, "ngIf"], ["matLine", "", 4, "ngIf"], ["mat-list-avatar", "", "mat-icon-button", "", 3, "color", "disabled"], [3, "svgIcon", 4, "ngIf"], [3, "svgIcon"], ["matLine", ""], ["matTooltipClass", "actionbarItemTooltip", "matTooltipShowDelay", "500", 1, "item-checkbox", 3, "matTooltip", "ngClass"], [3, "checked", "change", 4, "ngIf"], [3, "checked", "change"]], template: function ActionbarItemComponent_Template(rf, ctx) { if (rf & 1) {
225
- i0.ɵɵtemplate(0, ActionbarItemComponent_mat_list_item_0_Template, 6, 10, "mat-list-item", 0);
226
- i0.ɵɵtemplate(1, ActionbarItemComponent_mat_list_item_1_Template, 5, 9, "mat-list-item", 1);
227
- } if (rf & 2) {
228
- i0.ɵɵproperty("ngIf", !ctx.action.checkbox);
229
- i0.ɵɵadvance(1);
230
- i0.ɵɵproperty("ngIf", ctx.action.checkbox);
231
- } }, directives: [i1.NgIf, i2.MatListItem, i3.MatTooltip, i1.NgClass, i4.MatButton, i2.MatListAvatarCssMatStyler, i5.MatIcon, i6.MatLine, i7.MatCheckbox], pipes: [i8.TranslatePipe, i1.AsyncPipe], styles: ["mat-list-item.igo-actionbar-item-disabled[_ngcontent-%COMP%]{color:#00000042;cursor:default!important}mat-list-item.igo-actionbar-item-no-display[_ngcontent-%COMP%]{display:none}mat-checkbox[_ngcontent-%COMP%]{padding:12px}.item-checkbox[_ngcontent-%COMP%]{height:56px}.item-checkbox[_ngcontent-%COMP%] .mat-checkbox-label{margin-left:20px}"], changeDetection: 0 });
232
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarItemComponent, [{
233
- type: Component,
234
- args: [{
235
- selector: 'igo-actionbar-item',
236
- templateUrl: './actionbar-item.component.html',
237
- styleUrls: ['./actionbar-item.component.scss'],
238
- changeDetection: ChangeDetectionStrategy.OnPush
239
- }]
240
- }], function () { return []; }, { action: [{
241
- type: Input
242
- }], color: [{
243
- type: Input
244
- }], withTitle: [{
245
- type: Input
246
- }], withIcon: [{
247
- type: Input
248
- }], withTooltip: [{
249
- type: Input
250
- }], disabled: [{
251
- type: Input
252
- }], noDisplay: [{
253
- type: Input
254
- }], trigger: [{
255
- type: Output
256
- }] }); })();
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvYWN0aW9uL2FjdGlvbmJhci9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9hY3Rpb24vYWN0aW9uYmFyL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7SUNDL0QsOEJBQWtFOzs7O0lBQXZDLHVFQUEyQjs7O0lBTHhELGlDQUlpQzs7SUFDL0IsMEdBQWtFO0lBQ3BFLGlCQUFTOzs7SUFIUCxvQ0FBZSxvREFBQTtJQUVKLGVBQWM7SUFBZCxzQ0FBYzs7O0lBRTNCLDZCQUE4QjtJQUFBLFlBQXFCOztJQUFBLGlCQUFLOzs7SUFBMUIsZUFBcUI7SUFBckIsd0RBQXFCOzs7O0lBYnJELHdDQUtzQjtJQUFwQix3TUFBbUI7Ozs7SUFDbkIsNkZBTVM7SUFDVCxxRkFBd0Q7SUFDMUQsaUJBQWdCOzs7SUFYZCxrSUFBMkUsa0RBQUE7SUFHbEUsZUFBYztJQUFkLHNDQUFjO0lBT2xCLGVBQWU7SUFBZix1Q0FBZTs7OztJQVFwQix3Q0FFd0M7SUFEcEMscU1BQVUsdUJBQWdCLElBQUM7O0lBRTNCLFlBQ0o7O0lBQUEsaUJBQWU7OztJQUZYLHNFQUFtQztJQUNuQyxlQUNKO0lBREksbUVBQ0o7OztJQVRGLHdDQUkrQjs7OztJQUM3QiwwR0FJZTtJQUNqQixpQkFBZ0I7OztJQVBkLGtJQUEyRSxrREFBQTtJQUU1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QkFBbkIsS0FBSztZQU1GLFFBQVE7a0JBRFgsS0FBSztZQVFGLFNBQVM7a0JBRFosS0FBSztZQU9JLE9BQU87a0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiwgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL3NoYXJlZC9hY3Rpb24uaW50ZXJmYWNlcyc7XG5cbiAvKipcbiAgKiBBbiBhY3Rpb24gYnV0dG9uXG4gICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aW9uYmFyLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25iYXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgY2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgaWNvbiQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHRvb2x0aXAkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICByZWFkb25seSBub0Rpc3BsYXkkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICByZWFkb25seSBuZ0NsYXNzJDogQmVoYXZpb3JTdWJqZWN0PHtba2V5OiBzdHJpbmddOiBib29sZWFufT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcblxuICBwcml2YXRlIG5nQ2xhc3MkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgZGlzYWJsZWQkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgYXZhaWxhYmlsaXR5JCQ6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIGljb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgY2hlY2tDb25kaXRpb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgdG9vbHRpcCQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBub0Rpc3BsYXkkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgZGlzcGxheSQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIEFjdGlvblxuICAgKi9cbiAgQElucHV0KCkgYWN0aW9uOiBBY3Rpb247XG5cbiAgLyoqXG4gICAqIENvbG9yXG4gICAqL1xuICBASW5wdXQoKSBjb2xvciA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYWN0aW9uIHRpdGxlIGlzIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgd2l0aFRpdGxlID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYWN0aW9uIGljb24gaXMgZGlzcGxheWVkXG4gICAqL1xuICBASW5wdXQoKSB3aXRoSWNvbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSB0b29sdGlwIHNob3VsZCBiZSBzaG93blxuICAgKi9cbiAgQElucHV0KCkgd2l0aFRvb2x0aXAgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpb24gaXMgZGlzYWJsZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikgeyB0aGlzLmRpc2FibGVkJC5uZXh0KHZhbHVlKTsgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmRpc2FibGVkJC52YWx1ZTsgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpb24gaXMgZGlzcGxheSBvciBub3RcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBub0Rpc3BsYXkodmFsdWU6IGJvb2xlYW4pIHsgdGhpcy5ub0Rpc3BsYXkkLm5leHQodmFsdWUpOyB9XG4gIGdldCBub0Rpc3BsYXkoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLm5vRGlzcGxheSQudmFsdWU7IH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSB0cmlnZ2VyOiBFdmVudEVtaXR0ZXI8QWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuYWN0aW9uLnRpdGxlOyB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGFyZ3MgPSB0aGlzLmFjdGlvbi5hcmdzIHx8IFtdO1xuXG4gICAgaWYgKHRoaXMuYWN0aW9uLm5nQ2xhc3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5uZ0NsYXNzJCQgPSB0aGlzLmFjdGlvbi5uZ0NsYXNzKC4uLmFyZ3MpXG4gICAgICAgIC5zdWJzY3JpYmUoKG5nQ2xhc3M6IHtba2V5OiBzdHJpbmddOiBib29sZWFufSkgPT4gdGhpcy51cGRhdGVOZ0NsYXNzKG5nQ2xhc3MpKTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYnNlcnZhYmxlKHRoaXMuYWN0aW9uLmljb24pKSB7XG4gICAgICB0aGlzLmljb24kJCA9IHRoaXMuYWN0aW9uLmljb25cbiAgICAgICAgLnN1YnNjcmliZSgoaWNvbjogc3RyaW5nKSA9PiB0aGlzLnVwZGF0ZUljb24oaWNvbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZUljb24odGhpcy5hY3Rpb24uaWNvbik7XG4gICAgfVxuXG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh0aGlzLmFjdGlvbi5jaGVja0NvbmRpdGlvbikpIHtcbiAgICAgIHRoaXMuY2hlY2tDb25kaXRpb24kJCA9IHRoaXMuYWN0aW9uLmNoZWNrQ29uZGl0aW9uXG4gICAgICAgIC5zdWJzY3JpYmUoKGNoZWNrQ29uZGl0aW9uOiBib29sZWFuKSA9PiB0aGlzLnVwZGF0ZUNoZWNrQ29uZGl0aW9uKGNoZWNrQ29uZGl0aW9uKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlQ2hlY2tDb25kaXRpb24odGhpcy5hY3Rpb24uY2hlY2tDb25kaXRpb24pO1xuICAgIH1cblxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5hY3Rpb24udG9vbHRpcCkpIHtcbiAgICAgIHRoaXMudG9vbHRpcCQkID0gdGhpcy5hY3Rpb24udG9vbHRpcFxuICAgICAgICAuc3Vic2NyaWJlKCh0b29sdGlwOiBzdHJpbmcpID0+IHRoaXMudXBkYXRlVG9vbHRpcCh0b29sdGlwKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcCh0aGlzLmFjdGlvbi50b29sdGlwKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hY3Rpb24uYXZhaWxhYmlsaXR5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5JCQgPSB0aGlzLmFjdGlvbi5hdmFpbGFiaWxpdHkoLi4uYXJncylcbiAgICAgICAgLnN1YnNjcmliZSgoYXZhaWxhYmxlOiBib29sZWFuKSA9PiB0aGlzLmRpc2FibGVkID0gIWF2YWlsYWJsZSk7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNhYmxlZCQkID0gdGhpcy5kaXNhYmxlZCRcbiAgICAgIC5zdWJzY3JpYmUoKGRpc2FibGVkOiBib29sZWFuKSA9PiB0aGlzLnVwZGF0ZU5nQ2xhc3MoeydpZ28tYWN0aW9uYmFyLWl0ZW0tZGlzYWJsZWQnOiBkaXNhYmxlZH0pKTtcblxuICAgIGlmICh0aGlzLmFjdGlvbi5kaXNwbGF5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheSQkID0gdGhpcy5hY3Rpb24uZGlzcGxheSguLi5hcmdzKVxuICAgICAgICAuc3Vic2NyaWJlKChkaXNwbGF5OiBib29sZWFuKSA9PiB0aGlzLm5vRGlzcGxheSA9ICFkaXNwbGF5KTtcbiAgICB9XG5cbiAgICB0aGlzLm5vRGlzcGxheSQkID0gdGhpcy5ub0Rpc3BsYXkkXG4gICAgICAuc3Vic2NyaWJlKChub0Rpc3BsYXk6IGJvb2xlYW4pID0+IHRoaXMudXBkYXRlTmdDbGFzcyh7J2lnby1hY3Rpb25iYXItaXRlbS1uby1kaXNwbGF5Jzogbm9EaXNwbGF5fSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubmdDbGFzcyQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubmdDbGFzcyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm5nQ2xhc3MkJCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hdmFpbGFiaWxpdHkkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRpc3BsYXkkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXkkJC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5kaXNwbGF5JCQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2hlY2tDb25kaXRpb24kJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuY2hlY2tDb25kaXRpb24kJCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pY29uJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pY29uJCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuaWNvbiQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRvb2x0aXAkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRvb2x0aXAkJC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy50b29sdGlwJCQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNhYmxlZCQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5ub0Rpc3BsYXkkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZCwgZW1pdCB0aGUgJ3RyaWdnZXInIGV2ZW50IGJ1dCBkb24ndFxuICAgKiBpbnZva2UgdGhlIGFjdGlvbiBoYW5kbGVyLiBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIHBhcmVudCBjb21wb25lbnQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXIuZW1pdCh0aGlzLmFjdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU5nQ2xhc3MobmdDbGFzczoge1trZXk6IHN0cmluZ106IGJvb2xlYW59KSB7XG4gICAgdGhpcy5uZ0NsYXNzJC5uZXh0KE9iamVjdC5hc3NpZ24oe30sIHRoaXMubmdDbGFzcyQudmFsdWUsIG5nQ2xhc3MpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVG9vbHRpcCh0b29sdGlwOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2x0aXAkLm5leHQodG9vbHRpcCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNoZWNrQ29uZGl0aW9uKGNoZWNrQ29uZGl0aW9uOiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGVja0NvbmRpdGlvbiQubmV4dChjaGVja0NvbmRpdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgdGhpcy5pY29uJC5uZXh0KGljb24pO1xuICB9XG59XG4iLCI8bWF0LWxpc3QtaXRlbSAqbmdJZj1cIiFhY3Rpb24uY2hlY2tib3hcIlxuICBtYXRUb29sdGlwQ2xhc3M9XCJhY3Rpb25iYXJJdGVtVG9vbHRpcFwiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCJ3aXRoVG9vbHRpcCA/ICgodG9vbHRpcCQgfCBhc3luYykgfHwgdGl0bGUgfCB0cmFuc2xhdGUpIDogJydcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzJCB8IGFzeW5jXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxuICA8YnV0dG9uICpuZ0lmPVwid2l0aEljb25cIlxuICAgIG1hdC1saXN0LWF2YXRhclxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCI+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwid2l0aEljb25cIiBzdmdJY29uPVwie3tpY29uJCB8IGFzeW5jfX1cIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGg0ICpuZ0lmPVwid2l0aFRpdGxlXCIgbWF0TGluZT57e3RpdGxlIHwgdHJhbnNsYXRlfX08L2g0PlxuPC9tYXQtbGlzdC1pdGVtPlxuXG48bWF0LWxpc3QtaXRlbSBjbGFzcz1cIml0ZW0tY2hlY2tib3hcIiAqbmdJZj1cImFjdGlvbi5jaGVja2JveFwiXG4gIG1hdFRvb2x0aXBDbGFzcz1cImFjdGlvbmJhckl0ZW1Ub29sdGlwXCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIndpdGhUb29sdGlwID8gKCh0b29sdGlwJCB8IGFzeW5jKSB8fCB0aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3MkIHwgYXN5bmNcIj5cbiAgPG1hdC1jaGVja2JveCAqbmdJZj1cIndpdGhUaXRsZVwiXG4gICAgICAoY2hhbmdlKT1cImFjdGlvbi5oYW5kbGVyKClcIlxuICAgICAgW2NoZWNrZWRdPVwiY2hlY2tDb25kaXRpb24kIHwgYXN5bmNcIj5cbiAgICAgIHt7dGl0bGUgfCB0cmFuc2xhdGV9fVxuICA8L21hdC1jaGVja2JveD5cbjwvbWF0LWxpc3QtaXRlbT5cbiJdfQ==