@dignite-ng/expand.cms 0.0.19 → 0.0.20

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 (385) hide show
  1. package/config/ng-package.json +7 -0
  2. package/config/src/cms-config.module.ts +12 -0
  3. package/config/{enums/index.d.ts → src/enums/index.ts} +1 -1
  4. package/config/src/enums/route-names.ts +8 -0
  5. package/config/{providers/index.d.ts → src/providers/index.ts} +1 -1
  6. package/config/src/providers/route.provider.ts +66 -0
  7. package/config/{public-api.d.ts → src/public-api.ts} +3 -3
  8. package/karma.conf.js +44 -0
  9. package/ng-package.json +7 -0
  10. package/package.json +19 -38
  11. package/src/lib/cms-routing.module.ts +111 -0
  12. package/src/lib/cms.module.ts +119 -0
  13. package/src/lib/components/admin/entries/create-or-edit-entries.component.html +115 -0
  14. package/src/lib/components/admin/entries/create-or-edit-entries.component.scss +25 -0
  15. package/src/lib/components/admin/entries/create-or-edit-entries.component.spec.ts +21 -0
  16. package/src/lib/components/admin/entries/create-or-edit-entries.component.ts +287 -0
  17. package/src/lib/components/admin/entries/create-or-update-entry-input-base.ts +36 -0
  18. package/src/lib/components/admin/entries/create.component.html +13 -0
  19. package/src/lib/components/admin/entries/create.component.scss +21 -0
  20. package/src/lib/components/admin/entries/create.component.spec.ts +21 -0
  21. package/src/lib/components/admin/entries/create.component.ts +103 -0
  22. package/src/lib/components/admin/entries/edit.component.html +9 -0
  23. package/src/lib/components/admin/entries/edit.component.scss +26 -0
  24. package/src/lib/components/admin/entries/edit.component.spec.ts +21 -0
  25. package/src/lib/components/admin/entries/edit.component.ts +103 -0
  26. package/src/lib/components/admin/entries/entries.component.html +106 -0
  27. package/src/lib/components/admin/entries/entries.component.scss +80 -0
  28. package/src/lib/components/admin/entries/entries.component.spec.ts +21 -0
  29. package/src/lib/components/admin/entries/entries.component.ts +216 -0
  30. package/src/lib/components/admin/entries/index.ts +4 -0
  31. package/src/lib/components/admin/fields/create-field.component.html +12 -0
  32. package/src/lib/components/admin/fields/create-field.component.scss +10 -0
  33. package/src/lib/components/admin/fields/create-field.component.spec.ts +21 -0
  34. package/src/lib/components/admin/fields/create-field.component.ts +68 -0
  35. package/src/lib/components/admin/fields/create-or-edit-field.component.html +39 -0
  36. package/src/lib/components/admin/fields/create-or-edit-field.component.scss +0 -0
  37. package/src/lib/components/admin/fields/create-or-edit-field.component.spec.ts +21 -0
  38. package/src/lib/components/admin/fields/create-or-edit-field.component.ts +119 -0
  39. package/src/lib/components/admin/fields/create-or-update-field-input-base.ts +33 -0
  40. package/src/lib/components/admin/fields/edit-field.component.html +13 -0
  41. package/src/lib/components/admin/fields/edit-field.component.scss +0 -0
  42. package/src/lib/components/admin/fields/edit-field.component.spec.ts +21 -0
  43. package/src/lib/components/admin/fields/edit-field.component.ts +100 -0
  44. package/src/lib/components/admin/fields/field-group.component.html +69 -0
  45. package/src/lib/components/admin/fields/field-group.component.scss +0 -0
  46. package/src/lib/components/admin/fields/field-group.component.spec.ts +21 -0
  47. package/src/lib/components/admin/fields/field-group.component.ts +132 -0
  48. package/src/lib/components/admin/fields/fields.component.html +73 -0
  49. package/src/lib/components/admin/fields/fields.component.scss +11 -0
  50. package/src/lib/components/admin/fields/fields.component.spec.ts +21 -0
  51. package/src/lib/components/admin/fields/fields.component.ts +111 -0
  52. package/src/lib/components/admin/fields/index.ts +6 -0
  53. package/src/lib/components/admin/index.ts +4 -0
  54. package/src/lib/components/admin/sections/create-or-update-sections-input-base.ts +36 -0
  55. package/src/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.ts +79 -0
  56. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.html +191 -0
  57. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.scss +24 -0
  58. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.spec.ts +21 -0
  59. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.ts +412 -0
  60. package/src/lib/components/admin/sections/entry-types/index.ts +2 -0
  61. package/src/lib/components/admin/sections/index.ts +3 -0
  62. package/src/lib/components/admin/sections/sections.component.html +191 -0
  63. package/src/lib/components/admin/sections/sections.component.scss +26 -0
  64. package/src/lib/components/admin/sections/sections.component.spec.ts +21 -0
  65. package/src/lib/components/admin/sections/sections.component.ts +334 -0
  66. package/src/lib/components/admin/sites/create-or-update-sites-input-base.ts +31 -0
  67. package/src/lib/components/admin/sites/index.ts +2 -0
  68. package/src/lib/components/admin/sites/sites.component.html +154 -0
  69. package/src/lib/components/admin/sites/sites.component.scss +19 -0
  70. package/src/lib/components/admin/sites/sites.component.spec.ts +21 -0
  71. package/src/lib/components/admin/sites/sites.component.ts +293 -0
  72. package/src/lib/components/dynamic-form/entry/entry-config.component.html +36 -0
  73. package/src/lib/components/dynamic-form/entry/entry-config.component.scss +0 -0
  74. package/src/lib/components/dynamic-form/entry/entry-config.component.spec.ts +21 -0
  75. package/src/lib/components/dynamic-form/entry/entry-config.component.ts +115 -0
  76. package/src/lib/components/dynamic-form/entry/entry-config.ts +24 -0
  77. package/src/lib/components/dynamic-form/entry/entry-control.component.html +26 -0
  78. package/src/lib/components/dynamic-form/entry/entry-control.component.scss +20 -0
  79. package/src/lib/components/dynamic-form/entry/entry-control.component.spec.ts +21 -0
  80. package/src/lib/components/dynamic-form/entry/entry-control.component.ts +110 -0
  81. package/src/lib/components/dynamic-form/entry/index.ts +3 -0
  82. package/src/lib/components/dynamic-form/form-control-group.ts +31 -0
  83. package/src/lib/components/dynamic-form/index.ts +4 -0
  84. package/src/lib/components/dynamic-form/matrix/index.ts +3 -0
  85. package/src/lib/components/dynamic-form/matrix/matrix-config.component.html +147 -0
  86. package/src/lib/components/dynamic-form/matrix/matrix-config.component.scss +0 -0
  87. package/src/lib/components/dynamic-form/matrix/matrix-config.component.spec.ts +21 -0
  88. package/src/lib/components/dynamic-form/matrix/matrix-config.component.ts +238 -0
  89. package/src/lib/components/dynamic-form/matrix/matrix-config.ts +63 -0
  90. package/src/lib/components/dynamic-form/matrix/matrix-control.component.html +42 -0
  91. package/src/lib/components/dynamic-form/matrix/matrix-control.component.scss +0 -0
  92. package/src/lib/components/dynamic-form/matrix/matrix-control.component.spec.ts +21 -0
  93. package/src/lib/components/dynamic-form/matrix/matrix-control.component.ts +104 -0
  94. package/src/lib/components/dynamic-form/table/index.ts +3 -0
  95. package/src/lib/components/dynamic-form/table/table-config.component.html +85 -0
  96. package/src/lib/components/dynamic-form/table/table-config.component.scss +10 -0
  97. package/src/lib/components/dynamic-form/table/table-config.component.spec.ts +21 -0
  98. package/src/lib/components/dynamic-form/table/table-config.component.ts +170 -0
  99. package/src/lib/components/dynamic-form/table/table-config.ts +45 -0
  100. package/src/lib/components/dynamic-form/table/table-control.component.html +55 -0
  101. package/src/lib/components/dynamic-form/table/table-control.component.scss +10 -0
  102. package/src/lib/components/dynamic-form/table/table-control.component.spec.ts +21 -0
  103. package/src/lib/components/dynamic-form/table/table-control.component.ts +107 -0
  104. package/src/lib/components/index.ts +2 -0
  105. package/src/lib/constants/index.ts +1 -0
  106. package/src/lib/constants/styles.ts +31 -0
  107. package/src/lib/enums/ecms-component.ts +11 -0
  108. package/src/lib/enums/index.ts +1 -0
  109. package/src/lib/proxy/README.md +17 -0
  110. package/src/lib/proxy/admin/dynamic-forms/form-admin.service.ts +21 -0
  111. package/src/lib/proxy/admin/dynamic-forms/models.ts +5 -0
  112. package/src/lib/proxy/admin/entries/entry-admin.service.ts +100 -0
  113. package/src/lib/proxy/admin/entries/models.ts +73 -0
  114. package/src/lib/proxy/admin/fields/field-admin.service.ts +64 -0
  115. package/src/lib/proxy/admin/fields/field-group-admin.service.ts +56 -0
  116. package/{lib/proxy/admin/fields/models.d.ts → src/lib/proxy/admin/fields/models.ts} +42 -34
  117. package/src/lib/proxy/admin/sections/entry-type-admin.service.ts +55 -0
  118. package/{lib/proxy/admin/sections/models.d.ts → src/lib/proxy/admin/sections/models.ts} +88 -74
  119. package/src/lib/proxy/admin/sections/section-admin.service.ts +74 -0
  120. package/{lib/proxy/admin/sites/models.d.ts → src/lib/proxy/admin/sites/models.ts} +36 -30
  121. package/src/lib/proxy/admin/sites/site-admin.service.ts +72 -0
  122. package/src/lib/proxy/dignite/abp/data/models.ts +4 -0
  123. package/src/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.ts +65 -0
  124. package/{lib/proxy/dignite/file-explorer/directories/models.d.ts → src/lib/proxy/dignite/file-explorer/directories/models.ts} +35 -29
  125. package/src/lib/proxy/dignite/file-explorer/files/file-descriptor.service.ts +86 -0
  126. package/src/lib/proxy/dignite/file-explorer/files/models.ts +57 -0
  127. package/src/lib/proxy/entries/entry-status.enum.ts +8 -0
  128. package/src/lib/proxy/fields/models.ts +9 -0
  129. package/src/lib/proxy/generate-proxy.json +11821 -0
  130. package/{lib/proxy/microsoft/asp-net-core/mvc/models.d.ts → src/lib/proxy/microsoft/asp-net-core/mvc/models.ts} +12 -10
  131. package/src/lib/proxy/microsoft/extensions/primitives/models.ts +9 -0
  132. package/{lib/proxy/microsoft/net/http/headers/models.d.ts → src/lib/proxy/microsoft/net/http/headers/models.ts} +7 -6
  133. package/src/lib/proxy/sections/models.ts +14 -0
  134. package/src/lib/proxy/sections/section-type.enum.ts +9 -0
  135. package/src/lib/proxy/sites/models.ts +5 -0
  136. package/src/lib/proxy/volo/abp/content/models.ts +6 -0
  137. package/{lib/proxy/volo/cms-kit/users/models.d.ts → src/lib/proxy/volo/cms-kit/users/models.ts} +8 -7
  138. package/src/lib/services/appent-content.ts +13 -0
  139. package/src/lib/services/cms-api.service.ts +71 -0
  140. package/src/lib/services/cms.service.ts +18 -0
  141. package/src/lib/services/field-abstracts.service.ts +41 -0
  142. package/src/lib/services/index.ts +4 -0
  143. package/src/lib/services/simple-reuse-strategy.ts +49 -0
  144. package/src/lib/services/update-list.service.ts +15 -0
  145. package/src/lib/toolbar/index.ts +2 -0
  146. package/src/lib/toolbar/toolbar-btn-default-action.ts +171 -0
  147. package/src/lib/toolbar/toolbar-config.ts +95 -0
  148. package/{public-api.d.ts → src/public-api.ts} +12 -8
  149. package/src/test.ts +26 -0
  150. package/tsconfig.lib.json +20 -0
  151. package/tsconfig.lib.prod.json +10 -0
  152. package/tsconfig.spec.json +17 -0
  153. package/config/cms-config.module.d.ts +0 -8
  154. package/config/enums/route-names.d.ts +0 -8
  155. package/config/index.d.ts +0 -5
  156. package/config/providers/route.provider.d.ts +0 -8
  157. package/esm2022/config/cms-config.module.mjs +0 -19
  158. package/esm2022/config/dignite-ng-expand.cms-config.mjs +0 -5
  159. package/esm2022/config/enums/index.mjs +0 -2
  160. package/esm2022/config/enums/route-names.mjs +0 -2
  161. package/esm2022/config/providers/index.mjs +0 -2
  162. package/esm2022/config/providers/route.provider.mjs +0 -64
  163. package/esm2022/config/public-api.mjs +0 -4
  164. package/esm2022/dignite-ng-expand.cms.mjs +0 -5
  165. package/esm2022/lib/cms-routing.module.mjs +0 -100
  166. package/esm2022/lib/cms.module.mjs +0 -156
  167. package/esm2022/lib/components/admin/entries/create-or-edit-entries.component.mjs +0 -285
  168. package/esm2022/lib/components/admin/entries/create-or-update-entry-input-base.mjs +0 -32
  169. package/esm2022/lib/components/admin/entries/create.component.mjs +0 -107
  170. package/esm2022/lib/components/admin/entries/edit.component.mjs +0 -110
  171. package/esm2022/lib/components/admin/entries/entries.component.mjs +0 -212
  172. package/esm2022/lib/components/admin/entries/index.mjs +0 -5
  173. package/esm2022/lib/components/admin/fields/create-field.component.mjs +0 -82
  174. package/esm2022/lib/components/admin/fields/create-or-edit-field.component.mjs +0 -121
  175. package/esm2022/lib/components/admin/fields/create-or-update-field-input-base.mjs +0 -25
  176. package/esm2022/lib/components/admin/fields/edit-field.component.mjs +0 -110
  177. package/esm2022/lib/components/admin/fields/field-group.component.mjs +0 -124
  178. package/esm2022/lib/components/admin/fields/fields.component.mjs +0 -119
  179. package/esm2022/lib/components/admin/fields/index.mjs +0 -7
  180. package/esm2022/lib/components/admin/index.mjs +0 -5
  181. package/esm2022/lib/components/admin/sections/create-or-update-sections-input-base.mjs +0 -27
  182. package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.mjs +0 -71
  183. package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.component.mjs +0 -418
  184. package/esm2022/lib/components/admin/sections/entry-types/index.mjs +0 -3
  185. package/esm2022/lib/components/admin/sections/index.mjs +0 -4
  186. package/esm2022/lib/components/admin/sections/sections.component.mjs +0 -334
  187. package/esm2022/lib/components/admin/sites/create-or-update-sites-input-base.mjs +0 -23
  188. package/esm2022/lib/components/admin/sites/index.mjs +0 -3
  189. package/esm2022/lib/components/admin/sites/sites.component.mjs +0 -285
  190. package/esm2022/lib/components/dynamic-form/entry/entry-config.component.mjs +0 -125
  191. package/esm2022/lib/components/dynamic-form/entry/entry-config.mjs +0 -18
  192. package/esm2022/lib/components/dynamic-form/entry/entry-control.component.mjs +0 -115
  193. package/esm2022/lib/components/dynamic-form/entry/index.mjs +0 -4
  194. package/esm2022/lib/components/dynamic-form/form-control-group.mjs +0 -31
  195. package/esm2022/lib/components/dynamic-form/index.mjs +0 -5
  196. package/esm2022/lib/components/dynamic-form/matrix/index.mjs +0 -4
  197. package/esm2022/lib/components/dynamic-form/matrix/matrix-config.component.mjs +0 -229
  198. package/esm2022/lib/components/dynamic-form/matrix/matrix-config.mjs +0 -50
  199. package/esm2022/lib/components/dynamic-form/matrix/matrix-control.component.mjs +0 -111
  200. package/esm2022/lib/components/dynamic-form/table/index.mjs +0 -4
  201. package/esm2022/lib/components/dynamic-form/table/table-config.component.mjs +0 -174
  202. package/esm2022/lib/components/dynamic-form/table/table-config.mjs +0 -38
  203. package/esm2022/lib/components/dynamic-form/table/table-control.component.mjs +0 -114
  204. package/esm2022/lib/components/index.mjs +0 -3
  205. package/esm2022/lib/constants/index.mjs +0 -2
  206. package/esm2022/lib/constants/styles.mjs +0 -32
  207. package/esm2022/lib/enums/ecms-component.mjs +0 -13
  208. package/esm2022/lib/enums/index.mjs +0 -2
  209. package/esm2022/lib/proxy/admin/dynamic-forms/form-admin.service.mjs +0 -24
  210. package/esm2022/lib/proxy/admin/dynamic-forms/index.mjs +0 -3
  211. package/esm2022/lib/proxy/admin/dynamic-forms/models.mjs +0 -2
  212. package/esm2022/lib/proxy/admin/entries/entry-admin.service.mjs +0 -67
  213. package/esm2022/lib/proxy/admin/entries/index.mjs +0 -3
  214. package/esm2022/lib/proxy/admin/entries/models.mjs +0 -2
  215. package/esm2022/lib/proxy/admin/fields/field-admin.service.mjs +0 -47
  216. package/esm2022/lib/proxy/admin/fields/field-group-admin.service.mjs +0 -43
  217. package/esm2022/lib/proxy/admin/fields/index.mjs +0 -4
  218. package/esm2022/lib/proxy/admin/fields/models.mjs +0 -2
  219. package/esm2022/lib/proxy/admin/index.mjs +0 -7
  220. package/esm2022/lib/proxy/admin/sections/entry-type-admin.service.mjs +0 -43
  221. package/esm2022/lib/proxy/admin/sections/index.mjs +0 -4
  222. package/esm2022/lib/proxy/admin/sections/models.mjs +0 -2
  223. package/esm2022/lib/proxy/admin/sections/section-admin.service.mjs +0 -53
  224. package/esm2022/lib/proxy/admin/sites/index.mjs +0 -3
  225. package/esm2022/lib/proxy/admin/sites/models.mjs +0 -2
  226. package/esm2022/lib/proxy/admin/sites/site-admin.service.mjs +0 -51
  227. package/esm2022/lib/proxy/dignite/abp/data/index.mjs +0 -2
  228. package/esm2022/lib/proxy/dignite/abp/data/models.mjs +0 -2
  229. package/esm2022/lib/proxy/dignite/abp/index.mjs +0 -3
  230. package/esm2022/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.mjs +0 -48
  231. package/esm2022/lib/proxy/dignite/file-explorer/directories/index.mjs +0 -3
  232. package/esm2022/lib/proxy/dignite/file-explorer/directories/models.mjs +0 -2
  233. package/esm2022/lib/proxy/dignite/file-explorer/files/file-descriptor.service.mjs +0 -60
  234. package/esm2022/lib/proxy/dignite/file-explorer/files/index.mjs +0 -3
  235. package/esm2022/lib/proxy/dignite/file-explorer/files/models.mjs +0 -2
  236. package/esm2022/lib/proxy/dignite/file-explorer/index.mjs +0 -4
  237. package/esm2022/lib/proxy/dignite/index.mjs +0 -4
  238. package/esm2022/lib/proxy/entries/entry-status.enum.mjs +0 -8
  239. package/esm2022/lib/proxy/entries/index.mjs +0 -2
  240. package/esm2022/lib/proxy/fields/index.mjs +0 -2
  241. package/esm2022/lib/proxy/fields/models.mjs +0 -2
  242. package/esm2022/lib/proxy/index.mjs +0 -10
  243. package/esm2022/lib/proxy/microsoft/asp-net-core/index.mjs +0 -3
  244. package/esm2022/lib/proxy/microsoft/asp-net-core/mvc/index.mjs +0 -2
  245. package/esm2022/lib/proxy/microsoft/asp-net-core/mvc/models.mjs +0 -2
  246. package/esm2022/lib/proxy/microsoft/extensions/index.mjs +0 -3
  247. package/esm2022/lib/proxy/microsoft/extensions/primitives/index.mjs +0 -2
  248. package/esm2022/lib/proxy/microsoft/extensions/primitives/models.mjs +0 -2
  249. package/esm2022/lib/proxy/microsoft/index.mjs +0 -5
  250. package/esm2022/lib/proxy/microsoft/net/http/headers/index.mjs +0 -2
  251. package/esm2022/lib/proxy/microsoft/net/http/headers/models.mjs +0 -2
  252. package/esm2022/lib/proxy/microsoft/net/http/index.mjs +0 -3
  253. package/esm2022/lib/proxy/microsoft/net/index.mjs +0 -3
  254. package/esm2022/lib/proxy/sections/index.mjs +0 -3
  255. package/esm2022/lib/proxy/sections/models.mjs +0 -2
  256. package/esm2022/lib/proxy/sections/section-type.enum.mjs +0 -9
  257. package/esm2022/lib/proxy/sites/index.mjs +0 -2
  258. package/esm2022/lib/proxy/sites/models.mjs +0 -2
  259. package/esm2022/lib/proxy/volo/abp/content/index.mjs +0 -2
  260. package/esm2022/lib/proxy/volo/abp/content/models.mjs +0 -2
  261. package/esm2022/lib/proxy/volo/abp/index.mjs +0 -3
  262. package/esm2022/lib/proxy/volo/cms-kit/index.mjs +0 -3
  263. package/esm2022/lib/proxy/volo/cms-kit/users/index.mjs +0 -2
  264. package/esm2022/lib/proxy/volo/cms-kit/users/models.mjs +0 -2
  265. package/esm2022/lib/proxy/volo/index.mjs +0 -4
  266. package/esm2022/lib/services/appent-content.mjs +0 -15
  267. package/esm2022/lib/services/cms-api.service.mjs +0 -80
  268. package/esm2022/lib/services/cms.service.mjs +0 -23
  269. package/esm2022/lib/services/field-abstracts.service.mjs +0 -45
  270. package/esm2022/lib/services/index.mjs +0 -4
  271. package/esm2022/lib/services/simple-reuse-strategy.mjs +0 -43
  272. package/esm2022/lib/services/update-list.service.mjs +0 -19
  273. package/esm2022/lib/toolbar/index.mjs +0 -3
  274. package/esm2022/lib/toolbar/toolbar-btn-default-action.mjs +0 -160
  275. package/esm2022/lib/toolbar/toolbar-config.mjs +0 -81
  276. package/esm2022/public-api.mjs +0 -12
  277. package/fesm2022/dignite-ng-expand.cms-config.mjs +0 -87
  278. package/fesm2022/dignite-ng-expand.cms-config.mjs.map +0 -1
  279. package/fesm2022/dignite-ng-expand.cms.mjs +0 -4515
  280. package/fesm2022/dignite-ng-expand.cms.mjs.map +0 -1
  281. package/index.d.ts +0 -5
  282. package/lib/cms-routing.module.d.ts +0 -7
  283. package/lib/cms.module.d.ts +0 -40
  284. package/lib/components/admin/entries/create-or-edit-entries.component.d.ts +0 -91
  285. package/lib/components/admin/entries/create-or-update-entry-input-base.d.ts +0 -23
  286. package/lib/components/admin/entries/create.component.d.ts +0 -40
  287. package/lib/components/admin/entries/edit.component.d.ts +0 -42
  288. package/lib/components/admin/entries/entries.component.d.ts +0 -66
  289. package/lib/components/admin/entries/index.d.ts +0 -4
  290. package/lib/components/admin/fields/create-field.component.d.ts +0 -31
  291. package/lib/components/admin/fields/create-or-edit-field.component.d.ts +0 -37
  292. package/lib/components/admin/fields/create-or-update-field-input-base.d.ts +0 -16
  293. package/lib/components/admin/fields/edit-field.component.d.ts +0 -40
  294. package/lib/components/admin/fields/field-group.component.d.ts +0 -51
  295. package/lib/components/admin/fields/fields.component.d.ts +0 -37
  296. package/lib/components/admin/fields/index.d.ts +0 -6
  297. package/lib/components/admin/index.d.ts +0 -4
  298. package/lib/components/admin/sections/create-or-update-sections-input-base.d.ts +0 -17
  299. package/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.d.ts +0 -38
  300. package/lib/components/admin/sections/entry-types/create-or-edit.component.d.ts +0 -132
  301. package/lib/components/admin/sections/entry-types/index.d.ts +0 -2
  302. package/lib/components/admin/sections/index.d.ts +0 -3
  303. package/lib/components/admin/sections/sections.component.d.ts +0 -95
  304. package/lib/components/admin/sites/create-or-update-sites-input-base.d.ts +0 -12
  305. package/lib/components/admin/sites/index.d.ts +0 -2
  306. package/lib/components/admin/sites/sites.component.d.ts +0 -72
  307. package/lib/components/dynamic-form/entry/entry-config.component.d.ts +0 -42
  308. package/lib/components/dynamic-form/entry/entry-config.d.ts +0 -9
  309. package/lib/components/dynamic-form/entry/entry-control.component.d.ts +0 -35
  310. package/lib/components/dynamic-form/entry/index.d.ts +0 -3
  311. package/lib/components/dynamic-form/form-control-group.d.ts +0 -4
  312. package/lib/components/dynamic-form/index.d.ts +0 -4
  313. package/lib/components/dynamic-form/matrix/index.d.ts +0 -3
  314. package/lib/components/dynamic-form/matrix/matrix-config.component.d.ts +0 -73
  315. package/lib/components/dynamic-form/matrix/matrix-config.d.ts +0 -24
  316. package/lib/components/dynamic-form/matrix/matrix-control.component.d.ts +0 -39
  317. package/lib/components/dynamic-form/table/index.d.ts +0 -3
  318. package/lib/components/dynamic-form/table/table-config.component.d.ts +0 -58
  319. package/lib/components/dynamic-form/table/table-config.d.ts +0 -18
  320. package/lib/components/dynamic-form/table/table-control.component.d.ts +0 -36
  321. package/lib/components/index.d.ts +0 -2
  322. package/lib/constants/index.d.ts +0 -1
  323. package/lib/constants/styles.d.ts +0 -2
  324. package/lib/enums/ecms-component.d.ts +0 -11
  325. package/lib/enums/index.d.ts +0 -1
  326. package/lib/proxy/admin/dynamic-forms/form-admin.service.d.ts +0 -12
  327. package/lib/proxy/admin/dynamic-forms/models.d.ts +0 -4
  328. package/lib/proxy/admin/entries/entry-admin.service.d.ts +0 -21
  329. package/lib/proxy/admin/entries/models.d.ts +0 -65
  330. package/lib/proxy/admin/fields/field-admin.service.d.ts +0 -17
  331. package/lib/proxy/admin/fields/field-group-admin.service.d.ts +0 -16
  332. package/lib/proxy/admin/sections/entry-type-admin.service.d.ts +0 -15
  333. package/lib/proxy/admin/sections/section-admin.service.d.ts +0 -18
  334. package/lib/proxy/admin/sites/site-admin.service.d.ts +0 -18
  335. package/lib/proxy/dignite/abp/data/models.d.ts +0 -3
  336. package/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.d.ts +0 -17
  337. package/lib/proxy/dignite/file-explorer/files/file-descriptor.service.d.ts +0 -20
  338. package/lib/proxy/dignite/file-explorer/files/models.d.ts +0 -50
  339. package/lib/proxy/entries/entry-status.enum.d.ts +0 -5
  340. package/lib/proxy/fields/models.d.ts +0 -8
  341. package/lib/proxy/microsoft/extensions/primitives/models.d.ts +0 -8
  342. package/lib/proxy/sections/models.d.ts +0 -12
  343. package/lib/proxy/sections/section-type.enum.d.ts +0 -6
  344. package/lib/proxy/sites/models.d.ts +0 -4
  345. package/lib/proxy/volo/abp/content/models.d.ts +0 -5
  346. package/lib/services/appent-content.d.ts +0 -1
  347. package/lib/services/cms-api.service.d.ts +0 -20
  348. package/lib/services/cms.service.d.ts +0 -10
  349. package/lib/services/field-abstracts.service.d.ts +0 -20
  350. package/lib/services/index.d.ts +0 -3
  351. package/lib/services/simple-reuse-strategy.d.ts +0 -11
  352. package/lib/services/update-list.service.d.ts +0 -9
  353. package/lib/toolbar/index.d.ts +0 -2
  354. package/lib/toolbar/toolbar-btn-default-action.d.ts +0 -19
  355. package/lib/toolbar/toolbar-config.d.ts +0 -57
  356. /package/{lib/proxy/admin/dynamic-forms/index.d.ts → src/lib/proxy/admin/dynamic-forms/index.ts} +0 -0
  357. /package/{lib/proxy/admin/entries/index.d.ts → src/lib/proxy/admin/entries/index.ts} +0 -0
  358. /package/{lib/proxy/admin/fields/index.d.ts → src/lib/proxy/admin/fields/index.ts} +0 -0
  359. /package/{lib/proxy/admin/index.d.ts → src/lib/proxy/admin/index.ts} +0 -0
  360. /package/{lib/proxy/admin/sections/index.d.ts → src/lib/proxy/admin/sections/index.ts} +0 -0
  361. /package/{lib/proxy/admin/sites/index.d.ts → src/lib/proxy/admin/sites/index.ts} +0 -0
  362. /package/{lib/proxy/dignite/abp/data/index.d.ts → src/lib/proxy/dignite/abp/data/index.ts} +0 -0
  363. /package/{lib/proxy/dignite/abp/index.d.ts → src/lib/proxy/dignite/abp/index.ts} +0 -0
  364. /package/{lib/proxy/dignite/file-explorer/directories/index.d.ts → src/lib/proxy/dignite/file-explorer/directories/index.ts} +0 -0
  365. /package/{lib/proxy/dignite/file-explorer/files/index.d.ts → src/lib/proxy/dignite/file-explorer/files/index.ts} +0 -0
  366. /package/{lib/proxy/dignite/file-explorer/index.d.ts → src/lib/proxy/dignite/file-explorer/index.ts} +0 -0
  367. /package/{lib/proxy/dignite/index.d.ts → src/lib/proxy/dignite/index.ts} +0 -0
  368. /package/{lib/proxy/entries/index.d.ts → src/lib/proxy/entries/index.ts} +0 -0
  369. /package/{lib/proxy/fields/index.d.ts → src/lib/proxy/fields/index.ts} +0 -0
  370. /package/{lib/proxy/index.d.ts → src/lib/proxy/index.ts} +0 -0
  371. /package/{lib/proxy/microsoft/asp-net-core/index.d.ts → src/lib/proxy/microsoft/asp-net-core/index.ts} +0 -0
  372. /package/{lib/proxy/microsoft/asp-net-core/mvc/index.d.ts → src/lib/proxy/microsoft/asp-net-core/mvc/index.ts} +0 -0
  373. /package/{lib/proxy/microsoft/extensions/index.d.ts → src/lib/proxy/microsoft/extensions/index.ts} +0 -0
  374. /package/{lib/proxy/microsoft/extensions/primitives/index.d.ts → src/lib/proxy/microsoft/extensions/primitives/index.ts} +0 -0
  375. /package/{lib/proxy/microsoft/index.d.ts → src/lib/proxy/microsoft/index.ts} +0 -0
  376. /package/{lib/proxy/microsoft/net/http/headers/index.d.ts → src/lib/proxy/microsoft/net/http/headers/index.ts} +0 -0
  377. /package/{lib/proxy/microsoft/net/http/index.d.ts → src/lib/proxy/microsoft/net/http/index.ts} +0 -0
  378. /package/{lib/proxy/microsoft/net/index.d.ts → src/lib/proxy/microsoft/net/index.ts} +0 -0
  379. /package/{lib/proxy/sections/index.d.ts → src/lib/proxy/sections/index.ts} +0 -0
  380. /package/{lib/proxy/sites/index.d.ts → src/lib/proxy/sites/index.ts} +0 -0
  381. /package/{lib/proxy/volo/abp/content/index.d.ts → src/lib/proxy/volo/abp/content/index.ts} +0 -0
  382. /package/{lib/proxy/volo/abp/index.d.ts → src/lib/proxy/volo/abp/index.ts} +0 -0
  383. /package/{lib/proxy/volo/cms-kit/index.d.ts → src/lib/proxy/volo/cms-kit/index.ts} +0 -0
  384. /package/{lib/proxy/volo/cms-kit/users/index.d.ts → src/lib/proxy/volo/cms-kit/users/index.ts} +0 -0
  385. /package/{lib/proxy/volo/index.d.ts → src/lib/proxy/volo/index.ts} +0 -0
