@integec/grid-tools
Version:
Integ Grid Tools
172 lines (141 loc) • 6.6 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withColumnOffset = exports.defaultCellRender = exports.defaultRowHeaderRender = exports.cellRenderWrapper = exports.ColHeaderBase = exports.Cell = undefined;
var _omit = require('ramda/src/omit');
var _omit2 = _interopRequireDefault(_omit);
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 _templateObject = _taggedTemplateLiteral(['\n border-bottom: 1px solid #ccc;\n'], ['\n border-bottom: 1px solid #ccc;\n']);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Components = require('../Components');
var _AdvancedPureComponent = require('../AdvancedPureComponent');
var _AdvancedPureComponent2 = _interopRequireDefault(_AdvancedPureComponent);
var _utils = require('../utils');
var _VirtualizedContext = require('./VirtualizedContext');
var _CellEditContainer = require('../CellEditContainer');
var _CellEditContainer2 = _interopRequireDefault(_CellEditContainer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
/* justify-content: ${props => mapAlignmentToJustifyContent(props.alignment) || 'center'}; */
var Cell = exports.Cell = _Components.BasicCell.extend(_templateObject);
var ColHeaderBase = exports.ColHeaderBase = _Components.BasicColHeader.extend(_templateObject);
var flattenCellProps = function flattenCellProps(_ref) {
var style = _ref.style,
props = _objectWithoutProperties(_ref, ['style']);
return _extends({}, style, props);
};
var OptimizedContentCell = (0, _AdvancedPureComponent2.default)(Cell, flattenCellProps);
var ColHeader = function ColHeader(_ref2) {
var header = _ref2.header,
sortOrder = _ref2.sortOrder,
width = _ref2.width,
rest = _objectWithoutProperties(_ref2, ['header', 'sortOrder', 'width']);
return _react2.default.createElement(
ColHeaderBase,
_extends({ width: width }, rest, { sortable: header.sortable }),
header.display,
sortOrder === 'asc' ? _react2.default.createElement(
_Components.SortIndicator,
null,
'\u25B2'
) : sortOrder === 'desc' ? _react2.default.createElement(
_Components.SortIndicator,
null,
'\u25BC'
) : null
);
};
var cellRenderWrapper = exports.cellRenderWrapper = function cellRenderWrapper() {
var propPreProcessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (_) {
return _;
};
return function (render) {
return function (reactVirtualizedProps) {
return _react2.default.createElement(
_VirtualizedContext.Consumer,
{ key: reactVirtualizedProps.key },
function (gridToolProps) {
return render(propPreProcessor({ gridToolProps: gridToolProps, reactVirtualizedProps: reactVirtualizedProps }));
}
);
};
};
};
var defaultRowHeaderRender = exports.defaultRowHeaderRender = function defaultRowHeaderRender(_ref3) {
var _ref3$gridToolProps = _ref3.gridToolProps,
getColumnHeaderProps = _ref3$gridToolProps.getColumnHeaderProps,
getRowProps = _ref3$gridToolProps.getRowProps,
getCellProps = _ref3$gridToolProps.getCellProps,
getContainerProps = _ref3$gridToolProps.getContainerProps,
headers = _ref3$gridToolProps.headers,
data = _ref3$gridToolProps.data,
_ref3$reactVirtualize = _ref3.reactVirtualizedProps,
columnIndex = _ref3$reactVirtualize.columnIndex,
key = _ref3$reactVirtualize.key,
rowIndex = _ref3$reactVirtualize.rowIndex,
style = _ref3$reactVirtualize.style;
return _react2.default.createElement(
ColHeader,
getColumnHeaderProps({
index: columnIndex,
header: headers[columnIndex],
style: style
}),
(0, _utils.extractAndFormatData)({
rowData: data[rowIndex],
header: headers[columnIndex]
})
);
};
var defaultCellRender = function defaultCellRender(_ref4) {
var _ref4$gridToolProps = _ref4.gridToolProps,
getColumnHeaderProps = _ref4$gridToolProps.getColumnHeaderProps,
getRowProps = _ref4$gridToolProps.getRowProps,
getCellProps = _ref4$gridToolProps.getCellProps,
getContainerProps = _ref4$gridToolProps.getContainerProps,
getPagerProps = _ref4$gridToolProps.getPagerProps,
getRowEditorProps = _ref4$gridToolProps.getRowEditorProps,
headers = _ref4$gridToolProps.headers,
data = _ref4$gridToolProps.data,
editInfo = _ref4$gridToolProps.editInfo,
_ref4$reactVirtualize = _ref4.reactVirtualizedProps,
columnIndex = _ref4$reactVirtualize.columnIndex,
key = _ref4$reactVirtualize.key,
rowIndex = _ref4$reactVirtualize.rowIndex,
style = _ref4$reactVirtualize.style,
rest = _objectWithoutProperties(_ref4, ['gridToolProps', 'reactVirtualizedProps']);
var cellProps = getCellProps(_extends({
rowIndex: rowIndex,
columnIndex: columnIndex,
header: headers[columnIndex],
data: data,
style: style
}, rest));
if (cellProps.isEditing) {
var computedEditRender = cellProps.editRender || cellProps.header.choices ? _Components.dropdownEditRender : _Components.inputCellEditRender;
return _react2.default.createElement(_CellEditContainer2.default, _extends({}, cellProps, { render: computedEditRender }));
}
// if (cellProps.style.position == null) console.log('no position')
return _react2.default.createElement(
OptimizedContentCell,
(0, _omit2.default)(['data'], cellProps),
(0, _utils.extractAndFormatData)({
rowData: data[rowIndex],
header: headers[columnIndex]
})
);
};
exports.defaultCellRender = defaultCellRender;
var withColumnOffset = exports.withColumnOffset = function withColumnOffset(offSet) {
return function (props) {
return _extends({}, props, {
reactVirtualizedProps: _extends({}, props.reactVirtualizedProps, {
columnIndex: props.reactVirtualizedProps.columnIndex + offSet
})
});
};
};
//# sourceMappingURL=cellRender.js.map