@dignite-ng/expand.cms 0.0.51 → 0.0.52

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 (448) hide show
  1. package/config/ng-package.json +6 -0
  2. package/config/src/cms-config.module.ts +12 -0
  3. package/config/src/components/domains/domains.component.html +17 -0
  4. package/config/src/components/domains/domains.component.scss +0 -0
  5. package/config/src/components/domains/domains.component.spec.ts +21 -0
  6. package/config/src/components/domains/domains.component.ts +109 -0
  7. package/config/src/components/site-language/site-language.component.html +31 -0
  8. package/config/src/components/site-language/site-language.component.scss +0 -0
  9. package/config/src/components/site-language/site-language.component.spec.ts +21 -0
  10. package/config/src/components/site-language/site-language.component.ts +117 -0
  11. package/config/{enums/index.d.ts → src/enums/index.ts} +1 -1
  12. package/config/src/enums/route-names.ts +8 -0
  13. package/config/{providers/index.d.ts → src/providers/index.ts} +1 -1
  14. package/config/src/providers/route.provider.ts +82 -0
  15. package/config/src/proxy/admin/domains/domain-admin.service.ts +38 -0
  16. package/config/{proxy/admin/domains/models.d.ts → src/proxy/admin/domains/models.ts} +9 -7
  17. package/config/src/proxy/dignite/abp/data/index.ts +1 -0
  18. package/config/src/proxy/dignite/abp/data/models.ts +4 -0
  19. package/config/src/proxy/dignite/abp/index.ts +2 -0
  20. package/config/src/proxy/dignite/cms/admin/domains/domain-admin.service.ts +47 -0
  21. package/config/src/proxy/dignite/cms/admin/domains/index.ts +2 -0
  22. package/config/src/proxy/dignite/cms/admin/domains/models.ts +9 -0
  23. package/config/src/proxy/dignite/cms/admin/dynamic-forms/form-admin.service.ts +21 -0
  24. package/config/src/proxy/dignite/cms/admin/dynamic-forms/models.ts +5 -0
  25. package/config/src/proxy/dignite/cms/admin/entries/entry-admin.service.ts +109 -0
  26. package/config/src/proxy/dignite/cms/admin/entries/models.ts +68 -0
  27. package/config/src/proxy/dignite/cms/admin/fields/field-admin.service.ts +64 -0
  28. package/config/src/proxy/dignite/cms/admin/fields/field-group-admin.service.ts +56 -0
  29. package/config/src/proxy/dignite/cms/admin/fields/models.ts +42 -0
  30. package/config/src/proxy/dignite/cms/admin/index.ts +7 -0
  31. package/config/src/proxy/dignite/cms/admin/sections/entry-type-admin.service.ts +55 -0
  32. package/{lib/proxy/admin/sections/models.d.ts → config/src/proxy/dignite/cms/admin/sections/models.ts} +81 -67
  33. package/config/src/proxy/dignite/cms/admin/sections/section-admin.service.ts +74 -0
  34. package/config/src/proxy/dignite/cms/admin/sites/models.ts +5 -0
  35. package/config/src/proxy/dignite/cms/admin/sites/site-admin.service.ts +30 -0
  36. package/config/src/proxy/dignite/cms/entries/entry-status.enum.ts +8 -0
  37. package/config/src/proxy/dignite/cms/fields/index.ts +1 -0
  38. package/config/src/proxy/dignite/cms/fields/models.ts +9 -0
  39. package/config/src/proxy/dignite/cms/index.ts +6 -0
  40. package/config/src/proxy/dignite/cms/sections/models.ts +14 -0
  41. package/config/src/proxy/dignite/cms/sections/section-type.enum.ts +9 -0
  42. package/config/src/proxy/dignite/cms/sites/index.ts +1 -0
  43. package/config/src/proxy/dignite/cms/sites/models.ts +5 -0
  44. package/config/src/proxy/dignite/cms-kit/admin/brand/brand-admin.service.ts +21 -0
  45. package/config/src/proxy/dignite/cms-kit/admin/brand/index.ts +2 -0
  46. package/config/src/proxy/dignite/cms-kit/admin/brand/models.ts +7 -0
  47. package/config/src/proxy/dignite/cms-kit/admin/index.ts +2 -0
  48. package/config/src/proxy/dignite/cms-kit/brand/brand.service.ts +20 -0
  49. package/config/src/proxy/dignite/cms-kit/brand/index.ts +2 -0
  50. package/config/src/proxy/dignite/cms-kit/brand/models.ts +7 -0
  51. package/config/src/proxy/dignite/cms-kit/index.ts +3 -0
  52. package/config/src/proxy/dignite/file-explorer/directories/file-descriptor.service.ts +65 -0
  53. package/config/src/proxy/dignite/file-explorer/directories/index.ts +2 -0
  54. package/config/src/proxy/dignite/file-explorer/directories/models.ts +35 -0
  55. package/config/src/proxy/dignite/file-explorer/files/file-descriptor.service.ts +101 -0
  56. package/config/src/proxy/dignite/file-explorer/files/index.ts +2 -0
  57. package/config/src/proxy/dignite/file-explorer/files/models.ts +61 -0
  58. package/config/src/proxy/dignite/file-explorer/index.ts +3 -0
  59. package/config/src/proxy/dignite/index.ts +6 -0
  60. package/config/src/proxy/dignite/travely/areas/index.ts +1 -0
  61. package/config/src/proxy/dignite/travely/areas/models.ts +5 -0
  62. package/config/src/proxy/dignite/travely/common/index.ts +1 -0
  63. package/config/src/proxy/dignite/travely/common/models.ts +5 -0
  64. package/config/src/proxy/dignite/travely/entity-snapshots/index.ts +1 -0
  65. package/config/src/proxy/dignite/travely/entity-snapshots/models.ts +7 -0
  66. package/config/src/proxy/dignite/travely/guides/index.ts +1 -0
  67. package/config/src/proxy/dignite/travely/guides/models.ts +26 -0
  68. package/config/src/proxy/dignite/travely/index.ts +9 -0
  69. package/config/src/proxy/dignite/travely/merchants/index.ts +1 -0
  70. package/config/src/proxy/dignite/travely/merchants/models.ts +9 -0
  71. package/config/src/proxy/dignite/travely/orders/index.ts +1 -0
  72. package/config/src/proxy/dignite/travely/orders/models.ts +52 -0
  73. package/config/src/proxy/dignite/travely/payment/index.ts +1 -0
  74. package/config/src/proxy/dignite/travely/payment/models.ts +9 -0
  75. package/config/src/proxy/dignite/travely/tours/booking-time-type.enum.ts +9 -0
  76. package/config/src/proxy/dignite/travely/tours/index.ts +5 -0
  77. package/config/src/proxy/dignite/travely/tours/models.ts +77 -0
  78. package/config/src/proxy/dignite/travely/tours/period-type.enum.ts +9 -0
  79. package/config/src/proxy/dignite/travely/tours/tour-recommendation-rank.enum.ts +12 -0
  80. package/config/src/proxy/dignite/travely/tours/tourist-type.enum.ts +8 -0
  81. package/config/src/proxy/microsoft/asp-net-core/index.ts +2 -0
  82. package/config/src/proxy/microsoft/asp-net-core/mvc/index.ts +1 -0
  83. package/config/src/proxy/microsoft/asp-net-core/mvc/models.ts +12 -0
  84. package/config/src/proxy/microsoft/extensions/index.ts +2 -0
  85. package/config/src/proxy/microsoft/extensions/primitives/index.ts +1 -0
  86. package/config/src/proxy/microsoft/extensions/primitives/models.ts +9 -0
  87. package/config/src/proxy/microsoft/index.ts +4 -0
  88. package/config/src/proxy/microsoft/net/http/headers/index.ts +1 -0
  89. package/config/src/proxy/microsoft/net/http/headers/models.ts +7 -0
  90. package/config/src/proxy/microsoft/net/http/index.ts +2 -0
  91. package/config/src/proxy/microsoft/net/index.ts +2 -0
  92. package/config/{public-api.d.ts → src/public-api.ts} +3 -3
  93. package/config/src/services/validators.service.ts +80 -0
  94. package/ng-package.json +10 -0
  95. package/package.json +7 -22
  96. package/src/lib/cms-routing.module.ts +102 -0
  97. package/src/lib/cms.module.ts +109 -0
  98. package/src/lib/components/admin/entries/create-or-edit-entries.component.html +137 -0
  99. package/src/lib/components/admin/entries/create-or-edit-entries.component.scss +1 -0
  100. package/src/lib/components/admin/entries/create-or-edit-entries.component.spec.ts +21 -0
  101. package/src/lib/components/admin/entries/create-or-edit-entries.component.ts +318 -0
  102. package/src/lib/components/admin/entries/create-or-update-entry-input-base.ts +33 -0
  103. package/src/lib/components/admin/entries/create.component.html +13 -0
  104. package/src/lib/components/admin/entries/create.component.scss +1 -0
  105. package/src/lib/components/admin/entries/create.component.spec.ts +21 -0
  106. package/src/lib/components/admin/entries/create.component.ts +110 -0
  107. package/src/lib/components/admin/entries/edit.component.html +9 -0
  108. package/src/lib/components/admin/entries/edit.component.scss +1 -0
  109. package/src/lib/components/admin/entries/edit.component.spec.ts +21 -0
  110. package/src/lib/components/admin/entries/edit.component.ts +111 -0
  111. package/src/lib/components/admin/entries/entries.component.html +112 -0
  112. package/src/lib/components/admin/entries/entries.component.scss +1 -0
  113. package/src/lib/components/admin/entries/entries.component.spec.ts +21 -0
  114. package/src/lib/components/admin/entries/entries.component.ts +216 -0
  115. package/src/lib/components/admin/entries/index.ts +4 -0
  116. package/src/lib/components/admin/fields/create-field.component.html +12 -0
  117. package/src/lib/components/admin/fields/create-field.component.scss +1 -0
  118. package/src/lib/components/admin/fields/create-field.component.spec.ts +21 -0
  119. package/src/lib/components/admin/fields/create-field.component.ts +82 -0
  120. package/src/lib/components/admin/fields/create-or-edit-field.component.html +40 -0
  121. package/src/lib/components/admin/fields/create-or-edit-field.component.scss +0 -0
  122. package/src/lib/components/admin/fields/create-or-edit-field.component.spec.ts +21 -0
  123. package/src/lib/components/admin/fields/create-or-edit-field.component.ts +121 -0
  124. package/src/lib/components/admin/fields/create-or-update-field-input-base.ts +33 -0
  125. package/src/lib/components/admin/fields/edit-field.component.html +16 -0
  126. package/src/lib/components/admin/fields/edit-field.component.scss +0 -0
  127. package/src/lib/components/admin/fields/edit-field.component.spec.ts +21 -0
  128. package/src/lib/components/admin/fields/edit-field.component.ts +101 -0
  129. package/src/lib/components/admin/fields/field-group.component.html +69 -0
  130. package/src/lib/components/admin/fields/field-group.component.scss +0 -0
  131. package/src/lib/components/admin/fields/field-group.component.spec.ts +21 -0
  132. package/src/lib/components/admin/fields/field-group.component.ts +151 -0
  133. package/src/lib/components/admin/fields/fields.component.html +74 -0
  134. package/src/lib/components/admin/fields/fields.component.scss +1 -0
  135. package/src/lib/components/admin/fields/fields.component.spec.ts +21 -0
  136. package/src/lib/components/admin/fields/fields.component.ts +109 -0
  137. package/src/lib/components/admin/fields/index.ts +6 -0
  138. package/src/lib/components/admin/index.ts +3 -0
  139. package/src/lib/components/admin/sections/create-or-update-sections-input-base.ts +32 -0
  140. package/src/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.ts +79 -0
  141. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.html +187 -0
  142. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.scss +1 -0
  143. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.spec.ts +21 -0
  144. package/src/lib/components/admin/sections/entry-types/create-or-edit.component.ts +424 -0
  145. package/src/lib/components/admin/sections/entry-types/index.ts +2 -0
  146. package/src/lib/components/admin/sections/index.ts +3 -0
  147. package/src/lib/components/admin/sections/sections.component.html +188 -0
  148. package/src/lib/components/admin/sections/sections.component.scss +1 -0
  149. package/src/lib/components/admin/sections/sections.component.spec.ts +21 -0
  150. package/src/lib/components/admin/sections/sections.component.ts +302 -0
  151. package/src/lib/components/dynamic-form/entry/entry-config.component.html +36 -0
  152. package/src/lib/components/dynamic-form/entry/entry-config.component.scss +27 -0
  153. package/src/lib/components/dynamic-form/entry/entry-config.component.spec.ts +21 -0
  154. package/src/lib/components/dynamic-form/entry/entry-config.component.ts +114 -0
  155. package/src/lib/components/dynamic-form/entry/entry-config.ts +24 -0
  156. package/src/lib/components/dynamic-form/entry/entry-control.component.html +26 -0
  157. package/src/lib/components/dynamic-form/entry/entry-control.component.scss +1 -0
  158. package/src/lib/components/dynamic-form/entry/entry-control.component.spec.ts +21 -0
  159. package/src/lib/components/dynamic-form/entry/entry-control.component.ts +111 -0
  160. package/src/lib/components/dynamic-form/entry/index.ts +3 -0
  161. package/src/lib/components/dynamic-form/form-control-group.ts +27 -0
  162. package/src/lib/components/dynamic-form/index.ts +4 -0
  163. package/src/lib/components/dynamic-form/matrix/index.ts +3 -0
  164. package/src/lib/components/dynamic-form/matrix/matrix-config.component.html +148 -0
  165. package/src/lib/components/dynamic-form/matrix/matrix-config.component.scss +0 -0
  166. package/src/lib/components/dynamic-form/matrix/matrix-config.component.spec.ts +21 -0
  167. package/src/lib/components/dynamic-form/matrix/matrix-config.component.ts +239 -0
  168. package/src/lib/components/dynamic-form/matrix/matrix-config.ts +63 -0
  169. package/src/lib/components/dynamic-form/matrix/matrix-control.component.html +42 -0
  170. package/src/lib/components/dynamic-form/matrix/matrix-control.component.scss +0 -0
  171. package/src/lib/components/dynamic-form/matrix/matrix-control.component.spec.ts +21 -0
  172. package/src/lib/components/dynamic-form/matrix/matrix-control.component.ts +106 -0
  173. package/src/lib/components/dynamic-form/table/index.ts +3 -0
  174. package/src/lib/components/dynamic-form/table/table-config.component.html +85 -0
  175. package/src/lib/components/dynamic-form/table/table-config.component.scss +10 -0
  176. package/src/lib/components/dynamic-form/table/table-config.component.spec.ts +21 -0
  177. package/src/lib/components/dynamic-form/table/table-config.component.ts +170 -0
  178. package/src/lib/components/dynamic-form/table/table-config.ts +45 -0
  179. package/src/lib/components/dynamic-form/table/table-control.component.html +54 -0
  180. package/src/lib/components/dynamic-form/table/table-control.component.scss +1 -0
  181. package/src/lib/components/dynamic-form/table/table-control.component.spec.ts +21 -0
  182. package/src/lib/components/dynamic-form/table/table-control.component.ts +114 -0
  183. package/src/lib/components/index.ts +2 -0
  184. package/src/lib/constants/index.ts +1 -0
  185. package/src/lib/constants/styles.ts +20 -0
  186. package/src/lib/enums/ecms-component.ts +11 -0
  187. package/src/lib/enums/index.ts +1 -0
  188. package/src/lib/proxy/README.md +17 -0
  189. package/src/lib/proxy/admin/domains/domain-admin.service.ts +38 -0
  190. package/src/lib/proxy/admin/domains/index.ts +2 -0
  191. package/src/lib/proxy/admin/domains/models.ts +9 -0
  192. package/src/lib/proxy/admin/dynamic-forms/form-admin.service.ts +21 -0
  193. package/src/lib/proxy/admin/dynamic-forms/index.ts +2 -0
  194. package/src/lib/proxy/admin/dynamic-forms/models.ts +5 -0
  195. package/src/lib/proxy/admin/entries/entry-admin.service.ts +109 -0
  196. package/src/lib/proxy/admin/entries/index.ts +2 -0
  197. package/src/lib/proxy/admin/entries/models.ts +68 -0
  198. package/src/lib/proxy/admin/fields/field-admin.service.ts +64 -0
  199. package/src/lib/proxy/admin/fields/field-group-admin.service.ts +56 -0
  200. package/src/lib/proxy/admin/fields/index.ts +3 -0
  201. package/{lib/proxy/admin/fields/models.d.ts → src/lib/proxy/admin/fields/models.ts} +42 -34
  202. package/src/lib/proxy/admin/index.ts +7 -0
  203. package/src/lib/proxy/admin/sections/entry-type-admin.service.ts +55 -0
  204. package/src/lib/proxy/admin/sections/index.ts +3 -0
  205. package/src/lib/proxy/admin/sections/models.ts +81 -0
  206. package/src/lib/proxy/admin/sections/section-admin.service.ts +74 -0
  207. package/src/lib/proxy/admin/settings/site-settings-admin.service.ts +37 -0
  208. package/src/lib/proxy/dignite/abp/data/index.ts +1 -0
  209. package/src/lib/proxy/dignite/abp/data/models.ts +4 -0
  210. package/src/lib/proxy/dignite/abp/index.ts +2 -0
  211. package/src/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.ts +65 -0
  212. package/src/lib/proxy/dignite/file-explorer/directories/index.ts +2 -0
  213. package/src/lib/proxy/dignite/file-explorer/directories/models.ts +35 -0
  214. package/src/lib/proxy/dignite/file-explorer/files/file-descriptor.service.ts +86 -0
  215. package/src/lib/proxy/dignite/file-explorer/files/index.ts +2 -0
  216. package/src/lib/proxy/dignite/file-explorer/files/models.ts +58 -0
  217. package/src/lib/proxy/dignite/file-explorer/index.ts +3 -0
  218. package/src/lib/proxy/dignite/index.ts +3 -0
  219. package/src/lib/proxy/entries/entry-status.enum.ts +8 -0
  220. package/src/lib/proxy/entries/index.ts +1 -0
  221. package/src/lib/proxy/fields/index.ts +1 -0
  222. package/src/lib/proxy/fields/models.ts +9 -0
  223. package/src/lib/proxy/generate-proxy.json +11425 -0
  224. package/src/lib/proxy/index.ts +9 -0
  225. package/src/lib/proxy/microsoft/asp-net-core/index.ts +2 -0
  226. package/src/lib/proxy/microsoft/asp-net-core/mvc/index.ts +1 -0
  227. package/src/lib/proxy/microsoft/asp-net-core/mvc/models.ts +12 -0
  228. package/src/lib/proxy/microsoft/extensions/index.ts +2 -0
  229. package/src/lib/proxy/microsoft/extensions/primitives/index.ts +1 -0
  230. package/src/lib/proxy/microsoft/extensions/primitives/models.ts +9 -0
  231. package/src/lib/proxy/microsoft/index.ts +4 -0
  232. package/src/lib/proxy/microsoft/net/http/headers/index.ts +1 -0
  233. package/src/lib/proxy/microsoft/net/http/headers/models.ts +7 -0
  234. package/src/lib/proxy/microsoft/net/http/index.ts +2 -0
  235. package/src/lib/proxy/microsoft/net/index.ts +2 -0
  236. package/src/lib/proxy/sections/index.ts +2 -0
  237. package/src/lib/proxy/sections/models.ts +14 -0
  238. package/src/lib/proxy/sections/section-type.enum.ts +9 -0
  239. package/src/lib/proxy/settings/index.ts +1 -0
  240. package/src/lib/proxy/settings/models.ts +6 -0
  241. package/src/lib/proxy/volo/abp/content/index.ts +1 -0
  242. package/src/lib/proxy/volo/abp/content/models.ts +6 -0
  243. package/src/lib/proxy/volo/abp/index.ts +2 -0
  244. package/src/lib/proxy/volo/cms-kit/index.ts +2 -0
  245. package/src/lib/proxy/volo/cms-kit/users/index.ts +1 -0
  246. package/{lib/proxy/volo/cms-kit/users/models.d.ts → src/lib/proxy/volo/cms-kit/users/models.ts} +8 -7
  247. package/src/lib/proxy/volo/index.ts +3 -0
  248. package/src/lib/resolvers/extensions-props-action-token.resolver.ts +178 -0
  249. package/src/lib/resolvers/page-default-toolbar-actions.ts +170 -0
  250. package/src/lib/resolvers/table-default-entity-actions.ts +24 -0
  251. package/src/lib/resolvers/table-default-entity-props.ts +36 -0
  252. package/src/lib/services/appent-content.ts +13 -0
  253. package/src/lib/services/cms-api.service.ts +71 -0
  254. package/src/lib/services/cms.service.ts +18 -0
  255. package/src/lib/services/field-abstracts.service.ts +40 -0
  256. package/src/lib/services/index.ts +4 -0
  257. package/src/lib/services/simple-reuse-strategy.ts +74 -0
  258. package/src/lib/services/update-list.service.ts +15 -0
  259. package/src/lib/services/validators.service.ts +82 -0
  260. package/{public-api.d.ts → src/public-api.ts} +6 -2
  261. package/src/test.ts +26 -0
  262. package/tsconfig.lib.json +16 -0
  263. package/tsconfig.lib.prod.json +10 -0
  264. package/tsconfig.spec.json +17 -0
  265. package/config/cms-config.module.d.ts +0 -8
  266. package/config/components/domains/domains.component.d.ts +0 -29
  267. package/config/components/site-language/site-language.component.d.ts +0 -29
  268. package/config/enums/route-names.d.ts +0 -8
  269. package/config/index.d.ts +0 -5
  270. package/config/providers/route.provider.d.ts +0 -9
  271. package/config/proxy/admin/domains/domain-admin.service.d.ts +0 -13
  272. package/config/proxy/dignite/cms/admin/sites/models.d.ts +0 -4
  273. package/config/proxy/dignite/cms/admin/sites/site-admin.service.d.ts +0 -13
  274. package/config/proxy/dignite/cms/sites/models.d.ts +0 -4
  275. package/config/services/validators.service.d.ts +0 -16
  276. package/esm2022/config/cms-config.module.mjs +0 -18
  277. package/esm2022/config/components/domains/domains.component.mjs +0 -102
  278. package/esm2022/config/components/site-language/site-language.component.mjs +0 -108
  279. package/esm2022/config/dignite-ng-expand.cms-config.mjs +0 -5
  280. package/esm2022/config/enums/index.mjs +0 -2
  281. package/esm2022/config/enums/route-names.mjs +0 -10
  282. package/esm2022/config/providers/index.mjs +0 -2
  283. package/esm2022/config/providers/route.provider.mjs +0 -74
  284. package/esm2022/config/proxy/admin/domains/domain-admin.service.mjs +0 -32
  285. package/esm2022/config/proxy/admin/domains/index.mjs +0 -3
  286. package/esm2022/config/proxy/admin/domains/models.mjs +0 -2
  287. package/esm2022/config/proxy/dignite/cms/admin/sites/index.mjs +0 -3
  288. package/esm2022/config/proxy/dignite/cms/admin/sites/models.mjs +0 -2
  289. package/esm2022/config/proxy/dignite/cms/admin/sites/site-admin.service.mjs +0 -27
  290. package/esm2022/config/proxy/dignite/cms/sites/models.mjs +0 -2
  291. package/esm2022/config/public-api.mjs +0 -4
  292. package/esm2022/config/services/validators.service.mjs +0 -83
  293. package/esm2022/dignite-ng-expand.cms.mjs +0 -5
  294. package/esm2022/lib/cms-routing.module.mjs +0 -94
  295. package/esm2022/lib/cms.module.mjs +0 -130
  296. package/esm2022/lib/components/admin/entries/create-or-edit-entries.component.mjs +0 -303
  297. package/esm2022/lib/components/admin/entries/create-or-update-entry-input-base.mjs +0 -32
  298. package/esm2022/lib/components/admin/entries/create.component.mjs +0 -108
  299. package/esm2022/lib/components/admin/entries/edit.component.mjs +0 -109
  300. package/esm2022/lib/components/admin/entries/entries.component.mjs +0 -198
  301. package/esm2022/lib/components/admin/entries/index.mjs +0 -5
  302. package/esm2022/lib/components/admin/fields/create-field.component.mjs +0 -80
  303. package/esm2022/lib/components/admin/fields/create-or-edit-field.component.mjs +0 -112
  304. package/esm2022/lib/components/admin/fields/create-or-update-field-input-base.mjs +0 -25
  305. package/esm2022/lib/components/admin/fields/edit-field.component.mjs +0 -103
  306. package/esm2022/lib/components/admin/fields/field-group.component.mjs +0 -131
  307. package/esm2022/lib/components/admin/fields/fields.component.mjs +0 -109
  308. package/esm2022/lib/components/admin/fields/index.mjs +0 -7
  309. package/esm2022/lib/components/admin/index.mjs +0 -4
  310. package/esm2022/lib/components/admin/sections/create-or-update-sections-input-base.mjs +0 -27
  311. package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.mjs +0 -71
  312. package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.component.mjs +0 -389
  313. package/esm2022/lib/components/admin/sections/entry-types/index.mjs +0 -3
  314. package/esm2022/lib/components/admin/sections/index.mjs +0 -4
  315. package/esm2022/lib/components/admin/sections/sections.component.mjs +0 -292
  316. package/esm2022/lib/components/dynamic-form/entry/entry-config.component.mjs +0 -112
  317. package/esm2022/lib/components/dynamic-form/entry/entry-config.mjs +0 -18
  318. package/esm2022/lib/components/dynamic-form/entry/entry-control.component.mjs +0 -105
  319. package/esm2022/lib/components/dynamic-form/entry/index.mjs +0 -4
  320. package/esm2022/lib/components/dynamic-form/form-control-group.mjs +0 -28
  321. package/esm2022/lib/components/dynamic-form/index.mjs +0 -5
  322. package/esm2022/lib/components/dynamic-form/matrix/index.mjs +0 -4
  323. package/esm2022/lib/components/dynamic-form/matrix/matrix-config.component.mjs +0 -214
  324. package/esm2022/lib/components/dynamic-form/matrix/matrix-config.mjs +0 -50
  325. package/esm2022/lib/components/dynamic-form/matrix/matrix-control.component.mjs +0 -98
  326. package/esm2022/lib/components/dynamic-form/table/index.mjs +0 -4
  327. package/esm2022/lib/components/dynamic-form/table/table-config.component.mjs +0 -151
  328. package/esm2022/lib/components/dynamic-form/table/table-config.mjs +0 -38
  329. package/esm2022/lib/components/dynamic-form/table/table-control.component.mjs +0 -105
  330. package/esm2022/lib/components/index.mjs +0 -3
  331. package/esm2022/lib/constants/styles.mjs +0 -21
  332. package/esm2022/lib/enums/ecms-component.mjs +0 -13
  333. package/esm2022/lib/enums/index.mjs +0 -2
  334. package/esm2022/lib/proxy/admin/dynamic-forms/form-admin.service.mjs +0 -22
  335. package/esm2022/lib/proxy/admin/dynamic-forms/index.mjs +0 -3
  336. package/esm2022/lib/proxy/admin/dynamic-forms/models.mjs +0 -2
  337. package/esm2022/lib/proxy/admin/entries/entry-admin.service.mjs +0 -70
  338. package/esm2022/lib/proxy/admin/entries/index.mjs +0 -3
  339. package/esm2022/lib/proxy/admin/entries/models.mjs +0 -2
  340. package/esm2022/lib/proxy/admin/fields/field-admin.service.mjs +0 -45
  341. package/esm2022/lib/proxy/admin/fields/field-group-admin.service.mjs +0 -41
  342. package/esm2022/lib/proxy/admin/fields/index.mjs +0 -4
  343. package/esm2022/lib/proxy/admin/fields/models.mjs +0 -2
  344. package/esm2022/lib/proxy/admin/sections/entry-type-admin.service.mjs +0 -41
  345. package/esm2022/lib/proxy/admin/sections/index.mjs +0 -4
  346. package/esm2022/lib/proxy/admin/sections/models.mjs +0 -2
  347. package/esm2022/lib/proxy/admin/sections/section-admin.service.mjs +0 -51
  348. package/esm2022/lib/proxy/admin/settings/index.mjs +0 -2
  349. package/esm2022/lib/proxy/admin/settings/site-settings-admin.service.mjs +0 -31
  350. package/esm2022/lib/proxy/dignite/abp/data/models.mjs +0 -2
  351. package/esm2022/lib/proxy/entries/entry-status.enum.mjs +0 -8
  352. package/esm2022/lib/proxy/entries/index.mjs +0 -2
  353. package/esm2022/lib/proxy/fields/models.mjs +0 -2
  354. package/esm2022/lib/proxy/sections/index.mjs +0 -3
  355. package/esm2022/lib/proxy/sections/models.mjs +0 -2
  356. package/esm2022/lib/proxy/sections/section-type.enum.mjs +0 -9
  357. package/esm2022/lib/proxy/settings/models.mjs +0 -2
  358. package/esm2022/lib/proxy/volo/cms-kit/users/models.mjs +0 -2
  359. package/esm2022/lib/resolvers/extensions-props-action-token.resolver.mjs +0 -132
  360. package/esm2022/lib/resolvers/page-default-toolbar-actions.mjs +0 -160
  361. package/esm2022/lib/services/appent-content.mjs +0 -15
  362. package/esm2022/lib/services/cms-api.service.mjs +0 -78
  363. package/esm2022/lib/services/cms.service.mjs +0 -21
  364. package/esm2022/lib/services/field-abstracts.service.mjs +0 -42
  365. package/esm2022/lib/services/index.mjs +0 -5
  366. package/esm2022/lib/services/simple-reuse-strategy.mjs +0 -64
  367. package/esm2022/lib/services/update-list.service.mjs +0 -19
  368. package/esm2022/lib/services/validators.service.mjs +0 -85
  369. package/esm2022/public-api.mjs +0 -6
  370. package/fesm2022/dignite-ng-expand.cms-config.mjs +0 -428
  371. package/fesm2022/dignite-ng-expand.cms-config.mjs.map +0 -1
  372. package/fesm2022/dignite-ng-expand.cms.mjs +0 -3913
  373. package/fesm2022/dignite-ng-expand.cms.mjs.map +0 -1
  374. package/index.d.ts +0 -5
  375. package/lib/cms-routing.module.d.ts +0 -7
  376. package/lib/cms.module.d.ts +0 -34
  377. package/lib/components/admin/entries/create-or-edit-entries.component.d.ts +0 -96
  378. package/lib/components/admin/entries/create-or-update-entry-input-base.d.ts +0 -23
  379. package/lib/components/admin/entries/create.component.d.ts +0 -47
  380. package/lib/components/admin/entries/edit.component.d.ts +0 -47
  381. package/lib/components/admin/entries/entries.component.d.ts +0 -66
  382. package/lib/components/admin/entries/index.d.ts +0 -4
  383. package/lib/components/admin/fields/create-field.component.d.ts +0 -37
  384. package/lib/components/admin/fields/create-or-edit-field.component.d.ts +0 -38
  385. package/lib/components/admin/fields/create-or-update-field-input-base.d.ts +0 -16
  386. package/lib/components/admin/fields/edit-field.component.d.ts +0 -46
  387. package/lib/components/admin/fields/field-group.component.d.ts +0 -58
  388. package/lib/components/admin/fields/fields.component.d.ts +0 -35
  389. package/lib/components/admin/fields/index.d.ts +0 -6
  390. package/lib/components/admin/index.d.ts +0 -3
  391. package/lib/components/admin/sections/create-or-update-sections-input-base.d.ts +0 -17
  392. package/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.d.ts +0 -38
  393. package/lib/components/admin/sections/entry-types/create-or-edit.component.d.ts +0 -138
  394. package/lib/components/admin/sections/entry-types/index.d.ts +0 -2
  395. package/lib/components/admin/sections/index.d.ts +0 -3
  396. package/lib/components/admin/sections/sections.component.d.ts +0 -64
  397. package/lib/components/dynamic-form/entry/entry-config.component.d.ts +0 -39
  398. package/lib/components/dynamic-form/entry/entry-config.d.ts +0 -9
  399. package/lib/components/dynamic-form/entry/entry-control.component.d.ts +0 -35
  400. package/lib/components/dynamic-form/entry/index.d.ts +0 -3
  401. package/lib/components/dynamic-form/form-control-group.d.ts +0 -4
  402. package/lib/components/dynamic-form/index.d.ts +0 -4
  403. package/lib/components/dynamic-form/matrix/index.d.ts +0 -3
  404. package/lib/components/dynamic-form/matrix/matrix-config.component.d.ts +0 -73
  405. package/lib/components/dynamic-form/matrix/matrix-config.d.ts +0 -24
  406. package/lib/components/dynamic-form/matrix/matrix-control.component.d.ts +0 -39
  407. package/lib/components/dynamic-form/table/index.d.ts +0 -3
  408. package/lib/components/dynamic-form/table/table-config.component.d.ts +0 -58
  409. package/lib/components/dynamic-form/table/table-config.d.ts +0 -18
  410. package/lib/components/dynamic-form/table/table-control.component.d.ts +0 -39
  411. package/lib/components/index.d.ts +0 -2
  412. package/lib/constants/styles.d.ts +0 -2
  413. package/lib/enums/ecms-component.d.ts +0 -11
  414. package/lib/enums/index.d.ts +0 -1
  415. package/lib/proxy/admin/dynamic-forms/form-admin.service.d.ts +0 -12
  416. package/lib/proxy/admin/dynamic-forms/models.d.ts +0 -4
  417. package/lib/proxy/admin/entries/entry-admin.service.d.ts +0 -22
  418. package/lib/proxy/admin/entries/models.d.ts +0 -60
  419. package/lib/proxy/admin/fields/field-admin.service.d.ts +0 -17
  420. package/lib/proxy/admin/fields/field-group-admin.service.d.ts +0 -16
  421. package/lib/proxy/admin/sections/entry-type-admin.service.d.ts +0 -15
  422. package/lib/proxy/admin/sections/section-admin.service.d.ts +0 -18
  423. package/lib/proxy/admin/settings/site-settings-admin.service.d.ts +0 -13
  424. package/lib/proxy/dignite/abp/data/models.d.ts +0 -3
  425. package/lib/proxy/entries/entry-status.enum.d.ts +0 -5
  426. package/lib/proxy/fields/models.d.ts +0 -8
  427. package/lib/proxy/sections/models.d.ts +0 -12
  428. package/lib/proxy/sections/section-type.enum.d.ts +0 -6
  429. package/lib/proxy/settings/models.d.ts +0 -5
  430. package/lib/resolvers/extensions-props-action-token.resolver.d.ts +0 -71
  431. package/lib/resolvers/page-default-toolbar-actions.d.ts +0 -18
  432. package/lib/services/appent-content.d.ts +0 -1
  433. package/lib/services/cms-api.service.d.ts +0 -20
  434. package/lib/services/cms.service.d.ts +0 -10
  435. package/lib/services/field-abstracts.service.d.ts +0 -20
  436. package/lib/services/index.d.ts +0 -4
  437. package/lib/services/simple-reuse-strategy.d.ts +0 -13
  438. package/lib/services/update-list.service.d.ts +0 -9
  439. package/lib/services/validators.service.d.ts +0 -17
  440. /package/config/{proxy/admin/domains/index.d.ts → src/proxy/admin/domains/index.ts} +0 -0
  441. /package/{lib/proxy/admin/dynamic-forms/index.d.ts → config/src/proxy/dignite/cms/admin/dynamic-forms/index.ts} +0 -0
  442. /package/{lib/proxy/admin/entries/index.d.ts → config/src/proxy/dignite/cms/admin/entries/index.ts} +0 -0
  443. /package/{lib/proxy/admin/fields/index.d.ts → config/src/proxy/dignite/cms/admin/fields/index.ts} +0 -0
  444. /package/{lib/proxy/admin/sections/index.d.ts → config/src/proxy/dignite/cms/admin/sections/index.ts} +0 -0
  445. /package/config/{proxy/dignite/cms/admin/sites/index.d.ts → src/proxy/dignite/cms/admin/sites/index.ts} +0 -0
  446. /package/{lib/proxy/entries/index.d.ts → config/src/proxy/dignite/cms/entries/index.ts} +0 -0
  447. /package/{lib/proxy/sections/index.d.ts → config/src/proxy/dignite/cms/sections/index.ts} +0 -0
  448. /package/{lib/proxy/admin/settings/index.d.ts → src/lib/proxy/admin/settings/index.ts} +0 -0
