don't allow to construct empty contexts

This commit is contained in:
Mads Rasmussen
2022-08-08 10:39:16 +02:00
parent b25c305787
commit d145a9e25c
5 changed files with 18 additions and 8 deletions

View File

@@ -11,7 +11,7 @@ export class UmbDataTypeContext {
});
public readonly data: Observable<DataTypeEntity> = this._data.asObservable();
constructor(dataType?: DataTypeEntity) {
constructor(dataType: DataTypeEntity) {
if (!dataType) return;
this._data.next(dataType);
}

View File

@@ -38,7 +38,7 @@ export class UmbEditorDataTypeElement extends UmbContextProviderMixin(UmbContext
@state()
private _saveButtonState?: UUIButtonState;
private _dataTypeContext = new UmbDataTypeContext();
private _dataTypeContext?: UmbDataTypeContext;
private _dataTypeContextSubscription?: Subscription;
private _dataTypeStore?: UmbDataTypeStore;
@@ -70,7 +70,12 @@ export class UmbEditorDataTypeElement extends UmbContextProviderMixin(UmbContext
this._dataTypeContextSubscription?.unsubscribe();
this._dataTypeContext?.update(dataType);
if (!this._dataTypeContext) {
this._dataTypeContext = new UmbDataTypeContext(dataType);
this.provideContext('umbDataTypeContext', this._dataTypeContext);
} else {
this._dataTypeContext.update(dataType);
}
this._dataTypeContextSubscription = this._dataTypeContext.data.pipe(distinctUntilChanged()).subscribe((data) => {
this._dataType = data;

View File

@@ -33,7 +33,7 @@ export class UmbEditorViewDataTypeEditElement extends UmbContextConsumerMixin(Li
this._usePropertyEditorUIs();
});
this.consumeContext('umbDataType', (dataTypeContext) => {
this.consumeContext('umbDataTypeContext', (dataTypeContext) => {
this._dataTypeContext = dataTypeContext;
this._useDataType();
});

View File

@@ -38,7 +38,7 @@ export class UmbEditorDocumentTypeElement extends UmbContextProviderMixin(UmbCon
@state()
private _saveButtonState?: UUIButtonState;
private _documentTypeContext = new UmbDocumentTypeContext();
private _documentTypeContext?: UmbDocumentTypeContext;
private _documentTypeContextSubscription?: Subscription;
private _documentTypeStore?: UmbDocumentTypeStore;
@@ -72,7 +72,12 @@ export class UmbEditorDocumentTypeElement extends UmbContextProviderMixin(UmbCon
this._documentTypeContextSubscription?.unsubscribe();
this._documentTypeContext?.update(documentType);
if (!this._documentTypeContext) {
this._documentTypeContext = new UmbDocumentTypeContext(documentType);
this.provideContext('umbDocumentTypeContext', this._documentTypeContext);
} else {
this._documentTypeContext.update(documentType);
}
this._documentTypeContextSubscription = this._documentTypeContext.data
.pipe(distinctUntilChanged())

View File

@@ -23,7 +23,7 @@ export class UmbEditorViewDocumentTypeDesignElement extends UmbContextConsumerMi
constructor() {
super();
this.consumeContext('umbDocumentType', (documentTypeContext) => {
this.consumeContext('umbDocumentTypeContext', (documentTypeContext) => {
this._documentTypeContext = documentTypeContext;
this._useDocumentType();
});
@@ -45,7 +45,7 @@ export class UmbEditorViewDocumentTypeDesignElement extends UmbContextConsumerMi
}
render() {
return html`<div>Design ${this._documentType?.name}</div>`;
return html`<div>Design of ${this._documentType?.name}</div>`;
}
}