@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,154 @@
1
+ import { SCRIPTS_ROOT_ENTITY_TYPE } from '../config.js';
2
+ import { UmbScriptsTreeServerDataSource } from './sources/scripts.tree.server.data.js';
3
+ import { UmbScriptsServerDataSource } from './sources/scripts.detail.server.data.js';
4
+ import { UmbScriptsFolderServerDataSource } from './sources/scripts.folder.server.data.js';
5
+ import { UMB_SCRIPTS_TREE_STORE_CONTEXT_TOKEN } from './scripts.tree.store.js';
6
+ import { UmbContextConsumerController } from '../../../../libs/context-api/index.js';
7
+ export class UmbScriptsRepository {
8
+ #init;
9
+ #host;
10
+ #treeDataSource;
11
+ #detailDataSource;
12
+ #folderDataSource;
13
+ #treeStore;
14
+ constructor(host) {
15
+ this.#host = host;
16
+ this.#treeDataSource = new UmbScriptsTreeServerDataSource(this.#host);
17
+ this.#detailDataSource = new UmbScriptsServerDataSource(this.#host);
18
+ this.#folderDataSource = new UmbScriptsFolderServerDataSource(this.#host);
19
+ this.#init = Promise.all([
20
+ new UmbContextConsumerController(this.#host, UMB_SCRIPTS_TREE_STORE_CONTEXT_TOKEN, (instance) => {
21
+ this.#treeStore = instance;
22
+ }),
23
+ ]);
24
+ }
25
+ //#region FOLDER
26
+ createFolderScaffold(parentId) {
27
+ const data = {
28
+ name: '',
29
+ parentId,
30
+ };
31
+ return Promise.resolve({ data, error: undefined });
32
+ }
33
+ async createFolder(requestBody) {
34
+ await this.#init;
35
+ const req = {
36
+ parentPath: requestBody.parentId,
37
+ name: requestBody.name,
38
+ };
39
+ const promise = this.#folderDataSource.insert(req);
40
+ await promise;
41
+ this.requestTreeItemsOf(requestBody.parentId ? requestBody.parentId : null);
42
+ return promise;
43
+ }
44
+ async requestFolder(unique) {
45
+ await this.#init;
46
+ return this.#folderDataSource.get(unique);
47
+ }
48
+ updateFolder(unique, folder) {
49
+ throw new Error('Method not implemented.');
50
+ }
51
+ async deleteFolder(path) {
52
+ await this.#init;
53
+ const { data } = await this.requestFolder(path);
54
+ const promise = this.#folderDataSource.delete(path);
55
+ await promise;
56
+ this.requestTreeItemsOf(data?.parentPath ? data?.parentPath : null);
57
+ return promise;
58
+ }
59
+ //#endregion
60
+ //#region TREE
61
+ async requestTreeRoot() {
62
+ await this.#init;
63
+ const data = {
64
+ id: null,
65
+ path: null,
66
+ type: SCRIPTS_ROOT_ENTITY_TYPE,
67
+ name: 'Scripts',
68
+ icon: 'umb:folder',
69
+ hasChildren: true,
70
+ };
71
+ return { data };
72
+ }
73
+ async requestRootTreeItems() {
74
+ await this.#init;
75
+ const { data, error } = await this.#treeDataSource.getRootItems();
76
+ if (data) {
77
+ this.#treeStore?.appendItems(data.items);
78
+ }
79
+ return { data, error, asObservable: () => this.#treeStore.rootItems };
80
+ }
81
+ async requestTreeItemsOf(path) {
82
+ if (path === null || path === '/' || path === '') {
83
+ return this.requestRootTreeItems();
84
+ }
85
+ await this.#init;
86
+ const response = await this.#treeDataSource.getChildrenOf({ path, skip: 0, take: 100 });
87
+ const { data, error } = response;
88
+ if (data) {
89
+ this.#treeStore.appendItems(data.items);
90
+ }
91
+ return { data, error, asObservable: () => this.#treeStore.childrenOf(path) };
92
+ }
93
+ async requestTreeItems(keys) {
94
+ await this.#init;
95
+ if (!keys) {
96
+ const error = { title: 'Keys are missing' };
97
+ return { data: undefined, error };
98
+ }
99
+ const { data, error } = await this.#treeDataSource.getItem(keys);
100
+ return { data, error, asObservable: () => this.#treeStore.items(keys) };
101
+ }
102
+ async rootTreeItems() {
103
+ await this.#init;
104
+ return this.#treeStore.rootItems;
105
+ }
106
+ async treeItemsOf(parentPath) {
107
+ if (!parentPath)
108
+ throw new Error('Parent Path is missing');
109
+ await this.#init;
110
+ return this.#treeStore.childrenOf(parentPath);
111
+ }
112
+ async treeItems(paths) {
113
+ if (!paths)
114
+ throw new Error('Paths are missing');
115
+ await this.#init;
116
+ return this.#treeStore.items(paths);
117
+ }
118
+ //#endregion
119
+ //#region DETAILS
120
+ async requestByKey(path) {
121
+ if (!path)
122
+ throw new Error('Path is missing');
123
+ await this.#init;
124
+ const { data, error } = await this.#detailDataSource.get(path);
125
+ return { data, error };
126
+ }
127
+ requestById(id) {
128
+ throw new Error('Method not implemented.');
129
+ }
130
+ byId(id) {
131
+ throw new Error('Method not implemented.');
132
+ }
133
+ createScaffold(parentId, preset) {
134
+ return this.#detailDataSource.createScaffold(parentId, preset);
135
+ }
136
+ async create(data) {
137
+ const promise = this.#detailDataSource.insert(data);
138
+ await promise;
139
+ this.requestTreeItemsOf(data.parentPath ? data.parentPath : null);
140
+ return promise;
141
+ }
142
+ save(id, requestBody) {
143
+ return this.#detailDataSource.update(id, requestBody);
144
+ }
145
+ async delete(id) {
146
+ const promise = this.#detailDataSource.delete(id);
147
+ const parentPath = id.substring(0, id.lastIndexOf('/'));
148
+ this.requestTreeItemsOf(parentPath ? parentPath : null);
149
+ return promise;
150
+ }
151
+ requestItems(keys) {
152
+ return this.#detailDataSource.getItems(keys);
153
+ }
154
+ }
@@ -0,0 +1,31 @@
1
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
2
+ import { UmbStoreBase } from '../../../core/store/index.js';
3
+ import type { TemplateResponseModel } from '../../../../external/backend-api/index.js';
4
+ import { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
5
+ /**
6
+ * @export
7
+ * @class UmbScriptsStore
8
+ * @extends {UmbStoreBase}
9
+ * @description - Data Store for scripts
10
+ */
11
+ export declare class UmbScriptsStore extends UmbStoreBase {
12
+ /**
13
+ * Creates an instance of UmbScriptsStore.
14
+ * @param {UmbControllerHostInterface} host
15
+ * @memberof UmbScriptsStore
16
+ */
17
+ constructor(host: UmbControllerHostElement);
18
+ /**
19
+ * Append a script to the store
20
+ * @param {Template} template
21
+ * @memberof UmbScriptsStore
22
+ */
23
+ append(template: TemplateResponseModel): void;
24
+ /**
25
+ * Removes scripts in the store with the given uniques
26
+ * @param {string[]} uniques
27
+ * @memberof UmbScriptsStore
28
+ */
29
+ remove(uniques: string[]): void;
30
+ }
31
+ export declare const UMB_SCRIPTS_STORE_CONTEXT_TOKEN: UmbContextToken<UmbScriptsStore, UmbScriptsStore>;
@@ -0,0 +1,37 @@
1
+ import { UMB_SCRIPTS_STORE_CONTEXT_TOKEN_ALIAS } from '../config.js';
2
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
3
+ import { UmbArrayState } from '../../../../libs/observable-api/index.js';
4
+ import { UmbStoreBase } from '../../../core/store/index.js';
5
+ /**
6
+ * @export
7
+ * @class UmbScriptsStore
8
+ * @extends {UmbStoreBase}
9
+ * @description - Data Store for scripts
10
+ */
11
+ export class UmbScriptsStore extends UmbStoreBase {
12
+ /**
13
+ * Creates an instance of UmbScriptsStore.
14
+ * @param {UmbControllerHostInterface} host
15
+ * @memberof UmbScriptsStore
16
+ */
17
+ constructor(host) {
18
+ super(host, UMB_SCRIPTS_STORE_CONTEXT_TOKEN.toString(), new UmbArrayState([], (x) => x.id));
19
+ }
20
+ /**
21
+ * Append a script to the store
22
+ * @param {Template} template
23
+ * @memberof UmbScriptsStore
24
+ */
25
+ append(template) {
26
+ this._data.append([template]);
27
+ }
28
+ /**
29
+ * Removes scripts in the store with the given uniques
30
+ * @param {string[]} uniques
31
+ * @memberof UmbScriptsStore
32
+ */
33
+ remove(uniques) {
34
+ this._data.remove(uniques);
35
+ }
36
+ }
37
+ export const UMB_SCRIPTS_STORE_CONTEXT_TOKEN = new UmbContextToken(UMB_SCRIPTS_STORE_CONTEXT_TOKEN_ALIAS);
@@ -0,0 +1,19 @@
1
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
2
+ import { UmbFileSystemTreeStore } from '../../../core/store/index.js';
3
+ import type { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
4
+ export declare const UMB_SCRIPTS_TREE_STORE_CONTEXT_TOKEN: UmbContextToken<UmbScriptsTreeStore, UmbScriptsTreeStore>;
5
+ /**
6
+ * Tree Store for scripts
7
+ *
8
+ * @export
9
+ * @class
10
+ * @extends {UmbEntityTreeStore}
11
+ */
12
+ export declare class UmbScriptsTreeStore extends UmbFileSystemTreeStore {
13
+ /**
14
+ * Creates an instance of UmbScriptsTreeStore.
15
+ * @param {UmbControllerHostInterface} host
16
+ * @memberof UmbScriptsTreeStore
17
+ */
18
+ constructor(host: UmbControllerHostElement);
19
+ }
@@ -0,0 +1,21 @@
1
+ import { UMB_SCRIPTS_TREE_STORE_CONTEXT_TOKEN_ALIAS } from '../config.js';
2
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
3
+ import { UmbFileSystemTreeStore } from '../../../core/store/index.js';
4
+ export const UMB_SCRIPTS_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken(UMB_SCRIPTS_TREE_STORE_CONTEXT_TOKEN_ALIAS);
5
+ /**
6
+ * Tree Store for scripts
7
+ *
8
+ * @export
9
+ * @class
10
+ * @extends {UmbEntityTreeStore}
11
+ */
12
+ export class UmbScriptsTreeStore extends UmbFileSystemTreeStore {
13
+ /**
14
+ * Creates an instance of UmbScriptsTreeStore.
15
+ * @param {UmbControllerHostInterface} host
16
+ * @memberof UmbScriptsTreeStore
17
+ */
18
+ constructor(host) {
19
+ super(host, UMB_SCRIPTS_TREE_STORE_CONTEXT_TOKEN.toString());
20
+ }
21
+ }
@@ -0,0 +1,11 @@
1
+ import { FileSystemTreeItemPresentationModel, PagedFileSystemTreeItemPresentationModel } from '../../../../../external/backend-api/index.js';
2
+ import type { DataSourceResponse } from '../../../../../shared/repository/index.js';
3
+ export interface ScriptsTreeDataSource {
4
+ getRootItems(): Promise<DataSourceResponse<PagedFileSystemTreeItemPresentationModel>>;
5
+ getChildrenOf({ path, skip, take, }: {
6
+ path?: string | undefined;
7
+ skip?: number | undefined;
8
+ take?: number | undefined;
9
+ }): Promise<DataSourceResponse<PagedFileSystemTreeItemPresentationModel>>;
10
+ getItem(ids: Array<string>): Promise<DataSourceResponse<FileSystemTreeItemPresentationModel[]>>;
11
+ }
@@ -0,0 +1,41 @@
1
+ import { CreateScriptRequestModel, CreateTextFileViewModelBaseModel, ScriptItemResponseModel, ScriptResponseModel, UpdateScriptRequestModel } from '../../../../../external/backend-api/index.js';
2
+ import type { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
3
+ import { DataSourceResponse, UmbDataSource } from '../../../../../shared/repository/index.js';
4
+ export declare class UmbScriptsServerDataSource implements UmbDataSource<CreateScriptRequestModel, string, UpdateScriptRequestModel, ScriptResponseModel, string> {
5
+ #private;
6
+ constructor(host: UmbControllerHostElement);
7
+ createScaffold(parentId: string | null, preset?: string | Partial<CreateTextFileViewModelBaseModel> | undefined): Promise<DataSourceResponse<CreateTextFileViewModelBaseModel>>;
8
+ /**
9
+ * Fetches a script with the given path from the server
10
+ * @param {string} path
11
+ * @return {*}
12
+ * @memberof UmbScriptsDetailServerDataSource
13
+ */
14
+ get(path: string): Promise<DataSourceResponse<ScriptResponseModel>>;
15
+ /**
16
+ * Creates a new script
17
+ *
18
+ * @param {CreateScriptRequestModel} requestBody
19
+ * @return {*} {Promise<DataSourceResponse<string>>}
20
+ * @memberof UmbScriptsDetailServerDataSource
21
+ */
22
+ insert(requestBody: CreateScriptRequestModel): Promise<DataSourceResponse<string>>;
23
+ /**
24
+ * Updates a script
25
+ *
26
+ * @param {string} [unique='']
27
+ * @param {UpdateScriptRequestModel} requestBody
28
+ * @return {*} {Promise<DataSourceResponse<any>>}
29
+ * @memberof UmbScriptsDetailServerDataSource
30
+ */
31
+ update(unique: string | undefined, requestBody: UpdateScriptRequestModel): Promise<DataSourceResponse<any>>;
32
+ /**
33
+ * Deletes a script
34
+ *
35
+ * @param {string} path
36
+ * @return {*} {Promise<DataSourceResponse>}
37
+ * @memberof UmbScriptsDetailServerDataSource
38
+ */
39
+ delete(path: string): Promise<DataSourceResponse>;
40
+ getItems(keys: Array<string>): Promise<DataSourceResponse<ScriptItemResponseModel[]>>;
41
+ }
@@ -0,0 +1,57 @@
1
+ import { ScriptResource, } from '../../../../../external/backend-api/index.js';
2
+ import { tryExecuteAndNotify } from '../../../../../shared/resources/index.js';
3
+ export class UmbScriptsServerDataSource {
4
+ #host;
5
+ constructor(host) {
6
+ this.#host = host;
7
+ }
8
+ createScaffold(parentId, preset) {
9
+ throw new Error('Method not implemented.');
10
+ }
11
+ /**
12
+ * Fetches a script with the given path from the server
13
+ * @param {string} path
14
+ * @return {*}
15
+ * @memberof UmbScriptsDetailServerDataSource
16
+ */
17
+ get(path) {
18
+ if (!path)
19
+ throw new Error('Path is missing');
20
+ return tryExecuteAndNotify(this.#host, ScriptResource.getScript({ path }));
21
+ }
22
+ /**
23
+ * Creates a new script
24
+ *
25
+ * @param {CreateScriptRequestModel} requestBody
26
+ * @return {*} {Promise<DataSourceResponse<string>>}
27
+ * @memberof UmbScriptsDetailServerDataSource
28
+ */
29
+ insert(requestBody) {
30
+ return tryExecuteAndNotify(this.#host, ScriptResource.postScript({ requestBody }));
31
+ }
32
+ //TODO the parameters here are bit ugly, since unique is already in the request body parameter, but it has to be done to marry the UmbDataSource interface an backend API together... maybe come up with some nicer solution
33
+ /**
34
+ * Updates a script
35
+ *
36
+ * @param {string} [unique='']
37
+ * @param {UpdateScriptRequestModel} requestBody
38
+ * @return {*} {Promise<DataSourceResponse<any>>}
39
+ * @memberof UmbScriptsDetailServerDataSource
40
+ */
41
+ update(unique = '', requestBody) {
42
+ return tryExecuteAndNotify(this.#host, ScriptResource.putScript({ requestBody }));
43
+ }
44
+ /**
45
+ * Deletes a script
46
+ *
47
+ * @param {string} path
48
+ * @return {*} {Promise<DataSourceResponse>}
49
+ * @memberof UmbScriptsDetailServerDataSource
50
+ */
51
+ delete(path) {
52
+ return tryExecuteAndNotify(this.#host, ScriptResource.deleteScript({ path }));
53
+ }
54
+ getItems(keys) {
55
+ return tryExecuteAndNotify(this.#host, ScriptResource.getScriptItem({ path: keys }));
56
+ }
57
+ }
@@ -0,0 +1,17 @@
1
+ import { CreateFolderRequestModel, FolderModelBaseModel, FolderResponseModel } from '../../../../../external/backend-api/index.js';
2
+ import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
3
+ import { DataSourceResponse, UmbFolderDataSource } from '../../../../../shared/repository/index.js';
4
+ export type ScriptsGetFolderResponse = {
5
+ path: string;
6
+ parentPath: string;
7
+ name: string;
8
+ };
9
+ export declare class UmbScriptsFolderServerDataSource implements UmbFolderDataSource {
10
+ #private;
11
+ constructor(host: UmbControllerHostElement);
12
+ createScaffold(parentId: string | null): Promise<DataSourceResponse<FolderResponseModel>>;
13
+ get(unique: string): Promise<DataSourceResponse<ScriptsGetFolderResponse>>;
14
+ insert(requestBody: CreateFolderRequestModel): Promise<DataSourceResponse<string>>;
15
+ update(unique: string, data: CreateFolderRequestModel): Promise<DataSourceResponse<FolderModelBaseModel>>;
16
+ delete(path: string): Promise<DataSourceResponse<unknown>>;
17
+ }
@@ -0,0 +1,23 @@
1
+ import { ScriptResource, } from '../../../../../external/backend-api/index.js';
2
+ import { tryExecuteAndNotify } from '../../../../../shared/resources/index.js';
3
+ export class UmbScriptsFolderServerDataSource {
4
+ #host;
5
+ constructor(host) {
6
+ this.#host = host;
7
+ }
8
+ createScaffold(parentId) {
9
+ throw new Error('Method not implemented.');
10
+ }
11
+ get(unique) {
12
+ return tryExecuteAndNotify(this.#host, ScriptResource.getScriptFolder({ path: unique }));
13
+ }
14
+ insert(requestBody) {
15
+ return tryExecuteAndNotify(this.#host, ScriptResource.postScriptFolder({ requestBody }));
16
+ }
17
+ update(unique, data) {
18
+ throw new Error('Method not implemented.');
19
+ }
20
+ delete(path) {
21
+ return tryExecuteAndNotify(this.#host, ScriptResource.deleteScriptFolder({ path }));
22
+ }
23
+ }
@@ -0,0 +1,14 @@
1
+ import { ScriptsTreeDataSource } from './index.js';
2
+ import { ProblemDetails } from '../../../../../external/backend-api/index.js';
3
+ import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
4
+ export declare class UmbScriptsTreeServerDataSource implements ScriptsTreeDataSource {
5
+ #private;
6
+ constructor(host: UmbControllerHostElement);
7
+ getRootItems(): Promise<import("../../../../../shared/repository/index.js").DataSourceResponse<import("../../../../../external/backend-api/index.js").PagedFileSystemTreeItemPresentationModel>>;
8
+ getChildrenOf({ path, skip, take, }: {
9
+ path?: string | undefined;
10
+ skip?: number | undefined;
11
+ take?: number | undefined;
12
+ }): Promise<ProblemDetails | import("../../../../../shared/repository/index.js").DataSourceResponse<import("../../../../../external/backend-api/index.js").PagedFileSystemTreeItemPresentationModel>>;
13
+ getItem(path: Array<string>): Promise<ProblemDetails | import("../../../../../shared/repository/index.js").DataSourceResponse<import("../../../../../external/backend-api/index.js").FileItemResponseModelBaseModel[]>>;
14
+ }
@@ -0,0 +1,31 @@
1
+ import { ScriptResource } from '../../../../../external/backend-api/index.js';
2
+ import { tryExecuteAndNotify } from '../../../../../shared/resources/index.js';
3
+ export class UmbScriptsTreeServerDataSource {
4
+ #host;
5
+ constructor(host) {
6
+ this.#host = host;
7
+ }
8
+ async getRootItems() {
9
+ return tryExecuteAndNotify(this.#host, ScriptResource.getTreeScriptRoot({}));
10
+ }
11
+ async getChildrenOf({ path, skip, take, }) {
12
+ if (!path) {
13
+ const error = { title: 'Path is missing' };
14
+ return error;
15
+ }
16
+ return tryExecuteAndNotify(this.#host, ScriptResource.getTreeScriptChildren({
17
+ path,
18
+ skip,
19
+ take,
20
+ }));
21
+ }
22
+ async getItem(path) {
23
+ if (!path) {
24
+ const error = { title: 'Paths are missing' };
25
+ return error;
26
+ }
27
+ return tryExecuteAndNotify(this.#host, ScriptResource.getScriptItem({
28
+ path,
29
+ }));
30
+ }
31
+ }
@@ -0,0 +1,2 @@
1
+ import type { ManifestTree, ManifestTreeItem } from '../../../core/extension-registry/index.js';
2
+ export declare const manifests: (ManifestTree | ManifestTreeItem)[];
@@ -0,0 +1,20 @@
1
+ import { SCRIPTS_ENTITY_TYPE, SCRIPTS_REPOSITORY_ALIAS, SCRIPTS_ROOT_ENTITY_TYPE, SCRIPTS_TREE_ALIAS, SCRIPTS_TREE_ITEM_ALIAS, } from '../config.js';
2
+ const tree = {
3
+ type: 'tree',
4
+ alias: SCRIPTS_TREE_ALIAS,
5
+ name: 'Scripts Tree',
6
+ weight: 30,
7
+ meta: {
8
+ repositoryAlias: SCRIPTS_REPOSITORY_ALIAS,
9
+ },
10
+ };
11
+ const treeItem = {
12
+ type: 'treeItem',
13
+ kind: 'fileSystem',
14
+ alias: SCRIPTS_TREE_ITEM_ALIAS,
15
+ name: 'Scripts Tree Item',
16
+ meta: {
17
+ entityTypes: [SCRIPTS_ROOT_ENTITY_TYPE, SCRIPTS_ENTITY_TYPE],
18
+ },
19
+ };
20
+ export const manifests = [tree, treeItem];
@@ -0,0 +1,2 @@
1
+ import type { ManifestWorkspace, ManifestWorkspaceAction } from '../../../core/extension-registry/index.js';
2
+ export declare const manifests: (ManifestWorkspace | ManifestWorkspaceAction)[];
@@ -0,0 +1,32 @@
1
+ import { SCRIPTS_ENTITY_TYPE, SCRIPTS_WORKSPACE_ALIAS } from '../config.js';
2
+ import { UmbSaveWorkspaceAction } from '../../../core/workspace/index.js';
3
+ const workspace = {
4
+ type: 'workspace',
5
+ alias: SCRIPTS_WORKSPACE_ALIAS,
6
+ name: 'Scripts Workspace',
7
+ loader: () => import('./scripts-workspace.element.js'),
8
+ meta: {
9
+ entityType: SCRIPTS_ENTITY_TYPE,
10
+ },
11
+ };
12
+ //TODO: this does not work for some reason
13
+ const workspaceActions = [
14
+ {
15
+ type: 'workspaceAction',
16
+ alias: 'Umb.WorkspaceAction.Scripts.Save',
17
+ name: 'Save Script Workspace Action',
18
+ meta: {
19
+ label: 'Save',
20
+ look: 'primary',
21
+ color: 'positive',
22
+ api: UmbSaveWorkspaceAction,
23
+ },
24
+ conditions: [
25
+ {
26
+ alias: 'Umb.Condition.WorkspaceAlias',
27
+ match: workspace.alias,
28
+ },
29
+ ],
30
+ },
31
+ ];
32
+ export const manifests = [workspace, ...workspaceActions];
@@ -0,0 +1,24 @@
1
+ import { PropertyValueMap } from '../../../../external/lit/index.js';
2
+ import { UmbLitElement } from '../../../../shared/lit-element/index.js';
3
+ export declare class UmbScriptsWorkspaceEditElement extends UmbLitElement {
4
+ #private;
5
+ private get _name();
6
+ private set _name(value);
7
+ private _content?;
8
+ private _path?;
9
+ private _dirName?;
10
+ private _ready?;
11
+ private _codeEditor?;
12
+ private _modalContext?;
13
+ private inputQuery$;
14
+ constructor();
15
+ protected willUpdate(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
16
+ render(): import("lit-html").TemplateResult<1>;
17
+ static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
18
+ }
19
+ export default UmbScriptsWorkspaceEditElement;
20
+ declare global {
21
+ interface HTMLElementTagNameMap {
22
+ 'umb-scripts-workspace-edit': UmbScriptsWorkspaceEditElement;
23
+ }
24
+ }