@umbraco-cms/backoffice 14.0.0-695f1c3f → 14.0.0-709b3cbf

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 (243) hide show
  1. package/dist-cms/apps/app/app.element.js +1 -1
  2. package/dist-cms/apps/app/index.d.ts +1 -0
  3. package/dist-cms/apps/app/index.js +1 -0
  4. package/dist-cms/assets/lang/en-us.js +18 -18
  5. package/dist-cms/assets/lang/en-us.ts +18 -18
  6. package/dist-cms/custom-elements.json +71 -49
  7. package/dist-cms/external/backend-api/index.js +1 -1
  8. package/dist-cms/external/backend-api/src/index.d.ts +17 -1
  9. package/dist-cms/external/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.d.ts +1 -0
  10. package/dist-cms/external/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.d.ts +1 -0
  11. package/dist-cms/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeRequestModelCreateDocumentTypePropertyTypeContainerRequestModel.d.ts +2 -0
  12. package/dist-cms/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel.d.ts +20 -0
  13. package/dist-cms/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.d.ts +2 -0
  14. package/dist-cms/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.d.ts +2 -0
  15. package/dist-cms/external/backend-api/src/models/CreateMediaTypeRequestModel.d.ts +2 -0
  16. package/dist-cms/external/backend-api/src/models/DeleteUserGroupsRequestModel.d.ts +3 -0
  17. package/dist-cms/external/backend-api/src/models/DeleteUsersRequestModel.d.ts +3 -0
  18. package/dist-cms/external/backend-api/src/models/ItemSortingRequestModel.d.ts +4 -0
  19. package/dist-cms/external/backend-api/src/models/ProblemDetailsBuilderModel.d.ts +1 -0
  20. package/dist-cms/external/backend-api/src/models/RelationResponseModel.d.ts +2 -2
  21. package/dist-cms/external/backend-api/src/models/ResetPasswordRequestModel.d.ts +3 -0
  22. package/dist-cms/external/backend-api/src/models/ResetPasswordTokenRequestModel.d.ts +4 -0
  23. package/dist-cms/external/backend-api/src/models/SortingRequestModel.d.ts +5 -0
  24. package/dist-cms/external/backend-api/src/models/UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel.d.ts +18 -0
  25. package/dist-cms/external/backend-api/src/models/{UpdateFolderReponseModel.d.ts → UpdateFolderResponseModel.d.ts} +1 -1
  26. package/dist-cms/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.d.ts +2 -0
  27. package/dist-cms/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.d.ts +2 -0
  28. package/dist-cms/external/backend-api/src/models/UpdateMediaTypeRequestModel.d.ts +2 -0
  29. package/dist-cms/external/backend-api/src/models/VerifyResetPasswordTokenRequestModel.d.ts +4 -0
  30. package/dist-cms/external/backend-api/src/services/DataTypeResource.d.ts +2 -2
  31. package/dist-cms/external/backend-api/src/services/DocumentResource.d.ts +21 -21
  32. package/dist-cms/external/backend-api/src/services/DocumentTypeResource.d.ts +35 -3
  33. package/dist-cms/external/backend-api/src/services/MediaResource.d.ts +13 -5
  34. package/dist-cms/external/backend-api/src/services/MediaTypeResource.d.ts +56 -0
  35. package/dist-cms/external/backend-api/src/services/RelationResource.d.ts +1 -9
  36. package/dist-cms/external/backend-api/src/services/SecurityResource.d.ts +24 -0
  37. package/dist-cms/external/backend-api/src/services/UserGroupResource.d.ts +8 -0
  38. package/dist-cms/external/backend-api/src/services/UserResource.d.ts +8 -0
  39. package/dist-cms/external/router-slot/config.d.ts +8 -0
  40. package/dist-cms/external/router-slot/index.d.ts +4 -3
  41. package/dist-cms/external/router-slot/index.js +1 -1
  42. package/dist-cms/external/router-slot/model.d.ts +123 -0
  43. package/dist-cms/external/router-slot/router-slot.d.ts +111 -0
  44. package/dist-cms/external/router-slot/util/anchor.d.ts +5 -0
  45. package/dist-cms/external/router-slot/util/events.d.ts +26 -0
  46. package/dist-cms/external/router-slot/util/history.d.ts +32 -0
  47. package/dist-cms/external/router-slot/util/index.d.ts +6 -0
  48. package/dist-cms/external/router-slot/util/router.d.ts +72 -0
  49. package/dist-cms/external/router-slot/util/shadow.d.ts +15 -0
  50. package/dist-cms/external/router-slot/util/url.d.ts +78 -0
  51. package/dist-cms/external/router-slot/util.d.ts +1 -0
  52. package/dist-cms/libs/observable-api/observer.js +2 -1
  53. package/dist-cms/mocks/browser-handlers.js +3 -1
  54. package/dist-cms/mocks/data/document.data.d.ts +6 -2
  55. package/dist-cms/mocks/data/document.data.js +54 -4
  56. package/dist-cms/mocks/data/entity.data.js +0 -2
  57. package/dist-cms/mocks/data/scripts.data.d.ts +21 -0
  58. package/dist-cms/mocks/data/scripts.data.js +205 -0
  59. package/dist-cms/mocks/handlers/{document.handlers.js → document/document.handlers.js} +28 -40
  60. package/dist-cms/mocks/handlers/document/index.d.ts +1 -0
  61. package/dist-cms/mocks/handlers/document/index.js +5 -0
  62. package/dist-cms/mocks/handlers/document/item.handlers.d.ts +1 -0
  63. package/dist-cms/mocks/handlers/document/item.handlers.js +13 -0
  64. package/dist-cms/mocks/handlers/document/recycle-bin.handlers.d.ts +1 -0
  65. package/dist-cms/mocks/handlers/document/recycle-bin.handlers.js +16 -0
  66. package/dist-cms/mocks/handlers/document/slug.d.ts +1 -0
  67. package/dist-cms/mocks/handlers/document/slug.js +1 -0
  68. package/dist-cms/mocks/handlers/document/tree.handlers.d.ts +1 -0
  69. package/dist-cms/mocks/handlers/document/tree.handlers.js +16 -0
  70. package/dist-cms/mocks/handlers/scripts.handlers.d.ts +2 -0
  71. package/dist-cms/mocks/handlers/scripts.handlers.js +83 -0
  72. package/dist-cms/packages/core/components/input-list-base/input-list-base.js +1 -1
  73. package/dist-cms/packages/core/content-type/content-type-container-structure-helper.class.js +2 -2
  74. package/dist-cms/packages/core/content-type/content-type-property-structure-helper.class.js +1 -1
  75. package/dist-cms/packages/core/content-type/content-type-structure-manager.class.d.ts +15 -15
  76. package/dist-cms/packages/core/content-type/content-type-structure-manager.class.js +79 -103
  77. package/dist-cms/packages/core/culture/components/index.d.ts +1 -0
  78. package/dist-cms/packages/core/culture/components/index.js +1 -0
  79. package/dist-cms/packages/{settings/cultures → core/culture}/components/input-culture-select/input-culture-select.element.js +5 -5
  80. package/dist-cms/packages/core/culture/index.d.ts +2 -0
  81. package/dist-cms/packages/core/culture/index.js +2 -0
  82. package/dist-cms/packages/core/culture/manifests.d.ts +1 -0
  83. package/dist-cms/packages/{settings/cultures → core/culture}/repository/culture.repository.js +1 -1
  84. package/dist-cms/packages/{settings/cultures → core/culture}/repository/manifests.d.ts +1 -1
  85. package/dist-cms/packages/{settings/cultures → core/culture}/repository/manifests.js +1 -1
  86. package/dist-cms/packages/core/entity-action/common/trash/trash.action.d.ts +1 -1
  87. package/dist-cms/packages/core/entity-action/common/trash/trash.action.js +1 -1
  88. package/dist-cms/packages/core/index.d.ts +1 -0
  89. package/dist-cms/packages/core/index.js +3 -0
  90. package/dist-cms/packages/core/modal/token/create-document-modal.token.d.ts +8 -0
  91. package/dist-cms/packages/core/modal/token/create-document-modal.token.js +5 -0
  92. package/dist-cms/packages/core/modal/token/index.d.ts +1 -1
  93. package/dist-cms/packages/core/modal/token/index.js +1 -1
  94. package/dist-cms/packages/core/store/store-base.d.ts +18 -6
  95. package/dist-cms/packages/core/store/store-base.js +22 -6
  96. package/dist-cms/packages/documents/document-types/entity-actions/manifests.js +1 -1
  97. package/dist-cms/packages/documents/document-types/manifests.js +0 -2
  98. package/dist-cms/packages/documents/document-types/repository/document-type-item.store.d.ts +20 -0
  99. package/dist-cms/packages/documents/document-types/repository/document-type-item.store.js +23 -0
  100. package/dist-cms/packages/documents/document-types/repository/document-type.repository.d.ts +5 -21
  101. package/dist-cms/packages/documents/document-types/repository/document-type.repository.js +26 -20
  102. package/dist-cms/packages/documents/document-types/repository/manifests.d.ts +3 -2
  103. package/dist-cms/packages/documents/document-types/repository/manifests.js +9 -1
  104. package/dist-cms/packages/documents/document-types/repository/sources/document-type-item.server.data.d.ts +25 -0
  105. package/dist-cms/packages/documents/document-types/repository/sources/document-type-item.server.data.js +32 -0
  106. package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.d.ts +1 -1
  107. package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.js +1 -12
  108. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.js +27 -27
  109. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.js +8 -4
  110. package/dist-cms/packages/documents/documents/entity-actions/create/create-document-modal.element.d.ts +17 -0
  111. package/dist-cms/packages/documents/{document-types/modals/allowed-document-types/allowed-document-types-modal.element.js → documents/entity-actions/create/create-document-modal.element.js} +29 -38
  112. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.d.ts +0 -2
  113. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.js +7 -23
  114. package/dist-cms/packages/documents/documents/entity-actions/create/manifests.d.ts +2 -0
  115. package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +27 -0
  116. package/dist-cms/packages/documents/documents/entity-actions/manifests.d.ts +2 -2
  117. package/dist-cms/packages/documents/documents/entity-actions/manifests.js +15 -48
  118. package/dist-cms/packages/documents/documents/index.d.ts +1 -0
  119. package/dist-cms/packages/documents/documents/index.js +1 -0
  120. package/dist-cms/packages/documents/documents/manifests.d.ts +13 -1
  121. package/dist-cms/packages/documents/documents/manifests.js +2 -0
  122. package/dist-cms/packages/documents/documents/menu-item/manifests.js +1 -1
  123. package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.d.ts +14 -0
  124. package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.js +18 -0
  125. package/dist-cms/packages/documents/documents/recycle-bin/index.d.ts +1 -0
  126. package/dist-cms/packages/documents/documents/recycle-bin/index.js +1 -0
  127. package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +13 -0
  128. package/dist-cms/packages/documents/documents/recycle-bin/manifests.js +5 -0
  129. package/dist-cms/packages/documents/documents/recycle-bin/menu-item/manifests.d.ts +1 -0
  130. package/dist-cms/packages/documents/documents/recycle-bin/menu-item/manifests.js +14 -0
  131. package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.repository.d.ts +28 -0
  132. package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.repository.js +56 -0
  133. package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle.bin.tree.store.d.ts +18 -0
  134. package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle.bin.tree.store.js +19 -0
  135. package/dist-cms/packages/documents/documents/recycle-bin/repository/index.d.ts +1 -0
  136. package/dist-cms/packages/documents/documents/recycle-bin/repository/index.js +1 -0
  137. package/dist-cms/packages/documents/documents/recycle-bin/repository/manifests.d.ts +4 -0
  138. package/dist-cms/packages/documents/documents/recycle-bin/repository/manifests.js +17 -0
  139. package/dist-cms/packages/documents/documents/recycle-bin/repository/sources/document-recycle-bin.tree.server.data.d.ts +29 -0
  140. package/dist-cms/packages/documents/documents/recycle-bin/repository/sources/document-recycle-bin.tree.server.data.js +49 -0
  141. package/dist-cms/packages/documents/documents/recycle-bin/tree/manifests.d.ts +2 -0
  142. package/dist-cms/packages/documents/documents/recycle-bin/tree/manifests.js +19 -0
  143. package/dist-cms/packages/documents/documents/repository/document-item.store.d.ts +20 -0
  144. package/dist-cms/packages/documents/documents/repository/document-item.store.js +23 -0
  145. package/dist-cms/packages/documents/documents/repository/document.repository.d.ts +10 -9
  146. package/dist-cms/packages/documents/documents/repository/document.repository.js +47 -25
  147. package/dist-cms/packages/documents/documents/repository/document.store.d.ts +0 -12
  148. package/dist-cms/packages/documents/documents/repository/document.store.js +0 -16
  149. package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.d.ts +24 -0
  150. package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.js +31 -0
  151. package/dist-cms/packages/documents/documents/repository/sources/document.server.data.d.ts +9 -21
  152. package/dist-cms/packages/documents/documents/repository/sources/document.server.data.js +33 -62
  153. package/dist-cms/packages/documents/documents/workspace/manifests.js +6 -4
  154. package/dist-cms/packages/documents/manifests.d.ts +13 -1
  155. package/dist-cms/packages/settings/dashboards/performance-profiling/dashboard-performance-profiling.element.d.ts +3 -1
  156. package/dist-cms/packages/settings/dashboards/performance-profiling/dashboard-performance-profiling.element.js +26 -40
  157. package/dist-cms/packages/settings/manifests.js +0 -2
  158. package/dist-cms/packages/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.js +17 -17
  159. package/dist-cms/packages/templating/manifests.js +2 -0
  160. package/dist-cms/packages/templating/scripts/config.d.ts +20 -0
  161. package/dist-cms/packages/templating/scripts/config.js +22 -0
  162. package/dist-cms/packages/templating/scripts/entity-actions/create/create-empty.action.d.ts +8 -0
  163. package/dist-cms/packages/templating/scripts/entity-actions/create/create-empty.action.js +9 -0
  164. package/dist-cms/packages/templating/scripts/entity-actions/manifests.d.ts +2 -0
  165. package/dist-cms/packages/templating/scripts/entity-actions/manifests.js +56 -0
  166. package/dist-cms/packages/templating/scripts/index.d.ts +2 -0
  167. package/dist-cms/packages/templating/scripts/index.js +2 -0
  168. package/dist-cms/packages/templating/scripts/manifests.d.ts +1 -0
  169. package/dist-cms/packages/templating/scripts/manifests.js +12 -0
  170. package/dist-cms/packages/templating/scripts/menu-item/manifests.d.ts +1 -0
  171. package/dist-cms/packages/templating/scripts/menu-item/manifests.js +16 -0
  172. package/dist-cms/packages/templating/scripts/repository/index.d.ts +1 -0
  173. package/dist-cms/packages/templating/scripts/repository/index.js +1 -0
  174. package/dist-cms/packages/templating/scripts/repository/manifests.d.ts +2 -0
  175. package/dist-cms/packages/templating/scripts/repository/manifests.js +23 -0
  176. package/dist-cms/packages/templating/scripts/repository/scripts.repository.d.ts +71 -0
  177. package/dist-cms/packages/templating/scripts/repository/scripts.repository.js +154 -0
  178. package/dist-cms/packages/templating/scripts/repository/scripts.store.d.ts +31 -0
  179. package/dist-cms/packages/templating/scripts/repository/scripts.store.js +37 -0
  180. package/dist-cms/packages/templating/scripts/repository/scripts.tree.store.d.ts +19 -0
  181. package/dist-cms/packages/templating/scripts/repository/scripts.tree.store.js +21 -0
  182. package/dist-cms/packages/templating/scripts/repository/sources/index.d.ts +11 -0
  183. package/dist-cms/packages/templating/scripts/repository/sources/index.js +1 -0
  184. package/dist-cms/packages/templating/scripts/repository/sources/scripts.detail.server.data.d.ts +41 -0
  185. package/dist-cms/packages/templating/scripts/repository/sources/scripts.detail.server.data.js +57 -0
  186. package/dist-cms/packages/templating/scripts/repository/sources/scripts.folder.server.data.d.ts +17 -0
  187. package/dist-cms/packages/templating/scripts/repository/sources/scripts.folder.server.data.js +23 -0
  188. package/dist-cms/packages/templating/scripts/repository/sources/scripts.tree.server.data.d.ts +14 -0
  189. package/dist-cms/packages/templating/scripts/repository/sources/scripts.tree.server.data.js +31 -0
  190. package/dist-cms/packages/templating/scripts/tree/manifests.d.ts +2 -0
  191. package/dist-cms/packages/templating/scripts/tree/manifests.js +20 -0
  192. package/dist-cms/packages/templating/scripts/workspace/manifests.d.ts +2 -0
  193. package/dist-cms/packages/templating/scripts/workspace/manifests.js +32 -0
  194. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace-edit.element.d.ts +24 -0
  195. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace-edit.element.js +171 -0
  196. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace.context.d.ts +23 -0
  197. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace.context.js +87 -0
  198. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace.element.d.ts +14 -0
  199. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace.element.js +50 -0
  200. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder.element.d.ts +1 -1
  201. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder.element.js +1 -1
  202. package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +2 -2
  203. package/dist-cms/packages/users/user-groups/collection/user-group-collection-header.element.js +2 -2
  204. package/dist-cms/packages/users/user-groups/collection/user-group-collection-view.element.js +6 -6
  205. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +15 -12
  206. package/dist-cms/packages/users/users/collection/user-collection-header.element.js +18 -11
  207. package/dist-cms/packages/users/users/collection/views/grid/user-collection-grid-view.element.js +6 -6
  208. package/dist-cms/packages/users/users/collection/views/table/column-layouts/status/user-table-status-column-layout.element.js +3 -3
  209. package/dist-cms/packages/users/users/index.d.ts +1 -0
  210. package/dist-cms/packages/users/users/index.js +1 -0
  211. package/dist-cms/packages/users/users/repository/index.d.ts +1 -0
  212. package/dist-cms/packages/users/users/repository/index.js +1 -0
  213. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +36 -35
  214. package/dist-cms/packages/users/utils.d.ts +5 -2
  215. package/dist-cms/packages/users/utils.js +14 -14
  216. package/dist-cms/shared/repository/data-source/folder-data-source.interface.d.ts +2 -2
  217. package/dist-cms/shared/repository/folder-repository.interface.d.ts +2 -2
  218. package/dist-cms/shared/router/index.d.ts +1 -1
  219. package/dist-cms/shared/router/index.js +1 -1
  220. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  221. package/dist-cms/vscode-html-custom-data.json +33 -23
  222. package/package.json +4 -4
  223. package/dist-cms/packages/core/modal/token/allowed-document-types-modal.token.d.ts +0 -9
  224. package/dist-cms/packages/core/modal/token/allowed-document-types-modal.token.js +0 -5
  225. package/dist-cms/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.d.ts +0 -19
  226. package/dist-cms/packages/documents/document-types/modals/manifests.d.ts +0 -2
  227. package/dist-cms/packages/documents/document-types/modals/manifests.js +0 -9
  228. package/dist-cms/packages/settings/cultures/components/index.d.ts +0 -1
  229. package/dist-cms/packages/settings/cultures/components/index.js +0 -1
  230. package/dist-cms/packages/settings/cultures/manifests.d.ts +0 -1
  231. package/dist-cms/shared/context/index.d.ts +0 -1
  232. package/dist-cms/shared/context/index.js +0 -1
  233. package/router-slot-2.3.0.tgz +0 -0
  234. /package/dist-cms/{shared/context → apps/app}/app.context.d.ts +0 -0
  235. /package/dist-cms/{shared/context → apps/app}/app.context.js +0 -0
  236. /package/dist-cms/mocks/handlers/{document.handlers.d.ts → document/document.handlers.d.ts} +0 -0
  237. /package/dist-cms/packages/{settings/cultures → core/culture}/components/input-culture-select/input-culture-select.element.d.ts +0 -0
  238. /package/dist-cms/packages/{settings/cultures → core/culture}/manifests.js +0 -0
  239. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/culture.repository.d.ts +0 -0
  240. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/sources/culture.server.data.d.ts +0 -0
  241. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/sources/culture.server.data.js +0 -0
  242. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/sources/index.d.ts +0 -0
  243. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/sources/index.js +0 -0
