@integec/grid-tools
Version:
Integ Grid Tools
286 lines (228 loc) • 9.98 kB
JavaScript
"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