UNPKG

@infotech/uikit-datagrid

Version:

uikit-datagrid --

74 lines (58 loc) 2.84 kB
"use strict"; 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;