diff --git a/docs/modules/migration/partials/migration-guide-26.2.adoc b/docs/modules/migration/partials/migration-guide-26.2.adoc index a48b40e16b..3c0e6442fc 100644 --- a/docs/modules/migration/partials/migration-guide-26.2.adoc +++ b/docs/modules/migration/partials/migration-guide-26.2.adoc @@ -209,4 +209,30 @@ tree.visitNodes(node => { }); ---- +== HybridManager API improvements (Scout JS) +The `HybridManager` provides API to dispose formerly created widgets. Former implementations calling the hybrid Action _scout.DisposeWidgets_ manually using the remote ids can be migrated. + +.Old: Disposing a `Widget` using the hybrid action _scout.DisposeWidgets_. +[source,typescript,opts=novalidate] +---- +// create widget +const hybridManager = await HybridManager.get(this.session, true); +const id = hybridManager.callAction('example.CreateMyFancyWidget'); +const myFancyWidget = (await hybridManager.when(`widgetAdd:${id}`)).widget; + +// dispose widget +hybridManager.callAction('scout.DisposeWidgets', scout.create(DisposeWidgetsHybridActionDo, {ids: [id]})); +---- + +.New: Disposing a `Widget` using `HybridManager.disposeWidgets`. +[source,typescript,opts=novalidate] +---- +// create widget +const hybridManager = await HybridManager.get(this.session, true); +const id = hybridManager.callAction('example.CreateMyFancyWidget'); +const myFancyWidget = (await hybridManager.when(`widgetAdd:${id}`)).widget; + +// dispose widget +hybridManager.disposeWidgets(myFancyWidget); +---- diff --git a/docs/modules/releasenotes/partials/release-notes-26.2.adoc b/docs/modules/releasenotes/partials/release-notes-26.2.adoc index b3baee2efa..f4de7c388d 100644 --- a/docs/modules/releasenotes/partials/release-notes-26.2.adoc +++ b/docs/modules/releasenotes/partials/release-notes-26.2.adoc @@ -41,3 +41,12 @@ To support this, it now uses the `TreeVisitResult`, so you can now either skip v To make it consistent with other visitor functions like `Widget.visitChildren`, returning `true` now stops visiting completely instead of just skipping the subtree. This means you need to check your visitors according to the xref:migration-guide.adoc#tree-scout-js-api-of-visitnodes-changed[Migration Guide]. + +== HybridManager API improvements (Scout JS) + +The `HybridManager` provides API to dispose formerly created widgets. The widgets passed to `HybridManager.disposeWidgets` are collected and disposed in a single hybrid action. + +[source,typescript,opts=novalidate] +---- +HybridManager.get().disposeWidgets(widgets); +----