@mediusinc/mng-commons 2.6.0 → 3.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/README.md +15 -4
  2. package/dev-scripts/version-info.js +1 -0
  3. package/esm2022/lib/api/models/filter-param.model.mjs +33 -0
  4. package/esm2022/lib/api/models/query-param.model.mjs +68 -0
  5. package/esm2022/lib/api/models/query-result.model.mjs +24 -0
  6. package/esm2022/lib/api/utils/medius-rest.util.mjs +255 -0
  7. package/esm2022/lib/api/utils/object-serializer.util.mjs +258 -0
  8. package/esm2022/lib/components/action/action.component.mjs +304 -0
  9. package/esm2022/lib/components/action/editor/action-editor.component.mjs +386 -0
  10. package/esm2022/lib/components/action/localization/data-language-dropdown.component.mjs +54 -0
  11. package/{esm2020 → esm2022}/lib/components/action/models/action-execution.model.mjs +1 -1
  12. package/esm2022/lib/components/action/models/tableview-action-default-categories.model.mjs +11 -0
  13. package/{esm2020 → esm2022}/lib/components/action/route/action-route.component.mjs +4 -4
  14. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +300 -0
  15. package/{esm2020 → esm2022}/lib/components/form/date-range/date-range.component.mjs +5 -5
  16. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +212 -0
  17. package/esm2022/lib/components/form/editor/form-editor.component.mjs +288 -0
  18. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +5 -5
  20. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +6 -6
  22. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +5 -5
  25. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +7 -7
  27. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +4 -4
  29. package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +19 -0
  30. package/{esm2020 → esm2022}/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +4 -4
  32. package/esm2022/lib/components/form/models/form-editor.event.mjs +49 -0
  33. package/esm2022/lib/components/layout/breadcrumb.component.mjs +34 -0
  34. package/{esm2020 → esm2022}/lib/components/layout/footer.component.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/components/layout/main-layout.component.mjs +4 -4
  36. package/esm2022/lib/components/layout/menu-item.component.mjs +297 -0
  37. package/{esm2020 → esm2022}/lib/components/layout/menu.component.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/components/layout/services/main-layout.component.service.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/components/layout/topbar-user.component.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/components/layout/topbar.component.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/components/layout/version.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/components/pages/error/error-page.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/components/pages/not-found/not-found-page.component.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/components/tableview/models/table.event.mjs +1 -1
  45. package/{esm2020 → esm2022}/lib/components/tableview/route/tableview-route.abstract.component.mjs +5 -5
  46. package/{esm2020 → esm2022}/lib/components/tableview/route/tableview-route.component.mjs +4 -4
  47. package/esm2022/lib/components/tableview/table/column-filter/column-filter.component.mjs +124 -0
  48. package/esm2022/lib/components/tableview/table/column-value/column-value.component.mjs +110 -0
  49. package/esm2022/lib/components/tableview/table/table.component.mjs +747 -0
  50. package/esm2022/lib/components/tableview/tableview.component.mjs +147 -0
  51. package/esm2022/lib/descriptors/action/action.descriptor.mjs +634 -0
  52. package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +304 -0
  53. package/esm2022/lib/descriptors/table/table.descriptor.mjs +542 -0
  54. package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +352 -0
  55. package/{esm2020 → esm2022}/lib/descriptors/types/table.type.mjs +1 -5
  56. package/{esm2020 → esm2022}/lib/directives/component.directive.mjs +5 -5
  57. package/{esm2020 → esm2022}/lib/directives/template.directive.mjs +5 -5
  58. package/esm2022/lib/mng-commons.module.mjs +465 -0
  59. package/{esm2020 → esm2022}/lib/pipes/boolean.pipe.mjs +4 -4
  60. package/{esm2020 → esm2022}/lib/pipes/class-map.pipe.mjs +4 -4
  61. package/{esm2020 → esm2022}/lib/pipes/enum.pipe.mjs +4 -4
  62. package/{esm2020 → esm2022}/lib/pipes/enumerate-async.pipe.mjs +4 -4
  63. package/{esm2020 → esm2022}/lib/pipes/enumerate.pipe.mjs +4 -4
  64. package/{esm2020 → esm2022}/lib/pipes/getter.pipe.mjs +4 -4
  65. package/{esm2020 → esm2022}/lib/pipes/i18n-property.pipe.mjs +4 -4
  66. package/{esm2020 → esm2022}/lib/pipes/json-path.pipe.mjs +4 -4
  67. package/{esm2020 → esm2022}/lib/pipes/locale-default-row-class.pipe.mjs +4 -4
  68. package/{esm2020 → esm2022}/lib/pipes/parametrize.pipe.mjs +4 -4
  69. package/{esm2020 → esm2022}/lib/pipes/template.pipe.mjs +4 -4
  70. package/esm2022/lib/router/route-builder.mjs +308 -0
  71. package/esm2022/lib/router/routes-builder.mjs +61 -0
  72. package/esm2022/lib/security/authorization.guard.mjs +15 -0
  73. package/{esm2020 → esm2022}/lib/security/authorization.service.mjs +4 -4
  74. package/esm2022/lib/services/action-executor.service.mjs +703 -0
  75. package/{esm2020 → esm2022}/lib/services/commons.service.mjs +4 -4
  76. package/esm2022/lib/services/configuration.service.mjs +150 -0
  77. package/{esm2020 → esm2022}/lib/services/internal/commons-init.service.mjs +4 -4
  78. package/{esm2020 → esm2022}/lib/services/mng-localstorage-config.service.mjs +4 -4
  79. package/{esm2020 → esm2022}/lib/services/navigation.service.mjs +4 -4
  80. package/{esm2020 → esm2022}/lib/services/router.service.mjs +4 -4
  81. package/{esm2020 → esm2022}/lib/services/version.service.mjs +4 -4
  82. package/{esm2020 → esm2022}/lib/services/view-container.component.service.mjs +4 -4
  83. package/esm2022/lib/styles/styles.util.mjs +42 -0
  84. package/esm2022/lib/types/type.model.mjs +2 -0
  85. package/esm2022/lib/utils/date.util.mjs +120 -0
  86. package/esm2022/lib/utils/tableview.util.mjs +193 -0
  87. package/esm2022/lib/utils/type.util.mjs +94 -0
  88. package/{fesm2020 → fesm2022}/mediusinc-mng-commons.mjs +930 -908
  89. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -0
  90. package/lib/api/utils/medius-rest.util.d.ts +4 -3
  91. package/lib/components/action/action.component.d.ts +1 -1
  92. package/lib/components/action/editor/action-editor.component.d.ts +6 -9
  93. package/lib/components/action/localization/data-language-dropdown.component.d.ts +1 -1
  94. package/lib/components/form/autocomplete/autocomplete.component.d.ts +4 -4
  95. package/lib/components/form/date-range/date-range.component.d.ts +1 -1
  96. package/lib/components/form/dropdown/dropdown.component.d.ts +3 -3
  97. package/lib/components/form/editor/form-editor.component.d.ts +1 -1
  98. package/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.d.ts +1 -1
  99. package/lib/components/layout/breadcrumb.component.d.ts +5 -0
  100. package/lib/components/layout/menu-item.component.d.ts +1 -1
  101. package/lib/components/layout/version.component.d.ts +1 -1
  102. package/lib/components/tableview/models/table.event.d.ts +2 -2
  103. package/lib/components/tableview/route/tableview-route.component.d.ts +1 -1
  104. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +2 -2
  105. package/lib/components/tableview/table/column-value/column-value.component.d.ts +1 -1
  106. package/lib/components/tableview/table/table.component.d.ts +6 -7
  107. package/lib/components/tableview/tableview.component.d.ts +7 -11
  108. package/lib/descriptors/editor/editor.descriptor.d.ts +1 -1
  109. package/lib/descriptors/table/table.descriptor.d.ts +7 -1
  110. package/lib/descriptors/tableview/tableview.descriptor.d.ts +4 -4
  111. package/lib/descriptors/types/table.type.d.ts +1 -5
  112. package/lib/directives/component.directive.d.ts +1 -1
  113. package/lib/directives/template.directive.d.ts +1 -1
  114. package/lib/router/route-builder.d.ts +6 -10
  115. package/lib/router/routes-builder.d.ts +0 -5
  116. package/lib/security/authorization.guard.d.ts +2 -11
  117. package/lib/services/action-executor.service.d.ts +1 -15
  118. package/lib/utils/route.util.d.ts +8 -19
  119. package/lib/utils/tableview.util.d.ts +5 -0
  120. package/package.json +12 -19
  121. package/esm2020/lib/api/models/filter-param.model.mjs +0 -33
  122. package/esm2020/lib/api/models/query-param.model.mjs +0 -68
  123. package/esm2020/lib/api/models/query-result.model.mjs +0 -24
  124. package/esm2020/lib/api/utils/medius-rest.util.mjs +0 -246
  125. package/esm2020/lib/api/utils/object-serializer.util.mjs +0 -258
  126. package/esm2020/lib/components/action/action.component.mjs +0 -303
  127. package/esm2020/lib/components/action/editor/action-editor.component.mjs +0 -390
  128. package/esm2020/lib/components/action/localization/data-language-dropdown.component.mjs +0 -47
  129. package/esm2020/lib/components/action/models/tableview-action-default-categories.model.mjs +0 -11
  130. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +0 -303
  131. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +0 -214
  132. package/esm2020/lib/components/form/editor/form-editor.component.mjs +0 -288
  133. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +0 -19
  134. package/esm2020/lib/components/form/models/form-editor.event.mjs +0 -49
  135. package/esm2020/lib/components/layout/breadcrumb.component.mjs +0 -19
  136. package/esm2020/lib/components/layout/menu-item.component.mjs +0 -294
  137. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +0 -126
  138. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +0 -108
  139. package/esm2020/lib/components/tableview/table/table.component.mjs +0 -749
  140. package/esm2020/lib/components/tableview/tableview.component.mjs +0 -146
  141. package/esm2020/lib/descriptors/action/action.descriptor.mjs +0 -634
  142. package/esm2020/lib/descriptors/editor/editor.descriptor.mjs +0 -304
  143. package/esm2020/lib/descriptors/table/table.descriptor.mjs +0 -521
  144. package/esm2020/lib/descriptors/tableview/tableview.descriptor.mjs +0 -347
  145. package/esm2020/lib/mng-commons.module.mjs +0 -469
  146. package/esm2020/lib/router/route-builder.mjs +0 -312
  147. package/esm2020/lib/router/routes-builder.mjs +0 -68
  148. package/esm2020/lib/security/authorization.guard.mjs +0 -30
  149. package/esm2020/lib/services/action-executor.service.mjs +0 -722
  150. package/esm2020/lib/services/configuration.service.mjs +0 -150
  151. package/esm2020/lib/styles/styles.util.mjs +0 -42
  152. package/esm2020/lib/types/type.model.mjs +0 -2
  153. package/esm2020/lib/utils/date.util.mjs +0 -120
  154. package/esm2020/lib/utils/tableview.util.mjs +0 -171
  155. package/esm2020/lib/utils/type.util.mjs +0 -94
  156. package/fesm2015/mediusinc-mng-commons.mjs +0 -15900
  157. package/fesm2015/mediusinc-mng-commons.mjs.map +0 -1
  158. package/fesm2020/mediusinc-mng-commons.mjs.map +0 -1
  159. /package/{esm2020 → esm2022}/index.mjs +0 -0
  160. /package/{esm2020 → esm2022}/lib/api/models/builders/query-param.builder.mjs +0 -0
  161. /package/{esm2020 → esm2022}/lib/api/models/filter-match-type.model.mjs +0 -0
  162. /package/{esm2020 → esm2022}/lib/api/models/index.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/api/models/mappers.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/api/models/query-mode.model.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/api/models/serialization.model.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/api/services/api.abstract.service.mjs +0 -0
  167. /package/{esm2020 → esm2022}/lib/api/services/crud-api.abstract.service.mjs +0 -0
  168. /package/{esm2020 → esm2022}/lib/api/services/get-all-api.abstract.service.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/api/services/index.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/api/utils/index.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/components/action/index.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/components/action/models/action-component.model.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/components/action/models/action-confirmation-service.model.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/components/action/models/index.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/components/form/formly/fields/index.mjs +0 -0
  176. /package/{esm2020 → esm2022}/lib/components/form/formly/formly.config.mjs +0 -0
  177. /package/{esm2020 → esm2022}/lib/components/form/formly/index.mjs +0 -0
  178. /package/{esm2020 → esm2022}/lib/components/form/formly/models/formly-config.model.mjs +0 -0
  179. /package/{esm2020 → esm2022}/lib/components/form/formly/models/formly-field.model.mjs +0 -0
  180. /package/{esm2020 → esm2022}/lib/components/form/formly/models/index.mjs +0 -0
  181. /package/{esm2020 → esm2022}/lib/components/form/formly/wrappers/index.mjs +0 -0
  182. /package/{esm2020 → esm2022}/lib/components/form/index.mjs +0 -0
  183. /package/{esm2020 → esm2022}/lib/components/form/models/field-action-context.model.mjs +0 -0
  184. /package/{esm2020 → esm2022}/lib/components/form/models/form-editor.interface.mjs +0 -0
  185. /package/{esm2020 → esm2022}/lib/components/form/models/index.mjs +0 -0
  186. /package/{esm2020 → esm2022}/lib/components/layout/index.mjs +0 -0
  187. /package/{esm2020 → esm2022}/lib/components/layout/services/index.mjs +0 -0
  188. /package/{esm2020 → esm2022}/lib/components/pages/index.mjs +0 -0
  189. /package/{esm2020 → esm2022}/lib/components/tableview/index.mjs +0 -0
  190. /package/{esm2020 → esm2022}/lib/components/tableview/models/index.mjs +0 -0
  191. /package/{esm2020 → esm2022}/lib/components/tableview/table/models/index.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/components/tableview/table/models/table.interface.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/data-providers/base.data-provider.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/data-providers/editor.data-provider.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/data-providers/index.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/data-providers/lookup.data-provider.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/data-providers/table.data-provider.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/data-providers/tableview-crud.data-provider.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/data-providers/tableview.data-provider.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/descriptors/action/action-button.descriptor.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/descriptors/action/action-confirmation.descriptor.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/descriptors/action/index.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/descriptors/editor/field-validation.descriptor.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/descriptors/editor/field.descriptor.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/descriptors/editor/index.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/descriptors/filter/filter.descriptor.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/descriptors/filter/index.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/descriptors/index.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/descriptors/interfaces/field-config.interface.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/descriptors/interfaces/index.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/descriptors/model.descriptor.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/descriptors/table/column.descriptor.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/descriptors/table/index.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/descriptors/tableview/index.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/descriptors/types/action.type.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/descriptors/types/column.type.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/descriptors/types/editor.type.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/descriptors/types/field.type.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/descriptors/types/filter.type.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/descriptors/types/index.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
  223. /package/{esm2020 → esm2022}/lib/models/column-value.model.mjs +0 -0
  224. /package/{esm2020 → esm2022}/lib/models/config.model.mjs +0 -0
  225. /package/{esm2020 → esm2022}/lib/models/enum.model.mjs +0 -0
  226. /package/{esm2020 → esm2022}/lib/models/error-internal.model.mjs +0 -0
  227. /package/{esm2020 → esm2022}/lib/models/error.model.mjs +0 -0
  228. /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
  229. /package/{esm2020 → esm2022}/lib/models/menu.model.mjs +0 -0
  230. /package/{esm2020 → esm2022}/lib/models/tableview-attr.model.mjs +0 -0
  231. /package/{esm2020 → esm2022}/lib/models/user.model.mjs +0 -0
  232. /package/{esm2020 → esm2022}/lib/models/version.model.mjs +0 -0
  233. /package/{esm2020 → esm2022}/lib/models/view-container.model.mjs +0 -0
  234. /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
  235. /package/{esm2020 → esm2022}/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +0 -0
  236. /package/{esm2020 → esm2022}/lib/pipes/models/internal/index.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/provide-commons.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/router/index.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/router/models/index.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/router/models/router.model.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/router/tableview-route-builder.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/security/authorization.util.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/security/index.mjs +0 -0
  244. /package/{esm2020 → esm2022}/lib/security/model/authorization.type.mjs +0 -0
  245. /package/{esm2020 → esm2022}/lib/security/model/index.mjs +0 -0
  246. /package/{esm2020 → esm2022}/lib/security/model/permission-service.interface.mjs +0 -0
  247. /package/{esm2020 → esm2022}/lib/security/model/permissions.model.mjs +0 -0
  248. /package/{esm2020 → esm2022}/lib/services/error-mapper.service.mjs +0 -0
  249. /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
  250. /package/{esm2020 → esm2022}/lib/services/internal/commons-init.provider.mjs +0 -0
  251. /package/{esm2020 → esm2022}/lib/services/internal/index.mjs +0 -0
  252. /package/{esm2020 → esm2022}/lib/services/providers/config-service.provider.mjs +0 -0
  253. /package/{esm2020 → esm2022}/lib/services/providers/formly-config.provider.mjs +0 -0
  254. /package/{esm2020 → esm2022}/lib/services/providers/index.mjs +0 -0
  255. /package/{esm2020 → esm2022}/lib/services/tokens/browser-storage.token.mjs +0 -0
  256. /package/{esm2020 → esm2022}/lib/services/tokens/commons-init.token.mjs +0 -0
  257. /package/{esm2020 → esm2022}/lib/services/tokens/default-setting.token.mjs +0 -0
  258. /package/{esm2020 → esm2022}/lib/services/tokens/index.mjs +0 -0
  259. /package/{esm2020 → esm2022}/lib/services/tokens/module-config.token.mjs +0 -0
  260. /package/{esm2020 → esm2022}/lib/styles/button-style.builder.mjs +0 -0
  261. /package/{esm2020 → esm2022}/lib/styles/index.mjs +0 -0
  262. /package/{esm2020 → esm2022}/lib/styles/models/index.mjs +0 -0
  263. /package/{esm2020 → esm2022}/lib/styles/models/style-level.enum.mjs +0 -0
  264. /package/{esm2020 → esm2022}/lib/styles/models/style-size.enum.mjs +0 -0
  265. /package/{esm2020 → esm2022}/lib/types/i18n.type.mjs +0 -0
  266. /package/{esm2020 → esm2022}/lib/types/index.mjs +0 -0
  267. /package/{esm2020 → esm2022}/lib/types/mng-localstorage-config-value.type.mjs +0 -0
  268. /package/{esm2020 → esm2022}/lib/types/type.decorator.mjs +0 -0
  269. /package/{esm2020 → esm2022}/lib/utils/action-data-provider.util.mjs +0 -0
  270. /package/{esm2020 → esm2022}/lib/utils/editor-formly.util.mjs +0 -0
  271. /package/{esm2020 → esm2022}/lib/utils/enum.util.mjs +0 -0
  272. /package/{esm2020 → esm2022}/lib/utils/export.util.mjs +0 -0
  273. /package/{esm2020 → esm2022}/lib/utils/file.util.mjs +0 -0
  274. /package/{esm2020 → esm2022}/lib/utils/i18n.util.mjs +0 -0
  275. /package/{esm2020 → esm2022}/lib/utils/index.mjs +0 -0
  276. /package/{esm2020 → esm2022}/lib/utils/model.util.mjs +0 -0
  277. /package/{esm2020 → esm2022}/lib/utils/notification.util.mjs +0 -0
  278. /package/{esm2020 → esm2022}/lib/utils/object.util.mjs +0 -0
  279. /package/{esm2020 → esm2022}/lib/utils/route.util.mjs +0 -0
  280. /package/{esm2020 → esm2022}/lib/utils/string.util.mjs +0 -0
  281. /package/{esm2020 → esm2022}/lib/validators/field.validator.mjs +0 -0
  282. /package/{esm2020 → esm2022}/lib/validators/index.mjs +0 -0
  283. /package/{esm2020 → esm2022}/mediusinc-mng-commons.mjs +0 -0
