New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

fixed-data-table-2

Package Overview
Dependencies
Maintainers
1
Versions
169
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fixed-data-table-2 - npm Package Compare versions

Comparing version 0.8.26 to 0.8.27

internal/ariaAttributes.js

2

docs/api/TableAPI.md

@@ -257,3 +257,3 @@ <!-- File generated from "src/FixedDataTable.js" -->

### `headerHeight`
### `headerHeight` (required)

@@ -260,0 +260,0 @@ Pixel height of header.

@@ -7,3 +7,2 @@ /**

*/
'use strict';

@@ -14,11 +13,22 @@

});
var COLUMN_REORDER_START = exports.COLUMN_REORDER_START = 'COLUMN_REORDER_START';
var COLUMN_REORDER_END = exports.COLUMN_REORDER_END = 'COLUMN_REORDER_END';
var COLUMN_REORDER_MOVE = exports.COLUMN_REORDER_MOVE = 'COLUMN_REORDER_MOVE';
var COLUMN_RESIZE = exports.COLUMN_RESIZE = 'COLUMN_RESIZE';
var INITIALIZE = exports.INITIALIZE = 'INITIALIZE';
var PROP_CHANGE = exports.PROP_CHANGE = 'PROP_CHANGE';
var SCROLL_START = exports.SCROLL_START = 'SCROLL_START';
var SCROLL_END = exports.SCROLL_END = 'SCROLL_END';
var SCROLL_TO_X = exports.SCROLL_TO_X = 'SCROLL_TO_X';
var SCROLL_TO_Y = exports.SCROLL_TO_Y = 'SCROLL_TO_Y';
exports.SCROLL_TO_Y = exports.SCROLL_TO_X = exports.SCROLL_END = exports.SCROLL_START = exports.PROP_CHANGE = exports.INITIALIZE = exports.COLUMN_RESIZE = exports.COLUMN_REORDER_MOVE = exports.COLUMN_REORDER_END = exports.COLUMN_REORDER_START = void 0;
var COLUMN_REORDER_START = 'COLUMN_REORDER_START';
exports.COLUMN_REORDER_START = COLUMN_REORDER_START;
var COLUMN_REORDER_END = 'COLUMN_REORDER_END';
exports.COLUMN_REORDER_END = COLUMN_REORDER_END;
var COLUMN_REORDER_MOVE = 'COLUMN_REORDER_MOVE';
exports.COLUMN_REORDER_MOVE = COLUMN_REORDER_MOVE;
var COLUMN_RESIZE = 'COLUMN_RESIZE';
exports.COLUMN_RESIZE = COLUMN_RESIZE;
var INITIALIZE = 'INITIALIZE';
exports.INITIALIZE = INITIALIZE;
var PROP_CHANGE = 'PROP_CHANGE';
exports.PROP_CHANGE = PROP_CHANGE;
var SCROLL_START = 'SCROLL_START';
exports.SCROLL_START = SCROLL_START;
var SCROLL_END = 'SCROLL_END';
exports.SCROLL_END = SCROLL_END;
var SCROLL_TO_X = 'SCROLL_TO_X';
exports.SCROLL_TO_X = SCROLL_TO_X;
var SCROLL_TO_Y = 'SCROLL_TO_Y';
exports.SCROLL_TO_Y = SCROLL_TO_Y;

@@ -7,3 +7,2 @@ /**

*/
'use strict';

@@ -14,3 +13,3 @@

});
exports.resizeColumn = exports.moveColumnReorder = exports.stopColumnReorder = exports.startColumnReorder = undefined;
exports.resizeColumn = exports.moveColumnReorder = exports.stopColumnReorder = exports.startColumnReorder = void 0;

@@ -24,3 +23,3 @@ var _ActionTypes = require('././ActionTypes');

