| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164 |
- /**
- * DevExtreme (ui/pivot_grid/ui.pivot_grid.js)
- * Version: 19.1.16
- * Build date: Tue Oct 18 2022
- *
- * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
- * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
- */
- "use strict";
- var _renderer = require("../../core/renderer");
- var _renderer2 = _interopRequireDefault(_renderer);
- var _window = require("../../core/utils/window");
- var _browser = require("../../core/utils/browser");
- var _events_engine = require("../../events/core/events_engine");
- var _events_engine2 = _interopRequireDefault(_events_engine);
- var _component_registrator = require("../../core/component_registrator");
- var _component_registrator2 = _interopRequireDefault(_component_registrator);
- var _dom = require("../../core/utils/dom");
- var _string = require("../../core/utils/string");
- var _common = require("../../core/utils/common");
- var _iterator = require("../../core/utils/iterator");
- var _type = require("../../core/utils/type");
- var _extend = require("../../core/utils/extend");
- var _click = require("../../events/click");
- var _message = require("../../localization/message");
- var _ui = require("../widget/ui.widget");
- var _ui2 = _interopRequireDefault(_ui);
- var _utils = require("../../events/utils");
- var _uiGrid_core = require("../grid_core/ui.grid_core.utils");
- var _uiPivot_grid = require("./ui.pivot_grid.utils");
- var _uiPivot_grid2 = require("./ui.pivot_grid.data_controller");
- var _data_source = require("./data_source");
- var _data_source2 = _interopRequireDefault(_data_source);
- var _uiPivot_grid3 = require("./ui.pivot_grid.data_area");
- var _uiPivot_grid4 = require("./ui.pivot_grid.headers_area");
- var _size = require("../../core/utils/size");
- var _uiPivot_grid5 = require("./ui.pivot_grid.fields_area");
- var _uiPivot_grid6 = require("./ui.pivot_grid.field_chooser");
- var _uiPivot_grid7 = _interopRequireDefault(_uiPivot_grid6);
- var _uiPivot_grid8 = require("./ui.pivot_grid.field_chooser_base");
- var _uiPivot_grid9 = _interopRequireDefault(_uiPivot_grid8);
- var _uiPivot_grid10 = require("./ui.pivot_grid.export");
- var _uiPivot_grid11 = require("./ui.pivot_grid.chart_integration");
- var _uiPivot_grid12 = _interopRequireDefault(_uiPivot_grid11);
- var _popup = require("../popup");
- var _popup2 = _interopRequireDefault(_popup);
- var _context_menu = require("../context_menu");
- var _context_menu2 = _interopRequireDefault(_context_menu);
- var _deferred = require("../../core/utils/deferred");
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- "default": obj
- }
- }
- var window = (0, _window.getWindow)();
- var DATA_AREA_CELL_CLASS = "dx-area-data-cell";
- var ROW_AREA_CELL_CLASS = "dx-area-row-cell";
- var COLUMN_AREA_CELL_CLASS = "dx-area-column-cell";
- var DESCRIPTION_AREA_CELL_CLASS = "dx-area-description-cell";
- var BORDERS_CLASS = "dx-pivotgrid-border";
- var PIVOTGRID_CLASS = "dx-pivotgrid";
- var ROW_LINES_CLASS = "dx-row-lines";
- var BOTTOM_ROW_CLASS = "dx-bottom-row";
- var BOTTOM_BORDER_CLASS = "dx-bottom-border";
- var FIELDS_CONTAINER_CLASS = "dx-pivotgrid-fields-container";
- var FIELDS_CLASS = "dx-area-fields";
- var FIELD_CHOOSER_POPUP_CLASS = "dx-fieldchooser-popup";
- var INCOMPRESSIBLE_FIELDS_CLASS = "dx-incompressible-fields";
- var OVERFLOW_HIDDEN_CLASS = "dx-overflow-hidden";
- var TR = "<tr>";
- var TD = "<td>";
- var DIV = "<div>";
- var TEST_HEIGHT = 66666;
- function getArraySum(array) {
- var sum = 0;
- (0, _iterator.each)(array, function(_, value) {
- sum += value || 0
- });
- return sum
- }
- function adjustSizeArray(sizeArray, space) {
- var delta = space / sizeArray.length;
- for (var i = 0; i < sizeArray.length; i++) {
- sizeArray[i] -= delta
- }
- }
- function unsubscribeScrollEvents(area) {
- area.off("scroll").off("stop")
- }
- function subscribeToScrollEvent(area, handler) {
- unsubscribeScrollEvents(area);
- area.on("scroll", handler).on("stop", handler)
- }
- var scrollBarInfoCache = {};
- function getScrollBarInfo(useNativeScrolling) {
- if (scrollBarInfoCache[useNativeScrolling]) {
- return scrollBarInfoCache[useNativeScrolling]
- }
- var scrollBarWidth = 0;
- var options = {};
- var container = (0, _renderer2.default)(DIV).css({
- position: "absolute",
- visibility: "hidden",
- top: -1e3,
- left: -1e3,
- width: 100,
- height: 100
- }).appendTo("body");
- var content = (0, _renderer2.default)("<p>").css({
- width: "100%",
- height: 200
- }).appendTo(container);
- if ("auto" !== useNativeScrolling) {
- options.useNative = !!useNativeScrolling;
- options.useSimulatedScrollbar = !useNativeScrolling
- }
- container.dxScrollable(options);
- var scrollBarUseNative = container.dxScrollable("instance").option("useNative");
- scrollBarWidth = scrollBarUseNative ? container.width() - content.width() : 0;
- container.remove();
- scrollBarInfoCache[useNativeScrolling] = {
- scrollBarWidth: scrollBarWidth,
- scrollBarUseNative: scrollBarUseNative
- };
- return scrollBarInfoCache[useNativeScrolling]
- }
- function getCommonBorderWidth(elements, direction) {
- var borderStyleNames = "width" === direction ? ["borderLeftWidth", "borderRightWidth"] : ["borderTopWidth", "borderBottomWidth"];
- var width = 0;
- (0, _iterator.each)(elements, function(_, elem) {
- var computedStyle = window.getComputedStyle(elem.get(0));
- borderStyleNames.forEach(function(borderStyleName) {
- width += parseFloat(computedStyle[borderStyleName]) || 0
- })
- });
- return width
- }
- function clickedOnFieldsArea($targetElement) {
- return $targetElement.closest("." + FIELDS_CLASS).length || $targetElement.find("." + FIELDS_CLASS).length
- }
- var PivotGrid = _ui2.default.inherit({
- _getDefaultOptions: function() {
- return (0, _extend.extend)(this.callBase(), {
- scrolling: {
- timeout: 300,
- renderingThreshold: 150,
- minTimeout: 10,
- mode: "standard",
- useNative: "auto",
- removeInvisiblePages: true,
- virtualRowHeight: 50,
- virtualColumnWidth: 100
- },
- encodeHtml: true,
- dataSource: null,
- activeStateEnabled: false,
- fieldChooser: {
- minWidth: 250,
- minHeight: 250,
- enabled: true,
- allowSearch: false,
- searchTimeout: 500,
- layout: 0,
- title: (0, _message.format)("dxPivotGrid-fieldChooserTitle"),
- width: 600,
- height: 600,
- applyChangesMode: "instantly"
- },
- onContextMenuPreparing: null,
- allowSorting: false,
- allowSortingBySummary: false,
- allowFiltering: false,
- allowExpandAll: false,
- wordWrapEnabled: true,
- fieldPanel: {
- showColumnFields: true,
- showFilterFields: true,
- showDataFields: true,
- showRowFields: true,
- allowFieldDragging: true,
- visible: false,
- texts: {
- columnFieldArea: (0, _message.format)("dxPivotGrid-columnFieldArea"),
- rowFieldArea: (0, _message.format)("dxPivotGrid-rowFieldArea"),
- filterFieldArea: (0, _message.format)("dxPivotGrid-filterFieldArea"),
- dataFieldArea: (0, _message.format)("dxPivotGrid-dataFieldArea")
- }
- },
- dataFieldArea: "column",
- "export": {
- enabled: false,
- fileName: "PivotGrid",
- proxyUrl: void 0,
- ignoreExcelErrors: true
- },
- showRowTotals: true,
- showRowGrandTotals: true,
- showColumnTotals: true,
- showColumnGrandTotals: true,
- hideEmptySummaryCells: true,
- showTotalsPrior: "none",
- rowHeaderLayout: "standard",
- loadPanel: {
- enabled: true,
- text: (0, _message.format)("Loading"),
- width: 200,
- height: 70,
- showIndicator: true,
- indicatorSrc: "",
- showPane: true
- },
- texts: {
- grandTotal: (0, _message.format)("dxPivotGrid-grandTotal"),
- total: (0, _message.getFormatter)("dxPivotGrid-total"),
- noData: (0, _message.format)("dxDataGrid-noDataText"),
- showFieldChooser: (0, _message.format)("dxPivotGrid-showFieldChooser"),
- expandAll: (0, _message.format)("dxPivotGrid-expandAll"),
- collapseAll: (0, _message.format)("dxPivotGrid-collapseAll"),
- sortColumnBySummary: (0, _message.getFormatter)("dxPivotGrid-sortColumnBySummary"),
- sortRowBySummary: (0, _message.getFormatter)("dxPivotGrid-sortRowBySummary"),
- removeAllSorting: (0, _message.format)("dxPivotGrid-removeAllSorting"),
- exportToExcel: (0, _message.format)("dxDataGrid-exportToExcel"),
- dataNotAvailable: (0, _message.format)("dxPivotGrid-dataNotAvailable")
- },
- onCellClick: null,
- onCellPrepared: null,
- showBorders: false,
- stateStoring: {
- enabled: false,
- storageKey: null,
- type: "localStorage",
- customLoad: null,
- customSave: null,
- savingTimeout: 2e3
- },
- onExpandValueChanging: null,
- renderCellCountLimit: 2e4,
- onExporting: null,
- onExported: null,
- onFileSaving: null,
- headerFilter: {
- width: 252,
- height: 325,
- allowSearch: false,
- showRelevantValues: false,
- searchTimeout: 500,
- texts: {
- emptyValue: (0, _message.format)("dxDataGrid-headerFilterEmptyValue"),
- ok: (0, _message.format)("dxDataGrid-headerFilterOK"),
- cancel: (0, _message.format)("dxDataGrid-headerFilterCancel")
- }
- }
- })
- },
- _getDataControllerOptions: function() {
- var that = this;
- return {
- component: that,
- dataSource: that.option("dataSource"),
- texts: that.option("texts"),
- showRowTotals: that.option("showRowTotals"),
- showRowGrandTotals: that.option("showRowGrandTotals"),
- showColumnTotals: that.option("showColumnTotals"),
- showTotalsPrior: that.option("showTotalsPrior"),
- showColumnGrandTotals: that.option("showColumnGrandTotals"),
- dataFieldArea: that.option("dataFieldArea"),
- rowHeaderLayout: that.option("rowHeaderLayout"),
- hideEmptySummaryCells: that.option("hideEmptySummaryCells"),
- onFieldsPrepared: function(fields) {
- (0, _iterator.each)(fields, function(index, field) {
- (0, _iterator.each)(["allowSorting", "allowSortingBySummary", "allowFiltering", "allowExpandAll"], function(_, optionName) {
- if (void 0 === field[optionName]) {
- (0, _uiPivot_grid.setFieldProperty)(field, optionName, that.option(optionName))
- }
- })
- })
- }
- }
- },
- _initDataController: function() {
- var that = this;
- that._dataController && that._dataController.dispose();
- that._dataController = new _uiPivot_grid2.DataController(that._getDataControllerOptions());
- if ((0, _window.hasWindow)()) {
- that._dataController.changed.add(function() {
- that._render()
- })
- }
- that._dataController.scrollChanged.add(function(options) {
- that._scrollLeft = options.left;
- that._scrollTop = options.top
- });
- that._dataController.loadingChanged.add(function(isLoading) {
- that._updateLoading()
- });
- that._dataController.progressChanged.add(that._updateLoading.bind(that));
- that._dataController.dataSourceChanged.add(function() {
- that._trigger("onChanged")
- });
- var expandValueChanging = that.option("onExpandValueChanging");
- if (expandValueChanging) {
- that._dataController.expandValueChanging.add(function(e) {
- expandValueChanging(e)
- })
- }
- },
- _init: function() {
- var that = this;
- that.callBase();
- that._initDataController();
- that._scrollLeft = that._scrollTop = null;
- that._initActions()
- },
- _initActions: function() {
- var that = this;
- that._actions = {
- onChanged: that._createActionByOption("onChanged"),
- onContextMenuPreparing: that._createActionByOption("onContextMenuPreparing"),
- onCellClick: that._createActionByOption("onCellClick"),
- onExporting: that._createActionByOption("onExporting"),
- onExported: that._createActionByOption("onExported"),
- onFileSaving: that._createActionByOption("onFileSaving"),
- onCellPrepared: that._createActionByOption("onCellPrepared")
- }
- },
- _trigger: function(eventName, eventArg) {
- this._actions[eventName](eventArg)
- },
- _optionValuesEqual: function(name, oldValue, newValue) {
- if ("dataSource" === name && newValue instanceof _data_source2.default && oldValue instanceof _data_source2.default) {
- return newValue === oldValue
- }
- return this.callBase.apply(this, arguments)
- },
- _optionChanged: function(args) {
- var that = this;
- switch (args.name) {
- case "dataSource":
- case "allowSorting":
- case "allowFiltering":
- case "allowExpandAll":
- case "allowSortingBySummary":
- case "scrolling":
- case "stateStoring":
- that._initDataController();
- that._fieldChooserPopup.hide();
- that._renderFieldChooser();
- that._invalidate();
- break;
- case "texts":
- case "showTotalsPrior":
- case "showRowTotals":
- case "showRowGrandTotals":
- case "showColumnTotals":
- case "showColumnGrandTotals":
- case "hideEmptySummaryCells":
- case "dataFieldArea":
- that._dataController.updateViewOptions(that._getDataControllerOptions());
- break;
- case "useNativeScrolling":
- case "encodeHtml":
- case "renderCellCountLimit":
- break;
- case "rtlEnabled":
- that.callBase(args);
- that._renderFieldChooser();
- that._renderContextMenu();
- (0, _window.hasWindow)() && that._renderLoadPanel(that._dataArea.groupElement(), that.$element());
- that._invalidate();
- break;
- case "export":
- that._renderDescriptionArea();
- break;
- case "onExpandValueChanging":
- break;
- case "onCellClick":
- case "onContextMenuPreparing":
- case "onExporting":
- case "onExported":
- case "onFileSaving":
- case "onCellPrepared":
- that._actions[args.name] = that._createActionByOption(args.name);
- break;
- case "fieldChooser":
- that._renderFieldChooser();
- that._renderDescriptionArea();
- break;
- case "loadPanel":
- if ((0, _window.hasWindow)()) {
- that._renderLoadPanel(that._dataArea.groupElement(), that.$element());
- that._invalidate()
- }
- break;
- case "fieldPanel":
- that._renderDescriptionArea();
- that._invalidate();
- break;
- case "headerFilter":
- that._renderFieldChooser();
- that._invalidate();
- break;
- case "showBorders":
- that._tableElement().toggleClass(BORDERS_CLASS, !!args.value);
- that.updateDimensions();
- break;
- case "wordWrapEnabled":
- that._tableElement().toggleClass("dx-word-wrap", !!args.value);
- that.updateDimensions();
- break;
- case "rowHeaderLayout":
- that._tableElement().find("." + ROW_AREA_CELL_CLASS).toggleClass("dx-area-tree-view", "tree" === args.value);
- that._dataController.updateViewOptions(that._getDataControllerOptions());
- break;
- case "height":
- case "width":
- that._hasHeight = null;
- that.callBase(args);
- that.resize();
- break;
- default:
- that.callBase(args)
- }
- },
- _updateScrollPosition: function(columnsArea, rowsArea, dataArea) {
- var that = this;
- var scrollTop;
- var scrollLeft;
- var scrolled = that._scrollTop || that._scrollLeft;
- if (that._scrollUpdating) {
- return
- }
- that._scrollUpdating = true;
- if (rowsArea && !rowsArea.hasScroll() && that._hasHeight) {
- that._scrollTop = null
- }
- if (columnsArea && !columnsArea.hasScroll()) {
- that._scrollLeft = null
- }
- if (null !== that._scrollTop || null !== that._scrollLeft || scrolled || that.option("rtlEnabled")) {
- scrollTop = that._scrollTop || 0;
- scrollLeft = that._scrollLeft || 0;
- dataArea.scrollTo({
- x: scrollLeft,
- y: scrollTop
- });
- columnsArea.scrollTo(scrollLeft);
- rowsArea.scrollTo(scrollTop);
- that._dataController.updateWindowScrollPosition(that._scrollTop)
- }
- that._scrollUpdating = false
- },
- _subscribeToEvents: function(columnsArea, rowsArea, dataArea) {
- var that = this;
- var scrollHandler = function(e) {
- var scrollOffset = e.scrollOffset;
- var leftOffset = (0, _type.isDefined)(scrollOffset.left) ? scrollOffset.left : that._scrollLeft;
- var topOffset = (0, _type.isDefined)(scrollOffset.top) && that._hasHeight ? scrollOffset.top : that._scrollTop;
- if ((that._scrollLeft || 0) !== (leftOffset || 0) || (that._scrollTop || 0) !== (topOffset || 0)) {
- that._scrollLeft = leftOffset;
- that._scrollTop = topOffset;
- that._updateScrollPosition(columnsArea, rowsArea, dataArea);
- if ("virtual" === that.option("scrolling.mode")) {
- that._dataController.setViewportPosition(that._scrollLeft, that._scrollTop)
- }
- }
- };
- (0, _iterator.each)([columnsArea, rowsArea, dataArea], function(_, area) {
- subscribeToScrollEvent(area, scrollHandler)
- });
- !that._hasHeight && that._dataController.subscribeToWindowScrollEvents(dataArea.groupElement())
- },
- _clean: _common.noop,
- _needDelayResizing: function(cellsInfo) {
- var cellsCount = cellsInfo.length * (cellsInfo.length ? cellsInfo[0].length : 0);
- return cellsCount > this.option("renderCellCountLimit")
- },
- _renderFieldChooser: function() {
- var that = this;
- var container = that._pivotGridContainer;
- var fieldChooserOptions = that.option("fieldChooser") || {};
- var toolbarItems = "onDemand" === fieldChooserOptions.applyChangesMode ? [{
- toolbar: "bottom",
- location: "after",
- widget: "dxButton",
- options: {
- text: (0, _message.format)("OK"),
- onClick: function(e) {
- that._fieldChooserPopup.$content().dxPivotGridFieldChooser("applyChanges");
- that._fieldChooserPopup.hide()
- }
- }
- }, {
- toolbar: "bottom",
- location: "after",
- widget: "dxButton",
- options: {
- text: (0, _message.format)("Cancel"),
- onClick: function(e) {
- that._fieldChooserPopup.hide()
- }
- }
- }] : [];
- var fieldChooserComponentOptions = {
- layout: fieldChooserOptions.layout,
- texts: fieldChooserOptions.texts || {},
- dataSource: that.getDataSource(),
- allowSearch: fieldChooserOptions.allowSearch,
- searchTimeout: fieldChooserOptions.searchTimeout,
- width: void 0,
- height: void 0,
- headerFilter: that.option("headerFilter"),
- encodeHtml: that.option("encodeHtml"),
- applyChangesMode: fieldChooserOptions.applyChangesMode,
- onContextMenuPreparing: function(e) {
- that._trigger("onContextMenuPreparing", e)
- }
- };
- var popupOptions = {
- shading: false,
- title: fieldChooserOptions.title,
- width: fieldChooserOptions.width,
- height: fieldChooserOptions.height,
- showCloseButton: true,
- resizeEnabled: true,
- minWidth: fieldChooserOptions.minWidth,
- minHeight: fieldChooserOptions.minHeight,
- toolbarItems: toolbarItems,
- onResize: function(e) {
- e.component.$content().dxPivotGridFieldChooser("updateDimensions")
- },
- onShown: function(e) {
- that._createComponent(e.component.content(), _uiPivot_grid7.default, fieldChooserComponentOptions)
- },
- onHidden: function(e) {
- var fieldChooser = e.component.$content().dxPivotGridFieldChooser("instance");
- fieldChooser.resetTreeView();
- fieldChooser.cancelChanges()
- }
- };
- if (that._fieldChooserPopup) {
- that._fieldChooserPopup.option(popupOptions);
- that._fieldChooserPopup.$content().dxPivotGridFieldChooser(fieldChooserComponentOptions)
- } else {
- that._fieldChooserPopup = that._createComponent((0, _renderer2.default)(DIV).addClass(FIELD_CHOOSER_POPUP_CLASS).appendTo(container), _popup2.default, popupOptions)
- }
- },
- _renderContextMenu: function() {
- var that = this;
- var $container = that._pivotGridContainer;
- if (that._contextMenu) {
- that._contextMenu.$element().remove()
- }
- that._contextMenu = that._createComponent((0, _renderer2.default)(DIV).appendTo($container), _context_menu2.default, {
- onPositioning: function(actionArgs) {
- var event = actionArgs.event;
- actionArgs.cancel = true;
- if (!event) {
- return
- }
- var targetElement = event.target.cellIndex >= 0 ? event.target : (0, _renderer2.default)(event.target).closest("td").get(0);
- if (!targetElement) {
- return
- }
- var args = that._createEventArgs(targetElement, event);
- var items = that._getContextMenuItems(args);
- if (items) {
- actionArgs.component.option("items", items);
- actionArgs.cancel = false;
- return
- }
- },
- onItemClick: function(params) {
- params.itemData.onItemClick && params.itemData.onItemClick(params)
- },
- cssClass: PIVOTGRID_CLASS,
- target: that.$element()
- })
- },
- _getContextMenuItems: function(e) {
- var that = this;
- var items = [];
- var texts = that.option("texts");
- if ("row" === e.area || "column" === e.area) {
- var areaFields = e[e.area + "Fields"];
- var oppositeAreaFields = e["column" === e.area ? "rowFields" : "columnFields"];
- var field = e.cell.path && areaFields[e.cell.path.length - 1];
- var dataSource = that.getDataSource();
- if (field && field.allowExpandAll && e.cell.path.length < e[e.area + "Fields"].length && !dataSource.paginate()) {
- items.push({
- beginGroup: true,
- icon: "none",
- text: texts.expandAll,
- onItemClick: function() {
- dataSource.expandAll(field.index)
- }
- });
- items.push({
- text: texts.collapseAll,
- icon: "none",
- onItemClick: function() {
- dataSource.collapseAll(field.index)
- }
- })
- }
- if (e.cell.isLast && !dataSource.paginate()) {
- var sortingBySummaryItemCount = 0;
- (0, _iterator.each)(oppositeAreaFields, function(index, field) {
- if (!field.allowSortingBySummary) {
- return
- }(0, _iterator.each)(e.dataFields, function(dataIndex, dataField) {
- if ((0, _type.isDefined)(e.cell.dataIndex) && e.cell.dataIndex !== dataIndex) {
- return
- }
- var showDataFieldCaption = !(0, _type.isDefined)(e.cell.dataIndex) && e.dataFields.length > 1;
- var textFormat = "column" === e.area ? texts.sortColumnBySummary : texts.sortRowBySummary;
- var checked = (0, _uiPivot_grid.findField)(e.dataFields, field.sortBySummaryField) === dataIndex && (e.cell.path || []).join("/") === (field.sortBySummaryPath || []).join("/");
- var text = (0, _string.format)(textFormat, showDataFieldCaption ? field.caption + " - " + dataField.caption : field.caption);
- items.push({
- beginGroup: 0 === sortingBySummaryItemCount,
- icon: checked ? "desc" === field.sortOrder ? "sortdowntext" : "sortuptext" : "none",
- text: text,
- onItemClick: function() {
- dataSource.field(field.index, {
- sortBySummaryField: dataField.name || dataField.caption || dataField.dataField,
- sortBySummaryPath: e.cell.path,
- sortOrder: "desc" === field.sortOrder ? "asc" : "desc"
- });
- dataSource.load()
- }
- });
- sortingBySummaryItemCount++
- })
- });
- (0, _iterator.each)(oppositeAreaFields, function(index, field) {
- if (!field.allowSortingBySummary || !(0, _type.isDefined)(field.sortBySummaryField)) {
- return
- }
- items.push({
- beginGroup: 0 === sortingBySummaryItemCount,
- icon: "none",
- text: texts.removeAllSorting,
- onItemClick: function() {
- (0, _iterator.each)(oppositeAreaFields, function(index, field) {
- dataSource.field(field.index, {
- sortBySummaryField: void 0,
- sortBySummaryPath: void 0,
- sortOrder: void 0
- })
- });
- dataSource.load()
- }
- });
- return false
- })
- }
- }
- if (that.option("fieldChooser.enabled")) {
- items.push({
- beginGroup: true,
- icon: "columnchooser",
- text: texts.showFieldChooser,
- onItemClick: function() {
- that._fieldChooserPopup.show()
- }
- })
- }
- if (that.option("export.enabled")) {
- items.push({
- beginGroup: true,
- icon: "exportxlsx",
- text: texts.exportToExcel,
- onItemClick: function() {
- that.exportToExcel()
- }
- })
- }
- e.items = items;
- that._trigger("onContextMenuPreparing", e);
- items = e.items;
- if (items && items.length) {
- return items
- }
- },
- _createEventArgs: function(targetElement, dxEvent) {
- var that = this;
- var dataSource = that.getDataSource();
- var args = {
- rowFields: dataSource.getAreaFields("row"),
- columnFields: dataSource.getAreaFields("column"),
- dataFields: dataSource.getAreaFields("data"),
- event: dxEvent
- };
- if (clickedOnFieldsArea((0, _renderer2.default)(targetElement))) {
- return (0, _extend.extend)(that._createFieldArgs(targetElement), args)
- } else {
- return (0, _extend.extend)(that._createCellArgs(targetElement), args)
- }
- },
- _createFieldArgs: function(targetElement) {
- var field = (0, _renderer2.default)(targetElement).children().data("field");
- var args = {
- field: field
- };
- return (0, _type.isDefined)(field) ? args : {}
- },
- _createCellArgs: function(cellElement) {
- var $cellElement = (0, _renderer2.default)(cellElement);
- var columnIndex = cellElement.cellIndex;
- var rowIndex = cellElement.parentElement.rowIndex;
- var $table = $cellElement.closest("table");
- var data = $table.data("data");
- var cell = data && data[rowIndex] && data[rowIndex][columnIndex];
- var args = {
- area: $table.data("area"),
- rowIndex: rowIndex,
- columnIndex: columnIndex,
- cellElement: (0, _dom.getPublicElement)($cellElement),
- cell: cell
- };
- return args
- },
- _handleCellClick: function(e) {
- var that = this;
- var args = that._createEventArgs(e.currentTarget, e);
- var cell = args.cell;
- if (!cell || !args.area && (args.rowIndex || args.columnIndex)) {
- return
- }
- that._trigger("onCellClick", args);
- cell && !args.cancel && (0, _type.isDefined)(cell.expanded) && setTimeout(function() {
- that._dataController[cell.expanded ? "collapseHeaderItem" : "expandHeaderItem"](args.area, cell.path)
- })
- },
- _getNoDataText: function() {
- return this.option("texts.noData")
- },
- _renderNoDataText: _uiGrid_core.renderNoDataText,
- _renderLoadPanel: _uiGrid_core.renderLoadPanel,
- _updateLoading: function(progress) {
- var that = this;
- var isLoading = that._dataController.isLoading();
- if (!that._loadPanel) {
- return
- }
- var loadPanelVisible = that._loadPanel.option("visible");
- if (!loadPanelVisible) {
- that._startLoadingTime = new Date
- }
- if (isLoading) {
- if (progress) {
- if (new Date - that._startLoadingTime >= 1e3) {
- that._loadPanel.option("message", Math.floor(100 * progress) + "%")
- }
- } else {
- that._loadPanel.option("message", that.option("loadPanel.text"))
- }
- }
- clearTimeout(that._hideLoadingTimeoutID);
- if (loadPanelVisible && !isLoading) {
- that._hideLoadingTimeoutID = setTimeout(function() {
- that._loadPanel.option("visible", false);
- that.$element().removeClass(OVERFLOW_HIDDEN_CLASS)
- })
- } else {
- that._loadPanel.option("visible", isLoading);
- that.$element().toggleClass(OVERFLOW_HIDDEN_CLASS, !isLoading)
- }
- },
- _renderDescriptionArea: function() {
- var _this = this;
- var $element = this.$element();
- var $descriptionCell = $element.find("." + DESCRIPTION_AREA_CELL_CLASS);
- var $toolbarContainer = (0, _renderer2.default)(DIV).addClass("dx-pivotgrid-toolbar");
- var fieldPanel = this.option("fieldPanel");
- var $filterHeader = $element.find(".dx-filter-header");
- var $columnHeader = $element.find(".dx-column-header");
- var $targetContainer;
- if (fieldPanel.visible && fieldPanel.showFilterFields) {
- $targetContainer = $filterHeader
- } else {
- if (fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields)) {
- $targetContainer = $columnHeader
- } else {
- $targetContainer = $descriptionCell
- }
- }
- $columnHeader.toggleClass(BOTTOM_BORDER_CLASS, !!(fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields)));
- $filterHeader.toggleClass(BOTTOM_BORDER_CLASS, !!(fieldPanel.visible && fieldPanel.showFilterFields));
- $descriptionCell.toggleClass("dx-pivotgrid-background", fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields || fieldPanel.showRowFields));
- this.$element().find(".dx-pivotgrid-toolbar").remove();
- $toolbarContainer.prependTo($targetContainer);
- if (this.option("fieldChooser.enabled")) {
- var $buttonElement = (0, _renderer2.default)(DIV).appendTo($toolbarContainer).addClass("dx-pivotgrid-field-chooser-button");
- var buttonOptions = {
- icon: "columnchooser",
- hint: this.option("texts.showFieldChooser"),
- onClick: function() {
- _this.getFieldChooserPopup().show()
- }
- };
- this._createComponent($buttonElement, "dxButton", buttonOptions)
- }
- if (this.option("export.enabled")) {
- var _$buttonElement = (0, _renderer2.default)(DIV).appendTo($toolbarContainer).addClass("dx-pivotgrid-export-button");
- var _buttonOptions = {
- icon: "exportxlsx",
- hint: this.option("texts.exportToExcel"),
- onClick: function() {
- _this.exportToExcel()
- }
- };
- this._createComponent(_$buttonElement, "dxButton", _buttonOptions)
- }
- },
- _detectHasContainerHeight: function() {
- var that = this;
- var element = that.$element();
- if ((0, _type.isDefined)(that._hasHeight) || element.is(":hidden")) {
- return
- }
- that._pivotGridContainer.addClass("dx-hidden");
- var testElement = (0, _renderer2.default)(DIV).height(TEST_HEIGHT);
- element.append(testElement);
- that._hasHeight = element.height() !== TEST_HEIGHT;
- that._pivotGridContainer.removeClass("dx-hidden");
- testElement.remove()
- },
- _renderHeaders: function(rowHeaderContainer, columnHeaderContainer, filterHeaderContainer, dataHeaderContainer) {
- var that = this;
- var dataSource = that.getDataSource();
- that._rowFields = that._rowFields || new _uiPivot_grid5.FieldsArea(that, "row");
- that._rowFields.render(rowHeaderContainer, dataSource.getAreaFields("row"));
- that._columnFields = that._columnFields || new _uiPivot_grid5.FieldsArea(that, "column");
- that._columnFields.render(columnHeaderContainer, dataSource.getAreaFields("column"));
- that._filterFields = that._filterFields || new _uiPivot_grid5.FieldsArea(that, "filter");
- that._filterFields.render(filterHeaderContainer, dataSource.getAreaFields("filter"));
- that._dataFields = that._dataFields || new _uiPivot_grid5.FieldsArea(that, "data");
- that._dataFields.render(dataHeaderContainer, dataSource.getAreaFields("data"));
- that.$element().dxPivotGridFieldChooserBase("instance").renderSortable()
- },
- _createTableElement: function() {
- var that = this;
- var $table = (0, _renderer2.default)("<table>").css({
- width: "100%"
- }).toggleClass(BORDERS_CLASS, !!that.option("showBorders")).toggleClass("dx-word-wrap", !!that.option("wordWrapEnabled"));
- _events_engine2.default.on($table, (0, _utils.addNamespace)(_click.name, "dxPivotGrid"), "td", that._handleCellClick.bind(that));
- return $table
- },
- _renderDataArea: function(dataAreaElement) {
- var that = this;
- var dataArea = that._dataArea || new _uiPivot_grid3.DataArea(that);
- that._dataArea = dataArea;
- dataArea.render(dataAreaElement, that._dataController.getCellsInfo());
- return dataArea
- },
- _renderRowsArea: function(rowsAreaElement) {
- var that = this;
- var rowsArea = that._rowsArea || new _uiPivot_grid4.VerticalHeadersArea(that);
- that._rowsArea = rowsArea;
- rowsArea.render(rowsAreaElement, that._dataController.getRowsInfo());
- return rowsArea
- },
- _renderColumnsArea: function(columnsAreaElement) {
- var that = this;
- var columnsArea = that._columnsArea || new _uiPivot_grid4.HorizontalHeadersArea(that);
- that._columnsArea = columnsArea;
- columnsArea.render(columnsAreaElement, that._dataController.getColumnsInfo());
- return columnsArea
- },
- _initMarkup: function() {
- var that = this;
- that.callBase.apply(this, arguments);
- that.$element().addClass(PIVOTGRID_CLASS)
- },
- _renderContentImpl: function() {
- var that = this;
- var columnsAreaElement;
- var rowsAreaElement;
- var dataAreaElement;
- var tableElement;
- var isFirstDrawing = !that._pivotGridContainer;
- var rowHeaderContainer;
- var columnHeaderContainer;
- var filterHeaderContainer;
- var dataHeaderContainer;
- tableElement = !isFirstDrawing && that._tableElement();
- if (!tableElement) {
- that.$element().addClass(ROW_LINES_CLASS).addClass(FIELDS_CONTAINER_CLASS);
- that._pivotGridContainer = (0, _renderer2.default)(DIV).addClass("dx-pivotgrid-container");
- that._renderFieldChooser();
- that._renderContextMenu();
- columnsAreaElement = (0, _renderer2.default)(TD).addClass(COLUMN_AREA_CELL_CLASS);
- rowsAreaElement = (0, _renderer2.default)(TD).addClass(ROW_AREA_CELL_CLASS);
- dataAreaElement = (0, _renderer2.default)(TD).addClass(DATA_AREA_CELL_CLASS);
- tableElement = that._createTableElement();
- dataHeaderContainer = (0, _renderer2.default)(TD).addClass("dx-data-header");
- filterHeaderContainer = (0, _renderer2.default)("<td>").attr("colspan", "2").addClass("dx-filter-header");
- columnHeaderContainer = (0, _renderer2.default)(TD).addClass("dx-column-header");
- rowHeaderContainer = (0, _renderer2.default)(TD).addClass(DESCRIPTION_AREA_CELL_CLASS);
- (0, _renderer2.default)(TR).append(filterHeaderContainer).appendTo(tableElement);
- (0, _renderer2.default)(TR).append(dataHeaderContainer).append(columnHeaderContainer).appendTo(tableElement);
- (0, _renderer2.default)(TR).toggleClass("dx-ie", true === _browser.msie).append(rowHeaderContainer).append(columnsAreaElement).appendTo(tableElement);
- (0, _renderer2.default)(TR).addClass(BOTTOM_ROW_CLASS).append(rowsAreaElement).append(dataAreaElement).appendTo(tableElement);
- that._pivotGridContainer.append(tableElement);
- that.$element().append(that._pivotGridContainer);
- if ("tree" === that.option("rowHeaderLayout")) {
- rowsAreaElement.addClass("dx-area-tree-view")
- }
- }
- that.$element().addClass(OVERFLOW_HIDDEN_CLASS);
- that._createComponent(that.$element(), _uiPivot_grid9.default, {
- dataSource: that.getDataSource(),
- encodeHtml: that.option("encodeHtml"),
- allowFieldDragging: that.option("fieldPanel.allowFieldDragging"),
- headerFilter: that.option("headerFilter"),
- visible: that.option("visible")
- });
- var dataArea = that._renderDataArea(dataAreaElement);
- var rowsArea = that._renderRowsArea(rowsAreaElement);
- var columnsArea = that._renderColumnsArea(columnsAreaElement);
- dataArea.tableElement().prepend(columnsArea.headElement());
- if (isFirstDrawing) {
- that._renderLoadPanel(dataArea.groupElement().parent(), that.$element());
- that._renderDescriptionArea();
- rowsArea.processScroll();
- columnsArea.processScroll()
- } [dataArea, rowsArea, columnsArea].forEach(function(area) {
- unsubscribeScrollEvents(area)
- });
- that._renderHeaders(rowHeaderContainer, columnHeaderContainer, filterHeaderContainer, dataHeaderContainer);
- that._update(isFirstDrawing)
- },
- _update: function(isFirstDrawing) {
- var that = this;
- var updateHandler = function() {
- that.updateDimensions().done(function() {
- that._subscribeToEvents(that._columnsArea, that._rowsArea, that._dataArea)
- })
- };
- if (that._needDelayResizing(that._dataArea.getData()) && isFirstDrawing) {
- setTimeout(updateHandler)
- } else {
- updateHandler()
- }
- },
- _fireContentReadyAction: function() {
- if (!this._dataController.isLoading()) {
- this.callBase()
- }
- },
- getScrollPath: function(area) {
- var that = this;
- if ("column" === area) {
- return that._columnsArea.getScrollPath(that._scrollLeft)
- } else {
- return that._rowsArea.getScrollPath(that._scrollTop)
- }
- },
- getDataSource: function() {
- return this._dataController.getDataSource()
- },
- getFieldChooserPopup: function() {
- return this._fieldChooserPopup
- },
- hasScroll: function(area) {
- var that = this;
- return "column" === area ? that._columnsArea.hasScroll() : that._rowsArea.hasScroll()
- },
- _dimensionChanged: function() {
- this.updateDimensions()
- },
- _visibilityChanged: function(visible) {
- if (visible) {
- this.updateDimensions()
- }
- },
- _dispose: function() {
- var that = this;
- clearTimeout(that._hideLoadingTimeoutID);
- that.callBase.apply(that, arguments);
- if (that._dataController) {
- that._dataController.dispose()
- }
- },
- _tableElement: function() {
- return this.$element().find("table").first()
- },
- addWidgetPrefix: function(className) {
- return "dx-pivotgrid-" + className
- },
- resize: function() {
- this.updateDimensions()
- },
- isReady: function() {
- return this.callBase() && !this._dataController.isLoading()
- },
- updateDimensions: function() {
- var that = this;
- var groupWidth;
- var groupHeight;
- var tableElement = that._tableElement();
- var rowsArea = that._rowsArea;
- var columnsArea = that._columnsArea;
- var dataArea = that._dataArea;
- var bordersWidth;
- var totalWidth = 0;
- var totalHeight = 0;
- var rowsAreaWidth = 0;
- var scrollingOptions = that.option("scrolling") || {};
- var scrollBarInfo = getScrollBarInfo(scrollingOptions.useNative);
- var scrollBarWidth = scrollBarInfo.scrollBarWidth;
- var dataAreaCell = tableElement.find("." + DATA_AREA_CELL_CLASS);
- var rowAreaCell = tableElement.find("." + ROW_AREA_CELL_CLASS);
- var columnAreaCell = tableElement.find("." + COLUMN_AREA_CELL_CLASS);
- var descriptionCell = tableElement.find("." + DESCRIPTION_AREA_CELL_CLASS);
- var filterHeaderCell = tableElement.find(".dx-filter-header");
- var columnHeaderCell = tableElement.find(".dx-column-header");
- var rowFieldsHeader = that._rowFields;
- var d = new _deferred.Deferred;
- if (!(0, _window.hasWindow)()) {
- return
- }
- var needSynchronizeFieldPanel = rowFieldsHeader.isVisible() && "tree" !== that.option("rowHeaderLayout");
- that._detectHasContainerHeight();
- if (!dataArea.headElement().length) {
- dataArea.tableElement().prepend(columnsArea.headElement())
- }
- if (needSynchronizeFieldPanel) {
- rowsArea.updateColspans(rowFieldsHeader.getColumnsCount());
- rowsArea.tableElement().prepend(rowFieldsHeader.headElement())
- }
- tableElement.addClass(INCOMPRESSIBLE_FIELDS_CLASS);
- dataArea.reset();
- rowsArea.reset();
- columnsArea.reset();
- rowFieldsHeader.reset();
- (0, _common.deferUpdate)(function() {
- var resultWidths = dataArea.getColumnsWidth();
- var rowHeights = rowsArea.getRowsHeight();
- var rowsAreaHeights = needSynchronizeFieldPanel ? rowHeights.slice(1) : rowHeights;
- var dataAreaHeights = dataArea.getRowsHeight();
- var descriptionCellHeight = (0, _size.getSize)(descriptionCell[0], "height", {
- paddings: true,
- borders: true,
- margins: true
- }) + (needSynchronizeFieldPanel ? rowHeights[0] : 0);
- var columnsAreaRowCount = that._dataController.getColumnsInfo().length;
- var resultHeights = (0, _uiPivot_grid.mergeArraysByMaxValue)(rowsAreaHeights, dataAreaHeights.slice(columnsAreaRowCount));
- var columnsAreaRowHeights = dataAreaHeights.slice(0, columnsAreaRowCount);
- var columnsAreaHeight = getArraySum(columnsAreaRowHeights);
- var rowsAreaColumnWidths = rowsArea.getColumnsWidth();
- if (that._hasHeight) {
- bordersWidth = getCommonBorderWidth([columnAreaCell, dataAreaCell, tableElement, columnHeaderCell, filterHeaderCell], "height");
- groupHeight = that.$element().height() - filterHeaderCell.height() - tableElement.find(".dx-data-header").height() - (Math.max(dataArea.headElement().height(), columnAreaCell.height(), descriptionCellHeight) + bordersWidth)
- }
- totalWidth = dataArea.tableElement().width();
- totalHeight = getArraySum(resultHeights);
- if (!totalWidth || !totalHeight) {
- d.resolve();
- return
- }
- rowsAreaWidth = getArraySum(rowsAreaColumnWidths);
- var elementWidth = that.$element().width();
- bordersWidth = getCommonBorderWidth([rowAreaCell, dataAreaCell, tableElement], "width");
- groupWidth = elementWidth - rowsAreaWidth - bordersWidth;
- groupWidth = groupWidth > 0 ? groupWidth : totalWidth;
- var hasRowsScroll = that._hasHeight && totalHeight - groupHeight >= 1;
- var hasColumnsScroll = totalWidth - groupWidth >= 1;
- if (!hasRowsScroll) {
- groupHeight = totalHeight + (hasColumnsScroll ? scrollBarWidth : 0)
- }(0, _common.deferRender)(function() {
- columnsArea.tableElement().append(dataArea.headElement());
- rowFieldsHeader.tableElement().append(rowsArea.headElement());
- if (!hasColumnsScroll && hasRowsScroll && scrollBarWidth) {
- adjustSizeArray(resultWidths, scrollBarWidth);
- totalWidth -= scrollBarWidth
- }
- if (descriptionCellHeight > columnsAreaHeight) {
- adjustSizeArray(columnsAreaRowHeights, columnsAreaHeight - descriptionCellHeight);
- columnsArea.setRowsHeight(columnsAreaRowHeights)
- }
- tableElement.removeClass(INCOMPRESSIBLE_FIELDS_CLASS);
- columnHeaderCell.children().css("maxWidth", groupWidth);
- columnsArea.groupWidth(groupWidth);
- columnsArea.processScrollBarSpacing(hasRowsScroll ? scrollBarWidth : 0);
- columnsArea.setColumnsWidth(resultWidths);
- rowsArea.groupHeight(that._hasHeight ? groupHeight : "auto");
- rowsArea.processScrollBarSpacing(hasColumnsScroll ? scrollBarWidth : 0);
- rowsArea.setColumnsWidth(rowsAreaColumnWidths);
- rowsArea.setRowsHeight(resultHeights);
- dataArea.setColumnsWidth(resultWidths);
- dataArea.setRowsHeight(resultHeights);
- dataArea.groupWidth(groupWidth);
- dataArea.groupHeight(that._hasHeight ? groupHeight : "auto");
- needSynchronizeFieldPanel && rowFieldsHeader.setColumnsWidth(rowsAreaColumnWidths);
- dataAreaCell.toggleClass(BOTTOM_BORDER_CLASS, !hasRowsScroll);
- rowAreaCell.toggleClass(BOTTOM_BORDER_CLASS, !hasRowsScroll);
- if (!that._hasHeight && elementWidth !== that.$element().width()) {
- var diff = elementWidth - that.$element().width();
- if (!hasColumnsScroll) {
- adjustSizeArray(resultWidths, diff);
- columnsArea.setColumnsWidth(resultWidths);
- dataArea.setColumnsWidth(resultWidths)
- }
- dataArea.groupWidth(groupWidth - diff);
- columnsArea.groupWidth(groupWidth - diff)
- }
- if ("virtual" === scrollingOptions.mode) {
- var virtualContentParams = that._dataController.calculateVirtualContentParams({
- virtualRowHeight: scrollingOptions.virtualRowHeight,
- virtualColumnWidth: scrollingOptions.virtualColumnWidth,
- itemWidths: resultWidths,
- itemHeights: resultHeights,
- rowCount: resultHeights.length,
- columnCount: resultWidths.length,
- viewportWidth: groupWidth,
- viewportHeight: that._hasHeight ? groupHeight : (0, _renderer2.default)(window).outerHeight()
- });
- dataArea.setVirtualContentParams({
- top: virtualContentParams.contentTop,
- left: virtualContentParams.contentLeft,
- width: virtualContentParams.width,
- height: virtualContentParams.height
- });
- rowsArea.setVirtualContentParams({
- top: virtualContentParams.contentTop,
- width: rowsAreaWidth,
- height: virtualContentParams.height
- });
- columnsArea.setVirtualContentParams({
- left: virtualContentParams.contentLeft,
- width: virtualContentParams.width,
- height: columnsArea.groupElement().height()
- })
- }
- var updateScrollableResults = [];
- dataArea.processScroll(scrollBarInfo.scrollBarUseNative, hasColumnsScroll, hasRowsScroll);
- (0, _iterator.each)([columnsArea, rowsArea, dataArea], function(_, area) {
- updateScrollableResults.push(area && area.updateScrollable())
- });
- that._updateLoading();
- that._renderNoDataText(dataAreaCell);
- _deferred.when.apply(_renderer2.default, updateScrollableResults).done(function() {
- that._updateScrollPosition(columnsArea, rowsArea, dataArea);
- d.resolve()
- })
- })
- });
- return d
- },
- applyPartialDataSource: function(area, path, dataSource) {
- this._dataController.applyPartialDataSource(area, path, dataSource)
- }
- }).inherit(_uiPivot_grid10.ExportMixin).include(_uiPivot_grid12.default);
- (0, _component_registrator2.default)("dxPivotGrid", PivotGrid);
- module.exports = PivotGrid;
|