@umbraco-cms/backoffice 14.0.0-631d8769 → 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.
- package/dist-cms/assets/lang/en-us.js +18 -18
- package/dist-cms/assets/lang/en-us.ts +18 -18
- package/dist-cms/custom-elements.json +11 -11
- package/dist-cms/external/backend-api/index.js +1 -1
- package/dist-cms/external/backend-api/src/index.d.ts +17 -1
- package/dist-cms/external/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.d.ts +1 -0
- package/dist-cms/external/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.d.ts +1 -0
- package/dist-cms/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeRequestModelCreateDocumentTypePropertyTypeContainerRequestModel.d.ts +2 -0
- package/dist-cms/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel.d.ts +20 -0
- package/dist-cms/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.d.ts +2 -0
- package/dist-cms/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.d.ts +2 -0
- package/dist-cms/external/backend-api/src/models/CreateMediaTypeRequestModel.d.ts +2 -0
- package/dist-cms/external/backend-api/src/models/DeleteUserGroupsRequestModel.d.ts +3 -0
- package/dist-cms/external/backend-api/src/models/DeleteUsersRequestModel.d.ts +3 -0
- package/dist-cms/external/backend-api/src/models/ItemSortingRequestModel.d.ts +4 -0
- package/dist-cms/external/backend-api/src/models/ProblemDetailsBuilderModel.d.ts +1 -0
- package/dist-cms/external/backend-api/src/models/RelationResponseModel.d.ts +2 -2
- package/dist-cms/external/backend-api/src/models/ResetPasswordRequestModel.d.ts +3 -0
- package/dist-cms/external/backend-api/src/models/ResetPasswordTokenRequestModel.d.ts +4 -0
- package/dist-cms/external/backend-api/src/models/SortingRequestModel.d.ts +5 -0
- package/dist-cms/external/backend-api/src/models/UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel.d.ts +18 -0
- package/dist-cms/external/backend-api/src/models/{UpdateFolderReponseModel.d.ts → UpdateFolderResponseModel.d.ts} +1 -1
- package/dist-cms/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.d.ts +2 -0
- package/dist-cms/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.d.ts +2 -0
- package/dist-cms/external/backend-api/src/models/UpdateMediaTypeRequestModel.d.ts +2 -0
- package/dist-cms/external/backend-api/src/models/VerifyResetPasswordTokenRequestModel.d.ts +4 -0
- package/dist-cms/external/backend-api/src/services/DataTypeResource.d.ts +2 -2
- package/dist-cms/external/backend-api/src/services/DocumentResource.d.ts +21 -21
- package/dist-cms/external/backend-api/src/services/DocumentTypeResource.d.ts +35 -3
- package/dist-cms/external/backend-api/src/services/MediaResource.d.ts +13 -5
- package/dist-cms/external/backend-api/src/services/MediaTypeResource.d.ts +56 -0
- package/dist-cms/external/backend-api/src/services/RelationResource.d.ts +1 -9
- package/dist-cms/external/backend-api/src/services/SecurityResource.d.ts +24 -0
- package/dist-cms/external/backend-api/src/services/UserGroupResource.d.ts +8 -0
- package/dist-cms/external/backend-api/src/services/UserResource.d.ts +8 -0
- package/dist-cms/external/router-slot/config.d.ts +8 -0
- package/dist-cms/external/router-slot/index.d.ts +4 -3
- package/dist-cms/external/router-slot/index.js +1 -1
- package/dist-cms/external/router-slot/model.d.ts +123 -0
- package/dist-cms/external/router-slot/router-slot.d.ts +111 -0
- package/dist-cms/external/router-slot/util/anchor.d.ts +5 -0
- package/dist-cms/external/router-slot/util/events.d.ts +26 -0
- package/dist-cms/external/router-slot/util/history.d.ts +32 -0
- package/dist-cms/external/router-slot/util/index.d.ts +6 -0
- package/dist-cms/external/router-slot/util/router.d.ts +72 -0
- package/dist-cms/external/router-slot/util/shadow.d.ts +15 -0
- package/dist-cms/external/router-slot/util/url.d.ts +78 -0
- package/dist-cms/external/router-slot/util.d.ts +1 -0
- package/dist-cms/libs/observable-api/observer.js +2 -1
- package/dist-cms/mocks/browser-handlers.js +1 -1
- package/dist-cms/mocks/data/document.data.d.ts +6 -2
- package/dist-cms/mocks/data/document.data.js +54 -4
- package/dist-cms/mocks/data/entity.data.js +0 -2
- package/dist-cms/mocks/handlers/{document.handlers.js → document/document.handlers.js} +28 -40
- package/dist-cms/mocks/handlers/document/index.d.ts +1 -0
- package/dist-cms/mocks/handlers/document/index.js +5 -0
- package/dist-cms/mocks/handlers/document/item.handlers.d.ts +1 -0
- package/dist-cms/mocks/handlers/document/item.handlers.js +13 -0
- package/dist-cms/mocks/handlers/document/recycle-bin.handlers.d.ts +1 -0
- package/dist-cms/mocks/handlers/document/recycle-bin.handlers.js +16 -0
- package/dist-cms/mocks/handlers/document/slug.d.ts +1 -0
- package/dist-cms/mocks/handlers/document/slug.js +1 -0
- package/dist-cms/mocks/handlers/document/tree.handlers.d.ts +1 -0
- package/dist-cms/mocks/handlers/document/tree.handlers.js +16 -0
- package/dist-cms/packages/core/components/input-list-base/input-list-base.js +1 -1
- package/dist-cms/packages/core/content-type/content-type-container-structure-helper.class.js +2 -2
- package/dist-cms/packages/core/content-type/content-type-property-structure-helper.class.js +1 -1
- package/dist-cms/packages/core/content-type/content-type-structure-manager.class.d.ts +15 -15
- package/dist-cms/packages/core/content-type/content-type-structure-manager.class.js +79 -103
- package/dist-cms/packages/core/entity-action/common/trash/trash.action.d.ts +1 -1
- package/dist-cms/packages/core/entity-action/common/trash/trash.action.js +1 -1
- package/dist-cms/packages/core/modal/token/create-document-modal.token.d.ts +8 -0
- package/dist-cms/packages/core/modal/token/create-document-modal.token.js +5 -0
- package/dist-cms/packages/core/modal/token/index.d.ts +1 -1
- package/dist-cms/packages/core/modal/token/index.js +1 -1
- package/dist-cms/packages/core/store/store-base.d.ts +18 -6
- package/dist-cms/packages/core/store/store-base.js +22 -6
- package/dist-cms/packages/documents/document-types/manifests.js +0 -2
- package/dist-cms/packages/documents/document-types/repository/document-type.repository.d.ts +0 -21
- package/dist-cms/packages/documents/document-types/repository/document-type.repository.js +6 -18
- package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.d.ts +1 -1
- package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.js +1 -12
- package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.js +27 -27
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.js +8 -4
- package/dist-cms/packages/documents/documents/entity-actions/create/create-document-modal.element.d.ts +17 -0
- 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
- package/dist-cms/packages/documents/documents/entity-actions/create/create.action.d.ts +0 -2
- package/dist-cms/packages/documents/documents/entity-actions/create/create.action.js +7 -23
- package/dist-cms/packages/documents/documents/entity-actions/create/manifests.d.ts +2 -0
- package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +27 -0
- package/dist-cms/packages/documents/documents/entity-actions/manifests.d.ts +2 -2
- package/dist-cms/packages/documents/documents/entity-actions/manifests.js +15 -48
- package/dist-cms/packages/documents/documents/index.d.ts +1 -0
- package/dist-cms/packages/documents/documents/index.js +1 -0
- package/dist-cms/packages/documents/documents/manifests.d.ts +13 -1
- package/dist-cms/packages/documents/documents/manifests.js +2 -0
- package/dist-cms/packages/documents/documents/menu-item/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.d.ts +14 -0
- package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.js +18 -0
- package/dist-cms/packages/documents/documents/recycle-bin/index.d.ts +1 -0
- package/dist-cms/packages/documents/documents/recycle-bin/index.js +1 -0
- package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +13 -0
- package/dist-cms/packages/documents/documents/recycle-bin/manifests.js +5 -0
- package/dist-cms/packages/documents/documents/recycle-bin/menu-item/manifests.d.ts +1 -0
- package/dist-cms/packages/documents/documents/recycle-bin/menu-item/manifests.js +14 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.repository.d.ts +28 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.repository.js +56 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle.bin.tree.store.d.ts +18 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle.bin.tree.store.js +19 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/index.d.ts +1 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/index.js +1 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/manifests.d.ts +4 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/manifests.js +17 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/sources/document-recycle-bin.tree.server.data.d.ts +29 -0
- package/dist-cms/packages/documents/documents/recycle-bin/repository/sources/document-recycle-bin.tree.server.data.js +49 -0
- package/dist-cms/packages/documents/documents/recycle-bin/tree/manifests.d.ts +2 -0
- package/dist-cms/packages/documents/documents/recycle-bin/tree/manifests.js +19 -0
- package/dist-cms/packages/documents/documents/repository/document-item.store.d.ts +20 -0
- package/dist-cms/packages/documents/documents/repository/document-item.store.js +23 -0
- package/dist-cms/packages/documents/documents/repository/document.repository.d.ts +10 -9
- package/dist-cms/packages/documents/documents/repository/document.repository.js +47 -25
- package/dist-cms/packages/documents/documents/repository/document.store.d.ts +0 -12
- package/dist-cms/packages/documents/documents/repository/document.store.js +0 -16
- package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.d.ts +24 -0
- package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.js +31 -0
- package/dist-cms/packages/documents/documents/repository/sources/document.server.data.d.ts +9 -21
- package/dist-cms/packages/documents/documents/repository/sources/document.server.data.js +33 -62
- package/dist-cms/packages/documents/documents/workspace/manifests.js +6 -4
- package/dist-cms/packages/documents/manifests.d.ts +13 -1
- package/dist-cms/packages/settings/dashboards/performance-profiling/dashboard-performance-profiling.element.d.ts +3 -1
- package/dist-cms/packages/settings/dashboards/performance-profiling/dashboard-performance-profiling.element.js +26 -40
- package/dist-cms/packages/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.js +17 -17
- package/dist-cms/packages/templating/templates/modals/query-builder/query-builder.element.d.ts +1 -1
- package/dist-cms/packages/templating/templates/modals/query-builder/query-builder.element.js +1 -1
- package/dist-cms/packages/users/user-groups/collection/user-group-collection-header.element.js +2 -2
- package/dist-cms/packages/users/user-groups/collection/user-group-collection-view.element.js +6 -6
- package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +15 -12
- package/dist-cms/packages/users/users/collection/user-collection-header.element.js +18 -11
- package/dist-cms/packages/users/users/collection/views/grid/user-collection-grid-view.element.js +6 -6
- package/dist-cms/packages/users/users/collection/views/table/column-layouts/status/user-table-status-column-layout.element.js +3 -3
- package/dist-cms/packages/users/users/index.d.ts +1 -0
- package/dist-cms/packages/users/users/index.js +1 -0
- package/dist-cms/packages/users/users/repository/index.d.ts +1 -0
- package/dist-cms/packages/users/users/repository/index.js +1 -0
- package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +36 -35
- package/dist-cms/packages/users/utils.d.ts +5 -2
- package/dist-cms/packages/users/utils.js +14 -14
- package/dist-cms/shared/repository/data-source/folder-data-source.interface.d.ts +2 -2
- package/dist-cms/shared/repository/folder-repository.interface.d.ts +2 -2
- package/dist-cms/shared/router/index.d.ts +1 -1
- package/dist-cms/shared/router/index.js +1 -1
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/vscode-html-custom-data.json +7 -7
- package/package.json +2 -3
- package/dist-cms/packages/core/modal/token/allowed-document-types-modal.token.d.ts +0 -9
- package/dist-cms/packages/core/modal/token/allowed-document-types-modal.token.js +0 -5
- package/dist-cms/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.d.ts +0 -19
- package/dist-cms/packages/documents/document-types/modals/manifests.d.ts +0 -2
- package/dist-cms/packages/documents/document-types/modals/manifests.js +0 -9
- package/router-slot-2.3.0.tgz +0 -0
- /package/dist-cms/mocks/handlers/{document.handlers.d.ts → document/document.handlers.d.ts} +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { UmbTreeRepository } from '../../../../../shared/repository/index.js';
|
|
2
|
+
import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
|
|
3
|
+
import { DocumentTreeItemResponseModel } from '../../../../../external/backend-api/index.js';
|
|
4
|
+
export declare class UmbDocumentRecycleBinRepository implements UmbTreeRepository<DocumentTreeItemResponseModel> {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(host: UmbControllerHostElement);
|
|
7
|
+
requestTreeRoot(): Promise<{
|
|
8
|
+
data: {
|
|
9
|
+
id: null;
|
|
10
|
+
type: string;
|
|
11
|
+
name: string;
|
|
12
|
+
icon: string;
|
|
13
|
+
hasChildren: boolean;
|
|
14
|
+
};
|
|
15
|
+
}>;
|
|
16
|
+
requestRootTreeItems(): Promise<{
|
|
17
|
+
data: import("../../../../../shared/repository/index.js").UmbPagedData<any> | undefined;
|
|
18
|
+
error: import("../../../../../external/backend-api/index.js").ApiError | import("../../../../../external/backend-api/index.js").CancelError | undefined;
|
|
19
|
+
asObservable: () => import("rxjs").Observable<import("../../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>;
|
|
20
|
+
}>;
|
|
21
|
+
requestTreeItemsOf(parentId: string | null): Promise<{
|
|
22
|
+
data: import("../../../../../shared/repository/index.js").UmbPagedData<any> | undefined;
|
|
23
|
+
error: import("../../../../../external/backend-api/index.js").ApiError | import("../../../../../external/backend-api/index.js").CancelError | undefined;
|
|
24
|
+
asObservable: () => import("rxjs").Observable<import("../../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>;
|
|
25
|
+
}>;
|
|
26
|
+
rootTreeItems(): Promise<import("rxjs").Observable<import("../../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>>;
|
|
27
|
+
treeItemsOf(parentId: string | null): Promise<import("rxjs").Observable<import("../../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { UmbDocumentRecycleBinTreeServerDataSource } from './sources/document-recycle-bin.tree.server.data.js';
|
|
2
|
+
import { UMB_DOCUMENT_RECYCLE_BIN_TREE_STORE_CONTEXT, } from './document-recycle.bin.tree.store.js';
|
|
3
|
+
import { UmbContextConsumerController } from '../../../../../libs/context-api/index.js';
|
|
4
|
+
export class UmbDocumentRecycleBinRepository {
|
|
5
|
+
#init;
|
|
6
|
+
#host;
|
|
7
|
+
#treeSource;
|
|
8
|
+
#treeStore;
|
|
9
|
+
constructor(host) {
|
|
10
|
+
this.#host = host;
|
|
11
|
+
// TODO: figure out how spin up get the correct data source
|
|
12
|
+
this.#treeSource = new UmbDocumentRecycleBinTreeServerDataSource(this.#host);
|
|
13
|
+
this.#init = Promise.all([
|
|
14
|
+
new UmbContextConsumerController(this.#host, UMB_DOCUMENT_RECYCLE_BIN_TREE_STORE_CONTEXT, (instance) => {
|
|
15
|
+
this.#treeStore = instance;
|
|
16
|
+
}),
|
|
17
|
+
]);
|
|
18
|
+
}
|
|
19
|
+
async requestTreeRoot() {
|
|
20
|
+
await this.#init;
|
|
21
|
+
const data = {
|
|
22
|
+
id: null,
|
|
23
|
+
type: 'document-recycle-bin-root',
|
|
24
|
+
name: 'Recycle Bin',
|
|
25
|
+
icon: 'umb:trash',
|
|
26
|
+
hasChildren: true,
|
|
27
|
+
};
|
|
28
|
+
return { data };
|
|
29
|
+
}
|
|
30
|
+
async requestRootTreeItems() {
|
|
31
|
+
await this.#init;
|
|
32
|
+
const { data, error } = await this.#treeSource.getRootItems();
|
|
33
|
+
if (data) {
|
|
34
|
+
this.#treeStore?.appendItems(data.items);
|
|
35
|
+
}
|
|
36
|
+
return { data, error, asObservable: () => this.#treeStore.rootItems };
|
|
37
|
+
}
|
|
38
|
+
async requestTreeItemsOf(parentId) {
|
|
39
|
+
await this.#init;
|
|
40
|
+
if (parentId === undefined)
|
|
41
|
+
throw new Error('Parent id is missing');
|
|
42
|
+
const { data, error } = await this.#treeSource.getChildrenOf(parentId);
|
|
43
|
+
if (data) {
|
|
44
|
+
this.#treeStore?.appendItems(data.items);
|
|
45
|
+
}
|
|
46
|
+
return { data, error, asObservable: () => this.#treeStore.childrenOf(parentId) };
|
|
47
|
+
}
|
|
48
|
+
async rootTreeItems() {
|
|
49
|
+
await this.#init;
|
|
50
|
+
return this.#treeStore.rootItems;
|
|
51
|
+
}
|
|
52
|
+
async treeItemsOf(parentId) {
|
|
53
|
+
await this.#init;
|
|
54
|
+
return this.#treeStore.childrenOf(parentId);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { UmbContextToken } from '../../../../../libs/context-api/index.js';
|
|
2
|
+
import { UmbEntityTreeStore } from '../../../../core/store/index.js';
|
|
3
|
+
import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @export
|
|
6
|
+
* @class UmbDocumentRecycleBinTreeStore
|
|
7
|
+
* @extends {UmbEntityTreeStore}
|
|
8
|
+
* @description - Tree Data Store for the Document Recycle Bin
|
|
9
|
+
*/
|
|
10
|
+
export declare class UmbDocumentRecycleBinTreeStore extends UmbEntityTreeStore {
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of UmbDocumentRecycleBinTreeStore.
|
|
13
|
+
* @param {UmbControllerHostElement} host
|
|
14
|
+
* @memberof UmbDocumentRecycleBinTreeStore
|
|
15
|
+
*/
|
|
16
|
+
constructor(host: UmbControllerHostElement);
|
|
17
|
+
}
|
|
18
|
+
export declare const UMB_DOCUMENT_RECYCLE_BIN_TREE_STORE_CONTEXT: UmbContextToken<UmbDocumentRecycleBinTreeStore, UmbDocumentRecycleBinTreeStore>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { UmbContextToken } from '../../../../../libs/context-api/index.js';
|
|
2
|
+
import { UmbEntityTreeStore } from '../../../../core/store/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* @export
|
|
5
|
+
* @class UmbDocumentRecycleBinTreeStore
|
|
6
|
+
* @extends {UmbEntityTreeStore}
|
|
7
|
+
* @description - Tree Data Store for the Document Recycle Bin
|
|
8
|
+
*/
|
|
9
|
+
export class UmbDocumentRecycleBinTreeStore extends UmbEntityTreeStore {
|
|
10
|
+
/**
|
|
11
|
+
* Creates an instance of UmbDocumentRecycleBinTreeStore.
|
|
12
|
+
* @param {UmbControllerHostElement} host
|
|
13
|
+
* @memberof UmbDocumentRecycleBinTreeStore
|
|
14
|
+
*/
|
|
15
|
+
constructor(host) {
|
|
16
|
+
super(host, UMB_DOCUMENT_RECYCLE_BIN_TREE_STORE_CONTEXT.toString());
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export const UMB_DOCUMENT_RECYCLE_BIN_TREE_STORE_CONTEXT = new UmbContextToken('UmbDocumentRecycleBinTreeStore');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UmbDocumentRecycleBinRepository } from './document-recycle-bin.repository.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UmbDocumentRecycleBinRepository } from './document-recycle-bin.repository.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ManifestRepository, ManifestTreeStore } from '../../../../core/extension-registry/index.js';
|
|
2
|
+
export declare const DOCUMENT_RECYCLE_BIN_REPOSITORY_ALIAS = "Umb.Repository.DocumentRecycleBin";
|
|
3
|
+
export declare const DOCUMENT_RECYCLE_BIN_TREE_STORE_ALIAS = "Umb.Store.DocumentRecycleBinTree";
|
|
4
|
+
export declare const manifests: (ManifestRepository | ManifestTreeStore)[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { UmbDocumentRecycleBinRepository } from './document-recycle-bin.repository.js';
|
|
2
|
+
import { UmbDocumentRecycleBinTreeStore } from './document-recycle.bin.tree.store.js';
|
|
3
|
+
export const DOCUMENT_RECYCLE_BIN_REPOSITORY_ALIAS = 'Umb.Repository.DocumentRecycleBin';
|
|
4
|
+
const repository = {
|
|
5
|
+
type: 'repository',
|
|
6
|
+
alias: DOCUMENT_RECYCLE_BIN_REPOSITORY_ALIAS,
|
|
7
|
+
name: 'Document Recycle Bin Repository',
|
|
8
|
+
class: UmbDocumentRecycleBinRepository,
|
|
9
|
+
};
|
|
10
|
+
export const DOCUMENT_RECYCLE_BIN_TREE_STORE_ALIAS = 'Umb.Store.DocumentRecycleBinTree';
|
|
11
|
+
const treeStore = {
|
|
12
|
+
type: 'treeStore',
|
|
13
|
+
alias: DOCUMENT_RECYCLE_BIN_TREE_STORE_ALIAS,
|
|
14
|
+
name: 'Document Recycle Bin Tree Store',
|
|
15
|
+
class: UmbDocumentRecycleBinTreeStore,
|
|
16
|
+
};
|
|
17
|
+
export const manifests = [repository, treeStore];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { UmbTreeDataSource } from '../../../../../../shared/repository/index.js';
|
|
2
|
+
import type { UmbControllerHostElement } from '../../../../../../libs/controller-api/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* A data source for the Document Recycle Bin tree that fetches data from the server
|
|
5
|
+
* @export
|
|
6
|
+
* @class UmbDocumentRecycleBinTreeServerDataSource
|
|
7
|
+
* @implements {UmbTreeDataSource}
|
|
8
|
+
*/
|
|
9
|
+
export declare class UmbDocumentRecycleBinTreeServerDataSource implements UmbTreeDataSource {
|
|
10
|
+
#private;
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of UmbDocumentRecycleBinTreeServerDataSource.
|
|
13
|
+
* @param {UmbControllerHostElement} host
|
|
14
|
+
* @memberof UmbDocumentTreeServerDataSource
|
|
15
|
+
*/
|
|
16
|
+
constructor(host: UmbControllerHostElement);
|
|
17
|
+
/**
|
|
18
|
+
* Fetches the root items for the tree from the server
|
|
19
|
+
* @memberof UmbDocumentRecycleBinTreeServerDataSource
|
|
20
|
+
*/
|
|
21
|
+
getRootItems(): Promise<import("../../../../../../shared/repository/index.js").DataSourceResponse<import("../../../../../../external/backend-api/index.js").PagedRecycleBinItemResponseModel>>;
|
|
22
|
+
/**
|
|
23
|
+
* Fetches the children of a given parent id from the server
|
|
24
|
+
* @param {(string | null)} parentId
|
|
25
|
+
* @memberof UmbDocumentTreeServerDataSource
|
|
26
|
+
*/
|
|
27
|
+
getChildrenOf(parentId: string | null): Promise<import("../../../../../../shared/repository/index.js").DataSourceResponse<import("../../../../../../external/backend-api/index.js").PagedRecycleBinItemResponseModel>>;
|
|
28
|
+
getItems(unique: Array<string>): Promise<any>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { DocumentResource } from '../../../../../../external/backend-api/index.js';
|
|
2
|
+
import { tryExecuteAndNotify } from '../../../../../../shared/resources/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* A data source for the Document Recycle Bin tree that fetches data from the server
|
|
5
|
+
* @export
|
|
6
|
+
* @class UmbDocumentRecycleBinTreeServerDataSource
|
|
7
|
+
* @implements {UmbTreeDataSource}
|
|
8
|
+
*/
|
|
9
|
+
export class UmbDocumentRecycleBinTreeServerDataSource {
|
|
10
|
+
#host;
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of UmbDocumentRecycleBinTreeServerDataSource.
|
|
13
|
+
* @param {UmbControllerHostElement} host
|
|
14
|
+
* @memberof UmbDocumentTreeServerDataSource
|
|
15
|
+
*/
|
|
16
|
+
constructor(host) {
|
|
17
|
+
this.#host = host;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Fetches the root items for the tree from the server
|
|
21
|
+
* @memberof UmbDocumentRecycleBinTreeServerDataSource
|
|
22
|
+
*/
|
|
23
|
+
async getRootItems() {
|
|
24
|
+
return tryExecuteAndNotify(this.#host, DocumentResource.getRecycleBinDocumentRoot({}));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Fetches the children of a given parent id from the server
|
|
28
|
+
* @param {(string | null)} parentId
|
|
29
|
+
* @memberof UmbDocumentTreeServerDataSource
|
|
30
|
+
*/
|
|
31
|
+
async getChildrenOf(parentId) {
|
|
32
|
+
if (parentId === undefined)
|
|
33
|
+
throw new Error('Parent id is missing');
|
|
34
|
+
/* TODO: should we make getRootItems() internal
|
|
35
|
+
so it only is a server concern that there are two endpoints? */
|
|
36
|
+
if (parentId === null) {
|
|
37
|
+
return this.getRootItems();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return tryExecuteAndNotify(this.#host, DocumentResource.getRecycleBinDocumentChildren({
|
|
41
|
+
parentId,
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// TODO: remove when interface is cleaned up
|
|
46
|
+
async getItems(unique) {
|
|
47
|
+
throw new Error('Dot not use this method. Use the item source instead');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DOCUMENT_RECYCLE_BIN_REPOSITORY_ALIAS } from '../repository/manifests.js';
|
|
2
|
+
const tree = {
|
|
3
|
+
type: 'tree',
|
|
4
|
+
alias: 'Umb.Tree.DocumentRecycleBin',
|
|
5
|
+
name: 'Document Recycle Bin Tree',
|
|
6
|
+
meta: {
|
|
7
|
+
repositoryAlias: DOCUMENT_RECYCLE_BIN_REPOSITORY_ALIAS,
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
const treeItem = {
|
|
11
|
+
type: 'treeItem',
|
|
12
|
+
kind: 'entity',
|
|
13
|
+
alias: 'Umb.TreeItem.DocumentRecycleBin',
|
|
14
|
+
name: 'Document Recycle Bin Tree Item',
|
|
15
|
+
meta: {
|
|
16
|
+
entityTypes: ['document-recycle-bin-root'],
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
export const manifests = [tree, treeItem];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DocumentItemResponseModel } 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 UmbDocumentItemStore
|
|
8
|
+
* @extends {UmbStoreBase}
|
|
9
|
+
* @description - Data Store for Document items
|
|
10
|
+
*/
|
|
11
|
+
export declare class UmbDocumentItemStore extends UmbStoreBase<DocumentItemResponseModel> implements UmbItemStore<DocumentItemResponseModel> {
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of UmbDocumentItemStore.
|
|
14
|
+
* @param {UmbControllerHostElement} host
|
|
15
|
+
* @memberof UmbDocumentItemStore
|
|
16
|
+
*/
|
|
17
|
+
constructor(host: UmbControllerHostElement);
|
|
18
|
+
items(ids: Array<string>): import("rxjs").Observable<DocumentItemResponseModel[]>;
|
|
19
|
+
}
|
|
20
|
+
export declare const UMB_DOCUMENT_ITEM_STORE_CONTEXT_TOKEN: UmbContextToken<UmbDocumentItemStore, UmbDocumentItemStore>;
|
|
@@ -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 UmbDocumentItemStore
|
|
7
|
+
* @extends {UmbStoreBase}
|
|
8
|
+
* @description - Data Store for Document items
|
|
9
|
+
*/
|
|
10
|
+
export class UmbDocumentItemStore extends UmbStoreBase {
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of UmbDocumentItemStore.
|
|
13
|
+
* @param {UmbControllerHostElement} host
|
|
14
|
+
* @memberof UmbDocumentItemStore
|
|
15
|
+
*/
|
|
16
|
+
constructor(host) {
|
|
17
|
+
super(host, UMB_DOCUMENT_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_ITEM_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbDocumentItemStore');
|
|
@@ -23,16 +23,15 @@ export declare class UmbDocumentRepository implements UmbTreeRepository<Document
|
|
|
23
23
|
error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
|
|
24
24
|
asObservable: () => import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>;
|
|
25
25
|
}>;
|
|
26
|
-
|
|
27
|
-
requestAllowedDocumentTypesOf(id: string): Promise<import("../../../../shared/repository/index.js").DataSourceResponse<import("../../../../external/backend-api/index.js").PagedDocumentTypeResponseModel>>;
|
|
28
|
-
requestItemsLegacy(ids: Array<string>): Promise<{
|
|
29
|
-
data: any[] | undefined;
|
|
30
|
-
error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
|
|
31
|
-
asObservable: () => import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>;
|
|
32
|
-
}>;
|
|
26
|
+
requestAllowedDocumentTypesOf(id: string | null): Promise<import("../../../../shared/repository/index.js").DataSourceResponse<import("../../../../external/backend-api/index.js").PagedDocumentTypeResponseModel>>;
|
|
33
27
|
rootTreeItems(): Promise<import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>>;
|
|
34
28
|
treeItemsOf(parentId: string | null): Promise<import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>>;
|
|
35
|
-
|
|
29
|
+
requestItems(ids: Array<string>): Promise<{
|
|
30
|
+
data: import("../../../../external/backend-api/index.js").DocumentItemResponseModel[] | undefined;
|
|
31
|
+
error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
|
|
32
|
+
asObservable: () => import("rxjs").Observable<import("../../../../external/backend-api/index.js").DocumentItemResponseModel[]>;
|
|
33
|
+
}>;
|
|
34
|
+
items(ids: Array<string>): Promise<import("rxjs").Observable<import("../../../../external/backend-api/index.js").DocumentItemResponseModel[]>>;
|
|
36
35
|
createScaffold(documentTypeKey: string, preset?: Partial<CreateDocumentRequestModel>): Promise<{
|
|
37
36
|
data: DocumentResponseModel;
|
|
38
37
|
}>;
|
|
@@ -62,7 +61,9 @@ export declare class UmbDocumentRepository implements UmbTreeRepository<Document
|
|
|
62
61
|
delete(id: string): Promise<{
|
|
63
62
|
error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
|
|
64
63
|
}>;
|
|
65
|
-
trash(
|
|
64
|
+
trash(id: string): Promise<{
|
|
65
|
+
error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
|
|
66
|
+
}>;
|
|
66
67
|
saveAndPublish(): Promise<void>;
|
|
67
68
|
saveAndPreview(): Promise<void>;
|
|
68
69
|
saveAndSchedule(): Promise<void>;
|
|
@@ -2,6 +2,8 @@ import { UmbDocumentServerDataSource } from './sources/document.server.data.js';
|
|
|
2
2
|
import { UMB_DOCUMENT_STORE_CONTEXT_TOKEN } from './document.store.js';
|
|
3
3
|
import { UMB_DOCUMENT_TREE_STORE_CONTEXT_TOKEN } from './document.tree.store.js';
|
|
4
4
|
import { UmbDocumentTreeServerDataSource } from './sources/document.tree.server.data.js';
|
|
5
|
+
import { UMB_DOCUMENT_ITEM_STORE_CONTEXT_TOKEN } from './document-item.store.js';
|
|
6
|
+
import { UmbDocumentItemServerDataSource } from './sources/document-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 UmbDocumentRepository {
|
|
@@ -11,12 +13,15 @@ export class UmbDocumentRepository {
|
|
|
11
13
|
#treeStore;
|
|
12
14
|
#detailDataSource;
|
|
13
15
|
#store;
|
|
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 UmbDocumentTreeServerDataSource(this.#host);
|
|
19
23
|
this.#detailDataSource = new UmbDocumentServerDataSource(this.#host);
|
|
24
|
+
this.#itemSource = new UmbDocumentItemServerDataSource(this.#host);
|
|
20
25
|
this.#init = Promise.all([
|
|
21
26
|
new UmbContextConsumerController(this.#host, UMB_DOCUMENT_TREE_STORE_CONTEXT_TOKEN, (instance) => {
|
|
22
27
|
this.#treeStore = instance;
|
|
@@ -24,12 +29,14 @@ export class UmbDocumentRepository {
|
|
|
24
29
|
new UmbContextConsumerController(this.#host, UMB_DOCUMENT_STORE_CONTEXT_TOKEN, (instance) => {
|
|
25
30
|
this.#store = instance;
|
|
26
31
|
}),
|
|
32
|
+
new UmbContextConsumerController(this.#host, UMB_DOCUMENT_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
|
// TREE:
|
|
35
42
|
async requestTreeRoot() {
|
|
@@ -62,23 +69,12 @@ export class UmbDocumentRepository {
|
|
|
62
69
|
return { data, error, asObservable: () => this.#treeStore.childrenOf(parentId) };
|
|
63
70
|
}
|
|
64
71
|
// Structure permissions;
|
|
65
|
-
async requestAllowedDocumentTypesAtRoot() {
|
|
66
|
-
return this.#detailDataSource.getAllowedDocumentTypesAtRoot();
|
|
67
|
-
}
|
|
68
72
|
async requestAllowedDocumentTypesOf(id) {
|
|
69
|
-
if (
|
|
73
|
+
if (id === undefined)
|
|
70
74
|
throw new Error('Id is missing');
|
|
71
75
|
await this.#init;
|
|
72
76
|
return this.#detailDataSource.getAllowedDocumentTypesOf(id);
|
|
73
77
|
}
|
|
74
|
-
async requestItemsLegacy(ids) {
|
|
75
|
-
await this.#init;
|
|
76
|
-
if (!ids) {
|
|
77
|
-
throw new Error('Ids are missing');
|
|
78
|
-
}
|
|
79
|
-
const { data, error } = await this.#treeSource.getItems(ids);
|
|
80
|
-
return { data, error, asObservable: () => this.#treeStore.items(ids) };
|
|
81
|
-
}
|
|
82
78
|
async rootTreeItems() {
|
|
83
79
|
await this.#init;
|
|
84
80
|
return this.#treeStore.rootItems;
|
|
@@ -87,9 +83,20 @@ export class UmbDocumentRepository {
|
|
|
87
83
|
await this.#init;
|
|
88
84
|
return this.#treeStore.childrenOf(parentId);
|
|
89
85
|
}
|
|
90
|
-
|
|
86
|
+
// ITEMS:
|
|
87
|
+
async requestItems(ids) {
|
|
88
|
+
if (!ids)
|
|
89
|
+
throw new Error('Keys are missing');
|
|
90
|
+
await this.#init;
|
|
91
|
+
const { data, error } = await this.#itemSource.getItems(ids);
|
|
92
|
+
if (data) {
|
|
93
|
+
this.#itemStore?.appendItems(data);
|
|
94
|
+
}
|
|
95
|
+
return { data, error, asObservable: () => this.#itemStore.items(ids) };
|
|
96
|
+
}
|
|
97
|
+
async items(ids) {
|
|
91
98
|
await this.#init;
|
|
92
|
-
return this.#
|
|
99
|
+
return this.#itemStore.items(ids);
|
|
93
100
|
}
|
|
94
101
|
// DETAILS:
|
|
95
102
|
async createScaffold(documentTypeKey, preset) {
|
|
@@ -129,10 +136,10 @@ export class UmbDocumentRepository {
|
|
|
129
136
|
// Consider to look up the data before fetching from the server
|
|
130
137
|
this.#store?.append(item);
|
|
131
138
|
// TODO: Update tree store with the new item? or ask tree to request the new item?
|
|
132
|
-
// TODO: Revisit this call, as we should be able to update tree on client.
|
|
133
|
-
await this.requestRootTreeItems();
|
|
134
139
|
const notification = { data: { message: `Document created` } };
|
|
135
140
|
this.#notificationContext?.peek('positive', notification);
|
|
141
|
+
// TODO: Revisit this call, as we should be able to update tree on client.
|
|
142
|
+
await this.requestRootTreeItems();
|
|
136
143
|
return { data: item };
|
|
137
144
|
}
|
|
138
145
|
return { error };
|
|
@@ -151,10 +158,10 @@ export class UmbDocumentRepository {
|
|
|
151
158
|
this.#store?.append(item);
|
|
152
159
|
//this.#treeStore?.updateItem(item.id, { name: item.name });// Port data to tree store.
|
|
153
160
|
// TODO: would be nice to align the stores on methods/methodNames.
|
|
154
|
-
// TODO: Revisit this call, as we should be able to update tree on client.
|
|
155
|
-
await this.requestRootTreeItems();
|
|
156
161
|
const notification = { data: { message: `Document saved` } };
|
|
157
162
|
this.#notificationContext?.peek('positive', notification);
|
|
163
|
+
// TODO: Revisit this call, as we should be able to update tree on client.
|
|
164
|
+
await this.requestRootTreeItems();
|
|
158
165
|
}
|
|
159
166
|
return { error };
|
|
160
167
|
}
|
|
@@ -168,21 +175,36 @@ export class UmbDocumentRepository {
|
|
|
168
175
|
// TODO: we currently don't use the detail store for anything.
|
|
169
176
|
// Consider to look up the data before fetching from the server.
|
|
170
177
|
// Consider notify a workspace if a document is deleted from the store while someone is editing it.
|
|
171
|
-
|
|
172
|
-
this.#store?.remove([id]);
|
|
178
|
+
this.#store?.removeItem(id);
|
|
173
179
|
this.#treeStore?.removeItem(id);
|
|
180
|
+
this.#itemStore?.removeItem(id);
|
|
174
181
|
const notification = { data: { message: `Document deleted` } };
|
|
175
182
|
this.#notificationContext?.peek('positive', notification);
|
|
176
183
|
}
|
|
177
184
|
return { error };
|
|
178
185
|
}
|
|
186
|
+
async trash(id) {
|
|
187
|
+
if (!id)
|
|
188
|
+
throw new Error('Id is missing');
|
|
189
|
+
await this.#init;
|
|
190
|
+
const { error } = await this.#detailDataSource.trash(id);
|
|
191
|
+
if (!error) {
|
|
192
|
+
// TODO: we currently don't use the detail store for anything.
|
|
193
|
+
// Consider to look up the data before fetching from the server.
|
|
194
|
+
// Consider notify a workspace if a document is deleted from the store while someone is editing it.
|
|
195
|
+
// TODO: Temp hack: would should update a property isTrashed (maybe) on the item instead of removing them.
|
|
196
|
+
this.#store?.removeItem(id);
|
|
197
|
+
this.#treeStore?.removeItem(id);
|
|
198
|
+
this.#itemStore?.removeItem(id);
|
|
199
|
+
// TODO: append to recycle bin store
|
|
200
|
+
const notification = { data: { message: `Document moved to recycle bin` } };
|
|
201
|
+
this.#notificationContext?.peek('positive', notification);
|
|
202
|
+
}
|
|
203
|
+
return { error };
|
|
204
|
+
}
|
|
179
205
|
// Listing all currently known methods we need to implement:
|
|
180
206
|
// these currently only covers posting data
|
|
181
207
|
// TODO: find a good way to split these
|
|
182
|
-
async trash(ids) {
|
|
183
|
-
console.log('document trash: ' + ids);
|
|
184
|
-
alert('implement trash');
|
|
185
|
-
}
|
|
186
208
|
async saveAndPublish() {
|
|
187
209
|
alert('save and publish');
|
|
188
210
|
}
|
|
@@ -15,23 +15,11 @@ export declare class UmbDocumentStore extends UmbStoreBase {
|
|
|
15
15
|
* @memberof UmbDocumentDetailStore
|
|
16
16
|
*/
|
|
17
17
|
constructor(host: UmbControllerHostElement);
|
|
18
|
-
/**
|
|
19
|
-
* Append a document to the store
|
|
20
|
-
* @param {DocumentDetails} document
|
|
21
|
-
* @memberof UmbDocumentDetailStore
|
|
22
|
-
*/
|
|
23
|
-
append(document: DocumentResponseModel): void;
|
|
24
18
|
/**
|
|
25
19
|
* Retrieve a document from the store
|
|
26
20
|
* @param {string} id
|
|
27
21
|
* @memberof UmbDocumentStore
|
|
28
22
|
*/
|
|
29
23
|
byId(id: DocumentResponseModel['id']): import("rxjs").Observable<any>;
|
|
30
|
-
/**
|
|
31
|
-
* Removes documents in the store with the given uniques
|
|
32
|
-
* @param {string[]} uniques
|
|
33
|
-
* @memberof UmbDocumentDetailStore
|
|
34
|
-
*/
|
|
35
|
-
remove(uniques: Array<DocumentResponseModel['id']>): void;
|
|
36
24
|
}
|
|
37
25
|
export declare const UMB_DOCUMENT_STORE_CONTEXT_TOKEN: UmbContextToken<UmbDocumentStore, UmbDocumentStore>;
|
|
@@ -16,14 +16,6 @@ export class UmbDocumentStore extends UmbStoreBase {
|
|
|
16
16
|
constructor(host) {
|
|
17
17
|
super(host, UMB_DOCUMENT_STORE_CONTEXT_TOKEN.toString(), new UmbArrayState([], (x) => x.id));
|
|
18
18
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Append a document to the store
|
|
21
|
-
* @param {DocumentDetails} document
|
|
22
|
-
* @memberof UmbDocumentDetailStore
|
|
23
|
-
*/
|
|
24
|
-
append(document) {
|
|
25
|
-
this._data.append([document]);
|
|
26
|
-
}
|
|
27
19
|
/**
|
|
28
20
|
* Retrieve a document from the store
|
|
29
21
|
* @param {string} id
|
|
@@ -32,13 +24,5 @@ export class UmbDocumentStore extends UmbStoreBase {
|
|
|
32
24
|
byId(id) {
|
|
33
25
|
return this._data.asObservablePart((x) => x.find((y) => y.id === id));
|
|
34
26
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Removes documents in the store with the given uniques
|
|
37
|
-
* @param {string[]} uniques
|
|
38
|
-
* @memberof UmbDocumentDetailStore
|
|
39
|
-
*/
|
|
40
|
-
remove(uniques) {
|
|
41
|
-
this._data.remove(uniques);
|
|
42
|
-
}
|
|
43
27
|
}
|
|
44
28
|
export const UMB_DOCUMENT_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbDocumentStore');
|
package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { UmbItemDataSource } from '../../../../../shared/repository/index.js';
|
|
2
|
+
import { DocumentItemResponseModel } from '../../../../../external/backend-api/index.js';
|
|
3
|
+
import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* A data source for Document items that fetches data from the server
|
|
6
|
+
* @export
|
|
7
|
+
* @class UmbDocumentItemServerDataSource
|
|
8
|
+
* @implements {DocumentItemDataSource}
|
|
9
|
+
*/
|
|
10
|
+
export declare class UmbDocumentItemServerDataSource implements UmbItemDataSource<DocumentItemResponseModel> {
|
|
11
|
+
#private;
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of UmbDocumentItemServerDataSource.
|
|
14
|
+
* @param {UmbControllerHostElement} host
|
|
15
|
+
* @memberof UmbDocumentItemServerDataSource
|
|
16
|
+
*/
|
|
17
|
+
constructor(host: UmbControllerHostElement);
|
|
18
|
+
/**
|
|
19
|
+
* Fetches the items for the given ids from the server
|
|
20
|
+
* @param {Array<string>} ids
|
|
21
|
+
* @memberof UmbDocumentItemServerDataSource
|
|
22
|
+
*/
|
|
23
|
+
getItems(ids: Array<string>): Promise<import("../../../../../shared/repository/index.js").DataSourceResponse<DocumentItemResponseModel[]>>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DocumentResource } from '../../../../../external/backend-api/index.js';
|
|
2
|
+
import { tryExecuteAndNotify } from '../../../../../shared/resources/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* A data source for Document items that fetches data from the server
|
|
5
|
+
* @export
|
|
6
|
+
* @class UmbDocumentItemServerDataSource
|
|
7
|
+
* @implements {DocumentItemDataSource}
|
|
8
|
+
*/
|
|
9
|
+
export class UmbDocumentItemServerDataSource {
|
|
10
|
+
#host;
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of UmbDocumentItemServerDataSource.
|
|
13
|
+
* @param {UmbControllerHostElement} host
|
|
14
|
+
* @memberof UmbDocumentItemServerDataSource
|
|
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
|
+
* @memberof UmbDocumentItemServerDataSource
|
|
23
|
+
*/
|
|
24
|
+
async getItems(ids) {
|
|
25
|
+
if (!ids)
|
|
26
|
+
throw new Error('Ids are missing');
|
|
27
|
+
return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentItem({
|
|
28
|
+
id: ids,
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
}
|