@@ -108,11 +132,18 @@ export class UmbDocumentScheduleModalElement extends UmbModalBaseElement<
}
#renderOptions() {
- return repeat(
- this._options,
- (option) => option.unique,
- (option) => this.#renderItem(option),
- );
+ return html`
+
+
+ ${repeat(
+ this._options,
+ (option) => option.unique,
+ (option) => this.#renderItem(option),
+ )}
+ `;
}
#renderItem(option: UmbDocumentVariantOptionModel) {
@@ -210,6 +241,14 @@ export class UmbDocumentScheduleModalElement extends UmbModalBaseElement<
.publish-date > uui-form-layout-item:first-child {
border-right: 1px dashed var(--uui-color-border);
}
+
+ uui-checkbox {
+ margin-bottom: var(--uui-size-space-3);
+ }
+
+ uui-menu-item {
+ --uui-menu-item-flat-structure: 1;
+ }
`,
];
}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/modals/shared/document-variant-language-picker.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/modals/shared/document-variant-language-picker.element.ts
index 6e7bda4068..01ad48725b 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/modals/shared/document-variant-language-picker.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/modals/shared/document-variant-language-picker.element.ts
@@ -1,4 +1,5 @@
import { UmbDocumentVariantState, type UmbDocumentVariantOptionModel } from '../../types.js';
+import type { UUIBooleanInputElement } from '@umbraco-cms/backoffice/external/uui';
import {
css,
customElement,
@@ -27,6 +28,7 @@ export class UmbDocumentVariantLanguagePickerElement extends UmbLitElement {
this.selectionManager.selection,
(selection) => {
this._selection = selection;
+ this._isAllSelected = this.#isAllSelected();
},
'_selectionManager',
);
@@ -38,6 +40,9 @@ export class UmbDocumentVariantLanguagePickerElement extends UmbLitElement {
@state()
_selection: Array = [];
+ @state()
+ _isAllSelected?: boolean;
+
/**
* A filter function that determines if an item is pickableFilter or not.
* @memberof UmbDocumentVariantLanguagePickerElement
@@ -65,16 +70,43 @@ export class UmbDocumentVariantLanguagePickerElement extends UmbLitElement {
}
}
+ #onSelectAllChange(event: Event) {
+ const allUniques = this.variantLanguageOptions.map((o) => o.unique);
+ const filter = this.selectionManager.getAllowLimitation();
+ const allowedUniques = allUniques.filter((unique) => filter(unique));
+
+ if ((event.target as UUIBooleanInputElement).checked) {
+ this.selectionManager.setSelection(allowedUniques);
+ } else {
+ this.selectionManager.setSelection([]);
+ }
+ }
+
+ #isAllSelected() {
+ const allUniques = this.variantLanguageOptions.map((o) => o.unique);
+ const filter = this.selectionManager.getAllowLimitation();
+ const allowedUniques = allUniques.filter((unique) => filter(unique));
+ return this._selection.length === allowedUniques.length;
+ }
+
override render() {
- return this.variantLanguageOptions.length
- ? repeat(
- this.variantLanguageOptions,
- (option) => option.unique,
- (option) => html` ${this.#renderItem(option)} `,
- )
- : html`
- There are no available variants
- `;
+ if (this.variantLanguageOptions.length === 0) {
+ return html`
+ There are no available variants
+ `;
+ }
+
+ return html`
+
+ ${repeat(
+ this.variantLanguageOptions,
+ (option) => option.unique,
+ (option) => html` ${this.#renderItem(option)} `,
+ )}
+ `;
}
#renderItem(option: UmbDocumentVariantOptionModel) {
@@ -135,6 +167,14 @@ export class UmbDocumentVariantLanguagePickerElement extends UmbLitElement {
.label-status {
font-size: 0.8rem;
}
+
+ uui-menu-item {
+ --uui-menu-item-flat-structure: 1;
+ }
+
+ uui-checkbox {
+ margin-bottom: var(--uui-size-space-3);
+ }
`,
];
}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.ts
index 6658abc6d9..1db43e7f7e 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.ts
@@ -76,9 +76,10 @@ export class UmbLogViewerLogLevelFilterMenuElement extends UmbLitElement {
`,
)}
-
+