@dignite-ng/expand.cms 2.0.0-rc.10 → 2.0.0-rc.12

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 (323) hide show
  1. package/config/cms-config.module.d.ts +8 -0
  2. package/config/{src/enums/index.ts → enums/index.d.ts} +1 -1
  3. package/config/enums/route-names.d.ts +7 -0
  4. package/config/index.d.ts +5 -0
  5. package/config/{src/providers/index.ts → providers/index.d.ts} +1 -1
  6. package/config/providers/route.provider.d.ts +9 -0
  7. package/config/{src/public-api.ts → public-api.d.ts} +3 -3
  8. package/esm2022/config/cms-config.module.mjs +19 -0
  9. package/esm2022/config/dignite-ng-expand.cms-config.mjs +5 -0
  10. package/esm2022/config/enums/index.mjs +2 -0
  11. package/esm2022/config/enums/route-names.mjs +9 -0
  12. package/esm2022/config/providers/index.mjs +2 -0
  13. package/esm2022/config/providers/route.provider.mjs +60 -0
  14. package/esm2022/config/public-api.mjs +4 -0
  15. package/esm2022/dignite-ng-expand.cms.mjs +5 -0
  16. package/esm2022/lib/cms-routing.module.mjs +94 -0
  17. package/esm2022/lib/cms.module.mjs +146 -0
  18. package/esm2022/lib/components/admin/entries/create-or-edit-entries.component.mjs +226 -0
  19. package/esm2022/lib/components/admin/entries/create-or-update-entry-input-base.mjs +25 -0
  20. package/esm2022/lib/components/admin/entries/create.component.mjs +136 -0
  21. package/esm2022/lib/components/admin/entries/edit.component.mjs +138 -0
  22. package/esm2022/lib/components/admin/entries/entries.component.mjs +367 -0
  23. package/esm2022/lib/components/admin/entries/index.mjs +5 -0
  24. package/esm2022/lib/components/admin/fields/create-field.component.mjs +87 -0
  25. package/esm2022/lib/components/admin/fields/create-or-edit-field.component.mjs +116 -0
  26. package/esm2022/lib/components/admin/fields/create-or-update-field-input-base.mjs +25 -0
  27. package/esm2022/lib/components/admin/fields/edit-field.component.mjs +109 -0
  28. package/esm2022/lib/components/admin/fields/field-group.component.mjs +131 -0
  29. package/esm2022/lib/components/admin/fields/fields.component.mjs +107 -0
  30. package/esm2022/lib/components/admin/fields/index.mjs +7 -0
  31. package/esm2022/lib/components/admin/index.mjs +4 -0
  32. package/esm2022/lib/components/admin/sections/create-or-edit-sections-modal.component.mjs +210 -0
  33. package/esm2022/lib/components/admin/sections/create-or-update-sections-input-base.mjs +22 -0
  34. package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.mjs +47 -0
  35. package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.component.mjs +423 -0
  36. package/esm2022/lib/components/admin/sections/entry-types/index.mjs +3 -0
  37. package/esm2022/lib/components/admin/sections/index.mjs +4 -0
  38. package/esm2022/lib/components/admin/sections/sections.component.mjs +138 -0
  39. package/esm2022/lib/components/dynamic-form/entry/entry-config.component.mjs +117 -0
  40. package/esm2022/lib/components/dynamic-form/entry/entry-config.mjs +18 -0
  41. package/esm2022/lib/components/dynamic-form/entry/entry-control.component.mjs +105 -0
  42. package/esm2022/lib/components/dynamic-form/entry/entry-view.component.mjs +60 -0
  43. package/esm2022/lib/components/dynamic-form/entry/index.mjs +4 -0
  44. package/esm2022/lib/components/dynamic-form/form-control-group.mjs +34 -0
  45. package/esm2022/lib/components/dynamic-form/index.mjs +5 -0
  46. package/esm2022/lib/components/dynamic-form/matrix/index.mjs +4 -0
  47. package/esm2022/lib/components/dynamic-form/matrix/matrix-config.component.mjs +219 -0
  48. package/esm2022/lib/components/dynamic-form/matrix/matrix-config.mjs +50 -0
  49. package/esm2022/lib/components/dynamic-form/matrix/matrix-control.component.mjs +108 -0
  50. package/esm2022/lib/components/dynamic-form/matrix/matrix-view.component.mjs +40 -0
  51. package/esm2022/lib/components/dynamic-form/table/index.mjs +4 -0
  52. package/esm2022/lib/components/dynamic-form/table/table-config.component.mjs +158 -0
  53. package/esm2022/lib/components/dynamic-form/table/table-config.mjs +38 -0
  54. package/esm2022/lib/components/dynamic-form/table/table-control.component.mjs +118 -0
  55. package/esm2022/lib/components/dynamic-form/table/table-view.component.mjs +40 -0
  56. package/esm2022/lib/components/index.mjs +3 -0
  57. package/esm2022/lib/constants/styles.mjs +19 -0
  58. package/esm2022/lib/enums/ecms-component.mjs +13 -0
  59. package/esm2022/lib/enums/index.mjs +2 -0
  60. package/esm2022/lib/proxy/dignite/abp/data/models.mjs +2 -0
  61. package/esm2022/lib/proxy/dignite/abp/regionalization-management/index.mjs +3 -0
  62. package/esm2022/lib/proxy/dignite/abp/regionalization-management/models.mjs +2 -0
  63. package/esm2022/lib/proxy/dignite/abp/regionalization-management/regionalization.service.mjs +27 -0
  64. package/esm2022/lib/proxy/dignite/cms/admin/dynamic-forms/form-admin.service.mjs +22 -0
  65. package/esm2022/lib/proxy/dignite/cms/admin/dynamic-forms/index.mjs +3 -0
  66. package/esm2022/lib/proxy/dignite/cms/admin/dynamic-forms/models.mjs +2 -0
  67. package/esm2022/lib/proxy/dignite/cms/admin/entries/entry-admin.service.mjs +70 -0
  68. package/esm2022/lib/proxy/dignite/cms/admin/entries/index.mjs +3 -0
  69. package/esm2022/lib/proxy/dignite/cms/admin/entries/models.mjs +2 -0
  70. package/esm2022/lib/proxy/dignite/cms/admin/fields/field-admin.service.mjs +45 -0
  71. package/esm2022/lib/proxy/dignite/cms/admin/fields/field-group-admin.service.mjs +41 -0
  72. package/esm2022/lib/proxy/dignite/cms/admin/fields/index.mjs +4 -0
  73. package/esm2022/lib/proxy/dignite/cms/admin/fields/models.mjs +2 -0
  74. package/esm2022/lib/proxy/dignite/cms/admin/sections/entry-type-admin.service.mjs +41 -0
  75. package/esm2022/lib/proxy/dignite/cms/admin/sections/index.mjs +4 -0
  76. package/esm2022/lib/proxy/dignite/cms/admin/sections/models.mjs +2 -0
  77. package/esm2022/lib/proxy/dignite/cms/admin/sections/section-admin.service.mjs +51 -0
  78. package/esm2022/lib/proxy/dignite/cms/entries/entry-status.enum.mjs +8 -0
  79. package/esm2022/lib/proxy/dignite/cms/entries/index.mjs +2 -0
  80. package/esm2022/lib/proxy/dignite/cms/fields/models.mjs +2 -0
  81. package/esm2022/lib/proxy/dignite/cms/sections/index.mjs +3 -0
  82. package/esm2022/lib/proxy/dignite/cms/sections/models.mjs +2 -0
  83. package/esm2022/lib/proxy/dignite/cms/sections/section-type.enum.mjs +9 -0
  84. package/esm2022/lib/proxy/volo/cms-kit/users/models.mjs +2 -0
  85. package/esm2022/lib/resolvers/extensions-props-action-token.resolver.mjs +136 -0
  86. package/esm2022/lib/resolvers/page-default-toolbar-actions.mjs +160 -0
  87. package/esm2022/lib/resolvers/table-default-entity-actions.mjs +28 -0
  88. package/esm2022/lib/resolvers/table-default-entity-props.mjs +53 -0
  89. package/esm2022/lib/services/appent-content.mjs +15 -0
  90. package/esm2022/lib/services/cms-api.service.mjs +93 -0
  91. package/esm2022/lib/services/cms.service.mjs +21 -0
  92. package/esm2022/lib/services/field-abstracts.service.mjs +42 -0
  93. package/esm2022/lib/services/form-controls.service.mjs +40 -0
  94. package/esm2022/lib/services/index.mjs +4 -0
  95. package/esm2022/public-api.mjs +7 -0
  96. package/fesm2022/dignite-ng-expand.cms-config.mjs +92 -0
  97. package/fesm2022/dignite-ng-expand.cms-config.mjs.map +1 -0
  98. package/fesm2022/dignite-ng-expand.cms.mjs +4250 -0
  99. package/fesm2022/dignite-ng-expand.cms.mjs.map +1 -0
  100. package/index.d.ts +5 -0
  101. package/lib/cms-routing.module.d.ts +7 -0
  102. package/lib/cms.module.d.ts +40 -0
  103. package/lib/components/admin/entries/create-or-edit-entries.component.d.ts +63 -0
  104. package/lib/components/admin/entries/create-or-update-entry-input-base.d.ts +23 -0
  105. package/lib/components/admin/entries/create.component.d.ts +50 -0
  106. package/lib/components/admin/entries/edit.component.d.ts +53 -0
  107. package/lib/components/admin/entries/entries.component.d.ts +101 -0
  108. package/lib/components/admin/entries/index.d.ts +4 -0
  109. package/lib/components/admin/fields/create-field.component.d.ts +37 -0
  110. package/lib/components/admin/fields/create-or-edit-field.component.d.ts +37 -0
  111. package/lib/components/admin/fields/create-or-update-field-input-base.d.ts +16 -0
  112. package/lib/components/admin/fields/edit-field.component.d.ts +46 -0
  113. package/lib/components/admin/fields/field-group.component.d.ts +58 -0
  114. package/lib/components/admin/fields/fields.component.d.ts +35 -0
  115. package/lib/components/admin/fields/index.d.ts +6 -0
  116. package/lib/components/admin/index.d.ts +3 -0
  117. package/lib/components/admin/sections/create-or-edit-sections-modal.component.d.ts +49 -0
  118. package/lib/components/admin/sections/create-or-update-sections-input-base.d.ts +20 -0
  119. package/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.d.ts +28 -0
  120. package/lib/components/admin/sections/entry-types/create-or-edit.component.d.ts +147 -0
  121. package/lib/components/admin/sections/entry-types/index.d.ts +2 -0
  122. package/lib/components/admin/sections/index.d.ts +3 -0
  123. package/lib/components/admin/sections/sections.component.d.ts +46 -0
  124. package/lib/components/dynamic-form/entry/entry-config.component.d.ts +40 -0
  125. package/lib/components/dynamic-form/entry/entry-config.d.ts +9 -0
  126. package/lib/components/dynamic-form/entry/entry-control.component.d.ts +36 -0
  127. package/lib/components/dynamic-form/entry/entry-view.component.d.ts +22 -0
  128. package/lib/components/dynamic-form/entry/index.d.ts +3 -0
  129. package/lib/components/dynamic-form/form-control-group.d.ts +4 -0
  130. package/lib/components/dynamic-form/index.d.ts +4 -0
  131. package/lib/components/dynamic-form/matrix/index.d.ts +3 -0
  132. package/lib/components/dynamic-form/matrix/matrix-config.component.d.ts +74 -0
  133. package/lib/components/dynamic-form/matrix/matrix-config.d.ts +24 -0
  134. package/lib/components/dynamic-form/matrix/matrix-control.component.d.ts +42 -0
  135. package/lib/components/dynamic-form/matrix/matrix-view.component.d.ts +17 -0
  136. package/lib/components/dynamic-form/table/index.d.ts +3 -0
  137. package/lib/components/dynamic-form/table/table-config.component.d.ts +59 -0
  138. package/lib/components/dynamic-form/table/table-config.d.ts +18 -0
  139. package/lib/components/dynamic-form/table/table-control.component.d.ts +42 -0
  140. package/lib/components/dynamic-form/table/table-view.component.d.ts +17 -0
  141. package/lib/components/index.d.ts +2 -0
  142. package/lib/constants/styles.d.ts +2 -0
  143. package/lib/enums/ecms-component.d.ts +11 -0
  144. package/lib/enums/index.d.ts +1 -0
  145. package/lib/proxy/dignite/abp/data/models.d.ts +3 -0
  146. package/lib/proxy/dignite/abp/regionalization-management/models.d.ts +8 -0
  147. package/lib/proxy/dignite/abp/regionalization-management/regionalization.service.d.ts +12 -0
  148. package/lib/proxy/dignite/cms/admin/dynamic-forms/form-admin.service.d.ts +12 -0
  149. package/lib/proxy/dignite/cms/admin/dynamic-forms/models.d.ts +5 -0
  150. package/lib/proxy/dignite/cms/admin/entries/entry-admin.service.d.ts +22 -0
  151. package/lib/proxy/dignite/cms/admin/entries/models.d.ts +61 -0
  152. package/lib/proxy/dignite/cms/admin/fields/field-admin.service.d.ts +17 -0
  153. package/lib/proxy/dignite/cms/admin/fields/field-group-admin.service.d.ts +16 -0
  154. package/{src/lib/proxy/dignite/cms/admin/fields/models.ts → lib/proxy/dignite/cms/admin/fields/models.d.ts} +34 -42
  155. package/lib/proxy/dignite/cms/admin/sections/entry-type-admin.service.d.ts +15 -0
  156. package/{src/lib/proxy/dignite/cms/admin/sections/models.ts → lib/proxy/dignite/cms/admin/sections/models.d.ts} +68 -82
  157. package/lib/proxy/dignite/cms/admin/sections/section-admin.service.d.ts +18 -0
  158. package/lib/proxy/dignite/cms/entries/entry-status.enum.d.ts +5 -0
  159. package/lib/proxy/dignite/cms/fields/models.d.ts +8 -0
  160. package/lib/proxy/dignite/cms/sections/models.d.ts +13 -0
  161. package/lib/proxy/dignite/cms/sections/section-type.enum.d.ts +6 -0
  162. package/{src/lib/proxy/volo/cms-kit/users/models.ts → lib/proxy/volo/cms-kit/users/models.d.ts} +7 -8
  163. package/lib/resolvers/extensions-props-action-token.resolver.d.ts +75 -0
  164. package/lib/resolvers/page-default-toolbar-actions.d.ts +18 -0
  165. package/lib/resolvers/table-default-entity-actions.d.ts +5 -0
  166. package/lib/resolvers/table-default-entity-props.d.ts +5 -0
  167. package/lib/services/appent-content.d.ts +1 -0
  168. package/lib/services/cms-api.service.d.ts +23 -0
  169. package/lib/services/cms.service.d.ts +10 -0
  170. package/lib/services/field-abstracts.service.d.ts +19 -0
  171. package/lib/services/form-controls.service.d.ts +16 -0
  172. package/lib/services/index.d.ts +3 -0
  173. package/package.json +22 -7
  174. package/{src/public-api.ts → public-api.d.ts} +3 -7
  175. package/config/ng-package.json +0 -6
  176. package/config/src/cms-config.module.ts +0 -13
  177. package/config/src/enums/route-names.ts +0 -7
  178. package/config/src/providers/route.provider.ts +0 -68
  179. package/ng-package.json +0 -10
  180. package/src/lib/cms-routing.module.ts +0 -102
  181. package/src/lib/cms.module.ts +0 -113
  182. package/src/lib/components/admin/entries/create-or-edit-entries.component.html +0 -137
  183. package/src/lib/components/admin/entries/create-or-edit-entries.component.scss +0 -0
  184. package/src/lib/components/admin/entries/create-or-edit-entries.component.spec.ts +0 -21
  185. package/src/lib/components/admin/entries/create-or-edit-entries.component.ts +0 -216
  186. package/src/lib/components/admin/entries/create-or-update-entry-input-base.ts +0 -26
  187. package/src/lib/components/admin/entries/create.component.html +0 -16
  188. package/src/lib/components/admin/entries/create.component.scss +0 -0
  189. package/src/lib/components/admin/entries/create.component.spec.ts +0 -21
  190. package/src/lib/components/admin/entries/create.component.ts +0 -130
  191. package/src/lib/components/admin/entries/edit.component.html +0 -9
  192. package/src/lib/components/admin/entries/edit.component.scss +0 -0
  193. package/src/lib/components/admin/entries/edit.component.spec.ts +0 -21
  194. package/src/lib/components/admin/entries/edit.component.ts +0 -134
  195. package/src/lib/components/admin/entries/entries.component.html +0 -225
  196. package/src/lib/components/admin/entries/entries.component.scss +0 -109
  197. package/src/lib/components/admin/entries/entries.component.spec.ts +0 -21
  198. package/src/lib/components/admin/entries/entries.component.ts +0 -394
  199. package/src/lib/components/admin/entries/index.ts +0 -4
  200. package/src/lib/components/admin/fields/create-field.component.html +0 -12
  201. package/src/lib/components/admin/fields/create-field.component.scss +0 -1
  202. package/src/lib/components/admin/fields/create-field.component.spec.ts +0 -21
  203. package/src/lib/components/admin/fields/create-field.component.ts +0 -85
  204. package/src/lib/components/admin/fields/create-or-edit-field.component.html +0 -39
  205. package/src/lib/components/admin/fields/create-or-edit-field.component.scss +0 -0
  206. package/src/lib/components/admin/fields/create-or-edit-field.component.spec.ts +0 -21
  207. package/src/lib/components/admin/fields/create-or-edit-field.component.ts +0 -140
  208. package/src/lib/components/admin/fields/create-or-update-field-input-base.ts +0 -33
  209. package/src/lib/components/admin/fields/edit-field.component.html +0 -14
  210. package/src/lib/components/admin/fields/edit-field.component.scss +0 -0
  211. package/src/lib/components/admin/fields/edit-field.component.spec.ts +0 -21
  212. package/src/lib/components/admin/fields/edit-field.component.ts +0 -112
  213. package/src/lib/components/admin/fields/field-group.component.html +0 -69
  214. package/src/lib/components/admin/fields/field-group.component.scss +0 -0
  215. package/src/lib/components/admin/fields/field-group.component.spec.ts +0 -21
  216. package/src/lib/components/admin/fields/field-group.component.ts +0 -151
  217. package/src/lib/components/admin/fields/fields.component.html +0 -25
  218. package/src/lib/components/admin/fields/fields.component.scss +0 -1
  219. package/src/lib/components/admin/fields/fields.component.spec.ts +0 -21
  220. package/src/lib/components/admin/fields/fields.component.ts +0 -109
  221. package/src/lib/components/admin/fields/index.ts +0 -6
  222. package/src/lib/components/admin/index.ts +0 -3
  223. package/src/lib/components/admin/sections/create-or-edit-sections-modal.component.html +0 -81
  224. package/src/lib/components/admin/sections/create-or-edit-sections-modal.component.scss +0 -0
  225. package/src/lib/components/admin/sections/create-or-edit-sections-modal.component.spec.ts +0 -23
  226. package/src/lib/components/admin/sections/create-or-edit-sections-modal.component.ts +0 -239
  227. package/src/lib/components/admin/sections/create-or-update-sections-input-base.ts +0 -23
  228. package/src/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.ts +0 -52
  229. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.html +0 -195
  230. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.scss +0 -1
  231. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.spec.ts +0 -21
  232. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.ts +0 -442
  233. package/src/lib/components/admin/sections/entry-types/index.ts +0 -2
  234. package/src/lib/components/admin/sections/index.ts +0 -3
  235. package/src/lib/components/admin/sections/sections.component.html +0 -189
  236. package/src/lib/components/admin/sections/sections.component.scss +0 -1
  237. package/src/lib/components/admin/sections/sections.component.spec.ts +0 -21
  238. package/src/lib/components/admin/sections/sections.component.ts +0 -136
  239. package/src/lib/components/dynamic-form/entry/entry-config.component.html +0 -26
  240. package/src/lib/components/dynamic-form/entry/entry-config.component.scss +0 -27
  241. package/src/lib/components/dynamic-form/entry/entry-config.component.spec.ts +0 -21
  242. package/src/lib/components/dynamic-form/entry/entry-config.component.ts +0 -119
  243. package/src/lib/components/dynamic-form/entry/entry-config.ts +0 -22
  244. package/src/lib/components/dynamic-form/entry/entry-control.component.html +0 -25
  245. package/src/lib/components/dynamic-form/entry/entry-control.component.scss +0 -35
  246. package/src/lib/components/dynamic-form/entry/entry-control.component.spec.ts +0 -21
  247. package/src/lib/components/dynamic-form/entry/entry-control.component.ts +0 -111
  248. package/src/lib/components/dynamic-form/entry/index.ts +0 -3
  249. package/src/lib/components/dynamic-form/form-control-group.ts +0 -27
  250. package/src/lib/components/dynamic-form/index.ts +0 -4
  251. package/src/lib/components/dynamic-form/matrix/index.ts +0 -3
  252. package/src/lib/components/dynamic-form/matrix/matrix-config.component.html +0 -148
  253. package/src/lib/components/dynamic-form/matrix/matrix-config.component.scss +0 -0
  254. package/src/lib/components/dynamic-form/matrix/matrix-config.component.spec.ts +0 -21
  255. package/src/lib/components/dynamic-form/matrix/matrix-config.component.ts +0 -244
  256. package/src/lib/components/dynamic-form/matrix/matrix-config.ts +0 -63
  257. package/src/lib/components/dynamic-form/matrix/matrix-control.component.html +0 -42
  258. package/src/lib/components/dynamic-form/matrix/matrix-control.component.scss +0 -0
  259. package/src/lib/components/dynamic-form/matrix/matrix-control.component.spec.ts +0 -21
  260. package/src/lib/components/dynamic-form/matrix/matrix-control.component.ts +0 -118
  261. package/src/lib/components/dynamic-form/table/index.ts +0 -3
  262. package/src/lib/components/dynamic-form/table/table-config.component.html +0 -85
  263. package/src/lib/components/dynamic-form/table/table-config.component.scss +0 -10
  264. package/src/lib/components/dynamic-form/table/table-config.component.spec.ts +0 -21
  265. package/src/lib/components/dynamic-form/table/table-config.component.ts +0 -177
  266. package/src/lib/components/dynamic-form/table/table-config.ts +0 -45
  267. package/src/lib/components/dynamic-form/table/table-control.component.html +0 -54
  268. package/src/lib/components/dynamic-form/table/table-control.component.scss +0 -1
  269. package/src/lib/components/dynamic-form/table/table-control.component.spec.ts +0 -21
  270. package/src/lib/components/dynamic-form/table/table-control.component.ts +0 -127
  271. package/src/lib/components/index.ts +0 -2
  272. package/src/lib/constants/index.ts +0 -1
  273. package/src/lib/constants/styles.ts +0 -18
  274. package/src/lib/enums/ecms-component.ts +0 -11
  275. package/src/lib/enums/index.ts +0 -1
  276. package/src/lib/proxy/README.md +0 -17
  277. package/src/lib/proxy/dignite/abp/data/index.ts +0 -1
  278. package/src/lib/proxy/dignite/abp/data/models.ts +0 -4
  279. package/src/lib/proxy/dignite/abp/index.ts +0 -3
  280. package/src/lib/proxy/dignite/abp/regionalization-management/models.ts +0 -10
  281. package/src/lib/proxy/dignite/abp/regionalization-management/regionalization.service.ts +0 -29
  282. package/src/lib/proxy/dignite/cms/admin/dynamic-forms/form-admin.service.ts +0 -20
  283. package/src/lib/proxy/dignite/cms/admin/dynamic-forms/models.ts +0 -6
  284. package/src/lib/proxy/dignite/cms/admin/entries/entry-admin.service.ts +0 -109
  285. package/src/lib/proxy/dignite/cms/admin/entries/models.ts +0 -69
  286. package/src/lib/proxy/dignite/cms/admin/fields/field-admin.service.ts +0 -64
  287. package/src/lib/proxy/dignite/cms/admin/fields/field-group-admin.service.ts +0 -56
  288. package/src/lib/proxy/dignite/cms/admin/index.ts +0 -5
  289. package/src/lib/proxy/dignite/cms/admin/sections/entry-type-admin.service.ts +0 -55
  290. package/src/lib/proxy/dignite/cms/admin/sections/section-admin.service.ts +0 -74
  291. package/src/lib/proxy/dignite/cms/entries/entry-status.enum.ts +0 -8
  292. package/src/lib/proxy/dignite/cms/fields/index.ts +0 -1
  293. package/src/lib/proxy/dignite/cms/fields/models.ts +0 -9
  294. package/src/lib/proxy/dignite/cms/index.ts +0 -5
  295. package/src/lib/proxy/dignite/cms/sections/models.ts +0 -15
  296. package/src/lib/proxy/dignite/cms/sections/section-type.enum.ts +0 -9
  297. package/src/lib/proxy/dignite/index.ts +0 -3
  298. package/src/lib/proxy/generate-proxy.json +0 -54593
  299. package/src/lib/proxy/index.ts +0 -3
  300. package/src/lib/proxy/volo/cms-kit/index.ts +0 -2
  301. package/src/lib/proxy/volo/cms-kit/users/index.ts +0 -1
  302. package/src/lib/proxy/volo/index.ts +0 -2
  303. package/src/lib/resolvers/extensions-props-action-token.resolver.ts +0 -182
  304. package/src/lib/resolvers/page-default-toolbar-actions.ts +0 -173
  305. package/src/lib/resolvers/table-default-entity-actions.ts +0 -29
  306. package/src/lib/resolvers/table-default-entity-props.ts +0 -62
  307. package/src/lib/services/appent-content.ts +0 -13
  308. package/src/lib/services/cms-api.service.ts +0 -90
  309. package/src/lib/services/cms.service.ts +0 -18
  310. package/src/lib/services/field-abstracts.service.ts +0 -39
  311. package/src/lib/services/index.ts +0 -3
  312. package/src/lib/services/validator.ts +0 -10
  313. package/src/test.ts +0 -26
  314. package/tsconfig.lib.json +0 -16
  315. package/tsconfig.lib.prod.json +0 -10
  316. package/tsconfig.spec.json +0 -17
  317. /package/{src/lib/proxy/dignite/abp/regionalization-management/index.ts → lib/proxy/dignite/abp/regionalization-management/index.d.ts} +0 -0
  318. /package/{src/lib/proxy/dignite/cms/admin/dynamic-forms/index.ts → lib/proxy/dignite/cms/admin/dynamic-forms/index.d.ts} +0 -0
  319. /package/{src/lib/proxy/dignite/cms/admin/entries/index.ts → lib/proxy/dignite/cms/admin/entries/index.d.ts} +0 -0
  320. /package/{src/lib/proxy/dignite/cms/admin/fields/index.ts → lib/proxy/dignite/cms/admin/fields/index.d.ts} +0 -0
  321. /package/{src/lib/proxy/dignite/cms/admin/sections/index.ts → lib/proxy/dignite/cms/admin/sections/index.d.ts} +0 -0
  322. /package/{src/lib/proxy/dignite/cms/entries/index.ts → lib/proxy/dignite/cms/entries/index.d.ts} +0 -0
  323. /package/{src/lib/proxy/dignite/cms/sections/index.ts → lib/proxy/dignite/cms/sections/index.d.ts} +0 -0
