@mediusinc/mng-commons 0.9.1-rc.2 → 0.9.3

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 (304) hide show
  1. package/assets/i18n/sl.json +1 -1
  2. package/dev-scripts/version-info.js +6 -2
  3. package/esm2020/lib/api/models/builders/query-param.builder.mjs +58 -58
  4. package/esm2020/lib/api/models/filter-match-type.model.mjs +24 -24
  5. package/esm2020/lib/api/models/filter-param.model.mjs +32 -32
  6. package/esm2020/lib/api/models/index.mjs +8 -8
  7. package/esm2020/lib/api/models/mappers.mjs +12 -12
  8. package/esm2020/lib/api/models/query-mode.model.mjs +17 -17
  9. package/esm2020/lib/api/models/query-param.model.mjs +67 -67
  10. package/esm2020/lib/api/models/query-result.model.mjs +17 -17
  11. package/esm2020/lib/api/models/serialization.model.mjs +1 -1
  12. package/esm2020/lib/api/services/api.abstract.service.mjs +55 -55
  13. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +66 -66
  14. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +22 -22
  15. package/esm2020/lib/api/services/index.mjs +3 -3
  16. package/esm2020/lib/api/utils/index.mjs +2 -2
  17. package/esm2020/lib/api/utils/medius-rest.util.mjs +151 -151
  18. package/esm2020/lib/api/utils/object-serializer.util.mjs +243 -243
  19. package/esm2020/lib/components/action/action.component.mjs +177 -177
  20. package/esm2020/lib/components/action/editor/action-editor.component.mjs +247 -247
  21. package/esm2020/lib/components/action/index.mjs +3 -3
  22. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  23. package/esm2020/lib/components/action/models/action-execution.model.mjs +234 -234
  24. package/esm2020/lib/components/action/models/index.mjs +2 -2
  25. package/esm2020/lib/components/action/route/action-route.component.mjs +124 -124
  26. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +268 -268
  27. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +160 -160
  28. package/esm2020/lib/components/form/editor/form-editor.component.mjs +212 -190
  29. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +48 -19
  30. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +42 -42
  31. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +24 -24
  32. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +100 -96
  33. package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +16 -16
  34. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +178 -178
  35. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +173 -155
  36. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +154 -127
  37. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +16 -16
  38. package/esm2020/lib/components/form/formly/fields/index.mjs +9 -9
  39. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +14 -14
  40. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +14 -14
  41. package/esm2020/lib/components/form/formly/wrappers/index.mjs +2 -2
  42. package/esm2020/lib/components/form/index.mjs +3 -3
  43. package/esm2020/lib/components/form/models/form-editor.event.mjs +33 -33
  44. package/esm2020/lib/components/form/models/index.mjs +1 -1
  45. package/esm2020/lib/components/layout/breadcrumb.component.mjs +16 -16
  46. package/esm2020/lib/components/layout/footer.component.mjs +17 -17
  47. package/esm2020/lib/components/layout/index.mjs +7 -7
  48. package/esm2020/lib/components/layout/main-layout.component.mjs +51 -51
  49. package/esm2020/lib/components/layout/menu-item.component.mjs +216 -216
  50. package/esm2020/lib/components/layout/menu.component.mjs +21 -21
  51. package/esm2020/lib/components/layout/services/index.mjs +1 -1
  52. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +192 -192
  53. package/esm2020/lib/components/layout/topbar.component.mjs +57 -57
  54. package/esm2020/lib/components/layout/version.component.mjs +57 -57
  55. package/esm2020/lib/components/tableview/index.mjs +6 -6
  56. package/esm2020/lib/components/tableview/models/index.mjs +1 -1
  57. package/esm2020/lib/components/tableview/models/table.event.mjs +15 -15
  58. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +57 -57
  59. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +61 -54
  60. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +102 -102
  61. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +70 -70
  62. package/esm2020/lib/components/tableview/table/table.component.mjs +433 -428
  63. package/esm2020/lib/components/tableview/tableview.component.mjs +91 -91
  64. package/esm2020/lib/config/formly.config.mjs +180 -180
  65. package/esm2020/lib/config/index.mjs +1 -1
  66. package/esm2020/lib/config/models/index.mjs +1 -1
  67. package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
  68. package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
  69. package/esm2020/lib/data-providers/editor.data-provider.mjs +36 -36
  70. package/esm2020/lib/data-providers/index.mjs +5 -5
  71. package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
  72. package/esm2020/lib/data-providers/table.data-provider.mjs +16 -16
  73. package/esm2020/lib/data-providers/tableview.data-provider.mjs +16 -16
  74. package/esm2020/lib/descriptors/action.descriptor.mjs +565 -565
  75. package/esm2020/lib/descriptors/column.descriptor.mjs +265 -261
  76. package/esm2020/lib/descriptors/editor.descriptor.mjs +146 -146
  77. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +20 -20
  78. package/esm2020/lib/descriptors/field.descriptor.mjs +806 -800
  79. package/esm2020/lib/descriptors/filter.descriptor.mjs +289 -262
  80. package/esm2020/lib/descriptors/index.mjs +9 -9
  81. package/esm2020/lib/descriptors/interfaces/field-config.interface.mjs +1 -1
  82. package/esm2020/lib/descriptors/interfaces/index.mjs +2 -2
  83. package/esm2020/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  84. package/esm2020/lib/descriptors/model.descriptor.mjs +33 -33
  85. package/esm2020/lib/descriptors/table.descriptor.mjs +198 -197
  86. package/esm2020/lib/descriptors/tableview.descriptor.mjs +134 -134
  87. package/esm2020/lib/descriptors/types/action.type.mjs +52 -52
  88. package/esm2020/lib/descriptors/types/column.type.mjs +10 -10
  89. package/esm2020/lib/descriptors/types/editor.type.mjs +7 -7
  90. package/esm2020/lib/descriptors/types/field.type.mjs +52 -52
  91. package/esm2020/lib/descriptors/types/filter.type.mjs +30 -30
  92. package/esm2020/lib/descriptors/types/index.mjs +6 -6
  93. package/esm2020/lib/descriptors/types/table.type.mjs +16 -16
  94. package/esm2020/lib/directives/component.directive.mjs +43 -43
  95. package/esm2020/lib/directives/index.mjs +2 -2
  96. package/esm2020/lib/directives/template.directive.mjs +27 -27
  97. package/esm2020/lib/mng-commons.module.mjs +437 -437
  98. package/esm2020/lib/models/column-value.model.mjs +1 -1
  99. package/esm2020/lib/models/enum.model.mjs +1 -1
  100. package/esm2020/lib/models/error.model.mjs +1 -1
  101. package/esm2020/lib/models/index.mjs +7 -7
  102. package/esm2020/lib/models/menu.model.mjs +1 -1
  103. package/esm2020/lib/models/user.model.mjs +1 -1
  104. package/esm2020/lib/models/version.model.mjs +1 -1
  105. package/esm2020/lib/models/view-container.model.mjs +1 -1
  106. package/esm2020/lib/pipes/boolean.pipe.mjs +26 -26
  107. package/esm2020/lib/pipes/enum.pipe.mjs +24 -24
  108. package/esm2020/lib/pipes/i18n-property.pipe.mjs +17 -17
  109. package/esm2020/lib/pipes/index.mjs +5 -5
  110. package/esm2020/lib/pipes/json-path.pipe.mjs +79 -79
  111. package/esm2020/lib/pipes/link-formatter.pipe.mjs +38 -38
  112. package/esm2020/lib/router/index.mjs +1 -1
  113. package/esm2020/lib/router/models/index.mjs +1 -1
  114. package/esm2020/lib/router/models/router.model.mjs +1 -1
  115. package/esm2020/lib/router/route-builder.mjs +431 -431
  116. package/esm2020/lib/services/action-executor.service.mjs +536 -536
  117. package/esm2020/lib/services/commons.service.mjs +331 -331
  118. package/esm2020/lib/services/configuration.service.mjs +110 -110
  119. package/esm2020/lib/services/error-mapper.service.mjs +13 -13
  120. package/esm2020/lib/services/index.mjs +6 -6
  121. package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
  122. package/esm2020/lib/services/internal/commons-init.service.mjs +43 -43
  123. package/esm2020/lib/services/internal/index.mjs +2 -2
  124. package/esm2020/lib/services/navigation.service.mjs +47 -47
  125. package/esm2020/lib/services/providers/config-service.provider.mjs +29 -29
  126. package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
  127. package/esm2020/lib/services/providers/index.mjs +2 -2
  128. package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
  129. package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
  130. package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
  131. package/esm2020/lib/services/tokens/index.mjs +4 -4
  132. package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
  133. package/esm2020/lib/services/version.service.mjs +37 -37
  134. package/esm2020/lib/services/view-container.component.service.mjs +34 -34
  135. package/esm2020/lib/types/index.mjs +2 -2
  136. package/esm2020/lib/types/type.decorator.mjs +12 -12
  137. package/esm2020/lib/types/type.model.mjs +1 -1
  138. package/esm2020/lib/utils/action-data-provider.util.mjs +144 -144
  139. package/esm2020/lib/utils/editor-formly.util.mjs +210 -210
  140. package/esm2020/lib/utils/enum.util.mjs +81 -81
  141. package/esm2020/lib/utils/i18n.util.mjs +232 -232
  142. package/esm2020/lib/utils/index.mjs +7 -7
  143. package/esm2020/lib/utils/model.util.mjs +59 -59
  144. package/esm2020/lib/utils/notification.util.mjs +45 -45
  145. package/esm2020/lib/utils/route.util.mjs +23 -23
  146. package/esm2020/lib/utils/styles.util.mjs +40 -40
  147. package/esm2020/lib/utils/type.util.mjs +76 -76
  148. package/esm2020/mediusinc-mng-commons.mjs +4 -4
  149. package/esm2020/public-api.mjs +41 -41
  150. package/fesm2015/mediusinc-mng-commons.mjs +10101 -9952
  151. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  152. package/fesm2020/mediusinc-mng-commons.mjs +9958 -9814
  153. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  154. package/lib/api/models/builders/query-param.builder.d.ts +13 -13
  155. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  156. package/lib/api/models/filter-param.model.d.ts +23 -23
  157. package/lib/api/models/index.d.ts +8 -8
  158. package/lib/api/models/mappers.d.ts +6 -6
  159. package/lib/api/models/query-mode.model.d.ts +16 -16
  160. package/lib/api/models/query-param.model.d.ts +31 -31
  161. package/lib/api/models/query-result.model.d.ts +23 -23
  162. package/lib/api/models/serialization.model.d.ts +8 -8
  163. package/lib/api/services/api.abstract.service.d.ts +24 -24
  164. package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
  165. package/lib/api/services/get-all-api.abstract.service.d.ts +14 -14
  166. package/lib/api/services/index.d.ts +3 -3
  167. package/lib/api/utils/index.d.ts +2 -2
  168. package/lib/api/utils/medius-rest.util.d.ts +15 -15
  169. package/lib/api/utils/object-serializer.util.d.ts +33 -33
  170. package/lib/components/action/action.component.d.ts +69 -69
  171. package/lib/components/action/editor/action-editor.component.d.ts +64 -64
  172. package/lib/components/action/index.d.ts +3 -3
  173. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  174. package/lib/components/action/models/action-execution.model.d.ts +129 -129
  175. package/lib/components/action/models/index.d.ts +2 -2
  176. package/lib/components/action/route/action-route.component.d.ts +31 -31
  177. package/lib/components/form/autocomplete/autocomplete.component.d.ts +53 -53
  178. package/lib/components/form/dropdown/dropdown.component.d.ts +44 -44
  179. package/lib/components/form/editor/form-editor.component.d.ts +45 -45
  180. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +15 -12
  181. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +14 -14
  182. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +13 -13
  183. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +23 -21
  184. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +6 -6
  185. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +45 -45
  186. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +23 -22
  187. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +38 -37
  188. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +6 -6
  189. package/lib/components/form/formly/fields/index.d.ts +9 -9
  190. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +6 -6
  191. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +6 -6
  192. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  193. package/lib/components/form/index.d.ts +3 -3
  194. package/lib/components/form/models/form-editor.event.d.ts +37 -37
  195. package/lib/components/form/models/index.d.ts +1 -1
  196. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  197. package/lib/components/layout/footer.component.d.ts +9 -9
  198. package/lib/components/layout/index.d.ts +7 -7
  199. package/lib/components/layout/main-layout.component.d.ts +20 -20
  200. package/lib/components/layout/menu-item.component.d.ts +37 -37
  201. package/lib/components/layout/menu.component.d.ts +10 -10
  202. package/lib/components/layout/services/index.d.ts +1 -1
  203. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  204. package/lib/components/layout/topbar.component.d.ts +24 -24
  205. package/lib/components/layout/version.component.d.ts +19 -19
  206. package/lib/components/tableview/index.d.ts +6 -6
  207. package/lib/components/tableview/models/index.d.ts +1 -1
  208. package/lib/components/tableview/models/table.event.d.ts +17 -17
  209. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +20 -20
  210. package/lib/components/tableview/route/tableview-route.component.d.ts +21 -18
  211. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +32 -32
  212. package/lib/components/tableview/table/column-value/column-value.component.d.ts +29 -29
  213. package/lib/components/tableview/table/table.component.d.ts +105 -105
  214. package/lib/components/tableview/tableview.component.d.ts +41 -41
  215. package/lib/config/formly.config.d.ts +15 -15
  216. package/lib/config/index.d.ts +1 -1
  217. package/lib/config/models/index.d.ts +1 -1
  218. package/lib/config/models/mng-config.model.d.ts +36 -36
  219. package/lib/data-providers/base.data-provider.d.ts +14 -14
  220. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  221. package/lib/data-providers/index.d.ts +5 -5
  222. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  223. package/lib/data-providers/table.data-provider.d.ts +14 -14
  224. package/lib/data-providers/tableview.data-provider.d.ts +15 -15
  225. package/lib/descriptors/action.descriptor.d.ts +227 -227
  226. package/lib/descriptors/column.descriptor.d.ts +82 -81
  227. package/lib/descriptors/editor.descriptor.d.ts +37 -37
  228. package/lib/descriptors/field-validation.descriptor.d.ts +18 -18
  229. package/lib/descriptors/field.descriptor.d.ts +289 -287
  230. package/lib/descriptors/filter.descriptor.d.ts +106 -97
  231. package/lib/descriptors/index.d.ts +9 -9
  232. package/lib/descriptors/interfaces/field-config.interface.d.ts +9 -9
  233. package/lib/descriptors/interfaces/index.d.ts +2 -2
  234. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +17 -17
  235. package/lib/descriptors/model.descriptor.d.ts +15 -15
  236. package/lib/descriptors/table.descriptor.d.ts +66 -66
  237. package/lib/descriptors/tableview.descriptor.d.ts +42 -42
  238. package/lib/descriptors/types/action.type.d.ts +45 -45
  239. package/lib/descriptors/types/column.type.d.ts +9 -9
  240. package/lib/descriptors/types/editor.type.d.ts +6 -6
  241. package/lib/descriptors/types/field.type.d.ts +44 -44
  242. package/lib/descriptors/types/filter.type.d.ts +27 -27
  243. package/lib/descriptors/types/index.d.ts +6 -6
  244. package/lib/descriptors/types/table.type.d.ts +13 -13
  245. package/lib/directives/component.directive.d.ts +16 -16
  246. package/lib/directives/index.d.ts +2 -2
  247. package/lib/directives/template.directive.d.ts +13 -13
  248. package/lib/mng-commons.module.d.ts +87 -87
  249. package/lib/models/column-value.model.d.ts +4 -4
  250. package/lib/models/enum.model.d.ts +6 -6
  251. package/lib/models/error.model.d.ts +14 -14
  252. package/lib/models/index.d.ts +7 -7
  253. package/lib/models/menu.model.d.ts +25 -25
  254. package/lib/models/user.model.d.ts +8 -8
  255. package/lib/models/version.model.d.ts +18 -18
  256. package/lib/models/view-container.model.d.ts +6 -6
  257. package/lib/pipes/boolean.pipe.d.ts +7 -7
  258. package/lib/pipes/enum.pipe.d.ts +8 -8
  259. package/lib/pipes/i18n-property.pipe.d.ts +8 -8
  260. package/lib/pipes/index.d.ts +5 -5
  261. package/lib/pipes/json-path.pipe.d.ts +13 -13
  262. package/lib/pipes/link-formatter.pipe.d.ts +11 -11
  263. package/lib/router/index.d.ts +1 -1
  264. package/lib/router/models/index.d.ts +1 -1
  265. package/lib/router/models/router.model.d.ts +22 -22
  266. package/lib/router/route-builder.d.ts +86 -86
  267. package/lib/services/action-executor.service.d.ts +149 -149
  268. package/lib/services/commons.service.d.ts +73 -73
  269. package/lib/services/configuration.service.d.ts +36 -36
  270. package/lib/services/error-mapper.service.d.ts +7 -7
  271. package/lib/services/index.d.ts +6 -6
  272. package/lib/services/internal/commons-init.provider.d.ts +3 -3
  273. package/lib/services/internal/commons-init.service.d.ts +16 -16
  274. package/lib/services/internal/index.d.ts +2 -2
  275. package/lib/services/navigation.service.d.ts +14 -14
  276. package/lib/services/providers/config-service.provider.d.ts +6 -6
  277. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  278. package/lib/services/providers/index.d.ts +2 -2
  279. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  280. package/lib/services/tokens/commons-init.token.d.ts +3 -3
  281. package/lib/services/tokens/default-setting.token.d.ts +2 -2
  282. package/lib/services/tokens/index.d.ts +4 -4
  283. package/lib/services/tokens/module-config.token.d.ts +3 -3
  284. package/lib/services/version.service.d.ts +13 -13
  285. package/lib/services/view-container.component.service.d.ts +22 -22
  286. package/lib/types/index.d.ts +2 -2
  287. package/lib/types/type.decorator.d.ts +4 -4
  288. package/lib/types/type.model.d.ts +20 -20
  289. package/lib/utils/action-data-provider.util.d.ts +20 -20
  290. package/lib/utils/editor-formly.util.d.ts +10 -10
  291. package/lib/utils/enum.util.d.ts +50 -50
  292. package/lib/utils/i18n.util.d.ts +56 -56
  293. package/lib/utils/index.d.ts +7 -7
  294. package/lib/utils/model.util.d.ts +8 -8
  295. package/lib/utils/notification.util.d.ts +11 -11
  296. package/lib/utils/route.util.d.ts +4 -4
  297. package/lib/utils/styles.util.d.ts +14 -14
  298. package/lib/utils/type.util.d.ts +36 -36
  299. package/mediusinc-mng-commons.d.ts +5 -5
  300. package/package.json +6 -6
  301. package/public-api.d.ts +30 -30
  302. package/scss/mng-overrides/_theme_tableview.scss +0 -4
  303. package/version-info.json +6 -6
  304. package/mediusinc-mng-commons-0.9.1-rc.2.tgz +0 -0
