UNPKG

@integec/grid-tools

Version:
286 lines (228 loc) 9.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tStampCol = exports.dateTimeCol = exports.dateCol = exports.yesNoCol = exports.boolCol = exports.strCol = exports.pctCol = exports.dollarCol = exports.intCol = exports.numCol = exports.dateValidator = exports.intValidator = exports.numberValidator = exports.multiValidator = void 0; var _isNil2 = _interopRequireDefault(require("ramda/src/isNil")); var _moment = _interopRequireDefault(require("moment")); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 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; } var defaultProps = { editable: true, isKey: false, alignment: 'center', width: 100, sortable: true, showInRowEditor: true }; var multiValidator = function multiValidator(_ref) { var validators = _ref.validators, _ref$exitOnFirstInval = _ref.exitOnFirstInvalid, exitOnFirstInvalid = _ref$exitOnFirstInval === void 0 ? false : _ref$exitOnFirstInval; return function (props) { var errors = []; var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = validators[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var validator = _step.value; var errMessage = validator(props); if (errMessage) { errors.push(errMessage); if (exitOnFirstInvalid) break; } } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator["return"] != null) { _iterator["return"](); } } finally { if (_didIteratorError) { throw _iteratorError; } } } if (errors.length > 0) return errors.reduce(function (e1, e2) { return "".concat(e1, "\n").concat(e2); }); }; }; exports.multiValidator = multiValidator; var numberValidator = function numberValidator(_ref2) { var value = _ref2.value; return value && isNaN(value) && 'Invalid Number'; }; exports.numberValidator = numberValidator; var intValidator = function intValidator(_ref3) { var value = _ref3.value; return value && (isNaN(value) || !Number.isInteger(+value)) && 'Invalid Integer'; }; exports.intValidator = intValidator; var dateValidator = function dateValidator(_ref4) { var value = _ref4.value, header = _ref4.header; return value && !(0, _moment["default"])(value, header.dataFormat).isValid() && 'Invalid Date'; }; // numearls display is here exports.dateValidator = dateValidator; var numCol = function numCol() { var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { displayFormat: '0.00' }; var ident = _ref5.ident, display = _ref5.display, _ref5$displayFormat = _ref5.displayFormat, displayFormat = _ref5$displayFormat === void 0 ? '0.00' : _ref5$displayFormat, rest = _objectWithoutProperties(_ref5, ["ident", "display", "displayFormat"]); return _objectSpread({ ident: ident, display: display || ident, type: 'num', displayFormat: displayFormat, setInvalidMessage: numberValidator }, defaultProps, {}, rest); }; exports.numCol = numCol; var intCol = function intCol(props) { return _objectSpread({}, numCol(props), { setInvalidMessage: intValidator, displayFormat: '0' }); }; exports.intCol = intCol; var dollarCol = function dollarCol(props) { return _objectSpread({}, numCol(props), { displayFormat: '$0,0.00' }); }; exports.dollarCol = dollarCol; var pctCol = function pctCol(props) { return _objectSpread({}, numCol(props), { displayFormat: '0.00%' }); }; exports.pctCol = pctCol; var strCol = function strCol() { var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var ident = _ref6.ident, display = _ref6.display, rest = _objectWithoutProperties(_ref6, ["ident", "display"]); return _objectSpread({ ident: ident, display: display || ident, type: 'str' }, defaultProps, {}, rest); }; exports.strCol = strCol; var boolCol = function boolCol() { var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var ident = _ref7.ident, display = _ref7.display, rest = _objectWithoutProperties(_ref7, ["ident", "display"]); return _objectSpread({ ident: ident, display: display || ident, type: 'bool' }, defaultProps, {}, rest); }; exports.boolCol = boolCol; var yesNoCol = function yesNoCol() { var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var ident = _ref8.ident, display = _ref8.display, rest = _objectWithoutProperties(_ref8, ["ident", "display"]); return _objectSpread({ ident: ident, display: display || ident, type: 'bool' }, defaultProps, {}, rest); }; // eslint-disable-next-line standard/object-curly-even-spacing exports.yesNoCol = yesNoCol; var dateProps = function dateProps(_ref9) { var dataFormat = _ref9.dataFormat, displayFormat = _ref9.displayFormat; return { sortIndexGetter: function sortIndexGetter(_ref10) { var rowData = _ref10.rowData, header = _ref10.header; var data = (0, _utils.extractData)({ rowData: rowData, header: header, dataFormat: dataFormat }); return (0, _isNil2["default"])(data) ? undefined : _moment["default"].isDate(data) || _moment["default"].isMoment(data) ? data.valueOf() : (0, _moment["default"])(data, dataFormat).valueOf(); }, dataFormat: dataFormat, displayFormat: displayFormat, setInvalidMessage: dateValidator }; }; var dateCol = function dateCol() { var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var ident = _ref11.ident, display = _ref11.display, _ref11$dataFormat = _ref11.dataFormat, dataFormat = _ref11$dataFormat === void 0 ? 'YYYY-MM-DD' : _ref11$dataFormat, _ref11$displayFormat = _ref11.displayFormat, displayFormat = _ref11$displayFormat === void 0 ? 'MM/DD/YYYY' : _ref11$displayFormat, rest = _objectWithoutProperties(_ref11, ["ident", "display", "dataFormat", "displayFormat"]); return _objectSpread({ ident: ident, display: display || ident, type: 'date-time' }, dateProps({ ident: ident, dataFormat: dataFormat, displayFormat: displayFormat }), {}, defaultProps, {}, rest); }; exports.dateCol = dateCol; var dateTimeCol = function dateTimeCol() { var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var ident = _ref12.ident, display = _ref12.display, _ref12$dataFormat = _ref12.dataFormat, dataFormat = _ref12$dataFormat === void 0 ? 'YYYY-MM-DD[T]HH:mm:ss' : _ref12$dataFormat, _ref12$displayFormat = _ref12.displayFormat, displayFormat = _ref12$displayFormat === void 0 ? 'MM/DD/YYYY HH:mm:ss' : _ref12$displayFormat, rest = _objectWithoutProperties(_ref12, ["ident", "display", "dataFormat", "displayFormat"]); return _objectSpread({ ident: ident, display: display || ident, type: 'date-time' }, dateProps({ ident: ident, dataFormat: dataFormat, displayFormat: displayFormat }), {}, defaultProps, {}, rest); }; exports.dateTimeCol = dateTimeCol; var tStampCol = function tStampCol() { var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var ident = _ref13.ident, display = _ref13.display, _ref13$dataFormat = _ref13.dataFormat, dataFormat = _ref13$dataFormat === void 0 ? 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' : _ref13$dataFormat, _ref13$displayFormat = _ref13.displayFormat, displayFormat = _ref13$displayFormat === void 0 ? 'MM/DD/YYYY HH:mm:ss.SSSZ' : _ref13$displayFormat, rest = _objectWithoutProperties(_ref13, ["ident", "display", "dataFormat", "displayFormat"]); return _objectSpread({ ident: ident, display: display || ident, type: 'date-time' }, dateProps({ ident: ident, dataFormat: dataFormat, displayFormat: displayFormat }), {}, defaultProps, {}, rest); }; exports.tStampCol = tStampCol; //# sourceMappingURL=cols.js.map