UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

70 lines (69 loc) 2.42 kB
/** * DevExtreme (esm/__internal/ui/splitter/splitter_item.js) * Version: 24.2.7 * Build date: Mon Apr 28 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import Guid from "../../../core/guid"; import $ from "../../../core/renderer"; import CollectionWidgetItem from "../../ui/collection/item"; import ResizeHandle from "./resize_handle"; class SplitterItem extends CollectionWidgetItem { constructor($element, options, rawData) { super($element, options, rawData); this._owner = options.owner } _renderResizeHandle() { if (this._shouldHaveResizeHandle()) { const id = `dx_${new Guid}`; this._setIdAttr(id); const config = this._owner._getResizeHandleConfig(id); this._resizeHandle = this._owner._createComponent($("<div>"), ResizeHandle, config); if (this._resizeHandle && this._$element) { $(this._resizeHandle.element()).insertAfter(this._$element) } } } _shouldHaveResizeHandle() { var _this$_rawData; return false !== (null === (_this$_rawData = this._rawData) || void 0 === _this$_rawData ? void 0 : _this$_rawData.visible) && !this.isLast() } updateResizeHandle() { if (this._shouldHaveResizeHandle()) { if (this.getResizeHandle()) { return } this._renderResizeHandle() } else { this._removeIdAttr(); this._removeResizeHandle() } } _setIdAttr(id) { this._$element.attr("id", id) } _removeIdAttr() { this._$element.attr("id", null) } getIndex() { return this._owner._getIndexByItemData(this._rawData) } getResizeHandle() { return this._resizeHandle } _removeResizeHandle() { var _this$getResizeHandle; null === (_this$getResizeHandle = this.getResizeHandle()) || void 0 === _this$getResizeHandle || _this$getResizeHandle.$element().remove(); delete this._resizeHandle } isLast() { return this._owner._isLastVisibleItem(this.getIndex()) } _dispose() { this._removeResizeHandle(); super._dispose() } } export default SplitterItem;