@integec/grid-tools
Version:
Integ Grid Tools
244 lines (194 loc) • 10.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withColumnOffset = exports.defaultCellRender = exports.defaultRowHeaderRender = exports.cellRenderWrapper = exports.OptimizedEllipsisCell = exports.OptimizedContentCell = exports.ColHeaderBase = exports.EllipsisCell = exports.Cell = void 0;
var _omit2 = _interopRequireDefault(require("ramda/src/omit"));
var _react = _interopRequireDefault(require("react"));
var _Components = require("../Components");
var _AdvancedPureComponent = _interopRequireDefault(require("../AdvancedPureComponent"));
var _utils = require("../utils");
var _VirtualizedContext = require("./VirtualizedContext");
var _CellEditContainer = _interopRequireDefault(require("../CellEditContainer"));
var _context = _interopRequireDefault(require("../context"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { if (i % 2) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } else { Object.defineProperties(target, Object.getOwnPropertyDescriptors(arguments[i])); } } return target; }
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; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
function _templateObject3() {
var data = _taggedTemplateLiteral(["\n border: ", ";\n"]);
_templateObject3 = function _templateObject3() {
return data;
};
return data;
}
function _templateObject2() {
var data = _taggedTemplateLiteral(["\n display: initial;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: ", ";\n padding-top: ", ";\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = _taggedTemplateLiteral(["\n border: ", ";\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var Cell = _Components.BasicCell.extend(_templateObject(), function (props) {
return props.border || '1px solid #ccc';
});
exports.Cell = Cell;
var EllipsisCell = Cell.extend(_templateObject2(), function (props) {
return props.verticalAlign || 'center';
}, function (props) {
return props.paddingTop;
});
exports.EllipsisCell = EllipsisCell;
var ColHeaderBase = _Components.BasicColHeader.extend(_templateObject3(), function (props) {
return props.border || '1px solid #ccc';
});
exports.ColHeaderBase = ColHeaderBase;
var flattenCellProps = function flattenCellProps(_ref) {
var style = _ref.style,
props = _objectWithoutProperties(_ref, ["style"]);
return _objectSpread({}, style, {}, props);
};
var OptimizedContentCell = (0, _AdvancedPureComponent["default"])(Cell, flattenCellProps);
exports.OptimizedContentCell = OptimizedContentCell;
var OptimizedEllipsisCell = (0, _AdvancedPureComponent["default"])(EllipsisCell, flattenCellProps);
exports.OptimizedEllipsisCell = OptimizedEllipsisCell;
var ColHeader = function ColHeader(_ref2) {
var header = _ref2.header,
sortOrder = _ref2.sortOrder,
width = _ref2.width,
_ref2$typeData = _ref2.typeData,
typeData = _ref2$typeData === void 0 ? 'nonfixed-data' : _ref2$typeData,
rest = _objectWithoutProperties(_ref2, ["header", "sortOrder", "width", "typeData"]);
var gridContext = _react["default"].useContext(_context["default"]);
var contextProps = typeData === 'nonfixed-data' ? gridContext.columnHeaderProps : _objectSpread({}, gridContext.columnHeaderProps, {}, gridContext.fixedColHead);
return _react["default"].createElement(ColHeaderBase, _extends({
width: width
}, rest, contextProps, {
sortable: header.sortable
}), header.display, sortOrder === 'asc' ? _react["default"].createElement(_Components.SortIndicator, null, "\u25B2") : sortOrder === 'desc' ? _react["default"].createElement(_Components.SortIndicator, null, "\u25BC") : null);
};
var cellRenderWrapper = function cellRenderWrapper() {
var propPreProcessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (_) {
return _;
};
return function (render) {
return function (reactVirtualizedProps) {
return _react["default"].createElement(_VirtualizedContext.Consumer, {
key: reactVirtualizedProps.key
}, function (gridToolProps) {
return render(propPreProcessor({
gridToolProps: gridToolProps,
reactVirtualizedProps: reactVirtualizedProps
}));
});
};
};
};
exports.cellRenderWrapper = cellRenderWrapper;
var defaultRowHeaderRender = function defaultRowHeaderRender(_ref3) {
var _ref3$gridToolProps = _ref3.gridToolProps,
getColumnHeaderProps = _ref3$gridToolProps.getColumnHeaderProps,
headers = _ref3$gridToolProps.headers,
data = _ref3$gridToolProps.data,
_ref3$reactVirtualize = _ref3.reactVirtualizedProps,
columnIndex = _ref3$reactVirtualize.columnIndex,
rowIndex = _ref3$reactVirtualize.rowIndex,
style = _ref3$reactVirtualize.style;
return _react["default"].createElement(ColHeader, getColumnHeaderProps({
index: columnIndex,
header: headers[columnIndex],
style: style
}), (0, _utils.extractAndFormatData)({
rowData: data[rowIndex],
header: headers[columnIndex]
}));
};
exports.defaultRowHeaderRender = defaultRowHeaderRender;
var defaultCellRender = function defaultCellRender(_ref4) {
var _ref4$gridToolProps = _ref4.gridToolProps,
getCellProps = _ref4$gridToolProps.getCellProps,
headers = _ref4$gridToolProps.headers,
data = _ref4$gridToolProps.data,
_ref4$reactVirtualize = _ref4.reactVirtualizedProps,
columnIndex = _ref4$reactVirtualize.columnIndex,
rowIndex = _ref4$reactVirtualize.rowIndex,
style = _ref4$reactVirtualize.style,
gridContext = _ref4.gridContext,
_ref4$typeData = _ref4.typeData,
typeData = _ref4$typeData === void 0 ? 'nonfixed-data' : _ref4$typeData,
_ref4$getRowStyle = _ref4.getRowStyle,
getRowStyle = _ref4$getRowStyle === void 0 ? function (_) {
return {};
} : _ref4$getRowStyle,
rest = _objectWithoutProperties(_ref4, ["gridToolProps", "reactVirtualizedProps", "gridContext", "typeData", "getRowStyle"]);
var cellProps = getCellProps(_objectSpread({
rowIndex: rowIndex,
columnIndex: columnIndex,
header: headers[columnIndex],
data: data,
style: style,
isLastInRow: headers.length === columnIndex + 1
}, rest));
if (cellProps.isEditing) {
var computedEditRender = cellProps.editRender || (cellProps.header.choices ? _Components.dropdownEditRender : _Components.inputCellEditRender);
cellProps = _objectSpread({}, cellProps, {
style: _objectSpread({}, cellProps.style)
});
return _react["default"].createElement(_CellEditContainer["default"], _extends({}, cellProps, {
render: computedEditRender
}));
}
var rowStyle = getRowStyle ? getRowStyle({
cellProps: cellProps,
headers: headers,
data: data,
rowIndex: rowIndex,
columnIndex: columnIndex
}) : {};
var customizeColumnStyle = {};
var formatCell = headers[columnIndex].formatCell;
if (formatCell) {
customizeColumnStyle = formatCell({
headers: headers,
data: data,
rowIndex: rowIndex,
columnIndex: columnIndex
}) || {};
}
var contextProps = typeData === 'nonfixed-data' ? gridContext.rowContentProps : _objectSpread({}, gridContext.rowContentProps, {}, gridContext.fixedColData) || {};
cellProps = _objectSpread({}, cellProps, {
style: _objectSpread({}, cellProps.style, {}, rowStyle, {}, customizeColumnStyle)
});
if (cellProps.header.ellipsis) {
return _react["default"].createElement(OptimizedEllipsisCell, _extends({}, (0, _omit2["default"])(['data'], cellProps), contextProps), (0, _utils.extractAndFormatData)({
rowData: data[rowIndex],
header: headers[columnIndex]
}));
}
return _react["default"].createElement(OptimizedContentCell, _extends({}, (0, _omit2["default"])(['data'], cellProps), contextProps), (0, _utils.extractAndFormatData)({
rowData: data[rowIndex],
header: headers[columnIndex]
}));
};
exports.defaultCellRender = defaultCellRender;
var withColumnOffset = function withColumnOffset(offSet) {
return function (props) {
return _objectSpread({}, props, {
reactVirtualizedProps: _objectSpread({}, props.reactVirtualizedProps, {
columnIndex: props.reactVirtualizedProps.columnIndex + offSet
})
});
};
};
exports.withColumnOffset = withColumnOffset;
//# sourceMappingURL=cellRender.js.map