Skip to content

Commit 800873c

Browse files
authoredJan 21, 2025··
Fix settings value begin indifference (#18022)
1 parent 880f49a commit 800873c

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed
 

‎src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-entry.context.ts

+25-22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import type { UmbBlockManagerContext, UmbBlockWorkspaceOriginData } from '../index.js';
2-
import type { UmbBlockLayoutBaseModel, UmbBlockDataModel, UmbBlockDataType, UmbBlockExposeModel } from '../types.js';
2+
import type {
3+
UmbBlockLayoutBaseModel,
4+
UmbBlockDataModel,
5+
UmbBlockDataType,
6+
UmbBlockExposeModel,
7+
UmbBlockDataValueModel,
8+
} from '../types.js';
39
import type { UmbBlockEntriesContext } from './block-entries.context.js';
410
import type { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
511
import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
@@ -238,17 +244,7 @@ export abstract class UmbBlockEntryContext<
238244
if (!this.#contentValuesObservable) {
239245
this.#contentValuesObservable = mergeObservables(
240246
[this._contentValueArray, this.#contentStructure!.contentTypeProperties, this._variantId],
241-
([propertyValues, properties, variantId]) => {
242-
if (!propertyValues || !properties || !variantId) return;
243-
244-
return properties.reduce((acc, property) => {
245-
const propertyVariantId = this.#createPropertyVariantId(property, variantId);
246-
acc[property.alias] = propertyValues.find(
247-
(x) => x.alias === property.alias && propertyVariantId.compare(x),
248-
)?.value;
249-
return acc;
250-
}, {} as UmbBlockDataType);
251-
},
247+
this.#propertyValuesToObjectCallback,
252248
);
253249
}
254250
return this.#contentValuesObservable;
@@ -274,21 +270,28 @@ export abstract class UmbBlockEntryContext<
274270
if (!this.#settingsValuesObservable) {
275271
this.#settingsValuesObservable = mergeObservables(
276272
[this._settingsValueArray, this.#settingsStructure!.contentTypeProperties, this._variantId],
277-
([propertyValues, properties, variantId]) => {
278-
if (!propertyValues || !properties || !variantId) return;
279-
280-
return properties.reduce((acc, property) => {
281-
acc[property.alias] = propertyValues.find((x) =>
282-
this.#createPropertyVariantId(property, variantId).compare(x),
283-
)?.value;
284-
return acc;
285-
}, {} as UmbBlockDataType);
286-
},
273+
this.#propertyValuesToObjectCallback,
287274
);
288275
}
289276
return this.#settingsValuesObservable;
290277
}
291278

279+
#propertyValuesToObjectCallback = ([propertyValues, properties, variantId]: [
280+
UmbBlockDataValueModel<unknown>[] | undefined,
281+
UmbPropertyTypeModel[],
282+
UmbVariantId | undefined,
283+
]) => {
284+
if (!propertyValues || !properties || !variantId) return;
285+
286+
return properties.reduce((acc, property) => {
287+
const propertyVariantId = this.#createPropertyVariantId(property, variantId);
288+
acc[property.alias] = propertyValues.find(
289+
(x) => x.alias === property.alias && propertyVariantId.compare(x),
290+
)?.value;
291+
return acc;
292+
}, {} as UmbBlockDataType);
293+
};
294+
292295
/**
293296
* Get the settings of the block.
294297
* @returns {UmbBlockDataModel | undefined} - the settings of the block.

0 commit comments

Comments
 (0)
Please sign in to comment.