@@ -1,115 +0,0 @@
1
- import { Component, Input, ViewChild, inject } from '@angular/core';
2
- import { FormBuilder, Validators } from '@angular/forms';
3
- import { EntryAdminService } from '../../../proxy/admin/entries';
4
- import { EntryStatus } from '../../../proxy/entries/entry-status.enum';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "@ngx-validate/core";
9
- import * as i4 from "ng-zorro-antd/select";
10
- class EntryControlComponent {
11
- constructor() {
12
- }
13
- fb = inject(FormBuilder);
14
- _EntryAdminService = inject(EntryAdminService);
15
- /**表单实体 */
16
- _entity;
17
- set entity(v) {
18
- this._entity = v;
19
- if (v)
20
- this.dataLoaded();
21
- }
22
- /**字段配置列表 */
23
- _fields = '';
24
- set fields(v) {
25
- this._fields = v;
26
- if (v)
27
- this.dataLoaded();
28
- }
29
- /**父级字段名称,用于为表单设置控件赋值 */
30
- _parentFiledName;
31
- set parentFiledName(v) {
32
- this._parentFiledName = v;
33
- if (v)
34
- this.dataLoaded();
35
- }
36
- /**父级字段名称,用于为表单设置控件赋值 */
37
- _selected;
38
- set selected(v) {
39
- this._selected = v || [];
40
- if (v)
41
- this.dataLoaded();
42
- }
43
- /**语言 */
44
- _culture;
45
- set culture(v) {
46
- if (v) {
47
- this._culture = v;
48
- this.dataLoaded();
49
- }
50
- }
51
- submitclick;
52
- extraProperties;
53
- /** */
54
- listOfOption = [];
55
- async dataLoaded() {
56
- if (this._fields && this._entity && this._parentFiledName && this._culture) {
57
- await this.AfterInit();
58
- await this.getEntryAssignList();
59
- this.submitclick.nativeElement.click();
60
- }
61
- }
62
- AfterInit() {
63
- return new Promise((resolve, rejects) => {
64
- let ValidatorsArray = [];
65
- if (this._fields.required) {
66
- ValidatorsArray.push(Validators.required);
67
- }
68
- let newControl = this.fb.control(this._selected, ValidatorsArray);
69
- let extraProperties = this._entity.get(this._parentFiledName);
70
- extraProperties.setControl(this._fields.field.name, newControl);
71
- resolve(true);
72
- });
73
- }
74
- /**获取对应的条目 */
75
- getEntryAssignList(filter = '') {
76
- return new Promise((resolve, rejects) => {
77
- this._EntryAdminService.getList({
78
- culture: this._culture,
79
- sectionId: this._fields.field.formConfiguration['Entry.SectionId'],
80
- skipCount: 0,
81
- maxResultCount: 30,
82
- status: EntryStatus.Published,
83
- filter: filter
84
- }).subscribe(res => {
85
- this.listOfOption = res.items;
86
- resolve(true);
87
- });
88
- });
89
- }
90
- /** */
91
- async SelectChange(event) {
92
- await this.getEntryAssignList(event);
93
- }
94
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryControlComponent, selector: "cms-entry-control", inputs: { entity: "entity", fields: "fields", parentFiledName: "parentFiledName", selected: "selected", culture: "culture" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\r\n <div [formGroupName]=\"_parentFiledName\" class=\"entry-control-page\">\r\n <div class=\"mb-2\">\r\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\r\n <ng-container *ngIf=\"_fields.field.formConfiguration['Entry.Multiple']; else elseTemplate\">\r\n <div class=\"form-select\">\r\n <nz-select [nzMaxTagCount]=\"5\" (nzOnSearch)=\"SelectChange($event)\" nzShowSearch nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Entry.Placeholder']\"\r\n formControlName=\"{{_fields.field.name}}\">\r\n <nz-option *ngFor=\"let item of listOfOption\" [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n </nz-select>\r\n </div>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <div class=\"form-select\">\r\n <nz-select nzShowSearch (nzOnSearch)=\"SelectChange($event)\" [nzMaxMultipleCount]=\"1\" nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Entry.Placeholder']\"\r\n formControlName=\"{{_fields.field.name}}\">\r\n <nz-option *ngFor=\"let item of listOfOption\" [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n </nz-select>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\r\n </div>\r\n </div>\r\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\r\n</form>", styles: ["::ng-deep .entry-control-page .form-select{padding:0}::ng-deep .entry-control-page nz-select{width:100%}::ng-deep .entry-control-page nz-select .ant-select-selector{background:transparent!important;border:none!important;padding:.275rem 1.25rem!important;box-shadow:none!important;height:auto!important}::ng-deep .entry-control-page nz-select .anticon-search,::ng-deep .entry-control-page nz-select .anticon-down{display:none}\n"], 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.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: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }] });
96
- }
97
- export { EntryControlComponent };
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryControlComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'cms-entry-control', template: "<form [formGroup]=\"_entity\">\r\n <div [formGroupName]=\"_parentFiledName\" class=\"entry-control-page\">\r\n <div class=\"mb-2\">\r\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\r\n <ng-container *ngIf=\"_fields.field.formConfiguration['Entry.Multiple']; else elseTemplate\">\r\n <div class=\"form-select\">\r\n <nz-select [nzMaxTagCount]=\"5\" (nzOnSearch)=\"SelectChange($event)\" nzShowSearch nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Entry.Placeholder']\"\r\n formControlName=\"{{_fields.field.name}}\">\r\n <nz-option *ngFor=\"let item of listOfOption\" [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n </nz-select>\r\n </div>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <div class=\"form-select\">\r\n <nz-select nzShowSearch (nzOnSearch)=\"SelectChange($event)\" [nzMaxMultipleCount]=\"1\" nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Entry.Placeholder']\"\r\n formControlName=\"{{_fields.field.name}}\">\r\n <nz-option *ngFor=\"let item of listOfOption\" [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n </nz-select>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\r\n </div>\r\n </div>\r\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\r\n</form>", styles: ["::ng-deep .entry-control-page .form-select{padding:0}::ng-deep .entry-control-page nz-select{width:100%}::ng-deep .entry-control-page nz-select .ant-select-selector{background:transparent!important;border:none!important;padding:.275rem 1.25rem!important;box-shadow:none!important;height:auto!important}::ng-deep .entry-control-page nz-select .anticon-search,::ng-deep .entry-control-page nz-select .anticon-down{display:none}\n"] }]
101
- }], ctorParameters: function () { return []; }, propDecorators: { entity: [{
102
- type: Input
103
- }], fields: [{
104
- type: Input
105
- }], parentFiledName: [{
106
- type: Input
107
- }], selected: [{
108
- type: Input
109
- }], culture: [{
110
- type: Input
111
- }], submitclick: [{
112
- type: ViewChild,
113
- args: ['submitclick', { static: true }]
114
- }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9lbnRyeS9lbnRyeS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ntcy9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2VudHJ5L2VudHJ5LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFvQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7OztBQUl2RSxNQUthLHFCQUFxQjtJQUdoQztJQUVBLENBQUM7SUFDTyxFQUFFLEdBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3RCLGtCQUFrQixHQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBRXBELFVBQVU7SUFDVixPQUFPLENBQXVCO0lBQzlCLElBQ1csTUFBTSxDQUFDLENBQU07UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDO1lBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxZQUFZO0lBQ1osT0FBTyxHQUFRLEVBQUUsQ0FBQTtJQUNqQixJQUNXLE1BQU0sQ0FBQyxDQUFNO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLGdCQUFnQixDQUFLO0lBQ3JCLElBQ1csZUFBZSxDQUFDLENBQU07UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUNELHdCQUF3QjtJQUN4QixTQUFTLENBQUs7SUFDZCxJQUNXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUNELFFBQVE7SUFDVixRQUFRLENBQUs7SUFDWCxJQUNXLE9BQU8sQ0FBQyxDQUFNO1FBQ3ZCLElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1NBQ2xCO0lBQ0gsQ0FBQztJQUMyQyxXQUFXLENBQWE7SUFFcEUsZUFBZSxDQUF1QjtJQUV0QyxNQUFNO0lBQ04sWUFBWSxHQUFVLEVBQUUsQ0FBQztJQUN6QixLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hFLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQ3RCLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUE7WUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFBO1lBQ3hCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pCLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2FBQzFDO1lBQ0QsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQTtZQUNqRSxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQWMsQ0FBQTtZQUMxRSxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtZQUMvRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxhQUFhO0lBQ2Isa0JBQWtCLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFDNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO2dCQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3RCLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDbEUsU0FBUyxFQUFFLENBQUM7Z0JBQ1osY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxXQUFXLENBQUMsU0FBUztnQkFDN0IsTUFBTSxFQUFFLE1BQU07YUFDZixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUE7Z0JBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNmLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTTtJQUNOLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSztRQUN0QixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0QyxDQUFDO3dHQWhHVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixpVENabEMsaXNEQXlCTzs7U0RiTSxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBZ0JsQixNQUFNO3NCQURoQixLQUFLO2dCQVVLLE1BQU07c0JBRGhCLEtBQUs7Z0JBU0ssZUFBZTtzQkFEekIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQVFLLE9BQU87c0JBRGpCLEtBQUs7Z0JBT3NDLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRW50cnlBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm94eS9hZG1pbi9lbnRyaWVzJztcbmltcG9ydCB7IEVudHJ5U3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vcHJveHkvZW50cmllcy9lbnRyeS1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbXMtZW50cnktY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRyeS1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW50cnktY29udHJvbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5Q29udHJvbENvbXBvbmVudCB7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gIH1cbiAgcHJpdmF0ZSBmYj1pbmplY3QoRm9ybUJ1aWxkZXIpXG4gIHByaXZhdGUgX0VudHJ5QWRtaW5TZXJ2aWNlPWluamVjdChFbnRyeUFkbWluU2VydmljZSlcblxuICAvKirooajljZXlrp7kvZMgKi9cbiAgX2VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW50aXR5KHY6IGFueSkge1xuICAgIHRoaXMuX2VudGl0eSA9IHY7XG4gICAgXG4gICAgaWYgKHYpIHRoaXMuZGF0YUxvYWRlZCgpXG4gIH1cblxuICAvKirlrZfmrrXphY3nva7liJfooaggKi9cbiAgX2ZpZWxkczogYW55ID0gJydcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmaWVsZHModjogYW55KSB7XG4gICAgdGhpcy5fZmllbGRzID0gdjtcbiAgICBpZiAodikgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfcGFyZW50RmlsZWROYW1lOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwYXJlbnRGaWxlZE5hbWUodjogYW55KSB7XG4gICAgdGhpcy5fcGFyZW50RmlsZWROYW1lID0gdjtcbiAgICBpZiAodikgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuICAvKirniLbnuqflrZfmrrXlkI3np7DvvIznlKjkuo7kuLrooajljZXorr7nva7mjqfku7botYvlgLwgKi9cbiAgX3NlbGVjdGVkOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHYgfHwgW107XG4gICAgaWYgKHYpIHRoaXMuZGF0YUxvYWRlZCgpXG4gIH1cbiAgLyoq6K+t6KiAICovXG5fY3VsdHVyZTogYW55XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY3VsdHVyZSh2OiBhbnkpIHtcbiAgICBpZiAodikge1xuICAgICAgdGhpcy5fY3VsdHVyZSA9IHYgO1xuICAgICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgICB9XG4gIH1cbiAgQFZpZXdDaGlsZCgnc3VibWl0Y2xpY2snLCB7IHN0YXRpYzogdHJ1ZSB9KSBzdWJtaXRjbGljazogRWxlbWVudFJlZjtcblxuICBleHRyYVByb3BlcnRpZXM6IEZvcm1Hcm91cCB8IHVuZGVmaW5lZFxuXG4gIC8qKiAqL1xuICBsaXN0T2ZPcHRpb246IGFueVtdID0gW107XG4gIGFzeW5jIGRhdGFMb2FkZWQoKSB7XG4gICAgaWYgKHRoaXMuX2ZpZWxkcyAmJiB0aGlzLl9lbnRpdHkgJiYgdGhpcy5fcGFyZW50RmlsZWROYW1lJiZ0aGlzLl9jdWx0dXJlKSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpXG4gICAgICBhd2FpdCB0aGlzLmdldEVudHJ5QXNzaWduTGlzdCgpXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBBZnRlckluaXQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3RzKSA9PiB7XG4gICAgICBsZXQgVmFsaWRhdG9yc0FycmF5ID0gW11cbiAgICAgIGlmICh0aGlzLl9maWVsZHMucmVxdWlyZWQpIHtcbiAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH1cbiAgICAgIGxldCBuZXdDb250cm9sID0gdGhpcy5mYi5jb250cm9sKHRoaXMuX3NlbGVjdGVkLCBWYWxpZGF0b3JzQXJyYXkpXG4gICAgICBsZXQgZXh0cmFQcm9wZXJ0aWVzID0gdGhpcy5fZW50aXR5LmdldCh0aGlzLl9wYXJlbnRGaWxlZE5hbWUpIGFzIEZvcm1Hcm91cFxuICAgICAgZXh0cmFQcm9wZXJ0aWVzLnNldENvbnRyb2wodGhpcy5fZmllbGRzLmZpZWxkLm5hbWUsIG5ld0NvbnRyb2wpXG4gICAgICByZXNvbHZlKHRydWUpXG4gICAgfSlcbiAgfVxuXG4gIC8qKuiOt+WPluWvueW6lOeahOadoeebriAqL1xuICBnZXRFbnRyeUFzc2lnbkxpc3QoZmlsdGVyID0gJycpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIHRoaXMuX0VudHJ5QWRtaW5TZXJ2aWNlLmdldExpc3Qoe1xuICAgICAgICBjdWx0dXJlOiB0aGlzLl9jdWx0dXJlLFxuICAgICAgICBzZWN0aW9uSWQ6IHRoaXMuX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblsnRW50cnkuU2VjdGlvbklkJ10sXG4gICAgICAgIHNraXBDb3VudDogMCxcbiAgICAgICAgbWF4UmVzdWx0Q291bnQ6IDMwLFxuICAgICAgICBzdGF0dXM6IEVudHJ5U3RhdHVzLlB1Ymxpc2hlZCxcbiAgICAgICAgZmlsdGVyOiBmaWx0ZXJcbiAgICAgIH0pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLmxpc3RPZk9wdGlvbiA9IHJlcy5pdGVtc1xuICAgICAgICByZXNvbHZlKHRydWUpXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvKiogKi9cbiAgYXN5bmMgU2VsZWN0Q2hhbmdlKGV2ZW50KSB7XG4gICAgYXdhaXQgdGhpcy5nZXRFbnRyeUFzc2lnbkxpc3QoZXZlbnQpXG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiX2VudGl0eVwiPlxyXG4gICAgPGRpdiBbZm9ybUdyb3VwTmFtZV09XCJfcGFyZW50RmlsZWROYW1lXCIgY2xhc3M9XCJlbnRyeS1jb250cm9sLXBhZ2VcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJfZmllbGRzLmRpc3BsYXlOYW1lXCI+e3sgX2ZpZWxkcy5kaXNwbGF5TmFtZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydFbnRyeS5NdWx0aXBsZSddOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG56LXNlbGVjdCBbbnpNYXhUYWdDb3VudF09XCI1XCIgKG56T25TZWFyY2gpPVwiU2VsZWN0Q2hhbmdlKCRldmVudClcIiBuelNob3dTZWFyY2ggIG56TW9kZT1cIm11bHRpcGxlXCIgIFtuelBsYWNlSG9sZGVyXT1cIl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ0VudHJ5LlBsYWNlaG9sZGVyJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7X2ZpZWxkcy5maWVsZC5uYW1lfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0T2ZPcHRpb25cIiBbbnpMYWJlbF09XCJpdGVtLnRpdGxlXCIgW256VmFsdWVdPVwiaXRlbS5pZFwiPjwvbnotb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbnotc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXNlbGVjdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuei1zZWxlY3QgbnpTaG93U2VhcmNoIChuek9uU2VhcmNoKT1cIlNlbGVjdENoYW5nZSgkZXZlbnQpXCIgW256TWF4TXVsdGlwbGVDb3VudF09XCIxXCIgIG56TW9kZT1cIm11bHRpcGxlXCIgW256UGxhY2VIb2xkZXJdPVwiX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblsnRW50cnkuUGxhY2Vob2xkZXInXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3tfZmllbGRzLmZpZWxkLm5hbWV9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bnotb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3RPZk9wdGlvblwiIFtuekxhYmVsXT1cIml0ZW0udGl0bGVcIiBbbnpWYWx1ZV09XCJpdGVtLmlkXCI+PC9uei1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uei1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRleHRcIiAqbmdJZj1cIl9maWVsZHMuZmllbGQuZGVzY3JpcHRpb25cIj57e19maWVsZHMuZmllbGQuZGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxyXG48L2Zvcm0+Il19
@@ -1,4 +0,0 @@
1
- export * from './entry-config';
2
- export * from './entry-config.component';
3
- export * from './entry-control.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9lbnRyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW50cnktY29uZmlnJ1xyXG5leHBvcnQgKiBmcm9tICcuL2VudHJ5LWNvbmZpZy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vZW50cnktY29udHJvbC5jb21wb25lbnQnIl19
@@ -1,31 +0,0 @@
1
- import { EntryConfigComponent, EntryControlComponent } from "./entry";
2
- import { MatrixConfigComponent } from "./matrix/matrix-config.component";
3
- import { MatrixControlComponent } from "./matrix/matrix-control.component";
4
- import { TableConfigComponent, TableControlComponent } from "./table";
5
- /**
6
- * 表单控件分组-包含配置,控件,显示的数组
7
- */
8
- export const FieldControlGroup = [
9
- {
10
- displayName: '表格',
11
- name: 'Table',
12
- fieldConfigComponent: TableConfigComponent,
13
- fieldComponent: TableControlComponent,
14
- // fieldViewComponent:TextBoxViewComponent,
15
- },
16
- {
17
- displayName: '矩阵',
18
- name: 'Matrix',
19
- fieldConfigComponent: MatrixConfigComponent,
20
- fieldComponent: MatrixControlComponent,
21
- // fieldViewComponent:TextBoxViewComponent,
22
- },
23
- {
24
- displayName: '条目',
25
- name: 'Entry',
26
- fieldConfigComponent: EntryConfigComponent,
27
- fieldComponent: EntryControlComponent,
28
- // fieldViewComponent:TextBoxViewComponent,
29
- },
30
- ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21zL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vZm9ybS1jb250cm9sLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBVTtJQUNwQztRQUNJLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLElBQUksRUFBRSxPQUFPO1FBQ2Isb0JBQW9CLEVBQUUsb0JBQW9CO1FBQzFDLGNBQWMsRUFBRSxxQkFBcUI7UUFDckMsMkNBQTJDO0tBQzlDO0lBQ0Q7UUFDSSxXQUFXLEVBQUUsSUFBSTtRQUNqQixJQUFJLEVBQUUsUUFBUTtRQUNkLG9CQUFvQixFQUFFLHFCQUFxQjtRQUMzQyxjQUFjLEVBQUUsc0JBQXNCO1FBQ3RDLDJDQUEyQztLQUM5QztJQUNBO1FBQ0csV0FBVyxFQUFFLElBQUk7UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixvQkFBb0IsRUFBRSxvQkFBb0I7UUFDMUMsY0FBYyxFQUFFLHFCQUFxQjtRQUNyQywyQ0FBMkM7S0FDOUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50cnlDb25maWdDb21wb25lbnQsIEVudHJ5Q29udHJvbENvbXBvbmVudCB9IGZyb20gXCIuL2VudHJ5XCI7XHJcbmltcG9ydCB7IE1hdHJpeENvbmZpZ0NvbXBvbmVudCB9IGZyb20gXCIuL21hdHJpeC9tYXRyaXgtY29uZmlnLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNYXRyaXhDb250cm9sQ29tcG9uZW50IH0gZnJvbSBcIi4vbWF0cml4L21hdHJpeC1jb250cm9sLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBUYWJsZUNvbmZpZ0NvbXBvbmVudCwgVGFibGVDb250cm9sQ29tcG9uZW50IH0gZnJvbSBcIi4vdGFibGVcIjtcclxuXHJcbi8qKlxyXG4gKiDooajljZXmjqfku7bliIbnu4Qt5YyF5ZCr6YWN572u77yM5o6n5Lu277yM5pi+56S655qE5pWw57uEXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgRmllbGRDb250cm9sR3JvdXA6IGFueVtdID0gW1xyXG4gICAge1xyXG4gICAgICAgIGRpc3BsYXlOYW1lOiAn6KGo5qC8JyxcclxuICAgICAgICBuYW1lOiAnVGFibGUnLFxyXG4gICAgICAgIGZpZWxkQ29uZmlnQ29tcG9uZW50OiBUYWJsZUNvbmZpZ0NvbXBvbmVudCxcclxuICAgICAgICBmaWVsZENvbXBvbmVudDogVGFibGVDb250cm9sQ29tcG9uZW50LFxyXG4gICAgICAgIC8vIGZpZWxkVmlld0NvbXBvbmVudDpUZXh0Qm94Vmlld0NvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgZGlzcGxheU5hbWU6ICfnn6npmLUnLFxyXG4gICAgICAgIG5hbWU6ICdNYXRyaXgnLFxyXG4gICAgICAgIGZpZWxkQ29uZmlnQ29tcG9uZW50OiBNYXRyaXhDb25maWdDb21wb25lbnQsXHJcbiAgICAgICAgZmllbGRDb21wb25lbnQ6IE1hdHJpeENvbnRyb2xDb21wb25lbnQsXHJcbiAgICAgICAgLy8gZmllbGRWaWV3Q29tcG9uZW50OlRleHRCb3hWaWV3Q29tcG9uZW50LFxyXG4gICAgfSwgXHJcbiAgICAge1xyXG4gICAgICAgIGRpc3BsYXlOYW1lOiAn5p2h55uuJyxcclxuICAgICAgICBuYW1lOiAnRW50cnknLFxyXG4gICAgICAgIGZpZWxkQ29uZmlnQ29tcG9uZW50OiBFbnRyeUNvbmZpZ0NvbXBvbmVudCxcclxuICAgICAgICBmaWVsZENvbXBvbmVudDogRW50cnlDb250cm9sQ29tcG9uZW50LFxyXG4gICAgICAgIC8vIGZpZWxkVmlld0NvbXBvbmVudDpUZXh0Qm94Vmlld0NvbXBvbmVudCxcclxuICAgIH0sXHJcbl07XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './form-control-group';
2
- export * from './entry';
3
- export * from './matrix';
4
- export * from './table';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLWNvbnRyb2wtZ3JvdXAnXHJcbmV4cG9ydCAqIGZyb20gJy4vZW50cnknXHJcbmV4cG9ydCAqIGZyb20gJy4vbWF0cml4J1xyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlJyJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './matrix-config';
2
- export * from './matrix-control.component';
3
- export * from './matrix-config.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9tYXRyaXgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsMkJBQTJCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hdHJpeC1jb25maWcnXHJcbmV4cG9ydCAqIGZyb20gJy4vbWF0cml4LWNvbnRyb2wuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL21hdHJpeC1jb25maWcuY29tcG9uZW50JyJdfQ==
@@ -1,229 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';
3
- import { MatrixConfig, MatrixItemConfig } from './matrix-config';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "../../../services";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@abp/ng.core";
9
- import * as i5 from "@ngx-validate/core";
10
- import * as i6 from "@abp/ng.theme.shared";
11
- import * as i7 from "@ng-bootstrap/ng-bootstrap";
12
- import * as i8 from "@dignite-ng/expand.dynamic-form";
13
- // import { CreateDynamicComponentsService, DfApiService, } from '../../../services';
14
- // import { getExcludeAssignControl } from '../form-control-group';
15
- class MatrixConfigComponent {
16
- fb;
17
- _CmsApiService;
18
- _FieldAbstractsService;
19
- constructor(fb, _CmsApiService, _FieldAbstractsService) {
20
- this.fb = fb;
21
- this._CmsApiService = _CmsApiService;
22
- this._FieldAbstractsService = _FieldAbstractsService;
23
- }
24
- /**表单控件组 */
25
- _FieldControlGroup;
26
- /**表单控件类型 */
27
- _type;
28
- set type(v) {
29
- this._type = v;
30
- this.dataLoaded();
31
- }
32
- /**表单实体 */
33
- _Entity;
34
- set Entity(v) {
35
- this._Entity = v;
36
- this.dataLoaded();
37
- }
38
- /**选择的表单信息 */
39
- _selected;
40
- set selected(v) {
41
- if (v) {
42
- this._selected = v;
43
- this.dataLoaded();
44
- }
45
- }
46
- submitclick;
47
- async dataLoaded() {
48
- if (this._Entity && this._type) {
49
- await this.AfterInit();
50
- this.submitclick.nativeElement.click();
51
- }
52
- }
53
- AfterInit() {
54
- return new Promise(async (resolve, rejects) => {
55
- this._FieldControlGroup = this._FieldAbstractsService.getExcludeAssignControl(this._type);
56
- this._Entity.setControl('formConfiguration', this.fb.group(new MatrixConfig()));
57
- await this.setSelectValue();
58
- this.formConfiguration.patchValue(this._selected.formConfiguration);
59
- resolve(true);
60
- });
61
- }
62
- setSelectValue() {
63
- return new Promise((resolve, rejects) => {
64
- if (this._selected && this._selected.formControlName == this._type) {
65
- this._selected.formConfiguration['MatrixBlockTypes'].forEach(((el, index) => {
66
- this.addMatrixBlockTypeItem(el);
67
- el.fields.forEach((elf, indexf) => {
68
- this.addMatrixFieldItem(elf, index);
69
- });
70
- }));
71
- resolve(true);
72
- }
73
- });
74
- }
75
- /**获取表单配置 */
76
- get formConfiguration() {
77
- return this._Entity.get('formConfiguration');
78
- }
79
- /**获取表单配置下的矩阵块表单数组 */
80
- get MatrixBlockTypes() {
81
- return this.formConfiguration.controls['MatrixBlockTypes'];
82
- }
83
- /**模态框-状态 */
84
- matrixModalOpen = false;
85
- /**模态框-是否正在编辑 */
86
- isMatrixModalEdit = false;
87
- /**模态框-用于确定模态的繁忙状态是否为真 */
88
- modalBusy = false;
89
- /**模态框-表单 */
90
- matrixModalForm;
91
- /**表单控件模板-用于在form外提交submit */
92
- matrixModalModalSubmit;
93
- /**矩阵块-选择的下标 */
94
- selectMatrixBlockIndex = 0;
95
- /**矩阵块-选择的矩阵下字段的下标 */
96
- selectMatrixFieldIndex = 0;
97
- /**模态框-状态改变 */
98
- matrixModalVisibleChange(event) {
99
- if (!event) {
100
- this.isMatrixModalEdit = false;
101
- this.matrixModalForm = undefined;
102
- return;
103
- }
104
- }
105
- /**矩阵块--新增-打开模态框 */
106
- addMatrixBlockType() {
107
- this.matrixModalForm = this.fb.group(new MatrixItemConfig());
108
- this.matrixModalOpen = true;
109
- }
110
- /**模态框--矩阵表单保存提交 */
111
- createOrEditSave() {
112
- let input = this.matrixModalForm.value;
113
- if (!this.matrixModalForm.valid)
114
- return;
115
- if (this.isMatrixModalEdit) {
116
- let MatrixBlockTypesItem = this.MatrixBlockTypes.at(this.selectMatrixBlockIndex);
117
- MatrixBlockTypesItem.patchValue({
118
- ...input
119
- });
120
- }
121
- else {
122
- this.addMatrixBlockTypeItem(input);
123
- }
124
- this.matrixModalOpen = false;
125
- }
126
- /**新增矩阵块-向数组表单中增加项 */
127
- addMatrixBlockTypeItem(input) {
128
- this.MatrixBlockTypes.push(new FormGroup({
129
- displayName: new FormControl(input.displayName, Validators.required),
130
- name: new FormControl(input.name, Validators.required),
131
- fields: new FormArray([])
132
- }));
133
- }
134
- /**编辑矩阵块 */
135
- EditMatrixBlock(input) {
136
- this.matrixModalForm = this.fb.group(new MatrixItemConfig());
137
- this.matrixModalForm.patchValue({
138
- ...input
139
- });
140
- this.matrixModalOpen = true;
141
- this.isMatrixModalEdit = true;
142
- }
143
- /**删除矩阵块 */
144
- DeleteMatrixBlock(index) {
145
- this.MatrixBlockTypes.removeAt(index);
146
- }
147
- /**矩阵块-选择 */
148
- selectMatrixBlockChange(index) {
149
- this.selectMatrixBlockIndex = index;
150
- }
151
- /**矩阵字段-新增 */
152
- addMatrixField() {
153
- this.addMatrixFieldItem('', this.selectMatrixBlockIndex);
154
- }
155
- /**矩阵字段-新增矩阵字段项 */
156
- addMatrixFieldItem(input = '', selectMatrixBlockIndex) {
157
- /**矩阵下标的矩阵项Form */
158
- let MatrixBlockTypesItemForm = this.MatrixBlockTypes.at(selectMatrixBlockIndex);
159
- let MatrixFieldItemForm = MatrixBlockTypesItemForm.get('fields');
160
- MatrixFieldItemForm.push(this.fb.group({
161
- /**字段名称 Display name of this field */
162
- displayName: [input.displayName, [Validators.required]],
163
- /**字段唯一名称 Unique Name*/
164
- name: [input.name, [Validators.required]],
165
- /**描述 说明 */
166
- description: [input.description, []],
167
- /**FieldType字段类型 表单控件名称 */
168
- formControlName: [input.formControlName || 'TextEdit', [Validators.required]],
169
- //动态表单配置
170
- formConfiguration: new FormGroup({}),
171
- }));
172
- //
173
- }
174
- /**删除矩阵字段项 */
175
- deleteMatrixField(MatrixFieldForm, index) {
176
- MatrixFieldForm.removeAt(index);
177
- this.selectMatrixFieldIndex = 0;
178
- }
179
- /**矩阵字段-选择 */
180
- selectMatrixFieldChange(MatrixBlockIndex, MatrixFieldIndex) {
181
- this.selectMatrixFieldIndex = MatrixFieldIndex;
182
- }
183
- get nameInput() {
184
- return this.matrixModalForm?.get('name');
185
- }
186
- get FieldnameInput() {
187
- let MatrixBlockTypesItemForm = this.MatrixBlockTypes.at(this.selectMatrixBlockIndex);
188
- let MatrixFieldItemForm = MatrixBlockTypesItemForm.get('fields');
189
- return MatrixFieldItemForm.at(this.selectMatrixFieldIndex).get('name');
190
- }
191
- /**矩阵displayNameInput字段失去焦点 */
192
- displayNameInputBlur(event) {
193
- let value = event.target.value;
194
- let pinyin = this._CmsApiService.chineseToPinyin(value);
195
- let nameInput = this.nameInput;
196
- if (nameInput.value)
197
- return;
198
- nameInput.patchValue(pinyin);
199
- }
200
- /**矩阵displayNameInput字段失去焦点 */
201
- MatrixFieldDisplayNameInputBlur(event) {
202
- let value = event.target.value;
203
- let pinyin = this._CmsApiService.chineseToPinyin(value);
204
- let FieldnameInput = this.FieldnameInput;
205
- if (FieldnameInput.value)
206
- return;
207
- FieldnameInput.patchValue(pinyin);
208
- }
209
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatrixConfigComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CmsApiService }, { token: i2.FieldAbstractsService }], target: i0.ɵɵFactoryTarget.Component });
210
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MatrixConfigComponent, selector: "df-matrix-config", inputs: { type: "type", Entity: "Entity", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }, { propertyName: "matrixModalModalSubmit", first: true, predicate: ["matrixModalModalSubmit"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::::FormControl:Matrix' | abpLocalization}}</label>\n <div class=\"row\">\n <div class=\"col-md-3\">\n <div class=\"list-group\">\n <li class=\"list-group-item d-flex align-items-center justify-content-between\"\n aria-current=\"true\">\n {{'Cms::MatrixBlockType' | abpLocalization}}\n <button class=\"btn btn-light btn-sm p-0\" (click.stop)=\"addMatrixBlockType()\">\n <i class=\"fas fa-plus-circle p-1\"></i>\n </button>\n </li>\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <button type=\"button\" (click.stop)=\"selectMatrixBlockChange(i)\"\n class=\"list-group-item d-flex align-items-center justify-content-between list-group-item-action \"\n [class.active]=\"i===selectMatrixBlockIndex\">\n <div>\n <div>{{item.value.displayName}}</div>\n <div>{{item.value.name}}</div>\n </div>\n <div ngbDropdown class=\"d-inline-block\">\n <button type=\"button\" class=\"btn btn-light btn-sm\" id=\"dropdownBasic1\"\n style=\"z-index: 8;\" ngbDropdownToggle></button>\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\" style=\"z-index: 9;\">\n <button ngbDropdownItem\n (click.stop)=\"EditMatrixBlock(item.value)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"DeleteMatrixBlock(i)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </button>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-3\">\n <div class=\"list-group\" *ngIf=\"MatrixBlockTypes?.controls.length>0\">\n <li class=\"list-group-item d-flex align-items-center justify-content-between\"\n aria-current=\"true\">\n {{'Cms::Fields' | abpLocalization}}\n <button class=\"btn btn-light btn-sm p-0\" (click.stop)=\"addMatrixField()\">\n <i class=\"fas fa-plus-circle p-1\"></i>\n </button>\n </li>\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <ng-container *ngIf=\"i === selectMatrixBlockIndex\">\n <ng-container *ngFor=\"let el of item.controls['fields'].controls;let fi =index\">\n <button type=\"button\" (click.stop)=\"selectMatrixFieldChange(i,fi)\"\n class=\"list-group-item d-flex align-items-center justify-content-between list-group-item-action \"\n [class.active]=\"fi===selectMatrixFieldIndex\">\n <div>\n <div>{{el.value.displayName}}</div>\n <div>{{el.value.name}}</div>\n </div>\n <button type=\"button\"\n (click.stop)=\"deleteMatrixField(item.controls['fields'],fi)\"\n class=\"btn btn-sm btn-li\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </button>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-6\" formArrayName=\"MatrixBlockTypes\">\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <div [formGroupName]=\"i\" [hidden]=\"i !== selectMatrixBlockIndex\">\n <div formArrayName=\"fields\">\n <ng-container *ngFor=\"let itemf of item.controls['fields'].controls;let fi =index\">\n <div [formGroupName]=\"fi\" [hidden]=\"fi !== selectMatrixFieldIndex\">\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"displayName\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"MatrixFieldDisplayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"name\">{{'DigniteAbpForms::FieldName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\">\n <div class=\"form-text\">\n {{'DigniteAbpForms::FieldNameHelpText' | abpLocalization}}</div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"description\">{{'Cms::Description' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"description\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"formControlName\">{{'Cms::FieldType' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"formControlName\" (change)=\"setConfigComponent()\">\n <ng-container *ngFor=\"let itemC of _FieldControlGroup;let i =index\">\n <option [value]=\"itemC.name\">{{itemC.displayName}}</option>\n </ng-container>\n </select>\n </div>\n <ng-container *ngIf=\"itemf.value.formControlName&&item\">\n <df-dynamic [type]=\"itemf.value.formControlName\" [entity]=\"item\"\n [selected]=\"_selected?_selected['formConfiguration']['MatrixBlockTypes'][i]['fields'][fi]:''\"></df-dynamic>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n\n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>\n\n\n\n<abp-modal [(visible)]=\"matrixModalOpen\" [busy]=\"modalBusy\" (visibleChange)=\"matrixModalVisibleChange($event)\" >\n <ng-template #abpHeader>\n <h3>{{isMatrixEdit?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"matrixModalForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"matrixModalForm\"\n (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #matrixModalModalSubmit style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"displayName\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"displayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"name\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\">\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"matrixModalModalSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i4.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i4.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i4.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i5.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i5.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i6.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i6.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i6.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i7.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i7.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i7.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i7.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i8.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
211
- }
212
- export { MatrixConfigComponent };
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatrixConfigComponent, decorators: [{
214
- type: Component,
215
- args: [{ selector: 'df-matrix-config', template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::::FormControl:Matrix' | abpLocalization}}</label>\n <div class=\"row\">\n <div class=\"col-md-3\">\n <div class=\"list-group\">\n <li class=\"list-group-item d-flex align-items-center justify-content-between\"\n aria-current=\"true\">\n {{'Cms::MatrixBlockType' | abpLocalization}}\n <button class=\"btn btn-light btn-sm p-0\" (click.stop)=\"addMatrixBlockType()\">\n <i class=\"fas fa-plus-circle p-1\"></i>\n </button>\n </li>\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <button type=\"button\" (click.stop)=\"selectMatrixBlockChange(i)\"\n class=\"list-group-item d-flex align-items-center justify-content-between list-group-item-action \"\n [class.active]=\"i===selectMatrixBlockIndex\">\n <div>\n <div>{{item.value.displayName}}</div>\n <div>{{item.value.name}}</div>\n </div>\n <div ngbDropdown class=\"d-inline-block\">\n <button type=\"button\" class=\"btn btn-light btn-sm\" id=\"dropdownBasic1\"\n style=\"z-index: 8;\" ngbDropdownToggle></button>\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\" style=\"z-index: 9;\">\n <button ngbDropdownItem\n (click.stop)=\"EditMatrixBlock(item.value)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"DeleteMatrixBlock(i)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </button>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-3\">\n <div class=\"list-group\" *ngIf=\"MatrixBlockTypes?.controls.length>0\">\n <li class=\"list-group-item d-flex align-items-center justify-content-between\"\n aria-current=\"true\">\n {{'Cms::Fields' | abpLocalization}}\n <button class=\"btn btn-light btn-sm p-0\" (click.stop)=\"addMatrixField()\">\n <i class=\"fas fa-plus-circle p-1\"></i>\n </button>\n </li>\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <ng-container *ngIf=\"i === selectMatrixBlockIndex\">\n <ng-container *ngFor=\"let el of item.controls['fields'].controls;let fi =index\">\n <button type=\"button\" (click.stop)=\"selectMatrixFieldChange(i,fi)\"\n class=\"list-group-item d-flex align-items-center justify-content-between list-group-item-action \"\n [class.active]=\"fi===selectMatrixFieldIndex\">\n <div>\n <div>{{el.value.displayName}}</div>\n <div>{{el.value.name}}</div>\n </div>\n <button type=\"button\"\n (click.stop)=\"deleteMatrixField(item.controls['fields'],fi)\"\n class=\"btn btn-sm btn-li\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </button>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-6\" formArrayName=\"MatrixBlockTypes\">\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <div [formGroupName]=\"i\" [hidden]=\"i !== selectMatrixBlockIndex\">\n <div formArrayName=\"fields\">\n <ng-container *ngFor=\"let itemf of item.controls['fields'].controls;let fi =index\">\n <div [formGroupName]=\"fi\" [hidden]=\"fi !== selectMatrixFieldIndex\">\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"displayName\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"MatrixFieldDisplayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"name\">{{'DigniteAbpForms::FieldName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\">\n <div class=\"form-text\">\n {{'DigniteAbpForms::FieldNameHelpText' | abpLocalization}}</div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"description\">{{'Cms::Description' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"description\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"formControlName\">{{'Cms::FieldType' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"formControlName\" (change)=\"setConfigComponent()\">\n <ng-container *ngFor=\"let itemC of _FieldControlGroup;let i =index\">\n <option [value]=\"itemC.name\">{{itemC.displayName}}</option>\n </ng-container>\n </select>\n </div>\n <ng-container *ngIf=\"itemf.value.formControlName&&item\">\n <df-dynamic [type]=\"itemf.value.formControlName\" [entity]=\"item\"\n [selected]=\"_selected?_selected['formConfiguration']['MatrixBlockTypes'][i]['fields'][fi]:''\"></df-dynamic>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n\n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>\n\n\n\n<abp-modal [(visible)]=\"matrixModalOpen\" [busy]=\"modalBusy\" (visibleChange)=\"matrixModalVisibleChange($event)\" >\n <ng-template #abpHeader>\n <h3>{{isMatrixEdit?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"matrixModalForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"matrixModalForm\"\n (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #matrixModalModalSubmit style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"displayName\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"displayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"name\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\">\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"matrixModalModalSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>" }]
216
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.CmsApiService }, { type: i2.FieldAbstractsService }]; }, propDecorators: { type: [{
217
- type: Input
218
- }], Entity: [{
219
- type: Input
220
- }], selected: [{
221
- type: Input
222
- }], submitclick: [{
223
- type: ViewChild,
224
- args: ['submitclick', { static: true }]
225
- }], matrixModalModalSubmit: [{
226
- type: ViewChild,
227
- args: ['matrixModalModalSubmit', { static: false }]
228
- }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9tYXRyaXgvbWF0cml4LWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9tYXRyaXgvbWF0cml4LWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixLQUFLLEVBQWEsU0FBUyxFQUEwQyxNQUFNLGVBQWUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsU0FBUyxFQUFlLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBRWpFLHFGQUFxRjtBQUNyRixtRUFBbUU7QUFFbkUsTUFLYSxxQkFBcUI7SUFHdEI7SUFDQTtJQUNBO0lBSFYsWUFDVSxFQUFlLEVBQ2YsY0FBNkIsRUFDN0Isc0JBQTZDO1FBRjdDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO0lBQ25ELENBQUM7SUFFTCxXQUFXO0lBQ1gsa0JBQWtCLENBQU87SUFDekIsWUFBWTtJQUNaLEtBQUssQ0FBSztJQUNWLElBQ1csSUFBSSxDQUFDLENBQU07UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUNELFVBQVU7SUFDVixPQUFPLENBQXVCO0lBQzlCLElBQ1csTUFBTSxDQUFDLENBQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFHRCxhQUFhO0lBQ2IsU0FBUyxDQUFLO0lBQ2QsSUFDVyxRQUFRLENBQUMsQ0FBTTtRQUV4QixJQUFJLENBQUMsRUFBRTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtTQUNsQjtJQUNILENBQUM7SUFHMkMsV0FBVyxDQUFhO0lBRXBFLEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDOUIsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUN6RixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUMvRSxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtZQUNuRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFHRCxjQUFjO1FBQ1osT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN0QyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUMxRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUE7b0JBQy9CLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO3dCQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO29CQUNyQyxDQUFDLENBQUMsQ0FBQTtnQkFDSixDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTthQUNkO1FBRUgsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsWUFBWTtJQUNaLElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQWMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQscUJBQXFCO0lBQ3JCLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBYyxDQUFBO0lBQ3pFLENBQUM7SUFHRCxZQUFZO0lBQ1osZUFBZSxHQUFZLEtBQUssQ0FBQTtJQUNoQyxnQkFBZ0I7SUFDaEIsaUJBQWlCLEdBQVEsS0FBSyxDQUFBO0lBRTlCLHlCQUF5QjtJQUN6QixTQUFTLEdBQVksS0FBSyxDQUFBO0lBRTFCLFlBQVk7SUFDWixlQUFlLENBQXdCO0lBRXZDLDZCQUE2QjtJQUMyQixzQkFBc0IsQ0FBYTtJQUUzRixlQUFlO0lBQ2Ysc0JBQXNCLEdBQVEsQ0FBQyxDQUFBO0lBRS9CLHFCQUFxQjtJQUNyQixzQkFBc0IsR0FBUSxDQUFDLENBQUE7SUFFL0IsY0FBYztJQUNkLHdCQUF3QixDQUFDLEtBQUs7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7WUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUE7WUFDaEMsT0FBTTtTQUNQO0lBQ0gsQ0FBQztJQUdELG1CQUFtQjtJQUNuQixrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQTtJQUM3QixDQUFDO0lBSUQsbUJBQW1CO0lBQ25CLGdCQUFnQjtRQUNkLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFBRSxPQUFNO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQWMsQ0FBQTtZQUM3RixvQkFBb0IsQ0FBQyxVQUFVLENBQUM7Z0JBQzlCLEdBQUcsS0FBSzthQUNULENBQUMsQ0FBQTtTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDbkM7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtJQUM5QixDQUFDO0lBQ0QscUJBQXFCO0lBQ3JCLHNCQUFzQixDQUFDLEtBQUs7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQztZQUN2QyxXQUFXLEVBQUUsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3BFLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDdEQsTUFBTSxFQUFFLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztTQUMxQixDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFDRCxXQUFXO0lBQ1gsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztZQUM5QixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFBO0lBQy9CLENBQUM7SUFFRCxXQUFXO0lBQ1gsaUJBQWlCLENBQUMsS0FBSztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxZQUFZO0lBQ1osdUJBQXVCLENBQUMsS0FBSztRQUMzQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFBO0lBQ3JDLENBQUM7SUFFRCxhQUFhO0lBQ2IsY0FBYztRQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFFMUQsQ0FBQztJQUNELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxRQUFhLEVBQUUsRUFBRSxzQkFBc0I7UUFDeEQsa0JBQWtCO1FBQ2xCLElBQUksd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBYyxDQUFBO1FBQzVGLElBQUksbUJBQW1CLEdBQUcsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBYyxDQUFBO1FBQzdFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNyQyxxQ0FBcUM7WUFDckMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RCx1QkFBdUI7WUFDdkIsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxXQUFXO1lBQ1gsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDcEMsMEJBQTBCO1lBQzFCLGVBQWUsRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdFLFFBQVE7WUFDUixpQkFBaUIsRUFBRSxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUM7U0FDckMsQ0FBQyxDQUFDLENBQUE7UUFDSCxFQUFFO0lBQ0osQ0FBQztJQUVELGFBQWE7SUFDYixpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsS0FBSztRQUN0QyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9CLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELGFBQWE7SUFDYix1QkFBdUIsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDeEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGdCQUFnQixDQUFBO0lBQ2hELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSx3QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBYyxDQUFBO1FBQ2pHLElBQUksbUJBQW1CLEdBQUcsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBYyxDQUFBO1FBQzdFLE9BQU8sbUJBQW1CLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLG9CQUFvQixDQUFDLEtBQUs7UUFDeEIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7UUFDOUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdkQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQTtRQUM5QixJQUFJLFNBQVMsQ0FBQyxLQUFLO1lBQUUsT0FBTTtRQUMzQixTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFDRCw4QkFBOEI7SUFDOUIsK0JBQStCLENBQUMsS0FBSztRQUNuQyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUM5QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2RCxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQ3hDLElBQUksY0FBYyxDQUFDLEtBQUs7WUFBRSxPQUFNO1FBQ2hDLGNBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbkMsQ0FBQzt3R0FoT1UscUJBQXFCOzRGQUFyQixxQkFBcUIsdVdDWmxDLCt6VEFrSlk7O1NEdElDLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjtrS0FpQmpCLElBQUk7c0JBRGQsS0FBSztnQkFRSyxNQUFNO3NCQURoQixLQUFLO2dCQVVLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBVXNDLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwRGMsc0JBQXNCO3NCQUE3RSxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiwgVmlld0NvbnRhaW5lclJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0cml4Q29uZmlnLCBNYXRyaXhJdGVtQ29uZmlnIH0gZnJvbSAnLi9tYXRyaXgtY29uZmlnJztcbmltcG9ydCB7IENtc0FwaVNlcnZpY2UsIEZpZWxkQWJzdHJhY3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbi8vIGltcG9ydCB7IENyZWF0ZUR5bmFtaWNDb21wb25lbnRzU2VydmljZSwgRGZBcGlTZXJ2aWNlLCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbi8vIGltcG9ydCB7IGdldEV4Y2x1ZGVBc3NpZ25Db250cm9sIH0gZnJvbSAnLi4vZm9ybS1jb250cm9sLWdyb3VwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGYtbWF0cml4LWNvbmZpZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRyaXgtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWF0cml4LWNvbmZpZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeENvbmZpZ0NvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBfQ21zQXBpU2VydmljZTogQ21zQXBpU2VydmljZSxcbiAgICBwcml2YXRlIF9GaWVsZEFic3RyYWN0c1NlcnZpY2U6IEZpZWxkQWJzdHJhY3RzU2VydmljZSxcbiAgKSB7IH1cblxuICAvKirooajljZXmjqfku7bnu4QgKi9cbiAgX0ZpZWxkQ29udHJvbEdyb3VwOiBhbnlbXVxuICAvKirooajljZXmjqfku7bnsbvlnosgKi9cbiAgX3R5cGU6IGFueVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHR5cGUodjogYW55KSB7XG4gICAgdGhpcy5fdHlwZSA9IHZcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG4gIC8qKuihqOWNleWunuS9kyAqL1xuICBfRW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWRcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBFbnRpdHkodjogRm9ybUdyb3VwKSB7XG4gICAgdGhpcy5fRW50aXR5ID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG5cblxuICAvKirpgInmi6nnmoTooajljZXkv6Hmga8gKi9cbiAgX3NlbGVjdGVkOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcblxuICAgIGlmICh2KSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHZcbiAgICAgIHRoaXMuZGF0YUxvYWRlZCgpXG4gICAgfVxuICB9XG5cblxuICBAVmlld0NoaWxkKCdzdWJtaXRjbGljaycsIHsgc3RhdGljOiB0cnVlIH0pIHN1Ym1pdGNsaWNrOiBFbGVtZW50UmVmO1xuXG4gIGFzeW5jIGRhdGFMb2FkZWQoKSB7XG4gICAgaWYgKHRoaXMuX0VudGl0eSAmJiB0aGlzLl90eXBlKSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBBZnRlckluaXQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3RzKSA9PiB7XG4gICAgICB0aGlzLl9GaWVsZENvbnRyb2xHcm91cCA9IHRoaXMuX0ZpZWxkQWJzdHJhY3RzU2VydmljZS5nZXRFeGNsdWRlQXNzaWduQ29udHJvbCh0aGlzLl90eXBlKVxuICAgICAgdGhpcy5fRW50aXR5LnNldENvbnRyb2woJ2Zvcm1Db25maWd1cmF0aW9uJywgdGhpcy5mYi5ncm91cChuZXcgTWF0cml4Q29uZmlnKCkpKVxuICAgICAgYXdhaXQgdGhpcy5zZXRTZWxlY3RWYWx1ZSgpXG4gICAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uLnBhdGNoVmFsdWUodGhpcy5fc2VsZWN0ZWQuZm9ybUNvbmZpZ3VyYXRpb24pXG4gICAgICByZXNvbHZlKHRydWUpXG4gICAgfSlcbiAgfVxuXG5cbiAgc2V0U2VsZWN0VmFsdWUoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3RzKSA9PiB7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgJiYgdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbnRyb2xOYW1lID09IHRoaXMuX3R5cGUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbmZpZ3VyYXRpb25bJ01hdHJpeEJsb2NrVHlwZXMnXS5mb3JFYWNoKCgoZWwsIGluZGV4KSA9PiB7XG4gICAgICAgICAgdGhpcy5hZGRNYXRyaXhCbG9ja1R5cGVJdGVtKGVsKVxuICAgICAgICAgIGVsLmZpZWxkcy5mb3JFYWNoKChlbGYsIGluZGV4ZikgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZGRNYXRyaXhGaWVsZEl0ZW0oZWxmLCBpbmRleClcbiAgICAgICAgICB9KVxuICAgICAgICB9KSlcbiAgICAgICAgcmVzb2x2ZSh0cnVlKVxuICAgICAgfVxuICAgICAgXG4gICAgfSlcbiAgfVxuXG4gIC8qKuiOt+WPluihqOWNlemFjee9riAqL1xuICBnZXQgZm9ybUNvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX0VudGl0eS5nZXQoJ2Zvcm1Db25maWd1cmF0aW9uJykgYXMgRm9ybUdyb3VwXG4gIH1cblxuICAvKirojrflj5booajljZXphY3nva7kuIvnmoTnn6npmLXlnZfooajljZXmlbDnu4QgKi9cbiAgZ2V0IE1hdHJpeEJsb2NrVHlwZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24uY29udHJvbHNbJ01hdHJpeEJsb2NrVHlwZXMnXSBhcyBGb3JtQXJyYXlcbiAgfVxuXG5cbiAgLyoq5qih5oCB5qGGLeeKtuaAgSAqL1xuICBtYXRyaXhNb2RhbE9wZW46IGJvb2xlYW4gPSBmYWxzZVxuICAvKirmqKHmgIHmoYYt5piv5ZCm5q2j5Zyo57yW6L6RICovXG4gIGlzTWF0cml4TW9kYWxFZGl0OiBhbnkgPSBmYWxzZVxuXG4gIC8qKuaooeaAgeahhi3nlKjkuo7noa7lrprmqKHmgIHnmoTnuYHlv5nnirbmgIHmmK/lkKbkuLrnnJ8gKi9cbiAgbW9kYWxCdXN5OiBib29sZWFuID0gZmFsc2VcblxuICAvKirmqKHmgIHmoYYt6KGo5Y2VICovXG4gIG1hdHJpeE1vZGFsRm9ybTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuXG4gIC8qKuihqOWNleaOp+S7tuaooeadvy3nlKjkuo7lnKhmb3Jt5aSW5o+Q5Lqkc3VibWl0ICovXG4gIEBWaWV3Q2hpbGQoJ21hdHJpeE1vZGFsTW9kYWxTdWJtaXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgbWF0cml4TW9kYWxNb2RhbFN1Ym1pdDogRWxlbWVudFJlZjtcblxuICAvKirnn6npmLXlnZct6YCJ5oup55qE5LiL5qCHICovXG4gIHNlbGVjdE1hdHJpeEJsb2NrSW5kZXg6IGFueSA9IDBcblxuICAvKirnn6npmLXlnZct6YCJ5oup55qE55+p6Zi15LiL5a2X5q6155qE5LiL5qCHICovXG4gIHNlbGVjdE1hdHJpeEZpZWxkSW5kZXg6IGFueSA9IDBcblxuICAvKirmqKHmgIHmoYYt54q25oCB5pS55Y+YICovXG4gIG1hdHJpeE1vZGFsVmlzaWJsZUNoYW5nZShldmVudCkge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHRoaXMuaXNNYXRyaXhNb2RhbEVkaXQgPSBmYWxzZVxuICAgICAgdGhpcy5tYXRyaXhNb2RhbEZvcm0gPSB1bmRlZmluZWRcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxuXG5cbiAgLyoq55+p6Zi15Z2XLS3mlrDlop4t5omT5byA5qih5oCB5qGGICovXG4gIGFkZE1hdHJpeEJsb2NrVHlwZSgpIHtcbiAgICB0aGlzLm1hdHJpeE1vZGFsRm9ybSA9IHRoaXMuZmIuZ3JvdXAobmV3IE1hdHJpeEl0ZW1Db25maWcoKSlcbiAgICB0aGlzLm1hdHJpeE1vZGFsT3BlbiA9IHRydWVcbiAgfVxuXG5cblxuICAvKirmqKHmgIHmoYYtLeefqemYteihqOWNleS/neWtmOaPkOS6pCAqL1xuICBjcmVhdGVPckVkaXRTYXZlKCkge1xuICAgIGxldCBpbnB1dCA9IHRoaXMubWF0cml4TW9kYWxGb3JtLnZhbHVlXG4gICAgaWYgKCF0aGlzLm1hdHJpeE1vZGFsRm9ybS52YWxpZCkgcmV0dXJuXG4gICAgaWYgKHRoaXMuaXNNYXRyaXhNb2RhbEVkaXQpIHtcbiAgICAgIGxldCBNYXRyaXhCbG9ja1R5cGVzSXRlbSA9IHRoaXMuTWF0cml4QmxvY2tUeXBlcy5hdCh0aGlzLnNlbGVjdE1hdHJpeEJsb2NrSW5kZXgpIGFzIEZvcm1Hcm91cFxuICAgICAgTWF0cml4QmxvY2tUeXBlc0l0ZW0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIC4uLmlucHV0XG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZE1hdHJpeEJsb2NrVHlwZUl0ZW0oaW5wdXQpXG4gICAgfVxuICAgIHRoaXMubWF0cml4TW9kYWxPcGVuID0gZmFsc2VcbiAgfVxuICAvKirmlrDlop7nn6npmLXlnZct5ZCR5pWw57uE6KGo5Y2V5Lit5aKe5Yqg6aG5ICovXG4gIGFkZE1hdHJpeEJsb2NrVHlwZUl0ZW0oaW5wdXQpIHtcbiAgICB0aGlzLk1hdHJpeEJsb2NrVHlwZXMucHVzaChuZXcgRm9ybUdyb3VwKHtcbiAgICAgIGRpc3BsYXlOYW1lOiBuZXcgRm9ybUNvbnRyb2woaW5wdXQuZGlzcGxheU5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKGlucHV0Lm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZmllbGRzOiBuZXcgRm9ybUFycmF5KFtdKVxuICAgIH0pKVxuICB9XG4gIC8qKue8lui+keefqemYteWdlyAqL1xuICBFZGl0TWF0cml4QmxvY2soaW5wdXQpIHtcbiAgICB0aGlzLm1hdHJpeE1vZGFsRm9ybSA9IHRoaXMuZmIuZ3JvdXAobmV3IE1hdHJpeEl0ZW1Db25maWcoKSlcbiAgICB0aGlzLm1hdHJpeE1vZGFsRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIC4uLmlucHV0XG4gICAgfSlcbiAgICB0aGlzLm1hdHJpeE1vZGFsT3BlbiA9IHRydWVcbiAgICB0aGlzLmlzTWF0cml4TW9kYWxFZGl0ID0gdHJ1ZVxuICB9XG5cbiAgLyoq5Yig6Zmk55+p6Zi15Z2XICovXG4gIERlbGV0ZU1hdHJpeEJsb2NrKGluZGV4KSB7XG4gICAgdGhpcy5NYXRyaXhCbG9ja1R5cGVzLnJlbW92ZUF0KGluZGV4KVxuICB9XG5cbiAgLyoq55+p6Zi15Z2XLemAieaLqSAqL1xuICBzZWxlY3RNYXRyaXhCbG9ja0NoYW5nZShpbmRleCkge1xuICAgIHRoaXMuc2VsZWN0TWF0cml4QmxvY2tJbmRleCA9IGluZGV4XG4gIH1cblxuICAvKirnn6npmLXlrZfmrrUt5paw5aKeICovXG4gIGFkZE1hdHJpeEZpZWxkKCkge1xuICAgIHRoaXMuYWRkTWF0cml4RmllbGRJdGVtKCcnLCB0aGlzLnNlbGVjdE1hdHJpeEJsb2NrSW5kZXgpXG4gIFxuICB9XG4gIC8qKuefqemYteWtl+autS3mlrDlop7nn6npmLXlrZfmrrXpobkgKi9cbiAgYWRkTWF0cml4RmllbGRJdGVtKGlucHV0OiBhbnkgPSAnJywgc2VsZWN0TWF0cml4QmxvY2tJbmRleCkge1xuICAgIC8qKuefqemYteS4i+agh+eahOefqemYtemhuUZvcm0gKi9cbiAgICBsZXQgTWF0cml4QmxvY2tUeXBlc0l0ZW1Gb3JtID0gdGhpcy5NYXRyaXhCbG9ja1R5cGVzLmF0KHNlbGVjdE1hdHJpeEJsb2NrSW5kZXgpIGFzIEZvcm1Hcm91cFxuICAgIGxldCBNYXRyaXhGaWVsZEl0ZW1Gb3JtID0gTWF0cml4QmxvY2tUeXBlc0l0ZW1Gb3JtLmdldCgnZmllbGRzJykgYXMgRm9ybUFycmF5XG4gICAgTWF0cml4RmllbGRJdGVtRm9ybS5wdXNoKHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgLyoq5a2X5q615ZCN56ewIERpc3BsYXkgbmFtZSBvZiB0aGlzIGZpZWxkICovXG4gICAgICBkaXNwbGF5TmFtZTogW2lucHV0LmRpc3BsYXlOYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgLyoq5a2X5q615ZSv5LiA5ZCN56ewIFVuaXF1ZSBOYW1lKi9cbiAgICAgIG5hbWU6IFtpbnB1dC5uYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgLyoq5o+P6L+wIOivtOaYjiAqL1xuICAgICAgZGVzY3JpcHRpb246IFtpbnB1dC5kZXNjcmlwdGlvbiwgW11dLFxuICAgICAgLyoqRmllbGRUeXBl5a2X5q6157G75Z6LIOihqOWNleaOp+S7tuWQjeensCAqL1xuICAgICAgZm9ybUNvbnRyb2xOYW1lOiBbaW5wdXQuZm9ybUNvbnRyb2xOYW1lIHx8ICdUZXh0RWRpdCcsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAvL+WKqOaAgeihqOWNlemFjee9rlxuICAgICAgZm9ybUNvbmZpZ3VyYXRpb246IG5ldyBGb3JtR3JvdXAoe30pLFxuICAgIH0pKVxuICAgIC8vXG4gIH1cblxuICAvKirliKDpmaTnn6npmLXlrZfmrrXpobkgKi9cbiAgZGVsZXRlTWF0cml4RmllbGQoTWF0cml4RmllbGRGb3JtLCBpbmRleCkge1xuICAgIE1hdHJpeEZpZWxkRm9ybS5yZW1vdmVBdChpbmRleClcbiAgICB0aGlzLnNlbGVjdE1hdHJpeEZpZWxkSW5kZXggPSAwXG4gIH1cblxuICAvKirnn6npmLXlrZfmrrUt6YCJ5oupICovXG4gIHNlbGVjdE1hdHJpeEZpZWxkQ2hhbmdlKE1hdHJpeEJsb2NrSW5kZXgsIE1hdHJpeEZpZWxkSW5kZXgpIHtcbiAgICB0aGlzLnNlbGVjdE1hdHJpeEZpZWxkSW5kZXggPSBNYXRyaXhGaWVsZEluZGV4XG4gIH1cblxuICBnZXQgbmFtZUlucHV0KCkge1xuICAgIHJldHVybiB0aGlzLm1hdHJpeE1vZGFsRm9ybT8uZ2V0KCduYW1lJylcbiAgfVxuICBnZXQgRmllbGRuYW1lSW5wdXQoKSB7XG4gICAgbGV0IE1hdHJpeEJsb2NrVHlwZXNJdGVtRm9ybSA9IHRoaXMuTWF0cml4QmxvY2tUeXBlcy5hdCh0aGlzLnNlbGVjdE1hdHJpeEJsb2NrSW5kZXgpIGFzIEZvcm1Hcm91cFxuICAgIGxldCBNYXRyaXhGaWVsZEl0ZW1Gb3JtID0gTWF0cml4QmxvY2tUeXBlc0l0ZW1Gb3JtLmdldCgnZmllbGRzJykgYXMgRm9ybUFycmF5XG4gICAgcmV0dXJuIE1hdHJpeEZpZWxkSXRlbUZvcm0uYXQodGhpcy5zZWxlY3RNYXRyaXhGaWVsZEluZGV4KS5nZXQoJ25hbWUnKVxuICB9XG5cbiAgLyoq55+p6Zi1ZGlzcGxheU5hbWVJbnB1dOWtl+auteWkseWOu+eEpueCuSAqL1xuICBkaXNwbGF5TmFtZUlucHV0Qmx1cihldmVudCkge1xuICAgIGxldCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZVxuICAgIGxldCBwaW55aW4gPSB0aGlzLl9DbXNBcGlTZXJ2aWNlLmNoaW5lc2VUb1Bpbnlpbih2YWx1ZSlcbiAgICBsZXQgbmFtZUlucHV0ID0gdGhpcy5uYW1lSW5wdXRcbiAgICBpZiAobmFtZUlucHV0LnZhbHVlKSByZXR1cm5cbiAgICBuYW1lSW5wdXQucGF0Y2hWYWx1ZShwaW55aW4pXG4gIH1cbiAgLyoq55+p6Zi1ZGlzcGxheU5hbWVJbnB1dOWtl+auteWkseWOu+eEpueCuSAqL1xuICBNYXRyaXhGaWVsZERpc3BsYXlOYW1lSW5wdXRCbHVyKGV2ZW50KSB7XG4gICAgbGV0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgbGV0IHBpbnlpbiA9IHRoaXMuX0Ntc0FwaVNlcnZpY2UuY2hpbmVzZVRvUGlueWluKHZhbHVlKVxuICAgIGxldCBGaWVsZG5hbWVJbnB1dCA9IHRoaXMuRmllbGRuYW1lSW5wdXRcbiAgICBpZiAoRmllbGRuYW1lSW5wdXQudmFsdWUpIHJldHVyblxuICAgIEZpZWxkbmFtZUlucHV0LnBhdGNoVmFsdWUocGlueWluKVxuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIl9FbnRpdHlcIj5cbiAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJmb3JtQ29uZmlndXJhdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7J0Ntczo6OjpGb3JtQ29udHJvbDpNYXRyaXgnIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydDbXM6Ok1hdHJpeEJsb2NrVHlwZScgfCBhYnBMb2NhbGl6YXRpb259fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSBwLTBcIiAoY2xpY2suc3RvcCk9XCJhZGRNYXRyaXhCbG9ja1R5cGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1wbHVzLWNpcmNsZSBwLTFcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBNYXRyaXhCbG9ja1R5cGVzLmNvbnRyb2xzO2xldCBpID1pbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljay5zdG9wKT1cInNlbGVjdE1hdHJpeEJsb2NrQ2hhbmdlKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBsaXN0LWdyb3VwLWl0ZW0tYWN0aW9uIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaT09PXNlbGVjdE1hdHJpeEJsb2NrSW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3tpdGVtLnZhbHVlLmRpc3BsYXlOYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3tpdGVtLnZhbHVlLm5hbWV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtXCIgaWQ9XCJkcm9wZG93bkJhc2ljMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ6LWluZGV4OiA4O1wiIG5nYkRyb3Bkb3duVG9nZ2xlPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnUgYXJpYS1sYWJlbGxlZGJ5PVwiZHJvcGRvd25CYXNpYzFcIiBzdHlsZT1cInotaW5kZXg6IDk7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBuZ2JEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrLnN0b3ApPVwiRWRpdE1hdHJpeEJsb2NrKGl0ZW0udmFsdWUpXCI+e3snQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9ufX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5nYkRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2suc3RvcCk9XCJEZWxldGVNYXRyaXhCbG9jayhpKVwiPnt7J0FicFVpOjpEZWxldGUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXBcIiAqbmdJZj1cIk1hdHJpeEJsb2NrVHlwZXM/LmNvbnRyb2xzLmxlbmd0aD4wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0Ntczo6RmllbGRzJyB8IGFicExvY2FsaXphdGlvbn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIHAtMFwiIChjbGljay5zdG9wKT1cImFkZE1hdHJpeEZpZWxkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcGx1cy1jaXJjbGUgcC0xXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgTWF0cml4QmxvY2tUeXBlcy5jb250cm9scztsZXQgaSA9aW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSA9PT0gc2VsZWN0TWF0cml4QmxvY2tJbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbCBvZiBpdGVtLmNvbnRyb2xzWydmaWVsZHMnXS5jb250cm9scztsZXQgZmkgPWluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2suc3RvcCk9XCJzZWxlY3RNYXRyaXhGaWVsZENoYW5nZShpLGZpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBsaXN0LWdyb3VwLWl0ZW0tYWN0aW9uIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmaT09PXNlbGVjdE1hdHJpeEZpZWxkSW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7ZWwudmFsdWUuZGlzcGxheU5hbWV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7ZWwudmFsdWUubmFtZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrLnN0b3ApPVwiZGVsZXRlTWF0cml4RmllbGQoaXRlbS5jb250cm9sc1snZmllbGRzJ10sZmkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saVwiPnt7J0FicFVpOjpEZWxldGUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIiBmb3JtQXJyYXlOYW1lPVwiTWF0cml4QmxvY2tUeXBlc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIE1hdHJpeEJsb2NrVHlwZXMuY29udHJvbHM7bGV0IGkgPWluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmb3JtR3JvdXBOYW1lXT1cImlcIiBbaGlkZGVuXT1cImkgIT09IHNlbGVjdE1hdHJpeEJsb2NrSW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJmaWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbWYgb2YgaXRlbS5jb250cm9sc1snZmllbGRzJ10uY29udHJvbHM7bGV0IGZpID1pbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwTmFtZV09XCJmaVwiIFtoaWRkZW5dPVwiZmkgIT09IHNlbGVjdE1hdHJpeEZpZWxkSW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImRpc3BsYXlOYW1lXCI+e3snQ21zOjpEaXNwbGF5TmFtZScgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiTWF0cml4RmllbGREaXNwbGF5TmFtZUlucHV0Qmx1cigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJuYW1lXCI+e3snRGlnbml0ZUFicEZvcm1zOjpGaWVsZE5hbWUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snRGlnbml0ZUFicEZvcm1zOjpGaWVsZE5hbWVIZWxwVGV4dCcgfCBhYnBMb2NhbGl6YXRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiZGVzY3JpcHRpb25cIj57eydDbXM6OkRlc2NyaXB0aW9uJyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiZm9ybUNvbnRyb2xOYW1lXCI+e3snQ21zOjpGaWVsZFR5cGUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJmb3JtQ29udHJvbE5hbWVcIiAoY2hhbmdlKT1cInNldENvbmZpZ0NvbXBvbmVudCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtQyBvZiBfRmllbGRDb250cm9sR3JvdXA7bGV0IGkgPWluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiaXRlbUMubmFtZVwiPnt7aXRlbUMuZGlzcGxheU5hbWV9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtZi52YWx1ZS5mb3JtQ29udHJvbE5hbWUmJml0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRmLWR5bmFtaWMgW3R5cGVdPVwiaXRlbWYudmFsdWUuZm9ybUNvbnRyb2xOYW1lXCIgW2VudGl0eV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJfc2VsZWN0ZWQ/X3NlbGVjdGVkWydmb3JtQ29uZmlndXJhdGlvbiddWydNYXRyaXhCbG9ja1R5cGVzJ11baV1bJ2ZpZWxkcyddW2ZpXTonJ1wiPjwvZGYtZHluYW1pYz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoYWJwSW5pdCk9XCJzdWJtaXRjbGljaz8ubmF0aXZlRWxlbWVudD8uY2xpY2soKVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIlxuICAgICAgICAgICAgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuXG5cblxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cIm1hdHJpeE1vZGFsT3BlblwiIFtidXN5XT1cIm1vZGFsQnVzeVwiICh2aXNpYmxlQ2hhbmdlKT1cIm1hdHJpeE1vZGFsVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCIgPlxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxuICAgICAgICA8aDM+e3tpc01hdHJpeEVkaXQ/KCdBYnBVaTo6RWRpdCcgfCBhYnBMb2NhbGl6YXRpb24pOignQ21zOjpOZXcnIHwgYWJwTG9jYWxpemF0aW9uKX19PC9oMz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkZXJSZWY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj48aSBjbGFzcz1cImZhIGZhLXB1bHNlIGZhLXNwaW5uZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtYXRyaXhNb2RhbEZvcm07IGVsc2UgbG9hZGVyUmVmXCI+XG4gICAgICAgICAgICA8Zm9ybSBjbGFzcz1cInNpdGVzLW1vZGFsLWZvcm1cIiAjbXlGb3JtPVwibmdGb3JtXCIgW2Zvcm1Hcm91cF09XCJtYXRyaXhNb2RhbEZvcm1cIlxuICAgICAgICAgICAgICAgIChuZ1N1Ym1pdCk9XCJjcmVhdGVPckVkaXRTYXZlKClcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAjbWF0cml4TW9kYWxNb2RhbFN1Ym1pdCBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGlzcGxheU5hbWVcIj57eydDbXM6OkRpc3BsYXlOYW1lJyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJkaXNwbGF5TmFtZUlucHV0Qmx1cigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm5hbWVcIj57eydDbXM6Ok5hbWUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPnt7J0FicFVpOjpDbG9zZScgfCBhYnBMb2NhbGl6YXRpb259fTwvYnV0dG9uPlxuICAgICAgICA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXG4gICAgICAgICAgICAoY2xpY2spPVwibWF0cml4TW9kYWxNb2RhbFN1Ym1pdC5uYXRpdmVFbGVtZW50LmNsaWNrKClcIj57eydBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb259fTwvYWJwLWJ1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9hYnAtbW9kYWw+Il19
@@ -1,50 +0,0 @@
1
- import { FormArray, FormGroup, Validators } from "@angular/forms";
2
- export class MatrixConfig {
3
- // 矩阵类型
4
- 'MatrixBlockTypes' = new FormArray([]);
5
- constructor(data) {
6
- if (data) {
7
- for (const key in data) {
8
- if (data.hasOwnProperty(key)) {
9
- this[key] = data[key];
10
- }
11
- }
12
- }
13
- }
14
- }
15
- export class MatrixItemConfig {
16
- displayName = ['', [Validators.required]];
17
- /**字段名字 */
18
- name = ['', [Validators.required]];
19
- constructor(data) {
20
- if (data) {
21
- for (const key in data) {
22
- if (data.hasOwnProperty(key)) {
23
- this[key] = data[key];
24
- }
25
- }
26
- }
27
- }
28
- }
29
- export class matrixFieldInputBase {
30
- /**字段名称 Display name of this field */
31
- displayName = ['', [Validators.required]];
32
- /**字段唯一名称 Unique Name*/
33
- name = ['', [Validators.required]];
34
- /**描述 说明 */
35
- description = ['', []];
36
- /**FieldType字段类型 表单控件名称 */
37
- formControlName = ['TextEdit', [Validators.required]];
38
- /**动态表单配置 */
39
- formConfiguration = new FormGroup({});
40
- constructor(data) {
41
- if (data) {
42
- for (const key in data) {
43
- if (data.hasOwnProperty(key)) {
44
- this[key] = data[key];
45
- }
46
- }
47
- }
48
- }
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ntcy9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL21hdHJpeC9tYXRyaXgtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE9BQU87SUFDUCxrQkFBa0IsR0FBUSxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUUzQyxZQUFZLElBQW1CO1FBQzNCLElBQUksSUFBSSxFQUFFO1lBQ04sS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7Z0JBQ3BCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekI7YUFDSjtTQUNKO0lBQ0wsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixXQUFXLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMvQyxVQUFVO0lBQ1YsSUFBSSxHQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFeEMsWUFBWSxJQUFtQjtRQUMzQixJQUFJLElBQUksRUFBRTtZQUNOLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO2dCQUNwQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3pCO2FBQ0o7U0FDSjtJQUdMLENBQUM7Q0FDSjtBQUlELE1BQU0sT0FBTyxvQkFBb0I7SUFHN0IscUNBQXFDO0lBQ3JDLFdBQVcsR0FBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQy9DLHVCQUF1QjtJQUN2QixJQUFJLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN4QyxXQUFXO0lBQ1gsV0FBVyxHQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLDBCQUEwQjtJQUMxQixlQUFlLEdBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM1RCxZQUFZO0lBQ1gsaUJBQWlCLEdBQTBCLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRzVELFlBQVksSUFBMkI7UUFDbkMsSUFBSSxJQUFJLEVBQUU7WUFDTixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN6QjthQUNKO1NBQ0o7SUFFTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNYXRyaXhDb25maWcge1xyXG4gICAgLy8g55+p6Zi157G75Z6LXHJcbiAgICAnTWF0cml4QmxvY2tUeXBlcyc6IGFueSA9IG5ldyBGb3JtQXJyYXkoW10pXHJcblxyXG4gICAgY29uc3RydWN0b3IoZGF0YT86IE1hdHJpeENvbmZpZykge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBkYXRhW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIE1hdHJpeEl0ZW1Db25maWcge1xyXG4gIFxyXG4gICAgZGlzcGxheU5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICAgIC8qKuWtl+auteWQjeWtlyAqL1xyXG4gICAgbmFtZTogYW55ID0gWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBNYXRyaXhDb25maWcpIHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIG1hdHJpeEZpZWxkSW5wdXRCYXNlIHtcclxuXHJcblxyXG4gICAgLyoq5a2X5q615ZCN56ewIERpc3BsYXkgbmFtZSBvZiB0aGlzIGZpZWxkICovXHJcbiAgICBkaXNwbGF5TmFtZTogYW55ID0gWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dO1xyXG4gICAgLyoq5a2X5q615ZSv5LiA5ZCN56ewIFVuaXF1ZSBOYW1lKi9cclxuICAgIG5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICAgIC8qKuaPj+i/sCDor7TmmI4gKi9cclxuICAgIGRlc2NyaXB0aW9uOiBhbnkgPSBbJycsIFtdXTtcclxuICAgIC8qKkZpZWxkVHlwZeWtl+auteexu+WeiyDooajljZXmjqfku7blkI3np7AgKi9cclxuICAgIGZvcm1Db250cm9sTmFtZTogYW55ID0gWydUZXh0RWRpdCcsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV07XHJcbiAgIC8qKuWKqOaAgeihqOWNlemFjee9riAqL1xyXG4gICAgZm9ybUNvbmZpZ3VyYXRpb246IEZvcm1Hcm91cCB8IHVuZGVmaW5lZCA9IG5ldyBGb3JtR3JvdXAoe30pXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBtYXRyaXhGaWVsZElucHV0QmFzZSkge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBkYXRhW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59Il19