dtable-utils
Version:
dtable common utils
84 lines (77 loc) • 8.84 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var cellType = require('../cell-type.js');
var column = require('../column.js');
var filterModifier = require('./filter-modifier.js');
var filterPredicate = require('./filter-predicate.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
var _FILTER_COLUMN_OPTION;
var textPredicates = [filterPredicate.FILTER_PREDICATE_TYPE.CONTAINS, filterPredicate.FILTER_PREDICATE_TYPE.NOT_CONTAIN, filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.IS_CURRENT_USER_ID];
var numberPredicates = [filterPredicate.FILTER_PREDICATE_TYPE.EQUAL, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EQUAL, filterPredicate.FILTER_PREDICATE_TYPE.LESS, filterPredicate.FILTER_PREDICATE_TYPE.GREATER, filterPredicate.FILTER_PREDICATE_TYPE.LESS_OR_EQUAL, filterPredicate.FILTER_PREDICATE_TYPE.GREATER_OR_EQUAL, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY];
var datePredicates = [filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_WITHIN, filterPredicate.FILTER_PREDICATE_TYPE.IS_BEFORE, filterPredicate.FILTER_PREDICATE_TYPE.IS_AFTER, filterPredicate.FILTER_PREDICATE_TYPE.IS_ON_OR_BEFORE, filterPredicate.FILTER_PREDICATE_TYPE.IS_ON_OR_AFTER, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY];
var geolocationPredicates = textPredicates.filter(function (predicate) {
return predicate !== filterPredicate.FILTER_PREDICATE_TYPE.IS_CURRENT_USER_ID;
});
var phoneNumberPredicates = textPredicates.filter(function (predicate) {
return predicate !== filterPredicate.FILTER_PREDICATE_TYPE.IS_CURRENT_USER_ID;
});
var dateTermModifiers = [filterModifier.FILTER_TERM_MODIFIER_TYPE.TODAY, filterModifier.FILTER_TERM_MODIFIER_TYPE.TOMORROW, filterModifier.FILTER_TERM_MODIFIER_TYPE.YESTERDAY, filterModifier.FILTER_TERM_MODIFIER_TYPE.ONE_WEEK_AGO, filterModifier.FILTER_TERM_MODIFIER_TYPE.ONE_WEEK_FROM_NOW, filterModifier.FILTER_TERM_MODIFIER_TYPE.ONE_MONTH_AGO, filterModifier.FILTER_TERM_MODIFIER_TYPE.ONE_MONTH_FROM_NOW, filterModifier.FILTER_TERM_MODIFIER_TYPE.NUMBER_OF_DAYS_AGO, filterModifier.FILTER_TERM_MODIFIER_TYPE.NUMBER_OF_DAYS_FROM_NOW, filterModifier.FILTER_TERM_MODIFIER_TYPE.EXACT_DATE];
var FILTER_COLUMN_OPTIONS = (_FILTER_COLUMN_OPTION = {}, _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_FILTER_COLUMN_OPTION, cellType.CellType.TEXT, {
filterPredicateList: textPredicates
}), cellType.CellType.NUMBER, {
filterPredicateList: numberPredicates
}), cellType.CellType.CHECKBOX, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.IS]
}), cellType.CellType.DATE, {
filterPredicateList: datePredicates,
filterTermModifierList: dateTermModifiers
}), cellType.CellType.CTIME, {
filterPredicateList: datePredicates,
filterTermModifierList: dateTermModifiers
}), cellType.CellType.MTIME, {
filterPredicateList: datePredicates,
filterTermModifierList: dateTermModifiers
}), cellType.CellType.SINGLE_SELECT, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT, filterPredicate.FILTER_PREDICATE_TYPE.IS_ANY_OF, filterPredicate.FILTER_PREDICATE_TYPE.IS_NONE_OF, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), cellType.CellType.MULTIPLE_SELECT, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.HAS_ANY_OF, filterPredicate.FILTER_PREDICATE_TYPE.HAS_ALL_OF, filterPredicate.FILTER_PREDICATE_TYPE.HAS_NONE_OF, filterPredicate.FILTER_PREDICATE_TYPE.IS_EXACTLY, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), cellType.CellType.DEPARTMENT_SINGLE_SELECT, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT, filterPredicate.FILTER_PREDICATE_TYPE.IS_ANY_OF, filterPredicate.FILTER_PREDICATE_TYPE.IS_NONE_OF, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), cellType.CellType.COLLABORATOR, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.HAS_ANY_OF, filterPredicate.FILTER_PREDICATE_TYPE.HAS_ALL_OF, filterPredicate.FILTER_PREDICATE_TYPE.HAS_NONE_OF, filterPredicate.FILTER_PREDICATE_TYPE.IS_EXACTLY, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.INCLUDE_ME]
}), _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_FILTER_COLUMN_OPTION, cellType.CellType.CREATOR, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.CONTAINS, filterPredicate.FILTER_PREDICATE_TYPE.NOT_CONTAIN, filterPredicate.FILTER_PREDICATE_TYPE.INCLUDE_ME, filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT]
}), cellType.CellType.GEOLOCATION, {
filterPredicateList: geolocationPredicates
}), cellType.CellType.FORMULA, {}), cellType.CellType.LINK_FORMULA, {}), cellType.CellType.LINK, {}), cellType.CellType.LAST_MODIFIER, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.CONTAINS, filterPredicate.FILTER_PREDICATE_TYPE.NOT_CONTAIN, filterPredicate.FILTER_PREDICATE_TYPE.INCLUDE_ME, filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT]
}), cellType.CellType.AUTO_NUMBER, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.CONTAINS, filterPredicate.FILTER_PREDICATE_TYPE.NOT_CONTAIN, filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT]
}), cellType.CellType.EMAIL, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.CONTAINS, filterPredicate.FILTER_PREDICATE_TYPE.NOT_CONTAIN, filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), cellType.CellType.URL, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.CONTAINS, filterPredicate.FILTER_PREDICATE_TYPE.NOT_CONTAIN, filterPredicate.FILTER_PREDICATE_TYPE.IS, filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT, filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), cellType.CellType.IMAGE, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_FILTER_COLUMN_OPTION, cellType.CellType.FILE, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), cellType.CellType.LONG_TEXT, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), cellType.CellType.DURATION, {
filterPredicateList: numberPredicates
}), cellType.CellType.RATE, {
filterPredicateList: numberPredicates
}), cellType.CellType.DIGITAL_SIGN, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.EMPTY, filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY]
}), cellType.CellType.STRING, {
filterPredicateList: textPredicates
}), cellType.CellType.BOOL, {
filterPredicateList: [filterPredicate.FILTER_PREDICATE_TYPE.IS]
}));
var COLUMN_DISPLAY_TYPE_FILTER_OPTIONS = _defineProperty__default["default"]({}, cellType.CellType.TEXT, _defineProperty__default["default"]({}, column.TEXT_DISPLAY_TYPE_MAP.PHONE, {
filterPredicateList: phoneNumberPredicates
}));
exports.COLUMN_DISPLAY_TYPE_FILTER_OPTIONS = COLUMN_DISPLAY_TYPE_FILTER_OPTIONS;
exports.FILTER_COLUMN_OPTIONS = FILTER_COLUMN_OPTIONS;
;