@@ -1,150 +0,0 @@
1
- import { combineLatest, of, tap, throwError } from 'rxjs';
2
- import { catchError, map } from 'rxjs/operators';
3
- import { MngErrorInternal } from '../models';
4
- export class MngConfigurationService {
5
- static init(httpClient) {
6
- if (!this._instance) {
7
- MngConfigurationService._instance = new MngConfigurationService(httpClient);
8
- }
9
- return MngConfigurationService.get();
10
- }
11
- static get() {
12
- if (!MngConfigurationService._instance) {
13
- throw new MngErrorInternal('Configuration service instance not set. Call init first.', 'ConfigurationService error').consoleError();
14
- }
15
- return MngConfigurationService._instance;
16
- }
17
- constructor(http) {
18
- this.http = http;
19
- this.jsonSources = [];
20
- this.objectSources = [];
21
- this.configuration = { ...this.projectEnvironment };
22
- /**
23
- * returns true if there is no jsonSources
24
- */
25
- this.skipJsonConfigsLoading = () => this.jsonSources === null || this.jsonSources.length === 0;
26
- /**
27
- * loads json sources or skips them returning true in both cases
28
- * used for `skipJsonSourceInit` configuration parameter
29
- */
30
- this.loadJsonConfigurations = () => (this.skipJsonConfigsLoading() ? of(true) : this.loadJsonSources());
31
- }
32
- /**
33
- * Add project environment source.
34
- * @param environemnt Environment.
35
- */
36
- addEnvironmentSource(environment) {
37
- this.projectEnvironment = environment;
38
- this.mergeConfigs();
39
- }
40
- /**
41
- * Adds new config source from JSON file loaded from HTTP.
42
- * @param url Url to JSON file.
43
- * @param loadImmediately Load is by default triggered on app initialization. If immediate load is required, pass true.
44
- */
45
- addJsonSource(config = {}, loadImmediately = false) {
46
- if (!config) {
47
- config = {};
48
- }
49
- const url = config?.url ?? 'assets/config/env{{environment}}.json';
50
- const enableEnvProdReplace = config?.enableEnvProd ?? false;
51
- const sourceInfo = {
52
- url: url,
53
- isEnvironment: false,
54
- environmentEnableEnvProd: enableEnvProdReplace,
55
- isLoaded: false
56
- };
57
- this.jsonSources.push(sourceInfo);
58
- if (loadImmediately) {
59
- return this.loadJsonConfigurations();
60
- }
61
- else {
62
- return of(true);
63
- }
64
- }
65
- /**
66
- * Adds new config object from any object.
67
- * @param config Config object.
68
- */
69
- addObjectSource(config) {
70
- this.objectSources.push(config);
71
- this.mergeConfigs();
72
- }
73
- loadJsonSources() {
74
- return combineLatest(this.jsonSources
75
- .filter(source => !source.isLoaded)
76
- .map(sourceInfo => {
77
- let url = sourceInfo.url;
78
- sourceInfo.environment = this.projectEnvironment.name || (this.projectEnvironment.production ? (sourceInfo.environmentEnableEnvProd ? 'prod' : null) : 'dev');
79
- sourceInfo.isEnvironment = !!sourceInfo.environment;
80
- if (sourceInfo.isEnvironment) {
81
- url = url.replace('{{environment}}', '.' + sourceInfo.environment);
82
- }
83
- else {
84
- // replace possible environment entry and change source info url
85
- url = url.replace('{{environment}}', '');
86
- sourceInfo.url = url;
87
- }
88
- return this.http.get(url).pipe(catchError((err) => {
89
- if (sourceInfo.isEnvironment) {
90
- const noEnvUrl = sourceInfo.url.replace('{{environment}}', '');
91
- sourceInfo.environment = null;
92
- return this.http.get(noEnvUrl);
93
- }
94
- else {
95
- const message = `Configuration file ${url} not loaded (${err.status}): ${err.message}.`;
96
- return throwError(() => new MngErrorInternal(message, 'ConfigurationService error', {
97
- cause: err,
98
- status: err.status,
99
- statusDescription: err.statusText,
100
- url: err.url ?? undefined
101
- }).consoleError());
102
- }
103
- }), map(configuration => {
104
- sourceInfo.configuration = configuration;
105
- sourceInfo.isLoaded = true;
106
- return true;
107
- }));
108
- })).pipe(map(sourceResults => sourceResults.every(sr => sr)), tap(() => this.mergeConfigs()));
109
- }
110
- /**
111
- * Get configuration.
112
- */
113
- getConfig() {
114
- return this.configuration;
115
- }
116
- /**
117
- * Get configuration value for key.
118
- * @param key Configuration key.
119
- */
120
- getConfigValue(key) {
121
- return this.configuration[key] ? this.configuration[key] : null;
122
- }
123
- /**
124
- * Has configuration for key.
125
- * @param key Configuration key.
126
- */
127
- hasConfigKey(key) {
128
- return Object.keys(this.configuration).some(k => k === key);
129
- }
130
- /**
131
- * Merges configuration from multiple sources with
132
- */
133
- mergeConfigs() {
134
- let config = { ...this.projectEnvironment };
135
- const jsonConfigs = this.jsonSources.filter(source => source.isLoaded && typeof source.configuration === 'object').map(source => source.configuration);
136
- if (jsonConfigs.length) {
137
- for (const jsonConfig of jsonConfigs) {
138
- config = { ...config, ...jsonConfig };
139
- }
140
- }
141
- if (this.objectSources.length) {
142
- for (const objConfig of this.objectSources) {
143
- config = { ...config, ...objConfig };
144
- }
145
- }
146
- this.configuration = config;
147
- }
148
- }
149
- MngConfigurationService._instance = null;
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUUzQyxNQUFNLE9BQU8sdUJBQXVCO0lBR3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBc0I7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsdUJBQXVCLENBQUMsU0FBUyxHQUFHLElBQUksdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDL0U7UUFDRCxPQUFPLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRztRQUNiLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUU7WUFDcEMsTUFBTSxJQUFJLGdCQUFnQixDQUFDLDBEQUEwRCxFQUFFLDRCQUE0QixDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdkk7UUFDRCxPQUFPLHVCQUF1QixDQUFDLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBUUQsWUFBNEIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUxwQyxnQkFBVyxHQUE4QixFQUFFLENBQUM7UUFDNUMsa0JBQWEsR0FBZSxFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFDLENBQUM7UUFpRHJEOztXQUVHO1FBQ0ssMkJBQXNCLEdBQUcsR0FBRyxFQUFFLENBQUMs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dEM7U0FDSjtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUM7O0FBektjLGlDQUFTLEdBQW1DLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBvZiwgdGFwLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TW5nRXJyb3JJbnRlcm5hbH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgc3RhdGljIGluaXQoaHR0cENsaWVudDogSHR0cENsaWVudCk6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnN0YW5jZSkge1xuICAgICAgICAgICAgTW5nQ29uZmlndXJhdGlvblNlcnZpY2UuX2luc3RhbmNlID0gbmV3IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKGh0dHBDbGllbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBNbmdDb25maWd1cmF0aW9uU2VydmljZS5nZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCgpOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSB7XG4gICAgICAgIGlmICghTW5nQ29uZmlndXJhdGlvblNlcnZpY2UuX2luc3RhbmNlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgTW5nRXJyb3JJbnRlcm5hbCgnQ29uZmlndXJhdGlvbiBzZXJ2aWNlIGluc3RhbmNlIG5vdCBzZXQuIENhbGwgaW5pdCBmaXJzdC4nLCAnQ29uZmlndXJhdGlvblNlcnZpY2UgZXJyb3InKS5jb25zb2xlRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTW5nQ29uZmlndXJhdGlvblNlcnZpY2UuX2luc3RhbmNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvamVjdEVudmlyb25tZW50PzogYW55O1xuICAgIHByaXZhdGUganNvblNvdXJjZXM6IEFycmF5PEpzb25Tb3VyY2VMb2FkSW5mbz4gPSBbXTtcbiAgICBwcml2YXRlIG9iamVjdFNvdXJjZXM6IEFycmF5PGFueT4gPSBbXTtcblxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbiA9IHsuLi50aGlzLnByb2plY3RFbnZpcm9ubWVudH07XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICAgIC8qKlxuICAgICAqIEFkZCBwcm9qZWN0IGVudmlyb25tZW50IHNvdXJjZS5cbiAgICAgKiBAcGFyYW0gZW52aXJvbmVtbnQgRW52aXJvbm1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGFkZEVudmlyb25tZW50U291cmNlKGVudmlyb25tZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICAgICAgdGhpcy5tZXJnZUNvbmZpZ3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIG5ldyBjb25maWcgc291cmNlIGZyb20gSlNPTiBmaWxlIGxvYWRlZCBmcm9tIEhUVFAuXG4gICAgICogQHBhcmFtIHVybCBVcmwgdG8gSlNPTiBmaWxlLlxuICAgICAqIEBwYXJhbSBsb2FkSW1tZWRpYXRlbHkgTG9hZCBpcyBieSBkZWZhdWx0IHRyaWdnZXJlZCBvbiBhcHAgaW5pdGlhbGl6YXRpb24uIElmIGltbWVkaWF0ZSBsb2FkIGlzIHJlcXVpcmVkLCBwYXNzIHRydWUuXG4gICAgICovXG4gICAgcHVibGljIGFkZEpzb25Tb3VyY2UoY29uZmlnOiB7dXJsPzogc3RyaW5nOyBlbmFibGVFbnZQcm9kPzogYm9vbGVhbn0gPSB7fSwgbG9hZEltbWVkaWF0ZWx5ID0gZmFsc2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVybCA9IGNvbmZpZz8udXJsID8/ICdhc3NldHMvY29uZmlnL2Vudnt7ZW52aXJvbm1lbnR9fS5qc29uJztcbiAgICAgICAgY29uc3QgZW5hYmxlRW52UHJvZFJlcGxhY2UgPSBjb25maWc/LmVuYWJsZUVudlByb2QgPz8gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc291cmNlSW5mbzogSnNvblNvdXJjZUxvYWRJbmZvID0ge1xuICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICBpc0Vudmlyb25tZW50OiBmYWxzZSxcbiAgICAgICAgICAgIGVudmlyb25tZW50RW5hYmxlRW52UHJvZDogZW5hYmxlRW52UHJvZFJlcGxhY2UsXG4gICAgICAgICAgICBpc0xvYWRlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5qc29uU291cmNlcy5wdXNoKHNvdXJjZUluZm8pO1xuXG4gICAgICAgIGlmIChsb2FkSW1tZWRpYXRlbHkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRKc29uQ29uZmlndXJhdGlvbnMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgbmV3IGNvbmZpZyBvYmplY3QgZnJvbSBhbnkgb2JqZWN0LlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlnIG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkT2JqZWN0U291cmNlKGNvbmZpZzogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JqZWN0U291cmNlcy5wdXNoKGNvbmZpZyk7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyB0cnVlIGlmIHRoZXJlIGlzIG5vIGpzb25Tb3VyY2VzXG4gICAgICovXG4gICAgcHJpdmF0ZSBza2lwSnNvbkNvbmZpZ3NMb2FkaW5nID0gKCkgPT4gdGhpcy5qc29uU291cmNlcyA9PT0gbnVsbCB8fCB0aGlzLmpzb25Tb3VyY2VzLmxlbmd0aCA9PT0gMDtcblxuICAgIC8qKlxuICAgICAqIGxvYWRzIGpzb24gc291cmNlcyBvciBza2lwcyB0aGVtIHJldHVybmluZyB0cnVlIGluIGJvdGggY2FzZXNcbiAgICAgKiB1c2VkIGZvciBgc2tpcEpzb25Tb3VyY2VJbml0YCBjb25maWd1cmF0aW9uIHBhcmFtZXRlclxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkSnNvbkNvbmZpZ3VyYXRpb25zID0gKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gPT4gKHRoaXMuc2tpcEpzb25Db25maWdzTG9hZGluZygpID8gb2YodHJ1ZSkgOiB0aGlzLmxvYWRKc29uU291cmNlcygpKTtcblxuICAgIHByaXZhdGUgbG9hZEpzb25Tb3VyY2VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIHRoaXMuanNvblNvdXJjZXNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHNvdXJjZSA9PiAhc291cmNlLmlzTG9hZGVkKVxuICAgICAgICAgICAgICAgIC5tYXAoc291cmNlSW5mbyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSBzb3VyY2VJbmZvLnVybDtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby5lbnZpcm9ubWVudCA9IHRoaXMucHJvamVjdEVudmlyb25tZW50Lm5hbWUgfHwgKHRoaXMucHJvamVjdEVudmlyb25tZW50LnByb2R1Y3Rpb24gPyAoc291cmNlSW5mby5lbnZpcm9ubWVudEVuYWJsZUVudlByb2QgPyAncHJvZCcgOiBudWxsKSA6ICdkZXYnKTtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby5pc0Vudmlyb25tZW50ID0gISFzb3VyY2VJbmZvLmVudmlyb25tZW50O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKCd7e2Vudmlyb25tZW50fX0nLCAnLicgKyBzb3VyY2VJbmZvLmVudmlyb25tZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlcGxhY2UgcG9zc2libGUgZW52aXJvbm1lbnQgZW50cnkgYW5kIGNoYW5nZSBzb3VyY2UgaW5mbyB1cmxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKCd7e2Vudmlyb25tZW50fX0nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLnVybCA9IHVybDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG9iamVjdD4odXJsKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9FbnZVcmwgPSBzb3VyY2VJbmZvLnVybC5yZXBsYWNlKCd7e2Vudmlyb25tZW50fX0nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uZW52aXJvbm1lbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxvYmplY3Q+KG5vRW52VXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYENvbmZpZ3VyYXRpb24gZmlsZSAke3VybH0gbm90IGxvYWRlZCAoJHtlcnIuc3RhdHVzfSk6ICR7ZXJyLm1lc3NhZ2V9LmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgTW5nRXJyb3JJbnRlcm5hbChtZXNzYWdlLCAnQ29uZmlndXJhdGlvblNlcnZpY2UgZXJyb3InLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F1c2U6IGVycixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IGVyci5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzRGVzY3JpcHRpb246IGVyci5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogZXJyLnVybCA/PyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNvbnNvbGVFcnJvcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoY29uZmlndXJhdGlvbiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSW5mby5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmlzTG9hZGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBtYXAoc291cmNlUmVzdWx0cyA9PiBzb3VyY2VSZXN1bHRzLmV2ZXJ5KHNyID0+IHNyKSksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5tZXJnZUNvbmZpZ3MoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb25maWd1cmF0aW9uIHZhbHVlIGZvciBrZXkuXG4gICAgICogQHBhcmFtIGtleSBDb25maWd1cmF0aW9uIGtleS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29uZmlnVmFsdWUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbltrZXldID8gdGhpcy5jb25maWd1cmF0aW9uW2tleV0gOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhcyBjb25maWd1cmF0aW9uIGZvciBrZXkuXG4gICAgICogQHBhcmFtIGtleSBDb25maWd1cmF0aW9uIGtleS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFzQ29uZmlnS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZ3VyYXRpb24pLnNvbWUoayA9PiBrID09PSBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lcmdlcyBjb25maWd1cmF0aW9uIGZyb20gbXVsdGlwbGUgc291cmNlcyB3aXRoXG4gICAgICovXG4gICAgcHJpdmF0ZSBtZXJnZUNvbmZpZ3MoKSB7XG4gICAgICAgIGxldCBjb25maWcgPSB7Li4udGhpcy5wcm9qZWN0RW52aXJvbm1lbnR9O1xuICAgICAgICBjb25zdCBqc29uQ29uZmlncyA9IHRoaXMuanNvblNvdXJjZXMuZmlsdGVyKHNvdXJjZSA9PiBzb3VyY2UuaXNMb2FkZWQgJiYgdHlwZW9mIHNvdXJjZS5jb25maWd1cmF0aW9uID09PSAnb2JqZWN0JykubWFwKHNvdXJjZSA9PiBzb3VyY2UuY29uZmlndXJhdGlvbik7XG4gICAgICAgIGlmIChqc29uQ29uZmlncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QganNvbkNvbmZpZyBvZiBqc29uQ29uZmlncykge1xuICAgICAgICAgICAgICAgIGNvbmZpZyA9IHsuLi5jb25maWcsIC4uLmpzb25Db25maWd9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9iamVjdFNvdXJjZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG9iakNvbmZpZyBvZiB0aGlzLm9iamVjdFNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICBjb25maWcgPSB7Li4uY29uZmlnLCAuLi5vYmpDb25maWd9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZztcbiAgICB9XG59XG5cbmludGVyZmFjZSBKc29uU291cmNlTG9hZEluZm8ge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGlzTG9hZGVkOiBib29sZWFuO1xuICAgIGlzRW52aXJvbm1lbnQ6IGJvb2xlYW47XG4gICAgZW52aXJvbm1lbnQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGVudmlyb25tZW50RW5hYmxlRW52UHJvZD86IGJvb2xlYW47XG4gICAgY29uZmlndXJhdGlvbj86IG9iamVjdDtcbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { TableSizeEnum } from '../descriptors/types';
2
- import { StyleSizeEnum } from './models';
3
- export class StylesUtil {
4
- static calculateTableColumnActionWidth(table, actions) {
5
- const buttonsWidth = actions.reduce((acc, action) => acc + StylesUtil.getActionButtonRoundedWidth(action) + 2 * StylesUtil.ACTION_BUTTON_MARGIN_X, 0);
6
- const tablePadding = StylesUtil.getTableCellPaddingX(table);
7
- return buttonsWidth + 2 * tablePadding;
8
- }
9
- static getTableCellPaddingX(table) {
10
- switch (table.size) {
11
- case TableSizeEnum.Small:
12
- return StylesUtil.TABLE_CELL_PADDING_X_SM;
13
- case TableSizeEnum.Large:
14
- return StylesUtil.TABLE_CELL_PADDING_X_LG;
15
- default:
16
- return StylesUtil.TABLE_CELL_PADDING_X;
17
- }
18
- }
19
- static getActionButtonRoundedWidth(action) {
20
- switch (action.button.styleClass.size) {
21
- case StyleSizeEnum.ExtraSmall:
22
- return StylesUtil.BUTTON_ROUNDED_WIDTH_XS;
23
- case StyleSizeEnum.Small:
24
- return StylesUtil.BUTTON_ROUNDED_WIDTH_SM;
25
- case StyleSizeEnum.Large:
26
- case StyleSizeEnum.ExtraLarge:
27
- return StylesUtil.BUTTON_ROUNDED_WIDTH_LG;
28
- case StyleSizeEnum.Normal:
29
- default:
30
- return StylesUtil.BUTTON_ROUNDED_WIDTH;
31
- }
32
- }
33
- }
34
- StylesUtil.BUTTON_ROUNDED_WIDTH_XS = 26;
35
- StylesUtil.BUTTON_ROUNDED_WIDTH_SM = 28;
36
- StylesUtil.BUTTON_ROUNDED_WIDTH = 32;
37
- StylesUtil.BUTTON_ROUNDED_WIDTH_LG = 45;
38
- StylesUtil.ACTION_BUTTON_MARGIN_X = 2;
39
- StylesUtil.TABLE_CELL_PADDING_X = 8; // left and right paddings are same
40
- StylesUtil.TABLE_CELL_PADDING_X_SM = 4;
41
- StylesUtil.TABLE_CELL_PADDING_X_LG = 12;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3N0eWxlcy9zdHlsZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLE9BQU8sVUFBVTtJQVlaLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxLQUErQixFQUFFLE9BQXlDO1FBQ3BILE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEosTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELE9BQU8sWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7SUFDM0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUErQjtRQUM5RCxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEIsS0FBSyxhQUFhLENBQUMsS0FBSztnQkFDcEIsT0FBTyxVQUFVLENBQUMsdUJBQXVCLENBQUM7WUFDOUMsS0FBSyxhQUFhLENBQUMsS0FBSztnQkFDcEIsT0FBTyxVQUFVLENBQUMsdUJBQXVCLENBQUM7WUFDOUM7Z0JBQ0ksT0FBTyxVQUFVLENBQUMsb0JBQW9CLENBQUM7U0FDOUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLE1BQWlDO1FBQ3ZFLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ25DLEtBQUssYUFBYSxDQUFDLFVBQVU7Z0JBQ3pCLE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDO1lBQzlDLEtBQUssYUFBYSxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDO1lBQzlDLEtBQUssYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN6QixLQUFLLGFBQWEsQ0FBQyxVQUFVO2dCQUN6QixPQUFPLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztZQUM5QyxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDMUI7Z0JBQ0ksT0FBTyxVQUFVLENBQUMsb0JBQW9CLENBQUM7U0FDOUM7SUFDTCxDQUFDOztBQXpDc0Isa0NBQXVCLEdBQUcsRUFBRSxDQUFDO0FBQzdCLGtDQUF1QixHQUFHLEVBQUUsQ0FBQztBQUM3QiwrQkFBb0IsR0FBRyxFQUFFLENBQUM7QUFDMUIsa0NBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRTdCLGlDQUFzQixHQUFHLENBQUMsQ0FBQztBQUUzQiwrQkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUM7QUFDN0Qsa0NBQXVCLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLGtDQUF1QixHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWN0aW9uRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvYWN0aW9uJztcbmltcG9ydCB7VGFibGVEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycy90YWJsZSc7XG5pbXBvcnQge1RhYmxlU2l6ZUVudW19IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7U3R5bGVTaXplRW51bX0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgU3R5bGVzVXRpbCB7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBCVVRUT05fUk9VTkRFRF9XSURUSF9YUyA9IDI2O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQlVUVE9OX1JPVU5ERURfV0lEVEhfU00gPSAyODtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJVVFRPTl9ST1VOREVEX1dJRFRIID0gMzI7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBCVVRUT05fUk9VTkRFRF9XSURUSF9MRyA9IDQ1O1xuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQ1RJT05fQlVUVE9OX01BUkdJTl9YID0gMjtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVEFCTEVfQ0VMTF9QQURESU5HX1ggPSA4OyAvLyBsZWZ0IGFuZCByaWdodCBwYWRkaW5ncyBhcmUgc2FtZVxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVEFCTEVfQ0VMTF9QQURESU5HX1hfU00gPSA0O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVEFCTEVfQ0VMTF9QQURESU5HX1hfTEcgPSAxMjtcblxuICAgIHB1YmxpYyBzdGF0aWMgY2FsY3VsYXRlVGFibGVDb2x1bW5BY3Rpb25XaWR0aCh0YWJsZTogVGFibGVEZXNjcmlwdG9yPHVua25vd24+LCBhY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPHVua25vd24+Pik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGJ1dHRvbnNXaWR0aCA9IGFjdGlvbnMucmVkdWNlKChhY2MsIGFjdGlvbikgPT4gYWNjICsgU3R5bGVzVXRpbC5nZXRBY3Rpb25CdXR0b25Sb3VuZGVkV2lkdGgoYWN0aW9uKSArIDIgKiBTdHlsZXNVdGlsLkFDVElPTl9CVVRUT05fTUFSR0lOX1gsIDApO1xuICAgICAgICBjb25zdCB0YWJsZVBhZGRpbmcgPSBTdHlsZXNVdGlsLmdldFRhYmxlQ2VsbFBhZGRpbmdYKHRhYmxlKTtcbiAgICAgICAgcmV0dXJuIGJ1dHRvbnNXaWR0aCArIDIgKiB0YWJsZVBhZGRpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRUYWJsZUNlbGxQYWRkaW5nWCh0YWJsZTogVGFibGVEZXNjcmlwdG9yPHVua25vd24+KTogbnVtYmVyIHtcbiAgICAgICAgc3dpdGNoICh0YWJsZS5zaXplKSB7XG4gICAgICAgICAgICBjYXNlIFRhYmxlU2l6ZUVudW0uU21hbGw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0eWxlc1V0aWwuVEFCTEVfQ0VMTF9QQURESU5HX1hfU007XG4gICAgICAgICAgICBjYXNlIFRhYmxlU2l6ZUVudW0uTGFyZ2U6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0eWxlc1V0aWwuVEFCTEVfQ0VMTF9QQURESU5HX1hfTEc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLlRBQkxFX0NFTExfUEFERElOR19YO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRBY3Rpb25CdXR0b25Sb3VuZGVkV2lkdGgoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPHVua25vd24+KTogbnVtYmVyIHtcbiAgICAgICAgc3dpdGNoIChhY3Rpb24uYnV0dG9uLnN0eWxlQ2xhc3Muc2l6ZSkge1xuICAgICAgICAgICAgY2FzZSBTdHlsZVNpemVFbnVtLkV4dHJhU21hbGw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0eWxlc1V0aWwuQlVUVE9OX1JPVU5ERURfV0lEVEhfWFM7XG4gICAgICAgICAgICBjYXNlIFN0eWxlU2l6ZUVudW0uU21hbGw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0eWxlc1V0aWwuQlVUVE9OX1JPVU5ERURfV0lEVEhfU007XG4gICAgICAgICAgICBjYXNlIFN0eWxlU2l6ZUVudW0uTGFyZ2U6XG4gICAgICAgICAgICBjYXNlIFN0eWxlU2l6ZUVudW0uRXh0cmFMYXJnZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gU3R5bGVzVXRpbC5CVVRUT05fUk9VTkRFRF9XSURUSF9MRztcbiAgICAgICAgICAgIGNhc2UgU3R5bGVTaXplRW51bS5Ob3JtYWw6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLkJVVFRPTl9ST1VOREVEX1dJRFRIO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHlwZXMvdHlwZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtGb3JtbHlGaWVsZENvbmZpZ30gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9saWIvbW9kZWxzL2ZpZWxkY29uZmlnJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7TWVkaXVzRmlsdGVyTWF0Y2hUeXBlfSBmcm9tICcuLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7RmlsdGVyVHlwZUVudW19IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDbGFzc1R5cGU8VD4gZXh0ZW5kcyBGdW5jdGlvbiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW51bVR5cGUge1xuICAgIFtrZXk6IHN0cmluZ106IEVudW1Db25zdGFudFR5cGU7XG59XG5cbmV4cG9ydCB0eXBlIEVudW1Db25zdGFudFR5cGUgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCB0eXBlIElkVHlwZSA9IG51bWJlciB8IHN0cmluZztcbmV4cG9ydCB0eXBlIFByaW1pdGl2ZVR5cGUgPSBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyO1xuZXhwb3J0IHR5cGUgUHJvcGVydHlUeXBlID0gUHJpbWl0aXZlVHlwZSB8IERhdGUgfCBFbnVtVHlwZTtcblxuLy8gZmllbGQgdmFsaWRhdGlvblxuZXhwb3J0IHR5cGUgTW5nRmllbGRWYWxpZGF0b3IgPSAoXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICB9XG4pID0+IFZhbGlkYXRpb25FcnJvcnMgfCBib29sZWFuIHwgbnVsbDtcblxuZXhwb3J0IHR5cGUgTW5nRmllbGRBc3luY1ZhbGlkYXRvciA9IChcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gICAgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICAgIFtpZDogc3RyaW5nXTogYW55O1xuICAgIH1cbikgPT4gT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgYm9vbGVhbiB8IG51bGw+O1xuXG5leHBvcnQgdHlwZSBNbmdGaWVsZFZhbGlkYXRpb25NZXNzYWdlID0gc3RyaW5nIHwgKChlcnJvcjogYW55LCBmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPik7XG5cbmV4cG9ydCB0eXBlIE1hdGNoTW9kZU1hcFR5cGUgPSBbc3RyaW5nLCBzdHJpbmcsIE1lZGl1c0ZpbHRlck1hdGNoVHlwZSwgRmlsdGVyVHlwZUVudW0gfCBudWxsXTtcbiJdfQ==
@@ -1,120 +0,0 @@
1
- export class DateUtil {
2
- static toIsoString(date, inUtc = false, withTimezone = false, withMillis = false, dateOnly = false) {
3
- if (typeof date === 'string') {
4
- date = new Date(date);
5
- }
6
- if (!(date instanceof Date)) {
7
- return null;
8
- }
9
- if (dateOnly) {
10
- return date.getFullYear() + '-' + this.pad(date.getMonth() + 1) + '-' + this.pad(date.getDate());
11
- }
12
- if (inUtc) {
13
- let str = date.toISOString();
14
- if (!withMillis) {
15
- const dotIdx = str.lastIndexOf('.');
16
- str = str.substring(0, dotIdx) + str.substring(dotIdx + 4, str.length);
17
- }
18
- if (!withTimezone) {
19
- str = str.substring(0, str.length - 1);
20
- }
21
- return str;
22
- }
23
- else {
24
- let base = date.getFullYear() +
25
- '-' +
26
- this.pad(date.getMonth() + 1) +
27
- '-' +
28
- this.pad(date.getDate()) +
29
- 'T' +
30
- this.pad(date.getHours()) +
31
- ':' +
32
- this.pad(date.getMinutes()) +
33
- ':' +
34
- this.pad(date.getSeconds());
35
- if (withMillis) {
36
- base += '.' + this.pad(date.getMilliseconds());
37
- }
38
- if (withTimezone) {
39
- const tzo = -date.getTimezoneOffset(), dif = tzo >= 0 ? '+' : '-';
40
- base = base + (dif + this.pad(Math.floor(Math.abs(tzo) / 60)) + ':' + this.pad(Math.abs(tzo) % 60));
41
- }
42
- return base;
43
- }
44
- }
45
- static fromPrimeToAngularDateFormat(ngDateFormat) {
46
- let primeDateFormat = ngDateFormat;
47
- for (const regex of DateUtil.NG_PRIME_FORMAT_OTHER) {
48
- primeDateFormat = primeDateFormat.replace(regex, ' ');
49
- }
50
- for (const regex of DateUtil.NG_PRIME_FORMAT_SUPPORTED) {
51
- const matches = [...primeDateFormat.matchAll(regex)].reverse();
52
- for (const match of matches) {
53
- if (match.index) {
54
- const matchStr = match[0];
55
- const replacement = DateUtil.NG_PRIME_FORMAT_MAP[matchStr] ?? match[0];
56
- primeDateFormat = primeDateFormat.substring(0, match.index) + replacement + primeDateFormat.substring(match.index + matchStr.length);
57
- }
58
- }
59
- }
60
- primeDateFormat = primeDateFormat.replace(/\s+\W\s+/g, ' ');
61
- primeDateFormat = primeDateFormat.replace(/\s\s+/g, ' ');
62
- return primeDateFormat.trim();
63
- }
64
- }
65
- DateUtil.NG_PRIME_FORMAT_SUPPORTED = [/d{1,2}/g, /E{1,5}/g, /c{1,5}/g, /M{1,5}/g, /L{1,5}/g, /y{1,4}/g, /Y{1,4}/g];
66
- DateUtil.NG_PRIME_FORMAT_OTHER = [
67
- /G{1,5}/g,
68
- /w{1,2}/g,
69
- /W/g,
70
- /a{1,5}/g,
71
- /B{1,5}/g,
72
- /b{1,5}/g,
73
- /h{1,2}/g,
74
- /H{1,2}/g,
75
- /m{1,2}/g,
76
- /s{1,2}/g,
77
- /S{1,3}/g,
78
- /z{1,4}/g,
79
- /Z{1,5}/g,
80
- /O{1,4}/g
81
- ];
82
- DateUtil.NG_PRIME_FORMAT_MAP = {
83
- // days
84
- d: 'd',
85
- dd: 'dd',
86
- E: 'D',
87
- EE: 'D',
88
- EEE: 'D',
89
- EEEE: 'DD',
90
- EEEEE: 'D',
91
- EEEEEE: 'D',
92
- c: 'd',
93
- cc: 'dd',
94
- ccc: 'D',
95
- cccc: 'DD',
96
- ccccc: 'D',
97
- cccccc: 'D',
98
- // months
99
- M: 'm',
100
- MM: 'mm',
101
- MMM: 'M',
102
- MMMM: 'MM',
103
- MMMMM: 'M',
104
- L: 'm',
105
- LL: 'mm',
106
- LLL: 'M',
107
- LLLL: 'MM',
108
- LLLLL: 'M',
109
- // year
110
- y: 'y',
111
- yy: 'y',
112
- yyy: 'yy',
113
- yyyy: 'yy',
114
- Y: 'y',
115
- YY: 'y',
116
- YYY: 'yy',
117
- YYYY: 'yy'
118
- };
119
- DateUtil.pad = (num) => (num < 10 ? '0' : '') + num;
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9kYXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUEwRFYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFhLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxZQUFZLEdBQUcsS0FBSyxFQUFFLFVBQVUsR0FBRyxLQUFLLEVBQUUsUUFBUSxHQUFHLEtBQUs7UUFDOUcsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLFFBQVEsRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNwRztRQUNELElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDcEMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDMUU7WUFDRCxJQUFJLENB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LEVBQUUsSUFBSTtJQUNULElBQUksRUFBRSxJQUFJO0lBQ1YsQ0FBQyxFQUFFLEdBQUc7SUFDTixFQUFFLEVBQUUsR0FBRztJQUNQLEdBQUcsRUFBRSxJQUFJO0lBQ1QsSUFBSSxFQUFFLElBQUk7Q0FDYixDQUFDO0FBRWEsWUFBRyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBOR19QUklNRV9GT1JNQVRfU1VQUE9SVEVEID0gWy9kezEsMn0vZywgL0V7MSw1fS9nLCAvY3sxLDV9L2csIC9NezEsNX0vZywgL0x7MSw1fS9nLCAveXsxLDR9L2csIC9ZezEsNH0vZ107XG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTkdfUFJJTUVfRk9STUFUX09USEVSID0gW1xuICAgICAgICAvR3sxLDV9L2csXG4gICAgICAgIC93ezEsMn0vZyxcbiAgICAgICAgL1cvZyxcbiAgICAgICAgL2F7MSw1fS9nLFxuICAgICAgICAvQnsxLDV9L2csXG4gICAgICAgIC9iezEsNX0vZyxcbiAgICAgICAgL2h7MSwyfS9nLFxuICAgICAgICAvSHsxLDJ9L2csXG4gICAgICAgIC9tezEsMn0vZyxcbiAgICAgICAgL3N7MSwyfS9nLFxuICAgICAgICAvU3sxLDN9L2csXG4gICAgICAgIC96ezEsNH0vZyxcbiAgICAgICAgL1p7MSw1fS9nLFxuICAgICAgICAvT3sxLDR9L2dcbiAgICBdO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE5HX1BSSU1FX0ZPUk1BVF9NQVAgPSB7XG4gICAgICAgIC8vIGRheXNcbiAgICAgICAgZDogJ2QnLFxuICAgICAgICBkZDogJ2RkJyxcbiAgICAgICAgRTogJ0QnLFxuICAgICAgICBFRTogJ0QnLFxuICAgICAgICBFRUU6ICdEJyxcbiAgICAgICAgRUVFRTogJ0REJyxcbiAgICAgICAgRUVFRUU6ICdEJyxcbiAgICAgICAgRUVFRUVFOiAnRCcsXG4gICAgICAgIGM6ICdkJyxcbiAgICAgICAgY2M6ICdkZCcsXG4gICAgICAgIGNjYzogJ0QnLFxuICAgICAgICBjY2NjOiAnREQnLFxuICAgICAgICBjY2NjYzogJ0QnLFxuICAgICAgICBjY2NjY2M6ICdEJyxcbiAgICAgICAgLy8gbW9udGhzXG4gICAgICAgIE06ICdtJyxcbiAgICAgICAgTU06ICdtbScsXG4gICAgICAgIE1NTTogJ00nLFxuICAgICAgICBNTU1NOiAnTU0nLFxuICAgICAgICBNTU1NTTogJ00nLFxuICAgICAgICBMOiAnbScsXG4gICAgICAgIExMOiAnbW0nLFxuICAgICAgICBMTEw6ICdNJyxcbiAgICAgICAgTExMTDogJ01NJyxcbiAgICAgICAgTExMTEw6ICdNJyxcbiAgICAgICAgLy8geWVhclxuICAgICAgICB5OiAneScsXG4gICAgICAgIHl5OiAneScsXG4gICAgICAgIHl5eTogJ3l5JyxcbiAgICAgICAgeXl5eTogJ3l5JyxcbiAgICAgICAgWTogJ3knLFxuICAgICAgICBZWTogJ3knLFxuICAgICAgICBZWVk6ICd5eScsXG4gICAgICAgIFlZWVk6ICd5eSdcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcGFkID0gKG51bTogbnVtYmVyKSA9PiAobnVtIDwgMTAgPyAnMCcgOiAnJykgKyBudW07XG5cbiAgICBwdWJsaWMgc3RhdGljIHRvSXNvU3RyaW5nKGRhdGU6IHVua25vd24sIGluVXRjID0gZmFsc2UsIHdpdGhUaW1lem9uZSA9IGZhbHNlLCB3aXRoTWlsbGlzID0gZmFsc2UsIGRhdGVPbmx5ID0gZmFsc2UpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGVPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpICsgJy0nICsgdGhpcy5wYWQoZGF0ZS5nZXRNb250aCgpICsgMSkgKyAnLScgKyB0aGlzLnBhZChkYXRlLmdldERhdGUoKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluVXRjKSB7XG4gICAgICAgICAgICBsZXQgc3RyID0gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgaWYgKCF3aXRoTWlsbGlzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZG90SWR4ID0gc3RyLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAgICAgICAgICAgc3RyID0gc3RyLnN1YnN0cmluZygwLCBkb3RJZHgpICsgc3RyLnN1YnN0cmluZyhkb3RJZHggKyA0LCBzdHIubGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghd2l0aFRpbWV6b25lKSB7XG4gICAgICAgICAgICAgICAgc3RyID0gc3RyLnN1YnN0cmluZygwLCBzdHIubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGJhc2UgPVxuICAgICAgICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSArXG4gICAgICAgICAgICAgICAgJy0nICtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZChkYXRlLmdldE1vbnRoKCkgKyAxKSArXG4gICAgICAgICAgICAgICAgJy0nICtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZChkYXRlLmdldERhdGUoKSkgK1xuICAgICAgICAgICAgICAgICdUJyArXG4gICAgICAgICAgICAgICAgdGhpcy5wYWQoZGF0ZS5nZXRIb3VycygpKSArXG4gICAgICAgICAgICAgICAgJzonICtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZChkYXRlLmdldE1pbnV0ZXMoKSkgK1xuICAgICAgICAgICAgICAgICc6JyArXG4gICAgICAgICAgICAgICAgdGhpcy5wYWQoZGF0ZS5nZXRTZWNvbmRzKCkpO1xuXG4gICAgICAgICAgICBpZiAod2l0aE1pbGxpcykge1xuICAgICAgICAgICAgICAgIGJhc2UgKz0gJy4nICsgdGhpcy5wYWQoZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAod2l0aFRpbWV6b25lKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHpvID0gLWRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSxcbiAgICAgICAgICAgICAgICAgICAgZGlmID0gdHpvID49IDAgPyAnKycgOiAnLSc7XG5cbiAgICAgICAgICAgICAgICBiYXNlID0gYmFzZSArIChkaWYgKyB0aGlzLnBhZChNYXRoLmZsb29yKE1hdGguYWJzKHR6bykgLyA2MCkpICsgJzonICsgdGhpcy5wYWQoTWF0aC5hYnModHpvKSAlIDYwKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBiYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tUHJpbWVUb0FuZ3VsYXJEYXRlRm9ybWF0KG5nRGF0ZUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHByaW1lRGF0ZUZvcm1hdCA9IG5nRGF0ZUZvcm1hdDtcbiAgICAgICAgZm9yIChjb25zdCByZWdleCBvZiBEYXRlVXRpbC5OR19QUklNRV9GT1JNQVRfT1RIRVIpIHtcbiAgICAgICAgICAgIHByaW1lRGF0ZUZvcm1hdCA9IHByaW1lRGF0ZUZvcm1hdC5yZXBsYWNlKHJlZ2V4LCAnICcpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgcmVnZXggb2YgRGF0ZVV0aWwuTkdfUFJJTUVfRk9STUFUX1NVUFBPUlRFRCkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IFsuLi5wcmltZURhdGVGb3JtYXQubWF0Y2hBbGwocmVnZXgpXS5yZXZlcnNlKCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2guaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hTdHIgPSBtYXRjaFswXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSBEYXRlVXRpbC5OR19QUklNRV9GT1JNQVRfTUFQW21hdGNoU3RyIGFzIGtleW9mIG9iamVjdF0gPz8gbWF0Y2hbMF07XG4gICAgICAgICAgICAgICAgICAgIHByaW1lRGF0ZUZvcm1hdCA9IHByaW1lRGF0ZUZvcm1hdC5zdWJzdHJpbmcoMCwgbWF0Y2guaW5kZXgpICsgcmVwbGFjZW1lbnQgKyBwcmltZURhdGVGb3JtYXQuc3Vic3RyaW5nKG1hdGNoLmluZGV4ICsgbWF0Y2hTdHIubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJpbWVEYXRlRm9ybWF0ID0gcHJpbWVEYXRlRm9ybWF0LnJlcGxhY2UoL1xccytcXFdcXHMrL2csICcgJyk7XG4gICAgICAgIHByaW1lRGF0ZUZvcm1hdCA9IHByaW1lRGF0ZUZvcm1hdC5yZXBsYWNlKC9cXHNcXHMrL2csICcgJyk7XG5cbiAgICAgICAgcmV0dXJuIHByaW1lRGF0ZUZvcm1hdC50cmltKCk7XG4gICAgfVxufVxuIl19
@@ -1,171 +0,0 @@
1
- import { ObjectSerializer } from '../api/utils';
2
- import { ColumnDisplayTypeEnum, ColumnTypeEnum, FieldInputTypeEnum } from '../descriptors/types';
3
- import { MngErrorInternal } from '../models';
4
- export class TableviewUtil {
5
- /**
6
- * returns attributes from class type and extends to typed def with column and field enum type
7
- * @param modelType class type
8
- */
9
- static getAttributeDefMap(modelType) {
10
- return TableviewUtil.expandAttributeDefWithTableviewTypes(ObjectSerializer.get().findAttributesDefinitionByClassType(modelType));
11
- }
12
- /**
13
- * expands AttributeDef to TableviewAttributeDef with defined input and column enum type
14
- * @param attributes open api specification model
15
- */
16
- static expandAttributeDefWithTableviewTypes(attributes) {
17
- if (attributes == null) {
18
- throw new MngErrorInternal('AttributeDef is null, problem with ObjectSerializer::findAttributesDefinitionByClassType?', 'TableViewUtils error').consoleError();
19
- }
20
- const objectSerializer = ObjectSerializer.get();
21
- const tableviewAttributeDef = [];
22
- for (const attribute of attributes) {
23
- const enumType = objectSerializer.findEnum(attribute.type);
24
- const columnType = enumType ? ColumnTypeEnum.Enum : TableviewUtil.toColumnType(attribute.type);
25
- tableviewAttributeDef.push({
26
- name: attribute.name,
27
- baseName: attribute.baseName,
28
- type: attribute.type,
29
- columnType: enumType ? ColumnTypeEnum.Enum : TableviewUtil.toColumnType(attribute.type),
30
- columnDisplayType: TableviewUtil.toColumnDisplayType(columnType, attribute.type),
31
- fieldType: TableviewUtil.toFieldInputType(attribute.type),
32
- enumType: objectSerializer.findEnum(attribute.type),
33
- classType: objectSerializer.findType(attribute.type)
34
- });
35
- }
36
- return tableviewAttributeDef;
37
- }
38
- /**
39
- * converts column to number or date on value based
40
- * @param column column to be transformed
41
- * @param value value to check if applicable
42
- */
43
- static stringColumnConverter(column, value) {
44
- if (typeof value === 'boolean') {
45
- return column.asBoolean();
46
- }
47
- else if (!isNaN(value) && typeof value === 'number') {
48
- return column.asNumber();
49
- }
50
- else if (this._dateRegex.test(value)) {
51
- return column.asDate();
52
- }
53
- else {
54
- return column;
55
- }
56
- }
57
- /**
58
- * converts string type to column type enum, default is string
59
- * @param propertyType
60
- */
61
- static toColumnType(propertyType) {
62
- const os = ObjectSerializer.get();
63
- if (os.findEnum(propertyType)) {
64
- propertyType = 'enum';
65
- }
66
- else if (os.findType(propertyType)) {
67
- propertyType = 'class';
68
- }
69
- switch (propertyType.toLowerCase()) {
70
- case 'number':
71
- case 'currency':
72
- return ColumnTypeEnum.Number;
73
- case 'boolean':
74
- return ColumnTypeEnum.Boolean;
75
- case 'date':
76
- return ColumnTypeEnum.Date;
77
- case 'enum':
78
- return ColumnTypeEnum.Enum;
79
- case 'custom':
80
- return ColumnTypeEnum.Custom;
81
- case 'class':
82
- return ColumnTypeEnum.String;
83
- case 'string':
84
- default:
85
- return ColumnTypeEnum.String;
86
- }
87
- }
88
- static toColumnDisplayType(columnType, propertyType) {
89
- switch (columnType) {
90
- case ColumnTypeEnum.Number:
91
- return propertyType === 'currency' ? ColumnDisplayTypeEnum.Currency : ColumnDisplayTypeEnum.Number;
92
- case ColumnTypeEnum.Boolean:
93
- return ColumnDisplayTypeEnum.Boolean;
94
- case ColumnTypeEnum.Date:
95
- return ColumnDisplayTypeEnum.Date;
96
- case ColumnTypeEnum.Enum:
97
- return ColumnDisplayTypeEnum.Enum;
98
- case ColumnTypeEnum.Custom:
99
- return ColumnDisplayTypeEnum.Component;
100
- case ColumnTypeEnum.String:
101
- default:
102
- return ColumnDisplayTypeEnum.String;
103
- }
104
- }
105
- /**
106
- * converts string type to type enum, default is text
107
- * @param property
108
- */
109
- static toFieldInputType(property) {
110
- switch (property) {
111
- case 'hidden':
112
- return FieldInputTypeEnum.Hidden;
113
- case 'label':
114
- return FieldInputTypeEnum.Label;
115
- case 'textarea':
116
- return FieldInputTypeEnum.Textarea;
117
- case 'number':
118
- return FieldInputTypeEnum.Number;
119
- case 'currency':
120
- return FieldInputTypeEnum.Currency;
121
- case 'switch':
122
- case 'boolean':
123
- return FieldInputTypeEnum.Switch;
124
- case 'radio':
125
- return FieldInputTypeEnum.Radio;
126
- case 'datepicker':
127
- return FieldInputTypeEnum.Datepicker;
128
- case 'mask':
129
- return FieldInputTypeEnum.Mask;
130
- case 'file':
131
- return FieldInputTypeEnum.File;
132
- case 'custom':
133
- return FieldInputTypeEnum.Custom;
134
- case 'text':
135
- default:
136
- return FieldInputTypeEnum.Text;
137
- }
138
- }
139
- /**
140
- * convert column type to equivalent field input type
141
- * @param type column type
142
- * @param displayType column display type
143
- */
144
- static toFieldInputTypeFromColumnType(type, displayType) {
145
- switch (type) {
146
- case ColumnTypeEnum.Number:
147
- return displayType === ColumnDisplayTypeEnum.Currency ? FieldInputTypeEnum.Currency : FieldInputTypeEnum.Number;
148
- case ColumnTypeEnum.Boolean:
149
- return FieldInputTypeEnum.Switch;
150
- case ColumnTypeEnum.Date:
151
- return FieldInputTypeEnum.Datepicker;
152
- case ColumnTypeEnum.Custom:
153
- return FieldInputTypeEnum.Custom;
154
- case ColumnTypeEnum.String:
155
- case ColumnTypeEnum.Enum:
156
- default:
157
- return FieldInputTypeEnum.Text;
158
- }
159
- }
160
- /**
161
- * generates table layout preferences key used when saving preferences to localstorage
162
- * @param typeName string, required
163
- * @param url string, required
164
- * @param dataKey string, not required
165
- */
166
- static generateTableLayoutPrefsKey(typeName, url, dataKey) {
167
- return `layoutPrefs~~${typeName}~~${dataKey ?? url.split('?')[0].split('#')[0]}`;
168
- }
169
- }
170
- TableviewUtil._dateRegex = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/;
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3RhYmxldmlldy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUMscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBSTNDLE1BQU0sT0FBTyxhQUFhO0lBR3RCOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBSSxTQUF1QjtRQUN2RCxPQUFPLGFBQWEsQ0FBQyxvQ0FBb0MsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3JJLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsb0NBQW9DLENBQUMsVUFBdUM7UUFDdEYsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQywyRkFBMkYsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ2xLO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVoRCxNQUFNLHFCQUFxQixHQUE0QixFQUFFLENBQUM7UUFFMUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDaEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFD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cGkvbW9kZWxzJztcbmltcG9ydCB7T2JqZWN0U2VyaWFsaXplcn0gZnJvbSAnLi4vYXBpL3V0aWxzJztcbmltcG9ydCB7Q29sdW1uRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvdGFibGUnO1xuaW1wb3J0IHtDb2x1bW5EaXNwbGF5VHlwZUVudW0sIENvbHVtblR5cGVFbnVtLCBGaWVsZElucHV0VHlwZUVudW19IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7TW5nRXJyb3JJbnRlcm5hbH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7VGFibGV2aWV3QXR0cmlidXRlRGVmfSBmcm9tICcuLi9tb2RlbHMvdGFibGV2aWV3LWF0dHIubW9kZWwnO1xuaW1wb3J0IHtDbGFzc1R5cGUsIEVudW1UeXBlfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdVdGlsIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfZGF0ZVJlZ2V4ID0gL1xcZHs0fS1bMDFdXFxkLVswLTNdXFxkVFswLTJdXFxkOlswLTVdXFxkOlswLTVdXFxkXFwuXFxkKyhbKy1dWzAtMl1cXGQ6WzAtNV1cXGR8WikvO1xuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyBhdHRyaWJ1dGVzIGZyb20gY2xhc3MgdHlwZSBhbmQgZXh0ZW5kcyB0byB0eXBlZCBkZWYgd2l0aCBjb2x1bW4gYW5kIGZpZWxkIGVudW0gdHlwZVxuICAgICAqIEBwYXJhbSBtb2RlbFR5cGUgY2xhc3MgdHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QXR0cmlidXRlRGVmTWFwPFQ+KG1vZGVsVHlwZTogQ2xhc3NUeXBlPFQ+KTogVGFibGV2aWV3QXR0cmlidXRlRGVmW10ge1xuICAgICAgICByZXR1cm4gVGFibGV2aWV3VXRpbC5leHBhbmRBdHRyaWJ1dGVEZWZXaXRoVGFibGV2aWV3VHlwZXMoT2JqZWN0U2VyaWFsaXplci5nZXQoKS5maW5kQXR0cmlidXRlc0RlZmluaXRpb25CeUNsYXNzVHlwZShtb2RlbFR5cGUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHBhbmRzIEF0dHJpYnV0ZURlZiB0byBUYWJsZXZpZXdBdHRyaWJ1dGVEZWYgd2l0aCBkZWZpbmVkIGlucHV0IGFuZCBjb2x1bW4gZW51bSB0eXBlXG4gICAgICogQHBhcmFtIGF0dHJpYnV0ZXMgb3BlbiBhcGkgc3BlY2lmaWNhdGlvbiBtb2RlbFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXhwYW5kQXR0cmlidXRlRGVmV2l0aFRhYmxldmlld1R5cGVzKGF0dHJpYnV0ZXM/OiBBcnJheTxBdHRyaWJ1dGVEZWY+IHwgbnVsbCk6IFRhYmxldmlld0F0dHJpYnV0ZURlZltdIHtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE1uZ0Vycm9ySW50ZXJuYWwoJ0F0dHJpYnV0ZURlZiBpcyBudWxsLCBwcm9ibGVtIHdpdGggT2JqZWN0U2VyaWFsaXplcjo6ZmluZEF0dHJpYnV0ZXNEZWZpbml0aW9uQnlDbGFzc1R5cGU/JywgJ1RhYmxlVmlld1V0aWxzIGVycm9yJykuY29uc29sZUVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2JqZWN0U2VyaWFsaXplciA9IE9iamVjdFNlcmlhbGl6ZXIuZ2V0KCk7XG5cbiAgICAgICAgY29uc3QgdGFibGV2aWV3QXR0cmlidXRlRGVmOiBUYWJsZXZpZXdBdHRyaWJ1dGVEZWZbXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudW1UeXBlID0gb2JqZWN0U2VyaWFsaXplci5maW5kRW51bShhdHRyaWJ1dGUudHlwZSk7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW5UeXBlID0gZW51bVR5cGUgPyBDb2x1bW5UeXBlRW51bS5FbnVtIDogVGFibGV2aWV3VXRpbC50b0NvbHVtblR5cGUoYXR0cmlidXRlLnR5cGUpO1xuICAgICAgICAgICAgdGFibGV2aWV3QXR0cmlidXRlRGVmLnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6IGF0dHJpYnV0ZS5uYW1lLFxuICAgICAgICAgICAgICAgIGJhc2VOYW1lOiBhdHRyaWJ1dGUuYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogYXR0cmlidXRlLnR5cGUsXG4gICAgICAgICAgICAgICAgY29sdW1uVHlwZTogZW51bVR5cGUgPyBDb2x1bW5UeXBlRW51bS5FbnVtIDogVGFibGV2aWV3VXRpbC50b0NvbHVtblR5cGUoYXR0cmlidXRlLnR5cGUpLFxuICAgICAgICAgICAgICAgIGNvbHVtbkRpc3BsYXlUeXBlOiBUYWJsZXZpZXdVdGlsLnRvQ29sdW1uRGlzcGxheVR5cGUoY29sdW1uVHlwZSwgYXR0cmlidXRlLnR5cGUpLFxuICAgICAgICAgICAgICAgIGZpZWxkVHlwZTogVGFibGV2aWV3VXRpbC50b0ZpZWxkSW5wdXRUeXBlKGF0dHJpYnV0ZS50eXBlKSxcbiAgICAgICAgICAgICAgICBlbnVtVHlwZTogb2JqZWN0U2VyaWFsaXplci5maW5kRW51bShhdHRyaWJ1dGUudHlwZSkgYXMgRW51bVR5cGUsXG4gICAgICAgICAgICAgICAgY2xhc3NUeXBlOiBvYmplY3RTZXJpYWxpemVyLmZpbmRUeXBlKGF0dHJpYnV0ZS50eXBlKSBhcyBDbGFzc1R5cGU8YW55PlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFibGV2aWV3QXR0cmlidXRlRGVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbnZlcnRzIGNvbHVtbiB0byBudW1iZXIgb3IgZGF0ZSBvbiB2YWx1ZSBiYXNlZFxuICAgICAqIEBwYXJhbSBjb2x1bW4gY29sdW1uIHRvIGJlIHRyYW5zZm9ybWVkXG4gICAgICogQHBhcmFtIHZhbHVlIHZhbHVlIHRvIGNoZWNrIGlmIGFwcGxpY2FibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHN0cmluZ0NvbHVtbkNvbnZlcnRlcihjb2x1bW46IENvbHVtbkRlc2NyaXB0b3I8YW55LCBhbnk+LCB2YWx1ZTogYW55KTogQ29sdW1uRGVzY3JpcHRvcjxhbnksIGFueT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW4uYXNCb29sZWFuKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWlzTmFOKHZhbHVlKSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sdW1uLmFzTnVtYmVyKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5fZGF0ZVJlZ2V4LnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sdW1uLmFzRGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbnZlcnRzIHN0cmluZyB0eXBlIHRvIGNvbHVtbiB0eXBlIGVudW0sIGRlZmF1bHQgaXMgc3RyaW5nXG4gICAgICogQHBhcmFtIHByb3BlcnR5VHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdG9Db2x1bW5UeXBlKHByb3BlcnR5VHlwZTogc3RyaW5nKTogQ29sdW1uVHlwZUVudW0ge1xuICAgICAgICBjb25zdCBvcyA9IE9iamVjdFNlcmlhbGl6ZXIuZ2V0KCk7XG4gICAgICAgIGlmIChvcy5maW5kRW51bShwcm9wZXJ0eVR5cGUpIGFzIEVudW1UeXBlKSB7XG4gICAgICAgICAgICBwcm9wZXJ0eVR5cGUgPSAnZW51bSc7XG4gICAgICAgIH0gZWxzZSBpZiAob3MuZmluZFR5cGUocHJvcGVydHlUeXBlKSBhcyBDbGFzc1R5cGU8YW55Pikge1xuICAgICAgICAgICAgcHJvcGVydHlUeXBlID0gJ2NsYXNzJztcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAocHJvcGVydHlUeXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLk51bWJlcjtcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5UeXBlRW51bS5Cb29sZWFuO1xuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkRhdGU7XG4gICAgICAgICAgICBjYXNlICdlbnVtJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uRW51bTtcbiAgICAgICAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkN1c3RvbTtcbiAgICAgICAgICAgIGNhc2UgJ2NsYXNzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uU3RyaW5nO1xuICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLlN0cmluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9Db2x1bW5EaXNwbGF5VHlwZShjb2x1bW5UeXBlOiBDb2x1bW5UeXBlRW51bSwgcHJvcGVydHlUeXBlOiBzdHJpbmcpOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0ge1xuICAgICAgICBzd2l0Y2ggKGNvbHVtblR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uTnVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eVR5cGUgPT09ICdjdXJyZW5jeScgPyBDb2x1bW5EaXNwbGF5VHlwZUVudW0uQ3VycmVuY3kgOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0uTnVtYmVyO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5EaXNwbGF5VHlwZUVudW0uQm9vbGVhbjtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRGF0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkRhdGU7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkVudW06XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtbkRpc3BsYXlUeXBlRW51bS5FbnVtO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5DdXN0b206XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtbkRpc3BsYXlUeXBlRW51bS5Db21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtbkRpc3BsYXlUeXBlRW51bS5TdHJpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0cyBzdHJpbmcgdHlwZSB0byB0eXBlIGVudW0sIGRlZmF1bHQgaXMgdGV4dFxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdG9GaWVsZElucHV0VHlwZShwcm9wZXJ0eTogc3RyaW5nKTogRmllbGRJbnB1dFR5cGVFbnVtIHtcbiAgICAgICAgc3dpdGNoIChwcm9wZXJ0eSkge1xuICAgICAgICAgICAgY2FzZSAnaGlkZGVuJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLkhpZGRlbjtcbiAgICAgICAgICAgIGNhc2UgJ2xhYmVsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLkxhYmVsO1xuICAgICAgICAgICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uVGV4dGFyZWE7XG4gICAgICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uTnVtYmVyO1xuICAgICAgICAgICAgY2FzZSAnY3VycmVuY3knOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uQ3VycmVuY3k7XG4gICAgICAgICAgICBjYXNlICdzd2l0Y2gnOlxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5Td2l0Y2g7XG4gICAgICAgICAgICBjYXNlICdyYWRpbyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5SYWRpbztcbiAgICAgICAgICAgIGNhc2UgJ2RhdGVwaWNrZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uRGF0ZXBpY2tlcjtcbiAgICAgICAgICAgIGNhc2UgJ21hc2snOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uTWFzaztcbiAgICAgICAgICAgIGNhc2UgJ2ZpbGUnOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uRmlsZTtcbiAgICAgICAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5DdXN0b207XG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29udmVydCBjb2x1bW4gdHlwZSB0byBlcXVpdmFsZW50IGZpZWxkIGlucHV0IHR5cGVcbiAgICAgKiBAcGFyYW0gdHlwZSBjb2x1bW4gdHlwZVxuICAgICAqIEBwYXJhbSBkaXNwbGF5VHlwZSBjb2x1bW4gZGlzcGxheSB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b0ZpZWxkSW5wdXRUeXBlRnJvbUNvbHVtblR5cGUodHlwZTogQ29sdW1uVHlwZUVudW0sIGRpc3BsYXlUeXBlPzogQ29sdW1uRGlzcGxheVR5cGVFbnVtKTogRmllbGRJbnB1dFR5cGVFbnVtIHtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxheVR5cGUgPT09IENvbHVtbkRpc3BsYXlUeXBlRW51bS5DdXJyZW5jeSA/IEZpZWxkSW5wdXRUeXBlRW51bS5DdXJyZW5jeSA6IEZpZWxkSW5wdXRUeXBlRW51bS5OdW1iZXI7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5Td2l0Y2g7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5EYXRlcGlja2VyO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5DdXN0b206XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5DdXN0b207XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRW51bTpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZ2VuZXJhdGVzIHRhYmxlIGxheW91dCBwcmVmZXJlbmNlcyBrZXkgdXNlZCB3aGVuIHNhdmluZyBwcmVmZXJlbmNlcyB0byBsb2NhbHN0b3JhZ2VcbiAgICAgKiBAcGFyYW0gdHlwZU5hbWUgc3RyaW5nLCByZXF1aXJlZFxuICAgICAqIEBwYXJhbSB1cmwgc3RyaW5nLCByZXF1aXJlZFxuICAgICAqIEBwYXJhbSBkYXRhS2V5IHN0cmluZywgbm90IHJlcXVpcmVkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZVRhYmxlTGF5b3V0UHJlZnNLZXkodHlwZU5hbWU6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGFLZXk/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGxheW91dFByZWZzfn4ke3R5cGVOYW1lfX5+JHtkYXRhS2V5ID8/IHVybC5zcGxpdCgnPycpWzBdLnNwbGl0KCcjJylbMF19YDtcbiAgICB9XG59XG4iXX0=