Provider interface for returning instances of components' view deleters. Registers into ABCS with the Component Registration API.
Deleter is called when a view (or whole component) is to be removed from a page. ABCS gives you a chance to clean up any artifacts created by the view's creator or property inspector.
If your component created any artifacts that need to be cleaned up implement this interface and return an instance of Deleter in DeleterProvider.getDeleter.
When deleting a view ABCS iterates over registered providers and calls
the first deleter returned from DeleterProvider.getDeleter.
That means your provider may be asked to return a deleter for an unrelated
view in which case you are to return undefined
and ABCS will
continue searching for the proper view deleter.
- Version:
- 16.3.5
- Source:
- See:
Example
define([
'myComponent/MyDeleter'
], function (
Deleter
) {
'use strict';
var DeleterProvider = function () {
};
DeleterProvider.prototype.getDeleter = function (view) {
if (view.getType() === 'my-view-type' || view.getType() === 'my-other-view-type') {
// return a deleter instance understanding and capable of
// cleaning artefacts of views of type 'my-view-type' and 'my-other-view-type'
return new Deleter();
}
};
return new DeleterProvider();
});
Methods
getDeleter(view) → {components.dt/js/spi/deleters/Deleter|undefined}
stable API
Get the component's view deleter that is responsible for full removal of the view and parts of the model that need some cleanup.
Parameters:
Name | Type | Description |
---|---|---|
view |
pages.dt/js/api/View | view to be deleted. |
- Version:
- 16.3.5
- Source:
Returns:
deleter instance
for the given view
or undefined
if the component
does not provide a deleter for the view
.
- Type
- components.dt/js/spi/deleters/Deleter | undefined