@smartbit4all/ng-client 3.3.206 → 4.0.1

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 (844) hide show
  1. package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +17 -0
  2. package/{esm2020 → esm2022}/lib/component-factory-service/component-factory-service.service.mjs +35 -35
  3. package/{esm2020 → esm2022}/lib/component-factory-service/projects.mjs +5 -5
  4. package/{esm2020 → esm2022}/lib/session/api/api/api.mjs +3 -3
  5. package/esm2022/lib/session/api/api/session.service.mjs +306 -0
  6. package/esm2022/lib/session/api/configuration.mjs +91 -0
  7. package/{esm2020 → esm2022}/lib/session/api/encoder.mjs +18 -18
  8. package/{esm2020 → esm2022}/lib/session/api/index.mjs +2 -2
  9. package/{esm2020 → esm2022}/lib/session/api/model/accountInfo.mjs +12 -12
  10. package/{esm2020 → esm2022}/lib/session/api/model/apiError.mjs +12 -12
  11. package/{esm2020 → esm2022}/lib/session/api/model/authenticationProviderData.mjs +12 -12
  12. package/{esm2020 → esm2022}/lib/session/api/model/getAuthenticationProvidersResponse.mjs +1 -1
  13. package/{esm2020 → esm2022}/lib/session/api/model/models.mjs +8 -8
  14. package/{esm2020 → esm2022}/lib/session/api/model/refreshSessionRequest.mjs +12 -12
  15. package/{esm2020 → esm2022}/lib/session/api/model/session.mjs +1 -1
  16. package/esm2022/lib/session/api/model/sessionInfoData.mjs +2 -0
  17. package/{esm2020 → esm2022}/lib/session/api/model/userActivityLog.mjs +12 -12
  18. package/{esm2020 → esm2022}/lib/session/api/param.mjs +1 -1
  19. package/{esm2020 → esm2022}/lib/session/api/variables.mjs +8 -8
  20. package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +225 -0
  21. package/{esm2020 → esm2022}/lib/session/projects.mjs +9 -9
  22. package/esm2022/lib/session/smart-error-catching.interceptor.mjs +71 -0
  23. package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +46 -0
  24. package/{esm2020 → esm2022}/lib/session/smart-session-handler.service.mjs +5 -5
  25. package/esm2022/lib/session/smart-session.module.mjs +58 -0
  26. package/esm2022/lib/session/smart-session.service.mjs +225 -0
  27. package/{esm2020 → esm2022}/lib/session/smart-timer/smart-session-timer.component.mjs +35 -35
  28. package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +58 -0
  29. package/{esm2020 → esm2022}/lib/shared/projects.mjs +3 -3
  30. package/esm2022/lib/shared/shared.module.mjs +19 -0
  31. package/esm2022/lib/shared/smart-tooltip.directive.mjs +58 -0
  32. package/{esm2020 → esm2022}/lib/shared/smarttable.date-pipe.mjs +43 -43
  33. package/{esm2020 → esm2022}/lib/smart-client/projects.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/smart-client/smart-authentication.service.mjs +21 -21
  35. package/esm2022/lib/smart-client/smart-component-api-client.mjs +717 -0
  36. package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +53 -0
  37. package/{esm2020 → esm2022}/lib/smart-client/smart.component.mjs +77 -77
  38. package/{esm2020 → esm2022}/lib/smart-client/smart.service.mjs +75 -75
  39. package/{esm2020 → esm2022}/lib/smart-component-layout/api/api/api.mjs +4 -4
  40. package/esm2022/lib/smart-component-layout/api/api/default.service.mjs +133 -0
  41. package/esm2022/lib/smart-component-layout/api/api.module.mjs +40 -0
  42. package/esm2022/lib/smart-component-layout/api/configuration.mjs +91 -0
  43. package/{esm2020 → esm2022}/lib/smart-component-layout/api/encoder.mjs +19 -19
  44. package/{esm2020 → esm2022}/lib/smart-component-layout/api/index.mjs +7 -7
  45. package/{esm2020 → esm2022}/lib/smart-component-layout/api/model/componentType.mjs +18 -18
  46. package/{esm2020 → esm2022}/lib/smart-component-layout/api/model/componentWidgetType.mjs +19 -19
  47. package/{esm2020 → esm2022}/lib/smart-component-layout/api/model/layoutDirection.mjs +17 -17
  48. package/{esm2020 → esm2022}/lib/smart-component-layout/api/model/models.mjs +6 -6
  49. package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +2 -0
  50. package/esm2022/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +2 -0
  51. package/esm2022/lib/smart-component-layout/api/param.mjs +2 -0
  52. package/{esm2020 → esm2022}/lib/smart-component-layout/api/variables.mjs +9 -9
  53. package/{esm2020 → esm2022}/lib/smart-component-layout/projects.mjs +7 -7
  54. package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +94 -0
  55. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +259 -0
  56. package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +41 -0
  57. package/{esm2020 → esm2022}/lib/smart-dialog/projects.mjs +7 -7
  58. package/esm2022/lib/smart-dialog/smartdialog.component.mjs +54 -0
  59. package/{esm2020 → esm2022}/lib/smart-dialog/smartdialog.model.mjs +15 -15
  60. package/esm2022/lib/smart-dialog/smartdialog.module.mjs +46 -0
  61. package/{esm2020 → esm2022}/lib/smart-dialog/smartdialog.service.mjs +54 -54
  62. package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +88 -0
  63. package/{esm2020 → esm2022}/lib/smart-expandable-section/expandable-section.model.mjs +11 -11
  64. package/{esm2020 → esm2022}/lib/smart-expandable-section/projects.mjs +7 -7
  65. package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +49 -0
  66. package/{esm2020 → esm2022}/lib/smart-expandable-section/smart-expandable-section.service.mjs +14 -14
  67. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +17 -17
  68. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +2 -0
  69. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +8 -0
  70. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +2 -0
  71. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +2 -0
  72. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +20 -20
  73. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
  74. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +2 -0
  75. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +27 -27
  76. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +2 -0
  77. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +2 -0
  78. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +32 -32
  79. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +18 -18
  80. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/model.mjs +15 -15
  81. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
  82. package/{esm2020 → esm2022}/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +12 -12
  83. package/{esm2020 → esm2022}/lib/smart-filter/api/value/model/value.mjs +12 -12
  84. package/{esm2020 → esm2022}/lib/smart-filter/projects.mjs +8 -8
  85. package/{esm2020 → esm2022}/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +14 -14
  86. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +165 -0
  87. package/{esm2020 → esm2022}/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +45 -45
  88. package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +36 -0
  89. package/{esm2020 → esm2022}/lib/smart-filter/smart-filter/smart-filter.service.mjs +31 -31
  90. package/{esm2020 → esm2022}/lib/smart-filter/smart-filter.model.mjs +12 -12
  91. package/esm2022/lib/smart-filter/smart-filter.module.mjs +33 -0
  92. package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +198 -0
  93. package/esm2022/lib/smart-filter-editor/api/configuration.mjs +91 -0
  94. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/encoder.mjs +19 -19
  95. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +17 -17
  96. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +13 -0
  97. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +2 -0
  98. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +8 -0
  99. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +2 -0
  100. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +7 -0
  101. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +2 -0
  102. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +20 -20
  103. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
  104. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +2 -0
  105. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +2 -0
  106. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +27 -27
  107. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +2 -0
  108. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +2 -0
  109. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +32 -32
  110. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +18 -18
  111. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/model/smartFilterType.mjs +17 -17
  112. package/esm2022/lib/smart-filter-editor/api/param.mjs +2 -0
  113. package/{esm2020 → esm2022}/lib/smart-filter-editor/api/variables.mjs +9 -9
  114. package/{esm2020 → esm2022}/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +14 -14
  115. package/{esm2020 → esm2022}/lib/smart-filter-editor/project.mjs +7 -7
  116. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +73 -0
  117. package/{esm2020 → esm2022}/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +40 -40
  118. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +235 -0
  119. package/{esm2020 → esm2022}/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
  120. package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +69 -0
  121. package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +47 -0
  122. package/{esm2020 → esm2022}/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +24 -24
  123. package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +57 -0
  124. package/{esm2020 → esm2022}/lib/smart-form/api/api/api.mjs +3 -3
  125. package/esm2022/lib/smart-form/api/api/default.service.mjs +133 -0
  126. package/esm2022/lib/smart-form/api/api.module.mjs +40 -0
  127. package/esm2022/lib/smart-form/api/configuration.mjs +91 -0
  128. package/{esm2020 → esm2022}/lib/smart-form/api/encoder.mjs +18 -18
  129. package/{esm2020 → esm2022}/lib/smart-form/api/index.mjs +6 -6
  130. package/{esm2020 → esm2022}/lib/smart-form/api/model/models.mjs +10 -10
  131. package/{esm2020 → esm2022}/lib/smart-form/api/model/propertyMapping.mjs +12 -12
  132. package/{esm2020 → esm2022}/lib/smart-form/api/model/selectionDefinition.mjs +6 -6
  133. package/{esm2020 → esm2022}/lib/smart-form/api/model/smartFormInputMode.mjs +21 -21
  134. package/{esm2020 → esm2022}/lib/smart-form/api/model/smartFormWidgetDirection.mjs +16 -16
  135. package/{esm2020 → esm2022}/lib/smart-form/api/model/smartFormWidgetType.mjs +44 -44
  136. package/{esm2020 → esm2022}/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
  137. package/esm2022/lib/smart-form/api/model/smartMatrixModel.mjs +2 -0
  138. package/{esm2020 → esm2022}/lib/smart-form/api/model/smartWidgetDefinition.mjs +1 -1
  139. package/{esm2020 → esm2022}/lib/smart-form/api/model/smartWidgetHint.mjs +17 -17
  140. package/{esm2020 → esm2022}/lib/smart-form/api/model/valueChangeMode.mjs +19 -19
  141. package/{esm2020 → esm2022}/lib/smart-form/api/param.mjs +1 -1
  142. package/{esm2020 → esm2022}/lib/smart-form/api/variables.mjs +8 -8
  143. package/{esm2020 → esm2022}/lib/smart-form/highlightMacthingString-pipe.mjs +20 -20
  144. package/{esm2020 → esm2022}/lib/smart-form/projects.mjs +12 -12
  145. package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +542 -0
  146. package/esm2022/lib/smart-form/services/smartform.service.mjs +640 -0
  147. package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +15 -0
  148. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +78 -0
  149. package/{esm2020 → esm2022}/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
  150. package/esm2022/lib/smart-form/smartform.component.mjs +178 -0
  151. package/{esm2020 → esm2022}/lib/smart-form/smartform.form-model.mjs +1 -1
  152. package/{esm2020 → esm2022}/lib/smart-form/smartform.model.mjs +37 -37
  153. package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +84 -0
  154. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +735 -0
  155. package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +59 -0
  156. package/{esm2020 → esm2022}/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +31 -31
  157. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/api/api.mjs +3 -3
  158. package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +451 -0
  159. package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +40 -0
  160. package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +91 -0
  161. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/encoder.mjs +18 -18
  162. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/index.mjs +6 -6
  163. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +16 -16
  164. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
  165. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +19 -19
  166. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  167. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
  168. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
  169. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +12 -12
  170. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +17 -17
  171. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +16 -16
  172. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
  173. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
  174. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
  175. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +7 -7
  176. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/model/models.mjs +13 -13
  177. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/param.mjs +1 -1
  178. package/{esm2020 → esm2022}/lib/smart-grid/api/grid-api/variables.mjs +8 -8
  179. package/{esm2020 → esm2022}/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +20 -20
  180. package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +61 -0
  181. package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +182 -0
  182. package/{esm2020 → esm2022}/lib/smart-grid/models/model.mjs +28 -28
  183. package/{esm2020 → esm2022}/lib/smart-grid/projects.mjs +8 -8
  184. package/esm2022/lib/smart-grid/smart-grid.component.mjs +767 -0
  185. package/esm2022/lib/smart-grid/smart-grid.module.mjs +76 -0
  186. package/esm2022/lib/smart-grid/smart-grid.service.mjs +80 -0
  187. package/{esm2020 → esm2022}/lib/smart-icon/projects.mjs +6 -6
  188. package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +40 -0
  189. package/esm2022/lib/smart-icon/smart-icon.module.mjs +22 -0
  190. package/esm2022/lib/smart-icon/smart-icon.service.mjs +74 -0
  191. package/{esm2020 → esm2022}/lib/smart-navbar/projects.mjs +7 -7
  192. package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +61 -0
  193. package/{esm2020 → esm2022}/lib/smart-navbar/smart-navbar.model.mjs +5 -5
  194. package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +63 -0
  195. package/{esm2020 → esm2022}/lib/smart-navbar/smart-navbar.service.mjs +14 -14
  196. package/{esm2020 → esm2022}/lib/smart-navigation/projects.mjs +5 -5
  197. package/{esm2020 → esm2022}/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
  198. package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +18 -0
  199. package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +56 -0
  200. package/esm2022/lib/smart-ng-client.module.mjs +126 -0
  201. package/{esm2020 → esm2022}/lib/smart-ng-client.service.mjs +19 -19
  202. package/{esm2020 → esm2022}/lib/smart-subject/projects.mjs +4 -4
  203. package/esm2022/lib/smart-subject/smart-subject.mjs +21 -0
  204. package/{esm2020 → esm2022}/lib/smart-tab-group/projects.mjs +8 -8
  205. package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +43 -0
  206. package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +25 -0
  207. package/{esm2020 → esm2022}/lib/smart-tab-group/smart-tab-group.service.mjs +14 -14
  208. package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +31 -0
  209. package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +66 -0
  210. package/{esm2020 → esm2022}/lib/smart-tab-group/tabTile.model.mjs +1 -1
  211. package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +43 -0
  212. package/{esm2020 → esm2022}/lib/smart-table/components/loading/loading.component.mjs +15 -15
  213. package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +52 -0
  214. package/{esm2020 → esm2022}/lib/smart-table/projects.mjs +7 -7
  215. package/esm2022/lib/smart-table/smarttable.component.mjs +98 -0
  216. package/esm2022/lib/smart-table/smarttable.model.mjs +169 -0
  217. package/esm2022/lib/smart-table/smarttable.module.mjs +105 -0
  218. package/{esm2020 → esm2022}/lib/smart-table/smarttable.service.mjs +14 -14
  219. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +39 -0
  220. package/{esm2020 → esm2022}/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +23 -23
  221. package/esm2022/lib/smart-table/tables/table.mjs +520 -0
  222. package/{esm2020 → esm2022}/lib/smart-tree/projects.mjs +8 -8
  223. package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +288 -0
  224. package/esm2022/lib/smart-tree/smarttree.component.mjs +181 -0
  225. package/{esm2020 → esm2022}/lib/smart-tree/smarttree.model.mjs +6 -6
  226. package/esm2022/lib/smart-tree/smarttree.module.mjs +60 -0
  227. package/{esm2020 → esm2022}/lib/smart-tree/smarttree.node.model.mjs +5 -5
  228. package/{esm2020 → esm2022}/lib/smart-tree/smarttree.service.interface.mjs +1 -1
  229. package/esm2022/lib/smart-tree/smarttree.service.mjs +47 -0
  230. package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1190 -0
  231. package/esm2022/lib/smart-tree/tree-api/configuration.mjs +91 -0
  232. package/{esm2020 → esm2022}/lib/smart-tree/tree-api/encoder.mjs +19 -19
  233. package/esm2022/lib/smart-tree/tree-api/param.mjs +2 -0
  234. package/{esm2020 → esm2022}/lib/smart-tree/tree-api/variables.mjs +9 -9
  235. package/{esm2020 → esm2022}/lib/view-context/api/api/api.mjs +3 -3
  236. package/esm2022/lib/view-context/api/api/view.service.mjs +903 -0
  237. package/esm2022/lib/view-context/api/api.module.mjs +40 -0
  238. package/esm2022/lib/view-context/api/configuration.mjs +91 -0
  239. package/{esm2020 → esm2022}/lib/view-context/api/encoder.mjs +18 -18
  240. package/{esm2020 → esm2022}/lib/view-context/api/index.mjs +6 -6
  241. package/esm2022/lib/view-context/api/model/clipboardData.mjs +13 -0
  242. package/{esm2020 → esm2022}/lib/view-context/api/model/closeResult.mjs +17 -17
  243. package/{esm2020 → esm2022}/lib/view-context/api/model/componentConstraint.mjs +1 -1
  244. package/{esm2020 → esm2022}/lib/view-context/api/model/componentModel.mjs +1 -1
  245. package/{esm2020 → esm2022}/lib/view-context/api/model/componentModelChange.mjs +12 -12
  246. package/{esm2020 → esm2022}/lib/view-context/api/model/dataChange.mjs +1 -1
  247. package/{esm2020 → esm2022}/lib/view-context/api/model/dataChangeEvent.mjs +1 -1
  248. package/{esm2020 → esm2022}/lib/view-context/api/model/dataChangeKind.mjs +20 -20
  249. package/{esm2020 → esm2022}/lib/view-context/api/model/downloadedFile.mjs +12 -12
  250. package/{esm2020 → esm2022}/lib/view-context/api/model/iconPosition.mjs +19 -19
  251. package/{esm2020 → esm2022}/lib/view-context/api/model/imageResource.mjs +7 -7
  252. package/{esm2020 → esm2022}/lib/view-context/api/model/link.mjs +19 -19
  253. package/{esm2020 → esm2022}/lib/view-context/api/model/messageData.mjs +1 -1
  254. package/{esm2020 → esm2022}/lib/view-context/api/model/messageOption.mjs +1 -1
  255. package/{esm2020 → esm2022}/lib/view-context/api/model/messageOptionType.mjs +17 -17
  256. package/{esm2020 → esm2022}/lib/view-context/api/model/messageResult.mjs +1 -1
  257. package/{esm2020 → esm2022}/lib/view-context/api/model/messageTextType.mjs +16 -16
  258. package/{esm2020 → esm2022}/lib/view-context/api/model/messageType.mjs +18 -18
  259. package/{esm2020 → esm2022}/lib/view-context/api/model/models.mjs +52 -52
  260. package/{esm2020 → esm2022}/lib/view-context/api/model/openPendingData.mjs +1 -1
  261. package/{esm2020 → esm2022}/lib/view-context/api/model/serverRequestExecutionStat.mjs +1 -1
  262. package/{esm2020 → esm2022}/lib/view-context/api/model/serverRequestTrack.mjs +1 -1
  263. package/{esm2020 → esm2022}/lib/view-context/api/model/serverRequestType.mjs +23 -23
  264. package/{esm2020 → esm2022}/lib/view-context/api/model/smartLinkData.mjs +1 -1
  265. package/{esm2020 → esm2022}/lib/view-context/api/model/statisticRecord.mjs +12 -12
  266. package/{esm2020 → esm2022}/lib/view-context/api/model/style.mjs +12 -12
  267. package/{esm2020 → esm2022}/lib/view-context/api/model/uiAction.mjs +1 -1
  268. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionButtonDescriptor.mjs +12 -12
  269. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionButtonType.mjs +26 -26
  270. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionConstraint.mjs +12 -12
  271. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
  272. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionDialogDescriptor.mjs +1 -1
  273. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionFeedbackType.mjs +19 -19
  274. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionInputType.mjs +20 -20
  275. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionRequest.mjs +12 -12
  276. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionTooltip.mjs +21 -21
  277. package/{esm2020 → esm2022}/lib/view-context/api/model/uiActionUploadDescriptor.mjs +12 -12
  278. package/{esm2020 → esm2022}/lib/view-context/api/model/uploadedFile.mjs +12 -12
  279. package/{esm2020 → esm2022}/lib/view-context/api/model/valueSet.mjs +1 -1
  280. package/esm2022/lib/view-context/api/model/view.mjs +2 -0
  281. package/{esm2020 → esm2022}/lib/view-context/api/model/viewApiError.mjs +12 -12
  282. package/{esm2020 → esm2022}/lib/view-context/api/model/viewConstraint.mjs +1 -1
  283. package/esm2022/lib/view-context/api/model/viewContext.mjs +2 -0
  284. package/{esm2020 → esm2022}/lib/view-context/api/model/viewContextChange.mjs +1 -1
  285. package/esm2022/lib/view-context/api/model/viewContextData.mjs +2 -0
  286. package/{esm2020 → esm2022}/lib/view-context/api/model/viewContextUpdate.mjs +1 -1
  287. package/{esm2020 → esm2022}/lib/view-context/api/model/viewData.mjs +1 -1
  288. package/{esm2020 → esm2022}/lib/view-context/api/model/viewEventHandler.mjs +17 -17
  289. package/esm2022/lib/view-context/api/model/viewPlaceholder.mjs +13 -0
  290. package/{esm2020 → esm2022}/lib/view-context/api/model/viewState.mjs +21 -21
  291. package/{esm2020 → esm2022}/lib/view-context/api/model/viewStateUpdate.mjs +1 -1
  292. package/{esm2020 → esm2022}/lib/view-context/api/model/viewType.mjs +17 -17
  293. package/{esm2020 → esm2022}/lib/view-context/api/param.mjs +1 -1
  294. package/{esm2020 → esm2022}/lib/view-context/api/variables.mjs +8 -8
  295. package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +20 -0
  296. package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +66 -0
  297. package/{esm2020 → esm2022}/lib/view-context/projects.mjs +16 -16
  298. package/{esm2020 → esm2022}/lib/view-context/property-definition-data.mjs +1 -1
  299. package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +30 -0
  300. package/{esm2020 → esm2022}/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +56 -56
  301. package/{esm2020 → esm2022}/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +48 -48
  302. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +72 -0
  303. package/{esm2020 → esm2022}/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +53 -53
  304. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +126 -0
  305. package/{esm2020 → esm2022}/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +52 -52
  306. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +146 -0
  307. package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +180 -0
  308. package/{esm2020 → esm2022}/lib/view-context/smart-ui-action/ui-action.model.mjs +6 -6
  309. package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +211 -0
  310. package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +54 -0
  311. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +29 -0
  312. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +69 -0
  313. package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +39 -0
  314. package/{esm2020 → esm2022}/lib/view-context/smart-view-context.model.mjs +1 -1
  315. package/esm2022/lib/view-context/smart-view-context.module.mjs +221 -0
  316. package/esm2022/lib/view-context/smart-view-context.service.mjs +685 -0
  317. package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +33 -0
  318. package/esm2022/lib/view-context/utility/smart-object-utility.mjs +30 -0
  319. package/esm2022/lib/view-context/utility/smart-style-utility.mjs +68 -0
  320. package/{esm2020 → esm2022}/lib/view-context/value-api/api/api.mjs +4 -4
  321. package/esm2022/lib/view-context/value-api/api/value.service.mjs +138 -0
  322. package/esm2022/lib/view-context/value-api/api.module.mjs +40 -0
  323. package/esm2022/lib/view-context/value-api/configuration.mjs +91 -0
  324. package/{esm2020 → esm2022}/lib/view-context/value-api/encoder.mjs +19 -19
  325. package/{esm2020 → esm2022}/lib/view-context/value-api/index.mjs +7 -7
  326. package/esm2022/lib/view-context/value-api/model/genericValue.mjs +13 -0
  327. package/{esm2020 → esm2022}/lib/view-context/value-api/model/models.mjs +11 -11
  328. package/esm2022/lib/view-context/value-api/model/value.mjs +13 -0
  329. package/{esm2020 → esm2022}/lib/view-context/value-api/model/valueSetData.mjs +1 -1
  330. package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +2 -0
  331. package/{esm2020 → esm2022}/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
  332. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +13 -0
  333. package/{esm2020 → esm2022}/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +23 -23
  334. package/{esm2020 → esm2022}/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
  335. package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +2 -0
  336. package/{esm2020 → esm2022}/lib/view-context/value-api/model/valueSetOperation.mjs +18 -18
  337. package/esm2022/lib/view-context/value-api/param.mjs +2 -0
  338. package/{esm2020 → esm2022}/lib/view-context/value-api/variables.mjs +9 -9
  339. package/{esm2020 → esm2022}/projects.mjs +25 -25
  340. package/{esm2020 → esm2022}/smartbit4all-ng-client.mjs +4 -4
  341. package/{fesm2020 → fesm2022}/smartbit4all-ng-client.mjs +15903 -15913
  342. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -0
  343. package/{smartbit4all-ng-client.d.ts → index.d.ts} +5 -5
  344. package/lib/component-factory-service/component-factory-service.module.d.ts +6 -6
  345. package/lib/component-factory-service/component-factory-service.service.d.ts +13 -13
  346. package/lib/component-factory-service/projects.d.ts +2 -2
  347. package/lib/session/api/api/api.d.ts +3 -3
  348. package/lib/session/api/api/session.service.d.ts +107 -107
  349. package/lib/session/api/configuration.d.ts +104 -104
  350. package/lib/session/api/encoder.d.ts +11 -11
  351. package/lib/session/api/index.d.ts +2 -2
  352. package/lib/session/api/model/accountInfo.d.ts +22 -22
  353. package/lib/session/api/model/apiError.d.ts +15 -15
  354. package/lib/session/api/model/authenticationProviderData.d.ts +17 -17
  355. package/lib/session/api/model/getAuthenticationProvidersResponse.d.ts +15 -15
  356. package/lib/session/api/model/models.d.ts +8 -8
  357. package/lib/session/api/model/refreshSessionRequest.d.ts +14 -14
  358. package/lib/session/api/model/session.d.ts +32 -32
  359. package/lib/session/api/model/sessionInfoData.d.ts +26 -26
  360. package/lib/session/api/model/userActivityLog.d.ts +33 -33
  361. package/lib/session/api/param.d.ts +37 -37
  362. package/lib/session/api/variables.d.ts +8 -8
  363. package/lib/session/cookie-service/smart-cookie.service.d.ts +129 -129
  364. package/lib/session/projects.d.ts +6 -6
  365. package/lib/session/smart-error-catching.interceptor.d.ts +13 -13
  366. package/lib/session/smart-header-maintainer.interceptor.d.ts +11 -11
  367. package/lib/session/smart-session-handler.service.d.ts +11 -11
  368. package/lib/session/smart-session.module.d.ts +12 -12
  369. package/lib/session/smart-session.service.d.ts +54 -54
  370. package/lib/session/smart-timer/smart-session-timer.component.d.ts +14 -14
  371. package/lib/session/smart-timer/smart-session-timer.service.d.ts +21 -21
  372. package/lib/shared/projects.d.ts +3 -3
  373. package/lib/shared/shared.module.d.ts +9 -9
  374. package/lib/shared/smart-tooltip.directive.d.ts +16 -16
  375. package/lib/shared/smarttable.date-pipe.d.ts +18 -18
  376. package/lib/smart-client/projects.d.ts +4 -4
  377. package/lib/smart-client/smart-authentication.service.d.ts +15 -15
  378. package/lib/smart-client/smart-component-api-client.d.ts +111 -111
  379. package/lib/smart-client/smart-file-uploader/smart-file-uploader.component.d.ts +18 -18
  380. package/lib/smart-client/smart.component.d.ts +30 -30
  381. package/lib/smart-client/smart.service.d.ts +30 -30
  382. package/lib/smart-component-layout/api/api/api.d.ts +3 -3
  383. package/lib/smart-component-layout/api/api/default.service.d.ts +33 -33
  384. package/lib/smart-component-layout/api/api.module.d.ts +11 -11
  385. package/lib/smart-component-layout/api/configuration.d.ts +104 -104
  386. package/lib/smart-component-layout/api/encoder.d.ts +11 -11
  387. package/lib/smart-component-layout/api/index.d.ts +6 -6
  388. package/lib/smart-component-layout/api/model/componentType.d.ts +16 -16
  389. package/lib/smart-component-layout/api/model/componentWidgetType.d.ts +17 -17
  390. package/lib/smart-component-layout/api/model/layoutDirection.d.ts +15 -15
  391. package/lib/smart-component-layout/api/model/models.d.ts +5 -5
  392. package/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.d.ts +26 -26
  393. package/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.d.ts +20 -20
  394. package/lib/smart-component-layout/api/param.d.ts +37 -37
  395. package/lib/smart-component-layout/api/variables.d.ts +8 -8
  396. package/lib/smart-component-layout/projects.d.ts +4 -4
  397. package/lib/smart-component-layout/smart-component-layout-utility.d.ts +14 -14
  398. package/lib/smart-component-layout/smart-component-layout.component.d.ts +58 -58
  399. package/lib/smart-component-layout/smart-component-layout.module.d.ts +13 -13
  400. package/lib/smart-dialog/projects.d.ts +4 -4
  401. package/lib/smart-dialog/smartdialog.component.d.ts +19 -19
  402. package/lib/smart-dialog/smartdialog.model.d.ts +67 -67
  403. package/lib/smart-dialog/smartdialog.module.d.ts +14 -14
  404. package/lib/smart-dialog/smartdialog.service.d.ts +23 -23
  405. package/lib/smart-expandable-section/expandable-section.component.d.ts +25 -25
  406. package/lib/smart-expandable-section/expandable-section.model.d.ts +42 -42
  407. package/lib/smart-expandable-section/projects.d.ts +4 -4
  408. package/lib/smart-expandable-section/smart-expandable-section.module.d.ts +15 -15
  409. package/lib/smart-expandable-section/smart-expandable-section.service.d.ts +6 -6
  410. package/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.d.ts +15 -15
  411. package/lib/smart-filter/api/filter/model/filterExpressionBuilderField.d.ts +27 -27
  412. package/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.d.ts +36 -36
  413. package/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.d.ts +27 -27
  414. package/lib/smart-filter/api/filter/model/filterExpressionData.d.ts +27 -27
  415. package/lib/smart-filter/api/filter/model/filterExpressionDataType.d.ts +18 -18
  416. package/lib/smart-filter/api/filter/model/filterExpressionField.d.ts +40 -40
  417. package/lib/smart-filter/api/filter/model/filterExpressionFieldList.d.ts +21 -21
  418. package/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.d.ts +25 -25
  419. package/lib/smart-filter/api/filter/model/filterExpressionList.d.ts +18 -18
  420. package/lib/smart-filter/api/filter/model/filterExpressionOperandData.d.ts +24 -24
  421. package/lib/smart-filter/api/filter/model/filterExpressionOperation.d.ts +30 -30
  422. package/lib/smart-filter/api/filter/model/filterExpressionOrderBy.d.ts +25 -25
  423. package/lib/smart-filter/api/filter/model/model.d.ts +15 -15
  424. package/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.d.ts +19 -19
  425. package/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.d.ts +18 -18
  426. package/lib/smart-filter/api/value/model/value.d.ts +29 -29
  427. package/lib/smart-filter/projects.d.ts +5 -5
  428. package/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.d.ts +8 -8
  429. package/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.d.ts +31 -31
  430. package/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.d.ts +18 -18
  431. package/lib/smart-filter/smart-filter/smart-filter.component.d.ts +15 -15
  432. package/lib/smart-filter/smart-filter/smart-filter.service.d.ts +16 -16
  433. package/lib/smart-filter/smart-filter.model.d.ts +25 -25
  434. package/lib/smart-filter/smart-filter.module.d.ts +15 -15
  435. package/lib/smart-filter-editor/api/api/filter.service.d.ts +57 -57
  436. package/lib/smart-filter-editor/api/configuration.d.ts +104 -104
  437. package/lib/smart-filter-editor/api/encoder.d.ts +11 -11
  438. package/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.d.ts +15 -15
  439. package/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.d.ts +16 -16
  440. package/lib/smart-filter-editor/api/model/filterExpressionBuilderField.d.ts +27 -27
  441. package/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.d.ts +36 -36
  442. package/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.d.ts +27 -27
  443. package/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.d.ts +38 -38
  444. package/lib/smart-filter-editor/api/model/filterExpressionData.d.ts +27 -27
  445. package/lib/smart-filter-editor/api/model/filterExpressionDataType.d.ts +18 -18
  446. package/lib/smart-filter-editor/api/model/filterExpressionField.d.ts +40 -40
  447. package/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.d.ts +17 -17
  448. package/lib/smart-filter-editor/api/model/filterExpressionFieldList.d.ts +21 -21
  449. package/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.d.ts +25 -25
  450. package/lib/smart-filter-editor/api/model/filterExpressionList.d.ts +18 -18
  451. package/lib/smart-filter-editor/api/model/filterExpressionOperandData.d.ts +24 -24
  452. package/lib/smart-filter-editor/api/model/filterExpressionOperation.d.ts +30 -30
  453. package/lib/smart-filter-editor/api/model/filterExpressionOrderBy.d.ts +28 -28
  454. package/lib/smart-filter-editor/api/model/smartFilterType.d.ts +15 -15
  455. package/lib/smart-filter-editor/api/param.d.ts +37 -37
  456. package/lib/smart-filter-editor/api/variables.d.ts +8 -8
  457. package/lib/smart-filter-editor/filterExpressionBuilderApiActions.d.ts +13 -13
  458. package/lib/smart-filter-editor/project.d.ts +7 -7
  459. package/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.d.ts +19 -19
  460. package/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.d.ts +17 -17
  461. package/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.d.ts +40 -40
  462. package/lib/smart-filter-editor/smart-filter-editor.model.d.ts +4 -4
  463. package/lib/smart-filter-editor/smart-filter-editor.module.d.ts +18 -18
  464. package/lib/smart-filter-editor/smart-filter-editor.service.d.ts +35 -35
  465. package/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.d.ts +9 -9
  466. package/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.d.ts +21 -21
  467. package/lib/smart-form/api/api/api.d.ts +3 -3
  468. package/lib/smart-form/api/api/default.service.d.ts +33 -33
  469. package/lib/smart-form/api/api.module.d.ts +11 -11
  470. package/lib/smart-form/api/configuration.d.ts +104 -104
  471. package/lib/smart-form/api/encoder.d.ts +11 -11
  472. package/lib/smart-form/api/index.d.ts +6 -6
  473. package/lib/smart-form/api/model/models.d.ts +10 -10
  474. package/lib/smart-form/api/model/propertyMapping.d.ts +24 -24
  475. package/lib/smart-form/api/model/selectionDefinition.d.ts +41 -41
  476. package/lib/smart-form/api/model/smartFormInputMode.d.ts +20 -20
  477. package/lib/smart-form/api/model/smartFormWidgetDirection.d.ts +15 -15
  478. package/lib/smart-form/api/model/smartFormWidgetType.d.ts +43 -43
  479. package/lib/smart-form/api/model/smartLayoutDefinition.d.ts +15 -15
  480. package/lib/smart-form/api/model/smartMatrixModel.d.ts +29 -29
  481. package/lib/smart-form/api/model/smartWidgetDefinition.d.ts +106 -106
  482. package/lib/smart-form/api/model/smartWidgetHint.d.ts +19 -19
  483. package/lib/smart-form/api/model/valueChangeMode.d.ts +18 -18
  484. package/lib/smart-form/api/param.d.ts +37 -37
  485. package/lib/smart-form/api/variables.d.ts +8 -8
  486. package/lib/smart-form/highlightMacthingString-pipe.d.ts +7 -7
  487. package/lib/smart-form/projects.d.ts +9 -9
  488. package/lib/smart-form/services/smartform.layout-definition.service.d.ts +45 -45
  489. package/lib/smart-form/services/smartform.service.d.ts +46 -46
  490. package/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.d.ts +8 -8
  491. package/lib/smart-form/smartfileuploader/smartfileuploader.component.d.ts +22 -22
  492. package/lib/smart-form/smartfileuploader/smartfileuploader.model.d.ts +7 -7
  493. package/lib/smart-form/smartform.component.d.ts +40 -40
  494. package/lib/smart-form/smartform.form-model.d.ts +631 -631
  495. package/lib/smart-form/smartform.model.d.ts +120 -120
  496. package/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.d.ts +29 -29
  497. package/lib/smart-form/widgets/smartformwidget/smartformwidget.component.d.ts +132 -132
  498. package/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.d.ts +20 -20
  499. package/lib/smart-form/widgets/smartformwidget/trackCaps.directive.d.ts +9 -9
  500. package/lib/smart-grid/api/grid-api/api/api.d.ts +3 -3
  501. package/lib/smart-grid/api/grid-api/api/grid.service.d.ts +161 -161
  502. package/lib/smart-grid/api/grid-api/api.module.d.ts +11 -11
  503. package/lib/smart-grid/api/grid-api/configuration.d.ts +104 -104
  504. package/lib/smart-grid/api/grid-api/encoder.d.ts +11 -11
  505. package/lib/smart-grid/api/grid-api/index.d.ts +6 -6
  506. package/lib/smart-grid/api/grid-api/model/gridColumnContentType.d.ts +15 -15
  507. package/lib/smart-grid/api/grid-api/model/gridColumnMeta.d.ts +33 -33
  508. package/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.d.ts +40 -40
  509. package/lib/smart-grid/api/grid-api/model/gridModel.d.ts +34 -34
  510. package/lib/smart-grid/api/grid-api/model/gridPage.d.ts +26 -26
  511. package/lib/smart-grid/api/grid-api/model/gridRow.d.ts +39 -39
  512. package/lib/smart-grid/api/grid-api/model/gridSelectionChange.d.ts +18 -18
  513. package/lib/smart-grid/api/grid-api/model/gridSelectionMode.d.ts +16 -16
  514. package/lib/smart-grid/api/grid-api/model/gridSelectionType.d.ts +15 -15
  515. package/lib/smart-grid/api/grid-api/model/gridServerModel.d.ts +22 -22
  516. package/lib/smart-grid/api/grid-api/model/gridUpdateData.d.ts +20 -20
  517. package/lib/smart-grid/api/grid-api/model/gridView.d.ts +21 -21
  518. package/lib/smart-grid/api/grid-api/model/gridViewDescriptor.d.ts +37 -37
  519. package/lib/smart-grid/api/grid-api/model/models.d.ts +13 -13
  520. package/lib/smart-grid/api/grid-api/param.d.ts +37 -37
  521. package/lib/smart-grid/api/grid-api/variables.d.ts +8 -8
  522. package/lib/smart-grid/components/expandable-grid/expandable-grid.component.d.ts +10 -10
  523. package/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.d.ts +23 -23
  524. package/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.d.ts +46 -46
  525. package/lib/smart-grid/models/model.d.ts +71 -71
  526. package/lib/smart-grid/projects.d.ts +5 -5
  527. package/lib/smart-grid/smart-grid.component.d.ts +103 -103
  528. package/lib/smart-grid/smart-grid.module.d.ts +22 -22
  529. package/lib/smart-grid/smart-grid.service.d.ts +23 -23
  530. package/lib/smart-icon/projects.d.ts +3 -3
  531. package/lib/smart-icon/smart-icon/smart-icon.component.d.ts +16 -16
  532. package/lib/smart-icon/smart-icon.module.d.ts +10 -10
  533. package/lib/smart-icon/smart-icon.service.d.ts +28 -28
  534. package/lib/smart-navbar/projects.d.ts +4 -4
  535. package/lib/smart-navbar/smart-navbar.component.d.ts +20 -20
  536. package/lib/smart-navbar/smart-navbar.model.d.ts +48 -48
  537. package/lib/smart-navbar/smart-navbar.module.d.ts +18 -18
  538. package/lib/smart-navbar/smart-navbar.service.d.ts +6 -6
  539. package/lib/smart-navigation/projects.d.ts +2 -2
  540. package/lib/smart-navigation/smart-navigation.interface.d.ts +11 -11
  541. package/lib/smart-navigation/smart-navigation.module.d.ts +6 -6
  542. package/lib/smart-navigation/smart-navigation.service.d.ts +18 -18
  543. package/lib/smart-ng-client.module.d.ts +24 -24
  544. package/lib/smart-ng-client.service.d.ts +10 -10
  545. package/lib/smart-subject/projects.d.ts +1 -1
  546. package/lib/smart-subject/smart-subject.d.ts +6 -6
  547. package/lib/smart-tab-group/projects.d.ts +5 -5
  548. package/lib/smart-tab-group/smart-tab-group.component.d.ts +21 -21
  549. package/lib/smart-tab-group/smart-tab-group.module.d.ts +13 -13
  550. package/lib/smart-tab-group/smart-tab-group.service.d.ts +6 -6
  551. package/lib/smart-tab-group/tab-content/tab-content.component.d.ts +14 -14
  552. package/lib/smart-tab-group/tab-group-simplified/tab-group.component.d.ts +29 -29
  553. package/lib/smart-tab-group/tabTile.model.d.ts +8 -8
  554. package/lib/smart-table/components/default-actions-popup/default-actions-popup.component.d.ts +19 -19
  555. package/lib/smart-table/components/loading/loading.component.d.ts +8 -8
  556. package/lib/smart-table/directives/mat-context-menu-trigger-for.directive.d.ts +10 -10
  557. package/lib/smart-table/projects.d.ts +4 -4
  558. package/lib/smart-table/smarttable.component.d.ts +34 -34
  559. package/lib/smart-table/smarttable.model.d.ts +198 -198
  560. package/lib/smart-table/smarttable.module.d.ts +28 -28
  561. package/lib/smart-table/smarttable.service.d.ts +6 -6
  562. package/lib/smart-table/tables/material-table/material-table.component.d.ts +8 -8
  563. package/lib/smart-table/tables/mobile-table/mobile-table.component.d.ts +8 -8
  564. package/lib/smart-table/tables/table.d.ts +85 -85
  565. package/lib/smart-tree/projects.d.ts +5 -5
  566. package/lib/smart-tree/smarttree-generic.service.d.ts +49 -49
  567. package/lib/smart-tree/smarttree.component.d.ts +42 -42
  568. package/lib/smart-tree/smarttree.model.d.ts +41 -41
  569. package/lib/smart-tree/smarttree.module.d.ts +15 -15
  570. package/lib/smart-tree/smarttree.node.model.d.ts +13 -13
  571. package/lib/smart-tree/smarttree.service.d.ts +24 -24
  572. package/lib/smart-tree/smarttree.service.interface.d.ts +43 -43
  573. package/lib/smart-tree/tree-api/api/tree.service.d.ts +336 -336
  574. package/lib/smart-tree/tree-api/configuration.d.ts +104 -104
  575. package/lib/smart-tree/tree-api/encoder.d.ts +11 -11
  576. package/lib/smart-tree/tree-api/param.d.ts +37 -37
  577. package/lib/smart-tree/tree-api/variables.d.ts +8 -8
  578. package/lib/view-context/api/api/api.d.ts +3 -3
  579. package/lib/view-context/api/api/view.service.d.ts +331 -331
  580. package/lib/view-context/api/api.module.d.ts +11 -11
  581. package/lib/view-context/api/configuration.d.ts +104 -104
  582. package/lib/view-context/api/encoder.d.ts +11 -11
  583. package/lib/view-context/api/index.d.ts +6 -6
  584. package/lib/view-context/api/model/clipboardData.d.ts +20 -20
  585. package/lib/view-context/api/model/closeResult.d.ts +16 -16
  586. package/lib/view-context/api/model/componentConstraint.d.ts +25 -25
  587. package/lib/view-context/api/model/componentModel.d.ts +42 -42
  588. package/lib/view-context/api/model/componentModelChange.d.ts +29 -29
  589. package/lib/view-context/api/model/dataChange.d.ts +25 -25
  590. package/lib/view-context/api/model/dataChangeEvent.d.ts +31 -31
  591. package/lib/view-context/api/model/dataChangeKind.d.ts +19 -19
  592. package/lib/view-context/api/model/downloadedFile.d.ts +19 -19
  593. package/lib/view-context/api/model/iconPosition.d.ts +18 -18
  594. package/lib/view-context/api/model/imageResource.d.ts +26 -26
  595. package/lib/view-context/api/model/link.d.ts +35 -35
  596. package/lib/view-context/api/model/messageData.d.ts +29 -29
  597. package/lib/view-context/api/model/messageOption.d.ts +18 -18
  598. package/lib/view-context/api/model/messageOptionType.d.ts +16 -16
  599. package/lib/view-context/api/model/messageResult.d.ts +16 -16
  600. package/lib/view-context/api/model/messageTextType.d.ts +15 -15
  601. package/lib/view-context/api/model/messageType.d.ts +17 -17
  602. package/lib/view-context/api/model/models.d.ts +51 -51
  603. package/lib/view-context/api/model/openPendingData.d.ts +29 -29
  604. package/lib/view-context/api/model/serverRequestExecutionStat.d.ts +40 -40
  605. package/lib/view-context/api/model/serverRequestTrack.d.ts +60 -60
  606. package/lib/view-context/api/model/serverRequestType.d.ts +22 -22
  607. package/lib/view-context/api/model/smartLinkData.d.ts +21 -21
  608. package/lib/view-context/api/model/statisticRecord.d.ts +36 -36
  609. package/lib/view-context/api/model/style.d.ts +21 -21
  610. package/lib/view-context/api/model/uiAction.d.ts +48 -48
  611. package/lib/view-context/api/model/uiActionButtonDescriptor.d.ts +18 -18
  612. package/lib/view-context/api/model/uiActionButtonType.d.ts +25 -25
  613. package/lib/view-context/api/model/uiActionConstraint.d.ts +22 -22
  614. package/lib/view-context/api/model/uiActionDescriptor.d.ts +36 -36
  615. package/lib/view-context/api/model/uiActionDialogDescriptor.d.ts +23 -23
  616. package/lib/view-context/api/model/uiActionFeedbackType.d.ts +18 -18
  617. package/lib/view-context/api/model/uiActionInputType.d.ts +19 -19
  618. package/lib/view-context/api/model/uiActionRequest.d.ts +28 -28
  619. package/lib/view-context/api/model/uiActionTooltip.d.ts +25 -25
  620. package/lib/view-context/api/model/uiActionUploadDescriptor.d.ts +23 -23
  621. package/lib/view-context/api/model/uploadedFile.d.ts +19 -19
  622. package/lib/view-context/api/model/valueSet.d.ts +20 -20
  623. package/lib/view-context/api/model/view.d.ts +80 -80
  624. package/lib/view-context/api/model/viewApiError.d.ts +18 -18
  625. package/lib/view-context/api/model/viewConstraint.d.ts +18 -18
  626. package/lib/view-context/api/model/viewContext.d.ts +30 -30
  627. package/lib/view-context/api/model/viewContextChange.d.ts +24 -24
  628. package/lib/view-context/api/model/viewContextData.d.ts +25 -25
  629. package/lib/view-context/api/model/viewContextUpdate.d.ts +22 -22
  630. package/lib/view-context/api/model/viewData.d.ts +25 -25
  631. package/lib/view-context/api/model/viewEventHandler.d.ts +30 -30
  632. package/lib/view-context/api/model/viewPlaceholder.d.ts +21 -21
  633. package/lib/view-context/api/model/viewState.d.ts +20 -20
  634. package/lib/view-context/api/model/viewStateUpdate.d.ts +22 -22
  635. package/lib/view-context/api/model/viewType.d.ts +16 -16
  636. package/lib/view-context/api/param.d.ts +37 -37
  637. package/lib/view-context/api/variables.d.ts +8 -8
  638. package/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.d.ts +9 -9
  639. package/lib/view-context/message-dialog/message-dialog.component.d.ts +18 -18
  640. package/lib/view-context/projects.d.ts +13 -13
  641. package/lib/view-context/property-definition-data.d.ts +5 -5
  642. package/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.d.ts +13 -13
  643. package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.d.ts +25 -25
  644. package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.d.ts +18 -18
  645. package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.d.ts +30 -30
  646. package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.d.ts +22 -22
  647. package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.d.ts +29 -29
  648. package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.d.ts +25 -25
  649. package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +36 -36
  650. package/lib/view-context/smart-ui-action/ui-action.descriptor.service.d.ts +23 -23
  651. package/lib/view-context/smart-ui-action/ui-action.model.d.ts +43 -43
  652. package/lib/view-context/smart-ui-action/ui-action.service.d.ts +39 -39
  653. package/lib/view-context/smart-view-context-dialog.service.d.ts +16 -16
  654. package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.d.ts +13 -13
  655. package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.d.ts +19 -19
  656. package/lib/view-context/smart-view-context.interceptor.d.ts +13 -13
  657. package/lib/view-context/smart-view-context.model.d.ts +31 -31
  658. package/lib/view-context/smart-view-context.module.d.ts +46 -47
  659. package/lib/view-context/smart-view-context.service.d.ts +119 -119
  660. package/lib/view-context/smart-view-redirect/smart-view-redirect.d.ts +14 -14
  661. package/lib/view-context/utility/smart-object-utility.d.ts +4 -4
  662. package/lib/view-context/utility/smart-style-utility.d.ts +12 -12
  663. package/lib/view-context/value-api/api/api.d.ts +3 -3
  664. package/lib/view-context/value-api/api/value.service.d.ts +35 -35
  665. package/lib/view-context/value-api/api.module.d.ts +11 -11
  666. package/lib/view-context/value-api/configuration.d.ts +104 -104
  667. package/lib/view-context/value-api/encoder.d.ts +11 -11
  668. package/lib/view-context/value-api/index.d.ts +6 -6
  669. package/lib/view-context/value-api/model/genericValue.d.ts +33 -33
  670. package/lib/view-context/value-api/model/models.d.ts +10 -10
  671. package/lib/view-context/value-api/model/value.d.ts +29 -29
  672. package/lib/view-context/value-api/model/valueSetData.d.ts +41 -41
  673. package/lib/view-context/value-api/model/valueSetDefinition.d.ts +16 -16
  674. package/lib/view-context/value-api/model/valueSetDefinitionData.d.ts +53 -53
  675. package/lib/view-context/value-api/model/valueSetDefinitionIdentifier.d.ts +21 -21
  676. package/lib/view-context/value-api/model/valueSetDefinitionKind.d.ts +22 -22
  677. package/lib/view-context/value-api/model/valueSetExpression.d.ts +18 -18
  678. package/lib/view-context/value-api/model/valueSetOperand.d.ts +25 -25
  679. package/lib/view-context/value-api/model/valueSetOperation.d.ts +17 -17
  680. package/lib/view-context/value-api/param.d.ts +37 -37
  681. package/lib/view-context/value-api/variables.d.ts +8 -8
  682. package/package.json +14 -20
  683. package/projects.d.ts +22 -22
  684. package/smartbit4all-ng-client-4.0.1.tgz +0 -0
  685. package/esm2020/lib/component-factory-service/component-factory-service.module.mjs +0 -17
  686. package/esm2020/lib/session/api/api/session.service.mjs +0 -306
  687. package/esm2020/lib/session/api/configuration.mjs +0 -91
  688. package/esm2020/lib/session/api/model/sessionInfoData.mjs +0 -2
  689. package/esm2020/lib/session/cookie-service/smart-cookie.service.mjs +0 -225
  690. package/esm2020/lib/session/smart-error-catching.interceptor.mjs +0 -71
  691. package/esm2020/lib/session/smart-header-maintainer.interceptor.mjs +0 -46
  692. package/esm2020/lib/session/smart-session.module.mjs +0 -58
  693. package/esm2020/lib/session/smart-session.service.mjs +0 -225
  694. package/esm2020/lib/session/smart-timer/smart-session-timer.service.mjs +0 -58
  695. package/esm2020/lib/shared/shared.module.mjs +0 -19
  696. package/esm2020/lib/shared/smart-tooltip.directive.mjs +0 -58
  697. package/esm2020/lib/smart-client/smart-component-api-client.mjs +0 -717
  698. package/esm2020/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +0 -53
  699. package/esm2020/lib/smart-component-layout/api/api/default.service.mjs +0 -133
  700. package/esm2020/lib/smart-component-layout/api/api.module.mjs +0 -40
  701. package/esm2020/lib/smart-component-layout/api/configuration.mjs +0 -91
  702. package/esm2020/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +0 -2
  703. package/esm2020/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +0 -2
  704. package/esm2020/lib/smart-component-layout/api/param.mjs +0 -2
  705. package/esm2020/lib/smart-component-layout/smart-component-layout-utility.mjs +0 -94
  706. package/esm2020/lib/smart-component-layout/smart-component-layout.component.mjs +0 -259
  707. package/esm2020/lib/smart-component-layout/smart-component-layout.module.mjs +0 -43
  708. package/esm2020/lib/smart-dialog/smartdialog.component.mjs +0 -54
  709. package/esm2020/lib/smart-dialog/smartdialog.module.mjs +0 -48
  710. package/esm2020/lib/smart-expandable-section/expandable-section.component.mjs +0 -88
  711. package/esm2020/lib/smart-expandable-section/smart-expandable-section.module.mjs +0 -51
  712. package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +0 -2
  713. package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +0 -8
  714. package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +0 -2
  715. package/esm2020/lib/smart-filter/api/filter/model/filterExpressionData.mjs +0 -2
  716. package/esm2020/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +0 -2
  717. package/esm2020/lib/smart-filter/api/filter/model/filterExpressionList.mjs +0 -2
  718. package/esm2020/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +0 -2
  719. package/esm2020/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +0 -165
  720. package/esm2020/lib/smart-filter/smart-filter/smart-filter.component.mjs +0 -36
  721. package/esm2020/lib/smart-filter/smart-filter.module.mjs +0 -33
  722. package/esm2020/lib/smart-filter-editor/api/api/filter.service.mjs +0 -198
  723. package/esm2020/lib/smart-filter-editor/api/configuration.mjs +0 -91
  724. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +0 -13
  725. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +0 -2
  726. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +0 -8
  727. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +0 -2
  728. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +0 -7
  729. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionData.mjs +0 -2
  730. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +0 -2
  731. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +0 -2
  732. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionList.mjs +0 -2
  733. package/esm2020/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +0 -2
  734. package/esm2020/lib/smart-filter-editor/api/param.mjs +0 -2
  735. package/esm2020/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +0 -73
  736. package/esm2020/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +0 -235
  737. package/esm2020/lib/smart-filter-editor/smart-filter-editor.module.mjs +0 -71
  738. package/esm2020/lib/smart-filter-editor/smart-filter-editor.service.mjs +0 -47
  739. package/esm2020/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +0 -57
  740. package/esm2020/lib/smart-form/api/api/default.service.mjs +0 -133
  741. package/esm2020/lib/smart-form/api/api.module.mjs +0 -40
  742. package/esm2020/lib/smart-form/api/configuration.mjs +0 -91
  743. package/esm2020/lib/smart-form/api/model/smartMatrixModel.mjs +0 -2
  744. package/esm2020/lib/smart-form/services/smartform.layout-definition.service.mjs +0 -542
  745. package/esm2020/lib/smart-form/services/smartform.service.mjs +0 -640
  746. package/esm2020/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +0 -14
  747. package/esm2020/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +0 -78
  748. package/esm2020/lib/smart-form/smartform.component.mjs +0 -178
  749. package/esm2020/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +0 -84
  750. package/esm2020/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +0 -736
  751. package/esm2020/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +0 -59
  752. package/esm2020/lib/smart-grid/api/grid-api/api/grid.service.mjs +0 -451
  753. package/esm2020/lib/smart-grid/api/grid-api/api.module.mjs +0 -40
  754. package/esm2020/lib/smart-grid/api/grid-api/configuration.mjs +0 -91
  755. package/esm2020/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +0 -61
  756. package/esm2020/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +0 -182
  757. package/esm2020/lib/smart-grid/smart-grid.component.mjs +0 -767
  758. package/esm2020/lib/smart-grid/smart-grid.module.mjs +0 -78
  759. package/esm2020/lib/smart-grid/smart-grid.service.mjs +0 -80
  760. package/esm2020/lib/smart-icon/smart-icon/smart-icon.component.mjs +0 -40
  761. package/esm2020/lib/smart-icon/smart-icon.module.mjs +0 -22
  762. package/esm2020/lib/smart-icon/smart-icon.service.mjs +0 -74
  763. package/esm2020/lib/smart-navbar/smart-navbar.component.mjs +0 -61
  764. package/esm2020/lib/smart-navbar/smart-navbar.module.mjs +0 -65
  765. package/esm2020/lib/smart-navigation/smart-navigation.module.mjs +0 -18
  766. package/esm2020/lib/smart-navigation/smart-navigation.service.mjs +0 -56
  767. package/esm2020/lib/smart-ng-client.module.mjs +0 -128
  768. package/esm2020/lib/smart-subject/smart-subject.mjs +0 -21
  769. package/esm2020/lib/smart-tab-group/smart-tab-group.component.mjs +0 -43
  770. package/esm2020/lib/smart-tab-group/smart-tab-group.module.mjs +0 -25
  771. package/esm2020/lib/smart-tab-group/tab-content/tab-content.component.mjs +0 -31
  772. package/esm2020/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +0 -66
  773. package/esm2020/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +0 -43
  774. package/esm2020/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +0 -52
  775. package/esm2020/lib/smart-table/smarttable.component.mjs +0 -98
  776. package/esm2020/lib/smart-table/smarttable.model.mjs +0 -169
  777. package/esm2020/lib/smart-table/smarttable.module.mjs +0 -107
  778. package/esm2020/lib/smart-table/tables/material-table/material-table.component.mjs +0 -39
  779. package/esm2020/lib/smart-table/tables/table.mjs +0 -520
  780. package/esm2020/lib/smart-tree/smarttree-generic.service.mjs +0 -288
  781. package/esm2020/lib/smart-tree/smarttree.component.mjs +0 -181
  782. package/esm2020/lib/smart-tree/smarttree.module.mjs +0 -62
  783. package/esm2020/lib/smart-tree/smarttree.service.mjs +0 -47
  784. package/esm2020/lib/smart-tree/tree-api/api/tree.service.mjs +0 -1190
  785. package/esm2020/lib/smart-tree/tree-api/configuration.mjs +0 -91
  786. package/esm2020/lib/smart-tree/tree-api/param.mjs +0 -2
  787. package/esm2020/lib/view-context/api/api/view.service.mjs +0 -903
  788. package/esm2020/lib/view-context/api/api.module.mjs +0 -40
  789. package/esm2020/lib/view-context/api/configuration.mjs +0 -91
  790. package/esm2020/lib/view-context/api/model/clipboardData.mjs +0 -13
  791. package/esm2020/lib/view-context/api/model/view.mjs +0 -2
  792. package/esm2020/lib/view-context/api/model/viewContext.mjs +0 -2
  793. package/esm2020/lib/view-context/api/model/viewContextData.mjs +0 -2
  794. package/esm2020/lib/view-context/api/model/viewPlaceholder.mjs +0 -13
  795. package/esm2020/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +0 -19
  796. package/esm2020/lib/view-context/message-dialog/message-dialog.component.mjs +0 -66
  797. package/esm2020/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +0 -30
  798. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +0 -72
  799. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +0 -126
  800. package/esm2020/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +0 -146
  801. package/esm2020/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +0 -180
  802. package/esm2020/lib/view-context/smart-ui-action/ui-action.service.mjs +0 -211
  803. package/esm2020/lib/view-context/smart-view-context-dialog.service.mjs +0 -54
  804. package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +0 -29
  805. package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +0 -69
  806. package/esm2020/lib/view-context/smart-view-context.interceptor.mjs +0 -39
  807. package/esm2020/lib/view-context/smart-view-context.module.mjs +0 -222
  808. package/esm2020/lib/view-context/smart-view-context.service.mjs +0 -685
  809. package/esm2020/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +0 -33
  810. package/esm2020/lib/view-context/utility/smart-object-utility.mjs +0 -30
  811. package/esm2020/lib/view-context/utility/smart-style-utility.mjs +0 -68
  812. package/esm2020/lib/view-context/value-api/api/value.service.mjs +0 -138
  813. package/esm2020/lib/view-context/value-api/api.module.mjs +0 -40
  814. package/esm2020/lib/view-context/value-api/configuration.mjs +0 -91
  815. package/esm2020/lib/view-context/value-api/model/genericValue.mjs +0 -13
  816. package/esm2020/lib/view-context/value-api/model/value.mjs +0 -13
  817. package/esm2020/lib/view-context/value-api/model/valueSetDefinition.mjs +0 -2
  818. package/esm2020/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +0 -13
  819. package/esm2020/lib/view-context/value-api/model/valueSetOperand.mjs +0 -2
  820. package/esm2020/lib/view-context/value-api/param.mjs +0 -2
  821. package/fesm2015/smartbit4all-ng-client.mjs +0 -16437
  822. package/fesm2015/smartbit4all-ng-client.mjs.map +0 -1
  823. package/fesm2020/smartbit4all-ng-client.mjs.map +0 -1
  824. package/smartbit4all-ng-client-3.3.206.tgz +0 -0
  825. package/src/lib/component-factory-service/README.md +0 -99
  826. package/src/lib/session/api/README.md +0 -226
  827. package/src/lib/smart-component-layout/README.md +0 -31
  828. package/src/lib/smart-component-layout/api/README.md +0 -226
  829. package/src/lib/smart-dialog/README.md +0 -197
  830. package/src/lib/smart-expandable-section/README.md +0 -249
  831. package/src/lib/smart-filter/README.md +0 -101
  832. package/src/lib/smart-filter-editor/api/README.md +0 -226
  833. package/src/lib/smart-form/README.md +0 -1178
  834. package/src/lib/smart-form/api/README.md +0 -226
  835. package/src/lib/smart-grid/README.md +0 -24
  836. package/src/lib/smart-grid/api/grid-api/README.md +0 -226
  837. package/src/lib/smart-icon/README.md +0 -116
  838. package/src/lib/smart-navbar/README.md +0 -119
  839. package/src/lib/smart-navigation/README.md +0 -141
  840. package/src/lib/smart-tab-group/README.md +0 -155
  841. package/src/lib/smart-table/README.md +0 -667
  842. package/src/lib/smart-tree/tree-api/README.md +0 -226
  843. package/src/lib/view-context/api/README.md +0 -226
  844. package/src/lib/view-context/value-api/README.md +0 -226
