devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
51 lines (50 loc) • 2.45 kB
JavaScript
/**
* DevExtreme (cjs/__internal/grids/tree_list/module_virtual_scrolling.js)
* Version: 22.1.9
* Build date: Tue Apr 18 2023
*
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
var __importDefault = this && this.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : {
default: mod
}
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var extend_1 = require("../../../core/utils/extend");
var ui_grid_core_virtual_scrolling_1 = require("../../../ui/grid_core/ui.grid_core.virtual_scrolling");
var module_core_1 = __importDefault(require("./module_core"));
var module_1 = __importDefault(require("./data_source_adapter/module"));
var oldDefaultOptions = ui_grid_core_virtual_scrolling_1.virtualScrollingModule.defaultOptions;
var originalDataControllerExtender = ui_grid_core_virtual_scrolling_1.virtualScrollingModule.extenders.controllers.data;
var originalDataSourceAdapterExtender = ui_grid_core_virtual_scrolling_1.virtualScrollingModule.extenders.dataSourceAdapter;
ui_grid_core_virtual_scrolling_1.virtualScrollingModule.extenders.controllers.data = extend_1.extend({}, originalDataControllerExtender, {
_loadOnOptionChange: function() {
var virtualScrollController = this._dataSource && this._dataSource._virtualScrollController;
virtualScrollController && virtualScrollController.reset();
this.callBase()
}
});
ui_grid_core_virtual_scrolling_1.virtualScrollingModule.extenders.dataSourceAdapter = extend_1.extend({}, originalDataSourceAdapterExtender, {
changeRowExpand: function() {
var _this = this;
return this.callBase.apply(this, arguments).done((function() {
var viewportItemIndex = _this.getViewportItemIndex();
viewportItemIndex >= 0 && _this.setViewportItemIndex(viewportItemIndex)
}))
}
});
module_core_1.default.registerModule("virtualScrolling", extend_1.extend({}, ui_grid_core_virtual_scrolling_1.virtualScrollingModule, {
defaultOptions: function() {
return extend_1.extend(true, oldDefaultOptions(), {
scrolling: {
mode: "virtual"
}
})
}
}));
module_1.default.extend(ui_grid_core_virtual_scrolling_1.virtualScrollingModule.extenders.dataSourceAdapter);