*/
var startColumnReorder = exports.startColumnReorder = function startColumnReorder(reorderData) {
var startColumnReorder = function startColumnReorder(reorderData) {
return {

@@ -31,7 +30,10 @@ type: _ActionTypes.COLUMN_REORDER_START,

};
/**
* Stops column reordering
*/
var stopColumnReorder = exports.stopColumnReorder = function stopColumnReorder() {
exports.startColumnReorder = startColumnReorder;
var stopColumnReorder = function stopColumnReorder() {
return {

@@ -41,3 +43,2 @@ type: _ActionTypes.COLUMN_REORDER_END

};
/**

@@ -48,3 +49,7 @@ * Stops column reordering

*/
var moveColumnReorder = exports.moveColumnReorder = function moveColumnReorder(deltaX) {
exports.stopColumnReorder = stopColumnReorder;
var moveColumnReorder = function moveColumnReorder(deltaX) {
return {

@@ -55,3 +60,2 @@ type: _ActionTypes.COLUMN_REORDER_MOVE,

};
/**

@@ -62,3 +66,7 @@ * Fires a resize on column

*/
var resizeColumn = exports.resizeColumn = function resizeColumn(resizeData) {
exports.moveColumnReorder = moveColumnReorder;
var resizeColumn = function resizeColumn(resizeData) {
return {

@@ -68,2 +76,4 @@ type: _ActionTypes.COLUMN_RESIZE,

};
};
};
exports.resizeColumn = resizeColumn;

@@ -1,77 +0,78 @@

'use strict';
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _DOMMouseMoveTracker = require('./DOMMouseMoveTracker');
var _DOMMouseMoveTracker = _interopRequireDefault(require('./DOMMouseMoveTracker'));
var _DOMMouseMoveTracker2 = _interopRequireDefault(_DOMMouseMoveTracker);
var _Locale = _interopRequireDefault(require('./Locale'));
var _Locale = require('./Locale');
var _react = _interopRequireDefault(require('react'));
var _Locale2 = _interopRequireDefault(_Locale);
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = require('react');
var _clamp = _interopRequireDefault(require('./clamp'));
var _react2 = _interopRequireDefault(_react);
var _cx = _interopRequireDefault(require('./cx'));
var _propTypes = require('prop-types');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _propTypes2 = _interopRequireDefault(_propTypes);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
var _clamp = require('./clamp');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var _clamp2 = _interopRequireDefault(_clamp);
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
var _cx = require('./cx');
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var _cx2 = _interopRequireDefault(_cx);
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* This is to be used with the FixedDataTable. It is a read line
* that when you click on a column that is resizable appears and allows
* you to resize the corresponding column.
*
* @providesModule ColumnResizerLine
* @typechecks
*/
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
var ColumnResizerLine = function (_React$PureComponent) {
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var ColumnResizerLine =
/*#__PURE__*/
function (_React$PureComponent) {
_inherits(ColumnResizerLine, _React$PureComponent);
function ColumnResizerLine() {
var _ref;
var _getPrototypeOf2;
var _temp, _this, _ret;
var _this;
_classCallCheck(this, ColumnResizerLine);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ColumnResizerLine.__proto__ || Object.getPrototypeOf(ColumnResizerLine)).call.apply(_ref, [this].concat(args))), _this), _this.state = /*object*/{
_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ColumnResizerLine)).call.apply(_getPrototypeOf2, [this].concat(args)));
_defineProperty(_assertThisInitialized(_this), "state",
/*object*/
{
width: 0,
cursorDelta: 0
}, _this._onMove = function ( /*number*/deltaX) {
if (_Locale2.default.isRTL()) {
});
_defineProperty(_assertThisInitialized(_this), "_onMove", function (
/*number*/
deltaX) {
if (_Locale["default"].isRTL()) {
deltaX = -deltaX;
}
var newWidth = _this.state.cursorDelta + deltaX;
var newColumnWidth = (0, _clamp2.default)(newWidth, _this.props.minWidth, _this.props.maxWidth);
var newColumnWidth = (0, _clamp["default"])(newWidth, _this.props.minWidth, _this.props.maxWidth); // Please note cursor delta is the different between the currently width
// and the new width.
// Please note cursor delta is the different between the currently width
// and the new width.
_this.setState({

@@ -81,13 +82,21 @@ width: newColumnWidth,

});
}, _this._onColumnResizeEnd = function () {
});
_defineProperty(_assertThisInitialized(_this), "_onColumnResizeEnd", function () {
_this._mouseMoveTracker.releaseMouseMoves();
_this.props.onColumnResizeEnd(_this.state.width, _this.props.columnKey);
}, _temp), _possibleConstructorReturn(_this, _ret);
});
return _this;
}
_createClass(ColumnResizerLine, [{
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps( /*object*/newProps) {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(
/*object*/
newProps) {
if (newProps.initialEvent && !this._mouseMoveTracker.isDragging()) {
this._mouseMoveTracker.captureMouseMoves(newProps.initialEvent);
this.setState({

@@ -100,15 +109,18 @@ width: newProps.initialWidth,

}, {
key: 'componentDidMount',
key: "componentDidMount",
value: function componentDidMount() {
this._mouseMoveTracker = new _DOMMouseMoveTracker2.default(this._onMove, this._onColumnResizeEnd, document.body, this.props.touchEnabled);
this._mouseMoveTracker = new _DOMMouseMoveTracker["default"](this._onMove, this._onColumnResizeEnd, document.body, this.props.touchEnabled);
}
}, {
key: 'componentWillUnmount',
key: "componentWillUnmount",
value: function componentWillUnmount() {
this._mouseMoveTracker.releaseMouseMoves();
this._mouseMoveTracker = null;
}
}, {
key: 'render',
value: function render() /*object*/{
key: "render",
value: function render()
/*object*/
{
var style = {

@@ -118,3 +130,4 @@ width: this.state.width,

};
if (_Locale2.default.isRTL()) {
if (_Locale["default"].isRTL()) {
style.right = this.props.leftOffset;

@@ -124,16 +137,16 @@ } else {

}
return _react2.default.createElement(
'div',
{
className: (0, _cx2.default)({
'fixedDataTableColumnResizerLineLayout/main': true,
'fixedDataTableColumnResizerLineLayout/hiddenElem': !this.props.visible,
'public/fixedDataTableColumnResizerLine/main': true
}),
style: style },
_react2.default.createElement('div', {
className: (0, _cx2.default)('fixedDataTableColumnResizerLineLayout/mouseArea'),
style: { height: this.props.height }
})
);
return _react["default"].createElement("div", {
className: (0, _cx["default"])({
'fixedDataTableColumnResizerLineLayout/main': true,
'fixedDataTableColumnResizerLineLayout/hiddenElem': !this.props.visible,
'public/fixedDataTableColumnResizerLine/main': true
}),
style: style
}, _react["default"].createElement("div", {
className: (0, _cx["default"])('fixedDataTableColumnResizerLineLayout/mouseArea'),
style: {
height: this.props.height
}
}));
}

@@ -143,6 +156,6 @@ }]);

return ColumnResizerLine;
}(_react2.default.PureComponent);
}(_react["default"].PureComponent);
ColumnResizerLine.propTypes = {
visible: _propTypes2.default.bool.isRequired,
_defineProperty(ColumnResizerLine, "propTypes", {
visible: _propTypes["default"].bool.isRequired,

@@ -152,3 +165,3 @@ /**

*/
height: _propTypes2.default.number.isRequired,
height: _propTypes["default"].number.isRequired,

@@ -160,3 +173,3 @@ /**

*/
leftOffset: _propTypes2.default.number.isRequired,
leftOffset: _propTypes["default"].number.isRequired,

@@ -167,3 +180,3 @@ /**

*/
knobHeight: _propTypes2.default.number.isRequired,
knobHeight: _propTypes["default"].number.isRequired,

@@ -174,3 +187,3 @@ /**

*/
initialWidth: _propTypes2.default.number,
initialWidth: _propTypes["default"].number,

@@ -180,3 +193,3 @@ /**

*/
minWidth: _propTypes2.default.number,
minWidth: _propTypes["default"].number,

@@ -186,3 +199,3 @@ /**

*/
maxWidth: _propTypes2.default.number,
maxWidth: _propTypes["default"].number,

@@ -192,3 +205,3 @@ /**

*/
initialEvent: _propTypes2.default.object,
initialEvent: _propTypes["default"].object,

@@ -198,3 +211,3 @@ /**

*/
onColumnResizeEnd: _propTypes2.default.func,
onColumnResizeEnd: _propTypes["default"].func,

@@ -204,3 +217,3 @@ /**

*/
columnKey: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
columnKey: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),

@@ -210,6 +223,6 @@ /**

*/
touchEnabled: _propTypes2.default.bool
};
;
touchEnabled: _propTypes["default"].bool
});
module.exports = ColumnResizerLine;
var _default = ColumnResizerLine;
exports["default"] = _default;

@@ -11,28 +11,23 @@ /**

*/
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _emptyFunction = require('./emptyFunction');
var _emptyFunction = _interopRequireDefault(require('./emptyFunction'));
var _emptyFunction2 = _interopRequireDefault(_emptyFunction);
var _isNil = _interopRequireDefault(require('lodash/isNil'));
var _isNil = require('lodash/isNil');
var _columnWidths5 = _interopRequireDefault(require('./columnWidths'));
var _isNil2 = _interopRequireDefault(_isNil);
var _clamp = _interopRequireDefault(require('lodash/clamp'));
var _columnWidths5 = require('./columnWidths');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _columnWidths6 = _interopRequireDefault(_columnWidths5);
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var _clamp = require('lodash/clamp');
var _clamp2 = _interopRequireDefault(_clamp);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var DRAG_SCROLL_SPEED = 15;
var DRAG_SCROLL_BUFFER = 100;
/**

@@ -47,2 +42,3 @@ * Initialize scrollX state

*/
function initialize(state, props, oldProps) {

@@ -55,3 +51,2 @@ var scrollLeft = props.scrollLeft,

if (scrollLeft !== undefined && (!oldProps || scrollLeft !== oldProps.scrollLeft)) {

@@ -63,11 +58,9 @@ scrollX = scrollLeft;

var _columnWidths = (0, _columnWidths6.default)(state),
var _columnWidths = (0, _columnWidths5["default"])(state),
maxScrollX = _columnWidths.maxScrollX;
scrollX = (0, _clamp2.default)(scrollX, 0, maxScrollX);
scrollX = (0, _clamp["default"])(scrollX, 0, maxScrollX); // isColumnResizing should be overwritten by value from props if available
// isColumnResizing should be overwritten by value from props if available
isColumnResizing = props.isColumnResizing !== undefined ? props.isColumnResizing : isColumnResizing;
columnResizingData = isColumnResizing ? columnResizingData : {};
return _extends({}, state, {

@@ -79,4 +72,3 @@ columnResizingData: columnResizingData,

});
};
}
/**

@@ -92,10 +84,12 @@ * @param {!Object} state

*/
function scrollTo(state, props, oldScrollToColumn, scrollX) {
var scrollToColumn = props.scrollToColumn;
if ((0, _isNil2.default)(scrollToColumn)) {
if ((0, _isNil["default"])(scrollToColumn)) {
return scrollX;
}
var _columnWidths2 = (0, _columnWidths6.default)(state),
var _columnWidths2 = (0, _columnWidths5["default"])(state),
availableScrollWidth = _columnWidths2.availableScrollWidth,

@@ -107,3 +101,2 @@ fixedColumns = _columnWidths2.fixedColumns,

var scrollableColumnsCount = scrollableColumns.length;
var noScrollableColumns = scrollableColumnsCount === 0;

@@ -113,34 +106,33 @@ var scrollToUnchanged = scrollToColumn === oldScrollToColumn;

var selectedColumnFixedRight = scrollToColumn >= fixedColumnsCount + scrollableColumnsCount;
if (scrollToUnchanged || selectedColumnFixed || selectedColumnFixedRight || noScrollableColumns) {
return scrollX;
}
// Convert column index (0 indexed) to scrollable index (0 indexed)
} // Convert column index (0 indexed) to scrollable index (0 indexed)
// and clamp to max scrollable index
var clampedColumnIndex = Math.min(scrollToColumn - fixedColumnsCount, scrollableColumns.length - 1);
// Compute the width of all columns to the left of the column
var clampedColumnIndex = Math.min(scrollToColumn - fixedColumnsCount, scrollableColumns.length - 1); // Compute the width of all columns to the left of the column
var previousWidth = 0;
for (var columnIdx = 0; columnIdx < clampedColumnIndex; ++columnIdx) {
previousWidth += scrollableColumns[columnIdx].width;
}
} // Get width of specified column
// Get width of specified column
var selectedColumnWidth = scrollableColumns[clampedColumnIndex].width;
// Compute the scroll position which sets the column on the right of the viewport
var selectedColumnWidth = scrollableColumns[clampedColumnIndex].width; // Compute the scroll position which sets the column on the right of the viewport
// Must scroll at least far enough for end of column (previousWidth + selectedColumnWidth)
// to be in viewport.
var minScrollPosition = previousWidth + selectedColumnWidth - availableScrollWidth;
// Handle offscreen to the left
var minScrollPosition = previousWidth + selectedColumnWidth - availableScrollWidth; // Handle offscreen to the left
// If scrolled less than minimum amount, scroll to minimum amount
// so column on right of viewport
if (scrollX < minScrollPosition) {
return minScrollPosition;
}
// Handle offscreen to the right
} // Handle offscreen to the right
// If scrolled more than previous columns, at least part of column will be offscreen to left
// Scroll so column is flush with left edge of viewport
if (scrollX > previousWidth) {

@@ -152,3 +144,2 @@ return previousWidth;

}
/**

@@ -159,2 +150,4 @@ * This is called when a cell that is in the header of a column has its

*/
function resizeColumn(state, resizeData) {

@@ -169,3 +162,2 @@ var cellMinWidth = resizeData.cellMinWidth,

leftOffset = resizeData.leftOffset;
return _extends({}, state, {

@@ -181,3 +173,3 @@ isColumnResizing: true,

clientY: clientY,
preventDefault: _emptyFunction2.default
preventDefault: _emptyFunction["default"]
},

@@ -187,3 +179,3 @@ key: columnKey

});
};
}

@@ -196,3 +188,3 @@ function reorderColumn(state, reorderData) {

var _columnWidths3 = (0, _columnWidths6.default)(state),
var _columnWidths3 = (0, _columnWidths5["default"])(state),
fixedColumns = _columnWidths3.fixedColumns;

@@ -203,3 +195,2 @@

});
return _extends({}, state, {

@@ -219,3 +210,3 @@ isColumnReordering: true,

});
};
}