@@ -1,147 +1,147 @@
1
- import { I18nUtils } from '../utils';
2
- import { AFieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, ModelDescriptor } from './';
3
- import { TableviewTypeEnum } from './types';
4
- export class EditorDescriptor {
5
- constructor(modelType, idProperty, titleProperty, tableviewEditorType = TableviewTypeEnum.None) {
6
- this._tabs = [];
7
- this._groups = [];
8
- this._fields = [];
9
- this._disabled = false;
10
- this._model = new ModelDescriptor(modelType, idProperty, titleProperty);
11
- this._tableviewEditorType = tableviewEditorType;
12
- }
13
- get model() {
14
- return this._model;
15
- }
16
- get tabs() {
17
- return this._tabs;
18
- }
19
- get fields() {
20
- return this._fields;
21
- }
22
- get tableviewEditorType() {
23
- return this._disabled;
24
- }
25
- get disabled() {
26
- return this._disabled;
27
- }
28
- createTabGroup(name, title) {
29
- const tabGroup = new FieldTabGroupDescriptor(this, name);
30
- if (!title) {
31
- title = I18nUtils.Type.getTabKey(this.model.typeName, name);
32
- }
33
- tabGroup.withTitle(title);
34
- this.createTabGroupDescriptor(tabGroup);
35
- return tabGroup;
36
- }
37
- createFieldGroup(name, title) {
38
- const fieldGroup = new FieldGroupDescriptor(this, name);
39
- if (title !== null) {
40
- if (!title) {
41
- title = I18nUtils.Type.getGroupKey(this.model.typeName, name);
42
- }
43
- fieldGroup.withTitle(title);
44
- }
45
- this.createFieldGroupDescriptor(fieldGroup);
46
- return fieldGroup;
47
- }
48
- addFieldDescriptor(field) {
49
- this.createDefaultGroup();
50
- this._fields.push(field);
51
- this._currentGroup?.addField(field);
52
- return this;
53
- }
54
- addField(property) {
55
- const field = new FieldInputDescriptor(this, property);
56
- this.addFieldDescriptor(field);
57
- return field;
58
- }
59
- removeField(property) {
60
- const fieldIdx = this._fields.findIndex(f => f.property === property);
61
- if (fieldIdx < 0) {
62
- throw new Error(`Field ${property} does not exist.`);
63
- }
64
- const field = this._fields[fieldIdx];
65
- if (field.group) {
66
- const groupFieldIdx = field.group.fields.findIndex(f => f instanceof AFieldDescriptor && f.property === property);
67
- if (groupFieldIdx >= 0) {
68
- field.group.fields.splice(groupFieldIdx, 1);
69
- }
70
- }
71
- this._fields.splice(fieldIdx, 1);
72
- return this;
73
- }
74
- getField(property) {
75
- return this._fields.find(f => f.property === property) ?? null;
76
- }
77
- addFieldLookup(property, modelType) {
78
- const field = new FieldLookupDescriptor(this, property, modelType);
79
- this.addFieldDescriptor(field);
80
- return field;
81
- }
82
- addFieldLookupEnum(property, enumType, options, nameAsValue = false, optionsTitlePath) {
83
- const field = new FieldLookupEnumDescriptor(this, property, enumType, options, nameAsValue, optionsTitlePath);
84
- this.addFieldDescriptor(field);
85
- return field;
86
- }
87
- addFieldManyEditor(property, tableviewDescriptor) {
88
- const field = new FieldManyEditorDescriptor(this, property, tableviewDescriptor);
89
- this.addFieldDescriptor(field);
90
- return field;
91
- }
92
- addFieldManyToManyEditor(property, mainTableDescriptor, lookupTableDescriptor) {
93
- const field = new FieldManyToManyEditorDescriptor(this, property, mainTableDescriptor, lookupTableDescriptor);
94
- this.addFieldDescriptor(field);
95
- return field;
96
- }
97
- withDisabled(disabled = true) {
98
- this._disabled = disabled;
99
- return this;
100
- }
101
- addValidation(name, validator, message) {
102
- if (this._currentGroup) {
103
- this._currentGroup.withValidation(name, validator, message);
104
- }
105
- }
106
- copy() {
107
- const editor = new EditorDescriptor(this.model.type, this.model.idPropertyName, this.model.titlePropertyName);
108
- for (const tabGroup of this._tabs) {
109
- editor.createTabGroupDescriptor(tabGroup.copy());
110
- }
111
- for (const tabGroup of editor._tabs) {
112
- for (const fieldGroup of tabGroup.fields) {
113
- editor._fields.push(...fieldGroup.fields);
114
- }
115
- editor._groups.push(...tabGroup.fields);
116
- }
117
- editor._currentTabGroup = editor._tabs[editor._tabs.length - 1];
118
- editor._currentGroup = editor._currentTabGroup.fields[editor._currentTabGroup.fields.length - 1];
119
- editor._disabled = this._disabled;
120
- return editor;
121
- }
122
- createFieldGroupDescriptor(fieldGroup) {
123
- this.createDefaultTabGroup();
124
- this._currentGroup = fieldGroup;
125
- this._groups.push(fieldGroup);
126
- this._currentTabGroup?.addField(fieldGroup);
127
- return this;
128
- }
129
- createTabGroupDescriptor(tabGroup) {
130
- this._currentTabGroup = tabGroup;
131
- this._tabs.push(tabGroup);
132
- return this;
133
- }
134
- createDefaultGroup() {
135
- this.createDefaultTabGroup();
136
- if (this._currentTabGroup?.fields.length === 0) {
137
- this.createFieldGroup(EditorDescriptor.defaultGroupName, null);
138
- }
139
- }
140
- createDefaultTabGroup() {
141
- if (this._tabs.length === 0) {
142
- this.createTabGroup(EditorDescriptor.defaultGroupName, 'general.general');
143
- }
144
- }
145
- }
146
- EditorDescriptor.defaultGroupName = '_default';
1
+ import { I18nUtils } from '../utils';
2
+ import { AFieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, ModelDescriptor } from './';
3
+ import { TableviewTypeEnum } from './types';
4
+ export class EditorDescriptor {
5
+ constructor(modelType, idProperty, titleProperty, tableviewEditorType = TableviewTypeEnum.None) {
6
+ this._tabs = [];
7
+ this._groups = [];
8
+ this._fields = [];
9
+ this._disabled = false;
10
+ this._model = new ModelDescriptor(modelType, idProperty, titleProperty);
11
+ this._tableviewEditorType = tableviewEditorType;
12
+ }
13
+ get model() {
14
+ return this._model;
15
+ }
16
+ get tabs() {
17
+ return this._tabs;
18
+ }
19
+ get fields() {
20
+ return this._fields;
21
+ }
22
+ get tableviewEditorType() {
23
+ return this._disabled;
24
+ }
25
+ get disabled() {
26
+ return this._disabled;
27
+ }
28
+ createTabGroup(name, title) {
29
+ const tabGroup = new FieldTabGroupDescriptor(this, name);
30
+ if (!title) {
31
+ title = I18nUtils.Type.getTabKey(this.model.typeName, name);
32
+ }
33
+ tabGroup.withTitle(title);
34
+ this.createTabGroupDescriptor(tabGroup);
35
+ return tabGroup;
36
+ }
37
+ createFieldGroup(name, title) {
38
+ const fieldGroup = new FieldGroupDescriptor(this, name);
39
+ if (title !== null) {
40
+ if (!title) {
41
+ title = I18nUtils.Type.getGroupKey(this.model.typeName, name);
42
+ }
43
+ fieldGroup.withTitle(title);
44
+ }
45
+ this.createFieldGroupDescriptor(fieldGroup);
46
+ return fieldGroup;
47
+ }
48
+ addFieldDescriptor(field) {
49
+ this.createDefaultGroup();
50
+ this._fields.push(field);
51
+ this._currentGroup?.addField(field);
52
+ return this;
53
+ }
54
+ addField(property) {
55
+ const field = new FieldInputDescriptor(this, property);
56
+ this.addFieldDescriptor(field);
57
+ return field;
58
+ }
59
+ removeField(property) {
60
+ const fieldIdx = this._fields.findIndex(f => f.property === property);
61
+ if (fieldIdx < 0) {
62
+ throw new Error(`Field ${property} does not exist.`);
63
+ }
64
+ const field = this._fields[fieldIdx];
65
+ if (field.group) {
66
+ const groupFieldIdx = field.group.fields.findIndex(f => f instanceof AFieldDescriptor && f.property === property);
67
+ if (groupFieldIdx >= 0) {
68
+ field.group.fields.splice(groupFieldIdx, 1);
69
+ }
70
+ }
71
+ this._fields.splice(fieldIdx, 1);
72
+ return this;
73
+ }
74
+ getField(property) {
75
+ return this._fields.find(f => f.property === property) ?? null;
76
+ }
77
+ addFieldLookup(property, modelType) {
78
+ const field = new FieldLookupDescriptor(this, property, modelType);
79
+ this.addFieldDescriptor(field);
80
+ return field;
81
+ }
82
+ addFieldLookupEnum(property, enumType, options, nameAsValue = false, optionsTitlePath) {
83
+ const field = new FieldLookupEnumDescriptor(this, property, enumType, options, nameAsValue, optionsTitlePath);
84
+ this.addFieldDescriptor(field);
85
+ return field;
86
+ }
87
+ addFieldManyEditor(property, tableviewDescriptor) {
88
+ const field = new FieldManyEditorDescriptor(this, property, tableviewDescriptor);
89
+ this.addFieldDescriptor(field);
90
+ return field;
91
+ }
92
+ addFieldManyToManyEditor(property, mainTableDescriptor, lookupTableDescriptor) {
93
+ const field = new FieldManyToManyEditorDescriptor(this, property, mainTableDescriptor, lookupTableDescriptor);
94
+ this.addFieldDescriptor(field);
95
+ return field;
96
+ }
97
+ withDisabled(disabled = true) {
98
+ this._disabled = disabled;
99
+ return this;
100
+ }
101
+ addValidation(name, validator, message) {
102
+ if (this._currentGroup) {
103
+ this._currentGroup.withValidation(name, validator, message);
104
+ }
105
+ }
106
+ copy() {
107
+ const editor = new EditorDescriptor(this.model.type, this.model.idPropertyName, this.model.titlePropertyName);
108
+ for (const tabGroup of this._tabs) {
109
+ editor.createTabGroupDescriptor(tabGroup.copy());
110
+ }
111
+ for (const tabGroup of editor._tabs) {
112
+ for (const fieldGroup of tabGroup.fields) {
113
+ editor._fields.push(...fieldGroup.fields);
114
+ }
115
+ editor._groups.push(...tabGroup.fields);
116
+ }
117
+ editor._currentTabGroup = editor._tabs[editor._tabs.length - 1];
118
+ editor._currentGroup = editor._currentTabGroup.fields[editor._currentTabGroup.fields.length - 1];
119
+ editor._disabled = this._disabled;
120
+ return editor;
121
+ }
122
+ createFieldGroupDescriptor(fieldGroup) {
123
+ this.createDefaultTabGroup();
124
+ this._currentGroup = fieldGroup;
125
+ this._groups.push(fieldGroup);
126
+ this._currentTabGroup?.addField(fieldGroup);
127
+ return this;
128
+ }
129
+ createTabGroupDescriptor(tabGroup) {
130
+ this._currentTabGroup = tabGroup;
131
+ this._tabs.push(tabGroup);
132
+ return this;
133
+ }
134
+ createDefaultGroup() {
135
+ this.createDefaultTabGroup();
136
+ if (this._currentTabGroup?.fields.length === 0) {
137
+ this.createFieldGroup(EditorDescriptor.defaultGroupName, null);
138
+ }
139
+ }
140
+ createDefaultTabGroup() {
141
+ if (this._tabs.length === 0) {
142
+ this.createTabGroup(EditorDescriptor.defaultGroupName, 'general.general');
143
+ }
144
+ }
145
+ }
146
+ EditorDescriptor.defaultGroupName = '_default';
147
147
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2Rlc2NyaXB0b3JzL2VkaXRvci5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUNILGdCQUFnQixFQUNoQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsZUFBZSxFQUdsQixNQUFNLElBQUksQ0FBQztBQUNaLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUUxQyxNQUFNLE9BQU8sZ0JBQWdCO0lBYXpCLFlBQVksU0FBdUIsRUFBRSxVQUFtQixFQUFFLGFBQXNCLEVBQUUsbUJBQW1CLEdBQUcsaUJBQWlCLENBQUMsSUFBSTtRQVI3RyxVQUFLLEdBQXNDLEVBQUUsQ0FBQztRQUM5QyxZQUFPLEdBQW1DLEVBQUUsQ0FBQztRQUM3QyxZQUFPLEdBQW9DLEVBQUUsQ0FBQztRQUl2RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUksU0FBUyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsbUJBQW1CLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzFCLE9B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Qzs7QUFuTHNCLGlDQUFnQixHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NUeXBlLCBFbnVtQ29uc3RhbnRUeXBlLCBFbnVtVHlwZSwgTW5nRmllbGRWYWxpZGF0aW9uTWVzc2FnZSwgTW5nRmllbGRWYWxpZGF0b3J9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7STE4blV0aWxzfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICAgIEFGaWVsZERlc2NyaXB0b3IsXG4gICAgRmllbGRHcm91cERlc2NyaXB0b3IsXG4gICAgRmllbGRJbnB1dERlc2NyaXB0b3IsXG4gICAgRmllbGRMb29rdXBEZXNjcmlwdG9yLFxuICAgIEZpZWxkTG9va3VwRW51bURlc2NyaXB0b3IsXG4gICAgRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcixcbiAgICBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yLFxuICAgIEZpZWxkVGFiR3JvdXBEZXNjcmlwdG9yLFxuICAgIE1vZGVsRGVzY3JpcHRvcixcbiAgICBUYWJsZURlc2NyaXB0b3IsXG4gICAgVGFibGV2aWV3RGVzY3JpcHRvclxufSBmcm9tICcuLyc7XG5pbXBvcnQge1RhYmxldmlld1R5cGVFbnVtfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIEVkaXRvckRlc2NyaXB0b3I8VD4ge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdEdyb3VwTmFtZSA9ICdfZGVmYXVsdCc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tb2RlbDogTW9kZWxEZXNjcmlwdG9yPFQ+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxldmlld0VkaXRvclR5cGU6IFRhYmxldmlld1R5cGVFbnVtO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYnM6IEFycmF5PEZpZWxkVGFiR3JvdXBEZXNjcmlwdG9yPFQ+PiA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2dyb3VwczogQXJyYXk8RmllbGRHcm91cERlc2NyaXB0b3I8VD4+ID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmllbGRzOiBBcnJheTxBRmllbGREZXNjcmlwdG9yPGFueSwgVD4+ID0gW107XG4gICAgcHJpdmF0ZSBfY3VycmVudFRhYkdyb3VwPzogRmllbGRUYWJHcm91cERlc2NyaXB0b3I8VD47XG4gICAgcHJpdmF0ZSBfY3VycmVudEdyb3VwPzogRmllbGRHcm91cERlc2NyaXB0b3I8VD47XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IobW9kZWxUeXBlOiBDbGFzc1R5cGU8VD4sIGlkUHJvcGVydHk/OiBzdHJpbmcsIHRpdGxlUHJvcGVydHk/OiBzdHJpbmcsIHRhYmxldmlld0VkaXRvclR5cGUgPSBUYWJsZXZpZXdUeXBlRW51bS5Ob25lKSB7XG4gICAgICAgIHRoaXMuX21vZGVsID0gbmV3IE1vZGVsRGVzY3JpcHRvcjxUPihtb2RlbFR5cGUsIGlkUHJvcGVydHksIHRpdGxlUHJvcGVydHkpO1xuICAgICAgICB0aGlzLl90YWJsZXZpZXdFZGl0b3JUeXBlID0gdGFibGV2aWV3RWRpdG9yVHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1vZGVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9kZWw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0YWJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFicztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpZWxkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRhYmxldmlld0VkaXRvclR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZVRhYkdyb3VwKG5hbWU6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBGaWVsZFRhYkdyb3VwRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIGNvbnN0IHRhYkdyb3VwID0gbmV3IEZpZWxkVGFiR3JvdXBEZXNjcmlwdG9yPFQ+KHRoaXMsIG5hbWUpO1xuICAgICAgICBpZiAoIXRpdGxlKSB7XG4gICAgICAgICAgICB0aXRsZSA9IEkxOG5VdGlscy5UeXBlLmdldFRhYktleSh0aGlzLm1vZGVsLnR5cGVOYW1lLCBuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICB0YWJHcm91cC53aXRoVGl0bGUodGl0bGUpO1xuICAgICAgICB0aGlzLmNyZWF0ZVRhYkdyb3VwRGVzY3JpcHRvcih0YWJHcm91cCk7XG4gICAgICAgIHJldHVybiB0YWJHcm91cDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlRmllbGRHcm91cChuYW1lOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nIHwgbnVsbCk6IEZpZWxkR3JvdXBEZXNjcmlwdG9yPFQ+IHtcbiAgICAgICAgY29uc3QgZmllbGRHcm91cCA9IG5ldyBGaWVsZEdyb3VwRGVzY3JpcHRvcjxUPih0aGlzLCBuYW1lKTtcbiAgICAgICAgaWYgKHRpdGxlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoIXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgdGl0bGUgPSBJMThuVXRpbHMuVHlwZS5nZXRHcm91cEtleSh0aGlzLm1vZGVsLnR5cGVOYW1lLCBuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkR3JvdXAud2l0aFRpdGxlKHRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZWF0ZUZpZWxkR3JvdXBEZXNjcmlwdG9yKGZpZWxkR3JvdXApO1xuICAgICAgICByZXR1cm4gZmllbGRHcm91cDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkRmllbGREZXNjcmlwdG9yPEZUPihmaWVsZDogQUZpZWxkRGVzY3JpcHRvcjxGVCwgVD4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5jcmVhdGVEZWZhdWx0R3JvdXAoKTtcbiAgICAgICAgdGhpcy5fZmllbGRzLnB1c2goZmllbGQpO1xuICAgICAgICB0aGlzLl9jdXJyZW50R3JvdXA/LmFkZEZpZWxkKGZpZWxkKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEZpZWxkKHByb3BlcnR5OiBzdHJpbmcpOiBGaWVsZElucHV0RGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpZWxkSW5wdXREZXNjcmlwdG9yPFQ+KHRoaXMsIHByb3BlcnR5KTtcbiAgICAgICAgdGhpcy5hZGRGaWVsZERlc2NyaXB0b3IoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUZpZWxkKHByb3BlcnR5OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgY29uc3QgZmllbGRJZHggPSB0aGlzLl9maWVsZHMuZmluZEluZGV4KGYgPT4gZi5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xuICAgICAgICBpZiAoZmllbGRJZHggPCAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZpZWxkICR7cHJvcGVydHl9IGRvZXMgbm90IGV4aXN0LmApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5fZmllbGRzW2ZpZWxkSWR4XTtcbiAgICAgICAgaWYgKGZpZWxkLmdyb3VwKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cEZpZWxkSWR4ID0gZmllbGQuZ3JvdXAuZmllbGRzLmZpbmRJbmRleChmID0+IGYgaW5zdGFuY2VvZiBBRmllbGREZXNjcmlwdG9yICYmIGYucHJvcGVydHkgPT09IHByb3BlcnR5KTtcbiAgICAgICAgICAgIGlmIChncm91cEZpZWxkSWR4ID49IDApIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5ncm91cC5maWVsZHMuc3BsaWNlKGdyb3VwRmllbGRJZHgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2ZpZWxkcy5zcGxpY2UoZmllbGRJZHgsIDEpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmllbGQocHJvcGVydHk6IHN0cmluZyk6IEFGaWVsZERlc2NyaXB0b3I8YW55LCBUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGRzLmZpbmQoZiA9PiBmLnByb3BlcnR5ID09PSBwcm9wZXJ0eSkgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkRmllbGRMb29rdXA8RlQ+KHByb3BlcnR5OiBzdHJpbmcsIG1vZGVsVHlwZTogQ2xhc3NUeXBlPEZUPik6IEZpZWxkTG9va3VwRGVzY3JpcHRvcjxGVCwgVD4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IG5ldyBGaWVsZExvb2t1cERlc2NyaXB0b3I8RlQsIFQ+KHRoaXMsIHByb3BlcnR5LCBtb2RlbFR5cGUpO1xuICAgICAgICB0aGlzLmFkZEZpZWxkRGVzY3JpcHRvcihmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkRmllbGRMb29rdXBFbnVtKFxuICAgICAgICBwcm9wZXJ0eTogc3RyaW5nLFxuICAgICAgICBlbnVtVHlwZTogRW51bVR5cGUsXG4gICAgICAgIG9wdGlvbnM/OiBBcnJheTxFbnVtQ29uc3RhbnRUeXBlPixcbiAgICAgICAgbmFtZUFzVmFsdWUgPSBmYWxzZSxcbiAgICAgICAgb3B0aW9uc1RpdGxlUGF0aD86IHN0cmluZyB8IG51bGxcbiAgICApOiBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yPFQ+IHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBuZXcgRmllbGRMb29rdXBFbnVtRGVzY3JpcHRvcih0aGlzLCBwcm9wZXJ0eSwgZW51bVR5cGUsIG9wdGlvbnMsIG5hbWVBc1ZhbHVlLCBvcHRpb25zVGl0bGVQYXRoKTtcbiAgICAgICAgdGhpcy5hZGRGaWVsZERlc2NyaXB0b3IoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEZpZWxkTWFueUVkaXRvcjxGVD4ocHJvcGVydHk6IHN0cmluZywgdGFibGV2aWV3RGVzY3JpcHRvcjogVGFibGV2aWV3RGVzY3JpcHRvcjxGVD4pOiBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yPEZULCBUPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpZWxkTWFueUVkaXRvckRlc2NyaXB0b3IodGhpcywgcHJvcGVydHksIHRhYmxldmlld0Rlc2NyaXB0b3IpO1xuICAgICAgICB0aGlzLmFkZEZpZWxkRGVzY3JpcHRvcihmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkRmllbGRNYW55VG9NYW55RWRpdG9yPEZUPihcbiAgICAgICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICAgICAgbWFpblRhYmxlRGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9yPEZUPixcbiAgICAgICAgbG9va3VwVGFibGVEZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3I8RlQ+XG4gICAgKTogRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcjxGVCwgVD4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IG5ldyBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yKHRoaXMsIHByb3BlcnR5LCBtYWluVGFibGVEZXNjcmlwdG9yLCBsb29rdXBUYWJsZURlc2NyaXB0b3IpO1xuICAgICAgICB0aGlzLmFkZEZpZWxkRGVzY3JpcHRvcihmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERpc2FibGVkKGRpc2FibGVkID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVmFsaWRhdGlvbihuYW1lOiBzdHJpbmcsIHZhbGlkYXRvcj86IE1uZ0ZpZWxkVmFsaWRhdG9yLCBtZXNzYWdlPzogTW5nRmllbGRWYWxpZGF0aW9uTWVzc2FnZSkge1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudEdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50R3JvdXAud2l0aFZhbGlkYXRpb24obmFtZSwgdmFsaWRhdG9yLCBtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5KCk6IEVkaXRvckRlc2NyaXB0b3I8VD4ge1xuICAgICAgICBjb25zdCBlZGl0b3IgPSBuZXcgRWRpdG9yRGVzY3JpcHRvcjxUPih0aGlzLm1vZGVsLnR5cGUsIHRoaXMubW9kZWwuaWRQcm9wZXJ0eU5hbWUsIHRoaXMubW9kZWwudGl0bGVQcm9wZXJ0eU5hbWUpO1xuICAgICAgICBmb3IgKGNvbnN0IHRhYkdyb3VwIG9mIHRoaXMuX3RhYnMpIHtcbiAgICAgICAgICAgIGVkaXRvci5jcmVhdGVUYWJHcm91cERlc2NyaXB0b3IodGFiR3JvdXAuY29weSgpKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IHRhYkdyb3VwIG9mIGVkaXRvci5fdGFicykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZEdyb3VwIG9mIHRhYkdyb3VwLmZpZWxkcykge1xuICAgICAgICAgICAgICAgIGVkaXRvci5fZmllbGRzLnB1c2goLi4uZmllbGRHcm91cC5maWVsZHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWRpdG9yLl9ncm91cHMucHVzaCguLi50YWJHcm91cC5maWVsZHMpO1xuICAgICAgICB9XG4gICAgICAgIGVkaXRvci5fY3VycmVudFRhYkdyb3VwID0gZWRpdG9yLl90YWJzW2VkaXRvci5fdGFicy5sZW5ndGggLSAxXTtcbiAgICAgICAgZWRpdG9yLl9jdXJyZW50R3JvdXAgPSBlZGl0b3IuX2N1cnJlbnRUYWJHcm91cC5maWVsZHNbZWRpdG9yLl9jdXJyZW50VGFiR3JvdXAuZmllbGRzLmxlbmd0aCAtIDFdO1xuICAgICAgICBlZGl0b3IuX2Rpc2FibGVkID0gdGhpcy5fZGlzYWJsZWQ7XG4gICAgICAgIHJldHVybiBlZGl0b3I7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUZpZWxkR3JvdXBEZXNjcmlwdG9yKGZpZWxkR3JvdXA6IEZpZWxkR3JvdXBEZXNjcmlwdG9yPFQ+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuY3JlYXRlRGVmYXVsdFRhYkdyb3VwKCk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRHcm91cCA9IGZpZWxkR3JvdXA7XG4gICAgICAgIHRoaXMuX2dyb3Vwcy5wdXNoKGZpZWxkR3JvdXApO1xuICAgICAgICB0aGlzLl9jdXJyZW50VGFiR3JvdXA/LmFkZEZpZWxkKGZpZWxkR3JvdXApO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVRhYkdyb3VwRGVzY3JpcHRvcih0YWJHcm91cDogRmllbGRUYWJHcm91cERlc2NyaXB0b3I8VD4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRhYkdyb3VwID0gdGFiR3JvdXA7XG4gICAgICAgIHRoaXMuX3RhYnMucHVzaCh0YWJHcm91cCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGVmYXVsdEdyb3VwKCkge1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRUYWJHcm91cCgpO1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFRhYkdyb3VwPy5maWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUZpZWxkR3JvdXAoRWRpdG9yRGVzY3JpcHRvci5kZWZhdWx0R3JvdXBOYW1lLCBudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGVmYXVsdFRhYkdyb3VwKCkge1xuICAgICAgICBpZiAodGhpcy5fdGFicy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGFiR3JvdXAoRWRpdG9yRGVzY3JpcHRvci5kZWZhdWx0R3JvdXBOYW1lLCAnZ2VuZXJhbC5nZW5lcmFsJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,21 +1,21 @@
1
- export class FieldValidationDescriptor {
2
- constructor(name, validator, message, options) {
3
- this._name = name;
4
- this._validator = validator;
5
- this._message = message;
6
- this._options = options;
7
- }
8
- get name() {
9
- return this._name;
10
- }
11
- get validator() {
12
- return this._validator;
13
- }
14
- get message() {
15
- return this._message;
16
- }
17
- get options() {
18
- return this._options;
19
- }
20
- }
1
+ export class FieldValidationDescriptor {
2
+ constructor(name, validator, message, options) {
3
+ this._name = name;
4
+ this._validator = validator;
5
+ this._message = message;
6
+ this._options = options;
7
+ }
8
+ get name() {
9
+ return this._name;
10
+ }
11
+ get validator() {
12
+ return this._validator;
13
+ }
14
+ get message() {
15
+ return this._message;
16
+ }
17
+ get options() {
18
+ return this._options;
19
+ }
20
+ }
21
21
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdmFsaWRhdGlvbi5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXNjcmlwdG9ycy9maWVsZC12YWxpZGF0aW9uLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUNJLElBQVksRUFDWixTQUE2QixFQUM3QixPQUEwRixFQUMxRixPQUE2QjtRQUU3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Zvcm1seUZpZWxkQ29uZmlnfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7TW5nRmllbGRWYWxpZGF0aW9uTWVzc2FnZSwgTW5nRmllbGRWYWxpZGF0b3J9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIEZpZWxkVmFsaWRhdGlvbkRlc2NyaXB0b3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX25hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92YWxpZGF0b3I/OiBNbmdGaWVsZFZhbGlkYXRvcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZXNzYWdlPzogTW5nRmllbGRWYWxpZGF0aW9uTWVzc2FnZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25zPzoge2Vycm9yUGF0aDogc3RyaW5nfTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIHZhbGlkYXRvcj86IE1uZ0ZpZWxkVmFsaWRhdG9yLFxuICAgICAgICBtZXNzYWdlPzogc3RyaW5nIHwgKChlcnJvcjogYW55LCBmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPiksXG4gICAgICAgIG9wdGlvbnM/OiB7ZXJyb3JQYXRoOiBzdHJpbmd9XG4gICAgKSB7XG4gICAgICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLl92YWxpZGF0b3IgPSB2YWxpZGF0b3I7XG4gICAgICAgIHRoaXMuX21lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWxpZGF0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0b3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtZXNzYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWVzc2FnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICAgIH1cbn1cbiJdfQ==