Skip to content

Commit 3361864

Browse files
committed
clean up
1 parent 5b85a1b commit 3361864

File tree

6 files changed

+99
-69
lines changed

6 files changed

+99
-69
lines changed

src/packages/core/workspace/data-manager/workspace-data-manager.interface.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import type { UmbController } from '@umbraco-cms/backoffice/controller-api';
22
import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity';
33

44
export interface UmbWorkspaceDataManager<ModelType extends UmbEntityModel> extends UmbController {
5-
getPersistedData(): ModelType | undefined;
6-
getCurrentData(): ModelType | undefined;
7-
setPersistedData(data: ModelType | undefined): void;
8-
setCurrentData(data: ModelType | undefined): void;
5+
getPersisted(): ModelType | undefined;
6+
getCurrent(): ModelType | undefined;
7+
setPersisted(data: ModelType | undefined): void;
8+
setCurrent(data: ModelType | undefined): void;
99
}

src/packages/core/workspace/entity-detail/entity-detail-workspace-base.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
6868
}
6969

7070
getData() {
71-
return this._data.getCurrentData();
71+
return this._data.getCurrent();
7272
}
7373

7474
getUnique() {
75-
return this._data.getCurrentData()?.unique;
75+
return this._data.getCurrent()?.unique;
7676
}
7777

