@infotech/uikit-datagrid
Version:
uikit-datagrid --
74 lines (58 loc) • 2.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _recompose = require("recompose");
var _classnames = _interopRequireDefault(require("classnames"));
var _uikitTextClamp = _interopRequireDefault(require("@infotech/uikit-text-clamp"));
require("./styles.css");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { 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]); }); } 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; }
var styles = {
"multiline": "uikit_components_datagrid__multiline_a6b4ea04",
"multilineCell": "uikit_components_datagrid__multilineCell_a6b4ea04"
}; // @related-file ./styles.css
function DefaultCell(props) {
var value = props.value;
return _react.default.createElement(_react.default.Fragment, null, value);
}
var _default = (0, _recompose.compose)((0, _recompose.withPropsOnChange)(["multiline", "className"], function (_ref) {
var className = _ref.className,
multiline = _ref.multiline;
return {
className: (0, _classnames.default)(className, _defineProperty({}, styles.multiline, multiline))
};
}), (0, _recompose.withPropsOnChange)(["multiline", "columns", "multilineShowHintOn"], function (_ref2) {
var columns = _ref2.columns,
_ref2$showTextOverflo = _ref2.showTextOverflowHintOn,
showTextOverflowHintOn = _ref2$showTextOverflo === void 0 ? "click" : _ref2$showTextOverflo;
var modified = false;
var nextColumns = columns.map(function (column) {
if (column.maxLines) {
modified = true;
var UserCell = column.Cell || DefaultCell;
return _objectSpread({}, column, {
Cell: function Cell(props) {
return _react.default.createElement(_uikitTextClamp.default, {
lines: column.maxLines,
showHintOn: showTextOverflowHintOn
}, _react.default.createElement(UserCell, props));
},
className: (0, _classnames.default)(styles.multilineCell, column.className)
});
}
return column;
});
if (modified) {
return {
columns: nextColumns
};
}
return {
columns: columns
};
}));
exports.default = _default;