@@ -0,0 +1,20 @@
1
+ import { DocumentTypeItemResponseModel } from '../../../../external/backend-api/index.js';
2
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
3
+ import { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
4
+ import { UmbItemStore, UmbStoreBase } from '../../../core/store/index.js';
5
+ /**
6
+ * @export
7
+ * @class UmbDocumentTypeItemStore
8
+ * @extends {UmbStoreBase}
9
+ * @description - Data Store for Document Type items
10
+ */
11
+ export declare class UmbDocumentTypeItemStore extends UmbStoreBase<DocumentTypeItemResponseModel> implements UmbItemStore<DocumentTypeItemResponseModel> {
12
+ /**
13
+ * Creates an instance of UmbDocumentTypeItemStore.
14
+ * @param {UmbControllerHostElement} host
15
+ * @memberof UmbDocumentTypeItemStore
16
+ */
17
+ constructor(host: UmbControllerHostElement);
18
+ items(ids: Array<string>): import("rxjs").Observable<DocumentTypeItemResponseModel[]>;
19
+ }
20
+ export declare const UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT_TOKEN: UmbContextToken<UmbDocumentTypeItemStore, UmbDocumentTypeItemStore>;
@@ -0,0 +1,23 @@
1
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
2
+ import { UmbStoreBase } from '../../../core/store/index.js';
3
+ import { UmbArrayState } from '../../../../libs/observable-api/index.js';
4
+ /**
5
+ * @export
6
+ * @class UmbDocumentTypeItemStore
7
+ * @extends {UmbStoreBase}
8
+ * @description - Data Store for Document Type items
9
+ */
10
+ export class UmbDocumentTypeItemStore extends UmbStoreBase {
11
+ /**
12
+ * Creates an instance of UmbDocumentTypeItemStore.
13
+ * @param {UmbControllerHostElement} host
14
+ * @memberof UmbDocumentTypeItemStore
15
+ */
16
+ constructor(host) {
17
+ super(host, UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT_TOKEN.toString(), new UmbArrayState([], (x) => x.id));
18
+ }
19
+ items(ids) {
20
+ return this._data.asObservablePart((items) => items.filter((item) => ids.includes(item.id ?? '')));
21
+ }
22
+ }
23
+ export const UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbDocumentTypeItemStore');
@@ -24,6 +24,11 @@ export declare class UmbDocumentTypeRepository implements UmbTreeRepository<Enti
24
24
  error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
25
25
  asObservable: () => import("rxjs").Observable<EntityTreeItemResponseModel[]>;
26
26
  }>;
