V16/hotfix/ensure self destroy before clean up (#19367)
* move destroy to top * clean up example * use the unprovide method when disconnecting
This commit is contained in:
@@ -45,21 +45,21 @@ export class UmbExampleValidationContextDashboardElement extends UmbLitElement {
|
||||
},
|
||||
'observeValidationMessages',
|
||||
);
|
||||
});
|
||||
|
||||
// Observe all errors
|
||||
this.validation.messages.messagesOfPathAndDescendant('$.form').subscribe((value) => {
|
||||
this.totalErrorCount = [...new Set(value.map((x) => x.path))].length;
|
||||
});
|
||||
// Observe all errors
|
||||
this.observe(this.validation.messages.messagesOfPathAndDescendant('$.form'), (value) => {
|
||||
this.totalErrorCount = [...new Set(value.map((x) => x.path))].length;
|
||||
});
|
||||
|
||||
// Observe errors for tab1, note that we only use part of the full JSONPath
|
||||
this.validation.messages.messagesOfPathAndDescendant('$.form.tab1').subscribe((value) => {
|
||||
this.tab1ErrorCount = [...new Set(value.map((x) => x.path))].length;
|
||||
});
|
||||
// Observe errors for tab1, note that we only use part of the full JSONPath
|
||||
this.observe(this.validation.messages.messagesOfPathAndDescendant('$.form.tab1'), (value) => {
|
||||
this.tab1ErrorCount = [...new Set(value.map((x) => x.path))].length;
|
||||
});
|
||||
|
||||
// Observe errors for tab2, note that we only use part of the full JSONPath
|
||||
this.validation.messages.messagesOfPathAndDescendant('$.form.tab2').subscribe((value) => {
|
||||
this.tab2ErrorCount = [...new Set(value.map((x) => x.path))].length;
|
||||
});
|
||||
// Observe errors for tab2, note that we only use part of the full JSONPath
|
||||
this.observe(this.validation.messages.messagesOfPathAndDescendant('$.form.tab2'), (value) => {
|
||||
this.tab2ErrorCount = [...new Set(value.map((x) => x.path))].length;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -219,8 +219,7 @@ export class UmbContextConsumer<
|
||||
this.#raf = undefined;
|
||||
}
|
||||
|
||||
this.#instance = undefined;
|
||||
this.#callback?.(undefined);
|
||||
this.#unprovide();
|
||||
if (this.#promiseRejecter) {
|
||||
const hostElement = this._retrieveHost();
|
||||
this.#promiseRejecter(
|
||||
|
||||
@@ -454,6 +454,7 @@ export class UmbValidationController extends UmbControllerBase implements UmbVal
|
||||
}
|
||||
|
||||
override destroy(): void {
|
||||
super.destroy();
|
||||
this.#validationMode = false;
|
||||
if (this.#inUnprovidingState === true) {
|
||||
return;
|
||||
@@ -468,6 +469,5 @@ export class UmbValidationController extends UmbControllerBase implements UmbVal
|
||||
this.#localMessages = undefined;
|
||||
this.#parentMessages = undefined;
|
||||
this.#parent = undefined;
|
||||
super.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ test('can create content with the document link', {tag: '@smoke'}, async ({umbra
|
||||
await umbracoUi.content.clickAddMultiURLPickerButton();
|
||||
await umbracoUi.content.clickDocumentLinkButton();
|
||||
await umbracoUi.content.selectLinkByName(linkedDocumentName);
|
||||
await umbracoUi.content.clickButtonWithName('Choose');
|
||||
await umbracoUi.content.clickChooseModalButton();
|
||||
await umbracoUi.content.clickAddButton();
|
||||
await umbracoUi.content.clickSaveButton();
|
||||
|
||||
@@ -87,7 +87,7 @@ test('can publish content with the document link', async ({umbracoApi, umbracoUi
|
||||
await umbracoUi.content.clickSaveAndPublishButton();
|
||||
|
||||
// Assert
|
||||
//await umbracoUi.content.doesSuccessNotificationsHaveCount(2);
|
||||
//await umbracoUi.content.doesSuccessNotificationsHaveCount(2);
|
||||
await umbracoUi.content.isErrorNotificationVisible(false);
|
||||
expect(await umbracoApi.document.doesNameExist(contentName)).toBeTruthy();
|
||||
const contentData = await umbracoApi.document.getByName(contentName);
|
||||
|
||||
Reference in New Issue
Block a user