UNPKG

dtable-utils

Version:

dtable common utils

84 lines (77 loc) 8.84 kB
'use strict'; 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;