@@ -0,0 +1,180 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject, takeUntil } from 'rxjs';
3
+ import { SmartSubject } from '../../smart-subject/projects';
4
+ import { IconPosition, UiActionButtonType, UiActionFeedbackType, } from '../api';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../smart-view-context.service";
7
+ export class UiActionDescriptorService {
8
+ constructor(viewContext) {
9
+ this.viewContext = viewContext;
10
+ this._destroy$ = new Subject();
11
+ this.languageChanged = new SmartSubject(this._destroy$);
12
+ this.keysToTranslate = ['title', 'text', 'placeholder', 'caption', 'feedbackText'];
13
+ this.basicActionDescriptors = new Map([
14
+ [
15
+ 'UNKOWN',
16
+ {
17
+ title: '',
18
+ type: UiActionButtonType.NORMAL,
19
+ color: 'accent',
20
+ icon: 'Question',
21
+ iconColor: `text-primary`,
22
+ iconPosition: IconPosition.POST,
23
+ dialog: {
24
+ title: '',
25
+ placeholder: 'placeholder',
26
+ actionButton: {
27
+ caption: '',
28
+ color: 'accent',
29
+ },
30
+ cancelButton: {
31
+ caption: 'Mégse',
32
+ color: '',
33
+ },
34
+ },
35
+ },
36
+ ],
37
+ ]);
38
+ if (this.viewContext.translateService) {
39
+ this.subscribeToTranslateService();
40
+ }
41
+ else {
42
+ this.viewContext.translateServiceChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
43
+ this.subscribeToTranslateService();
44
+ });
45
+ }
46
+ }
47
+ ngOnDestroy() {
48
+ this._destroy$.next();
49
+ this._destroy$.complete();
50
+ }
51
+ subscribeToTranslateService() {
52
+ this.viewContext
53
+ .translateService.onLangChange.pipe(takeUntil(this._destroy$))
54
+ .subscribe(() => {
55
+ this.languageChanged.next();
56
+ });
57
+ }
58
+ async getActionDescriptor(uiAction) {
59
+ let code = uiAction.code;
60
+ let isUnkown = false;
61
+ let server = uiAction.descriptor;
62
+ let client = null;
63
+ let actionDescriptorFromDescriptors = this.viewContext.getActionDescriptors()?.get(code);
64
+ if (actionDescriptorFromDescriptors) {
65
+ client = JSON.parse(JSON.stringify(actionDescriptorFromDescriptors));
66
+ }
67
+ let actionDescriptor;
68
+ if (!client) {
69
+ // server only
70
+ actionDescriptor = server;
71
+ }
72
+ else {
73
+ // client exists
74
+ if (server) {
75
+ // server & client -> merge into client what's filled from server
76
+ this.mergeActionDescriptorIntoClient(server, client);
77
+ }
78
+ actionDescriptor = client;
79
+ }
80
+ if (!actionDescriptor) {
81
+ isUnkown = true;
82
+ let unkownActionDescriptor = this.basicActionDescriptors.get('UNKOWN');
83
+ actionDescriptor = { ...unkownActionDescriptor };
84
+ actionDescriptor.title = code;
85
+ }
86
+ if (!actionDescriptor.dialog) {
87
+ actionDescriptor = this.setUpUnkownDialogDescriptor(code, actionDescriptor, 'dialog');
88
+ }
89
+ if (!actionDescriptor.feedbackType && uiAction.submit) {
90
+ actionDescriptor.feedbackType = UiActionFeedbackType.SNACKBAR;
91
+ }
92
+ if (this.viewContext.translateService && !isUnkown && !server) {
93
+ actionDescriptor = await this.translateUiActionDescriptor(actionDescriptor);
94
+ }
95
+ return actionDescriptor;
96
+ }
97
+ mergeActionDescriptorIntoClient(server, client) {
98
+ if (server.title) {
99
+ client.title = server.title;
100
+ }
101
+ if (server.icon) {
102
+ client.icon = server.icon;
103
+ }
104
+ if (server.color) {
105
+ client.color = server.color;
106
+ }
107
+ if (server.confirmDialog) {
108
+ if (!client.confirmDialog) {
109
+ client.confirmDialog = server.confirmDialog;
110
+ }
111
+ this.mergeActionDialogDescriptorIntoClient(server.confirmDialog, client.confirmDialog);
112
+ client.confirmDialog = server.confirmDialog;
113
+ }
114
+ if (server.feedbackType) {
115
+ client.feedbackType = server.feedbackType;
116
+ }
117
+ }
118
+ // TODO use prop name to handle all dialogs
119
+ // private mergeActionDescriptorDialog(
120
+ // server: UiActionDescriptor,
121
+ // client: UiActionDescriptor,
122
+ // prop: string
123
+ // ): void {
124
+ // //let serverDialog: UiActionDialogDescriptor = server[prop] as UiActionDialogDescriptor;
125
+ // if (server.confirmDialog) {
126
+ // if (!client.confirmDialog) {
127
+ // client.confirmDialog = server.confirmDialog;
128
+ // }
129
+ // this.mergeActionDialogDescriptorIntoClient(server.confirmDialog, client.confirmDialog);
130
+ // client.confirmDialog = server.confirmDialog;
131
+ // }
132
+ // }
133
+ mergeActionDialogDescriptorIntoClient(serverDialog, clientDialog) {
134
+ if (serverDialog.title) {
135
+ clientDialog.title = serverDialog.title;
136
+ }
137
+ if (serverDialog.placeholder) {
138
+ clientDialog.placeholder = serverDialog.placeholder;
139
+ }
140
+ if (serverDialog.text) {
141
+ clientDialog.text = serverDialog.text;
142
+ }
143
+ }
144
+ async translateUiActionDescriptor(uiActionDescriptor) {
145
+ uiActionDescriptor = await this.deepTranslate(uiActionDescriptor);
146
+ return uiActionDescriptor;
147
+ }
148
+ async deepTranslate(_model) {
149
+ let model = { ..._model };
150
+ await Promise.all(Object.keys(model).map(async (key) => {
151
+ if (model[key] !== undefined &&
152
+ typeof model[key] === 'string' &&
153
+ model[key].length &&
154
+ this.keysToTranslate.includes(key)) {
155
+ model[key] = await this.viewContext.translateService.get(model[key]).toPromise();
156
+ }
157
+ else if (model[key] !== undefined && typeof model[key] === 'object') {
158
+ model[key] = await this.deepTranslate(model[key]);
159
+ }
160
+ return model;
161
+ }));
162
+ return model;
163
+ }
164
+ setUpUnkownDialogDescriptor(code, uiActionDescriptor, dialogType) {
165
+ let unkownDescriptor = this.basicActionDescriptors.get('UNKOWN');
166
+ uiActionDescriptor[dialogType] = unkownDescriptor.dialog;
167
+ uiActionDescriptor[dialogType].title = code;
168
+ uiActionDescriptor[dialogType].actionButton.caption = code;
169
+ return uiActionDescriptor;
170
+ }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UiActionDescriptorService, deps: [{ token: i1.SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable }); }
172
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UiActionDescriptorService, providedIn: 'root' }); }
173
+ }
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UiActionDescriptorService, decorators: [{
175
+ type: Injectable,
176
+ args: [{
177
+ providedIn: 'root',
178
+ }]
179
+ }], ctorParameters: () => [{ type: i1.SmartViewContextService }] });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUdsQixvQkFBb0IsR0FDckIsTUFBTSxRQUFRLENBQUM7OztBQU1oQixNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQW9CLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUxoRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQsb0JBQWUsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUEwS2hGLDJCQUFzQixHQUFvQyxJQUFJLEdBQUcsQ0FBQztZQUN4RTtnQkFDRSxRQUFRO2dCQUNSO29CQUNFLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO29CQUMvQixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLEtBQUss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QixjQUZ4QixNQUFNOzsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tICcuLi8uLi9zbWFydC1zdWJqZWN0L3Byb2plY3RzJztcclxuaW1wb3J0IHtcclxuICBVaUFjdGlvbixcclxuICBJY29uUG9zaXRpb24sXHJcbiAgVWlBY3Rpb25CdXR0b25UeXBlLFxyXG4gIFVpQWN0aW9uRGVzY3JpcHRvcixcclxuICBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3IsXHJcbiAgVWlBY3Rpb25GZWVkYmFja1R5cGUsXHJcbn0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC12aWV3LWNvbnRleHQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBsYW5ndWFnZUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICBrZXlzVG9UcmFuc2xhdGU6IHN0cmluZ1tdID0gWyd0aXRsZScsICd0ZXh0JywgJ3BsYWNlaG9sZGVyJywgJ2NhcHRpb24nLCAnZmVlZGJhY2tUZXh0J107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlKSB7XHJcbiAgICBpZiAodGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2xhdGVTZXJ2aWNlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2VDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnN1YnNjcmliZVRvVHJhbnNsYXRlU2VydmljZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1RyYW5zbGF0ZVNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0XHJcbiAgICAgIC50cmFuc2xhdGVTZXJ2aWNlIS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlZC5uZXh0KCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFjdGlvbkRlc2NyaXB0b3IodWlBY3Rpb246IFVpQWN0aW9uKTogUHJvbWlzZTxVaUFjdGlvbkRlc2NyaXB0b3I+IHtcclxuICAgIGxldCBjb2RlID0gdWlBY3Rpb24uY29kZSE7XHJcbiAgICBsZXQgaXNVbmtvd24gPSBmYWxzZTtcclxuXHJcbiAgICBsZXQgc2VydmVyOiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsID0gdWlBY3Rpb24uZGVzY3JpcHRvcjtcclxuICAgIGxldCBjbGllbnQ6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGxldCBhY3Rpb25EZXNjcmlwdG9yRnJvbURlc2NyaXB0b3JzID0gdGhpcy52aWV3Q29udGV4dC5nZXRBY3Rpb25EZXNjcmlwdG9ycygpPy5nZXQoY29kZSk7XHJcbiAgICBpZiAoYWN0aW9uRGVzY3JpcHRvckZyb21EZXNjcmlwdG9ycykge1xyXG4gICAgICBjbGllbnQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFjdGlvbkRlc2NyaXB0b3JGcm9tRGVzY3JpcHRvcnMpKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWN0aW9uRGVzY3JpcHRvcjogVWlBY3Rpb25EZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHwgbnVsbDtcclxuICAgIGlmICghY2xpZW50KSB7XHJcbiAgICAgIC8vIHNlcnZlciBvbmx5XHJcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSBzZXJ2ZXI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBjbGllbnQgZXhpc3RzXHJcbiAgICAgIGlmIChzZXJ2ZXIpIHtcclxuICAgICAgICAvLyBzZXJ2ZXIgJiBjbGllbnQgLT4gbWVyZ2UgaW50byBjbGllbnQgd2hhdCdzIGZpbGxlZCBmcm9tIHNlcnZlclxyXG4gICAgICAgIHRoaXMubWVyZ2VBY3Rpb25EZXNjcmlwdG9ySW50b0NsaWVudChzZXJ2ZXIsIGNsaWVudCk7XHJcbiAgICAgIH1cclxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IGNsaWVudDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWFjdGlvbkRlc2NyaXB0b3IpIHtcclxuICAgICAgaXNVbmtvd24gPSB0cnVlO1xyXG4gICAgICBsZXQgdW5rb3duQWN0aW9uRGVzY3JpcHRvciA9IHRoaXMuYmFzaWNBY3Rpb25EZXNjcmlwdG9ycy5nZXQoJ1VOS09XTicpO1xyXG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0geyAuLi51bmtvd25BY3Rpb25EZXNjcmlwdG9yISB9O1xyXG4gICAgICBhY3Rpb25EZXNjcmlwdG9yIS50aXRsZSA9IGNvZGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFhY3Rpb25EZXNjcmlwdG9yIS5kaWFsb2cpIHtcclxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IHRoaXMuc2V0VXBVbmtvd25EaWFsb2dEZXNjcmlwdG9yKGNvZGUsIGFjdGlvbkRlc2NyaXB0b3IhLCAnZGlhbG9nJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFhY3Rpb25EZXNjcmlwdG9yIS5mZWVkYmFja1R5cGUgJiYgdWlBY3Rpb24uc3VibWl0KSB7XHJcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IhLmZlZWRiYWNrVHlwZSA9IFVpQWN0aW9uRmVlZGJhY2tUeXBlLlNOQUNLQkFSO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UgJiYgIWlzVW5rb3duICYmICFzZXJ2ZXIpIHtcclxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IGF3YWl0IHRoaXMudHJhbnNsYXRlVWlBY3Rpb25EZXNjcmlwdG9yKGFjdGlvbkRlc2NyaXB0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhY3Rpb25EZXNjcmlwdG9yITtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtZXJnZUFjdGlvbkRlc2NyaXB0b3JJbnRvQ2xpZW50KFxyXG4gICAgc2VydmVyOiBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgICBjbGllbnQ6IFVpQWN0aW9uRGVzY3JpcHRvclxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHNlcnZlci50aXRsZSkge1xyXG4gICAgICBjbGllbnQudGl0bGUgPSBzZXJ2ZXIudGl0bGU7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VydmVyLmljb24pIHtcclxuICAgICAgY2xpZW50Lmljb24gPSBzZXJ2ZXIuaWNvbjtcclxuICAgIH1cclxuICAgIGlmIChzZXJ2ZXIuY29sb3IpIHtcclxuICAgICAgY2xpZW50LmNvbG9yID0gc2VydmVyLmNvbG9yO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlcnZlci5jb25maXJtRGlhbG9nKSB7XHJcbiAgICAgIGlmICghY2xpZW50LmNvbmZpcm1EaWFsb2cpIHtcclxuICAgICAgICBjbGllbnQuY29uZmlybURpYWxvZyA9IHNlcnZlci5jb25maXJtRGlhbG9nO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubWVyZ2VBY3Rpb25EaWFsb2dEZXNjcmlwdG9ySW50b0NsaWVudChzZXJ2ZXIuY29uZmlybURpYWxvZywgY2xpZW50LmNvbmZpcm1EaWFsb2cpO1xyXG4gICAgICBjbGllbnQuY29uZmlybURpYWxvZyA9IHNlcnZlci5jb25maXJtRGlhbG9nO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlcnZlci5mZWVkYmFja1R5cGUpIHtcclxuICAgICAgY2xpZW50LmZlZWRiYWNrVHlwZSA9IHNlcnZlci5mZWVkYmFja1R5cGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUT0RPIHVzZSBwcm9wIG5hbWUgdG8gaGFuZGxlIGFsbCBkaWFsb2dzXHJcbiAgLy8gcHJpdmF0ZSBtZXJnZUFjdGlvbkRlc2NyaXB0b3JEaWFsb2coXHJcbiAgLy8gICBzZXJ2ZXI6IFVpQWN0aW9uRGVzY3JpcHRvcixcclxuICAvLyAgIGNsaWVudDogVWlBY3Rpb25EZXNjcmlwdG9yLFxyXG4gIC8vICAgcHJvcDogc3RyaW5nXHJcbiAgLy8gKTogdm9pZCB7XHJcbiAgLy8gICAvL2xldCBzZXJ2ZXJEaWFsb2c6IFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvciA9IHNlcnZlcltwcm9wXSBhcyBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3I7XHJcbiAgLy8gICBpZiAoc2VydmVyLmNvbmZpcm1EaWFsb2cpIHtcclxuICAvLyAgICAgaWYgKCFjbGllbnQuY29uZmlybURpYWxvZykge1xyXG4gIC8vICAgICAgIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgICAgdGhpcy5tZXJnZUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JJbnRvQ2xpZW50KHNlcnZlci5jb25maXJtRGlhbG9nLCBjbGllbnQuY29uZmlybURpYWxvZyk7XHJcbiAgLy8gICAgIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICBwcml2YXRlIG1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoXHJcbiAgICBzZXJ2ZXJEaWFsb2c6IFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcixcclxuICAgIGNsaWVudERpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAoc2VydmVyRGlhbG9nLnRpdGxlKSB7XHJcbiAgICAgIGNsaWVudERpYWxvZy50aXRsZSA9IHNlcnZlckRpYWxvZy50aXRsZTtcclxuICAgIH1cclxuICAgIGlmIChzZXJ2ZXJEaWFsb2cucGxhY2Vob2xkZXIpIHtcclxuICAgICAgY2xpZW50RGlhbG9nLnBsYWNlaG9sZGVyID0gc2VydmVyRGlhbG9nLnBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlcnZlckRpYWxvZy50ZXh0KSB7XHJcbiAgICAgIGNsaWVudERpYWxvZy50ZXh0ID0gc2VydmVyRGlhbG9nLnRleHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHRyYW5zbGF0ZVVpQWN0aW9uRGVzY3JpcHRvcihcclxuICAgIHVpQWN0aW9uRGVzY3JpcHRvcjogVWlBY3Rpb25EZXNjcmlwdG9yXHJcbiAgKTogUHJvbWlzZTxVaUFjdGlvbkRlc2NyaXB0b3I+IHtcclxuICAgIHVpQWN0aW9uRGVzY3JpcHRvciA9IGF3YWl0IHRoaXMuZGVlcFRyYW5zbGF0ZSh1aUFjdGlvbkRlc2NyaXB0b3IpO1xyXG5cclxuICAgIHJldHVybiB1aUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGRlZXBUcmFuc2xhdGUoX21vZGVsOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgbGV0IG1vZGVsID0geyAuLi5fbW9kZWwgfTtcclxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICBPYmplY3Qua2V5cyhtb2RlbCkubWFwKGFzeW5jIChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIG1vZGVsW2tleV0gIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgICAgdHlwZW9mIG1vZGVsW2tleV0gPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICAgICBtb2RlbFtrZXldLmxlbmd0aCAmJlxyXG4gICAgICAgICAgdGhpcy5rZXlzVG9UcmFuc2xhdGUuaW5jbHVkZXMoa2V5KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbW9kZWxba2V5XSA9IGF3YWl0IHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZSEuZ2V0KG1vZGVsW2tleV0pLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobW9kZWxba2V5XSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBtb2RlbFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgbW9kZWxba2V5XSA9IGF3YWl0IHRoaXMuZGVlcFRyYW5zbGF0ZShtb2RlbFtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1vZGVsO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gbW9kZWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFVwVW5rb3duRGlhbG9nRGVzY3JpcHRvcihcclxuICAgIGNvZGU6IHN0cmluZyxcclxuICAgIHVpQWN0aW9uRGVzY3JpcHRvcjogVWlBY3Rpb25EZXNjcmlwdG9yLFxyXG4gICAgZGlhbG9nVHlwZTogJ2RpYWxvZycgfCAnY29uZmlybURpYWxvZycgfCAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZydcclxuICApOiBVaUFjdGlvbkRlc2NyaXB0b3Ige1xyXG4gICAgbGV0IHVua293bkRlc2NyaXB0b3IgPSB0aGlzLmJhc2ljQWN0aW9uRGVzY3JpcHRvcnMuZ2V0KCdVTktPV04nKTtcclxuXHJcbiAgICB1aUFjdGlvbkRlc2NyaXB0b3JbZGlhbG9nVHlwZV0gPSB1bmtvd25EZXNjcmlwdG9yIS5kaWFsb2c7XHJcbiAgICB1aUFjdGlvbkRlc2NyaXB0b3JbZGlhbG9nVHlwZV0hLnRpdGxlID0gY29kZTtcclxuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSEuYWN0aW9uQnV0dG9uLmNhcHRpb24gPSBjb2RlO1xyXG5cclxuICAgIHJldHVybiB1aUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJhc2ljQWN0aW9uRGVzY3JpcHRvcnM6IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj4gPSBuZXcgTWFwKFtcclxuICAgIFtcclxuICAgICAgJ1VOS09XTicsXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTCxcclxuICAgICAgICBjb2xvcjogJ2FjY2VudCcsXHJcbiAgICAgICAgaWNvbjogJ1F1ZXN0aW9uJyxcclxuICAgICAgICBpY29uQ29sb3I6IGB0ZXh0LXByaW1hcnlgLFxyXG4gICAgICAgIGljb25Qb3NpdGlvbjogSWNvblBvc2l0aW9uLlBPU1QsXHJcbiAgICAgICAgZGlhbG9nOiB7XHJcbiAgICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcjogJ3BsYWNlaG9sZGVyJyxcclxuICAgICAgICAgIGFjdGlvbkJ1dHRvbjoge1xyXG4gICAgICAgICAgICBjYXB0aW9uOiAnJyxcclxuICAgICAgICAgICAgY29sb3I6ICdhY2NlbnQnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNhbmNlbEJ1dHRvbjoge1xyXG4gICAgICAgICAgICBjYXB0aW9uOiAnTcOpZ3NlJyxcclxuICAgICAgICAgICAgY29sb3I6ICcnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICBdKTtcclxufVxyXG4iXX0=
@@ -1,7 +1,7 @@
1
- export var UiActionDialogType;
2
- (function (UiActionDialogType) {
3
- UiActionDialogType["inputDialog"] = "inputDialog";
4
- UiActionDialogType["confirmDialog"] = "confirmDialog";
5
- UiActionDialogType["dialog"] = "dialog";
6
- })(UiActionDialogType || (UiActionDialogType = {}));
1
+ export var UiActionDialogType;
2
+ (function (UiActionDialogType) {
3
+ UiActionDialogType["inputDialog"] = "inputDialog";
4
+ UiActionDialogType["confirmDialog"] = "confirmDialog";
5
+ UiActionDialogType["dialog"] = "dialog";
6
+ })(UiActionDialogType || (UiActionDialogType = {}));
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMERBLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsaURBQTJCLENBQUE7SUFDM0IscURBQStCLENBQUE7SUFDL0IsdUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vYXBpL21vZGVsL3VpQWN0aW9uRGVzY3JpcHRvcic7XHJcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvblJlcXVlc3QnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1JbnZhbGlkRmllbGRzIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVaUFjdGlvbk1vZGVsIHtcclxuICB1aUFjdGlvbjogVWlBY3Rpb247XHJcbiAgc2VydmljZVRvVXNlOiBVc2VVaUFjdGlvbiB8IFVzZVVpQWN0aW9uMjtcclxuICBleGNlcHRpb24/OiBib29sZWFuO1xyXG4gIGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgd2lkZ2V0SWQ/OiBzdHJpbmc7XHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZVVpQWN0aW9uIHtcclxuICBzdWJtaXQ6IFN1YmplY3Q8dm9pZD47XHJcbiAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPjtcclxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcztcclxuICBnZXRNb2RlbCgpOiBhbnk7XHJcbiAgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcsXHJcbiAgICBub2RlSWQ/OiBzdHJpbmdcclxuICApOiBQcm9taXNlPGFueT47XHJcbiAgaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VVaUFjdGlvbjIge1xyXG4gIHN1Ym1pdEZvcm0odmFsaWRhdGU6IGJvb2xlYW4pOiB2b2lkO1xyXG4gIGdldEludmFsaWRGaWVsZHMoKTogU21hcnRGb3JtSW52YWxpZEZpZWxkcztcclxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcztcclxuICBnZXRNb2RlbCgpOiBhbnk7XHJcbiAgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcsXHJcbiAgICBub2RlSWQ/OiBzdHJpbmdcclxuICApOiBQcm9taXNlPGFueT47XHJcbiAgaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVaUFjdGlvblNwZWNpZmljRGVtYW5kUmVzcG9uc2Uge1xyXG4gIHNob3VsZFBlcmZvcm1BY3Rpb246IGJvb2xlYW47XHJcbiAgdWlBY3Rpb25SZXF1ZXN0PzogVWlBY3Rpb25SZXF1ZXN0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyB7XHJcbiAgZm9yVGV4dEZpZWxkPzogc3RyaW5nO1xyXG4gIGZvclRleHRBcmVhPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBVaUFjdGlvbkRpYWxvZ1R5cGUge1xyXG4gIGlucHV0RGlhbG9nID0gJ2lucHV0RGlhbG9nJyxcclxuICBjb25maXJtRGlhbG9nID0gJ2NvbmZpcm1EaWFsb2cnLFxyXG4gIGRpYWxvZyA9ICdkaWFsb2cnLFxyXG59XHJcbiJdfQ==
@@ -0,0 +1,211 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { UiActionFeedbackType, UiActionInputType } from '../api';
4
+ import { SuccessSnackBarComponent } from './components/success-snack-bar/success-snack-bar.component';
5
+ import { SmartSubject } from '../../smart-subject/projects';
6
+ import { InvalidFieldsSnackBarComponent } from '../invalid-fields-snack-bar/invalid-fields-snack-bar.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/snack-bar";
9
+ export class UiActionService {
10
+ constructor(confirmDialogService, textFieldDialogService, fileUploadDialogService, _snackBar) {
11
+ this.confirmDialogService = confirmDialogService;
12
+ this.textFieldDialogService = textFieldDialogService;
13
+ this.fileUploadDialogService = fileUploadDialogService;
14
+ this._snackBar = _snackBar;
15
+ this._destroy$ = new Subject();
16
+ }
17
+ ngOnDestroy() {
18
+ this._destroy$.next();
19
+ this._destroy$.complete();
20
+ }
21
+ async execute(uiAction, options) {
22
+ let uiActionRequest;
23
+ uiActionRequest = {
24
+ code: uiAction.code,
25
+ identifier: uiAction.identifier,
26
+ params: uiAction.params ?? {},
27
+ };
28
+ if (uiAction.submit || uiAction.model) {
29
+ // submit: with validation, model: without validation. both can be undefined
30
+ const validate = uiAction.submit || !uiAction.model;
31
+ if ('reSubscribeToChange' in this.uiActionModel.serviceToUse) {
32
+ if (!validate) {
33
+ console.error(`Validate = false, but UseUiAction doesn't support it`);
34
+ }
35
+ this.uiActionModel.serviceToUse.submit.next();
36
+ try {
37
+ await this.uiActionModel.serviceToUse.submit.toPromise();
38
+ this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
39
+ this.uiActionModel.serviceToUse.reSubscribeToChange.next();
40
+ }
41
+ catch (error) {
42
+ console.error(error);
43
+ this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
44
+ this.uiActionModel.serviceToUse.reSubscribeToChange.next();
45
+ return;
46
+ }
47
+ }
48
+ else {
49
+ this.uiActionModel.serviceToUse.submitForm(validate);
50
+ let invalidFields = this.uiActionModel.serviceToUse.getInvalidFields();
51
+ if (validate && invalidFields.invalidFieldKeys.length) {
52
+ this.showInvalidFieldsSnackbar(invalidFields);
53
+ return;
54
+ }
55
+ }
56
+ }
57
+ if (uiAction.confirm) {
58
+ this.confirmDialogService.action = uiAction;
59
+ this.confirmDialogService.openDialog();
60
+ await this.confirmDialogService.onAction.toPromise();
61
+ if (!this.confirmDialogService.shouldDoAction) {
62
+ return;
63
+ }
64
+ }
65
+ // InputType
66
+ if (uiAction.inputType && uiAction.inputType !== UiActionInputType.NONE) {
67
+ uiActionRequest = await this.handleInputType(uiAction.inputType, uiAction, uiActionRequest, 'inputDialog');
68
+ if (!uiActionRequest) {
69
+ return;
70
+ }
71
+ await new Promise((resolve) => setTimeout(resolve, 250));
72
+ }
73
+ // Input2Type
74
+ if (uiAction.input2Type && uiAction.input2Type !== UiActionInputType.NONE) {
75
+ uiActionRequest = await this.handleInputType(uiAction.input2Type, uiAction, uiActionRequest, 'input2Dialog');
76
+ if (!uiActionRequest) {
77
+ return;
78
+ }
79
+ }
80
+ if (this.uiActionModel.exception) {
81
+ let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
82
+ if (!response.shouldPerformAction || !response.uiActionRequest) {
83
+ return;
84
+ }
85
+ uiActionRequest = response.uiActionRequest;
86
+ }
87
+ await this.performAction(uiAction, uiActionRequest, options);
88
+ }
89
+ async handleInputType(inputType, uiAction, uiActionRequest, inputTypeName) {
90
+ switch (inputType) {
91
+ case UiActionInputType.NONE:
92
+ return uiActionRequest;
93
+ case UiActionInputType.TEXTAREA:
94
+ case UiActionInputType.TEXTFIELD:
95
+ return await this.handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest);
96
+ case UiActionInputType.USER_SELECT:
97
+ return await this.handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest);
98
+ case UiActionInputType.FILE:
99
+ return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, false);
100
+ case UiActionInputType.MULTIPLE_FILES:
101
+ return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, true);
102
+ default:
103
+ return uiActionRequest;
104
+ }
105
+ }
106
+ async handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest) {
107
+ let additionalParams = this.uiActionModel.serviceToUse.getAdditionalParams(uiAction);
108
+ let inputType = inputTypeName === 'inputDialog' ? 'inputType' : 'input2Type';
109
+ if (uiAction[inputType] === UiActionInputType.TEXTFIELD) {
110
+ this.textFieldDialogService.nodeName = additionalParams.forTextField;
111
+ }
112
+ else if (uiAction[inputType] === UiActionInputType.TEXTAREA) {
113
+ this.textFieldDialogService.nodeName = additionalParams.forTextArea;
114
+ }
115
+ this.textFieldDialogService.inputTypeName = inputTypeName;
116
+ this.textFieldDialogService.action = uiAction;
117
+ this.textFieldDialogService.openDialog();
118
+ await this.textFieldDialogService.onAction.toPromise();
119
+ let params = this.textFieldDialogService.params;
120
+ if (!params) {
121
+ console.error('There was no response from InputDialog');
122
+ return;
123
+ }
124
+ uiActionRequest.params = {
125
+ ...uiActionRequest.params,
126
+ ...params,
127
+ };
128
+ return uiActionRequest;
129
+ }
130
+ async handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, isMultiple) {
131
+ this.fileUploadDialogService.inputTypeName = inputTypeName;
132
+ this.fileUploadDialogService.action = uiAction;
133
+ this.fileUploadDialogService.isMultiple = isMultiple;
134
+ this.fileUploadDialogService.openDialog();
135
+ await this.fileUploadDialogService.onAction.toPromise();
136
+ let files = this.fileUploadDialogService.files;
137
+ if (!files || !files.length) {
138
+ console.error('There was no response from InputDialog');
139
+ return;
140
+ }
141
+ uiActionRequest.params = {
142
+ ...uiActionRequest.params,
143
+ _files: files,
144
+ isMultiple,
145
+ param: uiAction.inputType === 'file' || uiAction.inputType === 'multiple_files'
146
+ ? 'input'
147
+ : 'input2',
148
+ };
149
+ return uiActionRequest;
150
+ }
151
+ async handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest) {
152
+ let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
153
+ if (!response.shouldPerformAction || !response.uiActionRequest) {
154
+ return;
155
+ }
156
+ uiActionRequest = response.uiActionRequest;
157
+ return uiActionRequest;
158
+ }
159
+ async performAction(uiAction, uiActionRequest, options) {
160
+ if (!uiActionRequest.params ||
161
+ (uiActionRequest.params && !Object.keys(uiActionRequest.params).length)) {
162
+ uiActionRequest.params = {
163
+ model: this.uiActionModel.serviceToUse.getModel(),
164
+ };
165
+ }
166
+ else if (uiAction.submit || uiAction.model) {
167
+ uiActionRequest.params['model'] = this.uiActionModel.serviceToUse.getModel();
168
+ }
169
+ try {
170
+ await this.uiActionModel.serviceToUse.performUiActionRequest(uiActionRequest, options?.widgetId, options?.nodeId);
171
+ if (this.uiActionModel.descriptor?.feedbackType === UiActionFeedbackType.SNACKBAR) {
172
+ this.showSavedSnackbar(uiAction);
173
+ }
174
+ }
175
+ catch (error) {
176
+ console.error(error);
177
+ }
178
+ }
179
+ showSavedSnackbar(uiAction) {
180
+ this._snackBar.openFromComponent(SuccessSnackBarComponent, {
181
+ duration: 5 * 1000,
182
+ panelClass: ['backgroundColor-accent'],
183
+ data: uiAction,
184
+ });
185
+ }
186
+ showInvalidFieldsSnackbar(invalidFields) {
187
+ this._snackBar.openFromComponent(InvalidFieldsSnackBarComponent, {
188
+ duration: 5 * 1000,
189
+ panelClass: ['backgroundColor-warn'],
190
+ data: invalidFields,
191
+ });
192
+ }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UiActionService, deps: [{ token: 'confirmDialogService' }, { token: 'textFieldDialogService' }, { token: 'fileUploadDialogService' }, { token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
194
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UiActionService, providedIn: 'root' }); }
195
+ }
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: UiActionService, decorators: [{
197
+ type: Injectable,
198
+ args: [{
199
+ providedIn: 'root',
200
+ }]
201
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
202
+ type: Inject,
203
+ args: ['confirmDialogService']
204
+ }] }, { type: undefined, decorators: [{
205
+ type: Inject,
206
+ args: ['textFieldDialogService']
207
+ }] }, { type: undefined, decorators: [{
208
+ type: Inject,
209
+ args: ['fileUploadDialogService']
210
+ }] }, { type: i1.MatSnackBar }] });
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFZLG9CQUFvQixFQUFFLGlCQUFpQixFQUFtQixNQUFNLFFBQVEsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQU10RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7OztBQWlCaEgsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDMEMsb0JBQWtELEVBQ2hELHNCQUFrRCxFQUVwRix1QkFBd0QsRUFDeEQsU0FBc0I7UUFKVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQThCO1FBQ2hELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBNEI7UUFFcEYsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFpQztRQUN4RCxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBUHhCLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQVE5QyxDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixFQUFFLE9BQWdDO1FBQ2hFLElBQUksZUFBNEMsQ0FBQztRQUVqRCxl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LGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBQy9CLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiwgVWlBY3Rpb25GZWVkYmFja1R5cGUsIFVpQWN0aW9uSW5wdXRUeXBlLCBVaUFjdGlvblJlcXVlc3QgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBTdWNjZXNzU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3VjY2Vzcy1zbmFjay1iYXIvc3VjY2Vzcy1zbmFjay1iYXIuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB0eXBlIHsgVWlBY3Rpb25Db25maXJtRGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgdHlwZSB7IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHR5cGUgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IEludmFsaWRGaWVsZHNTbmFja0JhckNvbXBvbmVudCB9IGZyb20gJy4uL2ludmFsaWQtZmllbGRzLXNuYWNrLWJhci9pbnZhbGlkLWZpZWxkcy1zbmFjay1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGb3JtSW52YWxpZEZpZWxkcyB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLm1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZVVpQWN0aW9uT3B0aW9ucyB7XHJcbiAgLyoqXHJcbiAgICogSW4gY2FzZSBvZiB1c2luZyBhIGdyaWQ6IGdyaWQuaWRlbnRpZmllclxyXG4gICAqL1xyXG4gIHdpZGdldElkPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEluIGNhc2Ugb2YgdXNpbmcgYSBncmlkOiBncmlkUm93LmlkXHJcbiAgICovXHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICB1aUFjdGlvbk1vZGVsITogVWlBY3Rpb25Nb2RlbDtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnY29uZmlybURpYWxvZ1NlcnZpY2UnKSBwcml2YXRlIGNvbmZpcm1EaWFsb2dTZXJ2aWNlOiBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgndGV4dEZpZWxkRGlhbG9nU2VydmljZScpIHByaXZhdGUgdGV4dEZpZWxkRGlhbG9nU2VydmljZTogVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdmaWxlVXBsb2FkRGlhbG9nU2VydmljZScpXHJcbiAgICBwcml2YXRlIGZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlOiBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc25hY2tCYXI6IE1hdFNuYWNrQmFyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBleGVjdXRlKHVpQWN0aW9uOiBVaUFjdGlvbiwgb3B0aW9ucz86IEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICB1aUFjdGlvblJlcXVlc3QgPSB7XHJcbiAgICAgIGNvZGU6IHVpQWN0aW9uLmNvZGUhLFxyXG4gICAgICBpZGVudGlmaWVyOiB1aUFjdGlvbi5pZGVudGlmaWVyLFxyXG4gICAgICBwYXJhbXM6IHVpQWN0aW9uLnBhcmFtcyA/PyB7fSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHVpQWN0aW9uLnN1Ym1pdCB8fCB1aUFjdGlvbi5tb2RlbCkge1xyXG4gICAgICAvLyBzdWJtaXQ6IHdpdGggdmFsaWRhdGlvbiwgbW9kZWw6IHdpdGhvdXQgdmFsaWRhdGlvbi4gYm90aCBjYW4gYmUgdW5kZWZpbmVkXHJcbiAgICAgIGNvbnN0IHZhbGlkYXRlID0gdWlBY3Rpb24uc3VibWl0IHx8ICF1aUFjdGlvbi5tb2RlbDtcclxuXHJcbiAgICAgIGlmICgncmVTdWJzY3JpYmVUb0NoYW5nZScgaW4gdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZSkge1xyXG4gICAgICAgIGlmICghdmFsaWRhdGUpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFZhbGlkYXRlID0gZmFsc2UsIGJ1dCBVc2VVaUFjdGlvbiBkb2Vzbid0IHN1cHBvcnQgaXRgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQubmV4dCgpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdC50b1Byb21pc2UoKTtcclxuICAgICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQgPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICAgICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UucmVTdWJzY3JpYmVUb0NoYW5nZS5uZXh0KCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0Rm9ybSh2YWxpZGF0ZSk7XHJcbiAgICAgICAgbGV0IGludmFsaWRGaWVsZHMgPSB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldEludmFsaWRGaWVsZHMoKTtcclxuICAgICAgICBpZiAodmFsaWRhdGUgJiYgaW52YWxpZEZpZWxkcy5pbnZhbGlkRmllbGRLZXlzLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5zaG93SW52YWxpZEZpZWxkc1NuYWNrYmFyKGludmFsaWRGaWVsZHMpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh1aUFjdGlvbi5jb25maXJtKSB7XHJcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XHJcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9uQWN0aW9uLnRvUHJvbWlzZSgpO1xyXG4gICAgICBpZiAoIXRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uuc2hvdWxkRG9BY3Rpb24pIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJbnB1dFR5cGVcclxuICAgIGlmICh1aUFjdGlvbi5pbnB1dFR5cGUgJiYgdWlBY3Rpb24uaW5wdXRUeXBlICE9PSBVaUFjdGlvbklucHV0VHlwZS5OT05FKSB7XHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdCA9IGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlKFxyXG4gICAgICAgIHVpQWN0aW9uLmlucHV0VHlwZSxcclxuICAgICAgICB1aUFjdGlvbixcclxuICAgICAgICB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICAgICAgJ2lucHV0RGlhbG9nJ1xyXG4gICAgICApO1xyXG4gICAgICBpZiAoIXVpQWN0aW9uUmVxdWVzdCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyNTApKTtcclxuICAgIH1cclxuICAgIC8vIElucHV0MlR5cGVcclxuICAgIGlmICh1aUFjdGlvbi5pbnB1dDJUeXBlICYmIHVpQWN0aW9uLmlucHV0MlR5cGUgIT09IFVpQWN0aW9uSW5wdXRUeXBlLk5PTkUpIHtcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0ID0gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGUoXHJcbiAgICAgICAgdWlBY3Rpb24uaW5wdXQyVHlwZSxcclxuICAgICAgICB1aUFjdGlvbixcclxuICAgICAgICB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICAgICAgJ2lucHV0MkRpYWxvZydcclxuICAgICAgKTtcclxuICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy51aUFjdGlvbk1vZGVsLmV4Y2VwdGlvbikge1xyXG4gICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgICAgIHVpQWN0aW9uLFxyXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdFxyXG4gICAgICApO1xyXG5cclxuICAgICAgaWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0ID0gcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0O1xyXG4gICAgfVxyXG5cclxuICAgIGF3YWl0IHRoaXMucGVyZm9ybUFjdGlvbih1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlKFxyXG4gICAgaW5wdXRUeXBlOiBVaUFjdGlvbklucHV0VHlwZSxcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgaW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnXHJcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcclxuICAgIHN3aXRjaCAoaW5wdXRUeXBlKSB7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuTk9ORTpcclxuICAgICAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlRFWFRBUkVBOlxyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlRFWFRGSUVMRDpcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVUZXh0RmllbGQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVVNFUl9TRUxFQ1Q6XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVXNlclNlbGVjdChpbnB1dFR5cGVOYW1lLCB1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0KTtcclxuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5GSUxFOlxyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZVVwbG9hZChpbnB1dFR5cGVOYW1lLCB1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCBmYWxzZSk7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuTVVMVElQTEVfRklMRVM6XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVXBsb2FkKGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QsIHRydWUpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUlucHV0VHlwZVRleHRGaWVsZChcclxuICAgIGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJyxcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XHJcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcclxuICAgIGxldCBhZGRpdGlvbmFsUGFyYW1zID0gdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uKTtcclxuICAgIGxldCBpbnB1dFR5cGU6ICdpbnB1dFR5cGUnIHwgJ2lucHV0MlR5cGUnID1cclxuICAgICAgaW5wdXRUeXBlTmFtZSA9PT0gJ2lucHV0RGlhbG9nJyA/ICdpbnB1dFR5cGUnIDogJ2lucHV0MlR5cGUnO1xyXG5cclxuICAgIGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5URVhURklFTEQpIHtcclxuICAgICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLm5vZGVOYW1lID0gYWRkaXRpb25hbFBhcmFtcy5mb3JUZXh0RmllbGQ7XHJcbiAgICB9IGVsc2UgaWYgKHVpQWN0aW9uW2lucHV0VHlwZV0gPT09IFVpQWN0aW9uSW5wdXRUeXBlLlRFWFRBUkVBKSB7XHJcbiAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEFyZWE7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLmlucHV0VHlwZU5hbWUgPSBpbnB1dFR5cGVOYW1lO1xyXG4gICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLmFjdGlvbiA9IHVpQWN0aW9uO1xyXG5cclxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKCk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLm9uQWN0aW9uLnRvUHJvbWlzZSgpO1xyXG4gICAgbGV0IHBhcmFtcyA9IHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5wYXJhbXM7XHJcblxyXG4gICAgaWYgKCFwYXJhbXMpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignVGhlcmUgd2FzIG5vIHJlc3BvbnNlIGZyb20gSW5wdXREaWFsb2cnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcclxuICAgICAgLi4udWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyxcclxuICAgICAgLi4ucGFyYW1zLFxyXG4gICAgfTtcclxuICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUlucHV0VHlwZVVwbG9hZChcclxuICAgIGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJyxcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgaXNNdWx0aXBsZTogYm9vbGVhblxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmlucHV0VHlwZU5hbWUgPSBpbnB1dFR5cGVOYW1lO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5hY3Rpb24gPSB1aUFjdGlvbjtcclxuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UuaXNNdWx0aXBsZSA9IGlzTXVsdGlwbGU7XHJcblxyXG4gICAgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKCk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5vbkFjdGlvbi50b1Byb21pc2UoKTtcclxuICAgIGxldCBmaWxlcyA9IHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UuZmlsZXM7XHJcblxyXG4gICAgaWYgKCFmaWxlcyB8fCAhZmlsZXMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIHdhcyBubyByZXNwb25zZSBmcm9tIElucHV0RGlhbG9nJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XHJcbiAgICAgIC4uLnVpQWN0aW9uUmVxdWVzdC5wYXJhbXMsXHJcbiAgICAgIF9maWxlczogZmlsZXMsXHJcbiAgICAgIGlzTXVsdGlwbGUsXHJcbiAgICAgIHBhcmFtOlxyXG4gICAgICAgIHVpQWN0aW9uLmlucHV0VHlwZSA9PT0gJ2ZpbGUnIHx8IHVpQWN0aW9uLmlucHV0VHlwZSA9PT0gJ211bHRpcGxlX2ZpbGVzJ1xyXG4gICAgICAgICAgPyAnaW5wdXQnXHJcbiAgICAgICAgICA6ICdpbnB1dDInLFxyXG4gICAgfTtcclxuICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUlucHV0VHlwZVVzZXJTZWxlY3QoXHJcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgICB1aUFjdGlvbixcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0XHJcbiAgICApO1xyXG5cclxuICAgIGlmICghcmVzcG9uc2Uuc2hvdWxkUGVyZm9ybUFjdGlvbiB8fCAhcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHVpQWN0aW9uUmVxdWVzdCA9IHJlc3BvbnNlLnVpQWN0aW9uUmVxdWVzdDtcclxuICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHBlcmZvcm1BY3Rpb24oXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcclxuICAgIG9wdGlvbnM/OiBFeGVjdXRlVWlBY3Rpb25PcHRpb25zXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoXHJcbiAgICAgICF1aUFjdGlvblJlcXVlc3QucGFyYW1zIHx8XHJcbiAgICAgICh1aUFjdGlvblJlcXVlc3QucGFyYW1zICYmICFPYmplY3Qua2V5cyh1aUFjdGlvblJlcXVlc3QucGFyYW1zKS5sZW5ndGgpXHJcbiAgICApIHtcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcclxuICAgICAgICBtb2RlbDogdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRNb2RlbCgpLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIGlmICh1aUFjdGlvbi5zdWJtaXQgfHwgdWlBY3Rpb24ubW9kZWwpIHtcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snbW9kZWwnXSA9IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0TW9kZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnBlcmZvcm1VaUFjdGlvblJlcXVlc3QoXHJcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgICAgIG9wdGlvbnM/LndpZGdldElkLFxyXG4gICAgICAgIG9wdGlvbnM/Lm5vZGVJZFxyXG4gICAgICApO1xyXG5cclxuICAgICAgaWYgKHRoaXMudWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5mZWVkYmFja1R5cGUgPT09IFVpQWN0aW9uRmVlZGJhY2tUeXBlLlNOQUNLQkFSKSB7XHJcbiAgICAgICAgdGhpcy5zaG93U2F2ZWRTbmFja2Jhcih1aUFjdGlvbik7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93U2F2ZWRTbmFja2Jhcih1aUFjdGlvbjogVWlBY3Rpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFN1Y2Nlc3NTbmFja0JhckNvbXBvbmVudCwge1xyXG4gICAgICBkdXJhdGlvbjogNSAqIDEwMDAsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYmFja2dyb3VuZENvbG9yLWFjY2VudCddLFxyXG4gICAgICBkYXRhOiB1aUFjdGlvbixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd0ludmFsaWRGaWVsZHNTbmFja2JhcihpbnZhbGlkRmllbGRzOiBTbWFydEZvcm1JbnZhbGlkRmllbGRzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChJbnZhbGlkRmllbGRzU25hY2tCYXJDb21wb25lbnQsIHtcclxuICAgICAgZHVyYXRpb246IDUgKiAxMDAwLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2JhY2tncm91bmRDb2xvci13YXJuJ10sXHJcbiAgICAgIGRhdGE6IGludmFsaWRGaWVsZHMsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,54 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/dialog";
4
+ import * as i2 from "@angular/router";
5
+ export class SmartViewContextDialogService {
6
+ constructor(dialog, router) {
7
+ this.dialog = dialog;
8
+ this.router = router;
9
+ }
10
+ createDialog(smartDialog, component) {
11
+ let dialogData = smartDialog;
12
+ let dialogRef = this.dialog.open(component, { data: dialogData });
13
+ dialogRef.afterClosed().subscribe((result) => {
14
+ this.closeDialog(dialogRef, dialogData);
15
+ });
16
+ return dialogRef;
17
+ }
18
+ createDialogRef(smartDialog, component) {
19
+ const dialogRef = this.dialog.open(component, { data: smartDialog });
20
+ dialogRef.afterClosed().subscribe((result) => {
21
+ dialogRef.close();
22
+ });
23
+ return dialogRef;
24
+ }
25
+ openComponentAsDialog(component, viewName) {
26
+ let smartDialog = {
27
+ size: {},
28
+ content: {
29
+ title: viewName,
30
+ },
31
+ customComponent: component,
32
+ };
33
+ return this.createDialog(smartDialog, component);
34
+ }
35
+ async closeDialog(dialogRef, dialogData) {
36
+ if (dialogData?.outlets) {
37
+ await this.router.navigate([
38
+ {
39
+ outlets: dialogData.outlets,
40
+ },
41
+ ]);
42
+ }
43
+ dialogRef?.close();
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SmartViewContextDialogService, deps: [{ token: i1.MatDialog }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SmartViewContextDialogService, providedIn: 'root' }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SmartViewContextDialogService, decorators: [{
49
+ type: Injectable,
50
+ args: [{
51
+ providedIn: 'root',
52
+ }]
53
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.Router }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTNDLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFBOEIsTUFBaUIsRUFBWSxNQUFjO1FBQTNDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUU3RSxZQUFZLENBQ1YsV0FBNEIsRUFDNUIsU0FBNkI7UUFFN0IsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDO1FBRTdCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxlQUFlLENBQ2IsV0FBNEIsRUFDNUIsU0FBNkI7UUFFN0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFckUsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxTQUE2QixFQUFFLFFBQWdCO1FBQ25FLElBQUksV0FBVyxHQUFvQjtZQUNqQyxJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsUUFBUTthQUNoQjtZQUNELGVBQWUsRUFBRSxTQUFTO1NBQzNCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQWlDLEVBQUUsVUFBMkI7UUFDOUUsSUFBSSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDekI7b0JBQ0UsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2lCQUM1QjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0FuRFUsNkJBQTZCO2tIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNtYXJ0RGlhbG9nRGF0YSB9IGZyb20gJy4uL3NtYXJ0LWRpYWxvZy9zbWFydGRpYWxvZy5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRWaWV3Q29udGV4dERpYWxvZ1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJvdGVjdGVkIGRpYWxvZzogTWF0RGlhbG9nLCBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gIGNyZWF0ZURpYWxvZyhcclxuICAgIHNtYXJ0RGlhbG9nOiBTbWFydERpYWxvZ0RhdGEsXHJcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PlxyXG4gICk6IE1hdERpYWxvZ1JlZjxhbnksIGFueT4ge1xyXG4gICAgbGV0IGRpYWxvZ0RhdGEgPSBzbWFydERpYWxvZztcclxuXHJcbiAgICBsZXQgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3Blbihjb21wb25lbnQsIHsgZGF0YTogZGlhbG9nRGF0YSB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICB0aGlzLmNsb3NlRGlhbG9nKGRpYWxvZ1JlZiwgZGlhbG9nRGF0YSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkaWFsb2dSZWY7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEaWFsb2dSZWYoXHJcbiAgICBzbWFydERpYWxvZzogU21hcnREaWFsb2dEYXRhLFxyXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT5cclxuICApOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+IHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IGRhdGE6IHNtYXJ0RGlhbG9nIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICB9XHJcblxyXG4gIG9wZW5Db21wb25lbnRBc0RpYWxvZyhjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55Piwgdmlld05hbWU6IHN0cmluZyk6IE1hdERpYWxvZ1JlZjxhbnksIGFueT4ge1xyXG4gICAgbGV0IHNtYXJ0RGlhbG9nOiBTbWFydERpYWxvZ0RhdGEgPSB7XHJcbiAgICAgIHNpemU6IHt9LFxyXG4gICAgICBjb250ZW50OiB7XHJcbiAgICAgICAgdGl0bGU6IHZpZXdOYW1lLFxyXG4gICAgICB9LFxyXG4gICAgICBjdXN0b21Db21wb25lbnQ6IGNvbXBvbmVudCxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlRGlhbG9nKHNtYXJ0RGlhbG9nLCBjb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2xvc2VEaWFsb2coZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+LCBkaWFsb2dEYXRhOiBTbWFydERpYWxvZ0RhdGEpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChkaWFsb2dEYXRhPy5vdXRsZXRzKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvdXRsZXRzOiBkaWFsb2dEYXRhLm91dGxldHMsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSk7XHJcbiAgICB9XHJcbiAgICBkaWFsb2dSZWY/LmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./smart-view-context-error-dialog.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/material/button";
6
+ export class SmartViewContextErrorDialogComponent {
7
+ constructor(service) {
8
+ this.service = service;
9
+ this.service
10
+ .getSmartViewContextApiError()
11
+ .then((smartViewContextApiError) => {
12
+ this.smartViewContextApiError = smartViewContextApiError;
13
+ });
14
+ }
15
+ ngOnInit() { }
16
+ onActionClick() {
17
+ if (this.smartViewContextApiError?.customAction) {
18
+ this.smartViewContextApiError.customAction();
19
+ }
20
+ this.service.closeDialog();
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: i1.SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\r\n {{ smartViewContextApiError.buttonLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'lib-smart-view-context-error-dialog', template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\r\n {{ smartViewContextApiError.buttonLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
28
+ }], ctorParameters: () => [{ type: i1.SmartViewContextErrorDialogService }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTbEQsTUFBTSxPQUFPLG9DQUFvQztJQUcvQyxZQUFvQixPQUEyQztRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFvQztRQUM3RCxJQUFJLENBQUMsT0FBTzthQUNULDJCQUEyQixFQUFFO2FBQzdCLElBQUksQ0FBQyxDQUFDLHdCQUFrRCxFQUFFLEVBQUU7WUFDM0QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVEsS0FBVSxDQUFDO0lBRW5CLGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0FsQlUsb0NBQW9DO2tHQUFwQyxvQ0FBb0MsMkVDVGpELG9lQWVBOzsyRkROYSxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0UscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dEFwaUVycm9yIH0gZnJvbSAnLi4vc21hcnQtdmlldy1jb250ZXh0Lm1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dEVycm9yRGlhbG9nU2VydmljZSB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc21hcnRWaWV3Q29udGV4dEFwaUVycm9yPzogU21hcnRWaWV3Q29udGV4dEFwaUVycm9yO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ1NlcnZpY2UpIHtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0U21hcnRWaWV3Q29udGV4dEFwaUVycm9yKClcclxuICAgICAgLnRoZW4oKHNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcjogU21hcnRWaWV3Q29udGV4dEFwaUVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zbWFydFZpZXdDb250ZXh0QXBpRXJyb3IgPSBzbWFydFZpZXdDb250ZXh0QXBpRXJyb3I7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBvbkFjdGlvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc21hcnRWaWV3Q29udGV4dEFwaUVycm9yPy5jdXN0b21BY3Rpb24pIHtcclxuICAgICAgdGhpcy5zbWFydFZpZXdDb250ZXh0QXBpRXJyb3IuY3VzdG9tQWN0aW9uKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UuY2xvc2VEaWFsb2coKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvclwiIGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGgzIGNsYXNzPVwiY29sb3ItYWNjZW50LTcwMFwiPlxyXG4gICAge3sgc21hcnRWaWV3Q29udGV4dEFwaUVycm9yLmRpYWxvZ1RpdGxlIH19XHJcbiAgPC9oMz5cclxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgPHA+XHJcbiAgICAgIHt7IHNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvci5tZXNzYWdlIH19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImJ1dHRvbkNvbnRhaW5lclwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib25BY3Rpb25DbGljaygpXCI+XHJcbiAgICAgIHt7IHNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvci5idXR0b25MYWJlbCB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=