@umbraco-cms/backoffice 14.0.0-40e04294 → 14.0.0-43239cee
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 +288 -19
- package/dist-cms/external/tinymce/index.js +36 -36
- 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/localization/index.d.ts +3 -0
- package/dist-cms/packages/core/localization/index.js +3 -0
- package/dist-cms/packages/core/localization/localize-date.element.d.ts +28 -0
- package/dist-cms/packages/core/localization/localize-date.element.js +42 -0
- package/dist-cms/packages/core/localization/localize-number.element.d.ts +28 -0
- package/dist-cms/packages/core/localization/localize-number.element.js +42 -0
- package/dist-cms/packages/core/localization/localize-relative-time.element.d.ts +34 -0
- package/dist-cms/packages/core/localization/localize-relative-time.element.js +54 -0
- package/dist-cms/packages/core/localization/localize.element.js +1 -1
- 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/documents/workspace/views/info/document-info-workspace-view.element.js +29 -28
- package/dist-cms/packages/documents/manifests.d.ts +4 -0
- package/dist-cms/packages/log-viewer/workspace/views/overview/components/log-viewer-saved-searches-overview.element.js +1 -1
- 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/tinymce/CHANGELOG.md +48 -0
- package/dist-cms/tinymce/composer.json +1 -1
- package/dist-cms/tinymce/models/dom/model.js +1 -1
- package/dist-cms/tinymce/models/dom/model.min.js +1 -1
- package/dist-cms/tinymce/package.json +1 -1
- package/dist-cms/tinymce/plugins/accordion/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/accordion/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/advlist/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/advlist/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/anchor/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/anchor/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/autolink/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/autolink/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/autoresize/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/autoresize/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/autosave/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/autosave/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/charmap/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/charmap/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/code/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/code/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/codesample/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/codesample/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/directionality/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/directionality/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/emoticons/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/emoticons/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/fullscreen/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/fullscreen/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/help/plugin.js +5 -5
- package/dist-cms/tinymce/plugins/help/plugin.min.js +2 -2
- package/dist-cms/tinymce/plugins/image/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/image/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/importcss/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/importcss/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/insertdatetime/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/link/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/link/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/lists/plugin.js +63 -8
- package/dist-cms/tinymce/plugins/lists/plugin.min.js +2 -2
- package/dist-cms/tinymce/plugins/media/plugin.js +3 -23
- package/dist-cms/tinymce/plugins/media/plugin.min.js +2 -2
- package/dist-cms/tinymce/plugins/nonbreaking/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/pagebreak/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/pagebreak/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/preview/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/preview/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/quickbars/plugin.js +13 -4
- package/dist-cms/tinymce/plugins/quickbars/plugin.min.js +2 -2
- package/dist-cms/tinymce/plugins/save/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/save/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/searchreplace/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/searchreplace/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/table/plugin.js +2 -2
- package/dist-cms/tinymce/plugins/table/plugin.min.js +2 -2
- package/dist-cms/tinymce/plugins/template/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/template/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/visualblocks/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/visualblocks/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/visualchars/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/visualchars/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/wordcount/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/wordcount/plugin.min.js +1 -1
- package/dist-cms/tinymce/skins/ui/oxide/content.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide/content.inline.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide/content.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide/skin.css +51 -11
- package/dist-cms/tinymce/skins/ui/oxide/skin.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide-dark/content.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide-dark/content.inline.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide-dark/skin.css +54 -14
- package/dist-cms/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5/content.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5/content.inline.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5/skin.css +51 -11
- package/dist-cms/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.inline.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.css +51 -11
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
- package/dist-cms/tinymce/themes/silver/theme.js +158 -55
- package/dist-cms/tinymce/themes/silver/theme.min.js +2 -2
- package/dist-cms/tinymce/tinymce.d.ts +4 -6
- package/dist-cms/tinymce/tinymce.js +911 -691
- package/dist-cms/tinymce/tinymce.min.js +2 -2
- 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 +167 -18
- package/package.json +2 -2
- 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,28 @@
|
|
|
1
|
+
import { UmbLitElement } from '../../../shared/lit-element/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* This element allows you to localize a number
|
|
4
|
+
* @element umb-localize-number
|
|
5
|
+
* @slot - The fallback value if the key is not found.
|
|
6
|
+
*/
|
|
7
|
+
export declare class UmbLocalizeNumberElement extends UmbLitElement {
|
|
8
|
+
/**
|
|
9
|
+
* The number to localize.
|
|
10
|
+
* @attr
|
|
11
|
+
* @example number=1_000_000
|
|
12
|
+
*/
|
|
13
|
+
number: number | string;
|
|
14
|
+
/**
|
|
15
|
+
* Formatting options
|
|
16
|
+
* @attr
|
|
17
|
+
* @example options={ style: 'currency', currency: 'EUR' }
|
|
18
|
+
*/
|
|
19
|
+
options?: Intl.NumberFormatOptions;
|
|
20
|
+
protected get text(): string;
|
|
21
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
22
|
+
static styles: import("@lit/reactive-element/css-tag").CSSResult[];
|
|
23
|
+
}
|
|
24
|
+
declare global {
|
|
25
|
+
interface HTMLElementTagNameMap {
|
|
26
|
+
'umb-localize-number': UmbLocalizeNumberElement;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { css, customElement, html, property, state, unsafeHTML } from '../../../external/lit/index.js';
|
|
8
|
+
import { UmbLitElement } from '../../../shared/lit-element/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* This element allows you to localize a number
|
|
11
|
+
* @element umb-localize-number
|
|
12
|
+
* @slot - The fallback value if the key is not found.
|
|
13
|
+
*/
|
|
14
|
+
export let UmbLocalizeNumberElement = class UmbLocalizeNumberElement extends UmbLitElement {
|
|
15
|
+
get text() {
|
|
16
|
+
return this.localize.number(this.number, this.options);
|
|
17
|
+
}
|
|
18
|
+
render() {
|
|
19
|
+
return this.number
|
|
20
|
+
? html `${unsafeHTML(this.text)}`
|
|
21
|
+
: html `<slot></slot>`;
|
|
22
|
+
}
|
|
23
|
+
static { this.styles = [
|
|
24
|
+
css `
|
|
25
|
+
:host {
|
|
26
|
+
display: contents;
|
|
27
|
+
}
|
|
28
|
+
`,
|
|
29
|
+
]; }
|
|
30
|
+
};
|
|
31
|
+
__decorate([
|
|
32
|
+
property()
|
|
33
|
+
], UmbLocalizeNumberElement.prototype, "number", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
property()
|
|
36
|
+
], UmbLocalizeNumberElement.prototype, "options", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
state()
|
|
39
|
+
], UmbLocalizeNumberElement.prototype, "text", null);
|
|
40
|
+
UmbLocalizeNumberElement = __decorate([
|
|
41
|
+
customElement('umb-localize-number')
|
|
42
|
+
], UmbLocalizeNumberElement);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { UmbLitElement } from '../../../shared/lit-element/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* This element allows you to localize a relative time
|
|
4
|
+
* @element umb-localize-relative-time
|
|
5
|
+
* @slot - The fallback value if the key is not found.
|
|
6
|
+
*/
|
|
7
|
+
export declare class UmbLocalizeRelativeTimeElement extends UmbLitElement {
|
|
8
|
+
/**
|
|
9
|
+
* The date to localize.
|
|
10
|
+
* @attr
|
|
11
|
+
* @example time=10
|
|
12
|
+
*/
|
|
13
|
+
time: number;
|
|
14
|
+
/**
|
|
15
|
+
* Formatting options
|
|
16
|
+
* @attr
|
|
17
|
+
* @example options={ dateStyle: 'full', timeStyle: 'long', timeZone: 'Australia/Sydney' }
|
|
18
|
+
*/
|
|
19
|
+
options?: Intl.RelativeTimeFormatOptions;
|
|
20
|
+
/**
|
|
21
|
+
* Unit
|
|
22
|
+
* @attr
|
|
23
|
+
* @example unit='seconds'
|
|
24
|
+
*/
|
|
25
|
+
unit: Intl.RelativeTimeFormatUnit;
|
|
26
|
+
protected get text(): string;
|
|
27
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
28
|
+
static styles: import("@lit/reactive-element/css-tag").CSSResult[];
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
'umb-localize-relative-time': UmbLocalizeRelativeTimeElement;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { css, customElement, html, property, state, unsafeHTML } from '../../../external/lit/index.js';
|
|
8
|
+
import { UmbLitElement } from '../../../shared/lit-element/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* This element allows you to localize a relative time
|
|
11
|
+
* @element umb-localize-relative-time
|
|
12
|
+
* @slot - The fallback value if the key is not found.
|
|
13
|
+
*/
|
|
14
|
+
export let UmbLocalizeRelativeTimeElement = class UmbLocalizeRelativeTimeElement extends UmbLitElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
/**
|
|
18
|
+
* Unit
|
|
19
|
+
* @attr
|
|
20
|
+
* @example unit='seconds'
|
|
21
|
+
*/
|
|
22
|
+
this.unit = 'seconds';
|
|
23
|
+
}
|
|
24
|
+
get text() {
|
|
25
|
+
return this.localize.relativeTime(this.time, this.unit, this.options);
|
|
26
|
+
}
|
|
27
|
+
render() {
|
|
28
|
+
return this.time
|
|
29
|
+
? html `${unsafeHTML(this.text)}`
|
|
30
|
+
: html `<slot></slot>`;
|
|
31
|
+
}
|
|
32
|
+
static { this.styles = [
|
|
33
|
+
css `
|
|
34
|
+
:host {
|
|
35
|
+
display: contents;
|
|
36
|
+
}
|
|
37
|
+
`,
|
|
38
|
+
]; }
|
|
39
|
+
};
|
|
40
|
+
__decorate([
|
|
41
|
+
property()
|
|
42
|
+
], UmbLocalizeRelativeTimeElement.prototype, "time", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
property()
|
|
45
|
+
], UmbLocalizeRelativeTimeElement.prototype, "options", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
property()
|
|
48
|
+
], UmbLocalizeRelativeTimeElement.prototype, "unit", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
state()
|
|
51
|
+
], UmbLocalizeRelativeTimeElement.prototype, "text", null);
|
|
52
|
+
UmbLocalizeRelativeTimeElement = __decorate([
|
|
53
|
+
customElement('umb-localize-relative-time')
|
|
54
|
+
], UmbLocalizeRelativeTimeElement);
|
|
@@ -31,7 +31,7 @@ export let UmbLocalizeElement = class UmbLocalizeElement extends UmbLitElement {
|
|
|
31
31
|
return localizedValue;
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
return this.text
|
|
34
|
+
return this.text.trim()
|
|
35
35
|
? html `${unsafeHTML(this.text)}`
|
|
36
36
|
: this.debug
|
|
37
37
|
? html `<span style="color:red">${this.key}</span>`
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { UmbEntityUserPermissionSettingsModalData, UmbEntityUserPermissionSettingsModalResult, UmbModalContext } from '../../index.js';
|
|
2
|
+
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
3
|
+
export declare class UmbEntityUserPermissionSettingsModalElement extends UmbLitElement {
|
|
4
|
+
#private;
|
|
5
|
+
modalContext?: UmbModalContext<UmbEntityUserPermissionSettingsModalData, UmbEntityUserPermissionSettingsModalResult>;
|
|
6
|
+
data?: UmbEntityUserPermissionSettingsModalData;
|
|
7
|
+
private _userPermissionManifests;
|
|
8
|
+
private _handleConfirm;
|
|
9
|
+
private _handleCancel;
|
|
10
|
+
constructor();
|
|
11
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
12
|
+
static styles: import("@lit/reactive-element/css-tag").CSSResult[];
|
|
13
|
+
}
|
|
14
|
+
export default UmbEntityUserPermissionSettingsModalElement;
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
'umb-entity-user-permission-modal': UmbEntityUserPermissionSettingsModalElement;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, customElement, property, state, css } from '../../../../../external/lit/index.js';
|
|
8
|
+
import { UmbTextStyles } from '../../../../../shared/style/index.js';
|
|
9
|
+
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
10
|
+
import { umbExtensionsRegistry } from '../../../extension-registry/index.js';
|
|
11
|
+
export let UmbEntityUserPermissionSettingsModalElement = class UmbEntityUserPermissionSettingsModalElement extends UmbLitElement {
|
|
12
|
+
_handleConfirm() {
|
|
13
|
+
this.modalContext?.submit();
|
|
14
|
+
}
|
|
15
|
+
_handleCancel() {
|
|
16
|
+
this.modalContext?.reject();
|
|
17
|
+
}
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this._userPermissionManifests = [];
|
|
21
|
+
this.observe(umbExtensionsRegistry.extensionsOfType('userPermission'), (userPermissionManifests) => (this._userPermissionManifests = userPermissionManifests));
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
return html `
|
|
25
|
+
<umb-body-layout headline="Hello">
|
|
26
|
+
<uui-box>
|
|
27
|
+
Render user permissions for ${this.data?.entityType} ${this.data?.unique}
|
|
28
|
+
${this._userPermissionManifests.map((permission) => this.#renderPermission(permission))}
|
|
29
|
+
|
|
30
|
+
<uui-button slot="actions" id="cancel" label="Cancel" @click="${this._handleCancel}">Cancel</uui-button>
|
|
31
|
+
<uui-button
|
|
32
|
+
slot="actions"
|
|
33
|
+
id="confirm"
|
|
34
|
+
color="positive"
|
|
35
|
+
look="primary"
|
|
36
|
+
label="Confirm"
|
|
37
|
+
@click=${this._handleConfirm}></uui-button>
|
|
38
|
+
</uui-box>
|
|
39
|
+
</umb-body-layout>
|
|
40
|
+
`;
|
|
41
|
+
}
|
|
42
|
+
#onChangeUserPermission(event, userPermissionManifest) {
|
|
43
|
+
console.log(userPermissionManifest);
|
|
44
|
+
console.log(event.target.checked);
|
|
45
|
+
}
|
|
46
|
+
#isAllowed(userPermissionManifest) {
|
|
47
|
+
return true;
|
|
48
|
+
//return this._userGroup?.permissions?.includes(userPermissionManifest.alias);
|
|
49
|
+
}
|
|
50
|
+
#renderPermission(userPermissionManifest) {
|
|
51
|
+
return html `<div
|
|
52
|
+
style="display: flex; align-items:center; border-bottom: 1px solid var(--uui-color-divider); padding: 9px 0 12px 0;">
|
|
53
|
+
<uui-toggle
|
|
54
|
+
label=${userPermissionManifest.meta.label}
|
|
55
|
+
?checked=${this.#isAllowed(userPermissionManifest)}
|
|
56
|
+
@change=${(event) => this.#onChangeUserPermission(event, userPermissionManifest)}>
|
|
57
|
+
<div class="permission-meta">
|
|
58
|
+
<div class="permission-name">${userPermissionManifest.meta.label}</div>
|
|
59
|
+
<small>${userPermissionManifest.meta.description}</small>
|
|
60
|
+
</div>
|
|
61
|
+
</uui-toggle>
|
|
62
|
+
</div>`;
|
|
63
|
+
}
|
|
64
|
+
static { this.styles = [
|
|
65
|
+
UmbTextStyles,
|
|
66
|
+
css `
|
|
67
|
+
.permission-toggle {
|
|
68
|
+
display: flex;
|
|
69
|
+
align-items: center;
|
|
70
|
+
border-bottom: 1px solid var(--uui-color-divider);
|
|
71
|
+
padding: var(--uui-size-space-3) 0 var(--uui-size-space-4) 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.permission-meta {
|
|
75
|
+
margin-left: var(--uui-size-space-4);
|
|
76
|
+
line-height: 1.2em;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.permission-name {
|
|
80
|
+
font-weight: bold;
|
|
81
|
+
}
|
|
82
|
+
`,
|
|
83
|
+
]; }
|
|
84
|
+
};
|
|
85
|
+
__decorate([
|
|
86
|
+
property({ attribute: false })
|
|
87
|
+
], UmbEntityUserPermissionSettingsModalElement.prototype, "modalContext", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
property({ type: Object })
|
|
90
|
+
], UmbEntityUserPermissionSettingsModalElement.prototype, "data", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
state()
|
|
93
|
+
], UmbEntityUserPermissionSettingsModalElement.prototype, "_userPermissionManifests", void 0);
|
|
94
|
+
UmbEntityUserPermissionSettingsModalElement = __decorate([
|
|
95
|
+
customElement('umb-entity-user-permission-settings-modal')
|
|
96
|
+
], UmbEntityUserPermissionSettingsModalElement);
|
|
97
|
+
export default UmbEntityUserPermissionSettingsModalElement;
|
|
@@ -59,5 +59,11 @@ const modals = [
|
|
|
59
59
|
name: 'Tree Picker Modal',
|
|
60
60
|
loader: () => import('./tree-picker/tree-picker-modal.element.js'),
|
|
61
61
|
},
|
|
62
|
+
{
|
|
63
|
+
type: 'modal',
|
|
64
|
+
alias: 'Umb.Modal.EntityUserPermissionSettings',
|
|
65
|
+
name: 'Entity User Permission Settings Modal',
|
|
66
|
+
loader: () => import('./entity-user-permission-settings/entity-user-permission-settings-modal.element.js'),
|
|
67
|
+
},
|
|
62
68
|
];
|
|
63
69
|
export const manifests = [...modals];
|
|
@@ -4,9 +4,10 @@ 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 { UmbTextStyles } from
|
|
7
|
+
import { html, customElement, state } from '../../../../../external/lit/index.js';
|
|
8
|
+
import { UmbTextStyles } from '../../../../../shared/style/index.js';
|
|
9
9
|
import { UmbModalBaseElement } from '../../../../../shared/modal/index.js';
|
|
10
|
+
import { UmbSelectedEvent } from '../../../../../shared/umb-events/index.js';
|
|
10
11
|
export let UmbTreePickerModalElement = class UmbTreePickerModalElement extends UmbModalBaseElement {
|
|
11
12
|
constructor() {
|
|
12
13
|
super(...arguments);
|
|
@@ -22,6 +23,7 @@ export let UmbTreePickerModalElement = class UmbTreePickerModalElement extends U
|
|
|
22
23
|
e.stopPropagation();
|
|
23
24
|
const element = e.target;
|
|
24
25
|
this._selection = element.selection;
|
|
26
|
+
this.dispatchEvent(new UmbSelectedEvent());
|
|
25
27
|
}
|
|
26
28
|
#submit() {
|
|
27
29
|
this.modalContext?.submit({ selection: this._selection });
|
|
@@ -48,7 +50,7 @@ export let UmbTreePickerModalElement = class UmbTreePickerModalElement extends U
|
|
|
48
50
|
</umb-body-layout>
|
|
49
51
|
`;
|
|
50
52
|
}
|
|
51
|
-
static { this.styles = [UmbTextStyles
|
|
53
|
+
static { this.styles = [UmbTextStyles]; }
|
|
52
54
|
};
|
|
53
55
|
__decorate([
|
|
54
56
|
state()
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UmbModalToken } from '../index.js';
|
|
2
|
+
export interface UmbEntityUserPermissionSettingsModalData {
|
|
3
|
+
unique: string;
|
|
4
|
+
entityType: Array<string>;
|
|
5
|
+
}
|
|
6
|
+
export type UmbEntityUserPermissionSettingsModalResult = undefined;
|
|
7
|
+
export declare const UMB_ENTITY_USER_PERMISSION_MODAL: UmbModalToken<UmbEntityUserPermissionSettingsModalData, undefined>;
|
|
@@ -33,3 +33,4 @@ export * from './data-type-picker-modal.token.js';
|
|
|
33
33
|
export * from './workspace-modal.token.js';
|
|
34
34
|
export * from './data-type-picker-flow-modal.token.js';
|
|
35
35
|
export * from './data-type-picker-flow-data-type-picker-modal.token.js';
|
|
36
|
+
export * from './entity-user-permission-settings-modal.token.js';
|
|
@@ -33,3 +33,4 @@ export * from './data-type-picker-modal.token.js';
|
|
|
33
33
|
export * from './workspace-modal.token.js';
|
|
34
34
|
export * from './data-type-picker-flow-modal.token.js';
|
|
35
35
|
export * from './data-type-picker-flow-data-type-picker-modal.token.js';
|
|
36
|
+
export * from './entity-user-permission-settings-modal.token.js';
|
|
@@ -48,9 +48,6 @@ export class UmbPickerInputContext {
|
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
async requestRemoveItem(unique) {
|
|
51
|
-
await this.#init;
|
|
52
|
-
if (!this.repository)
|
|
53
|
-
throw new Error('Repository is not initialized');
|
|
54
51
|
// TODO: id won't always be available on the model, so we need to get the unique property from somewhere. Maybe the repository?
|
|
55
52
|
const item = this.#itemManager.getItems().find((item) => this.#getUnique(item) === unique);
|
|
56
53
|
if (!item)
|
|
@@ -67,5 +64,6 @@ export class UmbPickerInputContext {
|
|
|
67
64
|
#removeItem(unique) {
|
|
68
65
|
const newSelection = this.getSelection().filter((value) => value !== unique);
|
|
69
66
|
this.setSelection(newSelection);
|
|
67
|
+
this.host.dispatchEvent(new UmbChangeEvent());
|
|
70
68
|
}
|
|
71
69
|
}
|
|
@@ -3,6 +3,7 @@ import { UmbBooleanState } from '../../../libs/observable-api/index.js';
|
|
|
3
3
|
import { UmbBaseController } from '../../../libs/controller-api/index.js';
|
|
4
4
|
import { createExtensionClass } from '../../../libs/extension-api/index.js';
|
|
5
5
|
import { UmbSelectionManagerBase } from '../../../shared/utils/index.js';
|
|
6
|
+
import { UmbSelectedEvent } from '../../../shared/umb-events/index.js';
|
|
6
7
|
export class UmbTreeContextBase extends UmbBaseController {
|
|
7
8
|
#selectionManager;
|
|
8
9
|
#selectable;
|
|
@@ -62,11 +63,11 @@ export class UmbTreeContextBase extends UmbBaseController {
|
|
|
62
63
|
if (!this.getSelectable())
|
|
63
64
|
return;
|
|
64
65
|
this.#selectionManager.select(unique);
|
|
65
|
-
this._host.getHostElement().dispatchEvent(new
|
|
66
|
+
this._host.getHostElement().dispatchEvent(new UmbSelectedEvent());
|
|
66
67
|
}
|
|
67
68
|
deselect(unique) {
|
|
68
69
|
this.#selectionManager.deselect(unique);
|
|
69
|
-
this._host.getHostElement().dispatchEvent(new
|
|
70
|
+
this._host.getHostElement().dispatchEvent(new UmbSelectedEvent());
|
|
70
71
|
}
|
|
71
72
|
async requestTreeRoot() {
|
|
72
73
|
await this.#init;
|
package/dist-cms/packages/documents/documents/components/input-document/input-document.context.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { UmbPickerInputContext } from '../../../../core/picker-input/index.js';
|
|
2
|
+
import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
|
|
3
|
+
import { DocumentItemResponseModel } from '../../../../../external/backend-api/index.js';
|
|
4
|
+
export declare class UmbDocumentPickerContext extends UmbPickerInputContext<DocumentItemResponseModel> {
|
|
5
|
+
constructor(host: UmbControllerHostElement);
|
|
6
|
+
}
|
package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UmbPickerInputContext } from '../../../../core/picker-input/index.js';
|
|
2
|
+
import { UMB_DOCUMENT_PICKER_MODAL } from '../../../../core/modal/index.js';
|
|
3
|
+
export class UmbDocumentPickerContext extends UmbPickerInputContext {
|
|
4
|
+
constructor(host) {
|
|
5
|
+
super(host, 'Umb.Repository.Document', UMB_DOCUMENT_PICKER_MODAL);
|
|
6
|
+
}
|
|
7
|
+
}
|
package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
2
2
|
declare const UmbInputDocumentElement_base: (new (...args: any[]) => import("../../../../../external/uui/index.js").FormControlMixinInterface) & typeof UmbLitElement;
|
|
3
3
|
export declare class UmbInputDocumentElement extends UmbInputDocumentElement_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 UmbInputDocumentElement extends UmbInputDocumentElement_bas
|
|
|
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,20 +32,12 @@ export declare class UmbInputDocumentElement extends UmbInputDocumentElement_bas
|
|
|
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 _documentStore?;
|
|
39
|
-
private _pickedItemsObserver?;
|
|
40
39
|
constructor();
|
|
41
40
|
protected getFormElement(): undefined;
|
|
42
|
-
private _observePickedDocuments;
|
|
43
|
-
private _openPicker;
|
|
44
|
-
private _removeItem;
|
|
45
|
-
private _setSelection;
|
|
46
41
|
render(): import("lit-html").TemplateResult<1>;
|
|
47
42
|
private _renderItem;
|
|
48
43
|
static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
|
package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js
CHANGED
|
@@ -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 { UmbDocumentPickerContext } from './input-document.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_DOCUMENT_PICKER_MODAL, } from '../../../../core/modal/index.js';
|
|
11
10
|
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
12
11
|
export let UmbInputDocumentElement = class UmbInputDocumentElement 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._observePickedDocuments();
|
|
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,69 +60,35 @@ export let UmbInputDocumentElement = class UmbInputDocumentElement extends FormC
|
|
|
39
60
|
* @default
|
|
40
61
|
*/
|
|
41
62
|
this.maxMessage = 'This field exceeds the allowed amount of items';
|
|
42
|
-
|
|
43
|
-
this.
|
|
44
|
-
this.addValidator('
|
|
45
|
-
this.
|
|
46
|
-
this.
|
|
47
|
-
this._documentStore = instance;
|
|
48
|
-
this._observePickedDocuments();
|
|
49
|
-
});
|
|
50
|
-
this.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (instance) => {
|
|
51
|
-
this._modalContext = instance;
|
|
52
|
-
});
|
|
63
|
+
this.#pickerContext = new UmbDocumentPickerContext(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));
|
|
53
68
|
}
|
|
54
69
|
getFormElement() {
|
|
55
70
|
return undefined;
|
|
56
71
|
}
|
|
57
|
-
_observePickedDocuments() {
|
|
58
|
-
this._pickedItemsObserver?.destroy();
|
|
59
|
-
if (!this._documentStore)
|
|
60
|
-
return;
|
|
61
|
-
// TODO: consider changing this to the list data endpoint when it is available
|
|
62
|
-
this._pickedItemsObserver = this.observe(this._documentStore.items(this._selectedIds), (items) => {
|
|
63
|
-
this._items = items;
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
_openPicker() {
|
|
67
|
-
// 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:
|
|
68
|
-
const modalContext = this._modalContext?.open(UMB_DOCUMENT_PICKER_MODAL, {
|
|
69
|
-
multiple: this.max === 1 ? false : true,
|
|
70
|
-
selection: [...this._selectedIds],
|
|
71
|
-
});
|
|
72
|
-
modalContext?.onSubmit().then(({ selection }) => {
|
|
73
|
-
this._setSelection(selection);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
async _removeItem(item) {
|
|
77
|
-
const modalContext = this._modalContext?.open(UMB_CONFIRM_MODAL, {
|
|
78
|
-
color: 'danger',
|
|
79
|
-
headline: `Remove ${item.name}?`,
|
|
80
|
-
content: 'Are you sure you want to remove this item',
|
|
81
|
-
confirmLabel: 'Remove',
|
|
82
|
-
});
|
|
83
|
-
await modalContext?.onSubmit();
|
|
84
|
-
const newSelection = this._selectedIds.filter((value) => value !== item.id);
|
|
85
|
-
this._setSelection(newSelection);
|
|
86
|
-
}
|
|
87
|
-
_setSelection(newSelection) {
|
|
88
|
-
this.selectedIds = newSelection;
|
|
89
|
-
this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }));
|
|
90
|
-
}
|
|
91
72
|
render() {
|
|
92
73
|
return html `
|
|
93
|
-
|
|
94
|
-
<uui-button id="add-button" look="placeholder" @click=${this.
|
|
74
|
+
<uui-ref-list>${this._items?.map((item) => this._renderItem(item))}</uui-ref-list>
|
|
75
|
+
<uui-button id="add-button" look="placeholder" @click=${() => this.#pickerContext.openPicker()} label="open"
|
|
76
|
+
>Add</uui-button
|
|
77
|
+
>
|
|
95
78
|
`;
|
|
96
79
|
}
|
|
97
80
|
_renderItem(item) {
|
|
98
|
-
|
|
99
|
-
|
|
81
|
+
if (!item.id)
|
|
82
|
+
return;
|
|
100
83
|
return html `
|
|
101
|
-
<uui-ref-node name=${ifDefined(item.name
|
|
102
|
-
|
|
84
|
+
<uui-ref-node name=${ifDefined(item.name)} detail=${ifDefined(item.id)}>
|
|
85
|
+
<!-- TODO: implement is trashed <uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag> -->
|
|
103
86
|
<uui-action-bar slot="actions">
|
|
104
|
-
<uui-button
|
|
87
|
+
<uui-button
|
|
88
|
+
@click=${() => this.#pickerContext.requestRemoveItem(item.id)}
|
|
89
|
+
label="Remove document ${item.name}"
|
|
90
|
+
>Remove</uui-button
|
|
91
|
+
>
|
|
105
92
|
</uui-action-bar>
|
|
106
93
|
</uui-ref-node>
|
|
107
94
|
`;
|
|
@@ -116,13 +103,13 @@ export let UmbInputDocumentElement = class UmbInputDocumentElement extends FormC
|
|
|
116
103
|
};
|
|
117
104
|
__decorate([
|
|
118
105
|
property({ type: Number })
|
|
119
|
-
], UmbInputDocumentElement.prototype, "min",
|
|
106
|
+
], UmbInputDocumentElement.prototype, "min", null);
|
|
120
107
|
__decorate([
|
|
121
108
|
property({ type: String, attribute: 'min-message' })
|
|
122
109
|
], UmbInputDocumentElement.prototype, "minMessage", void 0);
|
|
123
110
|
__decorate([
|
|
124
111
|
property({ type: Number })
|
|
125
|
-
], UmbInputDocumentElement.prototype, "max",
|
|
112
|
+
], UmbInputDocumentElement.prototype, "max", null);
|
|
126
113
|
__decorate([
|
|
127
114
|
property({ type: String, attribute: 'min-message' })
|
|
128
115
|
], UmbInputDocumentElement.prototype, "maxMessage", void 0);
|