Files
ASHEBShop-h5/node_modules/react-virtualized/dist/es/Collection/Section.js
T
2017-05-10 16:33:00 +08:00

63 lines
1.4 KiB
JavaScript

import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
import _createClass from 'babel-runtime/helpers/createClass';
/**
* A section of the Window.
* Window Sections are used to group nearby cells.
* This enables us to more quickly determine which cells to display in a given region of the Window.
* Sections have a fixed size and contain 0 to many cells (tracked by their indices).
*/
var Section = function () {
function Section(_ref) {
var height = _ref.height,
width = _ref.width,
x = _ref.x,
y = _ref.y;
_classCallCheck(this, Section);
this.height = height;
this.width = width;
this.x = x;
this.y = y;
this._indexMap = {};
this._indices = [];
}
/** Add a cell to this section. */
_createClass(Section, [{
key: 'addCellIndex',
value: function addCellIndex(_ref2) {
var index = _ref2.index;
if (!this._indexMap[index]) {
this._indexMap[index] = true;
this._indices.push(index);
}
}
/** Get all cell indices that have been added to this section. */
}, {
key: 'getCellIndices',
value: function getCellIndices() {
return this._indices;
}
/** Intended for debugger/test purposes only */
}, {
key: 'toString',
value: function toString() {
return this.x + ',' + this.y + ' ' + this.width + 'x' + this.height;
}
}]);
return Section;
}(); /** @rlow */
export default Section;