UNPKG

@progress/kendo-react-grid

Version:
144 lines 4.8 kB
import { messages } from './messages'; /** * @hidden */ export var filterLogicList = [ { text: 'grid.filterAndLogic', value: 'and' }, { text: 'grid.filterOrLogic', value: 'or' } ]; /** * @hidden */ export var operators = { 'text': [ { text: 'grid.filterEqOperator', value: 'eq' }, { text: 'grid.filterNotEqOperator', value: 'neq' }, { text: 'grid.filterContainsOperator', value: 'contains' }, { text: 'grid.filterNotContainsOperator', value: 'doesnotcontain' }, { text: 'grid.filterStartsWithOperator', value: 'startswith' }, { text: 'grid.filterEndsWithOperator', value: 'endswith' }, { text: 'grid.filterIsNullOperator', value: 'isnull' }, { text: 'grid.filterIsNotNullOperator', value: 'isnotnull' }, { text: 'grid.filterIsEmptyOperator', value: 'isempty' }, { text: 'grid.filterIsNotEmptyOperator', value: 'isnotempty' } ], 'numeric': [ { text: 'grid.filterEqOperator', value: 'eq' }, { text: 'grid.filterNotEqOperator', value: 'neq' }, { text: 'grid.filterGteOperator', value: 'gte' }, { text: 'grid.filterGtOperator', value: 'gt' }, { text: 'grid.filterLteOperator', value: 'lte' }, { text: 'grid.filterLtOperator', value: 'lt' }, { text: 'grid.filterIsNullOperator', value: 'isnull' }, { text: 'grid.filterIsNotNullOperator', value: 'isnotnull' } ], 'date': [ { text: 'grid.filterEqOperator', value: 'eq' }, { text: 'grid.filterNotEqOperator', value: 'neq' }, { text: 'grid.filterAfterOrEqualOperator', value: 'gte' }, { text: 'grid.filterAfterOperator', value: 'gt' }, { text: 'grid.filterBeforeOperator', value: 'lt' }, { text: 'grid.filterBeforeOrEqualOperator', value: 'lte' }, { text: 'grid.filterIsNullOperator', value: 'isnull' }, { text: 'grid.filterIsNotNullOperator', value: 'isnotnull' } ], 'boolean': [ { text: 'grid.filterBooleanAll', value: '' }, { text: 'grid.filterIsTrue', value: true }, { text: 'grid.filterIsFalse', value: false } ] }; /** * @hidden */ export var IsUnaryFilter = function (operator) { return operator === 'isnull' || operator === 'isnotnull' || operator === 'isempty' || operator === 'isnotempty'; }; /** * @hidden */ export var operatorMap = function (iterable, service) { return iterable.map(function (operator) { return ({ text: service.toLanguageString(operator.text, messages[operator.text]), operator: operator.value }); }); }; /** * @hidden */ export var defaultOperators = { text: 'contains', numeric: 'eq', date: 'eq', boolean: 'eq' }; /** * @hidden */ export var defaultHideSecondFilter = { text: false, numeric: false, date: false, boolean: true }; /** * @hidden */ export var cellInputChange = function (value, e, props) { var operator = props.operator; switch (props.filterType) { case 'numeric': if (!operator || IsUnaryFilter(operator)) { // change the operator to default operator = defaultOperators.numeric; } if (value === null && operator === defaultOperators.numeric) { // clear only the default operator operator = ''; } break; case 'date': if (!operator || IsUnaryFilter(operator)) { operator = defaultOperators.date; } if (value === null && operator === defaultOperators.date) { operator = ''; } break; case 'text': if (!operator || IsUnaryFilter(operator)) { operator = defaultOperators.text; } if (!value && operator === defaultOperators.text) { operator = ''; } break; default: return; } props.onChange({ value: value, operator: operator, syntheticEvent: e }); }; /** * @hidden */ export var cellBoolDropdownChange = function (event, onChange) { var item = event.target.value; onChange({ value: item.operator, operator: item.operator === '' ? '' : defaultOperators.boolean, syntheticEvent: event.syntheticEvent }); }; /** * @hidden */ export var cellOperatorChange = function (event, currentValue, onChange) { var value = currentValue; var item = event.target.value; if (!event.target.state.opened) { return; } if (IsUnaryFilter(item.operator)) { // clear the value to avoid confusion on what is filtered value = null; } onChange({ value: value, operator: item.operator, syntheticEvent: event.syntheticEvent }); }; //# sourceMappingURL=filterCommon.js.map