devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
77 lines (75 loc) • 2.74 kB
JavaScript
/**
* DevExtreme (cjs/__internal/ui/splitter/splitter_item.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _guid = _interopRequireDefault(require("../../../core/guid"));
var _renderer = _interopRequireDefault(require("../../../core/renderer"));
var _m_item = _interopRequireDefault(require("../../ui/collection/m_item"));
var _resize_handle = _interopRequireDefault(require("./resize_handle"));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
class SplitterItem extends _m_item.default {
constructor($element, options, rawData) {
super($element, options, rawData);
this._owner = options.owner
}
_renderResizeHandle() {
if (this._shouldHaveResizeHandle()) {
const id = `dx_${new _guid.default}`;
this._setIdAttr(id);
const config = this._owner._getResizeHandleConfig(id);
this._resizeHandle = this._owner._createComponent((0, _renderer.default)("<div>"), _resize_handle.default, config);
if (this._resizeHandle && this._$element) {
(0, _renderer.default)(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())
}
}
var _default = exports.default = SplitterItem;