@umbraco-cms/backoffice 14.0.0-40e04294 → 14.0.0-45828375
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/apps/app/app.element.js +0 -3
- package/dist-cms/assets/lang/da-dk.js +3 -0
- package/dist-cms/assets/lang/da-dk.ts +3 -0
- package/dist-cms/assets/lang/en-us.js +21 -18
- package/dist-cms/assets/lang/en-us.ts +21 -18
- package/dist-cms/custom-elements.json +149 -19
- package/dist-cms/mocks/browser-handlers.js +1 -1
- package/dist-cms/mocks/data/entity.data.d.ts +1 -1
- package/dist-cms/mocks/data/entity.data.js +1 -9
- package/dist-cms/mocks/data/media.data.d.ts +2 -1
- package/dist-cms/mocks/data/media.data.js +11 -0
- package/dist-cms/mocks/data/user-group.data.d.ts +17 -0
- package/dist-cms/mocks/data/user-group.data.js +61 -0
- package/dist-cms/mocks/data/user.data.d.ts +15 -0
- package/dist-cms/mocks/data/{users.data.js → user.data.js} +27 -41
- package/dist-cms/mocks/handlers/dictionary.handlers.js +2 -2
- package/dist-cms/mocks/handlers/media.handlers.js +8 -0
- package/dist-cms/mocks/handlers/partial-views.handlers.js +3 -3
- package/dist-cms/mocks/handlers/user-group/collection.handlers.d.ts +1 -0
- package/dist-cms/mocks/handlers/user-group/collection.handlers.js +10 -0
- package/dist-cms/mocks/handlers/user-group/detail.handlers.d.ts +1 -0
- package/dist-cms/mocks/handlers/user-group/detail.handlers.js +37 -0
- package/dist-cms/mocks/handlers/user-group/index.js +4 -0
- package/dist-cms/mocks/handlers/user-group/item.handlers.d.ts +1 -0
- package/dist-cms/mocks/handlers/user-group/item.handlers.js +13 -0
- package/dist-cms/mocks/handlers/user-group/slug.d.ts +1 -0
- package/dist-cms/mocks/handlers/user-group/slug.js +1 -0
- package/dist-cms/mocks/handlers/user.handlers.js +15 -1
- package/dist-cms/packages/core/components/input-list-base/input-list-base.js +1 -1
- package/dist-cms/packages/core/components/input-section/input-section.element.d.ts +2 -2
- package/dist-cms/packages/core/components/input-section/input-section.element.js +5 -5
- package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +3 -2
- package/dist-cms/packages/core/extension-registry/models/index.d.ts +5 -1
- package/dist-cms/packages/core/extension-registry/models/index.js +2 -0
- package/dist-cms/packages/core/extension-registry/models/user-granular-permission.model.d.ts +8 -0
- package/dist-cms/packages/core/extension-registry/models/user-granular-permission.model.js +1 -0
- package/dist-cms/packages/core/extension-registry/models/user-permission.model.d.ts +11 -0
- package/dist-cms/packages/core/extension-registry/models/user-permission.model.js +1 -0
- package/dist-cms/packages/core/modal/common/entity-user-permission-settings/entity-user-permission-settings-modal.element.d.ts +19 -0
- package/dist-cms/packages/core/modal/common/entity-user-permission-settings/entity-user-permission-settings-modal.element.js +97 -0
- package/dist-cms/packages/core/modal/common/manifests.js +6 -0
- package/dist-cms/packages/core/modal/common/tree-picker/tree-picker-modal.element.js +5 -3
- package/dist-cms/packages/core/modal/token/entity-user-permission-settings-modal.token.d.ts +7 -0
- package/dist-cms/packages/core/modal/token/entity-user-permission-settings-modal.token.js +4 -0
- package/dist-cms/packages/core/modal/token/index.d.ts +1 -0
- package/dist-cms/packages/core/modal/token/index.js +1 -0
- package/dist-cms/packages/core/picker-input/picker-input.context.js +1 -3
- package/dist-cms/packages/core/tree/tree.context.js +3 -2
- package/dist-cms/packages/documents/documents/components/index.d.ts +1 -0
- package/dist-cms/packages/documents/documents/components/index.js +1 -0
- package/dist-cms/packages/documents/documents/components/input-document/input-document.context.d.ts +6 -0
- package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js +7 -0
- package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts +7 -12
- package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +51 -64
- package/dist-cms/packages/documents/documents/components/input-document-granular-permission/input-document-granular-permission.element.d.ts +23 -0
- package/dist-cms/packages/documents/documents/components/input-document-granular-permission/input-document-granular-permission.element.js +102 -0
- package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +9 -0
- package/dist-cms/packages/documents/documents/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/entity-actions/permissions.action.d.ts +2 -1
- package/dist-cms/packages/documents/documents/entity-actions/permissions.action.js +22 -2
- package/dist-cms/packages/documents/documents/index.d.ts +2 -0
- package/dist-cms/packages/documents/documents/index.js +2 -0
- package/dist-cms/packages/documents/documents/manifests.d.ts +4 -0
- package/dist-cms/packages/documents/documents/manifests.js +2 -0
- package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.d.ts +4 -0
- package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.js +6 -0
- package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +4 -0
- package/dist-cms/packages/documents/documents/repository/document.repository.js +4 -4
- package/dist-cms/packages/documents/documents/repository/manifests.d.ts +3 -2
- package/dist-cms/packages/documents/documents/repository/manifests.js +9 -1
- package/dist-cms/packages/documents/documents/user-permissions/index.d.ts +1 -0
- package/dist-cms/packages/documents/documents/user-permissions/index.js +1 -0
- package/dist-cms/packages/documents/documents/user-permissions/manifests.d.ts +19 -0
- package/dist-cms/packages/documents/documents/user-permissions/manifests.js +196 -0
- package/dist-cms/packages/documents/manifests.d.ts +4 -0
- package/dist-cms/packages/media/manifests.d.ts +2 -1
- package/dist-cms/packages/media/manifests.js +1 -0
- package/dist-cms/packages/media/media/components/index.d.ts +1 -0
- package/dist-cms/packages/media/media/components/index.js +1 -0
- package/dist-cms/packages/media/media/components/input-media/input-media.context.d.ts +6 -0
- package/dist-cms/packages/media/media/components/input-media/input-media.context.js +7 -0
- package/dist-cms/packages/media/media/components/input-media/input-media.element.d.ts +7 -15
- package/dist-cms/packages/media/media/components/input-media/input-media.element.js +50 -72
- package/dist-cms/packages/media/media/index.d.ts +2 -0
- package/dist-cms/packages/media/media/index.js +1 -1
- package/dist-cms/packages/media/media/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media/manifests.js +2 -0
- package/dist-cms/packages/media/media/repository/manifests.d.ts +3 -2
- package/dist-cms/packages/media/media/repository/manifests.js +9 -1
- package/dist-cms/packages/media/media/repository/media-item.store.d.ts +20 -0
- package/dist-cms/packages/media/media/repository/media-item.store.js +23 -0
- package/dist-cms/packages/media/media/repository/media.repository.d.ts +6 -0
- package/dist-cms/packages/media/media/repository/media.repository.js +22 -0
- package/dist-cms/packages/media/media/repository/sources/media-item.server.data.d.ts +24 -0
- package/dist-cms/packages/media/media/repository/sources/media-item.server.data.js +31 -0
- package/dist-cms/packages/media/media/user-permissions/index.d.ts +1 -0
- package/dist-cms/packages/media/media/user-permissions/index.js +1 -0
- package/dist-cms/packages/media/media/user-permissions/manifests.d.ts +4 -0
- package/dist-cms/packages/media/media/user-permissions/manifests.js +27 -0
- package/dist-cms/packages/users/current-user/conditions/index.d.ts +1 -0
- package/dist-cms/packages/users/current-user/conditions/index.js +1 -0
- package/dist-cms/packages/users/current-user/conditions/user-permission.condition.d.ts +18 -0
- package/dist-cms/packages/users/current-user/conditions/user-permission.condition.js +23 -0
- package/dist-cms/packages/users/current-user/index.d.ts +1 -0
- package/dist-cms/packages/users/current-user/index.js +1 -0
- package/dist-cms/packages/users/current-user/manifests.js +7 -1
- package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +7 -7
- package/dist-cms/packages/users/index.d.ts +4 -2
- package/dist-cms/packages/users/index.js +4 -2
- package/dist-cms/packages/users/manifests.d.ts +2 -0
- package/dist-cms/packages/users/manifests.js +3 -0
- 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/components/index.d.ts +1 -0
- package/dist-cms/packages/users/user-groups/components/index.js +1 -0
- package/dist-cms/packages/users/user-groups/entity-actions/manifests.d.ts +2 -0
- package/dist-cms/packages/users/user-groups/entity-actions/manifests.js +19 -0
- package/dist-cms/packages/users/user-groups/index.d.ts +2 -0
- package/dist-cms/packages/users/user-groups/index.js +2 -0
- package/dist-cms/packages/users/user-groups/manifests.d.ts +1 -1
- package/dist-cms/packages/users/user-groups/manifests.js +2 -0
- package/dist-cms/packages/users/user-groups/workspace/components/user-group-default-permission-list.element.d.ts +16 -0
- package/dist-cms/packages/users/user-groups/workspace/components/user-group-default-permission-list.element.js +69 -0
- package/dist-cms/packages/users/user-groups/workspace/components/user-group-granular-permission-list.element.d.ts +14 -0
- package/dist-cms/packages/users/user-groups/workspace/components/user-group-granular-permission-list.element.js +31 -0
- package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.d.ts +2 -0
- package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +57 -56
- package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.d.ts +12 -0
- package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.js +20 -0
- package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.element.js +1 -1
- 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/components/index.d.ts +3 -0
- package/dist-cms/packages/users/users/components/index.js +3 -0
- package/dist-cms/packages/users/users/components/user-input/user-input.element.js +2 -2
- package/dist-cms/packages/users/users/components/user-permission-setting/user-permission-setting.element.d.ts +15 -0
- package/dist-cms/packages/users/users/components/user-permission-setting/user-permission-setting.element.js +66 -0
- package/dist-cms/packages/users/users/index.d.ts +2 -0
- package/dist-cms/packages/users/users/index.js +2 -0
- package/dist-cms/packages/users/users/modals/user-picker/user-picker-modal.element.d.ts +3 -1
- package/dist-cms/packages/users/users/modals/user-picker/user-picker-modal.element.js +20 -25
- 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/repository/user.repository.js +1 -1
- package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +73 -56
- package/dist-cms/packages/users/utils.d.ts +5 -2
- package/dist-cms/packages/users/utils.js +14 -14
- package/dist-cms/shared/auth/auth-flow.d.ts +0 -4
- package/dist-cms/shared/auth/auth-flow.js +6 -25
- package/dist-cms/shared/repository/repository-items.manager.js +5 -0
- package/dist-cms/shared/umb-events/index.d.ts +1 -0
- package/dist-cms/shared/umb-events/index.js +1 -0
- package/dist-cms/shared/umb-events/selected.event.d.ts +3 -0
- package/dist-cms/shared/umb-events/selected.event.js +6 -0
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/umbraco-package-schema.json +154 -0
- package/dist-cms/vscode-html-custom-data.json +66 -18
- package/package.json +1 -1
- package/dist-cms/mocks/data/user-groups.data.d.ts +0 -9
- package/dist-cms/mocks/data/user-groups.data.js +0 -21
- package/dist-cms/mocks/data/users.data.d.ts +0 -16
- package/dist-cms/mocks/handlers/user-group.handlers.js +0 -17
- /package/dist-cms/mocks/handlers/{user-group.handlers.d.ts → user-group/index.d.ts} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ManifestUserGranularPermission, ManifestUserPermission } from '../../../core/extension-registry/index.js';
|
|
2
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_CREATE = "Umb.UserPermission.Document.Create";
|
|
3
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_READ = "Umb.UserPermission.Document.Read";
|
|
4
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_UPDATE = "Umb.UserPermission.Document.Update";
|
|
5
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_DELETE = "Umb.UserPermission.Document.Delete";
|
|
6
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_CREATE_BLUEPRINT = "Umb.UserPermission.Document.CreateBlueprint";
|
|
7
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_NOTIFICATIONS = "Umb.UserPermission.Document.Notifications";
|
|
8
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_PUBLISH = "Umb.UserPermission.Document.Publish";
|
|
9
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_PERMISSIONS = "Umb.UserPermission.Document.Permissions";
|
|
10
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_SEND_FOR_APPROVAL = "Umb.UserPermission.Document.SendForApproval";
|
|
11
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH = "Umb.UserPermission.Document.Unpublish";
|
|
12
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_COPY = "Umb.UserPermission.Document.Copy";
|
|
13
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_MOVE = "Umb.UserPermission.Document.Move";
|
|
14
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_SORT = "Umb.UserPermission.Document.Sort";
|
|
15
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_CULTURE_AND_HOSTNAMES = "Umb.UserPermission.Document.CultureAndHostnames";
|
|
16
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_PUBLIC_ACCESS = "Umb.UserPermission.Document.PublicAccess";
|
|
17
|
+
export declare const UMB_USER_PERMISSION_DOCUMENT_ROLLBACK = "Umb.UserPermission.Document.Rollback";
|
|
18
|
+
export declare const granularPermissions: Array<ManifestUserGranularPermission>;
|
|
19
|
+
export declare const manifests: (ManifestUserPermission | ManifestUserGranularPermission)[];
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
export const UMB_USER_PERMISSION_DOCUMENT_CREATE = 'Umb.UserPermission.Document.Create';
|
|
2
|
+
export const UMB_USER_PERMISSION_DOCUMENT_READ = 'Umb.UserPermission.Document.Read';
|
|
3
|
+
export const UMB_USER_PERMISSION_DOCUMENT_UPDATE = 'Umb.UserPermission.Document.Update';
|
|
4
|
+
export const UMB_USER_PERMISSION_DOCUMENT_DELETE = 'Umb.UserPermission.Document.Delete';
|
|
5
|
+
export const UMB_USER_PERMISSION_DOCUMENT_CREATE_BLUEPRINT = 'Umb.UserPermission.Document.CreateBlueprint';
|
|
6
|
+
export const UMB_USER_PERMISSION_DOCUMENT_NOTIFICATIONS = 'Umb.UserPermission.Document.Notifications';
|
|
7
|
+
export const UMB_USER_PERMISSION_DOCUMENT_PUBLISH = 'Umb.UserPermission.Document.Publish';
|
|
8
|
+
export const UMB_USER_PERMISSION_DOCUMENT_PERMISSIONS = 'Umb.UserPermission.Document.Permissions';
|
|
9
|
+
export const UMB_USER_PERMISSION_DOCUMENT_SEND_FOR_APPROVAL = 'Umb.UserPermission.Document.SendForApproval';
|
|
10
|
+
export const UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH = 'Umb.UserPermission.Document.Unpublish';
|
|
11
|
+
export const UMB_USER_PERMISSION_DOCUMENT_COPY = 'Umb.UserPermission.Document.Copy';
|
|
12
|
+
export const UMB_USER_PERMISSION_DOCUMENT_MOVE = 'Umb.UserPermission.Document.Move';
|
|
13
|
+
export const UMB_USER_PERMISSION_DOCUMENT_SORT = 'Umb.UserPermission.Document.Sort';
|
|
14
|
+
export const UMB_USER_PERMISSION_DOCUMENT_CULTURE_AND_HOSTNAMES = 'Umb.UserPermission.Document.CultureAndHostnames';
|
|
15
|
+
export const UMB_USER_PERMISSION_DOCUMENT_PUBLIC_ACCESS = 'Umb.UserPermission.Document.PublicAccess';
|
|
16
|
+
export const UMB_USER_PERMISSION_DOCUMENT_ROLLBACK = 'Umb.UserPermission.Document.Rollback';
|
|
17
|
+
const permissions = [
|
|
18
|
+
{
|
|
19
|
+
type: 'userPermission',
|
|
20
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_READ,
|
|
21
|
+
name: 'Read Document User Permission',
|
|
22
|
+
meta: {
|
|
23
|
+
entityType: 'document',
|
|
24
|
+
label: 'Read',
|
|
25
|
+
description: 'Allow access to browse documents',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'userPermission',
|
|
30
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_CREATE_BLUEPRINT,
|
|
31
|
+
name: 'Create Document Blueprint User Permission',
|
|
32
|
+
meta: {
|
|
33
|
+
entityType: 'document',
|
|
34
|
+
label: 'Create Content Template',
|
|
35
|
+
description: 'Allow access to create a Content Template',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: 'userPermission',
|
|
40
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_DELETE,
|
|
41
|
+
name: 'Delete Document User Permission',
|
|
42
|
+
meta: {
|
|
43
|
+
entityType: 'document',
|
|
44
|
+
label: 'Delete',
|
|
45
|
+
description: 'Allow access to delete a document',
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'userPermission',
|
|
50
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_CREATE,
|
|
51
|
+
name: 'Create Document User Permission',
|
|
52
|
+
meta: {
|
|
53
|
+
entityType: 'document',
|
|
54
|
+
label: 'Create',
|
|
55
|
+
description: 'Allow access to create a document',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'userPermission',
|
|
60
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_NOTIFICATIONS,
|
|
61
|
+
name: 'Document Notifications User Permission',
|
|
62
|
+
meta: {
|
|
63
|
+
entityType: 'document',
|
|
64
|
+
label: 'Notifications',
|
|
65
|
+
description: 'Allow access to setup notifications for documents',
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
type: 'userPermission',
|
|
70
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_PUBLISH,
|
|
71
|
+
name: 'Publish Document User Permission',
|
|
72
|
+
meta: {
|
|
73
|
+
entityType: 'document',
|
|
74
|
+
label: 'Publish',
|
|
75
|
+
description: 'Allow access to publish a document',
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: 'userPermission',
|
|
80
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_PERMISSIONS,
|
|
81
|
+
name: 'Document Permissions User Permission',
|
|
82
|
+
meta: {
|
|
83
|
+
entityType: 'document',
|
|
84
|
+
label: 'Permissions',
|
|
85
|
+
description: 'Allow access to change permissions for a document',
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'userPermission',
|
|
90
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_SEND_FOR_APPROVAL,
|
|
91
|
+
name: 'Send Document For Approval User Permission',
|
|
92
|
+
meta: {
|
|
93
|
+
entityType: 'document',
|
|
94
|
+
label: 'Send For Approval',
|
|
95
|
+
description: 'Allow access to send a document for approval before publishing',
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'userPermission',
|
|
100
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH,
|
|
101
|
+
name: 'Unpublish Document User Permission',
|
|
102
|
+
meta: {
|
|
103
|
+
entityType: 'document',
|
|
104
|
+
label: 'Unpublish',
|
|
105
|
+
description: 'Allow access to unpublish a document',
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'userPermission',
|
|
110
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_UPDATE,
|
|
111
|
+
name: 'Update Document User Permission',
|
|
112
|
+
meta: {
|
|
113
|
+
entityType: 'document',
|
|
114
|
+
label: 'Update',
|
|
115
|
+
description: 'Allow access to save a document',
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'userPermission',
|
|
120
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_COPY,
|
|
121
|
+
name: 'Copy Document User Permission',
|
|
122
|
+
meta: {
|
|
123
|
+
entityType: 'document',
|
|
124
|
+
label: 'Copy',
|
|
125
|
+
description: 'Allow access to copy a document',
|
|
126
|
+
group: 'structure',
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'userPermission',
|
|
131
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_MOVE,
|
|
132
|
+
name: 'Move Document User Permission',
|
|
133
|
+
meta: {
|
|
134
|
+
entityType: 'document',
|
|
135
|
+
label: 'Move',
|
|
136
|
+
description: 'Allow access to move a document',
|
|
137
|
+
group: 'structure',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'userPermission',
|
|
142
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_SORT,
|
|
143
|
+
name: 'Sort Document User Permission',
|
|
144
|
+
meta: {
|
|
145
|
+
entityType: 'document',
|
|
146
|
+
label: 'Sort',
|
|
147
|
+
description: 'Allow access to sort documents',
|
|
148
|
+
group: 'structure',
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'userPermission',
|
|
153
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_CULTURE_AND_HOSTNAMES,
|
|
154
|
+
name: 'Document Culture And Hostnames User Permission',
|
|
155
|
+
meta: {
|
|
156
|
+
entityType: 'document',
|
|
157
|
+
label: 'Culture And Hostnames',
|
|
158
|
+
description: 'Allow access to set culture and hostnames for documents',
|
|
159
|
+
group: 'administration',
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'userPermission',
|
|
164
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_PUBLIC_ACCESS,
|
|
165
|
+
name: 'Document Public Access User Permission',
|
|
166
|
+
meta: {
|
|
167
|
+
entityType: 'document',
|
|
168
|
+
label: 'Public Access',
|
|
169
|
+
description: 'Allow access to set and change access restrictions for a document',
|
|
170
|
+
group: 'administration',
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'userPermission',
|
|
175
|
+
alias: UMB_USER_PERMISSION_DOCUMENT_ROLLBACK,
|
|
176
|
+
name: 'Document Rollback User Permission',
|
|
177
|
+
meta: {
|
|
178
|
+
entityType: 'document',
|
|
179
|
+
label: 'Rollback',
|
|
180
|
+
description: 'Allow access to roll back a document to a previous state',
|
|
181
|
+
group: 'administration',
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
];
|
|
185
|
+
export const granularPermissions = [
|
|
186
|
+
{
|
|
187
|
+
type: 'userGranularPermission',
|
|
188
|
+
alias: 'Umb.UserGranularPermission.Document',
|
|
189
|
+
name: 'Document Granular User Permission',
|
|
190
|
+
loader: () => import('../components/input-document-granular-permission/input-document-granular-permission.element.js'),
|
|
191
|
+
meta: {
|
|
192
|
+
entityType: 'document',
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
];
|
|
196
|
+
export const manifests = [...permissions, ...granularPermissions];
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import './media/components/index.js';
|
|
2
|
+
export declare const manifests: (import("../core/index.js").ManifestSectionSidebarApp | import("../core/index.js").ManifestCollectionView | import("../core/index.js").ManifestDashboardCollection | import("../core/index.js").ManifestEntityAction | import("../core/index.js").ManifestEntityBulkAction | import("../core/index.js").ManifestItemStore | import("../core/index.js").ManifestMenu | import("../core/index.js").ManifestMenuItem | import("../core/index.js").ManifestRepository | import("../core/index.js").ManifestSection | import("../core/index.js").ManifestStore | import("../core/index.js").ManifestTree | import("../core/index.js").ManifestTreeItem | import("../core/index.js").ManifestTreeStore | import("../core/index.js").ManifestWorkspace | import("../core/index.js").ManifestWorkspaceAction | import("../core/index.js").ManifestWorkspaceEditorView | import("../core/index.js").ManifestWorkspaceViewCollection | import("../core/index.js").ManifestUserPermission)[];
|
|
@@ -2,4 +2,5 @@ import { manifests as mediaSectionManifests } from './section.manifests.js';
|
|
|
2
2
|
import { manifests as mediaMenuManifests } from './menu.manifests.js';
|
|
3
3
|
import { manifests as mediaManifests } from './media/manifests.js';
|
|
4
4
|
import { manifests as mediaTypesManifests } from './media-types/manifests.js';
|
|
5
|
+
import './media/components/index.js';
|
|
5
6
|
export const manifests = [...mediaSectionManifests, ...mediaMenuManifests, ...mediaManifests, ...mediaTypesManifests];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { UmbPickerInputContext } from '../../../../core/picker-input/index.js';
|
|
2
|
+
import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
|
|
3
|
+
import { MediaItemResponseModel } from '../../../../../external/backend-api/index.js';
|
|
4
|
+
export declare class UmbMediaPickerContext extends UmbPickerInputContext<MediaItemResponseModel> {
|
|
5
|
+
constructor(host: UmbControllerHostElement);
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UmbPickerInputContext } from '../../../../core/picker-input/index.js';
|
|
2
|
+
import { UMB_MEDIA_TREE_PICKER_MODAL } from '../../../../core/modal/index.js';
|
|
3
|
+
export class UmbMediaPickerContext extends UmbPickerInputContext {
|
|
4
|
+
constructor(host) {
|
|
5
|
+
super(host, 'Umb.Repository.Media', UMB_MEDIA_TREE_PICKER_MODAL);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
2
2
|
declare const UmbInputMediaElement_base: (new (...args: any[]) => import("../../../../../external/uui/index.js").FormControlMixinInterface) & typeof UmbLitElement;
|
|
3
3
|
export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
|
|
4
|
+
#private;
|
|
4
5
|
/**
|
|
5
6
|
* This is a minimum amount of selected items in this input.
|
|
6
7
|
* @type {number}
|
|
7
8
|
* @attr
|
|
8
|
-
* @default
|
|
9
|
+
* @default 0
|
|
9
10
|
*/
|
|
10
|
-
min
|
|
11
|
+
get min(): number;
|
|
12
|
+
set min(value: number);
|
|
11
13
|
/**
|
|
12
14
|
* Min validation message.
|
|
13
15
|
* @type {boolean}
|
|
@@ -19,9 +21,10 @@ export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
|
|
|
19
21
|
* This is a maximum amount of selected items in this input.
|
|
20
22
|
* @type {number}
|
|
21
23
|
* @attr
|
|
22
|
-
* @default
|
|
24
|
+
* @default Infinity
|
|
23
25
|
*/
|
|
24
|
-
max
|
|
26
|
+
get max(): number;
|
|
27
|
+
set max(value: number);
|
|
25
28
|
/**
|
|
26
29
|
* Max validation message.
|
|
27
30
|
* @type {boolean}
|
|
@@ -29,24 +32,13 @@ export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
|
|
|
29
32
|
* @default
|
|
30
33
|
*/
|
|
31
34
|
maxMessage: string;
|
|
32
|
-
private _selectedIds;
|
|
33
35
|
get selectedIds(): Array<string>;
|
|
34
36
|
set selectedIds(ids: Array<string>);
|
|
35
37
|
set value(idsString: string);
|
|
36
38
|
private _items?;
|
|
37
|
-
private _modalContext?;
|
|
38
|
-
private _pickedItemsObserver?;
|
|
39
|
-
private _repository;
|
|
40
39
|
constructor();
|
|
41
|
-
connectedCallback(): void;
|
|
42
40
|
protected getFormElement(): undefined;
|
|
43
|
-
private _observePickedMedias;
|
|
44
|
-
private _openPicker;
|
|
45
|
-
private _removeItem;
|
|
46
|
-
private _setSelection;
|
|
47
41
|
render(): import("lit-html").TemplateResult<1>;
|
|
48
|
-
private _renderButton;
|
|
49
|
-
private _renderItem;
|
|
50
42
|
static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
|
|
51
43
|
}
|
|
52
44
|
export default UmbInputMediaElement;
|
|
@@ -4,25 +4,46 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import {
|
|
8
|
-
import { css, html,
|
|
7
|
+
import { UmbMediaPickerContext } from './input-media.context.js';
|
|
8
|
+
import { css, html, customElement, property, state, ifDefined } from '../../../../../external/lit/index.js';
|
|
9
9
|
import { FormControlMixin } from '../../../../../external/uui/index.js';
|
|
10
|
-
import { UMB_MODAL_MANAGER_CONTEXT_TOKEN, UMB_CONFIRM_MODAL, UMB_MEDIA_TREE_PICKER_MODAL, } from '../../../../core/modal/index.js';
|
|
11
10
|
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
12
11
|
export let UmbInputMediaElement = class UmbInputMediaElement extends FormControlMixin(UmbLitElement) {
|
|
12
|
+
/**
|
|
13
|
+
* This is a minimum amount of selected items in this input.
|
|
14
|
+
* @type {number}
|
|
15
|
+
* @attr
|
|
16
|
+
* @default 0
|
|
17
|
+
*/
|
|
18
|
+
get min() {
|
|
19
|
+
return this.#pickerContext.min;
|
|
20
|
+
}
|
|
21
|
+
set min(value) {
|
|
22
|
+
this.#pickerContext.min = value;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* This is a maximum amount of selected items in this input.
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @attr
|
|
28
|
+
* @default Infinity
|
|
29
|
+
*/
|
|
30
|
+
get max() {
|
|
31
|
+
return this.#pickerContext.max;
|
|
32
|
+
}
|
|
33
|
+
set max(value) {
|
|
34
|
+
this.#pickerContext.max = value;
|
|
35
|
+
}
|
|
13
36
|
get selectedIds() {
|
|
14
|
-
return this.
|
|
37
|
+
return this.#pickerContext.getSelection();
|
|
15
38
|
}
|
|
16
39
|
set selectedIds(ids) {
|
|
17
|
-
this.
|
|
18
|
-
super.value = ids.join(',');
|
|
19
|
-
this._observePickedMedias();
|
|
40
|
+
this.#pickerContext.setSelection(ids);
|
|
20
41
|
}
|
|
21
42
|
set value(idsString) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
43
|
+
// Its with full purpose we don't call super.value, as thats being handled by the observation of the context selection.
|
|
44
|
+
this.selectedIds = idsString.split(/[ ,]+/);
|
|
25
45
|
}
|
|
46
|
+
#pickerContext;
|
|
26
47
|
constructor() {
|
|
27
48
|
super();
|
|
28
49
|
/**
|
|
@@ -39,89 +60,45 @@ export let UmbInputMediaElement = class UmbInputMediaElement extends FormControl
|
|
|
39
60
|
* @default
|
|
40
61
|
*/
|
|
41
62
|
this.maxMessage = 'This field exceeds the allowed amount of items';
|
|
42
|
-
|
|
43
|
-
this.
|
|
44
|
-
this.
|
|
45
|
-
this.
|
|
46
|
-
this.
|
|
47
|
-
this.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (instance) => {
|
|
48
|
-
this._modalContext = instance;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
connectedCallback() {
|
|
52
|
-
super.connectedCallback();
|
|
53
|
-
this._observePickedMedias();
|
|
63
|
+
this.#pickerContext = new UmbMediaPickerContext(this);
|
|
64
|
+
this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && this.#pickerContext.getSelection().length < this.min);
|
|
65
|
+
this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && this.#pickerContext.getSelection().length > this.max);
|
|
66
|
+
this.observe(this.#pickerContext.selection, (selection) => (super.value = selection.join(',')));
|
|
67
|
+
this.observe(this.#pickerContext.selectedItems, (selectedItems) => (this._items = selectedItems));
|
|
54
68
|
}
|
|
55
69
|
getFormElement() {
|
|
56
70
|
return undefined;
|
|
57
71
|
}
|
|
58
|
-
async _observePickedMedias() {
|
|
59
|
-
this._pickedItemsObserver?.destroy();
|
|
60
|
-
// TODO: consider changing this to the list data endpoint when it is available
|
|
61
|
-
const { asObservable } = await this._repository.requestItemsLegacy(this._selectedIds);
|
|
62
|
-
if (!asObservable)
|
|
63
|
-
return;
|
|
64
|
-
this._pickedItemsObserver = this.observe(asObservable(), (items) => {
|
|
65
|
-
this._items = items;
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
_openPicker() {
|
|
69
|
-
// We send a shallow copy(good enough as its just an array of ids) of our this._selectedIds, as we don't want the modal to manipulate our data:
|
|
70
|
-
const modalContext = this._modalContext?.open(UMB_MEDIA_TREE_PICKER_MODAL, {
|
|
71
|
-
multiple: this.max === 1 ? false : true,
|
|
72
|
-
selection: [...this._selectedIds],
|
|
73
|
-
});
|
|
74
|
-
modalContext?.onSubmit().then(({ selection }) => {
|
|
75
|
-
this._setSelection(selection);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
_removeItem(item) {
|
|
79
|
-
const modalContext = this._modalContext?.open(UMB_CONFIRM_MODAL, {
|
|
80
|
-
color: 'danger',
|
|
81
|
-
headline: `Remove ${item.name}?`,
|
|
82
|
-
content: 'Are you sure you want to remove this item',
|
|
83
|
-
confirmLabel: 'Remove',
|
|
84
|
-
});
|
|
85
|
-
modalContext?.onSubmit().then(() => {
|
|
86
|
-
const newSelection = this._selectedIds.filter((value) => value !== item.id);
|
|
87
|
-
this._setSelection(newSelection);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
_setSelection(newSelection) {
|
|
91
|
-
this.selectedIds = newSelection;
|
|
92
|
-
this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }));
|
|
93
|
-
}
|
|
94
72
|
render() {
|
|
95
|
-
return html ` ${this._items?.map((item) => this
|
|
73
|
+
return html ` ${this._items?.map((item) => this.#renderItem(item))} ${this.#renderButton()} `;
|
|
96
74
|
}
|
|
97
|
-
|
|
75
|
+
#renderButton() {
|
|
98
76
|
if (this._items && this.max && this._items.length >= this.max)
|
|
99
77
|
return;
|
|
100
|
-
return html
|
|
101
|
-
<uui-
|
|
102
|
-
|
|
103
|
-
|
|
78
|
+
return html `
|
|
79
|
+
<uui-button id="add-button" look="placeholder" @click=${() => this.#pickerContext.openPicker()} label="open">
|
|
80
|
+
<uui-icon name="umb:add"></uui-icon>
|
|
81
|
+
Add
|
|
82
|
+
</uui-button>
|
|
83
|
+
`;
|
|
104
84
|
}
|
|
105
|
-
|
|
106
|
-
// TODO: remove when we have a way to handle trashed items
|
|
107
|
-
const tempItem = item;
|
|
85
|
+
#renderItem(item) {
|
|
108
86
|
return html `
|
|
109
87
|
<uui-card-media
|
|
110
88
|
name=${ifDefined(item.name === null ? undefined : item.name)}
|
|
111
89
|
detail=${ifDefined(item.id)}
|
|
112
90
|
file-ext="jpg">
|
|
113
|
-
|
|
91
|
+
<!-- <uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag> -->
|
|
114
92
|
<uui-action-bar slot="actions">
|
|
115
93
|
<uui-button label="Copy media">
|
|
116
94
|
<uui-icon name="umb:documents"></uui-icon>
|
|
117
95
|
</uui-button>
|
|
118
|
-
<uui-button @click=${() => this.
|
|
96
|
+
<uui-button @click=${() => this.#pickerContext.requestRemoveItem(item.id)} label="Remove media ${item.name}">
|
|
119
97
|
<uui-icon name="umb:trash"></uui-icon>
|
|
120
98
|
</uui-button>
|
|
121
99
|
</uui-action-bar>
|
|
122
100
|
</uui-card-media>
|
|
123
101
|
`;
|
|
124
|
-
//TODO: <uui-button-inline-create vertical></uui-button-inline-create>
|
|
125
102
|
}
|
|
126
103
|
static { this.styles = [
|
|
127
104
|
css `
|
|
@@ -130,6 +107,7 @@ export let UmbInputMediaElement = class UmbInputMediaElement extends FormControl
|
|
|
130
107
|
gap: var(--uui-size-space-3);
|
|
131
108
|
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
|
|
132
109
|
}
|
|
110
|
+
|
|
133
111
|
#add-button {
|
|
134
112
|
text-align: center;
|
|
135
113
|
height: 160px;
|
|
@@ -144,13 +122,13 @@ export let UmbInputMediaElement = class UmbInputMediaElement extends FormControl
|
|
|
144
122
|
};
|
|
145
123
|
__decorate([
|
|
146
124
|
property({ type: Number })
|
|
147
|
-
], UmbInputMediaElement.prototype, "min",
|
|
125
|
+
], UmbInputMediaElement.prototype, "min", null);
|
|
148
126
|
__decorate([
|
|
149
127
|
property({ type: String, attribute: 'min-message' })
|
|
150
128
|
], UmbInputMediaElement.prototype, "minMessage", void 0);
|
|
151
129
|
__decorate([
|
|
152
130
|
property({ type: Number })
|
|
153
|
-
], UmbInputMediaElement.prototype, "max",
|
|
131
|
+
], UmbInputMediaElement.prototype, "max", null);
|
|
154
132
|
__decorate([
|
|
155
133
|
property({ type: String, attribute: 'min-message' })
|
|
156
134
|
], UmbInputMediaElement.prototype, "maxMessage", void 0);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ContentTreeItemResponseModel } from '../../../external/backend-api/index.js';
|
|
2
|
+
export * from './components/index.js';
|
|
2
3
|
export interface ContentProperty {
|
|
3
4
|
alias: string;
|
|
4
5
|
label: string;
|
|
@@ -15,4 +16,5 @@ export interface MediaDetails extends ContentTreeItemResponseModel {
|
|
|
15
16
|
properties: Array<ContentProperty>;
|
|
16
17
|
data: Array<ContentPropertyData>;
|
|
17
18
|
variants: Array<any>;
|
|
19
|
+
icon?: string;
|
|
18
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from './components/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const manifests: (import("../../core/index.js").ManifestCollectionView | import("../../core/index.js").ManifestEntityAction | import("../../core/index.js").ManifestEntityBulkAction | import("../../core/index.js").ManifestMenuItem | import("../../core/index.js").ManifestRepository | import("../../core/index.js").ManifestStore | import("../../core/index.js").ManifestTree | import("../../core/index.js").ManifestTreeItem | import("../../core/index.js").ManifestTreeStore | import("../../core/index.js").ManifestWorkspace | import("../../core/index.js").ManifestWorkspaceAction | import("../../core/index.js").ManifestWorkspaceEditorView | import("../../core/index.js").ManifestWorkspaceViewCollection)[];
|
|
1
|
+
export declare const manifests: (import("../../core/index.js").ManifestCollectionView | import("../../core/index.js").ManifestEntityAction | import("../../core/index.js").ManifestEntityBulkAction | import("../../core/index.js").ManifestItemStore | import("../../core/index.js").ManifestMenuItem | import("../../core/index.js").ManifestRepository | import("../../core/index.js").ManifestStore | import("../../core/index.js").ManifestTree | import("../../core/index.js").ManifestTreeItem | import("../../core/index.js").ManifestTreeStore | import("../../core/index.js").ManifestWorkspace | import("../../core/index.js").ManifestWorkspaceAction | import("../../core/index.js").ManifestWorkspaceEditorView | import("../../core/index.js").ManifestWorkspaceViewCollection | import("../../core/index.js").ManifestUserPermission)[];
|
|
@@ -5,6 +5,7 @@ import { manifests as treeManifests } from './tree/manifests.js';
|
|
|
5
5
|
import { manifests as workspaceManifests } from './workspace/manifests.js';
|
|
6
6
|
import { manifests as entityActionsManifests } from './entity-actions/manifests.js';
|
|
7
7
|
import { manifests as entityBulkActionsManifests } from './entity-bulk-actions/manifests.js';
|
|
8
|
+
import { manifests as userPermissionManifests } from './user-permissions/manifests.js';
|
|
8
9
|
export const manifests = [
|
|
9
10
|
...collectionViewManifests,
|
|
10
11
|
...repositoryManifests,
|
|
@@ -13,4 +14,5 @@ export const manifests = [
|
|
|
13
14
|
...workspaceManifests,
|
|
14
15
|
...entityActionsManifests,
|
|
15
16
|
...entityBulkActionsManifests,
|
|
17
|
+
...userPermissionManifests,
|
|
16
18
|
];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { ManifestStore, ManifestTreeStore, ManifestRepository } from '../../../core/extension-registry/index.js';
|
|
1
|
+
import type { ManifestStore, ManifestTreeStore, ManifestRepository, ManifestItemStore } from '../../../core/extension-registry/index.js';
|
|
2
2
|
export declare const MEDIA_REPOSITORY_ALIAS = "Umb.Repository.Media";
|
|
3
3
|
export declare const MEDIA_STORE_ALIAS = "Umb.Store.Media";
|
|
4
4
|
export declare const MEDIA_TREE_STORE_ALIAS = "Umb.Store.MediaTree";
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const MEDIA_ITEM_STORE_ALIAS = "Umb.Store.MediaItem";
|
|
6
|
+
export declare const manifests: (ManifestItemStore | ManifestRepository | ManifestStore | ManifestTreeStore)[];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UmbMediaItemStore } from './media-item.store.js';
|
|
1
2
|
import { UmbMediaRepository } from './media.repository.js';
|
|
2
3
|
import { UmbMediaStore } from './media.store.js';
|
|
3
4
|
import { UmbMediaTreeStore } from './media.tree.store.js';
|
|
@@ -10,6 +11,7 @@ const repository = {
|
|
|
10
11
|
};
|
|
11
12
|
export const MEDIA_STORE_ALIAS = 'Umb.Store.Media';
|
|
12
13
|
export const MEDIA_TREE_STORE_ALIAS = 'Umb.Store.MediaTree';
|
|
14
|
+
export const MEDIA_ITEM_STORE_ALIAS = 'Umb.Store.MediaItem';
|
|
13
15
|
const store = {
|
|
14
16
|
type: 'store',
|
|
15
17
|
alias: MEDIA_STORE_ALIAS,
|
|
@@ -22,4 +24,10 @@ const treeStore = {
|
|
|
22
24
|
name: 'Media Tree Store',
|
|
23
25
|
class: UmbMediaTreeStore,
|
|
24
26
|
};
|
|
25
|
-
|
|
27
|
+
const itemStore = {
|
|
28
|
+
type: 'itemStore',
|
|
29
|
+
alias: MEDIA_ITEM_STORE_ALIAS,
|
|
30
|
+
name: 'Media Item Store',
|
|
31
|
+
class: UmbMediaItemStore,
|
|
32
|
+
};
|
|
33
|
+
export const manifests = [store, treeStore, itemStore, repository];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { UmbContextToken } from '../../../../libs/context-api/index.js';
|
|
2
|
+
import { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
|
|
3
|
+
import { UmbItemStore, UmbStoreBase } from '../../../core/store/index.js';
|
|
4
|
+
import { MediaItemResponseModel } from '../../../../external/backend-api/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* @export
|
|
7
|
+
* @class UmbMediaItemStore
|
|
8
|
+
* @extends {UmbStoreBase}
|
|
9
|
+
* @description - Data Store for Media items
|
|
10
|
+
*/
|
|
11
|
+
export declare class UmbMediaItemStore extends UmbStoreBase<MediaItemResponseModel> implements UmbItemStore<MediaItemResponseModel> {
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of UmbMediaItemStore.
|
|
14
|
+
* @param {UmbControllerHostElement} host
|
|
15
|
+
* @memberof UmbMediaItemStore
|
|
16
|
+
*/
|
|
17
|
+
constructor(host: UmbControllerHostElement);
|
|
18
|
+
items(ids: Array<string>): import("rxjs").Observable<MediaItemResponseModel[]>;
|
|
19
|
+
}
|
|
20
|
+
export declare const UMB_Media_ITEM_STORE_CONTEXT_TOKEN: UmbContextToken<UmbMediaItemStore, UmbMediaItemStore>;
|
|
@@ -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 UmbMediaItemStore
|
|
7
|
+
* @extends {UmbStoreBase}
|
|
8
|
+
* @description - Data Store for Media items
|
|
9
|
+
*/
|
|
10
|
+
export class UmbMediaItemStore extends UmbStoreBase {
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of UmbMediaItemStore.
|
|
13
|
+
* @param {UmbControllerHostElement} host
|
|
14
|
+
* @memberof UmbMediaItemStore
|
|
15
|
+
*/
|
|
16
|
+
constructor(host) {
|
|
17
|
+
super(host, UMB_Media_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_Media_ITEM_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbMediaItemStore');
|
|
@@ -33,6 +33,12 @@ export declare class UmbMediaRepository implements UmbTreeRepository<EntityTreeI
|
|
|
33
33
|
rootTreeItems(): Promise<import("rxjs").Observable<EntityTreeItemResponseModel[]>>;
|
|
34
34
|
treeItemsOf(parentId: string | null): Promise<import("rxjs").Observable<EntityTreeItemResponseModel[]>>;
|
|
35
35
|
itemsLegacy(ids: Array<string>): Promise<import("rxjs").Observable<EntityTreeItemResponseModel[]>>;
|
|
36
|
+
requestItems(ids: Array<string>): Promise<{
|
|
37
|
+
data: import("../../../../external/backend-api/index.js").MediaItemResponseModel[] | undefined;
|
|
38
|
+
error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
|
|
39
|
+
asObservable: () => import("rxjs").Observable<import("../../../../external/backend-api/index.js").MediaItemResponseModel[]>;
|
|
40
|
+
}>;
|
|
41
|
+
items(ids: Array<string>): Promise<import("rxjs").Observable<import("../../../../external/backend-api/index.js").MediaItemResponseModel[]>>;
|
|
36
42
|
createScaffold(parentId: string | null): Promise<{
|
|
37
43
|
data: {
|
|
38
44
|
id: string;
|