@@ -0,0 +1,18 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { RestService } from '@abp/ng.core';
3
+
4
+ @Injectable({
5
+ providedIn: 'root',
6
+ })
7
+ export class CmsService {
8
+ apiName = 'Cms';
9
+
10
+ constructor(private restService: RestService) {}
11
+
12
+ sample() {
13
+ return this.restService.request<void, any>(
14
+ { method: 'GET', url: '/api/Cms/sample' },
15
+ { apiName: this.apiName }
16
+ );
17
+ }
18
+ }
@@ -0,0 +1,40 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FieldGroupAdminService } from '../proxy/admin/fields/field-group-admin.service';
3
+ import { FieldGroupDto } from '../proxy/admin/fields/models';
4
+ import { FormAdminService } from '../proxy/admin/dynamic-forms';
5
+
6
+ @Injectable({
7
+ providedIn: 'root'
8
+ })
9
+ export class FieldAbstractsService {
10
+
11
+ constructor(
12
+ private _FieldGroupAdminService: FieldGroupAdminService,
13
+ private _FormAdminService: FormAdminService,
14
+ ) { }
15
+ /**字段分组列表 */
16
+ fieldGroupList: FieldGroupDto[] = []
17
+ /**获取字段分组列表 */
18
+ getfieldGroupList() {
19
+ this._FieldGroupAdminService.getList({}).subscribe(res => {
20
+ this.fieldGroupList = res.items
21
+ })
22
+ }
23
+
24
+ /**表单控件类型 */
25
+ fromControlList: any[] = []
26
+ /**获取表单控件类型 */
27
+ getFromControlList() {
28
+ return new Promise((resolve, reject) => {
29
+ this._FormAdminService.getFormControls({}).subscribe(res => {
30
+ this.fromControlList = res.items
31
+ resolve(res.items)
32
+ })
33
+ })
34
+ }
35
+ getExcludeAssignControl(typeName?) {
36
+ // return this.fromControlList.filter(el => el.name !== typeName)
37
+ return this.fromControlList
38
+ }
39
+
40
+ }
@@ -0,0 +1,4 @@
1
+ export * from './field-abstracts.service'
2
+ export * from './cms.service'
3
+ export * from './cms-api.service'
4
+ export * from './simple-reuse-strategy'
@@ -0,0 +1,74 @@
1
+
2
+
3
+ import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';
4
+
5
+ export class SimpleReuseStrategy implements RouteReuseStrategy {
6
+ static cacheRouters = new Map<string, DetachedRouteHandle>();
7
+
8
+ public static deleteRouteCache(url): void {
9
+ if (SimpleReuseStrategy.cacheRouters.has(url)) {
10
+ const handle: any = SimpleReuseStrategy.cacheRouters.get(url);
11
+ try {
12
+ handle.componentRef.destory();
13
+ } catch (e) { }
14
+ SimpleReuseStrategy.cacheRouters.delete(url);
15
+ }
16
+ }
17
+
18
+ public static deleteAllRouteCache(): void {
19
+ SimpleReuseStrategy.cacheRouters.forEach((handle: any, key) => {
20
+ SimpleReuseStrategy.deleteRouteCache(key);
21
+ });
22
+ }
23
+
24
+ // one 进入路由触发,是否同一路由时复用路由
25
+ shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot,): boolean {
26
+ return future.routeConfig === curr.routeConfig &&
27
+ JSON.stringify(future.params) === JSON.stringify(curr.params);
28
+ }
29
+
30
+ // 获取存储路由
31
+ retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {
32
+ const url = this.getFullRouteURL(route);
33
+ if (route.data.keep && SimpleReuseStrategy.cacheRouters.has( url) ) {
34
+ return SimpleReuseStrategy.cacheRouters.get(url);
35
+ } else {
36
+ return null;
37
+ }
38
+ }
39
+
40
+ // 是否允许复用路由
41
+ shouldDetach(route: ActivatedRouteSnapshot): boolean {
42
+ return Boolean(route.data.keep);
43
+ }
44
+ // 当路由离开时会触发,存储路由
45
+ store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {
46
+ const url = this.getFullRouteURL(route);
47
+ // 先把之前缓存的删除,
48
+ SimpleReuseStrategy.cacheRouters.forEach((handle: any, key) => {
49
+ SimpleReuseStrategy.deleteRouteCache(key);
50
+ });
51
+ SimpleReuseStrategy.cacheRouters.set(url, handle);
52
+ }
53
+ // 是否允许还原路由
54
+ shouldAttach(route: ActivatedRouteSnapshot): boolean {
55
+ const url = this.getFullRouteURL(route);
56
+ return Boolean(route.data.keep) && SimpleReuseStrategy.cacheRouters.has(url);
57
+ }
58
+
59
+ // 获取当前路由url
60
+ private getFullRouteURL(route: ActivatedRouteSnapshot): string {
61
+ const { pathFromRoot } = route;
62
+ let fullRouteUrlPath: string[] = [];
63
+ pathFromRoot.forEach((item: ActivatedRouteSnapshot) => {
64
+ fullRouteUrlPath = fullRouteUrlPath.concat( this.getRouteUrlPath(item) );
65
+ });
66
+ return `/${fullRouteUrlPath.join('/')}`;
67
+
68
+ }
69
+ private getRouteUrlPath(route: ActivatedRouteSnapshot) {
70
+ return route.url.map(urlSegment => urlSegment.path);
71
+ }
72
+
73
+
74
+ }
@@ -0,0 +1,15 @@
1
+ import { EventEmitter, Injectable } from '@angular/core';
2
+
3
+ @Injectable({
4
+ providedIn: 'root'
5
+ })
6
+ export class UpdateListService {
7
+
8
+ public updateListEvent: EventEmitter<any> = new EventEmitter();
9
+
10
+ constructor() { }
11
+
12
+ updateList() {
13
+ this.updateListEvent.emit();
14
+ }
15
+ }
@@ -0,0 +1,82 @@
1
+ import { LocalizationService } from '@abp/ng.core';
2
+ import { ToasterService } from '@abp/ng.theme.shared';
3
+ import { inject, Injectable } from '@angular/core';
4
+ import { FormGroup, FormArray, FormControl, FormBuilder } from '@angular/forms';
5
+
6
+ @Injectable({
7
+ providedIn: 'root'
8
+ })
9
+ export class ValidatorsService {
10
+
11
+ constructor() { }
12
+
13
+ private fb = inject(FormBuilder);
14
+ private toaster = inject(ToasterService);
15
+ private _LocalizationService = inject(LocalizationService);
16
+
17
+ /**检查表单- */
18
+ /**检查表单- */
19
+ isCheckForm(input: any,module='AbpValidation') {
20
+ let keys = Object.keys(input);
21
+ for (let i = 0; i < keys.length; i++) {
22
+ const element = keys[i];
23
+ if (input[element] == false) {
24
+ let info = `"${this._LocalizationService.instant(`${module}::${element}`)}" `;
25
+ if (element.includes('.') && !element.includes('].')) {
26
+ let arr = element.split('.');
27
+ info=`"${this._LocalizationService.instant(`CmsKit::${arr[0]}`)}.${this._LocalizationService.instant(`CmsKit::${arr[1]}`)}"`
28
+ }
29
+ if (element.includes('].')) {
30
+ let arr = element.split('].');
31
+ let arrStart = arr[0].split('[');
32
+ info=`"${this._LocalizationService.instant(`CmsKit::${arrStart[0]}`)}[${arrStart[1]}].${this._LocalizationService.instant(`CmsKit::${arr[1]}`)}"`
33
+ }
34
+ info+= `${this._LocalizationService.instant(`AbpValidation::ThisFieldIsNotValid`)}`
35
+ //使用abp多语言提示
36
+ this.toaster.warn(info);
37
+ return true;
38
+ }
39
+ }
40
+ return false;
41
+ }
42
+
43
+
44
+ /**获取表单所有字段是否通过验证 */
45
+ getFormValidationStatus(formEntity: FormGroup | FormArray): { [key: string]: any } {
46
+ let validationStatus: { [key: string]: any } = {};
47
+
48
+ // 递归遍历表单组和表单控件集合
49
+ const traverseForm = (form: FormGroup | FormArray, prefix = '') => {
50
+ if (form instanceof FormGroup) {
51
+ Object.keys(form.controls).forEach(key => {
52
+ const control = form.controls[key];
53
+ let displayName = key.charAt(0).toUpperCase() + key.slice(1);
54
+ const fullKey = prefix ? `${prefix}.${displayName}` : displayName;
55
+ if (control instanceof FormControl) {
56
+ validationStatus[fullKey] = control.valid;
57
+ } else if (control instanceof FormArray) {
58
+ traverseForm(control, fullKey);
59
+ } else if (control instanceof FormGroup) {
60
+ traverseForm(control, fullKey);
61
+ }
62
+ });
63
+ } else if (form instanceof FormArray) {
64
+ form.controls.forEach((control, index) => {
65
+ const fullKey = prefix ? `${prefix}[${index}]` : `[${index}]`;
66
+ if (control instanceof FormControl) {
67
+ validationStatus[fullKey] = control.valid;
68
+ } else if (control instanceof FormArray) {
69
+ traverseForm(control, fullKey);
70
+ } else if (control instanceof FormGroup) {
71
+ traverseForm(control, fullKey);
72
+ }
73
+ });
74
+ }
75
+ };
76
+
77
+ traverseForm(formEntity);
78
+
79
+ return validationStatus;
80
+ }
81
+
82
+ }
@@ -1,2 +1,6 @@
1
- export * from './lib/cms.module';
2
- export * from './lib/components/dynamic-form';
1
+ /*
2
+ * Public API Surface of cms
3
+ */
4
+
5
+ export * from './lib/cms.module';
6
+ export * from './lib/components/dynamic-form';
package/src/test.ts ADDED
@@ -0,0 +1,26 @@
1
+ // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2
+
3
+ import 'zone.js';
4
+ import 'zone.js/testing';
5
+ import { getTestBed } from '@angular/core/testing';
6
+ import {
7
+ BrowserDynamicTestingModule,
8
+ platformBrowserDynamicTesting
9
+ } from '@angular/platform-browser-dynamic/testing';
10
+
11
+ declare const require: {
12
+ context(path: string, deep?: boolean, filter?: RegExp): {
13
+ keys(): string[];
14
+ <T>(id: string): T;
15
+ };
16
+ };
17
+
18
+ // First, initialize the Angular testing environment.
19
+ getTestBed().initTestEnvironment(
20
+ BrowserDynamicTestingModule,
21
+ platformBrowserDynamicTesting()
22
+ );
23
+ // Then we find all the tests.
24
+ const context = require.context('./', true, /\.spec\.ts$/);
25
+ // And load the modules.
26
+ context.keys().map(context);
@@ -0,0 +1,16 @@
1
+
2
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
3
+ {
4
+ "extends": "../../tsconfig.json",
5
+ "compilerOptions": {
6
+ "outDir": "../../out-tsc/lib",
7
+ "declaration": true,
8
+ "declarationMap": true,
9
+ "inlineSources": true,
10
+ "types": []
11
+ },
12
+ "exclude": [
13
+ "**/*.spec.ts"
14
+ ]
15
+ }
16
+
@@ -0,0 +1,10 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.lib.json",
4
+ "compilerOptions": {
5
+ "declarationMap": false
6
+ },
7
+ "angularCompilerOptions": {
8
+ "compilationMode": "partial"
9
+ }
10
+ }
@@ -0,0 +1,17 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "files": [
11
+ "src/test.ts"
12
+ ],
13
+ "include": [
14
+ "**/*.spec.ts",
15
+ "**/*.d.ts"
16
+ ]
17
+ }
@@ -1,8 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class CmsConfigModule {
4
- static forRoot(): ModuleWithProviders<CmsConfigModule>;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<CmsConfigModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<CmsConfigModule, never, never, never>;
7
- static ɵinj: i0.ɵɵInjectorDeclaration<CmsConfigModule>;
8
- }
@@ -1,29 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { AbstractControl, FormGroup, ValidationErrors } from '@angular/forms';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export declare class DomainsComponent implements OnInit {
6
- private toaster;
7
- private _DomainAdminService;
8
- private _LocalizationService;
9
- /**表单实体 */
10
- newEntity: FormGroup | undefined;
11
- /**domain详情 */
12
- domainInfo: any;
13
- get domainNameInput(): AbstractControl<any, any>;
14
- ngOnInit(): Promise<void>;
15
- /**用于获取已绑定的域名 */
16
- getDomainsBound(): Promise<unknown>;
17
- repetitionAsyncValidator(): (ctrl: AbstractControl) => Promise<ValidationErrors | null> | Observable<ValidationErrors | null>;
18
- private _ValidatorsService;
19
- /**表单验证状态
20
- * {
21
- * title:true,
22
- * }
23
- */
24
- formValidation: any;
25
- /**保存 */
26
- SaveSubmit(): void;
27
- static ɵfac: i0.ɵɵFactoryDeclaration<DomainsComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<DomainsComponent, "cms-domains", never, {}, {}, never, never, true, never>;
29
- }
@@ -1,29 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { eCmsRouteNames } from '../../enums';
4
- import * as i0 from "@angular/core";
5
- export declare class SiteLanguageComponent implements OnInit {
6
- private fb;
7
- private toaster;
8
- private _LocalizationService;
9
- private configState;
10
- private _SiteAdminService;
11
- eCmsRouteNames: typeof eCmsRouteNames;
12
- /**表单实体 */
13
- newEntity: FormGroup | undefined;
14
- /**系统语言 */
15
- languagesSystem: any[];
16
- ngOnInit(): Promise<void>;
17
- /**获取配置的默认语言与选中语言 */
18
- getSiteLanguageSettings(): Promise<unknown>;
19
- /**语言改变 */
20
- setLanguagesChange(event: any, item: any): void;
21
- /**设置默认语言 */
22
- setDefault(items: any): void;
23
- /**设置表单中的语言 */
24
- setFromLangguages(): void;
25
- /**保存 */
26
- SaveSubmit(): void;
27
- static ɵfac: i0.ɵɵFactoryDeclaration<SiteLanguageComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<SiteLanguageComponent, "app-site-language", never, {}, {}, never, never, true, never>;
29
- }
@@ -1,8 +0,0 @@
1
- export declare enum eCmsRouteNames {
2
- Cms = "Cms::Menu:Cms",
3
- Entries = "Cms::FormControl:Entry",
4
- Settings = "Cms::Menu:Settings",
5
- Fields = "Cms::Fields",
6
- Sections = "Cms::Sections",
7
- SiteLanguage = "Cms::DisplayName:Cms.Site.Languages"
8
- }
package/config/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@dignite-ng/expand.cms/config" />
5
- export * from './public-api';
@@ -1,9 +0,0 @@
1
- import { RoutesService } from '@abp/ng.core';
2
- import { SettingTabsService } from '@abp/ng.setting-management/config';
3
- export declare const CMS_ROUTE_PROVIDERS: {
4
- provide: import("@angular/core").InjectionToken<readonly (() => import("rxjs").Observable<unknown> | Promise<unknown> | void)[]>;
5
- useFactory: typeof configureRoutes;
6
- deps: (typeof RoutesService | typeof SettingTabsService)[];
7
- multi: boolean;
8
- }[];
9
- export declare function configureRoutes(routesService: RoutesService, settingTabs: SettingTabsService): () => void;
@@ -1,13 +0,0 @@
1
- import type { DomainDto, UpdateDomainInput } from './models';
2
- import { RestService, Rest } from '@abp/ng.core';
3
- import * as i0 from "@angular/core";
4
- export declare class DomainAdminService {
5
- private restService;
6
- apiName: string;
7
- getBound: (config?: Partial<Rest.Config>) => import("rxjs").Observable<DomainDto>;
8
- nameExists: (domainName: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<boolean>;
9
- update: (input: UpdateDomainInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<DomainDto>;
10
- constructor(restService: RestService);
11
- static ɵfac: i0.ɵɵFactoryDeclaration<DomainAdminService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<DomainAdminService>;
13
- }
@@ -1,4 +0,0 @@
1
- export interface UpdateSiteInput {
2
- defaultLanguage: string;
3
- allLanguages: string[];
4
- }
@@ -1,13 +0,0 @@
1
- import type { UpdateSiteInput } from './models';
2
- import { RestService, Rest } from '@abp/ng.core';
3
- import type { SiteDto } from '../../sites/models';
4
- import * as i0 from "@angular/core";
5
- export declare class SiteAdminService {
6
- private restService;
7
- apiName: string;
8
- get: (config?: Partial<Rest.Config>) => import("rxjs").Observable<SiteDto>;
9
- update: (input: UpdateSiteInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<void>;
10
- constructor(restService: RestService);
11
- static ɵfac: i0.ɵɵFactoryDeclaration<SiteAdminService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<SiteAdminService>;
13
- }
@@ -1,4 +0,0 @@
1
- export interface SiteDto {
2
- defaultLanguage?: string;
3
- allLanguages: string[];
4
- }
@@ -1,16 +0,0 @@
1
- import { FormGroup, FormArray } from '@angular/forms';
2
- import * as i0 from "@angular/core";
3
- export declare class ValidatorsService {
4
- constructor();
5
- private fb;
6
- private toaster;
7
- private _LocalizationService;
8
- /**检查表单- */
9
- isCheckForm(input: any, module?: string): boolean;
10
- /**获取表单所有字段是否通过验证 */
11
- getFormValidationStatus(formEntity: FormGroup | FormArray): {
12
- [key: string]: any;
13
- };
14
- static ɵfac: i0.ɵɵFactoryDeclaration<ValidatorsService, never>;
15
- static ɵprov: i0.ɵɵInjectableDeclaration<ValidatorsService>;
16
- }
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CMS_ROUTE_PROVIDERS } from './providers/route.provider';
3
- import * as i0 from "@angular/core";
4
- export class CmsConfigModule {
5
- static forRoot() {
6
- return {
7
- ngModule: CmsConfigModule,
8
- providers: [CMS_ROUTE_PROVIDERS],
9
- };
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: CmsConfigModule }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsConfigModule }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsConfigModule, decorators: [{
16
- type: NgModule
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvY29uZmlnL3NyYy9jbXMtY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHakUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDakMsQ0FBQztJQUNKLENBQUM7OEdBTlUsZUFBZTsrR0FBZixlQUFlOytHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDTVNfUk9VVEVfUFJPVklERVJTIH0gZnJvbSAnLi9wcm92aWRlcnMvcm91dGUucHJvdmlkZXInO1xyXG5cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIENtc0NvbmZpZ01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDbXNDb25maWdNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBDbXNDb25maWdNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW0NNU19ST1VURV9QUk9WSURFUlNdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,102 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { FormControl, FormGroup, FormsModule } from '@angular/forms';
3
- import { CoreModule, LocalizationService } from '@abp/ng.core';
4
- import { ThemeSharedModule, ToasterService } from '@abp/ng.theme.shared';
5
- import { DomainAdminService } from '../../proxy/admin/domains';
6
- import { ValidatorsService } from '../../services/validators.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/forms";
10
- import * as i3 from "@abp/ng.core";
11
- import * as i4 from "@ngx-validate/core";
12
- export class DomainsComponent {
13
- constructor() {
14
- this.toaster = inject(ToasterService);
15
- this._DomainAdminService = inject(DomainAdminService);
16
- this._LocalizationService = inject(LocalizationService);
17
- /**domain详情 */
18
- this.domainInfo = '';
19
- this._ValidatorsService = inject(ValidatorsService);
20
- /**表单验证状态
21
- * {
22
- * title:true,
23
- * }
24
- */
25
- this.formValidation = '';
26
- }
27
- get domainNameInput() {
28
- return this.newEntity.get('domainName');
29
- }
30
- async ngOnInit() {
31
- //Called after the constructor, initializing input properties, and the first call to ngOnChanges.
32
- //Add 'implements OnInit' to the class.
33
- this.newEntity = new FormGroup({
34
- domainName: new FormControl('', {
35
- asyncValidators: this.repetitionAsyncValidator(),
36
- updateOn: 'blur'
37
- })
38
- });
39
- await this.getDomainsBound();
40
- }
41
- /**用于获取已绑定的域名 */
42
- getDomainsBound() {
43
- return new Promise((resolve, rejects) => {
44
- this._DomainAdminService.getBound().subscribe(res => {
45
- this.domainNameInput.patchValue(res?.domainName || '');
46
- this.domainInfo = res;
47
- resolve(res);
48
- });
49
- });
50
- }
51
- //检验域名是否已经绑定
52
- repetitionAsyncValidator() {
53
- return (ctrl) => {
54
- return new Promise(resolve => {
55
- let domainNameInput = this.domainNameInput.value;
56
- if (!domainNameInput) {
57
- resolve(null);
58
- return;
59
- }
60
- if (this.domainInfo?.domainName === domainNameInput) {
61
- resolve(null);
62
- return;
63
- }
64
- var patt = /^(?!-)[A-Za-z0-9-]{1,63}(?<!-)\.[A-Za-z]{2,6}$/;
65
- if (!patt.test(domainNameInput)) {
66
- resolve({ repetition: this._LocalizationService.instant(`AbpValidation::ThisFieldMustMatchTheRegularExpression{0}`, patt.toString()) });
67
- return;
68
- }
69
- this._DomainAdminService.nameExists(domainNameInput).subscribe(res => {
70
- if (res) {
71
- resolve({ repetition: this._LocalizationService.instant(`Cms::DomainName{0}AlreadyExist`, ctrl.value) });
72
- }
73
- else {
74
- resolve(null);
75
- }
76
- });
77
- });
78
- };
79
- }
80
- /**保存 */
81
- SaveSubmit() {
82
- let input = this.newEntity.value;
83
- this.formValidation = this._ValidatorsService.getFormValidationStatus(this.newEntity);
84
- if (this._ValidatorsService.isCheckForm(this.formValidation, 'Cms'))
85
- return;
86
- this._DomainAdminService.update(input).subscribe(async (res) => {
87
- this.toaster.success(this._LocalizationService.instant(`AbpUi::SavedSuccessfully`));
88
- await this.getDomainsBound();
89
- });
90
- }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DomainsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: DomainsComponent, isStandalone: true, selector: "cms-domains", ngImport: i0, template: "<form [formGroup]=\"newEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\" (submit)=\"SaveSubmit()\">\n \n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{'Cms::Domain'|abpLocalization}}</h2>\n <button class=\"btn btn-primary btn-sm\" type=\"submit\"><i\n class=\"me-1 fas fa-save\"></i>{{'AbpUi::Save'|abpLocalization}}</button>\n </div>\n <hr class=\"my-3\" />\n <div class=\"mb-2\">\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"domainNameInput.errors?.repetition\">\n {{domainNameInput.errors?.repetition}}\n </div>\n <div class=\"form-text\">\u6B64\u5904\u662F\u586B\u5199\u57DF\u540D\u7684\u63CF\u8FF0\uFF0C\u9700\u8981\u4E00\u4E2A\u5B57\u6BB5\u7EDF\u4E00\u914D\u7F6E\u57DF\u540D\u591A\u8BED\u8A00\uFF0C</div>\n </div>\n <hr class=\"my-3\" />\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.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: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "directive", type: i4.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i4.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "ngmodule", type: FormsModule }] }); }
93
- }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DomainsComponent, decorators: [{
95
- type: Component,
96
- args: [{ selector: 'cms-domains', standalone: true, imports: [
97
- CoreModule,
98
- ThemeSharedModule,
99
- FormsModule,
100
- ], template: "<form [formGroup]=\"newEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\" (submit)=\"SaveSubmit()\">\n \n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{'Cms::Domain'|abpLocalization}}</h2>\n <button class=\"btn btn-primary btn-sm\" type=\"submit\"><i\n class=\"me-1 fas fa-save\"></i>{{'AbpUi::Save'|abpLocalization}}</button>\n </div>\n <hr class=\"my-3\" />\n <div class=\"mb-2\">\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"domainNameInput.errors?.repetition\">\n {{domainNameInput.errors?.repetition}}\n </div>\n <div class=\"form-text\">\u6B64\u5904\u662F\u586B\u5199\u57DF\u540D\u7684\u63CF\u8FF0\uFF0C\u9700\u8981\u4E00\u4E2A\u5B57\u6BB5\u7EDF\u4E00\u914D\u7F6E\u57DF\u540D\u591A\u8BED\u8A00\uFF0C</div>\n </div>\n <hr class=\"my-3\" />\n</form>" }]
101
- }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWlucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvY29uZmlnL3NyYy9jb21wb25lbnRzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbXMvY29uZmlnL3NyYy9jb21wb25lbnRzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBRXhHLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFhdEUsTUFBTSxPQUFPLGdCQUFnQjtJQVg3QjtRQWFVLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDaEMsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDakQseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFLM0QsY0FBYztRQUNkLGVBQVUsR0FBSyxFQUFFLENBQUE7UUE2RFQsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkQ7Ozs7V0FJRztRQUNILG1CQUFjLEdBQVEsRUFBRSxDQUFDO0tBWTFCO0lBOUVDLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFJRixLQUFLLENBQUMsUUFBUTtRQUNYLGlHQUFpRztRQUNqRyx1Q0FBdUM7UUFFdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM3QixVQUFVLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO2dCQUM5QixlQUFlLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFO2dCQUNoRCxRQUFRLEVBQUUsTUFBTTthQUNqQixDQUFDO1NBQ0gsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7SUFFOUIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixlQUFlO1FBQ2IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQSxFQUFFO2dCQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxJQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFDLEdBQUcsQ0FBQTtnQkFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2QsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZO0lBQ1osd0JBQXdCO1FBQ3RCLE9BQU8sQ0FBQyxJQUFxQixFQUEwRSxFQUFFO1lBQ3ZHLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFBO2dCQUNoRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDZCxPQUFNO2dCQUNSLENBQUM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsS0FBRyxlQUFlLEVBQUUsQ0FBQztvQkFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNkLE9BQU07Z0JBQ1IsQ0FBQztnQkFDRCxJQUFJLElBQUksR0FBRyxnREFBZ0QsQ0FBQztnQkFDNUQsSUFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUMsQ0FBQztvQkFDOUIsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsMERBQTBELEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN4SSxPQUFNO2dCQUNSLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ25FLElBQUksR0FBRyxFQUFFLENBQUM7d0JBQ1IsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDM0csQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDaEIsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQVVELFFBQVE7SUFDUixVQUFVO1FBQ1IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDM0UsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzlCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs4R0F4RlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsdUVDbkI3Qiw4K0JBZ0JPLHlEREZILFVBQVUsc25DQUNWLGlCQUFpQixxU0FDakIsV0FBVzs7MkZBR0YsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLFdBQ1A7d0JBQ1AsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFdBQVc7cUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgIE9ic2VydmFibGUgIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IERvbWFpbkFkbWluU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3h5L2FkbWluL2RvbWFpbnMnO1xuaW1wb3J0IHsgVmFsaWRhdG9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YWxpZGF0b3JzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbXMtZG9tYWlucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb21haW5zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9tYWlucy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEb21haW5zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xuXG4gIHByaXZhdGUgdG9hc3RlciA9IGluamVjdChUb2FzdGVyU2VydmljZSlcbiAgcHJpdmF0ZSBfRG9tYWluQWRtaW5TZXJ2aWNlID0gaW5qZWN0KERvbWFpbkFkbWluU2VydmljZSk7XG4gIHByaXZhdGUgX0xvY2FsaXphdGlvblNlcnZpY2UgPSBpbmplY3QoTG9jYWxpemF0aW9uU2VydmljZSk7XG5cbiAgLyoq6KGo5Y2V5a6e5L2TICovXG4gIG5ld0VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuXG4gIC8qKmRvbWFpbuivpuaDhSAqL1xuICBkb21haW5JbmZvOmFueT0nJ1xuICBnZXQgZG9tYWluTmFtZUlucHV0KCkge1xuICAgIHJldHVybiB0aGlzLm5ld0VudGl0eS5nZXQoJ2RvbWFpbk5hbWUnKVxuICB9XG5cblxuXG4gYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy9DYWxsZWQgYWZ0ZXIgdGhlIGNvbnN0cnVjdG9yLCBpbml0aWFsaXppbmcgaW5wdXQgcHJvcGVydGllcywgYW5kIHRoZSBmaXJzdCBjYWxsIHRvIG5nT25DaGFuZ2VzLlxuICAgIC8vQWRkICdpbXBsZW1lbnRzIE9uSW5pdCcgdG8gdGhlIGNsYXNzLlxuICBcbiAgICB0aGlzLm5ld0VudGl0eSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgZG9tYWluTmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgIGFzeW5jVmFsaWRhdG9yczogdGhpcy5yZXBldGl0aW9uQXN5bmNWYWxpZGF0b3IoKSxcbiAgICAgICAgdXBkYXRlT246ICdibHVyJ1xuICAgICAgfSlcbiAgICB9KVxuICAgIGF3YWl0IHRoaXMuZ2V0RG9tYWluc0JvdW5kKClcblxuICB9XG5cbiAgLyoq55So5LqO6I635Y+W5bey57uR5a6a55qE5Z+f5ZCNICovXG4gIGdldERvbWFpbnNCb3VuZCgpe1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSxyZWplY3RzKT0+e1xuICAgICAgdGhpcy5fRG9tYWluQWRtaW5TZXJ2aWNlLmdldEJvdW5kKCkuc3Vic2NyaWJlKHJlcz0+e1xuICAgICAgICB0aGlzLmRvbWFpbk5hbWVJbnB1dC5wYXRjaFZhbHVlKHJlcz8uZG9tYWluTmFtZXx8JycpXG4gICAgICAgIHRoaXMuZG9tYWluSW5mbz1yZXNcbiAgICAgICAgcmVzb2x2ZShyZXMpXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvL+ajgOmqjOWfn+WQjeaYr+WQpuW3sue7j+e7keWumlxuICByZXBldGl0aW9uQXN5bmNWYWxpZGF0b3IoKSB7XG4gICAgcmV0dXJuIChjdHJsOiBBYnN0cmFjdENvbnRyb2wpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+ID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgbGV0IGRvbWFpbk5hbWVJbnB1dCA9IHRoaXMuZG9tYWluTmFtZUlucHV0LnZhbHVlXG4gICAgICAgIGlmICghZG9tYWluTmFtZUlucHV0KSB7XG4gICAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kb21haW5JbmZvPy5kb21haW5OYW1lPT09ZG9tYWluTmFtZUlucHV0KSB7XG4gICAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB2YXIgcGF0dCA9IC9eKD8hLSlbQS1aYS16MC05LV17MSw2M30oPzwhLSlcXC5bQS1aYS16XXsyLDZ9JC87XG4gICAgICAgIGlmKCFwYXR0LnRlc3QoZG9tYWluTmFtZUlucHV0KSl7XG4gICAgICAgICAgcmVzb2x2ZSh7IHJlcGV0aXRpb246IHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChgQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkTXVzdE1hdGNoVGhlUmVndWxhckV4cHJlc3Npb257MH1gLCBwYXR0LnRvU3RyaW5nKCkpIH0pO1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX0RvbWFpbkFkbWluU2VydmljZS5uYW1lRXhpc3RzKGRvbWFpbk5hbWVJbnB1dCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgcmVzb2x2ZSh7IHJlcGV0aXRpb246IHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChgQ21zOjpEb21haW5OYW1lezB9QWxyZWFkeUV4aXN0YCwgY3RybC52YWx1ZSkgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX1ZhbGlkYXRvcnNTZXJ2aWNlID0gaW5qZWN0KFZhbGlkYXRvcnNTZXJ2aWNlKTtcbiAgLyoq6KGo5Y2V6aqM6K+B54q25oCBXG4gICAqIHtcbiAgICogIHRpdGxlOnRydWUsXG4gICAqIH1cbiAgICovXG4gIGZvcm1WYWxpZGF0aW9uOiBhbnkgPSAnJztcblxuICAvKirkv53lrZggKi9cbiAgU2F2ZVN1Ym1pdCgpIHtcbiAgICBsZXQgaW5wdXQgPSB0aGlzLm5ld0VudGl0eS52YWx1ZVxuICAgIHRoaXMuZm9ybVZhbGlkYXRpb24gPSB0aGlzLl9WYWxpZGF0b3JzU2VydmljZS5nZXRGb3JtVmFsaWRhdGlvblN0YXR1cyh0aGlzLm5ld0VudGl0eSk7XG4gICAgaWYgKHRoaXMuX1ZhbGlkYXRvcnNTZXJ2aWNlLmlzQ2hlY2tGb3JtKHRoaXMuZm9ybVZhbGlkYXRpb24sJ0NtcycpKSByZXR1cm47XG4gICAgdGhpcy5fRG9tYWluQWRtaW5TZXJ2aWNlLnVwZGF0ZShpbnB1dCkuc3Vic2NyaWJlKGFzeW5jKHJlcyk9PntcbiAgICAgIHRoaXMudG9hc3Rlci5zdWNjZXNzKHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChgQWJwVWk6OlNhdmVkU3VjY2Vzc2Z1bGx5YCkpO1xuICAgICAgYXdhaXQgdGhpcy5nZXREb21haW5zQm91bmQoKVxuICAgIH0pXG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwibmV3RW50aXR5XCIgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIiBbY2xhc3NdPVwieyd3YXMtdmFsaWRhdGVkJzpmb3JtVmFsaWRhdGlvbn1cIiAoc3VibWl0KT1cIlNhdmVTdWJtaXQoKVwiPlxuICAgIFxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxoMj57eydDbXM6OkRvbWFpbid8YWJwTG9jYWxpemF0aW9ufX08L2gyPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiIHR5cGU9XCJzdWJtaXRcIj48aVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWUtMSBmYXMgZmEtc2F2ZVwiPjwvaT57eydBYnBVaTo6U2F2ZSd8YWJwTG9jYWxpemF0aW9ufX08L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aHIgY2xhc3M9XCJteS0zXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImRvbWFpbk5hbWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyIGludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImRvbWFpbk5hbWVJbnB1dC5lcnJvcnM/LnJlcGV0aXRpb25cIj5cbiAgICAgICAgICAgIHt7ZG9tYWluTmFtZUlucHV0LmVycm9ycz8ucmVwZXRpdGlvbn19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10ZXh0XCI+5q2k5aSE5piv5aGr5YaZ5Z+f5ZCN55qE5o+P6L+w77yM6ZyA6KaB5LiA5Liq5a2X5q6157uf5LiA6YWN572u5Z+f5ZCN5aSa6K+t6KiA77yMPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGhyIGNsYXNzPVwibXktM1wiIC8+XG48L2Zvcm0+Il19