7878
async load(unique: string) {
@@ -85,8 +85,8 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
8585

8686
if (data) {
8787
this.setIsNew(false);
88-
this._data.setPersistedData(data);
89-
this._data.setCurrentData(data);
88+
this._data.setPersisted(data);
89+
this._data.setCurrent(data);
9090
}
9191

9292
return response;
@@ -98,7 +98,7 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
9898

9999
async submit() {
100100
await this.#init;
101-
const currentData = this._data.getCurrentData();
101+
const currentData = this._data.getCurrent();
102102

103103
if (!currentData) {
104104
throw new Error('Data is not set');
@@ -115,7 +115,7 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
115115
throw error?.message ?? 'Repository did not return data after create.';
116116
}
117117

118-
this._data.setPersistedData(data);
118+
this._data.setPersisted(data);
119119

120120
// TODO: this might not be the right place to alert the tree, but it works for now
121121
const eventContext = await this.getContext(UMB_ACTION_EVENT_CONTEXT);
@@ -131,7 +131,7 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
131131
throw error?.message ?? 'Repository did not return data after create.';
132132
}
133133

134-
this._data.setPersistedData(data);
134+
this._data.setPersisted(data);
135135

136136
const actionEventContext = await this.getContext(UMB_ACTION_EVENT_CONTEXT);
137137
const event = new UmbRequestReloadStructureForEntityEvent({
@@ -156,8 +156,8 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
156156
data = { ...data, ...this.modalContext.data.preset };
157157
}
158158
this.setIsNew(true);
159-
this._data.setPersistedData(data);
160-
this._data.setCurrentData(data);
159+
this._data.setPersisted(data);
160+
this._data.setCurrent(data);
161161
return data;
162162
}
163163

@@ -182,7 +182,7 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
182182
#onWillNavigate = async (e: CustomEvent) => {
183183
const newUrl = e.detail.url;
184184

185-
if (this._checkWillNavigateAway(newUrl) && this._data.hasUnpersistedChanges()) {
185+
if (this._checkWillNavigateAway(newUrl) && this._data.getHasUnpersistedChanges()) {
186186
e.preventDefault();
187187
const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
188188
const modal = modalManager.open(this, UMB_DISCARD_CHANGES_MODAL);
@@ -191,7 +191,7 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
191191
// navigate to the new url when discarding changes
192192
await modal.onSubmit();
193193
// Reset the current data so we don't end in a endless loop of asking to discard changes.
194-
this._data.resetCurrentData();
194+
this._data.resetCurrent();
195195
history.pushState({}, '', e.detail.url);
196196
return true;
197197
} catch {
@@ -204,7 +204,7 @@ export abstract class UmbEntityDetailWorkspaceContextBase<
204204

205205
override resetState() {
206206
super.resetState();
207-
this._data.clearData();
207+
this._data.clear();
208208
}
209209

210210
#checkIfInitialized() {

src/packages/core/workspace/entity/entity-workspace-data-manager.ts

Lines changed: 41 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,24 @@ export class UmbEntityWorkspaceDataManager<ModelType extends UmbEntityModel>
1111
#persisted = new UmbObjectState<ModelType | undefined>(undefined);
1212
#current = new UmbObjectState<ModelType | undefined>(undefined);
1313

14-
public readonly current = this.#current.asObservable();
15-
16-
constructor(host: UmbControllerHost) {
17-
super(host);
18-
}
14+
/**
15+
* Observable of the persisted data
16+
* @memberof UmbEntityWorkspaceDataManager
17+
*/
18+
public readonly persisted = this.#persisted.asObservable();
1919

20-
createObservablePart<ReturnType>(mappingFunction: MappingFunction<ModelType | undefined, ReturnType>) {
21-
return this.#current.asObservablePart(mappingFunction);
22-
}
20+
/**
21+
* Observable of the current data
22+
* @memberof UmbEntityWorkspaceDataManager
23+
*/
24+
public readonly current = this.#current.asObservable();
2325

2426
/**
2527
* Gets persisted data
2628
* @returns {(ModelType | undefined)}
2729
* @memberof UmbSubmittableWorkspaceDataManager
2830
*/
29-
getPersistedData() {
31+
getPersisted() {
3032
return this.#persisted.getValue();
3133
}
3234

@@ -35,7 +37,7 @@ export class UmbEntityWorkspaceDataManager<ModelType extends UmbEntityModel>
3537
* @param {(ModelType | undefined)} data
3638
* @memberof UmbSubmittableWorkspaceDataManager
3739
*/
38-
setPersistedData(data: ModelType | undefined) {
40+
setPersisted(data: ModelType | undefined) {
3941
this.#persisted.setValue(data);
4042
}
4143

@@ -44,16 +46,27 @@ export class UmbEntityWorkspaceDataManager<ModelType extends UmbEntityModel>
4446
* @param {Partial<ModelType>} partialData
4547
* @memberof UmbSubmittableWorkspaceDataManager
4648
*/
47-
updatePersistedData(partialData: Partial<ModelType>) {
49+
updatePersisted(partialData: Partial<ModelType>) {
4850
this.#persisted.update(partialData);
4951
}
5052

53+
/**
54+
* Creates an observable part of the persisted data
55+
* @template ReturnType
56+
* @param {(MappingFunction<ModelType | undefined, ReturnType>)} mappingFunction
57+
* @returns {*}
58+
* @memberof UmbEntityWorkspaceDataManager
59+
*/
60+
createObservablePartOfPersisted<ReturnType>(mappingFunction: MappingFunction<ModelType | undefined, ReturnType>) {
61+
return this.#persisted.asObservablePart(mappingFunction);
62+
}
63+
5164
/**
5265
* Gets the current data
5366
* @returns {(ModelType | undefined)}
5467
* @memberof UmbSubmittableWorkspaceDataManager
5568
*/
56-
getCurrentData() {
69+
getCurrent() {
5770
return this.#current.getValue();
5871
}
5972

@@ -62,7 +75,7 @@ export class UmbEntityWorkspaceDataManager<ModelType extends UmbEntityModel>
6275
* @param {(ModelType | undefined)} data
6376
* @memberof UmbSubmittableWorkspaceDataManager
6477
*/
65-
setCurrentData(data: ModelType | undefined) {
78+
setCurrent(data: ModelType | undefined) {
6679
this.#current.setValue(data);
6780
}
6881

@@ -71,16 +84,27 @@ export class UmbEntityWorkspaceDataManager<ModelType extends UmbEntityModel>
7184
* @param {Partial<ModelType>} partialData
7285
* @memberof UmbSubmittableWorkspaceDataManager
7386
*/
74-
updateCurrentData(partialData: Partial<ModelType>) {
87+
updateCurrent(partialData: Partial<ModelType>) {
7588
this.#current.update(partialData);
7689
}
7790

91+
/**
92+
* Creates an observable part of the current data
93+
* @template ReturnType
94+
* @param {(MappingFunction<ModelType | undefined, ReturnType>)} mappingFunction
95+
* @returns {*}
96+
* @memberof UmbEntityWorkspaceDataManager
97+
*/
98+
createObservablePartOfCurrent<ReturnType>(mappingFunction: MappingFunction<ModelType | undefined, ReturnType>) {
99+
return this.#current.asObservablePart(mappingFunction);
100+
}
101+
78102
/**
79103
* Checks if there are unpersisted changes
80104
* @returns {*}
81105
* @memberof UmbSubmittableWorkspaceDataManager
82106
*/
83-
hasUnpersistedChanges() {
107+
getHasUnpersistedChanges() {
84108
const persisted = this.#persisted.getValue();
85109
const current = this.#current.getValue();
86110
return jsonStringComparison(persisted, current) === false;
@@ -90,15 +114,15 @@ export class UmbEntityWorkspaceDataManager<ModelType extends UmbEntityModel>
90114
* Resets the current data to the persisted data
91115
* @memberof UmbSubmittableWorkspaceDataManager
92116
*/
93-
resetCurrentData() {
117+
resetCurrent() {
94118
this.#current.setValue(this.#persisted.getValue());
95119
}
96120

97121
/**
98122
* Clears the data
99123
* @memberof UmbSubmittableWorkspaceDataManager
100124
*/
101-
clearData() {
125+
clear() {
102126
this.#persisted.setValue(undefined);
103127
this.#current.setValue(undefined);
104128
}

src/packages/data-type/workspace/data-type-workspace.context.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ export class UmbDataTypeWorkspaceContext
4545
extends UmbEntityDetailWorkspaceContextBase<EntityType, UmbDataTypeDetailRepository>
4646
implements UmbInvariantDatasetWorkspaceContext, UmbRoutableWorkspaceContext
4747
{
48-
readonly name = this._data.createObservablePart((data) => data?.name);
49-
readonly unique = this._data.createObservablePart((data) => data?.unique);
50-
readonly entityType = this._data.createObservablePart((data) => data?.entityType);
48+
readonly name = this._data.createObservablePartOfCurrent((data) => data?.name);
49+
readonly unique = this._data.createObservablePartOfCurrent((data) => data?.unique);
50+
readonly entityType = this._data.createObservablePartOfCurrent((data) => data?.entityType);
5151

52-
readonly propertyEditorUiAlias = this._data.createObservablePart((data) => data?.editorUiAlias);
53-
readonly propertyEditorSchemaAlias = this._data.createObservablePart((data) => data?.editorAlias);
52+
readonly propertyEditorUiAlias = this._data.createObservablePartOfCurrent((data) => data?.editorUiAlias);
53+
readonly propertyEditorSchemaAlias = this._data.createObservablePartOfCurrent((data) => data?.editorAlias);
5454

5555
#properties = new UmbArrayState<PropertyEditorSettingsProperty>([], (x) => x.alias).sortBy(
5656
(a, b) => (a.weight || 0) - (b.weight || 0),
@@ -239,7 +239,7 @@ export class UmbDataTypeWorkspaceContext
239239
#transferConfigDefaultData() {
240240
if (!this.#propertyEditorSchemaSettingsDefaultData || !this.#propertyEditorUISettingsDefaultData) return;
241241

242-
const data = this._data.getCurrentData();
242+
const data = this._data.getCurrent();
243243
if (!data) return;
244244

245245
this.#settingsDefaultData = [
@@ -248,8 +248,8 @@ export class UmbDataTypeWorkspaceContext
248248
] satisfies Array<UmbDataTypePropertyModel>;
249249
// We check for satisfied type, because we will be directly transferring them to become value. Future note, if they are not satisfied, we need to transfer alias and value. [NL]
250250

251-
this._data.updatePersistedData({ values: this.#settingsDefaultData });
252-
this._data.updateCurrentData({ values: this.#settingsDefaultData });
251+
this._data.updatePersisted({ values: this.#settingsDefaultData });
252+
this._data.updateCurrent({ values: this.#settingsDefaultData });
253253
}
254254

255255
public getPropertyDefaultValue(alias: string) {
@@ -261,27 +261,27 @@ export class UmbDataTypeWorkspaceContext
261261
}
262262

263263
getName() {
264-
return this._data.getCurrentData()?.name;
264+
return this._data.getCurrent()?.name;
265265
}
266266

267267
setName(name: string | undefined) {
268-
this._data.updateCurrentData({ name });
268+
this._data.updateCurrent({ name });
269269
}
270270

271271
getPropertyEditorSchemaAlias() {
272-
return this._data.getCurrentData()?.editorAlias;
272+
return this._data.getCurrent()?.editorAlias;
273273
}
274274

275275
setPropertyEditorSchemaAlias(alias?: string) {
276-
this._data.updateCurrentData({ editorAlias: alias });
276+
this._data.updateCurrent({ editorAlias: alias });
277277
}
278278

279279
getPropertyEditorUiAlias() {
280-
return this._data.getCurrentData()?.editorUiAlias;
280+
return this._data.getCurrent()?.editorUiAlias;
281281
}
282282

283283
setPropertyEditorUiAlias(alias?: string) {
284-
this._data.updateCurrentData({ editorUiAlias: alias });
284+
this._data.updateCurrent({ editorUiAlias: alias });
285285
}
286286

287287
/**
@@ -292,14 +292,14 @@ export class UmbDataTypeWorkspaceContext
292292
*/
293293
async propertyValueByAlias<ReturnType = unknown>(propertyAlias: string) {
294294
await this._getDataPromise;
295-
return this._data.createObservablePart(
295+
return this._data.createObservablePartOfCurrent(
296296
(data) => data?.values?.find((x) => x.alias === propertyAlias)?.value as ReturnType,
297297
);
298298
}
299299

300300
getPropertyValue<ReturnType = unknown>(propertyAlias: string) {
301301
return (
302-
(this._data.getCurrentData()?.values?.find((x) => x.alias === propertyAlias)?.value as ReturnType) ??
302+
(this._data.getCurrent()?.values?.find((x) => x.alias === propertyAlias)?.value as ReturnType) ??
303303
(this.getPropertyDefaultValue(propertyAlias) as ReturnType)
304304
);
305305
}
@@ -309,11 +309,11 @@ export class UmbDataTypeWorkspaceContext
309309
await this._getDataPromise;
310310
const entry = { alias: alias, value: value };
311311

312-
const currentData = this._data.getCurrentData();
312+
const currentData = this._data.getCurrent();
313313
if (currentData) {
314314
// TODO: make a partial update method for array of data, (idea/concept, use if this case is getting common)
315315
const newDataSet = appendToFrozenArray(currentData.values || [], entry, (x) => x.alias);
316-
this._data.updateCurrentData({ values: newDataSet });
316+
this._data.updateCurrent({ values: newDataSet });
317317
}
318318
}
319319

src/packages/language/workspace/language/language-workspace.context.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ export class UmbLanguageWorkspaceContext
1919

2020
readonly data = this._data.current;
2121

22-
readonly unique = this._data.createObservablePart((data) => data?.unique);
23-
readonly name = this._data.createObservablePart((data) => data?.name);
22+
readonly unique = this._data.createObservablePartOfCurrent((data) => data?.unique);
23+
readonly name = this._data.createObservablePartOfCurrent((data) => data?.name);
2424

2525
constructor(host: UmbControllerHost) {
2626
super(host, {
@@ -55,23 +55,23 @@ export class UmbLanguageWorkspaceContext
5555
}
5656

5757
setName(name: string) {
58-
this._data.updateCurrentData({ name });
58+
this._data.updateCurrent({ name });
5959
}
6060

6161
setCulture(unique: string) {
62-
this._data.updateCurrentData({ unique });
62+
this._data.updateCurrent({ unique });
6363
}
6464

6565
setMandatory(isMandatory: boolean) {
66-
this._data.updateCurrentData({ isMandatory });
66+
this._data.updateCurrent({ isMandatory });
6767
}
6868

6969
setDefault(isDefault: boolean) {
70-
this._data.updateCurrentData({ isDefault });
70+
this._data.updateCurrent({ isDefault });
7171
}
7272

7373
setFallbackCulture(unique: string) {
74-
this._data.updateCurrentData({ fallbackIsoCode: unique });
74+
this._data.updateCurrent({ fallbackIsoCode: unique });
7575
}
7676
}
7777

0 commit comments

Comments
 (0)