devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
50 lines (49 loc) • 1.84 kB
JavaScript
/**
* DevExtreme (esm/__internal/ui/list/list.edit.decorator.static.js)
* Version: 25.2.7
* Build date: Tue May 05 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import $ from "../../../core/renderer";
import Button from "../../ui/button/wrapper";
import EditDecorator from "../../ui/list/list.edit.decorator";
import {
register as registerDecorator
} from "../../ui/list/list.edit.decorator_registry";
const STATIC_DELETE_BUTTON_CONTAINER_CLASS = "dx-list-static-delete-button-container";
const STATIC_DELETE_BUTTON_CLASS = "dx-list-static-delete-button";
class EditDecoratorStatic extends EditDecorator {
afterBag(config) {
const {
$itemElement: $itemElement,
$container: $container
} = config;
const $button = $("<div>").addClass(STATIC_DELETE_BUTTON_CLASS);
this._list._createComponent($button, Button, {
icon: "remove",
onClick: args => {
const {
event: event
} = args;
null === event || void 0 === event || event.stopPropagation();
this._deleteItem($itemElement)
},
integrationOptions: {},
elementAttr: {
role: null,
"aria-label": null
},
tabIndex: -1
});
$container.addClass(STATIC_DELETE_BUTTON_CONTAINER_CLASS).append($button)
}
_deleteItem($itemElement) {
if ($itemElement.is(".dx-state-disabled, .dx-state-disabled *")) {
return
}
this._list.deleteItem($itemElement.get(0))
}
}
registerDecorator("delete", "static", EditDecoratorStatic);