@bigbinary/neeto-filters-frontend 4.3.37 → 4.3.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.ready +1 -1
- package/dist/Bar.js +6 -7
- package/dist/Bar.js.map +1 -1
- package/dist/Filters.js +4 -5
- package/dist/Filters.js.map +1 -1
- package/dist/Segments.js +6 -7
- package/dist/Segments.js.map +1 -1
- package/dist/cjs/Bar.js +4 -5
- package/dist/cjs/Bar.js.map +1 -1
- package/dist/cjs/Filters.js +3 -4
- package/dist/cjs/Filters.js.map +1 -1
- package/dist/cjs/Segments.js +4 -5
- package/dist/cjs/Segments.js.map +1 -1
- package/dist/cjs/index.js +4 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.js +1 -2
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/v2/Bar.js +23 -25
- package/dist/cjs/v2/Bar.js.map +1 -1
- package/dist/cjs/v2/Filters.js +22 -24
- package/dist/cjs/v2/Filters.js.map +1 -1
- package/dist/cjs/v2/Segments.js +3 -5
- package/dist/cjs/v2/Segments.js.map +1 -1
- package/dist/cjs/v2/index.js +12 -14
- package/dist/cjs/v2/index.js.map +1 -1
- package/dist/cjs/v2/utils.js +8 -58
- package/dist/cjs/v2/utils.js.map +1 -1
- package/dist/{constants-BaYBNRZa.js → constants-CZToVVIz.js} +2 -2
- package/dist/{constants-BaYBNRZa.js.map → constants-CZToVVIz.js.map} +1 -1
- package/dist/hooks.js +2 -2
- package/dist/{index-CYxhPqEn.js → index-BDc8DpmZ.js} +2 -3
- package/dist/{index-CYxhPqEn.js.map → index-BDc8DpmZ.js.map} +1 -1
- package/dist/{index-Bzw5oKqg.js → index-BS_DcqfC.js} +3 -3
- package/dist/{index-Bzw5oKqg.js.map → index-BS_DcqfC.js.map} +1 -1
- package/dist/{index-D5k7J243.js → index-BnuYw-vQ.js} +4 -5
- package/dist/{index-D5k7J243.js.map → index-BnuYw-vQ.js.map} +1 -1
- package/dist/{index-BCnobjnZ.js → index-CPQB3dbB.js} +3 -3
- package/dist/{index-BCnobjnZ.js.map → index-CPQB3dbB.js.map} +1 -1
- package/dist/{index-BKZg5qSF.js → index-XdSGRCDF.js} +779 -29
- package/dist/index-XdSGRCDF.js.map +1 -0
- package/dist/{index-Cdvbpy-b.js → index-mn_LYbVM.js} +4 -4
- package/dist/{index-Cdvbpy-b.js.map → index-mn_LYbVM.js.map} +1 -1
- package/dist/{index-aOxl-IeV.js → index-tbeeSrep.js} +3 -3
- package/dist/{index-aOxl-IeV.js.map → index-tbeeSrep.js.map} +1 -1
- package/dist/{index-Lu1qjZRh.js → index-v-4-tsRc.js} +831 -52
- package/dist/index-v-4-tsRc.js.map +1 -0
- package/dist/index.js +6 -7
- package/dist/index.js.map +1 -1
- package/dist/{useSegmentsApi-C6mffm-a.js → useSegmentsApi-D3c_HZ_8.js} +2 -2
- package/dist/{useSegmentsApi-C6mffm-a.js.map → useSegmentsApi-D3c_HZ_8.js.map} +1 -1
- package/dist/{utils-Q-OTPVjq.js → utils-7qsBJxsE.js} +5 -4
- package/dist/utils-7qsBJxsE.js.map +1 -0
- package/dist/{utils-CzRCzZ3I.js → utils-C3k2IuDv.js} +3 -2
- package/dist/utils-C3k2IuDv.js.map +1 -0
- package/dist/{utils-Dh5ByFPA.js → utils-C5RcrSnO.js} +2 -3
- package/dist/{utils-B3464cET.js.map → utils-C5RcrSnO.js.map} +1 -1
- package/dist/{utils-B3464cET.js → utils-xNgUSPbr.js} +3 -4
- package/dist/{utils-Dh5ByFPA.js.map → utils-xNgUSPbr.js.map} +1 -1
- package/dist/utils.js +2 -3
- package/dist/utils.js.map +1 -1
- package/dist/v2/Bar.js +6 -8
- package/dist/v2/Bar.js.map +1 -1
- package/dist/v2/Filters.js +4 -6
- package/dist/v2/Filters.js.map +1 -1
- package/dist/v2/Segments.js +5 -7
- package/dist/v2/Segments.js.map +1 -1
- package/dist/v2/hooks.js +2 -2
- package/dist/v2/index.js +9 -11
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/utils.js +4 -6
- package/dist/v2/utils.js.map +1 -1
- package/package.json +14 -14
- package/dist/dayjs-9rsrbiYS.js +0 -6
- package/dist/dayjs-9rsrbiYS.js.map +0 -1
- package/dist/dayjs-DNGB9yJD.js +0 -4
- package/dist/dayjs-DNGB9yJD.js.map +0 -1
- package/dist/index-BKZg5qSF.js.map +0 -1
- package/dist/index-Lu1qjZRh.js.map +0 -1
- package/dist/utils-85mpVq5c.js +0 -803
- package/dist/utils-85mpVq5c.js.map +0 -1
- package/dist/utils-CzRCzZ3I.js.map +0 -1
- package/dist/utils-Q-OTPVjq.js.map +0 -1
- package/dist/utils-ZTtO0yGb.js +0 -866
- package/dist/utils-ZTtO0yGb.js.map +0 -1
|
@@ -1,18 +1,768 @@
|
|
|
1
1
|
import { memo, useState, useEffect, useMemo } from 'react';
|
|
2
|
-
import { findBy,
|
|
3
|
-
import {
|
|
2
|
+
import { findBy, removeBy, isNotPresent, capitalize, isNotEmpty, toLabelAndValue, hyphenate, noop, replaceBy } from '@bigbinary/neeto-cist';
|
|
3
|
+
import { groupBy, anyPass, isNil, isEmpty, any, toPairs, omit, mergeLeft, identity, concat, not, pluck, either, equals, mergeRight, pick, toLower, mergeDeepRight, modify, append, last, prop } from 'ramda';
|
|
4
4
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
5
5
|
import { Select, DatePicker, TimePicker, Input, TreeSelect as TreeSelect$2 } from '@bigbinary/neeto-atoms';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
7
|
-
import { F as isCheckbox, I as buildUpdatedFilter, t as isCustomDateRange, K as buildRuleOptions, L as isUndefinedOrEmpty, v as isCustomTimeRange } from './utils-
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import './
|
|
7
|
+
import { F as isCheckbox$1, I as buildUpdatedFilter$1, t as isCustomDateRange$1, K as buildRuleOptions$1, L as isUndefinedOrEmpty$1, v as isCustomTimeRange$1 } from './utils-7qsBJxsE.js';
|
|
8
|
+
import i18next, { t } from 'i18next';
|
|
9
|
+
import { CircleHelpIcon } from 'lucide-react';
|
|
10
|
+
import { c as SEARCH_TERM_KEY, d as SEGMENT_ID_KEY, D as DATE_OPTIONS, T as TIME_OPTIONS, e as DATE_RULES, a as DATE_RANGE_OPTIONS, b as TIME_RANGE_OPTIONS, f as SINGLE_DATE_OPTIONS, g as SINGLE_TIME_OPTIONS } from './constants-CZToVVIz.js';
|
|
11
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
12
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
13
|
+
import { getQueryParams, buildUrl } from '@bigbinary/neeto-commons-frontend/v2/utils';
|
|
11
14
|
import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
|
|
12
15
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
13
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
14
16
|
import { useDebounce } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
|
|
15
17
|
|
|
18
|
+
var NUMBER_RULES = [{
|
|
19
|
+
label: t("neetoFilters.rules.is"),
|
|
20
|
+
value: "is"
|
|
21
|
+
}, {
|
|
22
|
+
label: t("neetoFilters.rules.isNot"),
|
|
23
|
+
value: "is_not"
|
|
24
|
+
}, {
|
|
25
|
+
label: t("neetoFilters.rules.greaterThan"),
|
|
26
|
+
value: "greater_than"
|
|
27
|
+
}, {
|
|
28
|
+
label: t("neetoFilters.rules.lessThan"),
|
|
29
|
+
value: "less_than"
|
|
30
|
+
}];
|
|
31
|
+
var TEXT_RULES = [{
|
|
32
|
+
label: t("neetoFilters.rules.contains"),
|
|
33
|
+
value: "contains"
|
|
34
|
+
}, {
|
|
35
|
+
label: t("neetoFilters.rules.doesNotContain"),
|
|
36
|
+
value: "does_not_contain"
|
|
37
|
+
}, {
|
|
38
|
+
label: t("neetoFilters.rules.is"),
|
|
39
|
+
value: "is"
|
|
40
|
+
}, {
|
|
41
|
+
label: t("neetoFilters.rules.isNot"),
|
|
42
|
+
value: "is_not"
|
|
43
|
+
}, {
|
|
44
|
+
label: t("neetoFilters.rules.startsWith"),
|
|
45
|
+
value: "starts_with"
|
|
46
|
+
}, {
|
|
47
|
+
label: t("neetoFilters.rules.doesNotStartWith"),
|
|
48
|
+
value: "does_not_start_with"
|
|
49
|
+
}, {
|
|
50
|
+
label: t("neetoFilters.rules.endsWith"),
|
|
51
|
+
value: "ends_with"
|
|
52
|
+
}, {
|
|
53
|
+
label: t("neetoFilters.rules.doesNotEndWith"),
|
|
54
|
+
value: "does_not_end_with"
|
|
55
|
+
}];
|
|
56
|
+
var MULTI_DROPDOWN_RULES = [{
|
|
57
|
+
label: t("neetoFilters.rules.in"),
|
|
58
|
+
value: "in"
|
|
59
|
+
}, {
|
|
60
|
+
label: t("neetoFilters.rules.notIn"),
|
|
61
|
+
value: "not_in"
|
|
62
|
+
}, {
|
|
63
|
+
label: t("neetoFilters.rules.isEmpty"),
|
|
64
|
+
value: "is_unknown"
|
|
65
|
+
}];
|
|
66
|
+
var SINGLE_DROPDOWN_RULES = [{
|
|
67
|
+
label: t("neetoFilters.rules.is"),
|
|
68
|
+
value: "is"
|
|
69
|
+
}, {
|
|
70
|
+
label: t("neetoFilters.rules.isNot"),
|
|
71
|
+
value: "is_not"
|
|
72
|
+
}, {
|
|
73
|
+
label: t("neetoFilters.rules.isEmpty"),
|
|
74
|
+
value: "is_unknown"
|
|
75
|
+
}];
|
|
76
|
+
var DEFAULT_BOOLEAN_OPTIONS = [{
|
|
77
|
+
label: t("neetoFilters.common.yes"),
|
|
78
|
+
value: "true"
|
|
79
|
+
}, {
|
|
80
|
+
label: t("neetoFilters.common.no"),
|
|
81
|
+
value: "false"
|
|
82
|
+
}];
|
|
83
|
+
var CHECKBOX_OPTIONS = [{
|
|
84
|
+
label: t("neetoFilters.rules.checked"),
|
|
85
|
+
value: "true"
|
|
86
|
+
}, {
|
|
87
|
+
label: t("neetoFilters.rules.unchecked"),
|
|
88
|
+
value: "false"
|
|
89
|
+
}];
|
|
90
|
+
var TREE_SELECT_RULES = [{
|
|
91
|
+
label: t("neetoFilters.rules.in"),
|
|
92
|
+
value: "in"
|
|
93
|
+
}, {
|
|
94
|
+
label: t("neetoFilters.rules.notIn"),
|
|
95
|
+
value: "not_in"
|
|
96
|
+
}, {
|
|
97
|
+
label: t("neetoFilters.rules.isEmpty"),
|
|
98
|
+
value: "is_unknown"
|
|
99
|
+
}];
|
|
100
|
+
var DEFAULT_HELP_ICON_PROPS = {
|
|
101
|
+
icon: CircleHelpIcon
|
|
102
|
+
};
|
|
103
|
+
var TIME_FORMAT = "h:mm A";
|
|
104
|
+
|
|
105
|
+
function ownKeys$8(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
106
|
+
function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
107
|
+
var groupByGroup = groupBy(function (_ref) {
|
|
108
|
+
var group = _ref.group;
|
|
109
|
+
return group || "individual";
|
|
110
|
+
});
|
|
111
|
+
var standardizeColumnType = function standardizeColumnType(kind) {
|
|
112
|
+
// neeto-fields-nano supports `monetary` and `number` as type of fields, which will be acting as `decimal` in action.
|
|
113
|
+
if (["custom.monetary", "custom.number"].includes(kind)) {
|
|
114
|
+
return "custom.decimal";
|
|
115
|
+
}
|
|
116
|
+
return kind;
|
|
117
|
+
};
|
|
118
|
+
var getSnakeCasedQueryParams = function getSnakeCasedQueryParams() {
|
|
119
|
+
return getQueryParams({
|
|
120
|
+
toCamelCase: false
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
var isBoolean = function isBoolean(type) {
|
|
124
|
+
return type === "boolean" || type === "custom.boolean";
|
|
125
|
+
};
|
|
126
|
+
var isCheckbox = function isCheckbox(type) {
|
|
127
|
+
return type === "checkbox" || type === "custom.checkbox";
|
|
128
|
+
};
|
|
129
|
+
var isDate = function isDate(type) {
|
|
130
|
+
return type === "date" || type === "custom.date" || type === "custom.datetime";
|
|
131
|
+
};
|
|
132
|
+
var isSingleDate = function isSingleDate(type) {
|
|
133
|
+
return type === "single_date" || type === "custom.single_date";
|
|
134
|
+
};
|
|
135
|
+
var isSingleTime = function isSingleTime(type) {
|
|
136
|
+
return type === "single_time" || type === "custom.single_time";
|
|
137
|
+
};
|
|
138
|
+
var isTime = function isTime(type) {
|
|
139
|
+
return type === "time" || type === "custom.time";
|
|
140
|
+
};
|
|
141
|
+
var isMulti = function isMulti(type) {
|
|
142
|
+
return type === "multi_option" || type === "custom.multi_option";
|
|
143
|
+
};
|
|
144
|
+
var isSingle = function isSingle(type) {
|
|
145
|
+
return type === "single_option" || type === "custom.single_option";
|
|
146
|
+
};
|
|
147
|
+
var isText = function isText(type) {
|
|
148
|
+
return type === "text" || type === "custom.text";
|
|
149
|
+
};
|
|
150
|
+
var isDigit = function isDigit(type) {
|
|
151
|
+
return ["number", "decimal", "custom.decimal", "custom.number"].includes(type);
|
|
152
|
+
};
|
|
153
|
+
var isTreeSelect = function isTreeSelect(type) {
|
|
154
|
+
return type === "tree_select";
|
|
155
|
+
};
|
|
156
|
+
var isDateRange = function isDateRange(type) {
|
|
157
|
+
return type === "date_range" || type === "custom.date_range";
|
|
158
|
+
};
|
|
159
|
+
var isTimeRange = function isTimeRange(type) {
|
|
160
|
+
return type === "time_range" || type === "custom.time_range";
|
|
161
|
+
};
|
|
162
|
+
var isCustomDateRange = function isCustomDateRange(value) {
|
|
163
|
+
return !pluck("value", DATE_OPTIONS).includes(value);
|
|
164
|
+
};
|
|
165
|
+
var isCustomTimeRange = function isCustomTimeRange(value) {
|
|
166
|
+
return !pluck("value", TIME_OPTIONS).includes(value);
|
|
167
|
+
};
|
|
168
|
+
var isMultiModelFilter = function isMultiModelFilter(_ref2) {
|
|
169
|
+
var _ref2$model = _ref2.model,
|
|
170
|
+
model = _ref2$model === void 0 ? "" : _ref2$model;
|
|
171
|
+
return model.split(",").length > 1;
|
|
172
|
+
};
|
|
173
|
+
var getTimezone = function getTimezone() {
|
|
174
|
+
var _dayjs$$x;
|
|
175
|
+
return ((_dayjs$$x = dayjs().$x) === null || _dayjs$$x === void 0 ? void 0 : _dayjs$$x.$timezone) || dayjs.tz.guess();
|
|
176
|
+
};
|
|
177
|
+
var getLabelFromBool = function getLabelFromBool(_ref3) {
|
|
178
|
+
var value = _ref3.value,
|
|
179
|
+
values = _ref3.values;
|
|
180
|
+
return findBy({
|
|
181
|
+
value: value
|
|
182
|
+
}, either(isEmpty, isNil)(values) ? DEFAULT_BOOLEAN_OPTIONS : values).label;
|
|
183
|
+
};
|
|
184
|
+
var getBoolFromLabel = function getBoolFromLabel(_ref4) {
|
|
185
|
+
var label = _ref4.label,
|
|
186
|
+
values = _ref4.values;
|
|
187
|
+
return findBy({
|
|
188
|
+
label: label
|
|
189
|
+
}, either(isEmpty, isNil)(values) ? DEFAULT_BOOLEAN_OPTIONS : values).value;
|
|
190
|
+
};
|
|
191
|
+
var buildRuleOptions = function buildRuleOptions(_ref5) {
|
|
192
|
+
var defaultType = _ref5.defaultType;
|
|
193
|
+
if (isText(defaultType)) return TEXT_RULES;else if (isDigit(defaultType)) return NUMBER_RULES;
|
|
194
|
+
return [];
|
|
195
|
+
};
|
|
196
|
+
var getDefaultRuleValue = function getDefaultRuleValue(defaultType) {
|
|
197
|
+
var _buildRuleOptions;
|
|
198
|
+
return ((_buildRuleOptions = buildRuleOptions({
|
|
199
|
+
defaultType: defaultType
|
|
200
|
+
})) === null || _buildRuleOptions === void 0 || (_buildRuleOptions = _buildRuleOptions[0]) === null || _buildRuleOptions === void 0 ? void 0 : _buildRuleOptions.value) || "";
|
|
201
|
+
};
|
|
202
|
+
var isUndefinedOrEmpty = anyPass([isNil, isEmpty, any(isNil)]);
|
|
203
|
+
|
|
204
|
+
// Following function split node on comma followed by non-comma characters and a dot
|
|
205
|
+
var splitNode = function splitNode(joinedNodes) {
|
|
206
|
+
return joinedNodes.split(/,(?=[^,]*\.)/);
|
|
207
|
+
};
|
|
208
|
+
var splitFilter = function splitFilter(multiColumnFilter) {
|
|
209
|
+
var splittedNodes = splitNode(multiColumnFilter.node);
|
|
210
|
+
var splittedModels = multiColumnFilter.model.split(",");
|
|
211
|
+
return splittedNodes.map(function (node, index) {
|
|
212
|
+
return mergeLeft({
|
|
213
|
+
node: node,
|
|
214
|
+
model: splittedModels[index],
|
|
215
|
+
conditions_join_type: index < splittedNodes.length - 1 ? "or" : "and"
|
|
216
|
+
}, omit(["key", "label", "values", "setValue"], multiColumnFilter));
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
var buildDateValue = function buildDateValue(_ref6) {
|
|
220
|
+
var value = _ref6.value;
|
|
221
|
+
var rule = DATE_RULES[value] || "between";
|
|
222
|
+
var dateValue = ["before", "after", "custom-date-range"].includes(value) ? "" : value;
|
|
223
|
+
return {
|
|
224
|
+
value: dateValue,
|
|
225
|
+
rule: rule,
|
|
226
|
+
timezone: getTimezone()
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
var buildTimeValue = function buildTimeValue(_ref7) {
|
|
230
|
+
var value = _ref7.value;
|
|
231
|
+
var dateValue = value === "custom-time-range" ? "" : value;
|
|
232
|
+
return {
|
|
233
|
+
value: dateValue,
|
|
234
|
+
rule: "between"
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
|
|
238
|
+
var column = _ref8.column,
|
|
239
|
+
defaultType = _ref8.defaultType,
|
|
240
|
+
option = _ref8.option,
|
|
241
|
+
_ref8$rule = _ref8.rule,
|
|
242
|
+
rule = _ref8$rule === void 0 ? "" : _ref8$rule,
|
|
243
|
+
_ref8$value = _ref8.value,
|
|
244
|
+
value = _ref8$value === void 0 ? "" : _ref8$value;
|
|
245
|
+
var filter = omit(["values", "preprocessor"], column);
|
|
246
|
+
if (isMulti(defaultType)) {
|
|
247
|
+
return mergeLeft(filter, {
|
|
248
|
+
value: pluck("value", option),
|
|
249
|
+
rule: rule
|
|
250
|
+
});
|
|
251
|
+
} else if (isDate(defaultType)) {
|
|
252
|
+
return mergeLeft(filter, buildDateValue(option));
|
|
253
|
+
} else if (isSingleDate(defaultType)) {
|
|
254
|
+
return mergeLeft(filter, {
|
|
255
|
+
value: value,
|
|
256
|
+
rule: rule,
|
|
257
|
+
timezone: getTimezone()
|
|
258
|
+
});
|
|
259
|
+
} else if (isText(defaultType) || isDigit(defaultType)) {
|
|
260
|
+
var _column$preprocessor;
|
|
261
|
+
return mergeLeft(filter, {
|
|
262
|
+
rule: rule,
|
|
263
|
+
value: (column === null || column === void 0 || (_column$preprocessor = column.preprocessor) === null || _column$preprocessor === void 0 ? void 0 : _column$preprocessor.call(column, value)) || value
|
|
264
|
+
});
|
|
265
|
+
} else if (isSingleTime(defaultType)) {
|
|
266
|
+
return mergeLeft(filter, {
|
|
267
|
+
value: value,
|
|
268
|
+
rule: rule
|
|
269
|
+
});
|
|
270
|
+
} else if (isTime(defaultType)) {
|
|
271
|
+
return mergeLeft(filter, buildTimeValue(option));
|
|
272
|
+
} else if (isSingle(defaultType)) {
|
|
273
|
+
return mergeLeft(filter, {
|
|
274
|
+
value: option.value,
|
|
275
|
+
rule: rule
|
|
276
|
+
});
|
|
277
|
+
} else if (isTreeSelect(defaultType)) {
|
|
278
|
+
return mergeLeft(filter, {
|
|
279
|
+
value: option,
|
|
280
|
+
rule: rule
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
return mergeLeft(filter, {
|
|
284
|
+
value: option.value,
|
|
285
|
+
rule: "is"
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns) {
|
|
289
|
+
var skipEmpty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
290
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
291
|
+
return columns.map(function (column) {
|
|
292
|
+
var value = searchParams[column.key];
|
|
293
|
+
var defaultType = column.defaultType || column.type;
|
|
294
|
+
if (!skipEmpty && value === "") {
|
|
295
|
+
return mergeLeft({
|
|
296
|
+
value: ""
|
|
297
|
+
}, column);
|
|
298
|
+
} else if (isNil(value) || value === "" || column.key === "keyword") {
|
|
299
|
+
return null;
|
|
300
|
+
} else if (column.key === SEARCH_TERM_KEY) {
|
|
301
|
+
if (isNil(column.node)) return null;
|
|
302
|
+
return mergeLeft({
|
|
303
|
+
value: value,
|
|
304
|
+
type: "text",
|
|
305
|
+
rule: "contains"
|
|
306
|
+
}, column);
|
|
307
|
+
} else if (isDate(defaultType) && isCustomDateRange(value)) {
|
|
308
|
+
return mergeLeft({
|
|
309
|
+
value: value
|
|
310
|
+
}, column);
|
|
311
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
312
|
+
var _value$split = value.split("+rule-"),
|
|
313
|
+
_value$split2 = _slicedToArray(_value$split, 2),
|
|
314
|
+
filterValue = _value$split2[0],
|
|
315
|
+
rule = _value$split2[1];
|
|
316
|
+
return mergeLeft({
|
|
317
|
+
rule: rule !== null && rule !== void 0 ? rule : "in",
|
|
318
|
+
value: filterValue.split("|")
|
|
319
|
+
}, column);
|
|
320
|
+
} else if (isSingle(defaultType)) {
|
|
321
|
+
var _value$split3 = value.split("+rule-"),
|
|
322
|
+
_value$split4 = _slicedToArray(_value$split3, 2),
|
|
323
|
+
_filterValue = _value$split4[0],
|
|
324
|
+
_rule = _value$split4[1];
|
|
325
|
+
return mergeLeft({
|
|
326
|
+
rule: _rule !== null && _rule !== void 0 ? _rule : "in",
|
|
327
|
+
value: _filterValue
|
|
328
|
+
}, column);
|
|
329
|
+
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
330
|
+
var _value$split5 = value.split("+rule-"),
|
|
331
|
+
_value$split6 = _slicedToArray(_value$split5, 2),
|
|
332
|
+
_filterValue2 = _value$split6[0],
|
|
333
|
+
_rule2 = _value$split6[1];
|
|
334
|
+
return mergeLeft({
|
|
335
|
+
rule: _rule2,
|
|
336
|
+
value: _filterValue2
|
|
337
|
+
}, column);
|
|
338
|
+
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
339
|
+
return mergeLeft({
|
|
340
|
+
value: value
|
|
341
|
+
}, column);
|
|
342
|
+
} else if (isSingleDate(defaultType)) {
|
|
343
|
+
var _value$split7 = value.split("+rule-"),
|
|
344
|
+
_value$split8 = _slicedToArray(_value$split7, 2),
|
|
345
|
+
_filterValue3 = _value$split8[0],
|
|
346
|
+
_rule3 = _value$split8[1];
|
|
347
|
+
return mergeLeft({
|
|
348
|
+
rule: _rule3,
|
|
349
|
+
value: _rule3 === "between" ? _filterValue3.split(",") : _filterValue3
|
|
350
|
+
}, column);
|
|
351
|
+
} else if (isSingleTime(defaultType)) {
|
|
352
|
+
var _value$split9 = value.split("+rule-"),
|
|
353
|
+
_value$split10 = _slicedToArray(_value$split9, 2),
|
|
354
|
+
_filterValue4 = _value$split10[0],
|
|
355
|
+
_rule4 = _value$split10[1];
|
|
356
|
+
return mergeLeft({
|
|
357
|
+
rule: _rule4,
|
|
358
|
+
value: _rule4 === "between" ? _filterValue4.split(",") : _filterValue4
|
|
359
|
+
}, column);
|
|
360
|
+
} else if (isBoolean(defaultType)) {
|
|
361
|
+
return mergeLeft({
|
|
362
|
+
rule: "is",
|
|
363
|
+
value: getBoolFromLabel({
|
|
364
|
+
label: value,
|
|
365
|
+
values: column.values
|
|
366
|
+
})
|
|
367
|
+
}, column);
|
|
368
|
+
}
|
|
369
|
+
return mergeLeft({
|
|
370
|
+
rule: "is",
|
|
371
|
+
value: value
|
|
372
|
+
}, column);
|
|
373
|
+
}).filter(identity);
|
|
374
|
+
};
|
|
375
|
+
var buildTimePayload = function buildTimePayload(value) {
|
|
376
|
+
var timeValue = {
|
|
377
|
+
"this-hour": [dayjs().startOf("hour"), dayjs().endOf("hour")],
|
|
378
|
+
"last-hour": [dayjs().add(-1, "hour").startOf("hour"), dayjs().add(-1, "hour").endOf("hour")],
|
|
379
|
+
"next-hour": [dayjs().add(1, "hour").startOf("hour"), dayjs().add(1, "hour").endOf("hour")]
|
|
380
|
+
};
|
|
381
|
+
if (isCustomTimeRange(value)) {
|
|
382
|
+
return {
|
|
383
|
+
value: value ? value.join(",") : "",
|
|
384
|
+
rule: "between",
|
|
385
|
+
timezone: getTimezone()
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
var times = timeValue[value] || timeValue["this-hour"];
|
|
389
|
+
return {
|
|
390
|
+
value: times.map(function (time) {
|
|
391
|
+
return time.toISOString();
|
|
392
|
+
}).join(","),
|
|
393
|
+
rule: "between",
|
|
394
|
+
timezone: getTimezone()
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
var buildDatePayload = function buildDatePayload(value) {
|
|
398
|
+
var dateValue = {
|
|
399
|
+
"this-week": [dayjs().startOf("week"), dayjs().endOf("week")],
|
|
400
|
+
"last-week": [dayjs().add(-1, "week").startOf("week"), dayjs().add(-1, "week").endOf("week")],
|
|
401
|
+
"this-month": [dayjs().startOf("month"), dayjs().endOf("month")],
|
|
402
|
+
"last-month": [dayjs().add(-1, "month").startOf("month"), dayjs().add(-1, "month").endOf("month")],
|
|
403
|
+
"this-year": [dayjs().startOf("year"), dayjs().endOf("year")],
|
|
404
|
+
"last-year": [dayjs().add(-1, "year").startOf("year"), dayjs().add(-1, "year").endOf("year")]
|
|
405
|
+
};
|
|
406
|
+
if (value === "today") {
|
|
407
|
+
return {
|
|
408
|
+
value: dayjs().toISOString(),
|
|
409
|
+
rule: "on",
|
|
410
|
+
timezone: getTimezone()
|
|
411
|
+
};
|
|
412
|
+
} else if (value === "yesterday") {
|
|
413
|
+
return {
|
|
414
|
+
value: dayjs().add(-1, "day").toISOString(),
|
|
415
|
+
rule: "on",
|
|
416
|
+
timezone: getTimezone()
|
|
417
|
+
};
|
|
418
|
+
} else if (value === "all-time") {
|
|
419
|
+
return {
|
|
420
|
+
value: dayjs().toISOString(),
|
|
421
|
+
rule: "has_any_value",
|
|
422
|
+
timezone: getTimezone()
|
|
423
|
+
};
|
|
424
|
+
} else if (isCustomDateRange(value)) {
|
|
425
|
+
//custom-date-range
|
|
426
|
+
return {
|
|
427
|
+
value: value ? value.join(",") : "",
|
|
428
|
+
rule: "between",
|
|
429
|
+
timezone: getTimezone()
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
var dates = dateValue[value] || dateValue["tihs-week"];
|
|
433
|
+
return {
|
|
434
|
+
value: dates.map(function (date) {
|
|
435
|
+
return date.toISOString();
|
|
436
|
+
}).join(","),
|
|
437
|
+
rule: "between",
|
|
438
|
+
timezone: getTimezone()
|
|
439
|
+
};
|
|
440
|
+
};
|
|
441
|
+
var buildSingleDatePayload = function buildSingleDatePayload(filter) {
|
|
442
|
+
var value = filter.value;
|
|
443
|
+
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
444
|
+
var type = filter.defaultType ? filter.type : "date";
|
|
445
|
+
return _objectSpread$8(_objectSpread$8({}, filter), {}, {
|
|
446
|
+
value: filterValue,
|
|
447
|
+
type: type,
|
|
448
|
+
timezone: getTimezone()
|
|
449
|
+
});
|
|
450
|
+
};
|
|
451
|
+
var buildSingleTimePayload = function buildSingleTimePayload(filter) {
|
|
452
|
+
var value = filter.value;
|
|
453
|
+
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
454
|
+
var type = filter.defaultType ? filter.type : "time";
|
|
455
|
+
return _objectSpread$8(_objectSpread$8({}, filter), {}, {
|
|
456
|
+
value: filterValue,
|
|
457
|
+
type: type,
|
|
458
|
+
timezone: getTimezone()
|
|
459
|
+
});
|
|
460
|
+
};
|
|
461
|
+
var flattenPayload = function flattenPayload(payload) {
|
|
462
|
+
var flattenedPayload = [];
|
|
463
|
+
payload.forEach(function (item) {
|
|
464
|
+
return Array.isArray(item) ? flattenedPayload.unshift.apply(flattenedPayload, _toConsumableArray(item)) : flattenedPayload.push(item);
|
|
465
|
+
}, []);
|
|
466
|
+
return flattenedPayload;
|
|
467
|
+
};
|
|
468
|
+
var buildMultiOptionPayload = function buildMultiOptionPayload(values) {
|
|
469
|
+
return values.map(function (value) {
|
|
470
|
+
return value.toString();
|
|
471
|
+
}).join("|");
|
|
472
|
+
};
|
|
473
|
+
var buildFiltersPayload = function buildFiltersPayload(filters) {
|
|
474
|
+
var payload = removeBy({
|
|
475
|
+
value: ""
|
|
476
|
+
}, filters).map(function (filter) {
|
|
477
|
+
if (filter.key === SEARCH_TERM_KEY && isMultiModelFilter(filter)) {
|
|
478
|
+
return splitFilter(filter);
|
|
479
|
+
}
|
|
480
|
+
var filterPayload = omit(["key", "label", "values", "setValue"], filter);
|
|
481
|
+
var _filterPayload$defaul = filterPayload.defaultType,
|
|
482
|
+
defaultType = _filterPayload$defaul === void 0 ? filterPayload.type : _filterPayload$defaul,
|
|
483
|
+
value = filterPayload.value;
|
|
484
|
+
if (isMultiModelFilter(filterPayload)) {
|
|
485
|
+
throw i18next.t("neetoFilters.errors.cannotPassMultipleModels");
|
|
486
|
+
}
|
|
487
|
+
if (isDate(defaultType)) {
|
|
488
|
+
return mergeRight(filterPayload, buildDatePayload(value));
|
|
489
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
490
|
+
return mergeRight(filterPayload, {
|
|
491
|
+
value: buildMultiOptionPayload(value)
|
|
492
|
+
});
|
|
493
|
+
} else if (isSingleDate(defaultType)) {
|
|
494
|
+
return mergeRight(filterPayload, buildSingleDatePayload(filterPayload));
|
|
495
|
+
} else if (isSingleTime(defaultType)) {
|
|
496
|
+
return mergeRight(filterPayload, buildSingleTimePayload(filterPayload));
|
|
497
|
+
} else if (isTime(defaultType)) {
|
|
498
|
+
return mergeRight(filterPayload, buildTimePayload(value));
|
|
499
|
+
} else if (isDateRange(defaultType)) {
|
|
500
|
+
return mergeRight(filterPayload, buildDateRangePayload(value));
|
|
501
|
+
} else if (isTimeRange(defaultType)) {
|
|
502
|
+
return mergeRight(filterPayload, buildTimeRangePayload(value));
|
|
503
|
+
}
|
|
504
|
+
return filterPayload;
|
|
505
|
+
});
|
|
506
|
+
return isEmpty(payload) ? [] : [{
|
|
507
|
+
conditions: flattenPayload(payload)
|
|
508
|
+
}];
|
|
509
|
+
};
|
|
510
|
+
var buildTimeRangePayload = function buildTimeRangePayload(value) {
|
|
511
|
+
var timeValue = {
|
|
512
|
+
"this-hour": [dayjs().startOf("hour"), dayjs().endOf("hour")],
|
|
513
|
+
"last-hour": [dayjs().add(-1, "hour").startOf("hour"), dayjs().add(-1, "hour").endOf("hour")],
|
|
514
|
+
"next-hour": [dayjs().add(1, "hour").startOf("hour"), dayjs().add(1, "hour").endOf("hour")]
|
|
515
|
+
};
|
|
516
|
+
var times = timeValue[value] || timeValue["this-hour"];
|
|
517
|
+
return {
|
|
518
|
+
value: times.map(function (time) {
|
|
519
|
+
return time.toISOString();
|
|
520
|
+
}).join(","),
|
|
521
|
+
rule: "contains",
|
|
522
|
+
timezone: getTimezone()
|
|
523
|
+
};
|
|
524
|
+
};
|
|
525
|
+
var buildDateRangePayload = function buildDateRangePayload(value) {
|
|
526
|
+
var dateValue = {
|
|
527
|
+
today: [dayjs().startOf("day"), dayjs().endOf("day")],
|
|
528
|
+
yesterday: [dayjs().add(-1, "day").startOf("day"), dayjs().add(-1, "day").endOf("day")],
|
|
529
|
+
"this-week": [dayjs().startOf("week"), dayjs().endOf("week")],
|
|
530
|
+
"last-week": [dayjs().add(-1, "week").startOf("week"), dayjs().add(-1, "week").endOf("week")],
|
|
531
|
+
"this-month": [dayjs().startOf("month"), dayjs().endOf("month")],
|
|
532
|
+
"last-month": [dayjs().add(-1, "month").startOf("month"), dayjs().add(-1, "month").endOf("month")],
|
|
533
|
+
"this-year": [dayjs().startOf("year"), dayjs().endOf("year")],
|
|
534
|
+
"last-year": [dayjs().add(-1, "year").startOf("year"), dayjs().add(-1, "year").endOf("year")]
|
|
535
|
+
};
|
|
536
|
+
if (value === "all-time" || isNotPresent(dateValue[value])) {
|
|
537
|
+
return {
|
|
538
|
+
value: dayjs().toISOString(),
|
|
539
|
+
rule: "has_any_value",
|
|
540
|
+
timezone: getTimezone()
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
return {
|
|
544
|
+
value: dateValue[value].map(function (date) {
|
|
545
|
+
return date.toISOString();
|
|
546
|
+
}).join(","),
|
|
547
|
+
rule: "contains",
|
|
548
|
+
timezone: getTimezone()
|
|
549
|
+
};
|
|
550
|
+
};
|
|
551
|
+
var buildFiltersFromURL = function buildFiltersFromURL(columns) {
|
|
552
|
+
return buildFiltersPayload(buildFiltersFromSearchParams(columns.filter(function (column) {
|
|
553
|
+
return !isNil(column.node);
|
|
554
|
+
})));
|
|
555
|
+
};
|
|
556
|
+
var buildSelectorsFromURL = function buildSelectorsFromURL(columns) {
|
|
557
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
558
|
+
var selectors = {};
|
|
559
|
+
columns.filter(function (_ref9) {
|
|
560
|
+
var node = _ref9.node;
|
|
561
|
+
return !node;
|
|
562
|
+
}).forEach(function (_ref10) {
|
|
563
|
+
var key = _ref10.key,
|
|
564
|
+
defaultType = _ref10.defaultType,
|
|
565
|
+
type = _ref10.type;
|
|
566
|
+
var value = searchParams[key];
|
|
567
|
+
if (value) {
|
|
568
|
+
selectors[key] = isMulti(defaultType || type) ? value.split("|") : value;
|
|
569
|
+
}
|
|
570
|
+
});
|
|
571
|
+
return selectors;
|
|
572
|
+
};
|
|
573
|
+
var compareFilters = function compareFilters(oldFilters, newFilters) {
|
|
574
|
+
var formatFilters = function formatFilters(filters) {
|
|
575
|
+
return removeBy({
|
|
576
|
+
value: ""
|
|
577
|
+
}, filters).map(pick(["key", "rule", "value"]));
|
|
578
|
+
};
|
|
579
|
+
return equals(formatFilters(oldFilters), formatFilters(newFilters));
|
|
580
|
+
};
|
|
581
|
+
var buildFilteredColumns = function buildFilteredColumns(_ref11) {
|
|
582
|
+
var _ref11$searchTerm = _ref11.searchTerm,
|
|
583
|
+
searchTerm = _ref11$searchTerm === void 0 ? "" : _ref11$searchTerm,
|
|
584
|
+
columns = _ref11.columns;
|
|
585
|
+
var groupedColumsObject = groupByGroup(columns.filter(function (_ref12) {
|
|
586
|
+
var label = _ref12.label,
|
|
587
|
+
_ref12$hidden = _ref12.hidden,
|
|
588
|
+
hidden = _ref12$hidden === void 0 ? false : _ref12$hidden;
|
|
589
|
+
return label.toLocaleLowerCase().includes(searchTerm.trim().toLocaleLowerCase()) && !hidden;
|
|
590
|
+
}));
|
|
591
|
+
return {
|
|
592
|
+
groupedColumns: toPairs(omit(["individual"], groupedColumsObject)).map(function (_ref13) {
|
|
593
|
+
var _ref14 = _slicedToArray(_ref13, 2),
|
|
594
|
+
group = _ref14[0],
|
|
595
|
+
columns = _ref14[1];
|
|
596
|
+
return {
|
|
597
|
+
group: group,
|
|
598
|
+
columns: columns
|
|
599
|
+
};
|
|
600
|
+
}),
|
|
601
|
+
ungroupedColumns: groupedColumsObject.individual
|
|
602
|
+
};
|
|
603
|
+
};
|
|
604
|
+
var buildDefaultFilters = function buildDefaultFilters(columns, filters) {
|
|
605
|
+
return columns.filter(function (column) {
|
|
606
|
+
return !isUndefinedOrEmpty(column.defaultValue) && !findBy({
|
|
607
|
+
key: column.key
|
|
608
|
+
}, filters);
|
|
609
|
+
}).map(function (column) {
|
|
610
|
+
var defaultType = column.defaultType || column.type;
|
|
611
|
+
return buildUpdatedFilter({
|
|
612
|
+
column: column,
|
|
613
|
+
defaultType: defaultType,
|
|
614
|
+
rule: getDefaultRuleValue(defaultType),
|
|
615
|
+
option: column.defaultValue,
|
|
616
|
+
value: column.defaultValue
|
|
617
|
+
});
|
|
618
|
+
});
|
|
619
|
+
};
|
|
620
|
+
var createUrlParamString = function createUrlParamString(_ref15) {
|
|
621
|
+
var filter = _ref15.filter,
|
|
622
|
+
columns = _ref15.columns;
|
|
623
|
+
var key = filter.key,
|
|
624
|
+
value = filter.value,
|
|
625
|
+
_filter$defaultType = filter.defaultType,
|
|
626
|
+
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
627
|
+
rule = filter.rule;
|
|
628
|
+
if (key === SEARCH_TERM_KEY) {
|
|
629
|
+
return value;
|
|
630
|
+
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
631
|
+
return "".concat(value, "+rule-").concat(rule);
|
|
632
|
+
} else if (isSingleDate(defaultType) || isSingleTime(defaultType)) {
|
|
633
|
+
return value && "".concat(value, "+rule-").concat(rule) || value;
|
|
634
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
635
|
+
return "".concat(value.join("|"), "+rule-").concat(rule);
|
|
636
|
+
} else if (isSingle(defaultType)) {
|
|
637
|
+
return "".concat(value, "+rule-").concat(rule);
|
|
638
|
+
} else if (isBoolean(defaultType)) {
|
|
639
|
+
return getLabelFromBool({
|
|
640
|
+
value: value,
|
|
641
|
+
values: findBy({
|
|
642
|
+
key: key
|
|
643
|
+
}, columns).values
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
return value;
|
|
647
|
+
};
|
|
648
|
+
var buildUrlFromFilters = function buildUrlFromFilters(_ref16) {
|
|
649
|
+
var columns = _ref16.columns,
|
|
650
|
+
filters = _ref16.filters,
|
|
651
|
+
_ref16$isClearAll = _ref16.isClearAll,
|
|
652
|
+
isClearAll = _ref16$isClearAll === void 0 ? false : _ref16$isClearAll,
|
|
653
|
+
_ref16$childrenKeys = _ref16.childrenKeys,
|
|
654
|
+
childrenKeys = _ref16$childrenKeys === void 0 ? [] : _ref16$childrenKeys;
|
|
655
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
656
|
+
var isKeywordFilterPresent = findBy({
|
|
657
|
+
key: SEARCH_TERM_KEY
|
|
658
|
+
}, filters);
|
|
659
|
+
columns.forEach(function (_ref17) {
|
|
660
|
+
var key = _ref17.key,
|
|
661
|
+
defaultValue = _ref17.defaultValue;
|
|
662
|
+
return !defaultValue && delete searchParams[key];
|
|
663
|
+
});
|
|
664
|
+
if (isClearAll) {
|
|
665
|
+
childrenKeys.forEach(function (key) {
|
|
666
|
+
return delete searchParams[key];
|
|
667
|
+
});
|
|
668
|
+
delete searchParams[SEGMENT_ID_KEY];
|
|
669
|
+
}
|
|
670
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
671
|
+
isKeywordFilterPresent && delete searchParams[SEARCH_TERM_KEY];
|
|
672
|
+
concat(filters, defaultFilters).forEach(function (filter) {
|
|
673
|
+
searchParams[filter.key] = createUrlParamString({
|
|
674
|
+
filter: filter,
|
|
675
|
+
columns: columns
|
|
676
|
+
});
|
|
677
|
+
});
|
|
678
|
+
if (isEmpty(omit([SEGMENT_ID_KEY], searchParams))) {
|
|
679
|
+
delete searchParams[SEGMENT_ID_KEY];
|
|
680
|
+
}
|
|
681
|
+
return buildUrl("", searchParams).slice(1);
|
|
682
|
+
};
|
|
683
|
+
var createUrlParamStringForSegments = function createUrlParamStringForSegments(_ref18) {
|
|
684
|
+
var filter = _ref18.filter,
|
|
685
|
+
columns = _ref18.columns;
|
|
686
|
+
var value = filter.value,
|
|
687
|
+
_filter$defaultType2 = filter.defaultType,
|
|
688
|
+
defaultType = _filter$defaultType2 === void 0 ? filter.type : _filter$defaultType2;
|
|
689
|
+
if (isMulti(defaultType)) {
|
|
690
|
+
return value;
|
|
691
|
+
}
|
|
692
|
+
return createUrlParamString({
|
|
693
|
+
filter: filter,
|
|
694
|
+
columns: columns
|
|
695
|
+
});
|
|
696
|
+
};
|
|
697
|
+
var buildUrlFromSegment = function buildUrlFromSegment(_ref19) {
|
|
698
|
+
var columns = _ref19.columns,
|
|
699
|
+
filters = _ref19.filters,
|
|
700
|
+
id = _ref19.id;
|
|
701
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
702
|
+
columns.forEach(function (_ref20) {
|
|
703
|
+
var key = _ref20.key,
|
|
704
|
+
defaultValue = _ref20.defaultValue;
|
|
705
|
+
return !defaultValue && delete searchParams[key];
|
|
706
|
+
});
|
|
707
|
+
delete searchParams[SEARCH_TERM_KEY];
|
|
708
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
709
|
+
var newSearchParams = concat(filters, defaultFilters).reduce(function (acc, filter) {
|
|
710
|
+
acc[filter.key] = createUrlParamStringForSegments({
|
|
711
|
+
filter: filter,
|
|
712
|
+
columns: columns
|
|
713
|
+
});
|
|
714
|
+
return acc;
|
|
715
|
+
}, isNotEmpty(id) ? _defineProperty({}, SEGMENT_ID_KEY, id) : {});
|
|
716
|
+
return buildUrl("", mergeLeft(newSearchParams, searchParams)).slice(1);
|
|
717
|
+
};
|
|
718
|
+
var getSearchTermFromUrl = function getSearchTermFromUrl() {
|
|
719
|
+
return getQueryParams().searchTerm || "";
|
|
720
|
+
};
|
|
721
|
+
var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref22) {
|
|
722
|
+
var fields = _ref22.fields,
|
|
723
|
+
_ref22$selectedFields = _ref22.selectedFields,
|
|
724
|
+
selectedFields = _ref22$selectedFields === void 0 ? [] : _ref22$selectedFields,
|
|
725
|
+
_ref22$showRuleSelect = _ref22.showRuleSelector,
|
|
726
|
+
showRuleSelector = _ref22$showRuleSelect === void 0 ? false : _ref22$showRuleSelect,
|
|
727
|
+
groupName = _ref22.groupName;
|
|
728
|
+
return fields.reduce(function (columns, field) {
|
|
729
|
+
if (isEmpty(selectedFields) || selectedFields.includes(field.name)) {
|
|
730
|
+
var id = field.id,
|
|
731
|
+
name = field.name,
|
|
732
|
+
kind = field.kind;
|
|
733
|
+
var column = _objectSpread$8({
|
|
734
|
+
key: "custom".concat(toLower(name)),
|
|
735
|
+
node: "".concat(name, ":").concat(id),
|
|
736
|
+
label: capitalize(name),
|
|
737
|
+
type: "custom.".concat(kind),
|
|
738
|
+
showRuleSelector: showRuleSelector
|
|
739
|
+
}, groupName && {
|
|
740
|
+
group: groupName
|
|
741
|
+
});
|
|
742
|
+
if (kind === "single_option" || kind === "multi_option") {
|
|
743
|
+
column.values = field.data.map(function (item) {
|
|
744
|
+
return {
|
|
745
|
+
label: capitalize(item.label),
|
|
746
|
+
value: item.id
|
|
747
|
+
};
|
|
748
|
+
});
|
|
749
|
+
}
|
|
750
|
+
columns.push(column);
|
|
751
|
+
}
|
|
752
|
+
return columns;
|
|
753
|
+
}, []);
|
|
754
|
+
};
|
|
755
|
+
var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(columns) {
|
|
756
|
+
return columns.map(function (column) {
|
|
757
|
+
return _objectSpread$8(_objectSpread$8({}, column), {}, {
|
|
758
|
+
type: standardizeColumnType(column.type)
|
|
759
|
+
});
|
|
760
|
+
});
|
|
761
|
+
};
|
|
762
|
+
var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
|
|
763
|
+
return not(isEmpty(keyworFilter.node));
|
|
764
|
+
};
|
|
765
|
+
|
|
16
766
|
var getOtherProps = function getOtherProps(props) {
|
|
17
767
|
return omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
|
|
18
768
|
};
|
|
@@ -123,7 +873,7 @@ var Boolean$1 = function Boolean(_ref) {
|
|
|
123
873
|
values = column.values,
|
|
124
874
|
_column$helpIconProps = column.helpIconProps,
|
|
125
875
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
126
|
-
var options = isNotPresent(values) ? isCheckbox(defaultType) ? CHECKBOX_OPTIONS : DEFAULT_BOOLEAN_OPTIONS : values;
|
|
876
|
+
var options = isNotPresent(values) ? isCheckbox$1(defaultType) ? CHECKBOX_OPTIONS : DEFAULT_BOOLEAN_OPTIONS : values;
|
|
127
877
|
var otherProps = getOtherProps(column);
|
|
128
878
|
var value = (_filter$value = filter === null || filter === void 0 ? void 0 : filter.value) !== null && _filter$value !== void 0 ? _filter$value : null;
|
|
129
879
|
var _useTranslation = useTranslation(),
|
|
@@ -138,7 +888,7 @@ var Boolean$1 = function Boolean(_ref) {
|
|
|
138
888
|
var option = findBy({
|
|
139
889
|
value: selectedValue
|
|
140
890
|
}, options);
|
|
141
|
-
var updatedFilter = buildUpdatedFilter({
|
|
891
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
142
892
|
column: column,
|
|
143
893
|
defaultType: defaultType,
|
|
144
894
|
option: option
|
|
@@ -191,7 +941,7 @@ var Datetime$1 = function Datetime(_ref) {
|
|
|
191
941
|
label = column.label,
|
|
192
942
|
_column$helpIconProps = column.helpIconProps,
|
|
193
943
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
194
|
-
var isDatePickerShown = filter && isCustomDateRange(filter.value);
|
|
944
|
+
var isDatePickerShown = filter && isCustomDateRange$1(filter.value);
|
|
195
945
|
var otherProps = getOtherProps(column);
|
|
196
946
|
var handleChange = function handleChange(selectedValue) {
|
|
197
947
|
if (isEmpty(selectedValue) || isNil(selectedValue)) {
|
|
@@ -205,7 +955,7 @@ var Datetime$1 = function Datetime(_ref) {
|
|
|
205
955
|
var option = findBy({
|
|
206
956
|
value: selectedValue
|
|
207
957
|
}, DATE_OPTIONS);
|
|
208
|
-
var updatedFilter = buildUpdatedFilter({
|
|
958
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
209
959
|
column: column,
|
|
210
960
|
defaultType: defaultType,
|
|
211
961
|
option: option
|
|
@@ -220,7 +970,7 @@ var Datetime$1 = function Datetime(_ref) {
|
|
|
220
970
|
setSelectedRule(null);
|
|
221
971
|
return;
|
|
222
972
|
}
|
|
223
|
-
var updatedFilter = buildUpdatedFilter({
|
|
973
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
224
974
|
column: column,
|
|
225
975
|
defaultType: defaultType,
|
|
226
976
|
option: {
|
|
@@ -330,7 +1080,7 @@ var Dropdown$1 = function Dropdown(_ref) {
|
|
|
330
1080
|
});
|
|
331
1081
|
return;
|
|
332
1082
|
}
|
|
333
|
-
var updatedFilter = buildUpdatedFilter
|
|
1083
|
+
var updatedFilter = buildUpdatedFilter({
|
|
334
1084
|
column: column,
|
|
335
1085
|
defaultType: defaultType,
|
|
336
1086
|
rule: ruleValue,
|
|
@@ -350,7 +1100,7 @@ var Dropdown$1 = function Dropdown(_ref) {
|
|
|
350
1100
|
}) : findBy({
|
|
351
1101
|
value: selectedValue
|
|
352
1102
|
}, options);
|
|
353
|
-
var updatedFilter = buildUpdatedFilter
|
|
1103
|
+
var updatedFilter = buildUpdatedFilter({
|
|
354
1104
|
column: column,
|
|
355
1105
|
defaultType: defaultType,
|
|
356
1106
|
option: option,
|
|
@@ -432,7 +1182,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
|
|
|
432
1182
|
if (datePickerType === "range" && ruleValue !== "between" || datePickerType === "date" && ruleValue === "between") {
|
|
433
1183
|
updateValue = "";
|
|
434
1184
|
}
|
|
435
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1185
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
436
1186
|
column: column,
|
|
437
1187
|
defaultType: defaultType,
|
|
438
1188
|
option: {},
|
|
@@ -451,7 +1201,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
|
|
|
451
1201
|
var value = datePickerType === "range" ? dates.map(function (date) {
|
|
452
1202
|
return date.toISOString();
|
|
453
1203
|
}) : dates;
|
|
454
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1204
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
455
1205
|
column: column,
|
|
456
1206
|
defaultType: defaultType,
|
|
457
1207
|
option: {},
|
|
@@ -523,7 +1273,7 @@ var SingleTime = function SingleTime(_ref) {
|
|
|
523
1273
|
if (timePickerType === "range" && ruleValue !== "between" || timePickerType === "time" && ruleValue === "between") {
|
|
524
1274
|
updateValue = "";
|
|
525
1275
|
}
|
|
526
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1276
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
527
1277
|
column: column,
|
|
528
1278
|
defaultType: defaultType,
|
|
529
1279
|
option: {},
|
|
@@ -545,7 +1295,7 @@ var SingleTime = function SingleTime(_ref) {
|
|
|
545
1295
|
var value = timePickerType === "range" ? times === null || times === void 0 ? void 0 : times.map(function (time) {
|
|
546
1296
|
return time.toISOString();
|
|
547
1297
|
}) : times === null || times === void 0 ? void 0 : times.toISOString();
|
|
548
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1298
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
549
1299
|
column: column,
|
|
550
1300
|
defaultType: defaultType,
|
|
551
1301
|
option: {},
|
|
@@ -598,7 +1348,7 @@ var Text = function Text(_ref) {
|
|
|
598
1348
|
_column$helpIconProps = column.helpIconProps,
|
|
599
1349
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
600
1350
|
var otherProps = getOtherProps(column);
|
|
601
|
-
var ruleOptions = buildRuleOptions({
|
|
1351
|
+
var ruleOptions = buildRuleOptions$1({
|
|
602
1352
|
defaultType: defaultType
|
|
603
1353
|
});
|
|
604
1354
|
var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
|
|
@@ -621,7 +1371,7 @@ var Text = function Text(_ref) {
|
|
|
621
1371
|
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
|
|
622
1372
|
var ruleValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
|
|
623
1373
|
if (equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && equals(selectedRule, ruleValue)) return;
|
|
624
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1374
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
625
1375
|
column: column,
|
|
626
1376
|
defaultType: defaultType,
|
|
627
1377
|
option: {},
|
|
@@ -647,7 +1397,7 @@ var Text = function Text(_ref) {
|
|
|
647
1397
|
}, [filter]);
|
|
648
1398
|
useEffect(function () {
|
|
649
1399
|
if (!debouncedInputValue) {
|
|
650
|
-
!isUndefinedOrEmpty(filter) && handleApplyFilter({
|
|
1400
|
+
!isUndefinedOrEmpty$1(filter) && handleApplyFilter({
|
|
651
1401
|
_delete: true
|
|
652
1402
|
});
|
|
653
1403
|
return;
|
|
@@ -706,7 +1456,7 @@ var Time$1 = function Time(_ref) {
|
|
|
706
1456
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
707
1457
|
var otherProps = getOtherProps(column);
|
|
708
1458
|
var value = (_filter$value = filter === null || filter === void 0 ? void 0 : filter.value) !== null && _filter$value !== void 0 ? _filter$value : null;
|
|
709
|
-
var isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);
|
|
1459
|
+
var isCustomTimeRangeShown = filter && isCustomTimeRange$1(filter.value);
|
|
710
1460
|
var _useTranslation = useTranslation(),
|
|
711
1461
|
t = _useTranslation.t;
|
|
712
1462
|
var handleChange = function handleChange(selectedValue) {
|
|
@@ -719,7 +1469,7 @@ var Time$1 = function Time(_ref) {
|
|
|
719
1469
|
var option = findBy({
|
|
720
1470
|
value: selectedValue
|
|
721
1471
|
}, TIME_OPTIONS);
|
|
722
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1472
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
723
1473
|
column: column,
|
|
724
1474
|
defaultType: defaultType,
|
|
725
1475
|
option: option
|
|
@@ -736,7 +1486,7 @@ var Time$1 = function Time(_ref) {
|
|
|
736
1486
|
if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {
|
|
737
1487
|
return;
|
|
738
1488
|
}
|
|
739
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1489
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
740
1490
|
column: column,
|
|
741
1491
|
defaultType: defaultType,
|
|
742
1492
|
option: {
|
|
@@ -812,7 +1562,7 @@ var TreeSelect$1 = function TreeSelect(_ref) {
|
|
|
812
1562
|
if (isNotPresent(option)) return handleApplyFilter({
|
|
813
1563
|
_delete: true
|
|
814
1564
|
});
|
|
815
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1565
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
816
1566
|
column: column,
|
|
817
1567
|
defaultType: defaultType,
|
|
818
1568
|
option: option,
|
|
@@ -829,7 +1579,7 @@ var TreeSelect$1 = function TreeSelect(_ref) {
|
|
|
829
1579
|
_delete: true
|
|
830
1580
|
});
|
|
831
1581
|
}
|
|
832
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1582
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
833
1583
|
column: column,
|
|
834
1584
|
defaultType: defaultType,
|
|
835
1585
|
option: isNewRuleEmpty ? [options[0]] : selectedOption,
|
|
@@ -937,7 +1687,7 @@ var Item = function Item(_ref) {
|
|
|
937
1687
|
handleApplyFilter: handleApplyFilter
|
|
938
1688
|
});
|
|
939
1689
|
}
|
|
940
|
-
if (isBoolean(defaultType) || isCheckbox
|
|
1690
|
+
if (isBoolean(defaultType) || isCheckbox(defaultType)) {
|
|
941
1691
|
return /*#__PURE__*/jsx(Boolean, {
|
|
942
1692
|
autoFocus: autoFocus,
|
|
943
1693
|
column: column,
|
|
@@ -963,5 +1713,5 @@ var Item = function Item(_ref) {
|
|
|
963
1713
|
});
|
|
964
1714
|
};
|
|
965
1715
|
|
|
966
|
-
export { Item as I };
|
|
967
|
-
//# sourceMappingURL=index-
|
|
1716
|
+
export { isSingle as A, Item as I, NUMBER_RULES as N, TEXT_RULES as T, buildFiltersFromURL as a, buildFilterColumnsFromFields as b, buildSelectorsFromURL as c, buildUrlFromFilters as d, buildUrlFromSegment as e, buildFilteredColumns as f, buildFiltersFromSearchParams as g, getSearchTermFromUrl as h, buildDefaultFilters as i, isKeywordFilterPresent as j, getSnakeCasedQueryParams as k, compareFilters as l, buildFiltersPayload as m, getColumnsWithStandardizedType as n, isDate as o, isCustomDateRange as p, isTime as q, isCustomTimeRange as r, isMulti as s, isTreeSelect as t, isSingleDate as u, isSingleTime as v, isBoolean as w, getLabelFromBool as x, isText as y, isDigit as z };
|
|
1717
|
+
//# sourceMappingURL=index-XdSGRCDF.js.map
|