27
+ requestItems(ids: Array<string>): Promise<{
28
+ data: import("../../../../external/backend-api/index.js").DocumentTypeItemResponseModel[] | undefined;
29
+ error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
30
+ asObservable: () => import("rxjs").Observable<import("../../../../external/backend-api/index.js").DocumentTypeItemResponseModel[]>;
31
+ }>;
27
32
  requestItemsLegacy(ids: Array<string>): Promise<{
28
33
  data: any[] | undefined;
29
34
  error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
@@ -43,28 +48,7 @@ export declare class UmbDocumentTypeRepository implements UmbTreeRepository<Enti
43
48
  byId(id: string): Promise<import("rxjs").Observable<DocumentTypeResponseModel | undefined>>;
44
49
  requestAllowedChildTypesOf(id: string): Promise<import("../../../../shared/repository/index.js").DataSourceResponse<any>>;
45
50
  create(documentType: ItemType): Promise<{
46
- data: {
47
- alias?: string | undefined;
48
- name?: string | undefined;
49
- description?: string | null | undefined;
50
- icon?: string | undefined;
51
- allowedAsRoot?: boolean | undefined;
52
- variesByCulture?: boolean | undefined;
53
- variesBySegment?: boolean | undefined;
54
- isElement?: boolean | undefined;
55
- properties?: import("../../../../external/backend-api/index.js").PropertyTypeModelBaseModel[] | undefined;
56
- containers?: import("../../../../external/backend-api/index.js").PropertyTypeContainerModelBaseModel[] | undefined;
57
- allowedContentTypes?: import("../../../../external/backend-api/index.js").ContentTypeSortModel[] | undefined;
58
- compositions?: import("../../../../external/backend-api/index.js").ContentTypeCompositionModel[] | undefined;
59
- id?: string | undefined;
60
- allowedTemplateIds?: string[] | undefined;
61
- defaultTemplateId?: string | null | undefined;
62
- cleanup?: import("../../../../external/backend-api/index.js").ContentTypeCleanupModel | undefined;
63
- };
64
- error?: undefined;
65
- } | {
66
51
  error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
67
- data?: undefined;
68
52
  }>;
69
53
  save(id: string, item: UpdateDocumentTypeRequestModel): Promise<{
70
54
  error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
@@ -2,6 +2,8 @@ import { UmbDocumentTypeTreeServerDataSource } from './sources/document-type.tre
2
2
  import { UmbDocumentTypeServerDataSource } from './sources/document-type.server.data.js';
3
3
  import { UMB_DOCUMENT_TYPE_TREE_STORE_CONTEXT_TOKEN } from './document-type.tree.store.js';
4
4
  import { UMB_DOCUMENT_TYPE_STORE_CONTEXT_TOKEN } from './document-type.store.js';
5
+ import { UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT_TOKEN } from './document-type-item.store.js';
6
+ import { UmbDocumentTypeItemServerDataSource } from './sources/document-type-item.server.data.js';
5
7
  import { UmbContextConsumerController } from '../../../../libs/context-api/index.js';
6
8
  import { UMB_NOTIFICATION_CONTEXT_TOKEN } from '../../../core/notification/index.js';
7
9
  export class UmbDocumentTypeRepository {
@@ -11,12 +13,15 @@ export class UmbDocumentTypeRepository {
11
13
  #treeStore;
12
14
  #detailDataSource;
13
15
  #detailStore;
16
+ #itemSource;
17
+ #itemStore;
14
18
  #notificationContext;
15
19
  constructor(host) {
16
20
  this.#host = host;
17
21
  // TODO: figure out how spin up get the correct data source
18
22
  this.#treeSource = new UmbDocumentTypeTreeServerDataSource(this.#host);
19
23
  this.#detailDataSource = new UmbDocumentTypeServerDataSource(this.#host);
24
+ this.#itemSource = new UmbDocumentTypeItemServerDataSource(this.#host);
20
25
  this.#init = Promise.all([
21
26
  new UmbContextConsumerController(this.#host, UMB_DOCUMENT_TYPE_TREE_STORE_CONTEXT_TOKEN, (instance) => {
22
27
  this.#treeStore = instance;
@@ -24,12 +29,14 @@ export class UmbDocumentTypeRepository {
24
29
  new UmbContextConsumerController(this.#host, UMB_DOCUMENT_TYPE_STORE_CONTEXT_TOKEN, (instance) => {
25
30
  this.#detailStore = instance;
26
31
  }),
32
+ new UmbContextConsumerController(this.#host, UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT_TOKEN, (instance) => {
33
+ this.#itemStore = instance;
34
+ }),
27
35
  new UmbContextConsumerController(this.#host, UMB_NOTIFICATION_CONTEXT_TOKEN, (instance) => {
28
36
  this.#notificationContext = instance;
29
37
  }),
30
38
  ]);
31
39
  }
32
- // TODO: Trash
33
40
  // TODO: Move
34
41
  async requestTreeRoot() {
35
42
  await this.#init;
@@ -60,6 +67,16 @@ export class UmbDocumentTypeRepository {
60
67
  }
61
68
  return { data, error, asObservable: () => this.#treeStore.childrenOf(parentId) };
62
69
  }
70
+ async requestItems(ids) {
71
+ if (!ids)
72
+ throw new Error('Document Type Ids are missing');
73
+ await this.#init;
74
+ const { data, error } = await this.#itemSource.getItems(ids);
75
+ if (data) {
76
+ this.#itemStore?.appendItems(data);
77
+ }
78
+ return { data, error, asObservable: () => this.#itemStore.items(ids) };
79
+ }
63
80
  async requestItemsLegacy(ids) {
64
81
  await this.#init;
65
82
  if (!ids) {
@@ -117,25 +134,13 @@ export class UmbDocumentTypeRepository {
117
134
  // Could potentially be general methods:
118
135
  async create(documentType) {
119
136
  if (!documentType || !documentType.id)
120
- throw new Error('Template is missing');
137
+ throw new Error('Document Type is missing');
121
138
  await this.#init;
122
- const { error, data } = await this.#detailDataSource.insert(documentType);
123
- if (!error && data) {
124
- // TODO: The parts here is a hack, when we can trust the IDs we send, then this should be removed/changed:
125
- const splitResultUrl = data.split('/');
126
- const newId = splitResultUrl[splitResultUrl.length - 1];
127
- // Temporary hack while we are not in control of IDs:
128
- const newDocument = { ...(await this.requestById(newId)).data };
129
- if (newDocument) {
130
- const notification = { data: { message: `Document Type created` } };
131
- this.#notificationContext?.peek('positive', notification);
132
- await this.requestRootTreeItems();
133
- // TODO: currently we cannot put this data into our store, cause we don't have the right ID, as the server currently changes it (and other ids of it, container-id and property-id)
134
- //this.#detailStore?.append(newDocument);
135
- //const treeItem = createTreeItem(newDocument);
136
- //this.#treeStore?.appendItems([treeItem]);
137
- return { data: newDocument };
138
- }
139
+ const { error } = await this.#detailDataSource.insert(documentType);
140
+ if (!error) {
141
+ this.#detailStore?.append(documentType);
142
+ const treeItem = createTreeItem(documentType);
143
+ this.#treeStore?.appendItems([treeItem]);
139
144
  }
140
145
  return { error };
141
146
  }
@@ -170,9 +175,10 @@ export class UmbDocumentTypeRepository {
170
175
  // TODO: we currently don't use the detail store for anything.
171
176
  // Consider to look up the data before fetching from the server.
172
177
  // Consider notify a workspace if a template is deleted from the store while someone is editing it.
178
+ // TODO: would be nice to align the stores on methods/methodNames.
173
179
  this.#detailStore?.remove([id]);
174
180
  this.#treeStore?.removeItem(id);
175
- // TODO: would be nice to align the stores on methods/methodNames.
181
+ this.#itemStore?.removeItem(id);
176
182
  }
177
183
  return { error };
178
184
  }
@@ -1,5 +1,6 @@
1
- import { ManifestRepository, ManifestStore, ManifestTreeStore } from '../../../core/extension-registry/index.js';
1
+ import { ManifestItemStore, ManifestRepository, ManifestStore, ManifestTreeStore } from '../../../core/extension-registry/index.js';
2
2
  export declare const DOCUMENT_TYPE_REPOSITORY_ALIAS = "Umb.Repository.DocumentType";
3
3
  export declare const DOCUMENT_TYPE_STORE_ALIAS = "Umb.Store.DocumentType";
4
4
  export declare const DOCUMENT_TYPE_TREE_STORE_ALIAS = "Umb.Store.DocumentTypeTree";
5
- export declare const manifests: (ManifestRepository | ManifestStore | ManifestTreeStore)[];
5
+ export declare const DOCUMENT_TYPE_ITEM_STORE_ALIAS = "Umb.Store.DocumentTypeItem";
6
+ export declare const manifests: (ManifestItemStore | ManifestRepository | ManifestStore | ManifestTreeStore)[];
@@ -1,3 +1,4 @@
1
+ import { UmbDocumentTypeItemStore } from './document-type-item.store.js';
1
2
  import { UmbDocumentTypeRepository } from './document-type.repository.js';
2
3
  import { UmbDocumentTypeStore } from './document-type.store.js';
3
4
  import { UmbDocumentTypeTreeStore } from './document-type.tree.store.js';
@@ -10,6 +11,7 @@ const repository = {
10
11
  };
11
12
  export const DOCUMENT_TYPE_STORE_ALIAS = 'Umb.Store.DocumentType';
12
13
  export const DOCUMENT_TYPE_TREE_STORE_ALIAS = 'Umb.Store.DocumentTypeTree';
14
+ export const DOCUMENT_TYPE_ITEM_STORE_ALIAS = 'Umb.Store.DocumentTypeItem';
13
15
  const store = {
14
16
  type: 'store',
15
17
  alias: DOCUMENT_TYPE_STORE_ALIAS,
@@ -22,4 +24,10 @@ const treeStore = {
22
24
  name: 'Document Type Tree Store',
23
25
  class: UmbDocumentTypeTreeStore,
24
26
  };
25
- export const manifests = [repository, store, treeStore];
27
+ const itemStore = {
28
+ type: 'itemStore',
29
+ alias: DOCUMENT_TYPE_ITEM_STORE_ALIAS,
30
+ name: 'Document Type Item Store',
31
+ class: UmbDocumentTypeItemStore,
32
+ };
33
+ export const manifests = [repository, store, treeStore, itemStore];
@@ -0,0 +1,25 @@
1
+ import type { UmbItemDataSource } from '../../../../../shared/repository/index.js';
2
+ import { DocumentTypeItemResponseModel } from '../../../../../external/backend-api/index.js';
3
+ import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
4
+ /**
5
+ * A data source for Document Type items that fetches data from the server
6
+ * @export
7
+ * @class UmbDocumentTypeItemServerDataSource
8
+ * @implements {UmbItemDataSource}
9
+ */
10
+ export declare class UmbDocumentTypeItemServerDataSource implements UmbItemDataSource<DocumentTypeItemResponseModel> {
11
+ #private;
12
+ /**
13
+ * Creates an instance of UmbDocumentTypeItemServerDataSource.
14
+ * @param {UmbControllerHostElement} host
15
+ * @memberof UmbDocumentTypeItemServerDataSource
16
+ */
17
+ constructor(host: UmbControllerHostElement);
18
+ /**
19
+ * Fetches the items for the given ids from the server
20
+ * @param {Array<string>} ids
21
+ * @return {*}
22
+ * @memberof UmbDocumentTypeItemServerDataSource
23
+ */
24
+ getItems(ids: Array<string>): Promise<import("../../../../../shared/repository/index.js").DataSourceResponse<DocumentTypeItemResponseModel[]>>;
25
+ }
@@ -0,0 +1,32 @@
1
+ import { DocumentTypeResource } from '../../../../../external/backend-api/index.js';
2
+ import { tryExecuteAndNotify } from '../../../../../shared/resources/index.js';
3
+ /**
4
+ * A data source for Document Type items that fetches data from the server
5
+ * @export
6
+ * @class UmbDocumentTypeItemServerDataSource
7
+ * @implements {UmbItemDataSource}
8
+ */
9
+ export class UmbDocumentTypeItemServerDataSource {
10
+ #host;
11
+ /**
12
+ * Creates an instance of UmbDocumentTypeItemServerDataSource.
13
+ * @param {UmbControllerHostElement} host
14
+ * @memberof UmbDocumentTypeItemServerDataSource
15
+ */
16
+ constructor(host) {
17
+ this.#host = host;
18
+ }
19
+ /**
20
+ * Fetches the items for the given ids from the server
21
+ * @param {Array<string>} ids
22
+ * @return {*}
23
+ * @memberof UmbDocumentTypeItemServerDataSource
24
+ */
25
+ async getItems(ids) {
26
+ if (!ids)
27
+ throw new Error('Ids are missing');
28
+ return tryExecuteAndNotify(this.#host, DocumentTypeResource.getDocumentTypeItem({
29
+ id: ids,
30
+ }));
31
+ }
32
+ }
@@ -37,7 +37,7 @@ export declare class UmbDocumentTypeServerDataSource implements UmbDataSource<Cr
37
37
  * @return {*}
38
38
  * @memberof UmbDocumentTypeServerDataSource
39
39
  */
40
- insert(documentType: CreateDocumentTypeRequestModel): Promise<import("../../../../../shared/repository/index.js").DataSourceResponse<any>>;
40
+ insert(documentType: CreateDocumentTypeRequestModel): Promise<import("../../../../../shared/repository/index.js").DataSourceResponse<string>>;
41
41
  /**
42
42
  * Updates a Document Type on the server
43
43
  * @param {string} id
@@ -72,18 +72,7 @@ export class UmbDocumentTypeServerDataSource {
72
72
  */
73
73
  async insert(documentType) {
74
74
  if (!documentType)
75
- throw new Error('Document is missing');
76
- //if (!document.id) throw new Error('ID is missing');
77
- documentType = { ...documentType };
78
- // TODO: Hack to remove some props that ruins the document-type post end-point.
79
- documentType.id = undefined;
80
- // TODO: Investigate if this matters (should go away anyway when we have the end-point accepts us defining the ids.)
81
- documentType.properties = documentType.properties?.map((prop) => {
82
- return {
83
- ...prop,
84
- id: undefined,
85
- };
86
- });
75
+ throw new Error('Document Type is missing');
87
76
  return tryExecuteAndNotify(this.#host, DocumentTypeResource.postDocumentType({
88
77
  requestBody: documentType,
89
78
  }));
@@ -7,24 +7,24 @@ export class UmbDocumentTypeWorkspaceContext extends UmbWorkspaceContext {
7
7
  super(host, 'Umb.Workspace.DocumentType', new UmbDocumentTypeRepository(host));
8
8
  this.structure = new UmbContentTypePropertyStructureManager(this.host, this.repository);
9
9
  // General for content types:
10
- this.data = this.structure.ownerDocumentType;
11
- this.name = this.structure.ownerDocumentTypeObservablePart((data) => data?.name);
12
- this.alias = this.structure.ownerDocumentTypeObservablePart((data) => data?.alias);
13
- this.description = this.structure.ownerDocumentTypeObservablePart((data) => data?.description);
14
- this.icon = this.structure.ownerDocumentTypeObservablePart((data) => data?.icon);
15
- this.allowedAsRoot = this.structure.ownerDocumentTypeObservablePart((data) => data?.allowedAsRoot);
16
- this.variesByCulture = this.structure.ownerDocumentTypeObservablePart((data) => data?.variesByCulture);
17
- this.variesBySegment = this.structure.ownerDocumentTypeObservablePart((data) => data?.variesBySegment);
18
- this.isElement = this.structure.ownerDocumentTypeObservablePart((data) => data?.isElement);
19
- this.allowedContentTypes = this.structure.ownerDocumentTypeObservablePart((data) => data?.allowedContentTypes);
20
- this.compositions = this.structure.ownerDocumentTypeObservablePart((data) => data?.compositions);
10
+ this.data = this.structure.ownerContentType;
11
+ this.name = this.structure.ownerContentTypeObservablePart((data) => data?.name);
12
+ this.alias = this.structure.ownerContentTypeObservablePart((data) => data?.alias);
13
+ this.description = this.structure.ownerContentTypeObservablePart((data) => data?.description);
14
+ this.icon = this.structure.ownerContentTypeObservablePart((data) => data?.icon);
15
+ this.allowedAsRoot = this.structure.ownerContentTypeObservablePart((data) => data?.allowedAsRoot);
16
+ this.variesByCulture = this.structure.ownerContentTypeObservablePart((data) => data?.variesByCulture);
17
+ this.variesBySegment = this.structure.ownerContentTypeObservablePart((data) => data?.variesBySegment);
18
+ this.isElement = this.structure.ownerContentTypeObservablePart((data) => data?.isElement);
19
+ this.allowedContentTypes = this.structure.ownerContentTypeObservablePart((data) => data?.allowedContentTypes);
20
+ this.compositions = this.structure.ownerContentTypeObservablePart((data) => data?.compositions);
21
21
  // Document type specific:
22
- this.allowedTemplateIds = this.structure.ownerDocumentTypeObservablePart((data) => data?.allowedTemplateIds);
23
- this.defaultTemplateId = this.structure.ownerDocumentTypeObservablePart((data) => data?.defaultTemplateId);
24
- this.cleanup = this.structure.ownerDocumentTypeObservablePart((data) => data?.defaultTemplateId);
22
+ this.allowedTemplateIds = this.structure.ownerContentTypeObservablePart((data) => data?.allowedTemplateIds);
23
+ this.defaultTemplateId = this.structure.ownerContentTypeObservablePart((data) => data?.defaultTemplateId);
24
+ this.cleanup = this.structure.ownerContentTypeObservablePart((data) => data?.defaultTemplateId);
25
25
  }
26
26
  getData() {
27
- return this.structure.getOwnerDocumentType() || {};
27
+ return this.structure.getOwnerContentType() || {};
28
28
  }
29
29
  getEntityId() {
30
30
  return this.getData().id;
@@ -33,42 +33,42 @@ export class UmbDocumentTypeWorkspaceContext extends UmbWorkspaceContext {
33
33
  return 'document-type';
34
34
  }
35
35
  setName(name) {
36
- this.structure.updateOwnerDocumentType({ name });
36
+ this.structure.updateOwnerContentType({ name });
37
37
  }
38
38
  setAlias(alias) {
39
- this.structure.updateOwnerDocumentType({ alias });
39
+ this.structure.updateOwnerContentType({ alias });
40
40
  }
41
41
  setDescription(description) {
42
- this.structure.updateOwnerDocumentType({ description });
42
+ this.structure.updateOwnerContentType({ description });
43
43
  }
44
44
  // TODO: manage setting icon color alias?
45
45
  setIcon(icon) {
46
- this.structure.updateOwnerDocumentType({ icon });
46
+ this.structure.updateOwnerContentType({ icon });
47
47
  }
48
48
  setAllowedAsRoot(allowedAsRoot) {
49
- this.structure.updateOwnerDocumentType({ allowedAsRoot });
49
+ this.structure.updateOwnerContentType({ allowedAsRoot });
50
50
  }
51
51
  setVariesByCulture(variesByCulture) {
52
- this.structure.updateOwnerDocumentType({ variesByCulture });
52
+ this.structure.updateOwnerContentType({ variesByCulture });
53
53
  }
54
54
  setVariesBySegment(variesBySegment) {
55
- this.structure.updateOwnerDocumentType({ variesBySegment });
55
+ this.structure.updateOwnerContentType({ variesBySegment });
56
56
  }
57
57
  setIsElement(isElement) {
58
- this.structure.updateOwnerDocumentType({ isElement });
58
+ this.structure.updateOwnerContentType({ isElement });
59
59
  }
60
60
  setAllowedContentTypes(allowedContentTypes) {
61
- this.structure.updateOwnerDocumentType({ allowedContentTypes });
61
+ this.structure.updateOwnerContentType({ allowedContentTypes });
62
62
  }
63
63
  setCompositions(compositions) {
64
- this.structure.updateOwnerDocumentType({ compositions });
64
+ this.structure.updateOwnerContentType({ compositions });
65
65
  }
66
66
  // Document type specific:
67
67
  setAllowedTemplateIds(allowedTemplateIds) {
68
- this.structure.updateOwnerDocumentType({ allowedTemplateIds });
68
+ this.structure.updateOwnerContentType({ allowedTemplateIds });
69
69
  }
70
70
  setDefaultTemplateId(defaultTemplateId) {
71
- this.structure.updateOwnerDocumentType({ defaultTemplateId });
71
+ this.structure.updateOwnerContentType({ defaultTemplateId });
72
72
  }
73
73
  async create(parentId) {
74
74
  const { data } = await this.structure.createScaffold(parentId);
@@ -88,9 +88,13 @@ export let UmbDocumentTypeWorkspaceViewEditElement = class UmbDocumentTypeWorksp
88
88
  #requestRemoveTab(tab) {
89
89
  const Message = {
90
90
  headline: 'Delete tab',
91
- content: html `<umb-localize key="contentTypeEditor_confirmDeleteTabMessage" .args=${[tab?.name ?? tab?.id]}>Are you sure you want to delete the tab <strong>${tab?.name ?? tab?.id}</strong></umb-localize>
91
+ content: html `<umb-localize key="contentTypeEditor_confirmDeleteTabMessage" .args=${[tab?.name ?? tab?.id]}
92
+ >Are you sure you want to delete the tab <strong>${tab?.name ?? tab?.id}</strong></umb-localize
93
+ >
92
94
  <div style="color:var(--uui-color-danger-emphasis)">
93
- <umb-localize key="contentTypeEditor_confirmDeleteTabNotice">This will delete all items that doesn't belong to a composition.</umb-localize>
95
+ <umb-localize key="contentTypeEditor_confirmDeleteTabNotice"
96
+ >This will delete all items that doesn't belong to a composition.</umb-localize
97
+ >
94
98
  </div>`,
95
99
  confirmLabel: this.localize.term('actions_delete'),
96
100
  color: 'danger',
@@ -135,7 +139,7 @@ export let UmbDocumentTypeWorkspaceViewEditElement = class UmbDocumentTypeWorksp
135
139
  newName = 'Unnamed';
136
140
  event.target.value = 'Unnamed';
137
141
  }
138
- const changedName = this._workspaceContext?.structure.makeContainerNameUniqueForOwnerDocument(newName, 'Tab', tab.id);
142
+ const changedName = this._workspaceContext?.structure.makeContainerNameUniqueForOwnerContentType(newName, 'Tab', tab.id);
139
143
  // Check if it collides with another tab name of this same document-type, if so adjust name:
140
144
  if (changedName) {
141
145
  newName = changedName;
@@ -220,7 +224,7 @@ export let UmbDocumentTypeWorkspaceViewEditElement = class UmbDocumentTypeWorksp
220
224
  </uui-button>
221
225
  <uui-button label=${this.localize.term('general_reorder')} compact>
222
226
  <uui-icon name="umb:navigation"></uui-icon>
223
- <umb-localize key="general_reorder">Reorder</umb-localize>
227
+ <umb-localize key="general_reorder">Reorder</umb-localize>
224
228
  </uui-button>
225
229
  </div>`;
226
230
  }
@@ -0,0 +1,17 @@
1
+ import { UmbCreateDocumentModalData, UmbCreateDocumentModalResult } from '../../../../core/modal/index.js';
2
+ import { UmbModalBaseElement } from '../../../../../shared/modal/index.js';
3
+ export declare class UmbCreateDocumentModalElement extends UmbModalBaseElement<UmbCreateDocumentModalData, UmbCreateDocumentModalResult> {
4
+ #private;
5
+ private _allowedDocumentTypes;
6
+ private _headline;
7
+ firstUpdated(): Promise<void>;
8
+ private _handleCancel;
9
+ render(): import("lit-html").TemplateResult<1>;
10
+ static styles: import("@lit/reactive-element/css-tag").CSSResult[];
11
+ }
12
+ export default UmbCreateDocumentModalElement;
13
+ declare global {
14
+ interface HTMLElementTagNameMap {
15
+ 'umb-create-document-modal': UmbCreateDocumentModalElement;
16
+ }
17
+ }
@@ -5,47 +5,38 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { html, nothing, customElement, state, ifDefined } from '../../../../../external/lit/index.js';
8
- import { UmbTextStyles } from "../../../../../shared/style/index.js";
8
+ import { UmbTextStyles } from '../../../../../shared/style/index.js';
9
9
  import { UmbModalBaseElement } from '../../../../../shared/modal/index.js';
10
- import { UmbDocumentRepository } from '../../../documents/index.js';
11
- export let UmbAllowedDocumentTypesModalElement = class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement {
10
+ import { UmbDocumentRepository } from '../../index.js';
11
+ export let UmbCreateDocumentModalElement = class UmbCreateDocumentModalElement extends UmbModalBaseElement {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this.#documentRepository = new UmbDocumentRepository(this);
15
15
  this._allowedDocumentTypes = [];
16
+ this._headline = 'Create';
16
17
  }
17
18
  #documentRepository;
18
- connectedCallback() {
19
- super.connectedCallback();
20
- const parentId = this.data?.parentId;
21
- const parentName = this.data?.parentName;
22
- if (parentName) {
23
- this._headline = `Create at '${parentName}'`;
24
- }
25
- else {
26
- this._headline = `Create`;
27
- }
28
- if (parentId) {
29
- // TODO: Support root aka. id of null? or maybe its an active prop, like 'atRoot'.
30
- // TODO: show error
31
- this._retrieveAllowedChildrenOf(parentId);
32
- }
33
- else {
34
- this._retrieveAllowedChildrenOfRoot();
19
+ async firstUpdated() {
20
+ const documentId = this.data?.id || null;
21
+ this.#retrieveAllowedDocumentTypesOf(documentId);
22
+ if (documentId) {
23
+ this.#retrieveHeadline(documentId);
35
24
  }
36
25
  }
37
- async _retrieveAllowedChildrenOf(id) {
26
+ async #retrieveAllowedDocumentTypesOf(id) {
38
27
  const { data } = await this.#documentRepository.requestAllowedDocumentTypesOf(id);
39
28
  if (data) {
40
29
  // TODO: implement pagination, or get 1000?
41
30
  this._allowedDocumentTypes = data.items;
42
31
  }
43
32
  }
44
- async _retrieveAllowedChildrenOfRoot() {
45
- const { data } = await this.#documentRepository.requestAllowedDocumentTypesAtRoot();
33
+ async #retrieveHeadline(id) {
34
+ if (!id)
35
+ return;
36
+ const { data } = await this.#documentRepository.requestById(id);
46
37
  if (data) {
47
- // TODO: implement pagination, or get 1000?
48
- this._allowedDocumentTypes = data.items;
38
+ // TODO: we need to get the correct variant context here
39
+ this._headline = `Create at ${data.variants?.[0].name}`;
49
40
  }
50
41
  }
51
42
  _handleCancel() {
@@ -54,10 +45,10 @@ export let UmbAllowedDocumentTypesModalElement = class UmbAllowedDocumentTypesMo
54
45
  #onClick(event) {
55
46
  event.stopPropagation();
56
47
  const target = event.target;
57
- const documentTypeKey = target.dataset.id;
58
- if (!documentTypeKey)
48
+ const documentTypeId = target.dataset.id;
49
+ if (!documentTypeId)
59
50
  throw new Error('No document type id found');
60
- this.modalContext?.submit({ documentTypeKey });
51
+ this.modalContext?.submit({ documentTypeId });
61
52
  }
62
53
  render() {
63
54
  return html `
@@ -65,10 +56,10 @@ export let UmbAllowedDocumentTypesModalElement = class UmbAllowedDocumentTypesMo
65
56
  <uui-box>
66
57
  ${this._allowedDocumentTypes.length === 0 ? html `<p>No allowed types</p>` : nothing}
67
58
  ${this._allowedDocumentTypes.map((item) => html `
68
- <uui-menu-item data-id=${ifDefined(item.id)} @click=${this.#onClick} label="${ifDefined(item.name)}">
69
- ${item.icon ? html `<uui-icon slot="icon" name=${item.icon}></uui-icon>` : nothing}
70
- </uui-menu-item>
71
- `)}
59
+ <uui-menu-item data-id=${ifDefined(item.id)} @click=${this.#onClick} label="${ifDefined(item.name)}">
60
+ ${item.icon ? html `<uui-icon slot="icon" name=${item.icon}></uui-icon>` : nothing}
61
+ </uui-menu-item>
62
+ `)}
72
63
  </uui-box>
73
64
  <uui-button slot="actions" id="cancel" label="Cancel" @click="${this._handleCancel}">Cancel</uui-button>
74
65
  </umb-body-layout>
@@ -78,11 +69,11 @@ export let UmbAllowedDocumentTypesModalElement = class UmbAllowedDocumentTypesMo
78
69
  };
79
70
  __decorate([
80
71
  state()
81
- ], UmbAllowedDocumentTypesModalElement.prototype, "_allowedDocumentTypes", void 0);
72
+ ], UmbCreateDocumentModalElement.prototype, "_allowedDocumentTypes", void 0);
82
73
  __decorate([
83
74
  state()
84
- ], UmbAllowedDocumentTypesModalElement.prototype, "_headline", void 0);
85
- UmbAllowedDocumentTypesModalElement = __decorate([
86
- customElement('umb-allowed-document-types-modal')
87
- ], UmbAllowedDocumentTypesModalElement);
88
- export default UmbAllowedDocumentTypesModalElement;
75
+ ], UmbCreateDocumentModalElement.prototype, "_headline", void 0);
76
+ UmbCreateDocumentModalElement = __decorate([
77
+ customElement('umb-create-document-modal')
78
+ ], UmbCreateDocumentModalElement);
79
+ export default UmbCreateDocumentModalElement;
@@ -5,7 +5,5 @@ export declare class UmbCreateDocumentEntityAction extends UmbEntityActionBase<U
5
5
  #private;
6
6
  constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string);
7
7
  execute(): Promise<void>;
8
- private _executeWithParent;
9
- private _executeAtRoot;
10
8
  private _openModal;
11
9
  }
@@ -1,5 +1,5 @@
1
1
  import { UmbEntityActionBase } from '../../../../core/entity-action/index.js';
2
- import { UMB_MODAL_MANAGER_CONTEXT_TOKEN, UMB_ALLOWED_DOCUMENT_TYPES_MODAL, } from '../../../../core/modal/index.js';
2
+ import { UMB_MODAL_MANAGER_CONTEXT_TOKEN, UMB_CREATE_DOCUMENT_MODAL as UMB_CREATE_DOCUMENT_MODAL, } from '../../../../core/modal/index.js';
3
3
  import { UmbContextConsumerController } from '../../../../../libs/context-api/index.js';
4
4
  export class UmbCreateDocumentEntityAction extends UmbEntityActionBase {
5
5
  #modalContext;
@@ -10,34 +10,18 @@ export class UmbCreateDocumentEntityAction extends UmbEntityActionBase {
10
10
  });
11
11
  }
12
12
  async execute() {
13
- if (this.unique) {
14
- await this._executeWithParent();
15
- }
16
- else {
17
- await this._executeAtRoot();
18
- }
19
- }
20
- async _executeWithParent() {
21
- // TODO: what to do if modal service is not available?
22
13
  if (!this.repository)
23
14
  return;
24
- const { data } = await this.repository.requestById(this.unique);
25
- if (data && data.contentTypeId) {
26
- // TODO: We need to get the APP language context, use its VariantId to retrieve the right variant. The variant of which we get the name from.
27
- this._openModal(data.contentTypeId, data.variants?.[0]?.name);
28
- }
15
+ this._openModal(this.unique || null);
29
16
  }
30
- async _executeAtRoot() {
31
- this._openModal(null);
32
- }
33
- async _openModal(parentId, parentName) {
17
+ async _openModal(id) {
18
+ // TODO: what to do if modal service is not available?
34
19
  if (!this.#modalContext)
35
20
  return;
36
- const modalContext = this.#modalContext.open(UMB_ALLOWED_DOCUMENT_TYPES_MODAL, {
37
- parentId: parentId,
38
- parentName: parentName,
21
+ const modalContext = this.#modalContext.open(UMB_CREATE_DOCUMENT_MODAL, {
22
+ id,
39
23
  });
40
- const { documentTypeKey } = await modalContext.onSubmit();
24
+ const { documentTypeId: documentTypeKey } = await modalContext.onSubmit();
41
25
  // TODO: how do we want to generate these urls?
42
26
  history.pushState(null, '', `section/content/workspace/document/create/${this.unique ?? 'null'}/${documentTypeKey}`);
43
27
  }
@@ -0,0 +1,2 @@
1
+ import { ManifestEntityAction, ManifestModal } from '../../../../core/extension-registry/index.js';
2
+ export declare const manifests: (ManifestModal | ManifestEntityAction)[];