@bigbinary/neeto-filters-frontend 4.3.32 → 4.3.34
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/README.md +0 -2
- package/dist/.ready +1 -0
- package/dist/Bar.js +15 -26
- package/dist/Bar.js.map +1 -1
- package/dist/Filters.js +8 -7
- package/dist/Filters.js.map +1 -1
- package/dist/Segments.js +12 -9
- package/dist/Segments.js.map +1 -1
- package/dist/cjs/Bar.js +19 -30
- package/dist/cjs/Bar.js.map +1 -1
- package/dist/cjs/Filters.js +8 -7
- package/dist/cjs/Filters.js.map +1 -1
- package/dist/cjs/Segments.js +8 -5
- package/dist/cjs/Segments.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/index.js +9 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.js +2 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/v2/Bar.js +661 -0
- package/dist/cjs/v2/Bar.js.map +1 -0
- package/dist/cjs/v2/Filters.js +336 -0
- package/dist/cjs/v2/Filters.js.map +1 -0
- package/dist/cjs/v2/Segments.js +520 -0
- package/dist/cjs/v2/Segments.js.map +1 -0
- package/dist/cjs/v2/index.js +58 -0
- package/dist/cjs/v2/index.js.map +1 -0
- package/dist/cjs/v2/utils.js +70 -0
- package/dist/cjs/v2/utils.js.map +1 -0
- package/dist/{constants-8DtAPJaA.js → constants-BaYBNRZa.js} +2 -2
- package/dist/{constants-8DtAPJaA.js.map → constants-BaYBNRZa.js.map} +1 -1
- package/dist/dayjs-9rsrbiYS.js +6 -0
- package/dist/dayjs-9rsrbiYS.js.map +1 -0
- package/dist/dayjs-DNGB9yJD.js +4 -0
- package/dist/dayjs-DNGB9yJD.js.map +1 -0
- package/dist/hooks.js +2 -2
- package/dist/{index-Bq32eLIG.js → index-BCnobjnZ.js} +5 -18
- package/dist/index-BCnobjnZ.js.map +1 -0
- package/dist/index-BD5y7_BW.js +969 -0
- package/dist/index-BD5y7_BW.js.map +1 -0
- package/dist/index-BxEtpFbP.js +301 -0
- package/dist/index-BxEtpFbP.js.map +1 -0
- package/dist/{index-CzUm_HaL.js → index-Bzw5oKqg.js} +48 -166
- package/dist/index-Bzw5oKqg.js.map +1 -0
- package/dist/index-C4AC0OfA.js +967 -0
- package/dist/index-C4AC0OfA.js.map +1 -0
- package/dist/{index-Rn6zFKPg.js → index-Cdvbpy-b.js} +30 -147
- package/dist/index-Cdvbpy-b.js.map +1 -0
- package/dist/index-CpgjbwJP.js +299 -0
- package/dist/index-CpgjbwJP.js.map +1 -0
- package/dist/{index-BYRIatjo.js → index-aOxl-IeV.js} +6 -38
- package/dist/index-aOxl-IeV.js.map +1 -0
- package/dist/index.js +10 -5
- package/dist/index.js.map +1 -1
- package/dist/inject-css-B6qYtOJe.js +6 -0
- package/dist/inject-css-B6qYtOJe.js.map +1 -0
- package/dist/inject-css-C2dztUxs.js +4 -0
- package/dist/inject-css-C2dztUxs.js.map +1 -0
- package/dist/keyboardShortcuts-DcgoM1dR.js +20 -0
- package/dist/keyboardShortcuts-DcgoM1dR.js.map +1 -0
- package/dist/keyboardShortcuts-oiJyIaFr.js +18 -0
- package/dist/keyboardShortcuts-oiJyIaFr.js.map +1 -0
- package/dist/{useSegmentsApi-wYy0UPCH.js → useSegmentsApi-C6mffm-a.js} +4 -4
- package/dist/{useSegmentsApi-wYy0UPCH.js.map → useSegmentsApi-C6mffm-a.js.map} +1 -1
- package/dist/{useSegmentsApi-CDE1HWEv.js → useSegmentsApi-DlvMy4A9.js} +2 -2
- package/dist/{useSegmentsApi-CDE1HWEv.js.map → useSegmentsApi-DlvMy4A9.js.map} +1 -1
- package/dist/utils-B3464cET.js +126 -0
- package/dist/utils-B3464cET.js.map +1 -0
- package/dist/utils-BUFBOQlR.js +802 -0
- package/dist/utils-BUFBOQlR.js.map +1 -0
- package/dist/utils-Cj2MY2tu.js +38 -0
- package/dist/utils-Cj2MY2tu.js.map +1 -0
- package/dist/utils-ClTYBS1C.js +865 -0
- package/dist/utils-ClTYBS1C.js.map +1 -0
- package/dist/utils-CwKBnC3c.js +17 -0
- package/dist/utils-CwKBnC3c.js.map +1 -0
- package/dist/{utils-BuCOQsNv.js → utils-CzRCzZ3I.js} +3 -4
- package/dist/utils-CzRCzZ3I.js.map +1 -0
- package/dist/utils-Dh5ByFPA.js +138 -0
- package/dist/utils-Dh5ByFPA.js.map +1 -0
- package/dist/{utils-CxVWpPGf.js → utils-Q-OTPVjq.js} +8 -9
- package/dist/utils-Q-OTPVjq.js.map +1 -0
- package/dist/utils.js +3 -2
- package/dist/utils.js.map +1 -1
- package/dist/v2/Bar.js +659 -0
- package/dist/v2/Bar.js.map +1 -0
- package/dist/v2/Filters.js +334 -0
- package/dist/v2/Filters.js.map +1 -0
- package/dist/v2/Segments.js +518 -0
- package/dist/v2/Segments.js.map +1 -0
- package/dist/v2/index.js +42 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/utils.js +12 -0
- package/dist/v2/utils.js.map +1 -0
- package/package.json +41 -28
- package/dist/index-BYRIatjo.js.map +0 -1
- package/dist/index-Bq32eLIG.js.map +0 -1
- package/dist/index-CzUm_HaL.js.map +0 -1
- package/dist/index-Rn6zFKPg.js.map +0 -1
- package/dist/utils-BuCOQsNv.js.map +0 -1
- package/dist/utils-CxVWpPGf.js.map +0 -1
|
@@ -0,0 +1,865 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
4
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
|
+
var i18next = require('i18next');
|
|
7
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
8
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
9
|
+
var ramda = require('ramda');
|
|
10
|
+
var constants = require('./constants-DoHD7obf.js');
|
|
11
|
+
require('./dayjs-9rsrbiYS.js');
|
|
12
|
+
var lucideReact = require('lucide-react');
|
|
13
|
+
|
|
14
|
+
var NUMBER_RULES = [{
|
|
15
|
+
label: i18next.t("neetoFilters.rules.is"),
|
|
16
|
+
value: "is"
|
|
17
|
+
}, {
|
|
18
|
+
label: i18next.t("neetoFilters.rules.isNot"),
|
|
19
|
+
value: "is_not"
|
|
20
|
+
}, {
|
|
21
|
+
label: i18next.t("neetoFilters.rules.greaterThan"),
|
|
22
|
+
value: "greater_than"
|
|
23
|
+
}, {
|
|
24
|
+
label: i18next.t("neetoFilters.rules.lessThan"),
|
|
25
|
+
value: "less_than"
|
|
26
|
+
}];
|
|
27
|
+
var TEXT_RULES = [{
|
|
28
|
+
label: i18next.t("neetoFilters.rules.contains"),
|
|
29
|
+
value: "contains"
|
|
30
|
+
}, {
|
|
31
|
+
label: i18next.t("neetoFilters.rules.doesNotContain"),
|
|
32
|
+
value: "does_not_contain"
|
|
33
|
+
}, {
|
|
34
|
+
label: i18next.t("neetoFilters.rules.is"),
|
|
35
|
+
value: "is"
|
|
36
|
+
}, {
|
|
37
|
+
label: i18next.t("neetoFilters.rules.isNot"),
|
|
38
|
+
value: "is_not"
|
|
39
|
+
}, {
|
|
40
|
+
label: i18next.t("neetoFilters.rules.startsWith"),
|
|
41
|
+
value: "starts_with"
|
|
42
|
+
}, {
|
|
43
|
+
label: i18next.t("neetoFilters.rules.doesNotStartWith"),
|
|
44
|
+
value: "does_not_start_with"
|
|
45
|
+
}, {
|
|
46
|
+
label: i18next.t("neetoFilters.rules.endsWith"),
|
|
47
|
+
value: "ends_with"
|
|
48
|
+
}, {
|
|
49
|
+
label: i18next.t("neetoFilters.rules.doesNotEndWith"),
|
|
50
|
+
value: "does_not_end_with"
|
|
51
|
+
}];
|
|
52
|
+
var MULTI_DROPDOWN_RULES = [{
|
|
53
|
+
label: i18next.t("neetoFilters.rules.in"),
|
|
54
|
+
value: "in"
|
|
55
|
+
}, {
|
|
56
|
+
label: i18next.t("neetoFilters.rules.notIn"),
|
|
57
|
+
value: "not_in"
|
|
58
|
+
}, {
|
|
59
|
+
label: i18next.t("neetoFilters.rules.isEmpty"),
|
|
60
|
+
value: "is_unknown"
|
|
61
|
+
}];
|
|
62
|
+
var SINGLE_DROPDOWN_RULES = [{
|
|
63
|
+
label: i18next.t("neetoFilters.rules.is"),
|
|
64
|
+
value: "is"
|
|
65
|
+
}, {
|
|
66
|
+
label: i18next.t("neetoFilters.rules.isNot"),
|
|
67
|
+
value: "is_not"
|
|
68
|
+
}, {
|
|
69
|
+
label: i18next.t("neetoFilters.rules.isEmpty"),
|
|
70
|
+
value: "is_unknown"
|
|
71
|
+
}];
|
|
72
|
+
var DEFAULT_BOOLEAN_OPTIONS = [{
|
|
73
|
+
label: i18next.t("neetoFilters.common.yes"),
|
|
74
|
+
value: "true"
|
|
75
|
+
}, {
|
|
76
|
+
label: i18next.t("neetoFilters.common.no"),
|
|
77
|
+
value: "false"
|
|
78
|
+
}];
|
|
79
|
+
var CHECKBOX_OPTIONS = [{
|
|
80
|
+
label: i18next.t("neetoFilters.rules.checked"),
|
|
81
|
+
value: "true"
|
|
82
|
+
}, {
|
|
83
|
+
label: i18next.t("neetoFilters.rules.unchecked"),
|
|
84
|
+
value: "false"
|
|
85
|
+
}];
|
|
86
|
+
var TREE_SELECT_RULES = [{
|
|
87
|
+
label: i18next.t("neetoFilters.rules.in"),
|
|
88
|
+
value: "in"
|
|
89
|
+
}, {
|
|
90
|
+
label: i18next.t("neetoFilters.rules.notIn"),
|
|
91
|
+
value: "not_in"
|
|
92
|
+
}, {
|
|
93
|
+
label: i18next.t("neetoFilters.rules.isEmpty"),
|
|
94
|
+
value: "is_unknown"
|
|
95
|
+
}];
|
|
96
|
+
var DEFAULT_HELP_ICON_PROPS = {
|
|
97
|
+
icon: lucideReact.CircleHelpIcon
|
|
98
|
+
};
|
|
99
|
+
var TIME_FORMAT = "h:mm A";
|
|
100
|
+
|
|
101
|
+
function ownKeys(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; }
|
|
102
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
103
|
+
var groupByGroup = ramda.groupBy(function (_ref) {
|
|
104
|
+
var group = _ref.group;
|
|
105
|
+
return group || "individual";
|
|
106
|
+
});
|
|
107
|
+
var standardizeColumnType = function standardizeColumnType(kind) {
|
|
108
|
+
// neeto-fields-nano supports `monetary` and `number` as type of fields, which will be acting as `decimal` in action.
|
|
109
|
+
if (["custom.monetary", "custom.number"].includes(kind)) {
|
|
110
|
+
return "custom.decimal";
|
|
111
|
+
}
|
|
112
|
+
return kind;
|
|
113
|
+
};
|
|
114
|
+
var getSnakeCasedQueryParams = function getSnakeCasedQueryParams() {
|
|
115
|
+
return utils.getQueryParams({
|
|
116
|
+
toCamelCase: false
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
var isBoolean = function isBoolean(type) {
|
|
120
|
+
return type === "boolean" || type === "custom.boolean";
|
|
121
|
+
};
|
|
122
|
+
var isCheckbox = function isCheckbox(type) {
|
|
123
|
+
return type === "checkbox" || type === "custom.checkbox";
|
|
124
|
+
};
|
|
125
|
+
var isDate = function isDate(type) {
|
|
126
|
+
return type === "date" || type === "custom.date" || type === "custom.datetime";
|
|
127
|
+
};
|
|
128
|
+
var isSingleDate = function isSingleDate(type) {
|
|
129
|
+
return type === "single_date" || type === "custom.single_date";
|
|
130
|
+
};
|
|
131
|
+
var isSingleTime = function isSingleTime(type) {
|
|
132
|
+
return type === "single_time" || type === "custom.single_time";
|
|
133
|
+
};
|
|
134
|
+
var isTime = function isTime(type) {
|
|
135
|
+
return type === "time" || type === "custom.time";
|
|
136
|
+
};
|
|
137
|
+
var isMulti = function isMulti(type) {
|
|
138
|
+
return type === "multi_option" || type === "custom.multi_option";
|
|
139
|
+
};
|
|
140
|
+
var isSingle = function isSingle(type) {
|
|
141
|
+
return type === "single_option" || type === "custom.single_option";
|
|
142
|
+
};
|
|
143
|
+
var isText = function isText(type) {
|
|
144
|
+
return type === "text" || type === "custom.text";
|
|
145
|
+
};
|
|
146
|
+
var isDigit = function isDigit(type) {
|
|
147
|
+
return ["number", "decimal", "custom.decimal", "custom.number"].includes(type);
|
|
148
|
+
};
|
|
149
|
+
var isTreeSelect = function isTreeSelect(type) {
|
|
150
|
+
return type === "tree_select";
|
|
151
|
+
};
|
|
152
|
+
var isDateRange = function isDateRange(type) {
|
|
153
|
+
return type === "date_range" || type === "custom.date_range";
|
|
154
|
+
};
|
|
155
|
+
var isTimeRange = function isTimeRange(type) {
|
|
156
|
+
return type === "time_range" || type === "custom.time_range";
|
|
157
|
+
};
|
|
158
|
+
var isCustomDateRange = function isCustomDateRange(value) {
|
|
159
|
+
return !ramda.pluck("value", constants.DATE_OPTIONS).includes(value);
|
|
160
|
+
};
|
|
161
|
+
var isCustomTimeRange = function isCustomTimeRange(value) {
|
|
162
|
+
return !ramda.pluck("value", constants.TIME_OPTIONS).includes(value);
|
|
163
|
+
};
|
|
164
|
+
var isMultiModelFilter = function isMultiModelFilter(_ref2) {
|
|
165
|
+
var _ref2$model = _ref2.model,
|
|
166
|
+
model = _ref2$model === void 0 ? "" : _ref2$model;
|
|
167
|
+
return model.split(",").length > 1;
|
|
168
|
+
};
|
|
169
|
+
var getTimezone = function getTimezone() {
|
|
170
|
+
var _dayjs$$x;
|
|
171
|
+
return ((_dayjs$$x = utils.dayjs().$x) === null || _dayjs$$x === void 0 ? void 0 : _dayjs$$x.$timezone) || utils.dayjs.tz.guess();
|
|
172
|
+
};
|
|
173
|
+
var getLabelFromBool = function getLabelFromBool(_ref3) {
|
|
174
|
+
var value = _ref3.value,
|
|
175
|
+
values = _ref3.values;
|
|
176
|
+
return neetoCist.findBy({
|
|
177
|
+
value: value
|
|
178
|
+
}, ramda.either(ramda.isEmpty, ramda.isNil)(values) ? DEFAULT_BOOLEAN_OPTIONS : values).label;
|
|
179
|
+
};
|
|
180
|
+
var getBoolFromLabel = function getBoolFromLabel(_ref4) {
|
|
181
|
+
var label = _ref4.label,
|
|
182
|
+
values = _ref4.values;
|
|
183
|
+
return neetoCist.findBy({
|
|
184
|
+
label: label
|
|
185
|
+
}, ramda.either(ramda.isEmpty, ramda.isNil)(values) ? DEFAULT_BOOLEAN_OPTIONS : values).value;
|
|
186
|
+
};
|
|
187
|
+
var buildRuleOptions = function buildRuleOptions(_ref5) {
|
|
188
|
+
var defaultType = _ref5.defaultType;
|
|
189
|
+
if (isText(defaultType)) return TEXT_RULES;else if (isDigit(defaultType)) return NUMBER_RULES;
|
|
190
|
+
return [];
|
|
191
|
+
};
|
|
192
|
+
var getDefaultRuleValue = function getDefaultRuleValue(defaultType) {
|
|
193
|
+
var _buildRuleOptions;
|
|
194
|
+
return ((_buildRuleOptions = buildRuleOptions({
|
|
195
|
+
defaultType: defaultType
|
|
196
|
+
})) === null || _buildRuleOptions === void 0 || (_buildRuleOptions = _buildRuleOptions[0]) === null || _buildRuleOptions === void 0 ? void 0 : _buildRuleOptions.value) || "";
|
|
197
|
+
};
|
|
198
|
+
var isUndefinedOrEmpty = ramda.anyPass([ramda.isNil, ramda.isEmpty, ramda.any(ramda.isNil)]);
|
|
199
|
+
|
|
200
|
+
// Following function split node on comma followed by non-comma characters and a dot
|
|
201
|
+
var splitNode = function splitNode(joinedNodes) {
|
|
202
|
+
return joinedNodes.split(/,(?=[^,]*\.)/);
|
|
203
|
+
};
|
|
204
|
+
var splitFilter = function splitFilter(multiColumnFilter) {
|
|
205
|
+
var splittedNodes = splitNode(multiColumnFilter.node);
|
|
206
|
+
var splittedModels = multiColumnFilter.model.split(",");
|
|
207
|
+
return splittedNodes.map(function (node, index) {
|
|
208
|
+
return ramda.mergeLeft({
|
|
209
|
+
node: node,
|
|
210
|
+
model: splittedModels[index],
|
|
211
|
+
conditions_join_type: index < splittedNodes.length - 1 ? "or" : "and"
|
|
212
|
+
}, ramda.omit(["key", "label", "values", "setValue"], multiColumnFilter));
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
var buildDateValue = function buildDateValue(_ref6) {
|
|
216
|
+
var value = _ref6.value;
|
|
217
|
+
var rule = constants.DATE_RULES[value] || "between";
|
|
218
|
+
var dateValue = ["before", "after", "custom-date-range"].includes(value) ? "" : value;
|
|
219
|
+
return {
|
|
220
|
+
value: dateValue,
|
|
221
|
+
rule: rule,
|
|
222
|
+
timezone: getTimezone()
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
var buildTimeValue = function buildTimeValue(_ref7) {
|
|
226
|
+
var value = _ref7.value;
|
|
227
|
+
var dateValue = value === "custom-time-range" ? "" : value;
|
|
228
|
+
return {
|
|
229
|
+
value: dateValue,
|
|
230
|
+
rule: "between"
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
|
|
234
|
+
var column = _ref8.column,
|
|
235
|
+
defaultType = _ref8.defaultType,
|
|
236
|
+
option = _ref8.option,
|
|
237
|
+
_ref8$rule = _ref8.rule,
|
|
238
|
+
rule = _ref8$rule === void 0 ? "" : _ref8$rule,
|
|
239
|
+
_ref8$value = _ref8.value,
|
|
240
|
+
value = _ref8$value === void 0 ? "" : _ref8$value;
|
|
241
|
+
var filter = ramda.omit(["values", "preprocessor"], column);
|
|
242
|
+
if (isMulti(defaultType)) {
|
|
243
|
+
return ramda.mergeLeft(filter, {
|
|
244
|
+
value: ramda.pluck("value", option),
|
|
245
|
+
rule: rule
|
|
246
|
+
});
|
|
247
|
+
} else if (isDate(defaultType)) {
|
|
248
|
+
return ramda.mergeLeft(filter, buildDateValue(option));
|
|
249
|
+
} else if (isSingleDate(defaultType)) {
|
|
250
|
+
return ramda.mergeLeft(filter, {
|
|
251
|
+
value: value,
|
|
252
|
+
rule: rule,
|
|
253
|
+
timezone: getTimezone()
|
|
254
|
+
});
|
|
255
|
+
} else if (isText(defaultType) || isDigit(defaultType)) {
|
|
256
|
+
var _column$preprocessor;
|
|
257
|
+
return ramda.mergeLeft(filter, {
|
|
258
|
+
rule: rule,
|
|
259
|
+
value: (column === null || column === void 0 || (_column$preprocessor = column.preprocessor) === null || _column$preprocessor === void 0 ? void 0 : _column$preprocessor.call(column, value)) || value
|
|
260
|
+
});
|
|
261
|
+
} else if (isSingleTime(defaultType)) {
|
|
262
|
+
return ramda.mergeLeft(filter, {
|
|
263
|
+
value: value,
|
|
264
|
+
rule: rule
|
|
265
|
+
});
|
|
266
|
+
} else if (isTime(defaultType)) {
|
|
267
|
+
return ramda.mergeLeft(filter, buildTimeValue(option));
|
|
268
|
+
} else if (isSingle(defaultType)) {
|
|
269
|
+
return ramda.mergeLeft(filter, {
|
|
270
|
+
value: option.value,
|
|
271
|
+
rule: rule
|
|
272
|
+
});
|
|
273
|
+
} else if (isTreeSelect(defaultType)) {
|
|
274
|
+
return ramda.mergeLeft(filter, {
|
|
275
|
+
value: option,
|
|
276
|
+
rule: rule
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
return ramda.mergeLeft(filter, {
|
|
280
|
+
value: option.value,
|
|
281
|
+
rule: "is"
|
|
282
|
+
});
|
|
283
|
+
};
|
|
284
|
+
var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns) {
|
|
285
|
+
var skipEmpty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
286
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
287
|
+
return columns.map(function (column) {
|
|
288
|
+
var value = searchParams[column.key];
|
|
289
|
+
var defaultType = column.defaultType || column.type;
|
|
290
|
+
if (!skipEmpty && value === "") {
|
|
291
|
+
return ramda.mergeLeft({
|
|
292
|
+
value: ""
|
|
293
|
+
}, column);
|
|
294
|
+
} else if (ramda.isNil(value) || value === "" || column.key === "keyword") {
|
|
295
|
+
return null;
|
|
296
|
+
} else if (column.key === constants.SEARCH_TERM_KEY) {
|
|
297
|
+
if (ramda.isNil(column.node)) return null;
|
|
298
|
+
return ramda.mergeLeft({
|
|
299
|
+
value: value,
|
|
300
|
+
type: "text",
|
|
301
|
+
rule: "contains"
|
|
302
|
+
}, column);
|
|
303
|
+
} else if (isDate(defaultType) && isCustomDateRange(value)) {
|
|
304
|
+
return ramda.mergeLeft({
|
|
305
|
+
value: value
|
|
306
|
+
}, column);
|
|
307
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
308
|
+
var _value$split = value.split("+rule-"),
|
|
309
|
+
_value$split2 = _slicedToArray(_value$split, 2),
|
|
310
|
+
filterValue = _value$split2[0],
|
|
311
|
+
rule = _value$split2[1];
|
|
312
|
+
return ramda.mergeLeft({
|
|
313
|
+
rule: rule !== null && rule !== void 0 ? rule : "in",
|
|
314
|
+
value: filterValue.split("|")
|
|
315
|
+
}, column);
|
|
316
|
+
} else if (isSingle(defaultType)) {
|
|
317
|
+
var _value$split3 = value.split("+rule-"),
|
|
318
|
+
_value$split4 = _slicedToArray(_value$split3, 2),
|
|
319
|
+
_filterValue = _value$split4[0],
|
|
320
|
+
_rule = _value$split4[1];
|
|
321
|
+
return ramda.mergeLeft({
|
|
322
|
+
rule: _rule !== null && _rule !== void 0 ? _rule : "in",
|
|
323
|
+
value: _filterValue
|
|
324
|
+
}, column);
|
|
325
|
+
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
326
|
+
var _value$split5 = value.split("+rule-"),
|
|
327
|
+
_value$split6 = _slicedToArray(_value$split5, 2),
|
|
328
|
+
_filterValue2 = _value$split6[0],
|
|
329
|
+
_rule2 = _value$split6[1];
|
|
330
|
+
return ramda.mergeLeft({
|
|
331
|
+
rule: _rule2,
|
|
332
|
+
value: _filterValue2
|
|
333
|
+
}, column);
|
|
334
|
+
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
335
|
+
return ramda.mergeLeft({
|
|
336
|
+
value: value
|
|
337
|
+
}, column);
|
|
338
|
+
} else if (isSingleDate(defaultType)) {
|
|
339
|
+
var _value$split7 = value.split("+rule-"),
|
|
340
|
+
_value$split8 = _slicedToArray(_value$split7, 2),
|
|
341
|
+
_filterValue3 = _value$split8[0],
|
|
342
|
+
_rule3 = _value$split8[1];
|
|
343
|
+
return ramda.mergeLeft({
|
|
344
|
+
rule: _rule3,
|
|
345
|
+
value: _rule3 === "between" ? _filterValue3.split(",") : _filterValue3
|
|
346
|
+
}, column);
|
|
347
|
+
} else if (isSingleTime(defaultType)) {
|
|
348
|
+
var _value$split9 = value.split("+rule-"),
|
|
349
|
+
_value$split10 = _slicedToArray(_value$split9, 2),
|
|
350
|
+
_filterValue4 = _value$split10[0],
|
|
351
|
+
_rule4 = _value$split10[1];
|
|
352
|
+
return ramda.mergeLeft({
|
|
353
|
+
rule: _rule4,
|
|
354
|
+
value: _rule4 === "between" ? _filterValue4.split(",") : _filterValue4
|
|
355
|
+
}, column);
|
|
356
|
+
} else if (isBoolean(defaultType)) {
|
|
357
|
+
return ramda.mergeLeft({
|
|
358
|
+
rule: "is",
|
|
359
|
+
value: getBoolFromLabel({
|
|
360
|
+
label: value,
|
|
361
|
+
values: column.values
|
|
362
|
+
})
|
|
363
|
+
}, column);
|
|
364
|
+
}
|
|
365
|
+
return ramda.mergeLeft({
|
|
366
|
+
rule: "is",
|
|
367
|
+
value: value
|
|
368
|
+
}, column);
|
|
369
|
+
}).filter(ramda.identity);
|
|
370
|
+
};
|
|
371
|
+
var buildTimePayload = function buildTimePayload(value) {
|
|
372
|
+
var timeValue = {
|
|
373
|
+
"this-hour": [utils.dayjs().startOf("hour"), utils.dayjs().endOf("hour")],
|
|
374
|
+
"last-hour": [utils.dayjs().add(-1, "hour").startOf("hour"), utils.dayjs().add(-1, "hour").endOf("hour")],
|
|
375
|
+
"next-hour": [utils.dayjs().add(1, "hour").startOf("hour"), utils.dayjs().add(1, "hour").endOf("hour")]
|
|
376
|
+
};
|
|
377
|
+
if (isCustomTimeRange(value)) {
|
|
378
|
+
return {
|
|
379
|
+
value: value ? value.join(",") : "",
|
|
380
|
+
rule: "between",
|
|
381
|
+
timezone: getTimezone()
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
var times = timeValue[value] || timeValue["this-hour"];
|
|
385
|
+
return {
|
|
386
|
+
value: times.map(function (time) {
|
|
387
|
+
return time.toISOString();
|
|
388
|
+
}).join(","),
|
|
389
|
+
rule: "between",
|
|
390
|
+
timezone: getTimezone()
|
|
391
|
+
};
|
|
392
|
+
};
|
|
393
|
+
var buildDatePayload = function buildDatePayload(value) {
|
|
394
|
+
var dateValue = {
|
|
395
|
+
"this-week": [utils.dayjs().startOf("week"), utils.dayjs().endOf("week")],
|
|
396
|
+
"last-week": [utils.dayjs().add(-1, "week").startOf("week"), utils.dayjs().add(-1, "week").endOf("week")],
|
|
397
|
+
"this-month": [utils.dayjs().startOf("month"), utils.dayjs().endOf("month")],
|
|
398
|
+
"last-month": [utils.dayjs().add(-1, "month").startOf("month"), utils.dayjs().add(-1, "month").endOf("month")],
|
|
399
|
+
"this-year": [utils.dayjs().startOf("year"), utils.dayjs().endOf("year")],
|
|
400
|
+
"last-year": [utils.dayjs().add(-1, "year").startOf("year"), utils.dayjs().add(-1, "year").endOf("year")]
|
|
401
|
+
};
|
|
402
|
+
if (value === "today") {
|
|
403
|
+
return {
|
|
404
|
+
value: utils.dayjs().toISOString(),
|
|
405
|
+
rule: "on",
|
|
406
|
+
timezone: getTimezone()
|
|
407
|
+
};
|
|
408
|
+
} else if (value === "yesterday") {
|
|
409
|
+
return {
|
|
410
|
+
value: utils.dayjs().add(-1, "day").toISOString(),
|
|
411
|
+
rule: "on",
|
|
412
|
+
timezone: getTimezone()
|
|
413
|
+
};
|
|
414
|
+
} else if (value === "all-time") {
|
|
415
|
+
return {
|
|
416
|
+
value: utils.dayjs().toISOString(),
|
|
417
|
+
rule: "has_any_value",
|
|
418
|
+
timezone: getTimezone()
|
|
419
|
+
};
|
|
420
|
+
} else if (isCustomDateRange(value)) {
|
|
421
|
+
//custom-date-range
|
|
422
|
+
return {
|
|
423
|
+
value: value ? value.join(",") : "",
|
|
424
|
+
rule: "between",
|
|
425
|
+
timezone: getTimezone()
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
var dates = dateValue[value] || dateValue["tihs-week"];
|
|
429
|
+
return {
|
|
430
|
+
value: dates.map(function (date) {
|
|
431
|
+
return date.toISOString();
|
|
432
|
+
}).join(","),
|
|
433
|
+
rule: "between",
|
|
434
|
+
timezone: getTimezone()
|
|
435
|
+
};
|
|
436
|
+
};
|
|
437
|
+
var buildSingleDatePayload = function buildSingleDatePayload(filter) {
|
|
438
|
+
var value = filter.value;
|
|
439
|
+
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
440
|
+
var type = filter.defaultType ? filter.type : "date";
|
|
441
|
+
return _objectSpread(_objectSpread({}, filter), {}, {
|
|
442
|
+
value: filterValue,
|
|
443
|
+
type: type,
|
|
444
|
+
timezone: getTimezone()
|
|
445
|
+
});
|
|
446
|
+
};
|
|
447
|
+
var buildSingleTimePayload = function buildSingleTimePayload(filter) {
|
|
448
|
+
var value = filter.value;
|
|
449
|
+
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
450
|
+
var type = filter.defaultType ? filter.type : "time";
|
|
451
|
+
return _objectSpread(_objectSpread({}, filter), {}, {
|
|
452
|
+
value: filterValue,
|
|
453
|
+
type: type,
|
|
454
|
+
timezone: getTimezone()
|
|
455
|
+
});
|
|
456
|
+
};
|
|
457
|
+
var flattenPayload = function flattenPayload(payload) {
|
|
458
|
+
var flattenedPayload = [];
|
|
459
|
+
payload.forEach(function (item) {
|
|
460
|
+
return Array.isArray(item) ? flattenedPayload.unshift.apply(flattenedPayload, _toConsumableArray(item)) : flattenedPayload.push(item);
|
|
461
|
+
}, []);
|
|
462
|
+
return flattenedPayload;
|
|
463
|
+
};
|
|
464
|
+
var buildMultiOptionPayload = function buildMultiOptionPayload(values) {
|
|
465
|
+
return values.map(function (value) {
|
|
466
|
+
return value.toString();
|
|
467
|
+
}).join("|");
|
|
468
|
+
};
|
|
469
|
+
var buildFiltersPayload = function buildFiltersPayload(filters) {
|
|
470
|
+
var payload = neetoCist.removeBy({
|
|
471
|
+
value: ""
|
|
472
|
+
}, filters).map(function (filter) {
|
|
473
|
+
if (filter.key === constants.SEARCH_TERM_KEY && isMultiModelFilter(filter)) {
|
|
474
|
+
return splitFilter(filter);
|
|
475
|
+
}
|
|
476
|
+
var filterPayload = ramda.omit(["key", "label", "values", "setValue"], filter);
|
|
477
|
+
var _filterPayload$defaul = filterPayload.defaultType,
|
|
478
|
+
defaultType = _filterPayload$defaul === void 0 ? filterPayload.type : _filterPayload$defaul,
|
|
479
|
+
value = filterPayload.value;
|
|
480
|
+
if (isMultiModelFilter(filterPayload)) {
|
|
481
|
+
throw i18next.t("neetoFilters.errors.cannotPassMultipleModels");
|
|
482
|
+
}
|
|
483
|
+
if (isDate(defaultType)) {
|
|
484
|
+
return ramda.mergeRight(filterPayload, buildDatePayload(value));
|
|
485
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
486
|
+
return ramda.mergeRight(filterPayload, {
|
|
487
|
+
value: buildMultiOptionPayload(value)
|
|
488
|
+
});
|
|
489
|
+
} else if (isSingleDate(defaultType)) {
|
|
490
|
+
return ramda.mergeRight(filterPayload, buildSingleDatePayload(filterPayload));
|
|
491
|
+
} else if (isSingleTime(defaultType)) {
|
|
492
|
+
return ramda.mergeRight(filterPayload, buildSingleTimePayload(filterPayload));
|
|
493
|
+
} else if (isTime(defaultType)) {
|
|
494
|
+
return ramda.mergeRight(filterPayload, buildTimePayload(value));
|
|
495
|
+
} else if (isDateRange(defaultType)) {
|
|
496
|
+
return ramda.mergeRight(filterPayload, buildDateRangePayload(value));
|
|
497
|
+
} else if (isTimeRange(defaultType)) {
|
|
498
|
+
return ramda.mergeRight(filterPayload, buildTimeRangePayload(value));
|
|
499
|
+
}
|
|
500
|
+
return filterPayload;
|
|
501
|
+
});
|
|
502
|
+
return ramda.isEmpty(payload) ? [] : [{
|
|
503
|
+
conditions: flattenPayload(payload)
|
|
504
|
+
}];
|
|
505
|
+
};
|
|
506
|
+
var buildTimeRangePayload = function buildTimeRangePayload(value) {
|
|
507
|
+
var timeValue = {
|
|
508
|
+
"this-hour": [utils.dayjs().startOf("hour"), utils.dayjs().endOf("hour")],
|
|
509
|
+
"last-hour": [utils.dayjs().add(-1, "hour").startOf("hour"), utils.dayjs().add(-1, "hour").endOf("hour")],
|
|
510
|
+
"next-hour": [utils.dayjs().add(1, "hour").startOf("hour"), utils.dayjs().add(1, "hour").endOf("hour")]
|
|
511
|
+
};
|
|
512
|
+
var times = timeValue[value] || timeValue["this-hour"];
|
|
513
|
+
return {
|
|
514
|
+
value: times.map(function (time) {
|
|
515
|
+
return time.toISOString();
|
|
516
|
+
}).join(","),
|
|
517
|
+
rule: "contains",
|
|
518
|
+
timezone: getTimezone()
|
|
519
|
+
};
|
|
520
|
+
};
|
|
521
|
+
var buildDateRangePayload = function buildDateRangePayload(value) {
|
|
522
|
+
var dateValue = {
|
|
523
|
+
today: [utils.dayjs().startOf("day"), utils.dayjs().endOf("day")],
|
|
524
|
+
yesterday: [utils.dayjs().add(-1, "day").startOf("day"), utils.dayjs().add(-1, "day").endOf("day")],
|
|
525
|
+
"this-week": [utils.dayjs().startOf("week"), utils.dayjs().endOf("week")],
|
|
526
|
+
"last-week": [utils.dayjs().add(-1, "week").startOf("week"), utils.dayjs().add(-1, "week").endOf("week")],
|
|
527
|
+
"this-month": [utils.dayjs().startOf("month"), utils.dayjs().endOf("month")],
|
|
528
|
+
"last-month": [utils.dayjs().add(-1, "month").startOf("month"), utils.dayjs().add(-1, "month").endOf("month")],
|
|
529
|
+
"this-year": [utils.dayjs().startOf("year"), utils.dayjs().endOf("year")],
|
|
530
|
+
"last-year": [utils.dayjs().add(-1, "year").startOf("year"), utils.dayjs().add(-1, "year").endOf("year")]
|
|
531
|
+
};
|
|
532
|
+
if (value === "all-time" || neetoCist.isNotPresent(dateValue[value])) {
|
|
533
|
+
return {
|
|
534
|
+
value: utils.dayjs().toISOString(),
|
|
535
|
+
rule: "has_any_value",
|
|
536
|
+
timezone: getTimezone()
|
|
537
|
+
};
|
|
538
|
+
}
|
|
539
|
+
return {
|
|
540
|
+
value: dateValue[value].map(function (date) {
|
|
541
|
+
return date.toISOString();
|
|
542
|
+
}).join(","),
|
|
543
|
+
rule: "contains",
|
|
544
|
+
timezone: getTimezone()
|
|
545
|
+
};
|
|
546
|
+
};
|
|
547
|
+
var buildSegmentsPayload = function buildSegmentsPayload(filters) {
|
|
548
|
+
var childrenKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
549
|
+
var payload = neetoCist.removeBy({
|
|
550
|
+
value: ""
|
|
551
|
+
}, filters).map(function (filter) {
|
|
552
|
+
if (filter.key === constants.SEARCH_TERM_KEY) {
|
|
553
|
+
return false;
|
|
554
|
+
}
|
|
555
|
+
var filterPayload = ramda.omit(["label", "values", "setValue", "defaultValue"], filter);
|
|
556
|
+
var _filterPayload$defaul2 = filterPayload.defaultType,
|
|
557
|
+
defaultType = _filterPayload$defaul2 === void 0 ? filterPayload.type : _filterPayload$defaul2,
|
|
558
|
+
value = filterPayload.value;
|
|
559
|
+
if (filter.key !== constants.SEARCH_TERM_KEY && isMultiModelFilter(filterPayload)) {
|
|
560
|
+
throw i18next.t("neetoFilters.errors.cannotPassMultipleModels");
|
|
561
|
+
}
|
|
562
|
+
if (isMulti(defaultType)) {
|
|
563
|
+
return ramda.mergeRight(filterPayload, {
|
|
564
|
+
value: buildMultiOptionPayload(value)
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
return filterPayload;
|
|
568
|
+
});
|
|
569
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
570
|
+
var modifiedPayload = childrenKeys.reduce(function (acc, key) {
|
|
571
|
+
if (ramda.has(key, searchParams)) {
|
|
572
|
+
var filterPayload = {
|
|
573
|
+
key: key,
|
|
574
|
+
node: "children",
|
|
575
|
+
value: searchParams[key]
|
|
576
|
+
};
|
|
577
|
+
return acc.concat(filterPayload);
|
|
578
|
+
}
|
|
579
|
+
return acc;
|
|
580
|
+
}, payload);
|
|
581
|
+
return ramda.isEmpty(modifiedPayload) ? [] : [{
|
|
582
|
+
conditions: flattenPayload(modifiedPayload)
|
|
583
|
+
}];
|
|
584
|
+
};
|
|
585
|
+
var buildFiltersFromURL = function buildFiltersFromURL(columns) {
|
|
586
|
+
return buildFiltersPayload(buildFiltersFromSearchParams(columns.filter(function (column) {
|
|
587
|
+
return !ramda.isNil(column.node);
|
|
588
|
+
})));
|
|
589
|
+
};
|
|
590
|
+
var buildSelectorsFromURL = function buildSelectorsFromURL(columns) {
|
|
591
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
592
|
+
var selectors = {};
|
|
593
|
+
columns.filter(function (_ref9) {
|
|
594
|
+
var node = _ref9.node;
|
|
595
|
+
return !node;
|
|
596
|
+
}).forEach(function (_ref10) {
|
|
597
|
+
var key = _ref10.key,
|
|
598
|
+
defaultType = _ref10.defaultType,
|
|
599
|
+
type = _ref10.type;
|
|
600
|
+
var value = searchParams[key];
|
|
601
|
+
if (value) {
|
|
602
|
+
selectors[key] = isMulti(defaultType || type) ? value.split("|") : value;
|
|
603
|
+
}
|
|
604
|
+
});
|
|
605
|
+
return selectors;
|
|
606
|
+
};
|
|
607
|
+
var compareFilters = function compareFilters(oldFilters, newFilters) {
|
|
608
|
+
var formatFilters = function formatFilters(filters) {
|
|
609
|
+
return neetoCist.removeBy({
|
|
610
|
+
value: ""
|
|
611
|
+
}, filters).map(ramda.pick(["key", "rule", "value"]));
|
|
612
|
+
};
|
|
613
|
+
return ramda.equals(formatFilters(oldFilters), formatFilters(newFilters));
|
|
614
|
+
};
|
|
615
|
+
var buildFilteredColumns = function buildFilteredColumns(_ref11) {
|
|
616
|
+
var _ref11$searchTerm = _ref11.searchTerm,
|
|
617
|
+
searchTerm = _ref11$searchTerm === void 0 ? "" : _ref11$searchTerm,
|
|
618
|
+
columns = _ref11.columns;
|
|
619
|
+
var groupedColumsObject = groupByGroup(columns.filter(function (_ref12) {
|
|
620
|
+
var label = _ref12.label,
|
|
621
|
+
_ref12$hidden = _ref12.hidden,
|
|
622
|
+
hidden = _ref12$hidden === void 0 ? false : _ref12$hidden;
|
|
623
|
+
return label.toLocaleLowerCase().includes(searchTerm.trim().toLocaleLowerCase()) && !hidden;
|
|
624
|
+
}));
|
|
625
|
+
return {
|
|
626
|
+
groupedColumns: ramda.toPairs(ramda.omit(["individual"], groupedColumsObject)).map(function (_ref13) {
|
|
627
|
+
var _ref14 = _slicedToArray(_ref13, 2),
|
|
628
|
+
group = _ref14[0],
|
|
629
|
+
columns = _ref14[1];
|
|
630
|
+
return {
|
|
631
|
+
group: group,
|
|
632
|
+
columns: columns
|
|
633
|
+
};
|
|
634
|
+
}),
|
|
635
|
+
ungroupedColumns: groupedColumsObject.individual
|
|
636
|
+
};
|
|
637
|
+
};
|
|
638
|
+
var buildDefaultFilters = function buildDefaultFilters(columns, filters) {
|
|
639
|
+
return columns.filter(function (column) {
|
|
640
|
+
return !isUndefinedOrEmpty(column.defaultValue) && !neetoCist.findBy({
|
|
641
|
+
key: column.key
|
|
642
|
+
}, filters);
|
|
643
|
+
}).map(function (column) {
|
|
644
|
+
var defaultType = column.defaultType || column.type;
|
|
645
|
+
return buildUpdatedFilter({
|
|
646
|
+
column: column,
|
|
647
|
+
defaultType: defaultType,
|
|
648
|
+
rule: getDefaultRuleValue(defaultType),
|
|
649
|
+
option: column.defaultValue,
|
|
650
|
+
value: column.defaultValue
|
|
651
|
+
});
|
|
652
|
+
});
|
|
653
|
+
};
|
|
654
|
+
var createUrlParamString = function createUrlParamString(_ref15) {
|
|
655
|
+
var filter = _ref15.filter,
|
|
656
|
+
columns = _ref15.columns;
|
|
657
|
+
var key = filter.key,
|
|
658
|
+
value = filter.value,
|
|
659
|
+
_filter$defaultType = filter.defaultType,
|
|
660
|
+
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
661
|
+
rule = filter.rule;
|
|
662
|
+
if (key === constants.SEARCH_TERM_KEY) {
|
|
663
|
+
return value;
|
|
664
|
+
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
665
|
+
return "".concat(value, "+rule-").concat(rule);
|
|
666
|
+
} else if (isSingleDate(defaultType) || isSingleTime(defaultType)) {
|
|
667
|
+
return value && "".concat(value, "+rule-").concat(rule) || value;
|
|
668
|
+
} else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
|
|
669
|
+
return "".concat(value.join("|"), "+rule-").concat(rule);
|
|
670
|
+
} else if (isSingle(defaultType)) {
|
|
671
|
+
return "".concat(value, "+rule-").concat(rule);
|
|
672
|
+
} else if (isBoolean(defaultType)) {
|
|
673
|
+
return getLabelFromBool({
|
|
674
|
+
value: value,
|
|
675
|
+
values: neetoCist.findBy({
|
|
676
|
+
key: key
|
|
677
|
+
}, columns).values
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
return value;
|
|
681
|
+
};
|
|
682
|
+
var buildUrlFromFilters = function buildUrlFromFilters(_ref16) {
|
|
683
|
+
var columns = _ref16.columns,
|
|
684
|
+
filters = _ref16.filters,
|
|
685
|
+
_ref16$isClearAll = _ref16.isClearAll,
|
|
686
|
+
isClearAll = _ref16$isClearAll === void 0 ? false : _ref16$isClearAll,
|
|
687
|
+
_ref16$childrenKeys = _ref16.childrenKeys,
|
|
688
|
+
childrenKeys = _ref16$childrenKeys === void 0 ? [] : _ref16$childrenKeys;
|
|
689
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
690
|
+
var isKeywordFilterPresent = neetoCist.findBy({
|
|
691
|
+
key: constants.SEARCH_TERM_KEY
|
|
692
|
+
}, filters);
|
|
693
|
+
columns.forEach(function (_ref17) {
|
|
694
|
+
var key = _ref17.key,
|
|
695
|
+
defaultValue = _ref17.defaultValue;
|
|
696
|
+
return !defaultValue && delete searchParams[key];
|
|
697
|
+
});
|
|
698
|
+
if (isClearAll) {
|
|
699
|
+
childrenKeys.forEach(function (key) {
|
|
700
|
+
return delete searchParams[key];
|
|
701
|
+
});
|
|
702
|
+
delete searchParams[constants.SEGMENT_ID_KEY];
|
|
703
|
+
}
|
|
704
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
705
|
+
isKeywordFilterPresent && delete searchParams[constants.SEARCH_TERM_KEY];
|
|
706
|
+
ramda.concat(filters, defaultFilters).forEach(function (filter) {
|
|
707
|
+
searchParams[filter.key] = createUrlParamString({
|
|
708
|
+
filter: filter,
|
|
709
|
+
columns: columns
|
|
710
|
+
});
|
|
711
|
+
});
|
|
712
|
+
if (ramda.isEmpty(ramda.omit([constants.SEGMENT_ID_KEY], searchParams))) {
|
|
713
|
+
delete searchParams[constants.SEGMENT_ID_KEY];
|
|
714
|
+
}
|
|
715
|
+
return utils.buildUrl("", searchParams).slice(1);
|
|
716
|
+
};
|
|
717
|
+
var createUrlParamStringForSegments = function createUrlParamStringForSegments(_ref18) {
|
|
718
|
+
var filter = _ref18.filter,
|
|
719
|
+
columns = _ref18.columns;
|
|
720
|
+
var value = filter.value,
|
|
721
|
+
_filter$defaultType2 = filter.defaultType,
|
|
722
|
+
defaultType = _filter$defaultType2 === void 0 ? filter.type : _filter$defaultType2;
|
|
723
|
+
if (isMulti(defaultType)) {
|
|
724
|
+
return value;
|
|
725
|
+
}
|
|
726
|
+
return createUrlParamString({
|
|
727
|
+
filter: filter,
|
|
728
|
+
columns: columns
|
|
729
|
+
});
|
|
730
|
+
};
|
|
731
|
+
var buildUrlFromSegment = function buildUrlFromSegment(_ref19) {
|
|
732
|
+
var columns = _ref19.columns,
|
|
733
|
+
filters = _ref19.filters,
|
|
734
|
+
id = _ref19.id;
|
|
735
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
736
|
+
columns.forEach(function (_ref20) {
|
|
737
|
+
var key = _ref20.key,
|
|
738
|
+
defaultValue = _ref20.defaultValue;
|
|
739
|
+
return !defaultValue && delete searchParams[key];
|
|
740
|
+
});
|
|
741
|
+
delete searchParams[constants.SEARCH_TERM_KEY];
|
|
742
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
743
|
+
var newSearchParams = ramda.concat(filters, defaultFilters).reduce(function (acc, filter) {
|
|
744
|
+
acc[filter.key] = createUrlParamStringForSegments({
|
|
745
|
+
filter: filter,
|
|
746
|
+
columns: columns
|
|
747
|
+
});
|
|
748
|
+
return acc;
|
|
749
|
+
}, neetoCist.isNotEmpty(id) ? _defineProperty({}, constants.SEGMENT_ID_KEY, id) : {});
|
|
750
|
+
return utils.buildUrl("", ramda.mergeLeft(newSearchParams, searchParams)).slice(1);
|
|
751
|
+
};
|
|
752
|
+
var getSearchTermFromUrl = function getSearchTermFromUrl() {
|
|
753
|
+
return utils.getQueryParams().searchTerm || "";
|
|
754
|
+
};
|
|
755
|
+
var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref22) {
|
|
756
|
+
var fields = _ref22.fields,
|
|
757
|
+
_ref22$selectedFields = _ref22.selectedFields,
|
|
758
|
+
selectedFields = _ref22$selectedFields === void 0 ? [] : _ref22$selectedFields,
|
|
759
|
+
_ref22$showRuleSelect = _ref22.showRuleSelector,
|
|
760
|
+
showRuleSelector = _ref22$showRuleSelect === void 0 ? false : _ref22$showRuleSelect,
|
|
761
|
+
groupName = _ref22.groupName;
|
|
762
|
+
return fields.reduce(function (columns, field) {
|
|
763
|
+
if (ramda.isEmpty(selectedFields) || selectedFields.includes(field.name)) {
|
|
764
|
+
var id = field.id,
|
|
765
|
+
name = field.name,
|
|
766
|
+
kind = field.kind;
|
|
767
|
+
var column = _objectSpread({
|
|
768
|
+
key: "custom".concat(ramda.toLower(name)),
|
|
769
|
+
node: "".concat(name, ":").concat(id),
|
|
770
|
+
label: neetoCist.capitalize(name),
|
|
771
|
+
type: "custom.".concat(kind),
|
|
772
|
+
showRuleSelector: showRuleSelector
|
|
773
|
+
}, groupName && {
|
|
774
|
+
group: groupName
|
|
775
|
+
});
|
|
776
|
+
if (kind === "single_option" || kind === "multi_option") {
|
|
777
|
+
column.values = field.data.map(function (item) {
|
|
778
|
+
return {
|
|
779
|
+
label: neetoCist.capitalize(item.label),
|
|
780
|
+
value: item.id
|
|
781
|
+
};
|
|
782
|
+
});
|
|
783
|
+
}
|
|
784
|
+
columns.push(column);
|
|
785
|
+
}
|
|
786
|
+
return columns;
|
|
787
|
+
}, []);
|
|
788
|
+
};
|
|
789
|
+
var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(columns) {
|
|
790
|
+
return columns.map(function (column) {
|
|
791
|
+
return _objectSpread(_objectSpread({}, column), {}, {
|
|
792
|
+
type: standardizeColumnType(column.type)
|
|
793
|
+
});
|
|
794
|
+
});
|
|
795
|
+
};
|
|
796
|
+
var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
|
|
797
|
+
return ramda.not(ramda.isEmpty(keyworFilter.node));
|
|
798
|
+
};
|
|
799
|
+
var isNilOrEmpty = function isNilOrEmpty(param) {
|
|
800
|
+
return ramda.isNil(param) || ramda.isEmpty(param);
|
|
801
|
+
};
|
|
802
|
+
|
|
803
|
+
exports.CHECKBOX_OPTIONS = CHECKBOX_OPTIONS;
|
|
804
|
+
exports.DEFAULT_BOOLEAN_OPTIONS = DEFAULT_BOOLEAN_OPTIONS;
|
|
805
|
+
exports.DEFAULT_HELP_ICON_PROPS = DEFAULT_HELP_ICON_PROPS;
|
|
806
|
+
exports.MULTI_DROPDOWN_RULES = MULTI_DROPDOWN_RULES;
|
|
807
|
+
exports.NUMBER_RULES = NUMBER_RULES;
|
|
808
|
+
exports.SINGLE_DROPDOWN_RULES = SINGLE_DROPDOWN_RULES;
|
|
809
|
+
exports.TEXT_RULES = TEXT_RULES;
|
|
810
|
+
exports.TIME_FORMAT = TIME_FORMAT;
|
|
811
|
+
exports.TREE_SELECT_RULES = TREE_SELECT_RULES;
|
|
812
|
+
exports.buildDatePayload = buildDatePayload;
|
|
813
|
+
exports.buildDateRangePayload = buildDateRangePayload;
|
|
814
|
+
exports.buildDateValue = buildDateValue;
|
|
815
|
+
exports.buildDefaultFilters = buildDefaultFilters;
|
|
816
|
+
exports.buildFilterColumnsFromFields = buildFilterColumnsFromFields;
|
|
817
|
+
exports.buildFilteredColumns = buildFilteredColumns;
|
|
818
|
+
exports.buildFiltersFromSearchParams = buildFiltersFromSearchParams;
|
|
819
|
+
exports.buildFiltersFromURL = buildFiltersFromURL;
|
|
820
|
+
exports.buildFiltersPayload = buildFiltersPayload;
|
|
821
|
+
exports.buildMultiOptionPayload = buildMultiOptionPayload;
|
|
822
|
+
exports.buildRuleOptions = buildRuleOptions;
|
|
823
|
+
exports.buildSegmentsPayload = buildSegmentsPayload;
|
|
824
|
+
exports.buildSelectorsFromURL = buildSelectorsFromURL;
|
|
825
|
+
exports.buildSingleDatePayload = buildSingleDatePayload;
|
|
826
|
+
exports.buildSingleTimePayload = buildSingleTimePayload;
|
|
827
|
+
exports.buildTimePayload = buildTimePayload;
|
|
828
|
+
exports.buildTimeRangePayload = buildTimeRangePayload;
|
|
829
|
+
exports.buildTimeValue = buildTimeValue;
|
|
830
|
+
exports.buildUpdatedFilter = buildUpdatedFilter;
|
|
831
|
+
exports.buildUrlFromFilters = buildUrlFromFilters;
|
|
832
|
+
exports.buildUrlFromSegment = buildUrlFromSegment;
|
|
833
|
+
exports.compareFilters = compareFilters;
|
|
834
|
+
exports.createUrlParamString = createUrlParamString;
|
|
835
|
+
exports.createUrlParamStringForSegments = createUrlParamStringForSegments;
|
|
836
|
+
exports.flattenPayload = flattenPayload;
|
|
837
|
+
exports.getBoolFromLabel = getBoolFromLabel;
|
|
838
|
+
exports.getColumnsWithStandardizedType = getColumnsWithStandardizedType;
|
|
839
|
+
exports.getDefaultRuleValue = getDefaultRuleValue;
|
|
840
|
+
exports.getLabelFromBool = getLabelFromBool;
|
|
841
|
+
exports.getSearchTermFromUrl = getSearchTermFromUrl;
|
|
842
|
+
exports.getSnakeCasedQueryParams = getSnakeCasedQueryParams;
|
|
843
|
+
exports.getTimezone = getTimezone;
|
|
844
|
+
exports.isBoolean = isBoolean;
|
|
845
|
+
exports.isCheckbox = isCheckbox;
|
|
846
|
+
exports.isCustomDateRange = isCustomDateRange;
|
|
847
|
+
exports.isCustomTimeRange = isCustomTimeRange;
|
|
848
|
+
exports.isDate = isDate;
|
|
849
|
+
exports.isDateRange = isDateRange;
|
|
850
|
+
exports.isDigit = isDigit;
|
|
851
|
+
exports.isKeywordFilterPresent = isKeywordFilterPresent;
|
|
852
|
+
exports.isMulti = isMulti;
|
|
853
|
+
exports.isMultiModelFilter = isMultiModelFilter;
|
|
854
|
+
exports.isNilOrEmpty = isNilOrEmpty;
|
|
855
|
+
exports.isSingle = isSingle;
|
|
856
|
+
exports.isSingleDate = isSingleDate;
|
|
857
|
+
exports.isSingleTime = isSingleTime;
|
|
858
|
+
exports.isText = isText;
|
|
859
|
+
exports.isTime = isTime;
|
|
860
|
+
exports.isTimeRange = isTimeRange;
|
|
861
|
+
exports.isTreeSelect = isTreeSelect;
|
|
862
|
+
exports.isUndefinedOrEmpty = isUndefinedOrEmpty;
|
|
863
|
+
exports.splitFilter = splitFilter;
|
|
864
|
+
exports.splitNode = splitNode;
|
|
865
|
+
//# sourceMappingURL=utils-ClTYBS1C.js.map
|