devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
115 lines (113 loc) • 3.96 kB
JavaScript
/**
* DevExtreme (cjs/__internal/grids/pivot_grid/data_area/m_data_area.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/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.DataArea = void 0;
var _renderer = _interopRequireDefault(require("../../../../core/renderer"));
var _m_support = _interopRequireDefault(require("../../../core/utils/m_support"));
var _m_area_item = require("../area_item/m_area_item");
var _m_widget_utils = require("../m_widget_utils");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
const PIVOTGRID_AREA_CLASS = "dx-pivotgrid-area";
const PIVOTGRID_AREA_DATA_CLASS = "dx-pivotgrid-area-data";
const PIVOTGRID_TOTAL_CLASS = "dx-total";
const PIVOTGRID_GRAND_TOTAL_CLASS = "dx-grandtotal";
const PIVOTGRID_ROW_TOTAL_CLASS = "dx-row-total";
const DataArea = exports.DataArea = _m_area_item.AreaItem.inherit({
_getAreaName: () => "data",
_createGroupElement: () => (0, _renderer.default)("<div>").addClass("dx-pivotgrid-area").addClass("dx-pivotgrid-area-data").css("borderTopWidth", 0),
_applyCustomStyles(options) {
const {
cell: cell
} = options;
const {
classArray: classArray
} = options;
if ("T" === cell.rowType || "T" === cell.columnType) {
classArray.push("dx-total")
}
if ("GT" === cell.rowType || "GT" === cell.columnType) {
classArray.push("dx-grandtotal")
}
if ("T" === cell.rowType || "GT" === cell.rowType) {
classArray.push("dx-row-total")
}
if (options.rowIndex === options.rowsCount - 1) {
options.cssArray.push("border-bottom: 0px")
}
this.callBase(options)
},
_moveFakeTable(scrollPos) {
this._moveFakeTableHorizontally(scrollPos.x);
this._moveFakeTableTop(scrollPos.y);
this.callBase()
},
renderScrollable() {
this._groupElement.dxScrollable({
useNative: this.getUseNativeValue(),
useSimulatedScrollbar: false,
rtlEnabled: this.component.option("rtlEnabled"),
bounceEnabled: false,
updateManually: true
})
},
getUseNativeValue() {
const {
useNative: useNative
} = this.component.option("scrolling");
return "auto" === useNative ? !!_m_support.default.nativeScrolling : !!useNative
},
getScrollbarWidth() {
return this.getUseNativeValue() ? (0, _m_widget_utils.calculateScrollbarWidth)() : 0
},
updateScrollableOptions(_ref) {
let {
direction: direction,
rtlEnabled: rtlEnabled
} = _ref;
const scrollable = this._getScrollable();
scrollable.option("useNative", this.getUseNativeValue());
scrollable.option({
direction: direction,
rtlEnabled: rtlEnabled
})
},
getScrollableDirection(horizontal, vertical) {
if (horizontal && !vertical) {
return "horizontal"
}
if (!horizontal && vertical) {
return "vertical"
}
return "both"
},
reset() {
this.callBase();
if (this._virtualContent) {
this._virtualContent.parent().css("height", "auto")
}
},
setVirtualContentParams(params) {
this.callBase(params);
this._virtualContent.parent().css("height", params.height);
this._setTableCss({
top: params.top,
left: params.left
})
}
});
var _default = exports.default = {
DataArea: DataArea
};