@@ -234,8 +225,7 @@ function reorderColumnMove(state, deltaX) {

var _columnWidths4 = (0, _columnWidths6.default)(state),
var _columnWidths4 = (0, _columnWidths5["default"])(state),
availableScrollWidth = _columnWidths4.availableScrollWidth;
deltaX += scrollX - scrollStart;
deltaX += scrollX - scrollStart; // Scroll the table left or right if we drag near the edges of the table
// Scroll the table left or right if we drag near the edges of the table
if (dragX > availableScrollWidth - DRAG_SCROLL_BUFFER) {

@@ -246,5 +236,5 @@ scrollX = Math.min(scrollX + DRAG_SCROLL_SPEED, maxScrollX);

}
}
} // NOTE (jordan) Need to clone this object when use pureRendering
// NOTE (jordan) Need to clone this object when use pureRendering
var reorderingData = _extends({}, state.columnReorderingData, {

@@ -260,5 +250,5 @@ dragDistance: deltaX,

});
};
}
module.exports = {
var _default = {
initialize: initialize,

@@ -268,2 +258,3 @@ reorderColumn: reorderColumn,

resizeColumn: resizeColumn
};
};
exports["default"] = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,17 +6,23 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _columnWidths = require('./columnWidths');
var _columnWidths = _interopRequireDefault(require('./columnWidths'));
var _columnWidths2 = _interopRequireDefault(_columnWidths);
var _forEach = _interopRequireDefault(require('lodash/forEach'));
var _forEach = require('lodash/forEach');
var _shallowEqualSelector = _interopRequireDefault(require('./shallowEqualSelector'));
var _forEach2 = _interopRequireDefault(_forEach);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _shallowEqualSelector = require('./shallowEqualSelector');
/**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule columnTemplates
*/
var _shallowEqualSelector2 = _interopRequireDefault(_shallowEqualSelector);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -28,4 +34,3 @@ * @typedef {{

*/
var cellDetails = void 0;
var cellDetails;
/**

@@ -38,14 +43,4 @@ * @typedef {{

*/
/**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule columnTemplates
*/
var columnDetails = void 0;
var columnDetails;
/**

@@ -74,7 +69,6 @@ * Lists of cell templates & component props for

*/
function columnTemplates(columnWidths, elementTemplates) {
var columnGroupProps = columnWidths.columnGroupProps,
columnProps = columnWidths.columnProps;
// Ugly transforms to extract data into a row consumable format.
columnProps = columnWidths.columnProps; // Ugly transforms to extract data into a row consumable format.
// TODO (jordan) figure out if this can efficiently be merged with

@@ -86,3 +80,3 @@ // the result of convertColumnElementsToData.

var scrollableColumnGroups = [];
(0, _forEach2.default)(columnGroupProps, function (columnGroup, index) {
(0, _forEach["default"])(columnGroupProps, function (columnGroup, index) {
var groupData = {

@@ -92,2 +86,3 @@ props: columnGroup,

};
if (columnGroup.fixed) {

@@ -101,3 +96,2 @@ fixedColumnGroups.push(groupData);

});
var fixedColumns = {

@@ -118,4 +112,5 @@ cell: [],

};
(0, _forEach2.default)(columnProps, function (column, index) {
(0, _forEach["default"])(columnProps, function (column, index) {
var columnContainer = scrollableColumns;
if (column.fixed) {

@@ -140,3 +135,2 @@ columnContainer = fixedColumns;

});
return {

@@ -152,6 +146,8 @@ fixedColumnGroups: fixedColumnGroups,

exports.default = (0, _shallowEqualSelector2.default)([function (state) {
return (0, _columnWidths2.default)(state);
var _default = (0, _shallowEqualSelector["default"])([function (state) {
return (0, _columnWidths["default"])(state);
}, function (state) {
return state.elementTemplates;
}], columnTemplates);
}], columnTemplates);
exports["default"] = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,39 +6,20 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule columnWidths
*/
var _widthHelper = require('./widthHelper');
var _Scrollbar = require('./Scrollbar');
var _Scrollbar = _interopRequireDefault(require('./Scrollbar'));
var _Scrollbar2 = _interopRequireDefault(_Scrollbar);
var _forEach = _interopRequireDefault(require('lodash/forEach'));
var _forEach = require('lodash/forEach');
var _map = _interopRequireDefault(require('lodash/map'));
var _forEach2 = _interopRequireDefault(_forEach);
var _scrollbarsVisible = _interopRequireDefault(require('./scrollbarsVisible'));
var _map = require('lodash/map');
var _shallowEqualSelector = _interopRequireDefault(require('./shallowEqualSelector'));
var _map2 = _interopRequireDefault(_map);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _scrollbarsVisible = require('./scrollbarsVisible');
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var _scrollbarsVisible2 = _interopRequireDefault(_scrollbarsVisible);
var _shallowEqualSelector = require('./shallowEqualSelector');
var _shallowEqualSelector2 = _interopRequireDefault(_shallowEqualSelector);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -52,4 +33,3 @@ * @typedef {{

*/
var columnDefinition = void 0;
var columnDefinition;
/**

@@ -70,4 +50,5 @@ * @param {!Array.<columnDefinition>} columnGroupProps

*/
function columnWidths(columnGroupProps, columnProps, scrollEnabledY, width) {
var scrollbarSpace = scrollEnabledY ? _Scrollbar2.default.SIZE + _Scrollbar2.default.OFFSET : 0;
var scrollbarSpace = scrollEnabledY ? _Scrollbar["default"].SIZE + _Scrollbar["default"].OFFSET : 0;
var viewportWidth = width - scrollbarSpace;

@@ -96,3 +77,2 @@

}
/**

@@ -107,17 +87,15 @@ * @param {!Array.<columnDefinition>} columnGroupProps

*/
function flexWidths(columnGroupProps, columnProps, viewportWidth) {
var newColumnProps = columnProps;
var remainingFlexGrow = (0, _widthHelper.getTotalFlexGrow)(columnProps);
var remainingFlexGrow = (0, _widthHelper.getTotalFlexGrow)(columnProps); // if any column is a flex column, we'll need to calculate the widths for every column
// if any column is a flex column, we'll need to calculate the widths for every column
if (remainingFlexGrow !== 0) {
var columnsWidth = (0, _widthHelper.getTotalWidth)(columnProps);
var remainingFlexWidth = Math.max(viewportWidth - columnsWidth, 0);
var remainingFlexWidth = Math.max(viewportWidth - columnsWidth, 0); // calculate and set width for each column
// calculate and set width for each column
newColumnProps = (0, _map2.default)(columnProps, function (column) {
var flexGrow = column.flexGrow;
newColumnProps = (0, _map["default"])(columnProps, function (column) {
var flexGrow = column.flexGrow; // if no flexGrow is specified, column defaults to original width
// if no flexGrow is specified, column defaults to original width
if (!flexGrow) {

@@ -131,25 +109,27 @@ return column;

remainingFlexWidth -= flexWidth;
return _extends({}, column, { width: newWidth });
return _extends({}, column, {
width: newWidth
});
});
}
} // calculate width for each column group
// calculate width for each column group
var columnGroupWidths = (0, _map2.default)(columnGroupProps, function () {
var columnGroupWidths = (0, _map["default"])(columnGroupProps, function () {
return 0;
});
(0, _forEach2.default)(newColumnProps, function (column) {
(0, _forEach["default"])(newColumnProps, function (column) {
if (column.groupIdx !== undefined) {
columnGroupWidths[column.groupIdx] += column.width;
}
});
}); // set the width for each column group
// set the width for each column group
var newColumnGroupProps = (0, _map2.default)(columnGroupProps, function (columnGroup, idx) {
var newColumnGroupProps = (0, _map["default"])(columnGroupProps, function (columnGroup, idx) {
if (columnGroupWidths[idx] === columnGroup.width) {
return columnGroup;
}
return _extends({}, columnGroup, { width: columnGroupWidths[idx] });
return _extends({}, columnGroup, {
width: columnGroupWidths[idx]
});
});
return {

@@ -160,3 +140,2 @@ newColumnGroupProps: newColumnGroupProps,

}
/**

@@ -170,2 +149,4 @@ * @param {!Array.<columnDefinition>} columnProps

*/
function groupColumns(columnProps) {

@@ -175,5 +156,5 @@ var fixedColumns = [];

var scrollableColumns = [];
(0, _forEach["default"])(columnProps, function (columnProp) {
var container = scrollableColumns;
(0, _forEach2.default)(columnProps, function (columnProp) {
var container = scrollableColumns;
if (columnProp.fixed) {

@@ -184,5 +165,5 @@ container = fixedColumns;

}
container.push(columnProp);
});
return {

@@ -195,3 +176,3 @@ fixedColumns: fixedColumns,

exports.default = (0, _shallowEqualSelector2.default)([function (state) {
var _default = (0, _shallowEqualSelector["default"])([function (state) {
return state.columnGroupProps;

@@ -201,5 +182,7 @@ }, function (state) {

}, function (state) {
return (0, _scrollbarsVisible2.default)(state).scrollEnabledY;
return (0, _scrollbarsVisible["default"])(state).scrollEnabledY;
}, function (state) {
return state.tableSize.width;
}], columnWidths);
}], columnWidths);
exports["default"] = _default;

@@ -11,3 +11,2 @@ /**

*/
'use strict';

@@ -18,29 +17,18 @@

});
exports["default"] = computeRenderedRows;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _clamp = _interopRequireDefault(require('lodash/clamp'));
exports.default = computeRenderedRows;
var _updateRowHeight = _interopRequireDefault(require('./updateRowHeight'));
var _clamp = require('lodash/clamp');
var _roughHeights = _interopRequireDefault(require('./roughHeights'));
var _clamp2 = _interopRequireDefault(_clamp);
var _scrollbarsVisible = _interopRequireDefault(require('./scrollbarsVisible'));
var _updateRowHeight = require('./updateRowHeight');
var _tableHeights = _interopRequireDefault(require('./tableHeights'));
var _updateRowHeight2 = _interopRequireDefault(_updateRowHeight);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _roughHeights = require('./roughHeights');
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var _roughHeights2 = _interopRequireDefault(_roughHeights);
var _scrollbarsVisible = require('./scrollbarsVisible');
var _scrollbarsVisible2 = _interopRequireDefault(_scrollbarsVisible);
var _tableHeights = require('./tableHeights');
var _tableHeights2 = _interopRequireDefault(_tableHeights);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -63,4 +51,4 @@ * Returns data about the rows to render

var newState = _extends({}, state);
var rowRange = calculateRenderedRowRange(newState, scrollAnchor);
var rowSettings = newState.rowSettings,

@@ -70,10 +58,9 @@ scrollContentHeight = newState.scrollContentHeight;

var _tableHeightsSelector = (0, _tableHeights2.default)(newState),
var _tableHeightsSelector = (0, _tableHeights["default"])(newState),
bodyHeight = _tableHeightsSelector.bodyHeight;
var maxScrollY = scrollContentHeight - bodyHeight;
var firstRowOffset = void 0;
var firstRowOffset; // NOTE (jordan) This handles #115 where resizing the viewport may
// leave only a subset of rows shown, but no scrollbar to scroll up to the first rows.
// NOTE (jordan) This handles #115 where resizing the viewport may
// leave only a subset of rows shown, but no scrollbar to scroll up to the first rows.
if (maxScrollY === 0) {

@@ -94,11 +81,10 @@ if (rowRange.firstViewportIdx > 0) {

var endRowIndex = rowRange.endViewportIdx;
computeRenderedRowOffsets(newState, rowRange, state.scrolling);
var scrollY = 0;
var scrollY = 0;
if (rowsCount > 0) {
scrollY = newState.rowOffsets[rowRange.firstViewportIdx] - firstRowOffset;
}
scrollY = (0, _clamp2.default)(scrollY, 0, maxScrollY);
scrollY = (0, _clamp["default"])(scrollY, 0, maxScrollY);
return _extends(newState, {

@@ -112,3 +98,2 @@ firstRowIndex: firstRowIndex,

}
/**

@@ -139,4 +124,6 @@ * Determine the range of rows to render (buffer and viewport)

*/
function calculateRenderedRowRange(state, scrollAnchor) {
var _roughHeightsSelector = (0, _roughHeights2.default)(state),
var _roughHeightsSelector = (0, _roughHeights["default"])(state),
bufferRowCount = _roughHeightsSelector.bufferRowCount,

@@ -155,6 +142,6 @@ maxAvailableHeight = _roughHeightsSelector.maxAvailableHeight;

};
}
} // If our first or last index is greater than our rowsCount,
// treat it as if the last row is at the bottom of the viewport
// If our first or last index is greater than our rowsCount,
// treat it as if the last row is at the bottom of the viewport
var firstIndex = scrollAnchor.firstIndex,

@@ -166,9 +153,10 @@ firstOffset = scrollAnchor.firstOffset,

lastIndex = rowsCount - 1;
}
} // Walk the viewport until filled with rows
// If lastIndex is set, walk backward so that row is the last in the viewport
// Walk the viewport until filled with rows
// If lastIndex is set, walk backward so that row is the last in the viewport
var step = 1;
var startIdx = firstIndex;
var totalHeight = firstOffset;
if (lastIndex !== undefined) {

@@ -178,28 +166,31 @@ step = -1;

totalHeight = 0;
}
} // Loop to walk the viewport until we've touched enough rows to fill its height
// Loop to walk the viewport until we've touched enough rows to fill its height
var rowIdx = startIdx;
var endIdx = rowIdx;
while (rowIdx < rowsCount && rowIdx >= 0 && totalHeight < maxAvailableHeight) {
totalHeight += (0, _updateRowHeight2.default)(state, rowIdx);
totalHeight += (0, _updateRowHeight["default"])(state, rowIdx);
endIdx = rowIdx;
rowIdx += step;
}
} // Loop to walk the leading buffer
// Loop to walk the leading buffer
var firstViewportIdx = Math.min(startIdx, endIdx);
var firstBufferIdx = Math.max(firstViewportIdx - bufferRowCount, 0);
for (rowIdx = firstBufferIdx; rowIdx < firstViewportIdx; rowIdx++) {
(0, _updateRowHeight2.default)(state, rowIdx);
}
(0, _updateRowHeight["default"])(state, rowIdx);
} // Loop to walk the trailing buffer
// Loop to walk the trailing buffer
var endViewportIdx = Math.max(startIdx, endIdx) + 1;
var endBufferIdx = Math.min(endViewportIdx + bufferRowCount, rowsCount);
for (rowIdx = endViewportIdx; rowIdx < endBufferIdx; rowIdx++) {
(0, _updateRowHeight2.default)(state, rowIdx);
(0, _updateRowHeight["default"])(state, rowIdx);
}
var _scrollbarsVisibleSel = (0, _scrollbarsVisible2.default)(state),
var _scrollbarsVisibleSel = (0, _scrollbarsVisible["default"])(state),
availableHeight = _scrollbarsVisibleSel.availableHeight;

@@ -210,6 +201,5 @@

// This should be negative and represent how far the first row needs to be offscreen
firstOffset = Math.min(availableHeight - totalHeight, 0);
firstOffset = Math.min(availableHeight - totalHeight, 0); // Handle a case where the offset puts the first row fully offscreen
// This can happen if availableHeight & maxAvailableHeight are different
// Handle a case where the offset puts the first row fully offscreen
// This can happen if availableHeight & maxAvailableHeight are different
var storedHeights = state.storedHeights;

@@ -231,3 +221,2 @@

}
/**

@@ -250,2 +239,4 @@ * Walk the rows to render and compute the height offsets and

*/
function computeRenderedRowOffsets(state, rowRange, viewportOnly) {

@@ -259,5 +250,4 @@ var rowBufferSet = state.rowBufferSet,

firstViewportIdx = rowRange.firstViewportIdx;
var renderedRowsCount = endBufferIdx - firstBufferIdx;
var renderedRowsCount = endBufferIdx - firstBufferIdx;
if (renderedRowsCount === 0) {

@@ -270,28 +260,24 @@ state.rowOffsets = {};

var startIdx = viewportOnly ? firstViewportIdx : firstBufferIdx;
var endIdx = viewportOnly ? endViewportIdx : endBufferIdx;
var endIdx = viewportOnly ? endViewportIdx : endBufferIdx; // output for this function
// output for this function
var rows = []; // state.rows
var rowOffsets = {}; // state.rowOffsets
// incremental way for calculating rowOffset
var runningOffset = rowOffsetIntervalTree.sumUntil(startIdx);
// compute row index and offsets for every rows inside the buffer
var runningOffset = rowOffsetIntervalTree.sumUntil(startIdx); // compute row index and offsets for every rows inside the buffer
for (var rowIdx = startIdx; rowIdx < endIdx; rowIdx++) {
// Update the offset for rendering the row
rowOffsets[rowIdx] = runningOffset;
runningOffset += storedHeights[rowIdx];
runningOffset += storedHeights[rowIdx]; // Get position for the viewport row
// Get position for the viewport row
var rowPosition = addRowToBuffer(rowIdx, rowBufferSet, startIdx, endIdx, renderedRowsCount);
rows[rowPosition] = rowIdx;
}
} // now we modify the state with the newly calculated rows and offsets
// now we modify the state with the newly calculated rows and offsets
state.rows = rows;
state.rowOffsets = rowOffsets;
}
/**

@@ -310,7 +296,8 @@ * Add the row to the buffer set if it doesn't exist.

*/
function addRowToBuffer(rowIdx, rowBufferSet, startRange, endRange, maxBufferSize) {
// Check if row already has a position in the buffer
var rowPosition = rowBufferSet.getValuePosition(rowIdx);
var rowPosition = rowBufferSet.getValuePosition(rowIdx); // Request a position in the buffer through eviction of another row
// Request a position in the buffer through eviction of another row
if (rowPosition === null && rowBufferSet.getSize() >= maxBufferSize) {

@@ -317,0 +304,0 @@ rowPosition = rowBufferSet.replaceFurthestValuePosition(startRange, endRange - 1, // replaceFurthestValuePosition uses closed interval from startRange to endRange

@@ -11,3 +11,2 @@ /**

*/
'use strict';

@@ -18,29 +17,22 @@

});
exports["default"] = void 0;
var _react = require('react');
var _react = _interopRequireDefault(require('react'));
var _react2 = _interopRequireDefault(_react);
var _forEach = _interopRequireDefault(require('lodash/forEach'));
var _forEach = require('lodash/forEach');
var _invariant = _interopRequireDefault(require('./invariant'));
var _forEach2 = _interopRequireDefault(_forEach);
var _map = _interopRequireDefault(require('lodash/map'));
var _invariant = require('./invariant');
var _pick = _interopRequireDefault(require('lodash/pick'));
var _invariant2 = _interopRequireDefault(_invariant);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _map = require('lodash/map');
function _extractProps(column) {
return (0, _pick["default"])(column.props, ['align', 'allowCellsRecycling', 'cellClassName', 'columnKey', 'flexGrow', 'fixed', 'fixedRight', 'maxWidth', 'minWidth', 'isReorderable', 'isResizable', 'pureRendering', 'width']);
}
var _map2 = _interopRequireDefault(_map);
;
var _pick = require('lodash/pick');
var _pick2 = _interopRequireDefault(_pick);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extractProps(column) {
return (0, _pick2.default)(column.props, ['align', 'allowCellsRecycling', 'cellClassName', 'columnKey', 'flexGrow', 'fixed', 'fixedRight', 'maxWidth', 'minWidth', 'isReorderable', 'isResizable', 'pureRendering', 'width']);
};
function _extractTemplates(elementTemplates, columnElement) {

@@ -50,15 +42,18 @@ elementTemplates.cell.push(columnElement.props.cell);

elementTemplates.header.push(columnElement.props.header);
};
}
;
/**
* Converts React column / column group elements into props and cell rendering templates
*/
function convertColumnElementsToData(childComponents) {
var children = [];
_react2.default.Children.forEach(childComponents, function (child, index) {
_react["default"].Children.forEach(childComponents, function (child, index) {
if (child == null) {
return;
}
(0, _invariant2.default)(child.type.__TableColumnGroup__ || child.type.__TableColumn__, 'child type should be <FixedDataTableColumn /> or <FixedDataTableColumnGroup />');
(0, _invariant["default"])(child.type.__TableColumnGroup__ || child.type.__TableColumn__, 'child type should be <FixedDataTableColumn /> or <FixedDataTableColumnGroup />');
children.push(child);

@@ -73,18 +68,19 @@ });

};
var columnProps = [];
var hasGroupHeader = children.length && children[0].type.__TableColumnGroup__;
if (hasGroupHeader) {
var columnGroupProps = (0, _map2.default)(children, _extractProps);
(0, _forEach2.default)(children, function (columnGroupElement, index) {
var columnGroupProps = (0, _map["default"])(children, _extractProps);
(0, _forEach["default"])(children, function (columnGroupElement, index) {
elementTemplates.groupHeader.push(columnGroupElement.props.header);
_react2.default.Children.forEach(columnGroupElement.props.children, function (child) {
_react["default"].Children.forEach(columnGroupElement.props.children, function (child) {
var column = _extractProps(child);
column.groupIdx = index;
columnProps.push(column);
_extractTemplates(elementTemplates, child);
});
});
return {

@@ -96,7 +92,8 @@ columnGroupProps: columnGroupProps,

};
}
} // Use a default column group
// Use a default column group
(0, _forEach2.default)(children, function (child) {
(0, _forEach["default"])(children, function (child) {
columnProps.push(_extractProps(child));
_extractTemplates(elementTemplates, child);

@@ -110,4 +107,6 @@ });

};
};
}
exports.default = convertColumnElementsToData;
;
var _default = convertColumnElementsToData;
exports["default"] = _default;

@@ -799,6 +799,6 @@ 'use strict';

onKeyDown: this._onKeyDown,
onTouchStart: this._touchHandler.onTouchStart,
onTouchEnd: this._touchHandler.onTouchEnd,
onTouchMove: this._touchHandler.onTouchMove,
onTouchCancel: this._touchHandler.onTouchCancel,
onTouchStart: state.touchScrollEnabled ? this._touchHandler.onTouchStart : null,
onTouchEnd: state.touchScrollEnabled ? this._touchHandler.onTouchEnd : null,
onTouchMove: state.touchScrollEnabled ? this._touchHandler.onTouchMove : null,
onTouchCancel: state.touchScrollEnabled ? this._touchHandler.onTouchCancel : null,
ref: this._onRef,

@@ -805,0 +805,0 @@ style: { height: state.height, width: state.width } },

@@ -1,75 +0,64 @@

'use strict';
"use strict";
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var ActionTypes = _interopRequireWildcard(require('./ActionTypes'));
var _ActionTypes = require('./ActionTypes');
var _FixedDataTable = _interopRequireDefault(require('./FixedDataTable'));
var ActionTypes = _interopRequireWildcard(_ActionTypes);
var _FixedDataTableStore = _interopRequireDefault(require('./FixedDataTableStore'));
var _FixedDataTable = require('./FixedDataTable');
var _react = _interopRequireDefault(require('react'));
var _FixedDataTable2 = _interopRequireDefault(_FixedDataTable);
var _redux = require('redux');
var _FixedDataTableStore = require('./FixedDataTableStore');
var columnActions = _interopRequireWildcard(require('./columnActions'));
var _FixedDataTableStore2 = _interopRequireDefault(_FixedDataTableStore);
var _invariant = _interopRequireDefault(require('./invariant'));
var _react = require('react');
var _pick = _interopRequireDefault(require('lodash/pick'));
var _react2 = _interopRequireDefault(_react);
var scrollActions = _interopRequireWildcard(require('./scrollActions'));
var _redux = require('redux');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _columnActions = require('./columnActions');
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
var columnActions = _interopRequireWildcard(_columnActions);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
var _invariant = require('./invariant');
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var _invariant2 = _interopRequireDefault(_invariant);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var _pick = require('lodash/pick');
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
var _pick2 = _interopRequireDefault(_pick);
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var _scrollActions = require('./scrollActions');
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
var scrollActions = _interopRequireWildcard(_scrollActions);
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule FixedDataTableContainer
* @typechecks
* @noflow
*/
var FixedDataTableContainer = function (_React$Component) {
var FixedDataTableContainer =
/*#__PURE__*/
function (_React$Component) {
_inherits(FixedDataTableContainer, _React$Component);
function FixedDataTableContainer(props) {
var _this;
_classCallCheck(this, FixedDataTableContainer);
var _this = _possibleConstructorReturn(this, (FixedDataTableContainer.__proto__ || Object.getPrototypeOf(FixedDataTableContainer)).call(this, props));
_this.update = _this.update.bind(_this);
_this.reduxStore = _FixedDataTableStore2.default.get();
_this = _possibleConstructorReturn(this, _getPrototypeOf(FixedDataTableContainer).call(this, props));
_this.update = _this.update.bind(_assertThisInitialized(_this));
_this.reduxStore = _FixedDataTableStore["default"].get();
_this.unsubscribe = _this.reduxStore.subscribe(_this.update);
_this.scrollActions = (0, _redux.bindActionCreators)(scrollActions, _this.reduxStore.dispatch);

@@ -81,6 +70,5 @@ _this.columnActions = (0, _redux.bindActionCreators)(columnActions, _this.reduxStore.dispatch);

_createClass(FixedDataTableContainer, [{
key: 'componentWillMount',
key: "componentWillMount",
value: function componentWillMount() {
var props = this.props;
this.reduxStore.dispatch({

@@ -90,10 +78,8 @@ type: ActionTypes.INITIALIZE,

});
this.update();
}
}, {
key: 'componentWillReceiveProps',
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
(0, _invariant2.default)(nextProps.height !== undefined || nextProps.maxHeight !== undefined, 'You must set either a height or a maxHeight');
(0, _invariant["default"])(nextProps.height !== undefined || nextProps.maxHeight !== undefined, 'You must set either a height or a maxHeight');
this.reduxStore.dispatch({

@@ -106,3 +92,3 @@ type: ActionTypes.PROP_CHANGE,

}, {
key: 'componentWillUnmount',
key: "componentWillUnmount",
value: function componentWillUnmount() {

@@ -113,8 +99,9 @@ if (this.unsubscribe) {

}
this.reduxStore = null;
}
}, {
key: 'render',
key: "render",
value: function render() {
return _react2.default.createElement(_FixedDataTable2.default, _extends({}, this.props, this.state, {
return _react["default"].createElement(_FixedDataTable["default"], _extends({}, this.props, this.state, {
scrollActions: this.scrollActions,

@@ -125,7 +112,6 @@ columnActions: this.columnActions

}, {
key: 'update',
key: "update",
value: function update() {
var state = this.reduxStore.getState();
var boundState = (0, _pick2.default)(state, ['columnGroupProps', 'columnProps', 'columnReorderingData', 'columnResizingData', 'elementHeights', 'elementTemplates', 'firstRowIndex', 'endRowIndex', 'isColumnReordering', 'isColumnResizing', 'maxScrollX', 'maxScrollY', 'rows', 'rowOffsets', 'rowSettings', 'scrollContentHeight', 'scrollFlags', 'scrollX', 'scrollY', 'scrolling', 'scrollJumpedX', 'scrollJumpedY', 'tableSize']);
var boundState = (0, _pick["default"])(state, ['columnGroupProps', 'columnProps', 'columnReorderingData', 'columnResizingData', 'elementHeights', 'elementTemplates', 'firstRowIndex', 'endRowIndex', 'isColumnReordering', 'isColumnResizing', 'maxScrollX', 'maxScrollY', 'rows', 'rowOffsets', 'rowSettings', 'scrollContentHeight', 'scrollFlags', 'scrollX', 'scrollY', 'scrolling', 'scrollJumpedX', 'scrollJumpedY', 'tableSize']);
this.setState(boundState);

@@ -136,4 +122,5 @@ }

return FixedDataTableContainer;
}(_react2.default.Component);
}(_react["default"].Component);
module.exports = FixedDataTableContainer;
var _default = FixedDataTableContainer;
exports["default"] = _default;

@@ -39,3 +39,3 @@ /**

FixedDataTableRoot.version = '0.8.26';
FixedDataTableRoot.version = '0.8.27';
module.exports = FixedDataTableRoot;

@@ -265,3 +265,5 @@ /**

height: this.props.height,
left: this.props.width - scrollbarOffset
// Since the box-sizing = border-box the border on the table is included in the width
// so we need to account for the left and right border
left: this.props.width - scrollbarOffset - 2
};

@@ -268,0 +270,0 @@ scrollbarSpacer = _react2.default.createElement('div', {

@@ -11,17 +11,20 @@ /**

*/
'use strict';
var _reducers = require('./reducers');
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _reducers2 = _interopRequireDefault(_reducers);
var _reducers = _interopRequireDefault(require('./reducers'));
var _redux = require('redux');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
module.exports = {
var _default = {
get: function get() {
return (0, _redux.createStore)(_reducers2.default);
return (0, _redux.createStore)(_reducers["default"]);
}
};
};
exports["default"] = _default;

@@ -11,45 +11,33 @@ /**

*/
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _scrollAnchor3 = require('./scrollAnchor');
var _ActionTypes = require('./ActionTypes');
var ActionTypes = _interopRequireWildcard(require('./ActionTypes'));
var ActionTypes = _interopRequireWildcard(_ActionTypes);
var _IntegerBufferSet = _interopRequireDefault(require('./IntegerBufferSet'));
var _IntegerBufferSet = require('./IntegerBufferSet');
var _PrefixIntervalTree = _interopRequireDefault(require('./PrefixIntervalTree'));
var _IntegerBufferSet2 = _interopRequireDefault(_IntegerBufferSet);
var _columnStateHelper = _interopRequireDefault(require('./columnStateHelper'));
var _PrefixIntervalTree = require('./PrefixIntervalTree');
var _computeRenderedRows = _interopRequireDefault(require('./computeRenderedRows'));
var _PrefixIntervalTree2 = _interopRequireDefault(_PrefixIntervalTree);
var _convertColumnElementsToData = _interopRequireDefault(require('./convertColumnElementsToData'));
var _columnStateHelper = require('./columnStateHelper');
var _pick = _interopRequireDefault(require('lodash/pick'));
var _columnStateHelper2 = _interopRequireDefault(_columnStateHelper);
var _shallowEqual = _interopRequireDefault(require('./shallowEqual'));
var _computeRenderedRows = require('./computeRenderedRows');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _computeRenderedRows2 = _interopRequireDefault(_computeRenderedRows);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
var _convertColumnElementsToData = require('./convertColumnElementsToData');
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var _convertColumnElementsToData2 = _interopRequireDefault(_convertColumnElementsToData);
var _pick = require('lodash/pick');
var _pick2 = _interopRequireDefault(_pick);
var _shallowEqual = require('./shallowEqual');
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**

@@ -119,3 +107,4 @@ * Returns the default initial state for the redux store.

rowOffsets: {},
rows: [], // rowsToRender
rows: [],
// rowsToRender
scrollContentHeight: 0,

@@ -132,5 +121,6 @@ scrollX: 0,

*/
rowBufferSet: new _IntegerBufferSet2.default(),
rowBufferSet: new _IntegerBufferSet["default"](),
storedHeights: [],
rowOffsetIntervalTree: null // PrefixIntervalTree
};

@@ -141,3 +131,3 @@ }

var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitialState();
var action = arguments[1];
var action = arguments.length > 1 ? arguments[1] : undefined;

@@ -148,10 +138,9 @@ switch (action.type) {

var props = action.props;
var newState = setStateFromProps(state, props);
newState = initializeRowHeightsAndOffsets(newState);
var scrollAnchor = (0, _scrollAnchor3.getScrollAnchor)(newState, props);
newState = (0, _computeRenderedRows2.default)(newState, scrollAnchor);
return _columnStateHelper2.default.initialize(newState, props, {});
newState = (0, _computeRenderedRows["default"])(newState, scrollAnchor);
return _columnStateHelper["default"].initialize(newState, props, {});
}
case ActionTypes.PROP_CHANGE:

@@ -171,25 +160,25 @@ {

// we know setStateFromProps clones state internally
_newState.rowBufferSet = new _IntegerBufferSet2.default();
_newState.rowBufferSet = new _IntegerBufferSet["default"]();
}
var _scrollAnchor = (0, _scrollAnchor3.getScrollAnchor)(_newState, newProps, oldProps);
var _scrollAnchor = (0, _scrollAnchor3.getScrollAnchor)(_newState, newProps, oldProps); // If anything has changed in state, update our rendered rows
// If anything has changed in state, update our rendered rows
if (!(0, _shallowEqual2.default)(state, _newState) || _scrollAnchor.changed) {
_newState = (0, _computeRenderedRows2.default)(_newState, _scrollAnchor);
if (!(0, _shallowEqual["default"])(state, _newState) || _scrollAnchor.changed) {
_newState = (0, _computeRenderedRows["default"])(_newState, _scrollAnchor);
}
_newState = _columnStateHelper2.default.initialize(_newState, newProps, oldProps);
_newState = _columnStateHelper["default"].initialize(_newState, newProps, oldProps); // if scroll values have changed, then we're scrolling!
// if scroll values have changed, then we're scrolling!
if (_newState.scrollX !== state.scrollX || _newState.scrollY !== state.scrollY) {
_newState.scrolling = _newState.scrolling || true;
}
// TODO REDUX_MIGRATION solve w/ evil-diff
} // TODO REDUX_MIGRATION solve w/ evil-diff
// TODO (jordan) check if relevant props unchanged and
// children column widths and flex widths are unchanged
// alternatively shallow diff and reconcile props
return _newState;
}
case ActionTypes.SCROLL_END:

@@ -200,2 +189,3 @@ {

});
var previousScrollAnchor = {

@@ -206,4 +196,5 @@ firstIndex: state.firstRowIndex,

};
return (0, _computeRenderedRows2.default)(_newState2, previousScrollAnchor);
return (0, _computeRenderedRows["default"])(_newState2, previousScrollAnchor);
}
case ActionTypes.SCROLL_TO_Y:

@@ -216,17 +207,20 @@ {

});
var _scrollAnchor2 = (0, _scrollAnchor3.scrollTo)(_newState3, scrollY);
return (0, _computeRenderedRows2.default)(_newState3, _scrollAnchor2);
return (0, _computeRenderedRows["default"])(_newState3, _scrollAnchor2);
}
case ActionTypes.COLUMN_RESIZE:
{
var resizeData = action.resizeData;
return _columnStateHelper["default"].resizeColumn(state, resizeData);
}
return _columnStateHelper2.default.resizeColumn(state, resizeData);
}
case ActionTypes.COLUMN_REORDER_START:
{
var reorderData = action.reorderData;
return _columnStateHelper["default"].reorderColumn(state, reorderData);
}
return _columnStateHelper2.default.reorderColumn(state, reorderData);
}
case ActionTypes.COLUMN_REORDER_END:

@@ -239,12 +233,12 @@ {

}
case ActionTypes.COLUMN_REORDER_MOVE:
{
var deltaX = action.deltaX;
return _columnStateHelper["default"].reorderColumnMove(state, deltaX);
}
return _columnStateHelper2.default.reorderColumnMove(state, deltaX);
}
case ActionTypes.SCROLL_TO_X:
{
var scrollX = action.scrollX;
return _extends({}, state, {

@@ -255,2 +249,3 @@ scrolling: true,

}
default:

@@ -262,3 +257,2 @@ {

}
/**

@@ -270,2 +264,4 @@ * Initialize row heights (storedHeights) & offsets based on the default rowHeight

*/
function initializeRowHeightsAndOffsets(state) {

@@ -276,10 +272,13 @@ var _state$rowSettings = state.rowSettings,

subRowHeight = _state$rowSettings.subRowHeight;
var defaultFullRowHeight = rowHeight + subRowHeight;
var defaultFullRowHeight = rowHeight + subRowHeight;
var rowOffsetIntervalTree = _PrefixIntervalTree2.default.uniform(rowsCount, defaultFullRowHeight);
var rowOffsetIntervalTree = _PrefixIntervalTree["default"].uniform(rowsCount, defaultFullRowHeight);
var scrollContentHeight = rowsCount * defaultFullRowHeight;
var storedHeights = new Array(rowsCount);
for (var idx = 0; idx < rowsCount; idx++) {
storedHeights[idx] = defaultFullRowHeight;
}
return _extends({}, state, {

@@ -291,3 +290,2 @@ rowOffsetIntervalTree: rowOffsetIntervalTree,

}
/**

@@ -299,4 +297,6 @@ * @param {!Object} state

*/
function setStateFromProps(state, props) {
var _convertColumnElement = (0, _convertColumnElementsToData2.default)(props.children),
var _convertColumnElement = (0, _convertColumnElementsToData["default"])(props.children),
columnGroupProps = _convertColumnElement.columnGroupProps,

@@ -307,5 +307,10 @@ columnProps = _convertColumnElement.columnProps,

var newState = _extends({}, state, { columnGroupProps: columnGroupProps, columnProps: columnProps, elementTemplates: elementTemplates });
var newState = _extends({}, state, {
columnGroupProps: columnGroupProps,
columnProps: columnProps,
elementTemplates: elementTemplates
});
newState.elementHeights = _extends({}, newState.elementHeights, (0, _pick2.default)(props, ['cellGroupWrapperHeight', 'footerHeight', 'groupHeaderHeight', 'headerHeight']));
newState.elementHeights = _extends({}, newState.elementHeights, (0, _pick["default"])(props, ['cellGroupWrapperHeight', 'footerHeight', 'groupHeaderHeight', 'headerHeight']));
if (!useGroupHeader) {

@@ -315,3 +320,3 @@ newState.elementHeights.groupHeaderHeight = 0;

newState.rowSettings = _extends({}, newState.rowSettings, (0, _pick2.default)(props, ['bufferRowCount', 'rowHeight', 'rowsCount', 'subRowHeight']));
newState.rowSettings = _extends({}, newState.rowSettings, (0, _pick["default"])(props, ['bufferRowCount', 'rowHeight', 'rowsCount', 'subRowHeight']));
var _newState$rowSettings = newState.rowSettings,

@@ -324,2 +329,3 @@ rowHeight = _newState$rowSettings.rowHeight,

};
newState.rowSettings.subRowHeightGetter = props.subRowHeightGetter || function () {

@@ -329,10 +335,9 @@ return subRowHeight || 0;

newState.scrollFlags = _extends({}, newState.scrollFlags, (0, _pick2.default)(props, ['overflowX', 'overflowY', 'showScrollbarX', 'showScrollbarY']));
newState.tableSize = _extends({}, newState.tableSize, (0, _pick2.default)(props, ['height', 'maxHeight', 'ownerHeight', 'width']));
newState.scrollFlags = _extends({}, newState.scrollFlags, (0, _pick["default"])(props, ['overflowX', 'overflowY', 'showScrollbarX', 'showScrollbarY']));
newState.tableSize = _extends({}, newState.tableSize, (0, _pick["default"])(props, ['height', 'maxHeight', 'ownerHeight', 'width']));
newState.tableSize.useMaxHeight = newState.tableSize.height === undefined;
return newState;
}
module.exports = reducers;
var _default = reducers;
exports["default"] = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,20 +6,14 @@ Object.defineProperty(exports, "__esModule", {

});
exports.ScrollbarState = undefined;
exports["default"] = exports.ScrollbarState = void 0;
var _widthHelper = require('./widthHelper');
var _Scrollbar = require('./Scrollbar');
var _Scrollbar = _interopRequireDefault(require('./Scrollbar'));
var _Scrollbar2 = _interopRequireDefault(_Scrollbar);
var _clamp = _interopRequireDefault(require('./clamp'));
var _clamp = require('./clamp');
var _shallowEqualSelector = _interopRequireDefault(require('./shallowEqualSelector'));
var _clamp2 = _interopRequireDefault(_clamp);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _shallowEqualSelector = require('./shallowEqualSelector');
var _shallowEqualSelector2 = _interopRequireDefault(_shallowEqualSelector);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -38,4 +32,3 @@ * Copyright Schrodinger, LLC

var MAX_BUFFER_ROWS = 6;
var ScrollbarState = exports.ScrollbarState = {
var ScrollbarState = {
HIDDEN: 'hidden',

@@ -45,3 +38,2 @@ JOINT_SCROLLBARS: 'JOINT_SCROLLBARS',

};
/**

@@ -99,2 +91,5 @@ * Calculate the available height for the viewport.

*/
exports.ScrollbarState = ScrollbarState;
function roughHeights(columnProps, elementHeights, rowSettings, scrollFlags, tableSize) {

@@ -104,8 +99,6 @@ var cellGroupWrapperHeight = elementHeights.cellGroupWrapperHeight,

headerHeight = elementHeights.headerHeight,
groupHeaderHeight = elementHeights.groupHeaderHeight;
// we don't need border height to be added to the table if we are using cellGroupWrapperHeight
groupHeaderHeight = elementHeights.groupHeaderHeight; // we don't need border height to be added to the table if we are using cellGroupWrapperHeight
var borderHeight = cellGroupWrapperHeight ? 0 : 2 * BORDER_HEIGHT;
var reservedHeight = footerHeight + headerHeight + groupHeaderHeight + borderHeight;
var height = tableSize.height,

@@ -115,8 +108,5 @@ maxHeight = tableSize.maxHeight,

width = tableSize.width;
var maxComponentHeight = Math.round(useMaxHeight ? maxHeight : height);
var roughAvailableHeight = maxComponentHeight - reservedHeight;
var scrollStateX = getScrollStateX(columnProps, scrollFlags, width);
/*

@@ -129,14 +119,17 @@ * Early estimates of how much height we have to show rows.

*/
var minAvailableHeight = roughAvailableHeight;
var maxAvailableHeight = roughAvailableHeight;
switch (scrollStateX) {
case ScrollbarState.VISIBLE:
{
minAvailableHeight -= _Scrollbar2.default.SIZE;
maxAvailableHeight -= _Scrollbar2.default.SIZE;
minAvailableHeight -= _Scrollbar["default"].SIZE;
maxAvailableHeight -= _Scrollbar["default"].SIZE;
break;
}
case ScrollbarState.JOINT_SCROLLBARS:
{
minAvailableHeight -= _Scrollbar2.default.SIZE;
minAvailableHeight -= _Scrollbar["default"].SIZE;
break;

@@ -154,3 +147,2 @@ }

}
/**

@@ -167,7 +159,9 @@ * @param {!Array.<{

*/
function getScrollStateX(columnProps, scrollFlags, width) {
var overflowX = scrollFlags.overflowX,
showScrollbarX = scrollFlags.showScrollbarX;
var minColWidth = (0, _widthHelper.getTotalWidth)(columnProps);
var minColWidth = (0, _widthHelper.getTotalWidth)(columnProps);
if (overflowX === 'hidden' || showScrollbarX === false) {

@@ -179,9 +173,10 @@ return ScrollbarState.HIDDEN;

var scrollbarSpace = _Scrollbar2.default.SIZE + _Scrollbar2.default.OFFSET;
var scrollbarSpace = _Scrollbar["default"].SIZE + _Scrollbar["default"].OFFSET;
if (minColWidth > width - scrollbarSpace) {
return ScrollbarState.JOINT_SCROLLBARS;
}
return ScrollbarState.HIDDEN;
}
/**

@@ -196,2 +191,4 @@ * @param {number} maxAvailableHeight

*/
function getBufferRowCount(maxAvailableHeight, rowSettings) {

@@ -209,6 +206,6 @@ var bufferRowCount = rowSettings.bufferRowCount,

var avgVisibleRowCount = Math.ceil(maxAvailableHeight / fullRowHeight) + 1;
return (0, _clamp2.default)(Math.floor(avgVisibleRowCount / 2), MIN_BUFFER_ROWS, MAX_BUFFER_ROWS);
return (0, _clamp["default"])(Math.floor(avgVisibleRowCount / 2), MIN_BUFFER_ROWS, MAX_BUFFER_ROWS);
}
exports.default = (0, _shallowEqualSelector2.default)([function (state) {
var _default = (0, _shallowEqualSelector["default"])([function (state) {
return state.columnProps;

@@ -223,2 +220,4 @@ }, function (state) {

return state.tableSize;
}], roughHeights);
}], roughHeights);
exports["default"] = _default;

@@ -7,3 +7,2 @@ /**

*/
'use strict';

@@ -14,3 +13,3 @@

});
exports.stopScroll = exports.startScroll = exports.scrollToY = exports.scrollToX = undefined;
exports.stopScroll = exports.startScroll = exports.scrollToY = exports.scrollToX = void 0;

@@ -24,3 +23,3 @@ var _ActionTypes = require('././ActionTypes');

*/
var scrollToX = exports.scrollToX = function scrollToX(scrollX) {
var scrollToX = function scrollToX(scrollX) {
return {

@@ -31,3 +30,2 @@ type: _ActionTypes.SCROLL_TO_X,

};
/**

@@ -38,3 +36,7 @@ * Scrolls the table vertically to position

*/
var scrollToY = exports.scrollToY = function scrollToY(scrollY) {
exports.scrollToX = scrollToX;
var scrollToY = function scrollToY(scrollY) {
return {

@@ -45,7 +47,10 @@ type: _ActionTypes.SCROLL_TO_Y,

};
/**
* Fire when user starts scrolling
*/
var startScroll = exports.startScroll = function startScroll() {
exports.scrollToY = scrollToY;
var startScroll = function startScroll() {
return {

@@ -55,10 +60,15 @@ type: _ActionTypes.SCROLL_START

};
/**
* Fire when user starts scrolling
*/
var stopScroll = exports.stopScroll = function stopScroll() {
exports.startScroll = startScroll;
var stopScroll = function stopScroll() {
return {
type: _ActionTypes.SCROLL_END
};
};
};
exports.stopScroll = stopScroll;

@@ -11,3 +11,2 @@ /**

*/
'use strict';

@@ -21,20 +20,12 @@

var _clamp = require('./clamp');
var _clamp = _interopRequireDefault(require('./clamp'));
var _clamp2 = _interopRequireDefault(_clamp);
var _set = _interopRequireDefault(require('lodash/set'));
var _set = require('lodash/set');
var _updateRowHeight = _interopRequireDefault(require('./updateRowHeight'));
var _set2 = _interopRequireDefault(_set);
var _scrollbarsVisible = _interopRequireDefault(require('./scrollbarsVisible'));
var _updateRowHeight = require('./updateRowHeight');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _updateRowHeight2 = _interopRequireDefault(_updateRowHeight);
var _scrollbarsVisible = require('./scrollbarsVisible');
var _scrollbarsVisible2 = _interopRequireDefault(_scrollbarsVisible);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -71,3 +62,2 @@ * Get the anchor for scrolling.

}
/**

@@ -85,4 +75,6 @@ * Scroll to a specific position in the grid

*/
function scrollTo(state, scrollY) {
var _scrollbarsVisibleSel = (0, _scrollbarsVisible2.default)(state),
var _scrollbarsVisibleSel = (0, _scrollbarsVisible["default"])(state),
availableHeight = _scrollbarsVisibleSel.availableHeight;

@@ -95,3 +87,2 @@

if (rowsCount === 0) {

@@ -109,4 +100,4 @@ return {

var lastIndex = undefined;
if (scrollY <= 0) {
// Use defaults (from above) to scroll to first row
if (scrollY <= 0) {// Use defaults (from above) to scroll to first row
} else if (scrollY >= scrollContentHeight - availableHeight) {

@@ -121,7 +112,6 @@ // Scroll to the last row

var newRowIdx = rowOffsetIntervalTree.greatestLowerBound(scrollY);
firstIndex = (0, _clamp2.default)(newRowIdx, 0, Math.max(rowsCount - 1, 0));
// Record how far into the first row we should scroll
firstIndex = (0, _clamp["default"])(newRowIdx, 0, Math.max(rowsCount - 1, 0)); // Record how far into the first row we should scroll
// firstOffset is a negative value representing how much larger scrollY is
// than the scroll position of the first row in the viewport
var firstRowPosition = rowOffsetIntervalTree.sumUntil(firstIndex);

@@ -140,3 +130,2 @@ firstOffset = firstRowPosition - scrollY;

}
/**

@@ -158,4 +147,6 @@ * Scroll a specified row into the viewport

*/
function scrollToRow(state, rowIndex) {
var _scrollbarsVisibleSel2 = (0, _scrollbarsVisible2.default)(state),
var _scrollbarsVisibleSel2 = (0, _scrollbarsVisible["default"])(state),
availableHeight = _scrollbarsVisibleSel2.availableHeight;

@@ -169,3 +160,2 @@

if (rowsCount === 0) {

@@ -180,11 +170,10 @@ return {

rowIndex = (0, _clamp2.default)(rowIndex, 0, Math.max(rowsCount - 1, 0));
(0, _updateRowHeight2.default)(state, rowIndex);
rowIndex = (0, _clamp["default"])(rowIndex, 0, Math.max(rowsCount - 1, 0));
(0, _updateRowHeight["default"])(state, rowIndex);
var rowBegin = rowOffsetIntervalTree.sumUntil(rowIndex);
var rowEnd = rowBegin + storedHeights[rowIndex];
var firstIndex = rowIndex;
var lastIndex = undefined;
if (rowBegin < scrollY) {
// If before the viewport, set as the first row in the viewport
if (rowBegin < scrollY) {// If before the viewport, set as the first row in the viewport
// Uses defaults (from above)

@@ -191,0 +180,0 @@ } else if (scrollY + availableHeight < rowEnd) {

@@ -78,7 +78,7 @@ 'use strict';

var getTouchX = function getTouchX(e) {
return Math.round(e.targetTouches[0].pageX - e.target.getBoundingClientRect().x);
return Math.round(e.targetTouches[0].clientX - e.target.getBoundingClientRect().x);
};
var getTouchY = function getTouchY(e) {
return Math.round(e.targetTouches[0].pageY - e.target.getBoundingClientRect().y);
return Math.round(e.targetTouches[0].clientY - e.target.getBoundingClientRect().y);
};

@@ -85,0 +85,0 @@

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,12 +6,22 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _roughHeights = require('./roughHeights');
var _roughHeights = _interopRequireWildcard(require('./roughHeights'));
var _roughHeights2 = _interopRequireDefault(_roughHeights);
var _shallowEqualSelector = _interopRequireDefault(require('./shallowEqualSelector'));
var _shallowEqualSelector = require('./shallowEqualSelector');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _shallowEqualSelector2 = _interopRequireDefault(_shallowEqualSelector);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule scrollbarsVisible
*/

@@ -38,32 +48,21 @@ /**

*/
/**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule scrollbarsVisible
*/
function scrollbarsVisible(roughHeights, scrollContentHeight, scrollFlags) {
var overflowY = scrollFlags.overflowY,
showScrollbarY = scrollFlags.showScrollbarY;
var allowScrollbarY = overflowY !== 'hidden' && showScrollbarY !== false;
var minAvailableHeight = roughHeights.minAvailableHeight,
maxAvailableHeight = roughHeights.maxAvailableHeight,
scrollStateX = roughHeights.scrollStateX;
var scrollEnabledY = false;
var scrollEnabledX = false;
if (scrollStateX === _roughHeights.ScrollbarState.VISIBLE) {
scrollEnabledX = true;
}
if (allowScrollbarY && scrollContentHeight > maxAvailableHeight) {
scrollEnabledY = true;
}
} // Handle case where vertical scrollbar makes horizontal scrollbar necessary
// Handle case where vertical scrollbar makes horizontal scrollbar necessary
if (scrollEnabledY && scrollStateX === _roughHeights.ScrollbarState.JOINT_SCROLLBARS) {

@@ -74,2 +73,3 @@ scrollEnabledX = true;

var availableHeight = maxAvailableHeight;
if (scrollEnabledX) {

@@ -86,6 +86,8 @@ availableHeight = minAvailableHeight;

exports.default = (0, _shallowEqualSelector2.default)([_roughHeights2.default, function (state) {
var _default = (0, _shallowEqualSelector["default"])([_roughHeights["default"], function (state) {
return state.scrollContentHeight;
}, function (state) {
return state.scrollFlags;
}], scrollbarsVisible);
}], scrollbarsVisible);
exports["default"] = _default;

@@ -11,3 +11,2 @@ /**

*/
'use strict';

@@ -18,11 +17,12 @@

});
exports["default"] = void 0;
var _reselect = require('reselect');
var _shallowEqual = require('./shallowEqual');
var _shallowEqual = _interopRequireDefault(require('./shallowEqual'));
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = (0, _reselect.createSelectorCreator)(_reselect.defaultMemoize, _shallowEqual["default"]);
exports.default = (0, _reselect.createSelectorCreator)(_reselect.defaultMemoize, _shallowEqual2.default);
exports["default"] = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,21 +6,25 @@ Object.defineProperty(exports, "__esModule", {

});
exports["default"] = void 0;
var _Scrollbar = require('./Scrollbar');
var _Scrollbar = _interopRequireDefault(require('./Scrollbar'));
var _Scrollbar2 = _interopRequireDefault(_Scrollbar);
var _roughHeights = _interopRequireDefault(require('./roughHeights'));
var _roughHeights = require('./roughHeights');
var _scrollbarsVisible = _interopRequireDefault(require('./scrollbarsVisible'));
var _roughHeights2 = _interopRequireDefault(_roughHeights);
var _shallowEqualSelector = _interopRequireDefault(require('./shallowEqualSelector'));
var _scrollbarsVisible = require('./scrollbarsVisible');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _scrollbarsVisible2 = _interopRequireDefault(_scrollbarsVisible);
/**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule tableHeights
*/
var _shallowEqualSelector = require('./shallowEqualSelector');
var _shallowEqualSelector2 = _interopRequireDefault(_shallowEqualSelector);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -53,53 +57,41 @@ * Compute the necessary heights for rendering parts of the table

*/
/**
* Copyright Schrodinger, LLC
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule tableHeights
*/
function tableHeights(elementHeights, ownerHeight, reservedHeight, scrollContentHeight, scrollbarsVisible, useMaxHeight) {
var availableHeight = scrollbarsVisible.availableHeight,
scrollEnabledX = scrollbarsVisible.scrollEnabledX;
var reservedWithScrollbar = reservedHeight;
var reservedWithScrollbar = reservedHeight;
if (scrollEnabledX) {
reservedWithScrollbar += _Scrollbar2.default.SIZE;
}
// If less content than space for rows (bodyHeight), then
reservedWithScrollbar += _Scrollbar["default"].SIZE;
} // If less content than space for rows (bodyHeight), then
// we should shrink the space for rows to fit our row content (scrollContentHeight).
var bodyHeight = Math.min(availableHeight, scrollContentHeight);
// If using max height, component should only be sized to content.
var bodyHeight = Math.min(availableHeight, scrollContentHeight); // If using max height, component should only be sized to content.
// Otherwise use all available height.
var rowContainerHeight = useMaxHeight ? bodyHeight : availableHeight;
var componentHeight = rowContainerHeight + reservedWithScrollbar;
var componentHeight = rowContainerHeight + reservedWithScrollbar; // If we have an owner height and it's less than the component height,
// adjust visible height so we show footer and scrollbar position at the bottom of owner.
// If we have an owner height and it's less than the component height,
// adjust visible height so we show footer and scrollbar position at the bottom of owner.
var visibleRowsHeight = rowContainerHeight;
if (ownerHeight < componentHeight) {
visibleRowsHeight = ownerHeight - reservedWithScrollbar;
}
// If using max height, virtual row container is scrollContentHeight, otherwise
} // If using max height, virtual row container is scrollContentHeight, otherwise
// it is the larger of that or the available height.
var virtualRowContainerHeight = useMaxHeight ? scrollContentHeight : Math.max(scrollContentHeight, availableHeight);
// contentHeight is the virtual rows height and reserved height,
var virtualRowContainerHeight = useMaxHeight ? scrollContentHeight : Math.max(scrollContentHeight, availableHeight); // contentHeight is the virtual rows height and reserved height,
// or ownerHeight if that's larger
var contentHeight = virtualRowContainerHeight + reservedWithScrollbar;
if (ownerHeight) {
contentHeight = Math.max(ownerHeight, contentHeight);
}
} // Determine component offsets
// Determine component offsets
var footerHeight = elementHeights.footerHeight,
groupHeaderHeight = elementHeights.groupHeaderHeight,
headerHeight = elementHeights.headerHeight;
var bodyOffsetTop = groupHeaderHeight + headerHeight;

@@ -109,3 +101,2 @@ var footOffsetTop = bodyOffsetTop + visibleRowsHeight;

var scrollbarYHeight = Math.max(0, footOffsetTop - bodyOffsetTop);
return {

@@ -123,3 +114,3 @@ bodyHeight: bodyHeight,

exports.default = (0, _shallowEqualSelector2.default)([function (state) {
var _default = (0, _shallowEqualSelector["default"])([function (state) {
return state.elementHeights;

@@ -129,7 +120,9 @@ }, function (state) {

}, function (state) {
return (0, _roughHeights2.default)(state).reservedHeight;
return (0, _roughHeights["default"])(state).reservedHeight;
}, function (state) {
return state.scrollContentHeight;
}, _scrollbarsVisible2.default, function (state) {
}, _scrollbarsVisible["default"], function (state) {
return state.tableSize.useMaxHeight;
}], tableHeights);
}], tableHeights);
exports["default"] = _default;

@@ -11,5 +11,3 @@ /**

*/
'use strict';
/**

@@ -30,3 +28,4 @@ * Update our cached row height for a specific index

});
exports.default = updateRowHeight;
exports["default"] = updateRowHeight;
function updateRowHeight(state, rowIdx) {

@@ -38,6 +37,5 @@ var storedHeights = state.storedHeights,

subRowHeightGetter = rowSettings.subRowHeightGetter;
var newHeight = rowHeightGetter(rowIdx) + subRowHeightGetter(rowIdx);
var oldHeight = storedHeights[rowIdx];
if (newHeight !== oldHeight) {

@@ -44,0 +42,0 @@ rowOffsetIntervalTree.set(rowIdx, newHeight);

@@ -12,3 +12,2 @@ /**

*/
'use strict';

@@ -23,10 +22,8 @@

var _reduce = require('lodash/reduce');
var _reduce = _interopRequireDefault(require('lodash/reduce'));
var _reduce2 = _interopRequireDefault(_reduce);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function sumPropWidths(columns) {
return (0, _reduce2.default)(columns, function (accum, column) {
return (0, _reduce["default"])(columns, function (accum, column) {
return accum + column.props.width;

@@ -37,3 +34,3 @@ }, 0);

function getTotalWidth(columns) {
return (0, _reduce2.default)(columns, function (accum, column) {
return (0, _reduce["default"])(columns, function (accum, column) {
return accum + column.width;

@@ -44,5 +41,5 @@ }, 0);

function getTotalFlexGrow(columns) {
return (0, _reduce2.default)(columns, function (accum, column) {
return (0, _reduce["default"])(columns, function (accum, column) {
return accum + (column.flexGrow || 0);
}, 0);
}
{
"name": "fixed-data-table-2",
"version": "0.8.26",
"version": "0.8.27",
"description": "A React table component designed to allow presenting thousands of rows of data.",

@@ -5,0 +5,0 @@ "main": "main.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc