UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

115 lines (113 loc) 3.96 kB
/** * 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/ */ "use strict"; 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 };