@@ -0,0 +1,210 @@
1
+ import { LocalizationService } from '@abp/ng.core';
2
+ import { Component, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
3
+ import { FormControl, Validators, } from '@angular/forms';
4
+ import { ValidatorsService, UpdateListService } from '@dignite-ng/expand.core';
5
+ import { finalize } from 'rxjs';
6
+ import { ToasterService } from '@abp/ng.theme.shared';
7
+ import { CmsApiService } from '../../../services';
8
+ import { SectionAdminService } from '../../../proxy/dignite/cms/admin/sections';
9
+ import { SectionType, sectionTypeOptions } from '../../../proxy/dignite/cms/sections';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ import * as i2 from "@angular/forms";
13
+ import * as i3 from "@ngx-validate/core";
14
+ import * as i4 from "@abp/ng.theme.shared";
15
+ import * as i5 from "@abp/ng.core";
16
+ export class CreateOrEditSectionsModalComponent {
17
+ constructor() {
18
+ this._LocalizationService = inject(LocalizationService);
19
+ this.toaster = inject(ToasterService);
20
+ this._ValidatorsService = inject(ValidatorsService);
21
+ this._UpdateListService = inject(UpdateListService);
22
+ this._SectionAdminService = inject(SectionAdminService);
23
+ this._CmsApiService = inject(CmsApiService);
24
+ this._SectionType = SectionType;
25
+ this._sectionTypeOptions = sectionTypeOptions;
26
+ /**表单验证状态 */
27
+ this.formValidation = '';
28
+ /**模态框-状态-是否打开 */
29
+ this.ModalOpen = false;
30
+ /**模态框-繁忙状态-用于确定模态的繁忙状态是否为真 */
31
+ this.ModalBusy = false;
32
+ /**初始值 */
33
+ this.selected = '';
34
+ this.visibleChange = new EventEmitter();
35
+ }
36
+ set visible(v) {
37
+ this.ModalOpen = v;
38
+ }
39
+ set formEntity(v) {
40
+ this.ModalForm = v;
41
+ if (v) {
42
+ this.selected = v?.value;
43
+ this.setAsyncValidatorsFn();
44
+ }
45
+ }
46
+ get idInput() {
47
+ return this.ModalForm?.get('id');
48
+ }
49
+ get displayNameInput() {
50
+ return this.ModalForm.get('displayName');
51
+ }
52
+ get nameInput() {
53
+ return this.ModalForm.get('name');
54
+ }
55
+ get routeInput() {
56
+ return this.ModalForm.get('route');
57
+ }
58
+ get templateInput() {
59
+ return this.ModalForm.get('template');
60
+ }
61
+ get typeInput() {
62
+ return this.ModalForm.get('type');
63
+ }
64
+ radiochange() {
65
+ this.routeInput.patchValue(this.routeInput.value);
66
+ }
67
+ /**模态框-状态改变回调 */
68
+ ModalVisibleChange(event) {
69
+ this.ModalOpen = event;
70
+ this.visibleChange.emit(event);
71
+ if (!event) {
72
+ return;
73
+ }
74
+ }
75
+ /**保存 */
76
+ save() {
77
+ this.formValidation = this._ValidatorsService.getFormValidationStatus(this.ModalForm);
78
+ if (this._ValidatorsService.isCheckForm(this.formValidation, 'Cms'))
79
+ return;
80
+ if (this.ModalBusy)
81
+ return;
82
+ this.ModalBusy = true;
83
+ if (!this.ModalForm.valid)
84
+ return;
85
+ let input = this.ModalForm.value;
86
+ if (this.idInput.value) {
87
+ this._SectionAdminService
88
+ .update(this.idInput.value, input)
89
+ .pipe(finalize(() => {
90
+ this.reset();
91
+ }))
92
+ .subscribe(res => {
93
+ this.toaster.success(this._LocalizationService.instant(`AbpUi::SavedSuccessfully`));
94
+ this.visibleChange.emit(false);
95
+ this.formValidation = '';
96
+ });
97
+ return;
98
+ }
99
+ this._SectionAdminService
100
+ .create(input)
101
+ .pipe(finalize(() => {
102
+ this.reset();
103
+ }))
104
+ .subscribe(res => {
105
+ this.toaster.success(this._LocalizationService.instant(`AbpUi::SavedSuccessfully`));
106
+ this.visibleChange.emit(false);
107
+ this.formValidation = '';
108
+ });
109
+ }
110
+ reset() {
111
+ this.ModalBusy = false;
112
+ this._UpdateListService.updateList();
113
+ }
114
+ disPlayNameInputBlur(event) {
115
+ let value = event.target.value;
116
+ let pinyin = this._CmsApiService.chineseToPinyin(value);
117
+ let nameInput = this.nameInput;
118
+ let routeInput = this.routeInput;
119
+ let templateInput = this.templateInput;
120
+ if (nameInput.value)
121
+ return;
122
+ nameInput.patchValue(pinyin);
123
+ if (routeInput.value)
124
+ return;
125
+ routeInput.patchValue(pinyin + (this.typeInput.value === 0 ? '' : '/{slug}'));
126
+ if (templateInput.value)
127
+ return;
128
+ templateInput.patchValue(pinyin + '/index');
129
+ }
130
+ setAsyncValidatorsFn() {
131
+ this.ModalForm?.setControl('name', new FormControl(this.nameInput.value || '', {
132
+ validators: Validators.required,
133
+ asyncValidators: this.nameRepetitionAsyncValidator(),
134
+ }));
135
+ this.ModalForm?.setControl('route', new FormControl(this.routeInput.value || '', {
136
+ validators: [Validators.required, this.forbiddenNameValidator()],
137
+ asyncValidators: [this.routeRepetitionAsyncValidator()],
138
+ updateOn: 'change',
139
+ }));
140
+ }
141
+ forbiddenNameValidator() {
142
+ return (control) => {
143
+ let inputValue = control.value.toLocaleLowerCase();
144
+ let forbidden = this.typeInput.value == 0 ? false : inputValue.includes('{slug}') ? false : true;
145
+ return forbidden
146
+ ? {
147
+ repetition: this._LocalizationService.instant(`Cms::RouteVerificationTips`, this._LocalizationService.instant(`Cms::Enum:SectionType:` + SectionType[this.typeInput.value]), '{slug}'),
148
+ }
149
+ : null;
150
+ };
151
+ }
152
+ nameRepetitionAsyncValidator() {
153
+ return (ctrl) => {
154
+ return new Promise(resolve => {
155
+ let subslug = this.ModalForm?.get('name');
156
+ if (subslug.value == this.selected?.name) {
157
+ resolve(null);
158
+ return;
159
+ }
160
+ this._SectionAdminService.nameExists({ name: subslug.value }).subscribe(res => {
161
+ if (res) {
162
+ resolve({
163
+ repetition: this._LocalizationService.instant(`Cms::SectionName{0}AlreadyExist`, ctrl.value),
164
+ });
165
+ }
166
+ else {
167
+ resolve(null);
168
+ }
169
+ });
170
+ });
171
+ };
172
+ }
173
+ routeRepetitionAsyncValidator() {
174
+ return (ctrl) => {
175
+ return new Promise(resolve => {
176
+ let subslug = this.ModalForm?.get('route').value;
177
+ if (subslug == this.selected?.route) {
178
+ resolve(null);
179
+ return;
180
+ }
181
+ this._SectionAdminService.routeExists({ route: subslug }).subscribe(res => {
182
+ if (res) {
183
+ resolve({
184
+ repetition: this._LocalizationService.instant(`Cms::SectionRoute{0}AlreadyExist`, ctrl.value),
185
+ });
186
+ }
187
+ else {
188
+ resolve(null);
189
+ }
190
+ });
191
+ });
192
+ };
193
+ }
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CreateOrEditSectionsModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: CreateOrEditSectionsModalComponent, selector: "cms-create-or-edit-sections-modal", inputs: { visible: "visible", formEntity: "formEntity" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "ModalFormSubmit", first: true, predicate: ["ModalFormSubmit"], descendants: true }], ngImport: i0, template: "<abp-modal [(visible)]=\"ModalOpen\" [busy]=\"ModalBusy\" (visibleChange)=\"ModalVisibleChange($event)\">\r\n <ng-template #abpHeader>\r\n <h3>{{selected?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <ng-template #loaderRef>\r\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\r\n </ng-template>\r\n <ng-container *ngIf=\"ModalForm; else loaderRef\">\r\n <form class=\"sites-modal-form\" [formGroup]=\"ModalForm\" (keydown.enter)=\"$event.preventDefault()\"\r\n [class]=\"{'was-validated':formValidation}\" (submit)=\"save()\">\r\n <button type=\"submit\" #ModalFormSubmit style=\"display: none\"></button>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::EntryType' | abpLocalization}}</label>\r\n <div>\r\n <ng-container *ngFor=\"let item of _sectionTypeOptions;let i =index\">\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" [value]=\"item.value\"\r\n (change)=\"radiochange()\" formControlName=\"type\" id=\"flexRadioDefault{{i}}\">\r\n <label class=\"form-check-label\" for=\"flexRadioDefault{{i}}\">\r\n {{ 'Cms::Enum:SectionType:'+item.key | abpLocalization }}\r\n </label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\r\n (blur)=\"disPlayNameInputBlur($event)\" placeholder=\"\" />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" placeholder=\"\" />\r\n <div class=\"text-danger invalid-feedback\" *ngIf=\"nameInput.errors?.repetition\">\r\n {{nameInput.errors?.repetition}}\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::Route' | abpLocalization}} </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"route\" placeholder=\"\" />\r\n <div class=\"text-danger invalid-feedback\" *ngIf=\"routeInput.errors?.repetition\">\r\n {{routeInput.errors?.repetition}}\r\n </div>\r\n <small class=\"form-text text-muted d-block\">\r\n {{'Cms::RouteTips' | abpLocalization}}<br>\r\n &nbsp;&nbsp;blog<br>\r\n &nbsp;&nbsp;{{'blog/{slug}'}}<br>\r\n &nbsp;&nbsp;{{'blog/{publishTime:yyyy}/{publishTime:MM}/{slug}'}}\r\n </small>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::Template' | abpLocalization}} </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"template\" placeholder=\"\" />\r\n <small class=\"form-text text-muted d-block\">\r\n {{\"Cms::TemplateTips\" | abpLocalization}}\r\n </small>\r\n </div>\r\n <div class=\"mb-3\">\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isDefault\"\r\n id=\"isDefault\" />\r\n <label class=\"form-check-label\" for=\"isDefault\"> {{'Cms::Default' | abpLocalization}} </label>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isActive\"\r\n id=\"isActive\" />\r\n <label class=\"form-check-label\" for=\"isActive\"> {{'Cms::IsActive' | abpLocalization}}</label>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\r\n <abp-button iconClass=\"fa fa-check\" type=\"button\" [loading]=\"ModalBusy\" [disabled]=\"ModalBusy\"\r\n (click)=\"ModalFormSubmit?.nativeElement?.click()\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\r\n </ng-template>\r\n</abp-modal>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i4.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] }); }
196
+ }
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CreateOrEditSectionsModalComponent, decorators: [{
198
+ type: Component,
199
+ args: [{ selector: 'cms-create-or-edit-sections-modal', template: "<abp-modal [(visible)]=\"ModalOpen\" [busy]=\"ModalBusy\" (visibleChange)=\"ModalVisibleChange($event)\">\r\n <ng-template #abpHeader>\r\n <h3>{{selected?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <ng-template #loaderRef>\r\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\r\n </ng-template>\r\n <ng-container *ngIf=\"ModalForm; else loaderRef\">\r\n <form class=\"sites-modal-form\" [formGroup]=\"ModalForm\" (keydown.enter)=\"$event.preventDefault()\"\r\n [class]=\"{'was-validated':formValidation}\" (submit)=\"save()\">\r\n <button type=\"submit\" #ModalFormSubmit style=\"display: none\"></button>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::EntryType' | abpLocalization}}</label>\r\n <div>\r\n <ng-container *ngFor=\"let item of _sectionTypeOptions;let i =index\">\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"radio\" [value]=\"item.value\"\r\n (change)=\"radiochange()\" formControlName=\"type\" id=\"flexRadioDefault{{i}}\">\r\n <label class=\"form-check-label\" for=\"flexRadioDefault{{i}}\">\r\n {{ 'Cms::Enum:SectionType:'+item.key | abpLocalization }}\r\n </label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\r\n (blur)=\"disPlayNameInputBlur($event)\" placeholder=\"\" />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" placeholder=\"\" />\r\n <div class=\"text-danger invalid-feedback\" *ngIf=\"nameInput.errors?.repetition\">\r\n {{nameInput.errors?.repetition}}\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::Route' | abpLocalization}} </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"route\" placeholder=\"\" />\r\n <div class=\"text-danger invalid-feedback\" *ngIf=\"routeInput.errors?.repetition\">\r\n {{routeInput.errors?.repetition}}\r\n </div>\r\n <small class=\"form-text text-muted d-block\">\r\n {{'Cms::RouteTips' | abpLocalization}}<br>\r\n &nbsp;&nbsp;blog<br>\r\n &nbsp;&nbsp;{{'blog/{slug}'}}<br>\r\n &nbsp;&nbsp;{{'blog/{publishTime:yyyy}/{publishTime:MM}/{slug}'}}\r\n </small>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'Cms::Template' | abpLocalization}} </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"template\" placeholder=\"\" />\r\n <small class=\"form-text text-muted d-block\">\r\n {{\"Cms::TemplateTips\" | abpLocalization}}\r\n </small>\r\n </div>\r\n <div class=\"mb-3\">\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isDefault\"\r\n id=\"isDefault\" />\r\n <label class=\"form-check-label\" for=\"isDefault\"> {{'Cms::Default' | abpLocalization}} </label>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <div class=\"form-check form-check-inline\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isActive\"\r\n id=\"isActive\" />\r\n <label class=\"form-check-label\" for=\"isActive\"> {{'Cms::IsActive' | abpLocalization}}</label>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\r\n <abp-button iconClass=\"fa fa-check\" type=\"button\" [loading]=\"ModalBusy\" [disabled]=\"ModalBusy\"\r\n (click)=\"ModalFormSubmit?.nativeElement?.click()\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\r\n </ng-template>\r\n</abp-modal>" }]
200
+ }], propDecorators: { visible: [{
201
+ type: Input
202
+ }], formEntity: [{
203
+ type: Input
204
+ }], ModalFormSubmit: [{
205
+ type: ViewChild,
206
+ args: ['ModalFormSubmit', { static: false }]
207
+ }], visibleChange: [{
208
+ type: Output
209
+ }] } });
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLWVkaXQtc2VjdGlvbnMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21zL3NyYy9saWIvY29tcG9uZW50cy9hZG1pbi9zZWN0aW9ucy9jcmVhdGUtb3ItZWRpdC1zZWN0aW9ucy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvc3JjL2xpYi9jb21wb25lbnRzL2FkbWluL3NlY3Rpb25zL2NyZWF0ZS1vci1lZGl0LXNlY3Rpb25zLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFJWCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7O0FBT3RGLE1BQU0sT0FBTyxrQ0FBa0M7SUFML0M7UUFNVSx5QkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuRCxZ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LEdBQUcsQ0FBQyxFQUFFO29CQUN4RSxJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNSLE9BQU8sQ0FBQzs0QkFDTixVQUFVLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FDM0Msa0NBQWtDLEVBQ2xDLElBQUksQ0FBQyxLQUFLLENBQ1g7eUJBQ0YsQ0FBQyxDQUFDO29CQUNMLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBL01VLGtDQUFrQztrR0FBbEMsa0NBQWtDLG9TQzlCL0Msc3JLQWdGWTs7MkZEbERDLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDRSxtQ0FBbUM7OEJBbUJsQyxPQUFPO3NCQURqQixLQUFLO2dCQVlLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBK0IyQyxlQUFlO3NCQUEvRCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDckMsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yRm4sXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnNTZXJ2aWNlLCBVcGRhdGVMaXN0U2VydmljZSB9IGZyb20gJ0BkaWduaXRlLW5nL2V4cGFuZC5jb3JlJztcclxuaW1wb3J0IHsgZmluYWxpemUsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IENtc0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFNlY3Rpb25BZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm94eS9kaWduaXRlL2Ntcy9hZG1pbi9zZWN0aW9ucyc7XHJcbmltcG9ydCB7IFNlY3Rpb25UeXBlLCBzZWN0aW9uVHlwZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9wcm94eS9kaWduaXRlL2Ntcy9zZWN0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Ntcy1jcmVhdGUtb3ItZWRpdC1zZWN0aW9ucy1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1vci1lZGl0LXNlY3Rpb25zLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY3JlYXRlLW9yLWVkaXQtc2VjdGlvbnMtbW9kYWwuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlT3JFZGl0U2VjdGlvbnNNb2RhbENvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBfTG9jYWxpemF0aW9uU2VydmljZSA9IGluamVjdChMb2NhbGl6YXRpb25TZXJ2aWNlKTtcclxuICBwcml2YXRlIHRvYXN0ZXIgPSBpbmplY3QoVG9hc3RlclNlcnZpY2UpO1xyXG4gIHByaXZhdGUgX1ZhbGlkYXRvcnNTZXJ2aWNlID0gaW5qZWN0KFZhbGlkYXRvcnNTZXJ2aWNlKTtcclxuICBwcml2YXRlIF9VcGRhdGVMaXN0U2VydmljZSA9IGluamVjdChVcGRhdGVMaXN0U2VydmljZSk7XHJcbiAgcHJpdmF0ZSBfU2VjdGlvbkFkbWluU2VydmljZSA9IGluamVjdChTZWN0aW9uQWRtaW5TZXJ2aWNlKTtcclxuICBwcml2YXRlIF9DbXNBcGlTZXJ2aWNlID0gaW5qZWN0KENtc0FwaVNlcnZpY2UpO1xyXG4gIF9TZWN0aW9uVHlwZSA9IFNlY3Rpb25UeXBlO1xyXG4gIF9zZWN0aW9uVHlwZU9wdGlvbnMgPSBzZWN0aW9uVHlwZU9wdGlvbnM7XHJcbiAgLyoq6KGo5Y2V6aqM6K+B54q25oCBICovXHJcbiAgZm9ybVZhbGlkYXRpb246IGFueSA9ICcnO1xyXG4gXHJcbiAgLyoq5qih5oCB5qGGLeeKtuaAgS3mmK/lkKbmiZPlvIAgKi9cclxuICBNb2RhbE9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmlzaWJsZSh2OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLk1vZGFsT3BlbiA9IHY7XHJcbiAgfVxyXG5cclxuICAvKirmqKHmgIHmoYYt57mB5b+Z54q25oCBLeeUqOS6juehruWumuaooeaAgeeahOe5geW/meeKtuaAgeaYr+WQpuS4uuecnyAqL1xyXG4gIE1vZGFsQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKuWIneWni+WAvCAqL1xyXG4gIHNlbGVjdGVkOiBhbnkgPSAnJztcclxuICAvKirmqKHmgIHmoYYt6KGo5Y2VICovXHJcbiAgTW9kYWxGb3JtOiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGZvcm1FbnRpdHkodjogRm9ybUdyb3VwIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLk1vZGFsRm9ybSA9IHY7XHJcbiAgICBpZiAodikge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gdj8udmFsdWU7XHJcbiAgICAgIHRoaXMuc2V0QXN5bmNWYWxpZGF0b3JzRm4oKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGlkSW5wdXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5Nb2RhbEZvcm0/LmdldCgnaWQnKSBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcbiAgZ2V0IGRpc3BsYXlOYW1lSW5wdXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5Nb2RhbEZvcm0uZ2V0KCdkaXNwbGF5TmFtZScpIGFzIEZvcm1Db250cm9sO1xyXG4gIH1cclxuICBnZXQgbmFtZUlucHV0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTW9kYWxGb3JtLmdldCgnbmFtZScpIGFzIEZvcm1Db250cm9sO1xyXG4gIH1cclxuICBnZXQgcm91dGVJbnB1dCgpIHtcclxuICAgIHJldHVybiB0aGlzLk1vZGFsRm9ybS5nZXQoJ3JvdXRlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG4gIGdldCB0ZW1wbGF0ZUlucHV0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTW9kYWxGb3JtLmdldCgndGVtcGxhdGUnKSBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcbiAgZ2V0IHR5cGVJbnB1dCgpIHtcclxuICAgIHJldHVybiB0aGlzLk1vZGFsRm9ybS5nZXQoJ3R5cGUnKSBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcbiAgcmFkaW9jaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnJvdXRlSW5wdXQucGF0Y2hWYWx1ZSh0aGlzLnJvdXRlSW5wdXQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoq5qih5oCB5qGGLeihqOWNlS0t5o6n5Lu25qih5p2/LeWKqOaAgei1i+WAvOihqOWNleaOp+S7tiAqL1xyXG4gIEBWaWV3Q2hpbGQoJ01vZGFsRm9ybVN1Ym1pdCcsIHsgc3RhdGljOiBmYWxzZSB9KSBNb2RhbEZvcm1TdWJtaXQ6IEVsZW1lbnRSZWY7XHJcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoq5qih5oCB5qGGLeeKtuaAgeaUueWPmOWbnuiwgyAqL1xyXG4gIE1vZGFsVmlzaWJsZUNoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5Nb2RhbE9wZW4gPSBldmVudDtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIGlmICghZXZlbnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKirkv53lrZggKi9cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5mb3JtVmFsaWRhdGlvbiA9IHRoaXMuX1ZhbGlkYXRvcnNTZXJ2aWNlLmdldEZvcm1WYWxpZGF0aW9uU3RhdHVzKHRoaXMuTW9kYWxGb3JtKTtcclxuICAgIGlmICh0aGlzLl9WYWxpZGF0b3JzU2VydmljZS5pc0NoZWNrRm9ybSh0aGlzLmZvcm1WYWxpZGF0aW9uLCAnQ21zJykpIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5Nb2RhbEJ1c3kpIHJldHVybjtcclxuICAgIHRoaXMuTW9kYWxCdXN5ID0gdHJ1ZTtcclxuICAgIGlmICghdGhpcy5Nb2RhbEZvcm0udmFsaWQpIHJldHVybjtcclxuICAgIGxldCBpbnB1dCA9IHRoaXMuTW9kYWxGb3JtLnZhbHVlO1xyXG4gICAgaWYgKHRoaXMuaWRJbnB1dC52YWx1ZSkge1xyXG4gICAgICB0aGlzLl9TZWN0aW9uQWRtaW5TZXJ2aWNlXHJcbiAgICAgICAgLnVwZGF0ZSh0aGlzLmlkSW5wdXQudmFsdWUsIGlucHV0KVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXIuc3VjY2Vzcyh0aGlzLl9Mb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoYEFicFVpOjpTYXZlZFN1Y2Nlc3NmdWxseWApKTtcclxuICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb249Jyc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fU2VjdGlvbkFkbWluU2VydmljZVxyXG4gICAgICAuY3JlYXRlKGlucHV0KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3ModGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KGBBYnBVaTo6U2F2ZWRTdWNjZXNzZnVsbHlgKSk7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb249Jyc7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICByZXNldCgpe1xyXG4gICAgdGhpcy5Nb2RhbEJ1c3kgPSBmYWxzZTtcclxuICAgIHRoaXMuX1VwZGF0ZUxpc3RTZXJ2aWNlLnVwZGF0ZUxpc3QoKTtcclxuICB9XHJcblxyXG4gICAgZGlzUGxheU5hbWVJbnB1dEJsdXIoZXZlbnQpIHtcclxuICAgIGxldCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIGxldCBwaW55aW4gPSB0aGlzLl9DbXNBcGlTZXJ2aWNlLmNoaW5lc2VUb1Bpbnlpbih2YWx1ZSk7XHJcbiAgICBsZXQgbmFtZUlucHV0ID0gdGhpcy5uYW1lSW5wdXQ7XHJcbiAgICBsZXQgcm91dGVJbnB1dCA9IHRoaXMucm91dGVJbnB1dDtcclxuICAgIGxldCB0ZW1wbGF0ZUlucHV0ID0gdGhpcy50ZW1wbGF0ZUlucHV0O1xyXG4gICAgaWYgKG5hbWVJbnB1dC52YWx1ZSkgcmV0dXJuO1xyXG4gICAgbmFtZUlucHV0LnBhdGNoVmFsdWUocGlueWluKTtcclxuICAgIGlmIChyb3V0ZUlucHV0LnZhbHVlKSByZXR1cm47XHJcbiAgICByb3V0ZUlucHV0LnBhdGNoVmFsdWUocGlueWluICsgKHRoaXMudHlwZUlucHV0LnZhbHVlID09PSAwID8gJycgOiAnL3tzbHVnfScpKTtcclxuICAgIGlmICh0ZW1wbGF0ZUlucHV0LnZhbHVlKSByZXR1cm47XHJcbiAgICB0ZW1wbGF0ZUlucHV0LnBhdGNoVmFsdWUocGlueWluICsgJy9pbmRleCcpO1xyXG4gIH1cclxuXHJcbiAgc2V0QXN5bmNWYWxpZGF0b3JzRm4oKSB7XHJcbiAgICB0aGlzLk1vZGFsRm9ybT8uc2V0Q29udHJvbChcclxuICAgICAgJ25hbWUnLFxyXG4gICAgICBuZXcgRm9ybUNvbnRyb2wodGhpcy5uYW1lSW5wdXQudmFsdWUgfHwgJycsIHtcclxuICAgICAgICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIGFzeW5jVmFsaWRhdG9yczogdGhpcy5uYW1lUmVwZXRpdGlvbkFzeW5jVmFsaWRhdG9yKCksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5Nb2RhbEZvcm0/LnNldENvbnRyb2woXHJcbiAgICAgICdyb3V0ZScsXHJcbiAgICAgIG5ldyBGb3JtQ29udHJvbCh0aGlzLnJvdXRlSW5wdXQudmFsdWUgfHwgJycsIHtcclxuICAgICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5mb3JiaWRkZW5OYW1lVmFsaWRhdG9yKCldLFxyXG4gICAgICAgIGFzeW5jVmFsaWRhdG9yczogW3RoaXMucm91dGVSZXBldGl0aW9uQXN5bmNWYWxpZGF0b3IoKV0sXHJcbiAgICAgICAgdXBkYXRlT246ICdjaGFuZ2UnLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgZm9yYmlkZGVuTmFtZVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgbGV0IGlucHV0VmFsdWUgPSBjb250cm9sLnZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICAgIGxldCBmb3JiaWRkZW4gPVxyXG4gICAgICAgIHRoaXMudHlwZUlucHV0LnZhbHVlID09IDAgPyBmYWxzZSA6IGlucHV0VmFsdWUuaW5jbHVkZXMoJ3tzbHVnfScpID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICByZXR1cm4gZm9yYmlkZGVuXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIHJlcGV0aXRpb246IHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICAgICBgQ21zOjpSb3V0ZVZlcmlmaWNhdGlvblRpcHNgLFxyXG4gICAgICAgICAgICAgIHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICAgICAgIGBDbXM6OkVudW06U2VjdGlvblR5cGU6YCArIFNlY3Rpb25UeXBlW3RoaXMudHlwZUlucHV0LnZhbHVlXVxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgJ3tzbHVnfSdcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH1cclxuICAgICAgICA6IG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuICBuYW1lUmVwZXRpdGlvbkFzeW5jVmFsaWRhdG9yKCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgY3RybDogQWJzdHJhY3RDb250cm9sXHJcbiAgICApOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+ID0+IHtcclxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xyXG4gICAgICAgIGxldCBzdWJzbHVnID0gdGhpcy5Nb2RhbEZvcm0/LmdldCgnbmFtZScpO1xyXG5cclxuICAgICAgICBpZiAoc3Vic2x1Zy52YWx1ZSA9PSB0aGlzLnNlbGVjdGVkPy5uYW1lKSB7XHJcbiAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9TZWN0aW9uQWRtaW5TZXJ2aWNlLm5hbWVFeGlzdHMoeyBuYW1lOiBzdWJzbHVnLnZhbHVlIH0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHtcclxuICAgICAgICAgICAgICByZXBldGl0aW9uOiB0aGlzLl9Mb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICAgICBgQ21zOjpTZWN0aW9uTmFtZXswfUFscmVhZHlFeGlzdGAsXHJcbiAgICAgICAgICAgICAgICBjdHJsLnZhbHVlXHJcbiAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIHJvdXRlUmVwZXRpdGlvbkFzeW5jVmFsaWRhdG9yKCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgY3RybDogQWJzdHJhY3RDb250cm9sXHJcbiAgICApOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+ID0+IHtcclxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xyXG4gICAgICAgIGxldCBzdWJzbHVnID0gdGhpcy5Nb2RhbEZvcm0/LmdldCgncm91dGUnKS52YWx1ZTtcclxuICAgICAgICBpZiAoc3Vic2x1ZyA9PSB0aGlzLnNlbGVjdGVkPy5yb3V0ZSkge1xyXG4gICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fU2VjdGlvbkFkbWluU2VydmljZS5yb3V0ZUV4aXN0cyh7IHJvdXRlOiBzdWJzbHVnIH0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHtcclxuICAgICAgICAgICAgICByZXBldGl0aW9uOiB0aGlzLl9Mb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICAgICBgQ21zOjpTZWN0aW9uUm91dGV7MH1BbHJlYWR5RXhpc3RgLFxyXG4gICAgICAgICAgICAgICAgY3RybC52YWx1ZVxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLW1vZGFsIFsodmlzaWJsZSldPVwiTW9kYWxPcGVuXCIgW2J1c3ldPVwiTW9kYWxCdXN5XCIgKHZpc2libGVDaGFuZ2UpPVwiTW9kYWxWaXNpYmxlQ2hhbmdlKCRldmVudClcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgICAgIDxoMz57e3NlbGVjdGVkPygnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uKTooJ0Ntczo6TmV3JyB8IGFicExvY2FsaXphdGlvbil9fTwvaDM+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGVyUmVmPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj48aSBjbGFzcz1cImZhIGZhLXB1bHNlIGZhLXNwaW5uZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiTW9kYWxGb3JtOyBlbHNlIGxvYWRlclJlZlwiPlxyXG4gICAgICAgICAgICA8Zm9ybSBjbGFzcz1cInNpdGVzLW1vZGFsLWZvcm1cIiBbZm9ybUdyb3VwXT1cIk1vZGFsRm9ybVwiIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJ7J3dhcy12YWxpZGF0ZWQnOmZvcm1WYWxpZGF0aW9ufVwiIChzdWJtaXQpPVwic2F2ZSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAjTW9kYWxGb3JtU3VibWl0IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3snQ21zOjpFbnRyeVR5cGUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlY3Rpb25UeXBlT3B0aW9ucztsZXQgaSA9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJyYWRpb2NoYW5nZSgpXCIgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiIGlkPVwiZmxleFJhZGlvRGVmYXVsdHt7aX19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhSYWRpb0RlZmF1bHR7e2l9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnQ21zOjpFbnVtOlNlY3Rpb25UeXBlOicraXRlbS5rZXkgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydDbXM6OkRpc3BsYXlOYW1lJyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImRpc3BsYXlOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiZGlzUGxheU5hbWVJbnB1dEJsdXIoJGV2ZW50KVwiIHBsYWNlaG9sZGVyPVwiXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3snQ21zOjpOYW1lJyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBwbGFjZWhvbGRlcj1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyIGludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cIm5hbWVJbnB1dC5lcnJvcnM/LnJlcGV0aXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tuYW1lSW5wdXQuZXJyb3JzPy5yZXBldGl0aW9ufX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3snQ21zOjpSb3V0ZScgfCBhYnBMb2NhbGl6YXRpb259fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwicm91dGVcIiBwbGFjZWhvbGRlcj1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyIGludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cInJvdXRlSW5wdXQuZXJyb3JzPy5yZXBldGl0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7cm91dGVJbnB1dC5lcnJvcnM/LnJlcGV0aXRpb259fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LW11dGVkIGQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3snQ21zOjpSb3V0ZVRpcHMnIHwgYWJwTG9jYWxpemF0aW9ufX08YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwO2Jsb2c8YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwO3t7J2Jsb2cve3NsdWd9J319PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDt7eydibG9nL3twdWJsaXNoVGltZTp5eXl5fS97cHVibGlzaFRpbWU6TU19L3tzbHVnfSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7J0Ntczo6VGVtcGxhdGUnIHwgYWJwTG9jYWxpemF0aW9ufX0gPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cInRlbXBsYXRlXCIgcGxhY2Vob2xkZXI9XCJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LW11dGVkIGQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tcIkNtczo6VGVtcGxhdGVUaXBzXCIgfCBhYnBMb2NhbGl6YXRpb259fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIHZhbHVlPVwidHJ1ZVwiIGZvcm1Db250cm9sTmFtZT1cImlzRGVmYXVsdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImlzRGVmYXVsdFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJpc0RlZmF1bHRcIj4ge3snQ21zOjpEZWZhdWx0JyB8IGFicExvY2FsaXphdGlvbn19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIHZhbHVlPVwidHJ1ZVwiIGZvcm1Db250cm9sTmFtZT1cImlzQWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiaXNBY3RpdmVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiaXNBY3RpdmVcIj4ge3snQ21zOjpJc0FjdGl2ZScgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT57eydBYnBVaTo6Q2xvc2UnIHwgYWJwTG9jYWxpemF0aW9ufX08L2J1dHRvbj5cclxuICAgICAgICA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiIHR5cGU9XCJidXR0b25cIiBbbG9hZGluZ109XCJNb2RhbEJ1c3lcIiBbZGlzYWJsZWRdPVwiTW9kYWxCdXN5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIk1vZGFsRm9ybVN1Ym1pdD8ubmF0aXZlRWxlbWVudD8uY2xpY2soKVwiPnt7J0FicFVpOjpTYXZlJ3xhYnBMb2NhbGl6YXRpb259fTwvYWJwLWJ1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Validators } from "@angular/forms";
2
+ export class CreateOrUpdateSectionsInputBase {
3
+ constructor() {
4
+ this.id = [''];
5
+ /**版块类型 */
6
+ this.type = [0, [Validators.required]];
7
+ /**字段名称 Display name of this field */
8
+ this.displayName = ['', [Validators.required]];
9
+ /**字段唯一名称 Unique Name*/
10
+ this.name = ['', [Validators.required]];
11
+ /**条目路由 */
12
+ this.route = ['', [Validators.required]];
13
+ /**页面模板 */
14
+ this.template = ['', [Validators.required]];
15
+ /**是否默认 */
16
+ this.isDefault = [false, []];
17
+ /**是否激活 */
18
+ this.isActive = [true, []];
19
+ this.concurrencyStamp = [''];
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLXVwZGF0ZS1zZWN0aW9ucy1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21zL3NyYy9saWIvY29tcG9uZW50cy9hZG1pbi9zZWN0aW9ucy9jcmVhdGUtb3ItdXBkYXRlLXNlY3Rpb25zLWlucHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTywrQkFBK0I7SUFrQnhDO1FBakJBLE9BQUUsR0FBMEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxVQUFVO1FBQ1YsU0FBSSxHQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdkMscUNBQXFDO1FBQ3JDLGdCQUFXLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvQyx1QkFBdUI7UUFDdkIsU0FBSSxHQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEMsVUFBVTtRQUNWLFVBQUssR0FBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLFVBQVU7UUFDVixhQUFRLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QyxVQUFVO1FBQ1YsY0FBUyxHQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLFVBQVU7UUFDVixhQUFRLEdBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0IscUJBQWdCLEdBQTBCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFaEMsQ0FBQztDQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQge1ZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVPclVwZGF0ZVNlY3Rpb25zSW5wdXRCYXNlIHtcclxuICAgIGlkOiBzdHJpbmcgfCBWYWxpZGF0b3JzW10gPSBbJyddO1xyXG4gICAgLyoq54mI5Z2X57G75Z6LICovXHJcbiAgICB0eXBlOiBhbnkgPSBbMCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICAgIC8qKuWtl+auteWQjeensCBEaXNwbGF5IG5hbWUgb2YgdGhpcyBmaWVsZCAqL1xyXG4gICAgZGlzcGxheU5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICAgIC8qKuWtl+auteWUr+S4gOWQjeensCBVbmlxdWUgTmFtZSovXHJcbiAgICBuYW1lOiBhbnkgPSBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV07XHJcbiAgICAvKirmnaHnm67ot6/nlLEgKi9cclxuICAgIHJvdXRlOiBhbnkgPSBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV07XHJcbiAgICAvKirpobXpnaLmqKHmnb8gKi9cclxuICAgIHRlbXBsYXRlOiBhbnkgPSBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV07XHJcbiAgICAvKirmmK/lkKbpu5jorqQgKi9cclxuICAgIGlzRGVmYXVsdDogYW55ID0gW2ZhbHNlLCBbXV07XHJcbiAgICAvKirmmK/lkKbmv4DmtLsgKi9cclxuICAgIGlzQWN0aXZlOiBhbnkgPSBbdHJ1ZSwgW11dO1xyXG4gICAgY29uY3VycmVuY3lTdGFtcDogc3RyaW5nIHwgVmFsaWRhdG9yc1tdID0gWycnXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHt9XHJcbn0iXX0=
@@ -0,0 +1,47 @@
1
+ import { FormArray, Validators } from "@angular/forms";
2
+ export class CreateOrEditEntryTypeInputBase {
3
+ constructor(data) {
4
+ /**显示名称 Display name of this field */
5
+ this.displayName = ['', [Validators.required]];
6
+ /**名称 Unique Name*/
7
+ this.name = ['', [Validators.required]];
8
+ /**条目路由 */
9
+ this.fieldTabs = new FormArray([]);
10
+ if (data) {
11
+ for (const key in data) {
12
+ if (data.hasOwnProperty(key)) {
13
+ this[key] = data[key];
14
+ }
15
+ }
16
+ }
17
+ }
18
+ }
19
+ export class fieldTabsBase {
20
+ constructor(data) {
21
+ /**名称 Unique Name*/
22
+ this.name = ['', [Validators.required]];
23
+ this.fields = [[], []];
24
+ if (data) {
25
+ for (const key in data) {
26
+ if (data.hasOwnProperty(key)) {
27
+ this[key] = data[key];
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ export class fieldsBase {
34
+ constructor() {
35
+ /**字段id Unique Name*/
36
+ this.fieldId = ['', [Validators.required]];
37
+ /**显示名称 Unique Name*/
38
+ this.displayName = ['', [Validators.required]];
39
+ /**必填 Unique Name*/
40
+ this.required = [false, []];
41
+ /**是否在列表中显示 Unique Name*/
42
+ this.showInList = [false, []];
43
+ /**是否启用搜索 */
44
+ this.enableSearch = [false, []];
45
+ }
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLWVkaXQuLWVudHJ5LXR5cGUtaW5wdXQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ntcy9zcmMvbGliL2NvbXBvbmVudHMvYWRtaW4vc2VjdGlvbnMvZW50cnktdHlwZXMvY3JlYXRlLW9yLWVkaXQuLWVudHJ5LXR5cGUtaW5wdXQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELE1BQU0sT0FBTyw4QkFBOEI7SUFTdkMsWUFBWSxJQUFxQztRQVJqRCxxQ0FBcUM7UUFDckMsZ0JBQVcsR0FBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRS9DLG1CQUFtQjtRQUNuQixTQUFJLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN4QyxVQUFVO1FBQ1YsY0FBUyxHQUFRLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRzlCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLGFBQWE7SUFJdEIsWUFBWSxJQUFvQjtRQUhoQyxtQkFBbUI7UUFDbkIsU0FBSSxHQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRW5CLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLFVBQVU7SUFZbkI7UUFYQSxxQkFBcUI7UUFDckIsWUFBTyxHQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDM0MscUJBQXFCO1FBQ3JCLGdCQUFXLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvQyxtQkFBbUI7UUFDbkIsYUFBUSxHQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLHlCQUF5QjtRQUN6QixlQUFVLEdBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUIsWUFBWTtRQUNaLGlCQUFZLEdBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFHaEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5LCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlT3JFZGl0RW50cnlUeXBlSW5wdXRCYXNlIHtcclxuICAgIC8qKuaYvuekuuWQjeensCBEaXNwbGF5IG5hbWUgb2YgdGhpcyBmaWVsZCAqL1xyXG4gICAgZGlzcGxheU5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuXHJcbiAgICAvKirlkI3np7AgVW5pcXVlIE5hbWUqL1xyXG4gICAgbmFtZTogYW55ID0gWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dO1xyXG4gICAgLyoq5p2h55uu6Lev55SxICovXHJcbiAgICBmaWVsZFRhYnM6IGFueSA9IG5ldyBGb3JtQXJyYXkoW10pXHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBDcmVhdGVPckVkaXRFbnRyeVR5cGVJbnB1dEJhc2UpIHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBmaWVsZFRhYnNCYXNlIHtcclxuICAgIC8qKuWQjeensCBVbmlxdWUgTmFtZSovXHJcbiAgICBuYW1lOiBhbnkgPSBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV07XHJcbiAgICBmaWVsZHM/OiBhbnkgPSBbW10sIFtdXVxyXG4gICAgY29uc3RydWN0b3IoZGF0YT86IGZpZWxkVGFic0Jhc2UpIHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBmaWVsZHNCYXNlIHtcclxuICAgIC8qKuWtl+autWlkIFVuaXF1ZSBOYW1lKi9cclxuICAgIGZpZWxkSWQ6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICAgIC8qKuaYvuekuuWQjeensCBVbmlxdWUgTmFtZSovXHJcbiAgICBkaXNwbGF5TmFtZTogYW55ID0gWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dO1xyXG4gICAgLyoq5b+F5aGrIFVuaXF1ZSBOYW1lKi9cclxuICAgIHJlcXVpcmVkOiBhbnkgPSBbZmFsc2UsIFtdXTtcclxuICAgIC8qKuaYr+WQpuWcqOWIl+ihqOS4reaYvuekuiBVbmlxdWUgTmFtZSovXHJcbiAgICBzaG93SW5MaXN0OiBhbnkgPSBbZmFsc2UsIFtdXTtcclxuICAgIC8qKuaYr+WQpuWQr+eUqOaQnOe0oiAqL1xyXG4gICAgZW5hYmxlU2VhcmNoOiBhbnkgPSBbZmFsc2UsIFtdXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiJdfQ==