@bigbinary/neeto-filters-frontend 4.3.37 → 4.3.39
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-Bzw5oKqg.js → index-BgriOtQk.js} +3 -3
- package/dist/{index-Bzw5oKqg.js.map → index-BgriOtQk.js.map} +1 -1
- package/dist/{index-CYxhPqEn.js → index-Bi_3NcEl.js} +2 -3
- package/dist/{index-CYxhPqEn.js.map → index-Bi_3NcEl.js.map} +1 -1
- package/dist/{index-Lu1qjZRh.js → index-CYqwc9xX.js} +841 -52
- package/dist/index-CYqwc9xX.js.map +1 -0
- package/dist/{index-BKZg5qSF.js → index-DSR9cB9x.js} +789 -29
- package/dist/index-DSR9cB9x.js.map +1 -0
- package/dist/{index-Cdvbpy-b.js → index-DwUu_zQL.js} +4 -4
- package/dist/{index-Cdvbpy-b.js.map → index-DwUu_zQL.js.map} +1 -1
- package/dist/{index-D5k7J243.js → index-F3j05Y_3.js} +4 -5
- package/dist/{index-D5k7J243.js.map → index-F3j05Y_3.js.map} +1 -1
- package/dist/{index-BCnobjnZ.js → index-FjZrMS34.js} +3 -3
- package/dist/{index-BCnobjnZ.js.map → index-FjZrMS34.js.map} +1 -1
- package/dist/{index-aOxl-IeV.js → index-ptWtPjco.js} +3 -3
- package/dist/{index-aOxl-IeV.js.map → index-ptWtPjco.js.map} +1 -1
- 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-Dh5ByFPA.js → utils-2wOrEJEY.js} +2 -3
- package/dist/{utils-B3464cET.js.map → utils-2wOrEJEY.js.map} +1 -1
- package/dist/{utils-Q-OTPVjq.js → utils-CJy_Ilbi.js} +35 -24
- package/dist/utils-CJy_Ilbi.js.map +1 -0
- package/dist/{utils-B3464cET.js → utils-CN8lsON0.js} +3 -4
- package/dist/{utils-Dh5ByFPA.js.map → utils-CN8lsON0.js.map} +1 -1
- package/dist/{utils-CzRCzZ3I.js → utils-DXOrtV1K.js} +33 -22
- package/dist/utils-DXOrtV1K.js.map +1 -0
- 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 +15 -15
- 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,778 @@
|
|
|
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-CJy_Ilbi.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
|
+
|
|
124
|
+
// Splits a filter URL param value into [filterValue, rule].
|
|
125
|
+
// Tolerates both `value+rule-X` (correct encoding) and `value rule-X` — the
|
|
126
|
+
// latter occurs when browsers like Arc decode `%2B` to `+` in the address bar,
|
|
127
|
+
// after which `qs.parse` interprets the literal `+` as a space per the
|
|
128
|
+
// application/x-www-form-urlencoded spec.
|
|
129
|
+
var splitValueAndRule = function splitValueAndRule(value) {
|
|
130
|
+
var match = value.match(/[+ ]rule-([^+ ]+)$/);
|
|
131
|
+
return match ? [value.slice(0, match.index), match[1]] : [value];
|
|
132
|
+
};
|
|
133
|
+
var isBoolean = function isBoolean(type) {
|
|
134
|
+
return type === "boolean" || type === "custom.boolean";
|
|
135
|
+
};
|
|
136
|
+
var isCheckbox = function isCheckbox(type) {
|
|
137
|
+
return type === "checkbox" || type === "custom.checkbox";
|
|
138
|
+
};
|
|
139
|
+
var isDate = function isDate(type) {
|
|
140
|
+
return type === "date" || type === "custom.date" || type === "custom.datetime";
|
|
141
|
+
};
|
|
142
|
+
var isSingleDate = function isSingleDate(type) {
|
|
143
|
+
return type === "single_date" || type === "custom.single_date";
|
|
144
|
+
};
|
|
145
|
+
var isSingleTime = function isSingleTime(type) {
|
|
146
|
+
return type === "single_time" || type === "custom.single_time";
|
|
147
|
+
};
|
|
148
|
+
var isTime = function isTime(type) {
|
|
149
|
+
return type === "time" || type === "custom.time";
|
|
150
|
+
};
|
|
151
|
+
var isMulti = function isMulti(type) {
|
|
152
|
+
return type === "multi_option" || type === "custom.multi_option";
|
|
153
|
+
};
|
|
154
|
+
var isSingle = function isSingle(type) {
|
|
155
|
+
return type === "single_option" || type === "custom.single_option";
|
|
156
|
+
};
|
|
157
|
+
var isText = function isText(type) {
|
|
158
|
+
return type === "text" || type === "custom.text";
|
|
159
|
+
};
|
|
160
|
+
var isDigit = function isDigit(type) {
|
|
161
|
+
return ["number", "decimal", "custom.decimal", "custom.number"].includes(type);
|
|
162
|
+
};
|
|
163
|
+
var isTreeSelect = function isTreeSelect(type) {
|
|
164
|
+
return type === "tree_select";
|
|
165
|
+
};
|
|
166
|
+
var isDateRange = function isDateRange(type) {
|
|
167
|
+
return type === "date_range" || type === "custom.date_range";
|
|
168
|
+
};
|
|
169
|
+
var isTimeRange = function isTimeRange(type) {
|
|
170
|
+
return type === "time_range" || type === "custom.time_range";
|
|
171
|
+
};
|
|
172
|
+
var isCustomDateRange = function isCustomDateRange(value) {
|
|
173
|
+
return !pluck("value", DATE_OPTIONS).includes(value);
|
|
174
|
+
};
|
|
175
|
+
var isCustomTimeRange = function isCustomTimeRange(value) {
|
|
176
|
+
return !pluck("value", TIME_OPTIONS).includes(value);
|
|
177
|
+
};
|
|
178
|
+
var isMultiModelFilter = function isMultiModelFilter(_ref2) {
|
|
179
|
+
var _ref2$model = _ref2.model,
|
|
180
|
+
model = _ref2$model === void 0 ? "" : _ref2$model;
|
|
181
|
+
return model.split(",").length > 1;
|
|
182
|
+
};
|
|
183
|
+
var getTimezone = function getTimezone() {
|
|
184
|
+
var _dayjs$$x;
|
|
185
|
+
return ((_dayjs$$x = dayjs().$x) === null || _dayjs$$x === void 0 ? void 0 : _dayjs$$x.$timezone) || dayjs.tz.guess();
|
|
186
|
+
};
|
|
187
|
+
var getLabelFromBool = function getLabelFromBool(_ref3) {
|
|
188
|
+
var value = _ref3.value,
|
|
189
|
+
values = _ref3.values;
|
|
190
|
+
return findBy({
|
|
191
|
+
value: value
|
|
192
|
+
}, either(isEmpty, isNil)(values) ? DEFAULT_BOOLEAN_OPTIONS : values).label;
|
|
193
|
+
};
|
|
194
|
+
var getBoolFromLabel = function getBoolFromLabel(_ref4) {
|
|
195
|
+
var label = _ref4.label,
|
|
196
|
+
values = _ref4.values;
|
|
197
|
+
return findBy({
|
|
198
|
+
label: label
|
|
199
|
+
}, either(isEmpty, isNil)(values) ? DEFAULT_BOOLEAN_OPTIONS : values).value;
|
|
200
|
+
};
|
|
201
|
+
var buildRuleOptions = function buildRuleOptions(_ref5) {
|
|
202
|
+
var defaultType = _ref5.defaultType;
|
|
203
|
+
if (isText(defaultType)) return TEXT_RULES;else if (isDigit(defaultType)) return NUMBER_RULES;
|
|
204
|
+
return [];
|
|
205
|
+
};
|
|
206
|
+
var getDefaultRuleValue = function getDefaultRuleValue(defaultType) {
|
|
207
|
+
var _buildRuleOptions;
|
|
208
|
+
return ((_buildRuleOptions = buildRuleOptions({
|
|
209
|
+
defaultType: defaultType
|
|
210
|
+
})) === null || _buildRuleOptions === void 0 || (_buildRuleOptions = _buildRuleOptions[0]) === null || _buildRuleOptions === void 0 ? void 0 : _buildRuleOptions.value) || "";
|
|
211
|
+
};
|
|
212
|
+
var isUndefinedOrEmpty = anyPass([isNil, isEmpty, any(isNil)]);
|
|
213
|
+
|
|
214
|
+
// Following function split node on comma followed by non-comma characters and a dot
|
|
215
|
+
var splitNode = function splitNode(joinedNodes) {
|
|
216
|
+
return joinedNodes.split(/,(?=[^,]*\.)/);
|
|
217
|
+
};
|
|
218
|
+
var splitFilter = function splitFilter(multiColumnFilter) {
|
|
219
|
+
var splittedNodes = splitNode(multiColumnFilter.node);
|
|
220
|
+
var splittedModels = multiColumnFilter.model.split(",");
|
|
221
|
+
return splittedNodes.map(function (node, index) {
|
|
222
|
+
return mergeLeft({
|
|
223
|
+
node: node,
|
|
224
|
+
model: splittedModels[index],
|
|
225
|
+
conditions_join_type: index < splittedNodes.length - 1 ? "or" : "and"
|
|
226
|
+
}, omit(["key", "label", "values", "setValue"], multiColumnFilter));
|
|
227
|
+
});
|
|
228
|
+
};
|
|
229
|
+
var buildDateValue = function buildDateValue(_ref6) {
|
|
230
|
+
var value = _ref6.value;
|
|
231
|
+
var rule = DATE_RULES[value] || "between";
|
|
232
|
+
var dateValue = ["before", "after", "custom-date-range"].includes(value) ? "" : value;
|
|
233
|
+
return {
|
|
234
|
+
value: dateValue,
|
|
235
|
+
rule: rule,
|
|
236
|
+
timezone: getTimezone()
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
var buildTimeValue = function buildTimeValue(_ref7) {
|
|
240
|
+
var value = _ref7.value;
|
|
241
|
+
var dateValue = value === "custom-time-range" ? "" : value;
|
|
242
|
+
return {
|
|
243
|
+
value: dateValue,
|
|
244
|
+
rule: "between"
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
|
|
248
|
+
var column = _ref8.column,
|
|
249
|
+
defaultType = _ref8.defaultType,
|
|
250
|
+
option = _ref8.option,
|
|
251
|
+
_ref8$rule = _ref8.rule,
|
|
252
|
+
rule = _ref8$rule === void 0 ? "" : _ref8$rule,
|
|
253
|
+
_ref8$value = _ref8.value,
|
|
254
|
+
value = _ref8$value === void 0 ? "" : _ref8$value;
|
|
255
|
+
var filter = omit(["values", "preprocessor"], column);
|
|
256
|
+
if (isMulti(defaultType)) {
|
|
257
|
+
return mergeLeft(filter, {
|
|
258
|
+
value: pluck("value", option),
|
|
259
|
+
rule: rule
|
|
260
|
+
});
|
|
261
|
+
} else if (isDate(defaultType)) {
|
|
262
|
+
return mergeLeft(filter, buildDateValue(option));
|
|
263
|
+
} else if (isSingleDate(defaultType)) {
|
|
264
|
+
return mergeLeft(filter, {
|
|
265
|
+
value: value,
|
|
266
|
+
rule: rule,
|
|
267
|
+
timezone: getTimezone()
|
|
268
|
+
});
|
|
269
|
+
} else if (isText(defaultType) || isDigit(defaultType)) {
|
|
270
|
+
var _column$preprocessor;
|
|
271
|
+
return mergeLeft(filter, {
|
|
272
|
+
rule: rule,
|
|
273
|
+
value: (column === null || column === void 0 || (_column$preprocessor = column.preprocessor) === null || _column$preprocessor === void 0 ? void 0 : _column$preprocessor.call(column, value)) || value
|
|
274
|
+
});
|
|
275
|
+
} else if (isSingleTime(defaultType)) {
|
|
276
|
+
return mergeLeft(filter, {
|
|
277
|
+
value: value,
|
|
278
|
+
rule: rule
|
|
279
|
+
});
|
|
280
|
+
} else if (isTime(defaultType)) {
|
|
281
|
+
return mergeLeft(filter, buildTimeValue(option));
|
|
282
|
+
} else if (isSingle(defaultType)) {
|
|
283
|
+
return mergeLeft(filter, {
|
|
284
|
+
value: option.value,
|
|
285
|
+
rule: rule
|
|
286
|
+
});
|
|
287
|
+
} else if (isTreeSelect(defaultType)) {
|
|
288
|
+
return mergeLeft(filter, {
|
|
289
|
+
value: option,
|
|
290
|
+
rule: rule
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
return mergeLeft(filter, {
|
|
294
|
+
value: option.value,
|
|
295
|
+
rule: "is"
|
|
296
|
+
});
|
|
297
|
+
};
|
|
298
|
+
var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns) {
|
|
299
|
+
var skipEmpty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
300
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
301
|
+
return columns.map(function (column) {
|
|
302
|
+
var value = searchParams[column.key];
|
|
303
|
+
var defaultType = column.defaultType || column.type;
|
|
304
|
+
if (!skipEmpty && value === "") {
|
|
305
|
+
return mergeLeft({
|
|
306
|
+
value: ""
|
|
307
|
+
}, column);
|
|
308
|
+
} else if (isNil(value) || value === "" || column.key === "keyword") {
|
|
309
|
+
return null;
|
|
310
|
+
} else if (column.key === SEARCH_TERM_KEY) {
|
|
311
|
+
if (isNil(column.node)) return null;
|
|
312
|
+
return mergeLeft({
|
|
313
|
+
value: value,
|
|
314
|
+
type: "text",
|
|
315
|
+
rule: "contains"
|
|
316
|
+
}, column);
|
|
317
|
+
} else if (isDate(defaultType) && isCustomDateRange(value)) {
|
|
318
|
+
return mergeLeft({
|
|
319
|
+
value: value
|
|
320
|
+
}, column);
|
|
321
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
322
|
+
var _splitValueAndRule = splitValueAndRule(value),
|
|
323
|
+
_splitValueAndRule2 = _slicedToArray(_splitValueAndRule, 2),
|
|
324
|
+
filterValue = _splitValueAndRule2[0],
|
|
325
|
+
rule = _splitValueAndRule2[1];
|
|
326
|
+
return mergeLeft({
|
|
327
|
+
rule: rule !== null && rule !== void 0 ? rule : "in",
|
|
328
|
+
value: filterValue.split("|")
|
|
329
|
+
}, column);
|
|
330
|
+
} else if (isSingle(defaultType)) {
|
|
331
|
+
var _splitValueAndRule3 = splitValueAndRule(value),
|
|
332
|
+
_splitValueAndRule4 = _slicedToArray(_splitValueAndRule3, 2),
|
|
333
|
+
_filterValue = _splitValueAndRule4[0],
|
|
334
|
+
_rule = _splitValueAndRule4[1];
|
|
335
|
+
return mergeLeft({
|
|
336
|
+
rule: _rule !== null && _rule !== void 0 ? _rule : "in",
|
|
337
|
+
value: _filterValue
|
|
338
|
+
}, column);
|
|
339
|
+
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
340
|
+
var _splitValueAndRule5 = splitValueAndRule(value),
|
|
341
|
+
_splitValueAndRule6 = _slicedToArray(_splitValueAndRule5, 2),
|
|
342
|
+
_filterValue2 = _splitValueAndRule6[0],
|
|
343
|
+
_rule2 = _splitValueAndRule6[1];
|
|
344
|
+
return mergeLeft({
|
|
345
|
+
rule: _rule2,
|
|
346
|
+
value: _filterValue2
|
|
347
|
+
}, column);
|
|
348
|
+
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
349
|
+
return mergeLeft({
|
|
350
|
+
value: value
|
|
351
|
+
}, column);
|
|
352
|
+
} else if (isSingleDate(defaultType)) {
|
|
353
|
+
var _splitValueAndRule7 = splitValueAndRule(value),
|
|
354
|
+
_splitValueAndRule8 = _slicedToArray(_splitValueAndRule7, 2),
|
|
355
|
+
_filterValue3 = _splitValueAndRule8[0],
|
|
356
|
+
_rule3 = _splitValueAndRule8[1];
|
|
357
|
+
return mergeLeft({
|
|
358
|
+
rule: _rule3,
|
|
359
|
+
value: _rule3 === "between" ? _filterValue3.split(",") : _filterValue3
|
|
360
|
+
}, column);
|
|
361
|
+
} else if (isSingleTime(defaultType)) {
|
|
362
|
+
var _splitValueAndRule9 = splitValueAndRule(value),
|
|
363
|
+
_splitValueAndRule10 = _slicedToArray(_splitValueAndRule9, 2),
|
|
364
|
+
_filterValue4 = _splitValueAndRule10[0],
|
|
365
|
+
_rule4 = _splitValueAndRule10[1];
|
|
366
|
+
return mergeLeft({
|
|
367
|
+
rule: _rule4,
|
|
368
|
+
value: _rule4 === "between" ? _filterValue4.split(",") : _filterValue4
|
|
369
|
+
}, column);
|
|
370
|
+
} else if (isBoolean(defaultType)) {
|
|
371
|
+
return mergeLeft({
|
|
372
|
+
rule: "is",
|
|
373
|
+
value: getBoolFromLabel({
|
|
374
|
+
label: value,
|
|
375
|
+
values: column.values
|
|
376
|
+
})
|
|
377
|
+
}, column);
|
|
378
|
+
}
|
|
379
|
+
return mergeLeft({
|
|
380
|
+
rule: "is",
|
|
381
|
+
value: value
|
|
382
|
+
}, column);
|
|
383
|
+
}).filter(identity);
|
|
384
|
+
};
|
|
385
|
+
var buildTimePayload = function buildTimePayload(value) {
|
|
386
|
+
var timeValue = {
|
|
387
|
+
"this-hour": [dayjs().startOf("hour"), dayjs().endOf("hour")],
|
|
388
|
+
"last-hour": [dayjs().add(-1, "hour").startOf("hour"), dayjs().add(-1, "hour").endOf("hour")],
|
|
389
|
+
"next-hour": [dayjs().add(1, "hour").startOf("hour"), dayjs().add(1, "hour").endOf("hour")]
|
|
390
|
+
};
|
|
391
|
+
if (isCustomTimeRange(value)) {
|
|
392
|
+
return {
|
|
393
|
+
value: value ? value.join(",") : "",
|
|
394
|
+
rule: "between",
|
|
395
|
+
timezone: getTimezone()
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
var times = timeValue[value] || timeValue["this-hour"];
|
|
399
|
+
return {
|
|
400
|
+
value: times.map(function (time) {
|
|
401
|
+
return time.toISOString();
|
|
402
|
+
}).join(","),
|
|
403
|
+
rule: "between",
|
|
404
|
+
timezone: getTimezone()
|
|
405
|
+
};
|
|
406
|
+
};
|
|
407
|
+
var buildDatePayload = function buildDatePayload(value) {
|
|
408
|
+
var dateValue = {
|
|
409
|
+
"this-week": [dayjs().startOf("week"), dayjs().endOf("week")],
|
|
410
|
+
"last-week": [dayjs().add(-1, "week").startOf("week"), dayjs().add(-1, "week").endOf("week")],
|
|
411
|
+
"this-month": [dayjs().startOf("month"), dayjs().endOf("month")],
|
|
412
|
+
"last-month": [dayjs().add(-1, "month").startOf("month"), dayjs().add(-1, "month").endOf("month")],
|
|
413
|
+
"this-year": [dayjs().startOf("year"), dayjs().endOf("year")],
|
|
414
|
+
"last-year": [dayjs().add(-1, "year").startOf("year"), dayjs().add(-1, "year").endOf("year")]
|
|
415
|
+
};
|
|
416
|
+
if (value === "today") {
|
|
417
|
+
return {
|
|
418
|
+
value: dayjs().toISOString(),
|
|
419
|
+
rule: "on",
|
|
420
|
+
timezone: getTimezone()
|
|
421
|
+
};
|
|
422
|
+
} else if (value === "yesterday") {
|
|
423
|
+
return {
|
|
424
|
+
value: dayjs().add(-1, "day").toISOString(),
|
|
425
|
+
rule: "on",
|
|
426
|
+
timezone: getTimezone()
|
|
427
|
+
};
|
|
428
|
+
} else if (value === "all-time") {
|
|
429
|
+
return {
|
|
430
|
+
value: dayjs().toISOString(),
|
|
431
|
+
rule: "has_any_value",
|
|
432
|
+
timezone: getTimezone()
|
|
433
|
+
};
|
|
434
|
+
} else if (isCustomDateRange(value)) {
|
|
435
|
+
//custom-date-range
|
|
436
|
+
return {
|
|
437
|
+
value: value ? value.join(",") : "",
|
|
438
|
+
rule: "between",
|
|
439
|
+
timezone: getTimezone()
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
var dates = dateValue[value] || dateValue["tihs-week"];
|
|
443
|
+
return {
|
|
444
|
+
value: dates.map(function (date) {
|
|
445
|
+
return date.toISOString();
|
|
446
|
+
}).join(","),
|
|
447
|
+
rule: "between",
|
|
448
|
+
timezone: getTimezone()
|
|
449
|
+
};
|
|
450
|
+
};
|
|
451
|
+
var buildSingleDatePayload = function buildSingleDatePayload(filter) {
|
|
452
|
+
var value = filter.value;
|
|
453
|
+
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
454
|
+
var type = filter.defaultType ? filter.type : "date";
|
|
455
|
+
return _objectSpread$8(_objectSpread$8({}, filter), {}, {
|
|
456
|
+
value: filterValue,
|
|
457
|
+
type: type,
|
|
458
|
+
timezone: getTimezone()
|
|
459
|
+
});
|
|
460
|
+
};
|
|
461
|
+
var buildSingleTimePayload = function buildSingleTimePayload(filter) {
|
|
462
|
+
var value = filter.value;
|
|
463
|
+
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
464
|
+
var type = filter.defaultType ? filter.type : "time";
|
|
465
|
+
return _objectSpread$8(_objectSpread$8({}, filter), {}, {
|
|
466
|
+
value: filterValue,
|
|
467
|
+
type: type,
|
|
468
|
+
timezone: getTimezone()
|
|
469
|
+
});
|
|
470
|
+
};
|
|
471
|
+
var flattenPayload = function flattenPayload(payload) {
|
|
472
|
+
var flattenedPayload = [];
|
|
473
|
+
payload.forEach(function (item) {
|
|
474
|
+
return Array.isArray(item) ? flattenedPayload.unshift.apply(flattenedPayload, _toConsumableArray(item)) : flattenedPayload.push(item);
|
|
475
|
+
}, []);
|
|
476
|
+
return flattenedPayload;
|
|
477
|
+
};
|
|
478
|
+
var buildMultiOptionPayload = function buildMultiOptionPayload(values) {
|
|
479
|
+
return values.map(function (value) {
|
|
480
|
+
return value.toString();
|
|
481
|
+
}).join("|");
|
|
482
|
+
};
|
|
483
|
+
var buildFiltersPayload = function buildFiltersPayload(filters) {
|
|
484
|
+
var payload = removeBy({
|
|
485
|
+
value: ""
|
|
486
|
+
}, filters).map(function (filter) {
|
|
487
|
+
if (filter.key === SEARCH_TERM_KEY && isMultiModelFilter(filter)) {
|
|
488
|
+
return splitFilter(filter);
|
|
489
|
+
}
|
|
490
|
+
var filterPayload = omit(["key", "label", "values", "setValue"], filter);
|
|
491
|
+
var _filterPayload$defaul = filterPayload.defaultType,
|
|
492
|
+
defaultType = _filterPayload$defaul === void 0 ? filterPayload.type : _filterPayload$defaul,
|
|
493
|
+
value = filterPayload.value;
|
|
494
|
+
if (isMultiModelFilter(filterPayload)) {
|
|
495
|
+
throw i18next.t("neetoFilters.errors.cannotPassMultipleModels");
|
|
496
|
+
}
|
|
497
|
+
if (isDate(defaultType)) {
|
|
498
|
+
return mergeRight(filterPayload, buildDatePayload(value));
|
|
499
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
500
|
+
return mergeRight(filterPayload, {
|
|
501
|
+
value: buildMultiOptionPayload(value)
|
|
502
|
+
});
|
|
503
|
+
} else if (isSingleDate(defaultType)) {
|
|
504
|
+
return mergeRight(filterPayload, buildSingleDatePayload(filterPayload));
|
|
505
|
+
} else if (isSingleTime(defaultType)) {
|
|
506
|
+
return mergeRight(filterPayload, buildSingleTimePayload(filterPayload));
|
|
507
|
+
} else if (isTime(defaultType)) {
|
|
508
|
+
return mergeRight(filterPayload, buildTimePayload(value));
|
|
509
|
+
} else if (isDateRange(defaultType)) {
|
|
510
|
+
return mergeRight(filterPayload, buildDateRangePayload(value));
|
|
511
|
+
} else if (isTimeRange(defaultType)) {
|
|
512
|
+
return mergeRight(filterPayload, buildTimeRangePayload(value));
|
|
513
|
+
}
|
|
514
|
+
return filterPayload;
|
|
515
|
+
});
|
|
516
|
+
return isEmpty(payload) ? [] : [{
|
|
517
|
+
conditions: flattenPayload(payload)
|
|
518
|
+
}];
|
|
519
|
+
};
|
|
520
|
+
var buildTimeRangePayload = function buildTimeRangePayload(value) {
|
|
521
|
+
var timeValue = {
|
|
522
|
+
"this-hour": [dayjs().startOf("hour"), dayjs().endOf("hour")],
|
|
523
|
+
"last-hour": [dayjs().add(-1, "hour").startOf("hour"), dayjs().add(-1, "hour").endOf("hour")],
|
|
524
|
+
"next-hour": [dayjs().add(1, "hour").startOf("hour"), dayjs().add(1, "hour").endOf("hour")]
|
|
525
|
+
};
|
|
526
|
+
var times = timeValue[value] || timeValue["this-hour"];
|
|
527
|
+
return {
|
|
528
|
+
value: times.map(function (time) {
|
|
529
|
+
return time.toISOString();
|
|
530
|
+
}).join(","),
|
|
531
|
+
rule: "contains",
|
|
532
|
+
timezone: getTimezone()
|
|
533
|
+
};
|
|
534
|
+
};
|
|
535
|
+
var buildDateRangePayload = function buildDateRangePayload(value) {
|
|
536
|
+
var dateValue = {
|
|
537
|
+
today: [dayjs().startOf("day"), dayjs().endOf("day")],
|
|
538
|
+
yesterday: [dayjs().add(-1, "day").startOf("day"), dayjs().add(-1, "day").endOf("day")],
|
|
539
|
+
"this-week": [dayjs().startOf("week"), dayjs().endOf("week")],
|
|
540
|
+
"last-week": [dayjs().add(-1, "week").startOf("week"), dayjs().add(-1, "week").endOf("week")],
|
|
541
|
+
"this-month": [dayjs().startOf("month"), dayjs().endOf("month")],
|
|
542
|
+
"last-month": [dayjs().add(-1, "month").startOf("month"), dayjs().add(-1, "month").endOf("month")],
|
|
543
|
+
"this-year": [dayjs().startOf("year"), dayjs().endOf("year")],
|
|
544
|
+
"last-year": [dayjs().add(-1, "year").startOf("year"), dayjs().add(-1, "year").endOf("year")]
|
|
545
|
+
};
|
|
546
|
+
if (value === "all-time" || isNotPresent(dateValue[value])) {
|
|
547
|
+
return {
|
|
548
|
+
value: dayjs().toISOString(),
|
|
549
|
+
rule: "has_any_value",
|
|
550
|
+
timezone: getTimezone()
|
|
551
|
+
};
|
|
552
|
+
}
|
|
553
|
+
return {
|
|
554
|
+
value: dateValue[value].map(function (date) {
|
|
555
|
+
return date.toISOString();
|
|
556
|
+
}).join(","),
|
|
557
|
+
rule: "contains",
|
|
558
|
+
timezone: getTimezone()
|
|
559
|
+
};
|
|
560
|
+
};
|
|
561
|
+
var buildFiltersFromURL = function buildFiltersFromURL(columns) {
|
|
562
|
+
return buildFiltersPayload(buildFiltersFromSearchParams(columns.filter(function (column) {
|
|
563
|
+
return !isNil(column.node);
|
|
564
|
+
})));
|
|
565
|
+
};
|
|
566
|
+
var buildSelectorsFromURL = function buildSelectorsFromURL(columns) {
|
|
567
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
568
|
+
var selectors = {};
|
|
569
|
+
columns.filter(function (_ref9) {
|
|
570
|
+
var node = _ref9.node;
|
|
571
|
+
return !node;
|
|
572
|
+
}).forEach(function (_ref10) {
|
|
573
|
+
var key = _ref10.key,
|
|
574
|
+
defaultType = _ref10.defaultType,
|
|
575
|
+
type = _ref10.type;
|
|
576
|
+
var value = searchParams[key];
|
|
577
|
+
if (value) {
|
|
578
|
+
selectors[key] = isMulti(defaultType || type) ? value.split("|") : value;
|
|
579
|
+
}
|
|
580
|
+
});
|
|
581
|
+
return selectors;
|
|
582
|
+
};
|
|
583
|
+
var compareFilters = function compareFilters(oldFilters, newFilters) {
|
|
584
|
+
var formatFilters = function formatFilters(filters) {
|
|
585
|
+
return removeBy({
|
|
586
|
+
value: ""
|
|
587
|
+
}, filters).map(pick(["key", "rule", "value"]));
|
|
588
|
+
};
|
|
589
|
+
return equals(formatFilters(oldFilters), formatFilters(newFilters));
|
|
590
|
+
};
|
|
591
|
+
var buildFilteredColumns = function buildFilteredColumns(_ref11) {
|
|
592
|
+
var _ref11$searchTerm = _ref11.searchTerm,
|
|
593
|
+
searchTerm = _ref11$searchTerm === void 0 ? "" : _ref11$searchTerm,
|
|
594
|
+
columns = _ref11.columns;
|
|
595
|
+
var groupedColumsObject = groupByGroup(columns.filter(function (_ref12) {
|
|
596
|
+
var label = _ref12.label,
|
|
597
|
+
_ref12$hidden = _ref12.hidden,
|
|
598
|
+
hidden = _ref12$hidden === void 0 ? false : _ref12$hidden;
|
|
599
|
+
return label.toLocaleLowerCase().includes(searchTerm.trim().toLocaleLowerCase()) && !hidden;
|
|
600
|
+
}));
|
|
601
|
+
return {
|
|
602
|
+
groupedColumns: toPairs(omit(["individual"], groupedColumsObject)).map(function (_ref13) {
|
|
603
|
+
var _ref14 = _slicedToArray(_ref13, 2),
|
|
604
|
+
group = _ref14[0],
|
|
605
|
+
columns = _ref14[1];
|
|
606
|
+
return {
|
|
607
|
+
group: group,
|
|
608
|
+
columns: columns
|
|
609
|
+
};
|
|
610
|
+
}),
|
|
611
|
+
ungroupedColumns: groupedColumsObject.individual
|
|
612
|
+
};
|
|
613
|
+
};
|
|
614
|
+
var buildDefaultFilters = function buildDefaultFilters(columns, filters) {
|
|
615
|
+
return columns.filter(function (column) {
|
|
616
|
+
return !isUndefinedOrEmpty(column.defaultValue) && !findBy({
|
|
617
|
+
key: column.key
|
|
618
|
+
}, filters);
|
|
619
|
+
}).map(function (column) {
|
|
620
|
+
var defaultType = column.defaultType || column.type;
|
|
621
|
+
return buildUpdatedFilter({
|
|
622
|
+
column: column,
|
|
623
|
+
defaultType: defaultType,
|
|
624
|
+
rule: getDefaultRuleValue(defaultType),
|
|
625
|
+
option: column.defaultValue,
|
|
626
|
+
value: column.defaultValue
|
|
627
|
+
});
|
|
628
|
+
});
|
|
629
|
+
};
|
|
630
|
+
var createUrlParamString = function createUrlParamString(_ref15) {
|
|
631
|
+
var filter = _ref15.filter,
|
|
632
|
+
columns = _ref15.columns;
|
|
633
|
+
var key = filter.key,
|
|
634
|
+
value = filter.value,
|
|
635
|
+
_filter$defaultType = filter.defaultType,
|
|
636
|
+
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
637
|
+
rule = filter.rule;
|
|
638
|
+
if (key === SEARCH_TERM_KEY) {
|
|
639
|
+
return value;
|
|
640
|
+
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
641
|
+
return "".concat(value, "+rule-").concat(rule);
|
|
642
|
+
} else if (isSingleDate(defaultType) || isSingleTime(defaultType)) {
|
|
643
|
+
return value && "".concat(value, "+rule-").concat(rule) || value;
|
|
644
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
645
|
+
return "".concat(value.join("|"), "+rule-").concat(rule);
|
|
646
|
+
} else if (isSingle(defaultType)) {
|
|
647
|
+
return "".concat(value, "+rule-").concat(rule);
|
|
648
|
+
} else if (isBoolean(defaultType)) {
|
|
649
|
+
return getLabelFromBool({
|
|
650
|
+
value: value,
|
|
651
|
+
values: findBy({
|
|
652
|
+
key: key
|
|
653
|
+
}, columns).values
|
|
654
|
+
});
|
|
655
|
+
}
|
|
656
|
+
return value;
|
|
657
|
+
};
|
|
658
|
+
var buildUrlFromFilters = function buildUrlFromFilters(_ref16) {
|
|
659
|
+
var columns = _ref16.columns,
|
|
660
|
+
filters = _ref16.filters,
|
|
661
|
+
_ref16$isClearAll = _ref16.isClearAll,
|
|
662
|
+
isClearAll = _ref16$isClearAll === void 0 ? false : _ref16$isClearAll,
|
|
663
|
+
_ref16$childrenKeys = _ref16.childrenKeys,
|
|
664
|
+
childrenKeys = _ref16$childrenKeys === void 0 ? [] : _ref16$childrenKeys;
|
|
665
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
666
|
+
var isKeywordFilterPresent = findBy({
|
|
667
|
+
key: SEARCH_TERM_KEY
|
|
668
|
+
}, filters);
|
|
669
|
+
columns.forEach(function (_ref17) {
|
|
670
|
+
var key = _ref17.key,
|
|
671
|
+
defaultValue = _ref17.defaultValue;
|
|
672
|
+
return !defaultValue && delete searchParams[key];
|
|
673
|
+
});
|
|
674
|
+
if (isClearAll) {
|
|
675
|
+
childrenKeys.forEach(function (key) {
|
|
676
|
+
return delete searchParams[key];
|
|
677
|
+
});
|
|
678
|
+
delete searchParams[SEGMENT_ID_KEY];
|
|
679
|
+
}
|
|
680
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
681
|
+
isKeywordFilterPresent && delete searchParams[SEARCH_TERM_KEY];
|
|
682
|
+
concat(filters, defaultFilters).forEach(function (filter) {
|
|
683
|
+
searchParams[filter.key] = createUrlParamString({
|
|
684
|
+
filter: filter,
|
|
685
|
+
columns: columns
|
|
686
|
+
});
|
|
687
|
+
});
|
|
688
|
+
if (isEmpty(omit([SEGMENT_ID_KEY], searchParams))) {
|
|
689
|
+
delete searchParams[SEGMENT_ID_KEY];
|
|
690
|
+
}
|
|
691
|
+
return buildUrl("", searchParams).slice(1);
|
|
692
|
+
};
|
|
693
|
+
var createUrlParamStringForSegments = function createUrlParamStringForSegments(_ref18) {
|
|
694
|
+
var filter = _ref18.filter,
|
|
695
|
+
columns = _ref18.columns;
|
|
696
|
+
var value = filter.value,
|
|
697
|
+
_filter$defaultType2 = filter.defaultType,
|
|
698
|
+
defaultType = _filter$defaultType2 === void 0 ? filter.type : _filter$defaultType2;
|
|
699
|
+
if (isMulti(defaultType)) {
|
|
700
|
+
return value;
|
|
701
|
+
}
|
|
702
|
+
return createUrlParamString({
|
|
703
|
+
filter: filter,
|
|
704
|
+
columns: columns
|
|
705
|
+
});
|
|
706
|
+
};
|
|
707
|
+
var buildUrlFromSegment = function buildUrlFromSegment(_ref19) {
|
|
708
|
+
var columns = _ref19.columns,
|
|
709
|
+
filters = _ref19.filters,
|
|
710
|
+
id = _ref19.id;
|
|
711
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
712
|
+
columns.forEach(function (_ref20) {
|
|
713
|
+
var key = _ref20.key,
|
|
714
|
+
defaultValue = _ref20.defaultValue;
|
|
715
|
+
return !defaultValue && delete searchParams[key];
|
|
716
|
+
});
|
|
717
|
+
delete searchParams[SEARCH_TERM_KEY];
|
|
718
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
719
|
+
var newSearchParams = concat(filters, defaultFilters).reduce(function (acc, filter) {
|
|
720
|
+
acc[filter.key] = createUrlParamStringForSegments({
|
|
721
|
+
filter: filter,
|
|
722
|
+
columns: columns
|
|
723
|
+
});
|
|
724
|
+
return acc;
|
|
725
|
+
}, isNotEmpty(id) ? _defineProperty({}, SEGMENT_ID_KEY, id) : {});
|
|
726
|
+
return buildUrl("", mergeLeft(newSearchParams, searchParams)).slice(1);
|
|
727
|
+
};
|
|
728
|
+
var getSearchTermFromUrl = function getSearchTermFromUrl() {
|
|
729
|
+
return getQueryParams().searchTerm || "";
|
|
730
|
+
};
|
|
731
|
+
var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref22) {
|
|
732
|
+
var fields = _ref22.fields,
|
|
733
|
+
_ref22$selectedFields = _ref22.selectedFields,
|
|
734
|
+
selectedFields = _ref22$selectedFields === void 0 ? [] : _ref22$selectedFields,
|
|
735
|
+
_ref22$showRuleSelect = _ref22.showRuleSelector,
|
|
736
|
+
showRuleSelector = _ref22$showRuleSelect === void 0 ? false : _ref22$showRuleSelect,
|
|
737
|
+
groupName = _ref22.groupName;
|
|
738
|
+
return fields.reduce(function (columns, field) {
|
|
739
|
+
if (isEmpty(selectedFields) || selectedFields.includes(field.name)) {
|
|
740
|
+
var id = field.id,
|
|
741
|
+
name = field.name,
|
|
742
|
+
kind = field.kind;
|
|
743
|
+
var column = _objectSpread$8({
|
|
744
|
+
key: "custom".concat(toLower(name)),
|
|
745
|
+
node: "".concat(name, ":").concat(id),
|
|
746
|
+
label: capitalize(name),
|
|
747
|
+
type: "custom.".concat(kind),
|
|
748
|
+
showRuleSelector: showRuleSelector
|
|
749
|
+
}, groupName && {
|
|
750
|
+
group: groupName
|
|
751
|
+
});
|
|
752
|
+
if (kind === "single_option" || kind === "multi_option") {
|
|
753
|
+
column.values = field.data.map(function (item) {
|
|
754
|
+
return {
|
|
755
|
+
label: capitalize(item.label),
|
|
756
|
+
value: item.id
|
|
757
|
+
};
|
|
758
|
+
});
|
|
759
|
+
}
|
|
760
|
+
columns.push(column);
|
|
761
|
+
}
|
|
762
|
+
return columns;
|
|
763
|
+
}, []);
|
|
764
|
+
};
|
|
765
|
+
var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(columns) {
|
|
766
|
+
return columns.map(function (column) {
|
|
767
|
+
return _objectSpread$8(_objectSpread$8({}, column), {}, {
|
|
768
|
+
type: standardizeColumnType(column.type)
|
|
769
|
+
});
|
|
770
|
+
});
|
|
771
|
+
};
|
|
772
|
+
var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
|
|
773
|
+
return not(isEmpty(keyworFilter.node));
|
|
774
|
+
};
|
|
775
|
+
|
|
16
776
|
var getOtherProps = function getOtherProps(props) {
|
|
17
777
|
return omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
|
|
18
778
|
};
|
|
@@ -123,7 +883,7 @@ var Boolean$1 = function Boolean(_ref) {
|
|
|
123
883
|
values = column.values,
|
|
124
884
|
_column$helpIconProps = column.helpIconProps,
|
|
125
885
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
126
|
-
var options = isNotPresent(values) ? isCheckbox(defaultType) ? CHECKBOX_OPTIONS : DEFAULT_BOOLEAN_OPTIONS : values;
|
|
886
|
+
var options = isNotPresent(values) ? isCheckbox$1(defaultType) ? CHECKBOX_OPTIONS : DEFAULT_BOOLEAN_OPTIONS : values;
|
|
127
887
|
var otherProps = getOtherProps(column);
|
|
128
888
|
var value = (_filter$value = filter === null || filter === void 0 ? void 0 : filter.value) !== null && _filter$value !== void 0 ? _filter$value : null;
|
|
129
889
|
var _useTranslation = useTranslation(),
|
|
@@ -138,7 +898,7 @@ var Boolean$1 = function Boolean(_ref) {
|
|
|
138
898
|
var option = findBy({
|
|
139
899
|
value: selectedValue
|
|
140
900
|
}, options);
|
|
141
|
-
var updatedFilter = buildUpdatedFilter({
|
|
901
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
142
902
|
column: column,
|
|
143
903
|
defaultType: defaultType,
|
|
144
904
|
option: option
|
|
@@ -191,7 +951,7 @@ var Datetime$1 = function Datetime(_ref) {
|
|
|
191
951
|
label = column.label,
|
|
192
952
|
_column$helpIconProps = column.helpIconProps,
|
|
193
953
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
194
|
-
var isDatePickerShown = filter && isCustomDateRange(filter.value);
|
|
954
|
+
var isDatePickerShown = filter && isCustomDateRange$1(filter.value);
|
|
195
955
|
var otherProps = getOtherProps(column);
|
|
196
956
|
var handleChange = function handleChange(selectedValue) {
|
|
197
957
|
if (isEmpty(selectedValue) || isNil(selectedValue)) {
|
|
@@ -205,7 +965,7 @@ var Datetime$1 = function Datetime(_ref) {
|
|
|
205
965
|
var option = findBy({
|
|
206
966
|
value: selectedValue
|
|
207
967
|
}, DATE_OPTIONS);
|
|
208
|
-
var updatedFilter = buildUpdatedFilter({
|
|
968
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
209
969
|
column: column,
|
|
210
970
|
defaultType: defaultType,
|
|
211
971
|
option: option
|
|
@@ -220,7 +980,7 @@ var Datetime$1 = function Datetime(_ref) {
|
|
|
220
980
|
setSelectedRule(null);
|
|
221
981
|
return;
|
|
222
982
|
}
|
|
223
|
-
var updatedFilter = buildUpdatedFilter({
|
|
983
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
224
984
|
column: column,
|
|
225
985
|
defaultType: defaultType,
|
|
226
986
|
option: {
|
|
@@ -330,7 +1090,7 @@ var Dropdown$1 = function Dropdown(_ref) {
|
|
|
330
1090
|
});
|
|
331
1091
|
return;
|
|
332
1092
|
}
|
|
333
|
-
var updatedFilter = buildUpdatedFilter
|
|
1093
|
+
var updatedFilter = buildUpdatedFilter({
|
|
334
1094
|
column: column,
|
|
335
1095
|
defaultType: defaultType,
|
|
336
1096
|
rule: ruleValue,
|
|
@@ -350,7 +1110,7 @@ var Dropdown$1 = function Dropdown(_ref) {
|
|
|
350
1110
|
}) : findBy({
|
|
351
1111
|
value: selectedValue
|
|
352
1112
|
}, options);
|
|
353
|
-
var updatedFilter = buildUpdatedFilter
|
|
1113
|
+
var updatedFilter = buildUpdatedFilter({
|
|
354
1114
|
column: column,
|
|
355
1115
|
defaultType: defaultType,
|
|
356
1116
|
option: option,
|
|
@@ -432,7 +1192,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
|
|
|
432
1192
|
if (datePickerType === "range" && ruleValue !== "between" || datePickerType === "date" && ruleValue === "between") {
|
|
433
1193
|
updateValue = "";
|
|
434
1194
|
}
|
|
435
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1195
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
436
1196
|
column: column,
|
|
437
1197
|
defaultType: defaultType,
|
|
438
1198
|
option: {},
|
|
@@ -451,7 +1211,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
|
|
|
451
1211
|
var value = datePickerType === "range" ? dates.map(function (date) {
|
|
452
1212
|
return date.toISOString();
|
|
453
1213
|
}) : dates;
|
|
454
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1214
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
455
1215
|
column: column,
|
|
456
1216
|
defaultType: defaultType,
|
|
457
1217
|
option: {},
|
|
@@ -523,7 +1283,7 @@ var SingleTime = function SingleTime(_ref) {
|
|
|
523
1283
|
if (timePickerType === "range" && ruleValue !== "between" || timePickerType === "time" && ruleValue === "between") {
|
|
524
1284
|
updateValue = "";
|
|
525
1285
|
}
|
|
526
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1286
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
527
1287
|
column: column,
|
|
528
1288
|
defaultType: defaultType,
|
|
529
1289
|
option: {},
|
|
@@ -545,7 +1305,7 @@ var SingleTime = function SingleTime(_ref) {
|
|
|
545
1305
|
var value = timePickerType === "range" ? times === null || times === void 0 ? void 0 : times.map(function (time) {
|
|
546
1306
|
return time.toISOString();
|
|
547
1307
|
}) : times === null || times === void 0 ? void 0 : times.toISOString();
|
|
548
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1308
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
549
1309
|
column: column,
|
|
550
1310
|
defaultType: defaultType,
|
|
551
1311
|
option: {},
|
|
@@ -598,7 +1358,7 @@ var Text = function Text(_ref) {
|
|
|
598
1358
|
_column$helpIconProps = column.helpIconProps,
|
|
599
1359
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
600
1360
|
var otherProps = getOtherProps(column);
|
|
601
|
-
var ruleOptions = buildRuleOptions({
|
|
1361
|
+
var ruleOptions = buildRuleOptions$1({
|
|
602
1362
|
defaultType: defaultType
|
|
603
1363
|
});
|
|
604
1364
|
var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
|
|
@@ -621,7 +1381,7 @@ var Text = function Text(_ref) {
|
|
|
621
1381
|
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
|
|
622
1382
|
var ruleValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
|
|
623
1383
|
if (equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && equals(selectedRule, ruleValue)) return;
|
|
624
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1384
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
625
1385
|
column: column,
|
|
626
1386
|
defaultType: defaultType,
|
|
627
1387
|
option: {},
|
|
@@ -647,7 +1407,7 @@ var Text = function Text(_ref) {
|
|
|
647
1407
|
}, [filter]);
|
|
648
1408
|
useEffect(function () {
|
|
649
1409
|
if (!debouncedInputValue) {
|
|
650
|
-
!isUndefinedOrEmpty(filter) && handleApplyFilter({
|
|
1410
|
+
!isUndefinedOrEmpty$1(filter) && handleApplyFilter({
|
|
651
1411
|
_delete: true
|
|
652
1412
|
});
|
|
653
1413
|
return;
|
|
@@ -706,7 +1466,7 @@ var Time$1 = function Time(_ref) {
|
|
|
706
1466
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
707
1467
|
var otherProps = getOtherProps(column);
|
|
708
1468
|
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);
|
|
1469
|
+
var isCustomTimeRangeShown = filter && isCustomTimeRange$1(filter.value);
|
|
710
1470
|
var _useTranslation = useTranslation(),
|
|
711
1471
|
t = _useTranslation.t;
|
|
712
1472
|
var handleChange = function handleChange(selectedValue) {
|
|
@@ -719,7 +1479,7 @@ var Time$1 = function Time(_ref) {
|
|
|
719
1479
|
var option = findBy({
|
|
720
1480
|
value: selectedValue
|
|
721
1481
|
}, TIME_OPTIONS);
|
|
722
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1482
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
723
1483
|
column: column,
|
|
724
1484
|
defaultType: defaultType,
|
|
725
1485
|
option: option
|
|
@@ -736,7 +1496,7 @@ var Time$1 = function Time(_ref) {
|
|
|
736
1496
|
if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {
|
|
737
1497
|
return;
|
|
738
1498
|
}
|
|
739
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1499
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
740
1500
|
column: column,
|
|
741
1501
|
defaultType: defaultType,
|
|
742
1502
|
option: {
|
|
@@ -812,7 +1572,7 @@ var TreeSelect$1 = function TreeSelect(_ref) {
|
|
|
812
1572
|
if (isNotPresent(option)) return handleApplyFilter({
|
|
813
1573
|
_delete: true
|
|
814
1574
|
});
|
|
815
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1575
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
816
1576
|
column: column,
|
|
817
1577
|
defaultType: defaultType,
|
|
818
1578
|
option: option,
|
|
@@ -829,7 +1589,7 @@ var TreeSelect$1 = function TreeSelect(_ref) {
|
|
|
829
1589
|
_delete: true
|
|
830
1590
|
});
|
|
831
1591
|
}
|
|
832
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1592
|
+
var updatedFilter = buildUpdatedFilter$1({
|
|
833
1593
|
column: column,
|
|
834
1594
|
defaultType: defaultType,
|
|
835
1595
|
option: isNewRuleEmpty ? [options[0]] : selectedOption,
|
|
@@ -937,7 +1697,7 @@ var Item = function Item(_ref) {
|
|
|
937
1697
|
handleApplyFilter: handleApplyFilter
|
|
938
1698
|
});
|
|
939
1699
|
}
|
|
940
|
-
if (isBoolean(defaultType) || isCheckbox
|
|
1700
|
+
if (isBoolean(defaultType) || isCheckbox(defaultType)) {
|
|
941
1701
|
return /*#__PURE__*/jsx(Boolean, {
|
|
942
1702
|
autoFocus: autoFocus,
|
|
943
1703
|
column: column,
|
|
@@ -963,5 +1723,5 @@ var Item = function Item(_ref) {
|
|
|
963
1723
|
});
|
|
964
1724
|
};
|
|
965
1725
|
|
|
966
|
-
export { Item as I };
|
|
967
|
-
//# sourceMappingURL=index-
|
|
1726
|
+
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 };
|
|
1727
|
+
//# sourceMappingURL=index-DSR9cB9x.js.map
|