@bigbinary/neeto-filters-frontend 3.2.3 → 3.2.5
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 +3 -0
- package/app/javascript/src/translations/en.json +13 -6
- package/dist/index.cjs.js +2174 -1672
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +2072 -1571
- package/dist/index.js.map +1 -1
- package/package.json +10 -8
- package/types.d.ts +42 -26
package/dist/index.js
CHANGED
|
@@ -1,53 +1,24 @@
|
|
|
1
|
-
import React, { useState,
|
|
1
|
+
import React, { useState, useEffect, useMemo, useRef, useTransition } from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import i18next, { t as t$1 } from 'i18next';
|
|
4
|
-
import { findBy, isNotEmpty, capitalize, removeBy,
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import { findBy, isNotEmpty, capitalize, removeBy, toLabelAndValue, hyphenate, isNotPresent, noop, replaceBy, existsBy, _existsBy, isPresent, notEqualsDeep, humanize, findById, filterBy } from '@bigbinary/neeto-cist';
|
|
5
|
+
import { useDebounce, useQueryParams, useMutationWithInvalidation, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
6
|
+
import { groupBy, anyPass, isNil, isEmpty, any, concat, omit, mergeLeft, toLower, identity, mergeRight, toPairs, pluck, either, not, has, equals, pick, last, modify, append, mergeDeepRight, prop, assoc, sortBy, project } from 'ramda';
|
|
7
|
+
import { useQuery, useQueryClient } from 'react-query';
|
|
8
|
+
import { Help, Delete as Delete$1, Plus, Close, Down } from '@bigbinary/neeto-icons';
|
|
9
|
+
import { Select, DatePicker, TimePickerInput, Input, Button, Pane as Pane$1, Typography, Accordion, Tooltip, Dropdown as Dropdown$2, Alert, Spinner } from '@bigbinary/neetoui';
|
|
10
|
+
import { Form, Input as Input$1, ActionBlock } from '@bigbinary/neetoui/formik';
|
|
9
11
|
import { useTranslation, Trans } from 'react-i18next';
|
|
10
|
-
import { useHistory
|
|
12
|
+
import { useHistory } from 'react-router-dom/cjs/react-router-dom.min';
|
|
13
|
+
import { buildUrl, getQueryParams, dateFormat, showThumbsUpToastr } from '@bigbinary/neeto-commons-frontend/utils';
|
|
14
|
+
import * as yup from 'yup';
|
|
15
|
+
import { useHistory as useHistory$1, useLocation } from 'react-router-dom';
|
|
11
16
|
import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
12
|
-
import { Help, Close, MenuHorizontal, Down, Settings } from '@bigbinary/neeto-icons';
|
|
13
|
-
import { Form, Input, ActionBlock } from '@bigbinary/neetoui/formik';
|
|
14
|
-
import { useQuery } from 'react-query';
|
|
15
17
|
import axios from 'axios';
|
|
16
|
-
import * as yup from 'yup';
|
|
17
18
|
import Search from '@bigbinary/neeto-molecules/Search';
|
|
18
19
|
import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
function _arrayLikeToArray(arr, len) {
|
|
22
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
23
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
24
|
-
return arr2;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function _arrayWithoutHoles(arr) {
|
|
28
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function _iterableToArray(iter) {
|
|
32
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
36
|
-
if (!o) return;
|
|
37
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
38
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
39
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
40
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
|
41
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function _nonIterableSpread() {
|
|
45
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function _toConsumableArray(arr) {
|
|
49
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
50
|
-
}
|
|
20
|
+
import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
|
|
21
|
+
import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
|
|
51
22
|
|
|
52
23
|
function _typeof(o) {
|
|
53
24
|
"@babel/helpers - typeof";
|
|
@@ -90,6 +61,92 @@ function _defineProperty(obj, key, value) {
|
|
|
90
61
|
return obj;
|
|
91
62
|
}
|
|
92
63
|
|
|
64
|
+
function _arrayLikeToArray(arr, len) {
|
|
65
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
66
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
67
|
+
return arr2;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function _arrayWithoutHoles(arr) {
|
|
71
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function _iterableToArray(iter) {
|
|
75
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
79
|
+
if (!o) return;
|
|
80
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
81
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
82
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
83
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
84
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function _nonIterableSpread() {
|
|
88
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function _toConsumableArray(arr) {
|
|
92
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function _extends() {
|
|
96
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
97
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
98
|
+
var source = arguments[i];
|
|
99
|
+
for (var key in source) {
|
|
100
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
101
|
+
target[key] = source[key];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return target;
|
|
106
|
+
};
|
|
107
|
+
return _extends.apply(this, arguments);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function _arrayWithHoles(arr) {
|
|
111
|
+
if (Array.isArray(arr)) return arr;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function _iterableToArrayLimit(r, l) {
|
|
115
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
116
|
+
if (null != t) {
|
|
117
|
+
var e,
|
|
118
|
+
n,
|
|
119
|
+
i,
|
|
120
|
+
u,
|
|
121
|
+
a = [],
|
|
122
|
+
f = !0,
|
|
123
|
+
o = !1;
|
|
124
|
+
try {
|
|
125
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
126
|
+
if (Object(t) !== t) return;
|
|
127
|
+
f = !1;
|
|
128
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
129
|
+
} catch (r) {
|
|
130
|
+
o = !0, n = r;
|
|
131
|
+
} finally {
|
|
132
|
+
try {
|
|
133
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
134
|
+
} finally {
|
|
135
|
+
if (o) throw n;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return a;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function _nonIterableRest() {
|
|
143
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function _slicedToArray(arr, i) {
|
|
147
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
148
|
+
}
|
|
149
|
+
|
|
93
150
|
var SEGMENTS_BASE_URL = "/neeto_filters/segments";
|
|
94
151
|
var DATE_OPTIONS = [{
|
|
95
152
|
label: "Today",
|
|
@@ -172,21 +229,6 @@ var DATE_RULES = {
|
|
|
172
229
|
var SEARCH_TERM_KEY = "search_term";
|
|
173
230
|
var SEGMENT_ID_KEY = "segment_id";
|
|
174
231
|
|
|
175
|
-
var SHORTCUTS = {
|
|
176
|
-
closePane: {
|
|
177
|
-
sequence: "escape",
|
|
178
|
-
description: t$1("neetoFilters.shortcuts.closePane")
|
|
179
|
-
},
|
|
180
|
-
deleteBlock: {
|
|
181
|
-
sequence: "backspace",
|
|
182
|
-
description: t$1("neetoFilters.shortcuts.deleteBlock")
|
|
183
|
-
},
|
|
184
|
-
openFilterPane: {
|
|
185
|
-
sequence: "enter",
|
|
186
|
-
description: t$1("neetoFilters.shortcuts.openFilterPane")
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
|
|
190
232
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
191
233
|
|
|
192
234
|
function getDefaultExportFromCjs (x) {
|
|
@@ -204,6 +246,44 @@ dayjs_min.exports;
|
|
|
204
246
|
var dayjs_minExports = dayjs_min.exports;
|
|
205
247
|
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
|
|
206
248
|
|
|
249
|
+
var timezone$1 = {exports: {}};
|
|
250
|
+
|
|
251
|
+
timezone$1.exports;
|
|
252
|
+
|
|
253
|
+
(function (module, exports) {
|
|
254
|
+
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,v=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",h=+e;return (o.utc(v).valueOf()-(h-=h%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
|
|
255
|
+
} (timezone$1, timezone$1.exports));
|
|
256
|
+
|
|
257
|
+
var timezoneExports = timezone$1.exports;
|
|
258
|
+
var timezone = /*@__PURE__*/getDefaultExportFromCjs(timezoneExports);
|
|
259
|
+
|
|
260
|
+
var utc$1 = {exports: {}};
|
|
261
|
+
|
|
262
|
+
utc$1.exports;
|
|
263
|
+
|
|
264
|
+
(function (module, exports) {
|
|
265
|
+
!function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
|
|
266
|
+
} (utc$1, utc$1.exports));
|
|
267
|
+
|
|
268
|
+
var utcExports = utc$1.exports;
|
|
269
|
+
var utc = /*@__PURE__*/getDefaultExportFromCjs(utcExports);
|
|
270
|
+
|
|
271
|
+
var weekday$1 = {exports: {}};
|
|
272
|
+
|
|
273
|
+
weekday$1.exports;
|
|
274
|
+
|
|
275
|
+
(function (module, exports) {
|
|
276
|
+
!function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i<t?i+7:i)-t;return this.$utils().u(e)?n:this.subtract(n,"day").add(e,"day")};}}));
|
|
277
|
+
} (weekday$1, weekday$1.exports));
|
|
278
|
+
|
|
279
|
+
var weekdayExports = weekday$1.exports;
|
|
280
|
+
var weekday = /*@__PURE__*/getDefaultExportFromCjs(weekdayExports);
|
|
281
|
+
|
|
282
|
+
dayjs.extend(utc);
|
|
283
|
+
dayjs.extend(timezone);
|
|
284
|
+
dayjs.extend(weekday);
|
|
285
|
+
dayjs.Ls.en.weekStart = 1;
|
|
286
|
+
|
|
207
287
|
var NUMBER_RULES = [{
|
|
208
288
|
label: t$1("neetoFilters.rules.is"),
|
|
209
289
|
value: "is"
|
|
@@ -242,6 +322,26 @@ var TEXT_RULES = [{
|
|
|
242
322
|
label: t$1("neetoFilters.rules.doesNotEndWith"),
|
|
243
323
|
value: "does_not_end_with"
|
|
244
324
|
}];
|
|
325
|
+
var MULTI_DROPDOWN_RULES = [{
|
|
326
|
+
label: t$1("neetoFilters.rules.in"),
|
|
327
|
+
value: "in"
|
|
328
|
+
}, {
|
|
329
|
+
label: t$1("neetoFilters.rules.notIn"),
|
|
330
|
+
value: "not_in"
|
|
331
|
+
}, {
|
|
332
|
+
label: t$1("neetoFilters.rules.isEmpty"),
|
|
333
|
+
value: "is_unknown"
|
|
334
|
+
}];
|
|
335
|
+
var SINGLE_DROPDOWN_RULES = [{
|
|
336
|
+
label: t$1("neetoFilters.rules.is"),
|
|
337
|
+
value: "is"
|
|
338
|
+
}, {
|
|
339
|
+
label: t$1("neetoFilters.rules.isNot"),
|
|
340
|
+
value: "is_not"
|
|
341
|
+
}, {
|
|
342
|
+
label: t$1("neetoFilters.rules.isEmpty"),
|
|
343
|
+
value: "is_unknown"
|
|
344
|
+
}];
|
|
245
345
|
var DEFAULT_BOOLEAN_OPTIONS = [{
|
|
246
346
|
label: t$1("neetoFilters.common.yes"),
|
|
247
347
|
value: "true"
|
|
@@ -256,94 +356,16 @@ var DEFAULT_HELP_ICON_PROPS = {
|
|
|
256
356
|
}
|
|
257
357
|
};
|
|
258
358
|
|
|
259
|
-
function
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
u,
|
|
270
|
-
a = [],
|
|
271
|
-
f = !0,
|
|
272
|
-
o = !1;
|
|
273
|
-
try {
|
|
274
|
-
if (i = (t = t.call(r)).next, 0 === l) {
|
|
275
|
-
if (Object(t) !== t) return;
|
|
276
|
-
f = !1;
|
|
277
|
-
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
278
|
-
} catch (r) {
|
|
279
|
-
o = !0, n = r;
|
|
280
|
-
} finally {
|
|
281
|
-
try {
|
|
282
|
-
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
283
|
-
} finally {
|
|
284
|
-
if (o) throw n;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
return a;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
function _nonIterableRest() {
|
|
292
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
function _slicedToArray(arr, i) {
|
|
296
|
-
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
var timezone$1 = {exports: {}};
|
|
300
|
-
|
|
301
|
-
timezone$1.exports;
|
|
302
|
-
|
|
303
|
-
(function (module, exports) {
|
|
304
|
-
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,v=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",h=+e;return (o.utc(v).valueOf()-(h-=h%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
|
|
305
|
-
} (timezone$1, timezone$1.exports));
|
|
306
|
-
|
|
307
|
-
var timezoneExports = timezone$1.exports;
|
|
308
|
-
var timezone = /*@__PURE__*/getDefaultExportFromCjs(timezoneExports);
|
|
309
|
-
|
|
310
|
-
var utc$1 = {exports: {}};
|
|
311
|
-
|
|
312
|
-
utc$1.exports;
|
|
313
|
-
|
|
314
|
-
(function (module, exports) {
|
|
315
|
-
!function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
|
|
316
|
-
} (utc$1, utc$1.exports));
|
|
317
|
-
|
|
318
|
-
var utcExports = utc$1.exports;
|
|
319
|
-
var utc = /*@__PURE__*/getDefaultExportFromCjs(utcExports);
|
|
320
|
-
|
|
321
|
-
var weekday$1 = {exports: {}};
|
|
322
|
-
|
|
323
|
-
weekday$1.exports;
|
|
324
|
-
|
|
325
|
-
(function (module, exports) {
|
|
326
|
-
!function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i<t?i+7:i)-t;return this.$utils().u(e)?n:this.subtract(n,"day").add(e,"day")};}}));
|
|
327
|
-
} (weekday$1, weekday$1.exports));
|
|
328
|
-
|
|
329
|
-
var weekdayExports = weekday$1.exports;
|
|
330
|
-
var weekday = /*@__PURE__*/getDefaultExportFromCjs(weekdayExports);
|
|
331
|
-
|
|
332
|
-
dayjs.extend(utc);
|
|
333
|
-
dayjs.extend(timezone);
|
|
334
|
-
dayjs.extend(weekday);
|
|
335
|
-
dayjs.Ls.en.weekStart = 1;
|
|
336
|
-
|
|
337
|
-
function ownKeys$4(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; }
|
|
338
|
-
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
339
|
-
var groupByGroup = groupBy(function (_ref) {
|
|
340
|
-
var group = _ref.group;
|
|
341
|
-
return group || "individual";
|
|
342
|
-
});
|
|
343
|
-
var standardizeColumnType = function standardizeColumnType(kind) {
|
|
344
|
-
// neeto-fields-nano supports `monetary` and `number` as type of fields, which will be acting as `decimal` in action.
|
|
345
|
-
if (["custom.monetary", "custom.number"].includes(kind)) {
|
|
346
|
-
return "custom.decimal";
|
|
359
|
+
function ownKeys$5(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; }
|
|
360
|
+
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
361
|
+
var groupByGroup = groupBy(function (_ref) {
|
|
362
|
+
var group = _ref.group;
|
|
363
|
+
return group || "individual";
|
|
364
|
+
});
|
|
365
|
+
var standardizeColumnType = function standardizeColumnType(kind) {
|
|
366
|
+
// neeto-fields-nano supports `monetary` and `number` as type of fields, which will be acting as `decimal` in action.
|
|
367
|
+
if (["custom.monetary", "custom.number"].includes(kind)) {
|
|
368
|
+
return "custom.decimal";
|
|
347
369
|
}
|
|
348
370
|
return kind;
|
|
349
371
|
};
|
|
@@ -373,6 +395,9 @@ var isTime = function isTime(type) {
|
|
|
373
395
|
var isMulti = function isMulti(type) {
|
|
374
396
|
return type === "multi_option" || type === "custom.multi_option";
|
|
375
397
|
};
|
|
398
|
+
var isSingle = function isSingle(type) {
|
|
399
|
+
return type === "single_option" || type === "custom.single_option";
|
|
400
|
+
};
|
|
376
401
|
var isText = function isText(type) {
|
|
377
402
|
return type === "text" || type === "custom.text";
|
|
378
403
|
};
|
|
@@ -465,7 +490,7 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
|
|
|
465
490
|
if (isMulti(defaultType)) {
|
|
466
491
|
return mergeLeft(filter, {
|
|
467
492
|
value: pluck("value", option),
|
|
468
|
-
rule:
|
|
493
|
+
rule: rule
|
|
469
494
|
});
|
|
470
495
|
} else if (isDate(defaultType)) {
|
|
471
496
|
return mergeLeft(filter, buildDateValue(option));
|
|
@@ -488,6 +513,11 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
|
|
|
488
513
|
});
|
|
489
514
|
} else if (isTime(defaultType)) {
|
|
490
515
|
return mergeLeft(filter, buildTimeValue(option));
|
|
516
|
+
} else if (isSingle(defaultType)) {
|
|
517
|
+
return mergeLeft(filter, {
|
|
518
|
+
value: option.value,
|
|
519
|
+
rule: rule
|
|
520
|
+
});
|
|
491
521
|
}
|
|
492
522
|
return mergeLeft(filter, {
|
|
493
523
|
value: option.value,
|
|
@@ -518,40 +548,53 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
|
|
|
518
548
|
value: value
|
|
519
549
|
}, column);
|
|
520
550
|
} else if (isMulti(defaultType)) {
|
|
521
|
-
return mergeLeft({
|
|
522
|
-
rule: "in",
|
|
523
|
-
value: value.split("|")
|
|
524
|
-
}, column);
|
|
525
|
-
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
526
551
|
var _value$split = value.split("+rule-"),
|
|
527
552
|
_value$split2 = _slicedToArray(_value$split, 2),
|
|
528
553
|
filterValue = _value$split2[0],
|
|
529
554
|
rule = _value$split2[1];
|
|
530
555
|
return mergeLeft({
|
|
531
556
|
rule: rule,
|
|
532
|
-
value: filterValue
|
|
533
|
-
}, column);
|
|
534
|
-
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
535
|
-
return mergeLeft({
|
|
536
|
-
value: value.split(",")
|
|
557
|
+
value: filterValue.split("|")
|
|
537
558
|
}, column);
|
|
538
|
-
} else if (
|
|
559
|
+
} else if (isSingle(defaultType)) {
|
|
539
560
|
var _value$split3 = value.split("+rule-"),
|
|
540
561
|
_value$split4 = _slicedToArray(_value$split3, 2),
|
|
541
562
|
_filterValue = _value$split4[0],
|
|
542
563
|
_rule = _value$split4[1];
|
|
543
564
|
return mergeLeft({
|
|
544
565
|
rule: _rule,
|
|
545
|
-
value:
|
|
566
|
+
value: _filterValue
|
|
546
567
|
}, column);
|
|
547
|
-
} else if (
|
|
568
|
+
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
548
569
|
var _value$split5 = value.split("+rule-"),
|
|
549
570
|
_value$split6 = _slicedToArray(_value$split5, 2),
|
|
550
571
|
_filterValue2 = _value$split6[0],
|
|
551
572
|
_rule2 = _value$split6[1];
|
|
552
573
|
return mergeLeft({
|
|
553
574
|
rule: _rule2,
|
|
554
|
-
value:
|
|
575
|
+
value: _filterValue2
|
|
576
|
+
}, column);
|
|
577
|
+
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
578
|
+
return mergeLeft({
|
|
579
|
+
value: value
|
|
580
|
+
}, column);
|
|
581
|
+
} else if (isSingleDate(defaultType)) {
|
|
582
|
+
var _value$split7 = value.split("+rule-"),
|
|
583
|
+
_value$split8 = _slicedToArray(_value$split7, 2),
|
|
584
|
+
_filterValue3 = _value$split8[0],
|
|
585
|
+
_rule3 = _value$split8[1];
|
|
586
|
+
return mergeLeft({
|
|
587
|
+
rule: _rule3,
|
|
588
|
+
value: _rule3 === "between" ? _filterValue3.split(",") : _filterValue3
|
|
589
|
+
}, column);
|
|
590
|
+
} else if (isSingleTime(defaultType)) {
|
|
591
|
+
var _value$split9 = value.split("+rule-"),
|
|
592
|
+
_value$split10 = _slicedToArray(_value$split9, 2),
|
|
593
|
+
_filterValue4 = _value$split10[0],
|
|
594
|
+
_rule4 = _value$split10[1];
|
|
595
|
+
return mergeLeft({
|
|
596
|
+
rule: _rule4,
|
|
597
|
+
value: _rule4 === "between" ? _filterValue4.split(",") : _filterValue4
|
|
555
598
|
}, column);
|
|
556
599
|
} else if (isBoolean(defaultType)) {
|
|
557
600
|
return mergeLeft({
|
|
@@ -634,7 +677,7 @@ var buildDatePayload = function buildDatePayload(value) {
|
|
|
634
677
|
var buildSingleDatePayload = function buildSingleDatePayload(filter) {
|
|
635
678
|
var value = filter.value;
|
|
636
679
|
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
637
|
-
return _objectSpread$
|
|
680
|
+
return _objectSpread$5(_objectSpread$5({}, filter), {}, {
|
|
638
681
|
value: filterValue,
|
|
639
682
|
type: "date"
|
|
640
683
|
});
|
|
@@ -642,7 +685,7 @@ var buildSingleDatePayload = function buildSingleDatePayload(filter) {
|
|
|
642
685
|
var buildSingleTimePayload = function buildSingleTimePayload(filter) {
|
|
643
686
|
var value = filter.value;
|
|
644
687
|
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
645
|
-
return _objectSpread$
|
|
688
|
+
return _objectSpread$5(_objectSpread$5({}, filter), {}, {
|
|
646
689
|
value: filterValue,
|
|
647
690
|
type: "time"
|
|
648
691
|
});
|
|
@@ -814,7 +857,9 @@ var createUrlParamString = function createUrlParamString(_ref15) {
|
|
|
814
857
|
} else if (isSingleDate(defaultType) || isSingleTime(defaultType)) {
|
|
815
858
|
return value && "".concat(value, "+rule-").concat(rule) || value;
|
|
816
859
|
} else if (isMulti(defaultType)) {
|
|
817
|
-
return value.join("|");
|
|
860
|
+
return "".concat(value.join("|"), "+rule-").concat(rule);
|
|
861
|
+
} else if (isSingle(defaultType)) {
|
|
862
|
+
return "".concat(value, "+rule-").concat(rule);
|
|
818
863
|
} else if (isBoolean(defaultType)) {
|
|
819
864
|
return getLabelFromBool({
|
|
820
865
|
value: value,
|
|
@@ -910,7 +955,7 @@ var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref22)
|
|
|
910
955
|
var id = field.id,
|
|
911
956
|
name = field.name,
|
|
912
957
|
kind = field.kind;
|
|
913
|
-
var column = _objectSpread$
|
|
958
|
+
var column = _objectSpread$5({
|
|
914
959
|
key: toLower(name),
|
|
915
960
|
node: "".concat(name, ":").concat(id),
|
|
916
961
|
label: capitalize(name),
|
|
@@ -934,7 +979,7 @@ var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref22)
|
|
|
934
979
|
};
|
|
935
980
|
var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(columns) {
|
|
936
981
|
return columns.map(function (column) {
|
|
937
|
-
return _objectSpread$
|
|
982
|
+
return _objectSpread$5(_objectSpread$5({}, column), {}, {
|
|
938
983
|
type: standardizeColumnType(column.type)
|
|
939
984
|
});
|
|
940
985
|
});
|
|
@@ -942,1007 +987,678 @@ var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(col
|
|
|
942
987
|
var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
|
|
943
988
|
return not(isEmpty(keyworFilter.node));
|
|
944
989
|
};
|
|
990
|
+
var isNilOrEmpty = function isNilOrEmpty(param) {
|
|
991
|
+
return isNil(param) || isEmpty(param);
|
|
992
|
+
};
|
|
945
993
|
|
|
946
|
-
var
|
|
947
|
-
var
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
return
|
|
994
|
+
var buildDropdownValue = function buildDropdownValue(_ref) {
|
|
995
|
+
var defaultType = _ref.defaultType,
|
|
996
|
+
filter = _ref.filter,
|
|
997
|
+
options = _ref.options;
|
|
998
|
+
if (!filter) return null;
|
|
999
|
+
if (isMulti(defaultType)) {
|
|
1000
|
+
return options.filter(function (_ref2) {
|
|
1001
|
+
var value = _ref2.value;
|
|
1002
|
+
return filter.value.includes(value);
|
|
1003
|
+
});
|
|
953
1004
|
}
|
|
954
|
-
return
|
|
1005
|
+
return findBy({
|
|
1006
|
+
value: filter.value
|
|
1007
|
+
}, options);
|
|
955
1008
|
};
|
|
956
|
-
var
|
|
1009
|
+
var buildSingleTimeValue = function buildSingleTimeValue(filter) {
|
|
957
1010
|
var _findBy2;
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
value
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
1011
|
+
if (!filter) return null;
|
|
1012
|
+
return (_findBy2 = findBy({
|
|
1013
|
+
value: filter.value
|
|
1014
|
+
}, TIME_OPTIONS)) !== null && _findBy2 !== void 0 ? _findBy2 : last(TIME_OPTIONS);
|
|
1015
|
+
};
|
|
1016
|
+
var getOtherProps = function getOtherProps(props) {
|
|
1017
|
+
return omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
|
|
1018
|
+
};
|
|
1019
|
+
var buildDropdownOptions = function buildDropdownOptions(_ref3) {
|
|
1020
|
+
var defaultType = _ref3.defaultType,
|
|
1021
|
+
filter = _ref3.filter,
|
|
1022
|
+
options = _ref3.options;
|
|
1023
|
+
options = options.map(modify("value", function (value) {
|
|
1024
|
+
return value === null || value === void 0 ? void 0 : value.toString();
|
|
966
1025
|
}));
|
|
967
|
-
if (
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
} else if (isDate(defaultType) || isTime(defaultType)) {
|
|
972
|
-
return humanize(value);
|
|
973
|
-
} else if (isMulti(defaultType)) {
|
|
974
|
-
return value.map(function (value) {
|
|
975
|
-
var _findBy;
|
|
976
|
-
return ((_findBy = findBy({
|
|
1026
|
+
if (!filter) return options;
|
|
1027
|
+
if (isMulti(defaultType)) {
|
|
1028
|
+
var selectedOptions = filter.value.map(function (value) {
|
|
1029
|
+
return findBy({
|
|
977
1030
|
value: value
|
|
978
|
-
},
|
|
979
|
-
})
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
} else if (isSingleTime(defaultType)) {
|
|
983
|
-
return rule === "between" ? value.map(dateFormat.time).join(" - ") : dateFormat.time(value);
|
|
984
|
-
} else if (isBoolean(defaultType)) {
|
|
985
|
-
return getLabelFromBool({
|
|
986
|
-
value: value,
|
|
987
|
-
values: values
|
|
1031
|
+
}, options) || toLabelAndValue(value);
|
|
1032
|
+
});
|
|
1033
|
+
var nonSelectedOptions = options.filter(function (option) {
|
|
1034
|
+
return !filter.value.includes(option.value);
|
|
988
1035
|
});
|
|
1036
|
+
return concat(selectedOptions, nonSelectedOptions);
|
|
989
1037
|
}
|
|
990
|
-
|
|
991
|
-
value: value
|
|
992
|
-
},
|
|
1038
|
+
if (!findBy({
|
|
1039
|
+
value: filter.value
|
|
1040
|
+
}, options)) {
|
|
1041
|
+
return append(toLabelAndValue(filter.value), options);
|
|
1042
|
+
}
|
|
1043
|
+
return options;
|
|
993
1044
|
};
|
|
994
|
-
var
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
return findBy({
|
|
1003
|
-
value: rule
|
|
1004
|
-
}, NUMBER_RULES).label;
|
|
1005
|
-
} else if (isSingleDate(defaultType)) {
|
|
1006
|
-
return findBy({
|
|
1007
|
-
value: rule
|
|
1008
|
-
}, SINGLE_DATE_OPTIONS).label;
|
|
1009
|
-
} else if (isSingleTime(defaultType)) {
|
|
1010
|
-
return findBy({
|
|
1011
|
-
value: rule
|
|
1012
|
-
}, SINGLE_TIME_OPTIONS).label;
|
|
1045
|
+
var initializeDateRule = function initializeDateRule(filter) {
|
|
1046
|
+
return filter ? findBy({
|
|
1047
|
+
value: filter === null || filter === void 0 ? void 0 : filter.value
|
|
1048
|
+
}, DATE_OPTIONS) || findDateOption(filter, DATE_OPTIONS) : {};
|
|
1049
|
+
};
|
|
1050
|
+
var getDateValue = function getDateValue(value, rule) {
|
|
1051
|
+
if (isEmpty(value) || isNil(value)) {
|
|
1052
|
+
return null;
|
|
1013
1053
|
}
|
|
1014
|
-
|
|
1054
|
+
if (rule.value === "custom-date-range") {
|
|
1055
|
+
return value;
|
|
1056
|
+
}
|
|
1057
|
+
return rule.value === "before" ? dayjs(value[1]).add(1, "day") : dayjs(value[0]).subtract(1, "day");
|
|
1015
1058
|
};
|
|
1016
|
-
var
|
|
1017
|
-
|
|
1059
|
+
var findDateOption = function findDateOption(filter, options) {
|
|
1060
|
+
var value = filter.value;
|
|
1061
|
+
var isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), "year") >= 90;
|
|
1062
|
+
if (not(isBeforeOrAfter)) {
|
|
1063
|
+
return last(options);
|
|
1064
|
+
}
|
|
1065
|
+
var currentMoment = dayjs();
|
|
1066
|
+
var diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), "year"));
|
|
1067
|
+
var diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), "year"));
|
|
1068
|
+
return diffWithStart < diffWithEnd ? findBy({
|
|
1069
|
+
value: "after"
|
|
1070
|
+
}, options) : findBy({
|
|
1071
|
+
value: "before"
|
|
1072
|
+
}, options);
|
|
1018
1073
|
};
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
mode: "scoped"
|
|
1042
|
-
});
|
|
1043
|
-
var openFilterPaneHotKeyRef = useHotkeys(SHORTCUTS.openFilterPane.sequence, function () {
|
|
1044
|
-
return setIsPaneOpen(key);
|
|
1045
|
-
}, {
|
|
1046
|
-
mode: "scoped"
|
|
1074
|
+
var buildDateValues = function buildDateValues(dates, selectedRule) {
|
|
1075
|
+
if (selectedRule.value === "after") {
|
|
1076
|
+
return [dates.add(1, "day"), dates.add(100, "year")];
|
|
1077
|
+
} else if (selectedRule.value === "before") {
|
|
1078
|
+
return [dates.subtract(100, "year"), dates.subtract(1, "day")];
|
|
1079
|
+
}
|
|
1080
|
+
return dates;
|
|
1081
|
+
};
|
|
1082
|
+
var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
|
|
1083
|
+
return mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);
|
|
1084
|
+
};
|
|
1085
|
+
var hasInvalidTimes = function hasInvalidTimes(times) {
|
|
1086
|
+
if (Array.isArray(times)) {
|
|
1087
|
+
return times.some(function (time) {
|
|
1088
|
+
return time.isValid();
|
|
1089
|
+
}) === false;
|
|
1090
|
+
}
|
|
1091
|
+
return !times.isValid();
|
|
1092
|
+
};
|
|
1093
|
+
var areCustomTimeRangeValuesNotValid = function areCustomTimeRangeValuesNotValid(times) {
|
|
1094
|
+
return !times.every(function (time) {
|
|
1095
|
+
return time.isValid();
|
|
1047
1096
|
});
|
|
1048
|
-
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
1049
|
-
content: filterValue,
|
|
1050
|
-
disabled: toolTipDisabled,
|
|
1051
|
-
position: "bottom",
|
|
1052
|
-
theme: "light"
|
|
1053
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1054
|
-
className: "neeto-filters-bar__block",
|
|
1055
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-block"),
|
|
1056
|
-
tabIndex: 0,
|
|
1057
|
-
ref: function ref(node) {
|
|
1058
|
-
deleteBlockHotKeyRef.current = node;
|
|
1059
|
-
openFilterPaneHotKeyRef.current = node;
|
|
1060
|
-
},
|
|
1061
|
-
onClick: function onClick() {
|
|
1062
|
-
return setIsPaneOpen(key);
|
|
1063
|
-
}
|
|
1064
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
1065
|
-
style: "body2"
|
|
1066
|
-
}, label, ":"), /*#__PURE__*/React.createElement(Typography, {
|
|
1067
|
-
className: "neeto-ui-text-gray-600",
|
|
1068
|
-
style: "body2"
|
|
1069
|
-
}, ruleContent), /*#__PURE__*/React.createElement(Typography, {
|
|
1070
|
-
style: "body2"
|
|
1071
|
-
}, blockContent), !defaultValue && /*#__PURE__*/React.createElement("div", {
|
|
1072
|
-
className: "neeto-filters-bar__block-close"
|
|
1073
|
-
}, /*#__PURE__*/React.createElement(Close, {
|
|
1074
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-block-close-btn"),
|
|
1075
|
-
size: 16,
|
|
1076
|
-
strokeWidth: 2,
|
|
1077
|
-
onClick: function onClick(event) {
|
|
1078
|
-
event.stopPropagation();
|
|
1079
|
-
handleDelete(key);
|
|
1080
|
-
}
|
|
1081
|
-
}))));
|
|
1082
1097
|
};
|
|
1083
1098
|
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
handleDelete = _ref.handleDelete;
|
|
1088
|
-
var deleteBlockHotKeyRef = useHotkeys(SHORTCUTS.deleteBlock.sequence, function () {
|
|
1089
|
-
return handleDelete(childKey);
|
|
1090
|
-
}, {
|
|
1091
|
-
mode: "scoped"
|
|
1092
|
-
});
|
|
1093
|
-
var openFilterPaneHotKeyRef = useHotkeys(SHORTCUTS.openFilterPane.sequence, function () {
|
|
1094
|
-
return setIsPaneOpen(childKey);
|
|
1095
|
-
}, {
|
|
1096
|
-
mode: "scoped"
|
|
1097
|
-
});
|
|
1098
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1099
|
-
className: "neeto-filters-bar__block",
|
|
1100
|
-
"data-cy": "neeto-filters-".concat(hyphenate(childKey), "-block"),
|
|
1101
|
-
tabIndex: 0,
|
|
1102
|
-
ref: function ref(node) {
|
|
1103
|
-
deleteBlockHotKeyRef.current = node;
|
|
1104
|
-
openFilterPaneHotKeyRef.current = node;
|
|
1105
|
-
},
|
|
1106
|
-
onClick: function onClick() {
|
|
1107
|
-
return setIsPaneOpen(childKey);
|
|
1108
|
-
}
|
|
1109
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
1110
|
-
style: "body2",
|
|
1111
|
-
weight: "medium"
|
|
1112
|
-
}, childKey), /*#__PURE__*/React.createElement("div", {
|
|
1113
|
-
className: "neeto-filters-bar__block-close"
|
|
1114
|
-
}, /*#__PURE__*/React.createElement(Close, {
|
|
1115
|
-
"data-cy": "neeto-filters-".concat(hyphenate(childKey), "-block-close-btn"),
|
|
1116
|
-
size: 16,
|
|
1117
|
-
strokeWidth: 2,
|
|
1118
|
-
onClick: function onClick(event) {
|
|
1119
|
-
event.stopPropagation();
|
|
1120
|
-
handleDelete(childKey);
|
|
1121
|
-
}
|
|
1122
|
-
})));
|
|
1123
|
-
};
|
|
1124
|
-
|
|
1125
|
-
var fetch = function fetch(params) {
|
|
1126
|
-
return axios.get(SEGMENTS_BASE_URL, {
|
|
1127
|
-
params: params
|
|
1128
|
-
});
|
|
1129
|
-
};
|
|
1130
|
-
var show = function show(id) {
|
|
1131
|
-
return axios.get("".concat(SEGMENTS_BASE_URL, "/").concat(id), {
|
|
1132
|
-
transformResponseCase: false
|
|
1133
|
-
});
|
|
1134
|
-
};
|
|
1135
|
-
var create = function create(payload) {
|
|
1136
|
-
return axios.post(SEGMENTS_BASE_URL, {
|
|
1137
|
-
segment: payload
|
|
1138
|
-
});
|
|
1139
|
-
};
|
|
1140
|
-
var update = function update(_ref) {
|
|
1141
|
-
var id = _ref.id,
|
|
1142
|
-
payload = _ref.payload,
|
|
1143
|
-
_ref$showToastr = _ref.showToastr,
|
|
1144
|
-
showToastr = _ref$showToastr === void 0 ? true : _ref$showToastr;
|
|
1145
|
-
return axios.put("".concat(SEGMENTS_BASE_URL, "/").concat(id), payload, {
|
|
1146
|
-
showToastr: showToastr
|
|
1147
|
-
});
|
|
1148
|
-
};
|
|
1149
|
-
var destroy = function destroy(id) {
|
|
1150
|
-
return axios["delete"]("".concat(SEGMENTS_BASE_URL, "/").concat(id));
|
|
1099
|
+
// eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats
|
|
1100
|
+
var formatSingleTime = function formatSingleTime(time) {
|
|
1101
|
+
return dayjs(time).format("HH:mm:ss");
|
|
1151
1102
|
};
|
|
1152
|
-
var
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
};
|
|
1159
|
-
|
|
1160
|
-
var QUERY_KEYS = {
|
|
1161
|
-
SEGMENTS_LIST: "segments-list"
|
|
1162
|
-
};
|
|
1163
|
-
var SEGMENTS_STALE_TIME = 900000; // 15 mins
|
|
1164
|
-
|
|
1165
|
-
function ownKeys$3(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; }
|
|
1166
|
-
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1167
|
-
var SEGMENTS_LIST = QUERY_KEYS.SEGMENTS_LIST;
|
|
1168
|
-
var useFetchSegments = function useFetchSegments(_ref) {
|
|
1169
|
-
var entity = _ref.entity,
|
|
1170
|
-
_ref$searchTerm = _ref.searchTerm,
|
|
1171
|
-
searchTerm = _ref$searchTerm === void 0 ? "" : _ref$searchTerm;
|
|
1172
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1173
|
-
return useQuery([SEGMENTS_LIST, entity, searchTerm], function () {
|
|
1174
|
-
return segmentsApi.fetch({
|
|
1175
|
-
entity: entity,
|
|
1176
|
-
searchTerm: searchTerm
|
|
1177
|
-
});
|
|
1178
|
-
}, mergeRight({
|
|
1179
|
-
staleTime: SEGMENTS_STALE_TIME,
|
|
1180
|
-
select: prop("segments")
|
|
1181
|
-
}, options));
|
|
1182
|
-
};
|
|
1183
|
-
var useShowSegment = function useShowSegment(id) {
|
|
1184
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1185
|
-
return useQuery([SEGMENTS_LIST, id], function () {
|
|
1186
|
-
return segmentsApi.show(id);
|
|
1187
|
-
}, mergeRight({
|
|
1188
|
-
staleTime: SEGMENTS_STALE_TIME,
|
|
1189
|
-
select: prop("segment")
|
|
1190
|
-
}, options));
|
|
1191
|
-
};
|
|
1192
|
-
var useCreateSegment = function useCreateSegment(options) {
|
|
1193
|
-
return useMutationWithInvalidation(segmentsApi.create, _objectSpread$3({
|
|
1194
|
-
keysToInvalidate: [SEGMENTS_LIST]
|
|
1195
|
-
}, options));
|
|
1196
|
-
};
|
|
1197
|
-
var useUpdateSegment = function useUpdateSegment(options) {
|
|
1198
|
-
return useMutationWithInvalidation(segmentsApi.update, _objectSpread$3({
|
|
1199
|
-
keysToInvalidate: [SEGMENTS_LIST]
|
|
1200
|
-
}, options));
|
|
1103
|
+
var formatTime = function formatTime(value, timePickerType) {
|
|
1104
|
+
if (isNilOrEmpty(value)) return null;
|
|
1105
|
+
if (timePickerType === "range") {
|
|
1106
|
+
return value.map(formatSingleTime);
|
|
1107
|
+
}
|
|
1108
|
+
return formatSingleTime(value);
|
|
1201
1109
|
};
|
|
1202
|
-
var
|
|
1203
|
-
return
|
|
1204
|
-
keysToInvalidate: [SEGMENTS_LIST]
|
|
1205
|
-
}, options));
|
|
1110
|
+
var isRuleEmpty = function isRuleEmpty(rule) {
|
|
1111
|
+
return equals(rule, "is_unknown");
|
|
1206
1112
|
};
|
|
1207
1113
|
|
|
1208
|
-
var
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1114
|
+
var Boolean = function Boolean(_ref) {
|
|
1115
|
+
var column = _ref.column,
|
|
1116
|
+
filter = _ref.filter,
|
|
1117
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1118
|
+
autoFocus = _ref.autoFocus;
|
|
1119
|
+
var key = column.key,
|
|
1120
|
+
_column$defaultType = column.defaultType,
|
|
1121
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1122
|
+
label = column.label,
|
|
1123
|
+
values = column.values,
|
|
1124
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1125
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1126
|
+
var options = isNil(values) || isEmpty(values) ? DEFAULT_BOOLEAN_OPTIONS : values;
|
|
1127
|
+
var otherProps = getOtherProps(column);
|
|
1128
|
+
var value = buildDropdownValue({
|
|
1129
|
+
defaultType: defaultType,
|
|
1130
|
+
filter: filter,
|
|
1131
|
+
options: options
|
|
1217
1132
|
});
|
|
1218
|
-
};
|
|
1219
|
-
|
|
1220
|
-
var Menu = Dropdown$2.Menu,
|
|
1221
|
-
MenuItem = Dropdown$2.MenuItem;
|
|
1222
|
-
var Segment = function Segment(_ref) {
|
|
1223
|
-
var entity = _ref.entity,
|
|
1224
|
-
filters = _ref.filters,
|
|
1225
|
-
columns = _ref.columns,
|
|
1226
|
-
childrenKeys = _ref.childrenKeys,
|
|
1227
|
-
setIsFilterPaneOpen = _ref.setIsFilterPaneOpen,
|
|
1228
|
-
defaultSegmentName = _ref.defaultSegmentName;
|
|
1229
|
-
var _useState = useState(false),
|
|
1230
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1231
|
-
isSavePaneOpen = _useState2[0],
|
|
1232
|
-
setIsSavePaneOpen = _useState2[1];
|
|
1233
|
-
var _useState3 = useState(false),
|
|
1234
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
1235
|
-
isUpdateAlertOpen = _useState4[0],
|
|
1236
|
-
setIsUpdateAlertOpen = _useState4[1];
|
|
1237
|
-
var inputRef = useRef(null);
|
|
1238
1133
|
var _useTranslation = useTranslation(),
|
|
1239
1134
|
t = _useTranslation.t;
|
|
1240
|
-
var
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
}
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
isCreating = _useCreateSegment.isLoading;
|
|
1252
|
-
var _useUpdateSegment = useUpdateSegment(),
|
|
1253
|
-
updateSegment = _useUpdateSegment.mutate,
|
|
1254
|
-
isUpdating = _useUpdateSegment.isLoading;
|
|
1255
|
-
var isSubmitting = isCreating || isUpdating;
|
|
1256
|
-
var handleUpdate = function handleUpdate() {
|
|
1257
|
-
return updateSegment({
|
|
1258
|
-
id: segmentId,
|
|
1259
|
-
payload: {
|
|
1260
|
-
filters: filtersPayload
|
|
1261
|
-
}
|
|
1262
|
-
}, {
|
|
1263
|
-
onSuccess: function onSuccess() {
|
|
1264
|
-
return setIsUpdateAlertOpen(false);
|
|
1265
|
-
}
|
|
1266
|
-
});
|
|
1267
|
-
};
|
|
1268
|
-
var handleCreateSuccess = function handleCreateSuccess(_ref2) {
|
|
1269
|
-
var _filters$;
|
|
1270
|
-
var _ref2$segment = _ref2.segment,
|
|
1271
|
-
id = _ref2$segment.id,
|
|
1272
|
-
filters = _ref2$segment.filters;
|
|
1273
|
-
history.push({
|
|
1274
|
-
search: buildUrlFromSegment({
|
|
1275
|
-
columns: columns,
|
|
1276
|
-
filters: (_filters$ = filters[0]) === null || _filters$ === void 0 ? void 0 : _filters$.conditions,
|
|
1277
|
-
id: id
|
|
1278
|
-
})
|
|
1279
|
-
});
|
|
1280
|
-
setIsSavePaneOpen(false);
|
|
1281
|
-
};
|
|
1282
|
-
var handleSubmit = function handleSubmit(_ref3) {
|
|
1283
|
-
var name = _ref3.name;
|
|
1284
|
-
return createSegment({
|
|
1285
|
-
name: name,
|
|
1286
|
-
entity: entity,
|
|
1287
|
-
filters: filtersPayload
|
|
1288
|
-
}, {
|
|
1289
|
-
onSuccess: handleCreateSuccess
|
|
1135
|
+
var handleChange = function handleChange(option) {
|
|
1136
|
+
if (isEmpty(option) || isNil(option)) {
|
|
1137
|
+
handleApplyFilter({
|
|
1138
|
+
_delete: true
|
|
1139
|
+
});
|
|
1140
|
+
return;
|
|
1141
|
+
}
|
|
1142
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1143
|
+
column: column,
|
|
1144
|
+
defaultType: defaultType,
|
|
1145
|
+
option: option
|
|
1290
1146
|
});
|
|
1147
|
+
handleApplyFilter(updatedFilter);
|
|
1291
1148
|
};
|
|
1292
|
-
return /*#__PURE__*/React.createElement(
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
})
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
}, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
1304
|
-
isDisabled: equals(filtersPayload, selectedSegment === null || selectedSegment === void 0 ? void 0 : selectedSegment.filters),
|
|
1305
|
-
onClick: setIsUpdateAlertOpen
|
|
1306
|
-
}, t("neetoFilters.segments.saveSegment")), /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
1307
|
-
onClick: function onClick() {
|
|
1308
|
-
setIsFilterPaneOpen(false);
|
|
1309
|
-
setIsSavePaneOpen(true);
|
|
1310
|
-
}
|
|
1311
|
-
}, t("neetoFilters.segments.saveAsNewSegment")))), /*#__PURE__*/React.createElement(Pane$1, {
|
|
1312
|
-
initialFocusRef: inputRef,
|
|
1313
|
-
isOpen: isSavePaneOpen,
|
|
1314
|
-
onClose: function onClose() {
|
|
1315
|
-
return setIsSavePaneOpen(false);
|
|
1316
|
-
}
|
|
1317
|
-
}, /*#__PURE__*/React.createElement(Pane$1.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
1318
|
-
style: "h2",
|
|
1319
|
-
weight: "semibold"
|
|
1320
|
-
}, t("neetoFilters.segments.addNewSegment"))), /*#__PURE__*/React.createElement(Form, {
|
|
1321
|
-
className: "w-full",
|
|
1322
|
-
formProps: {
|
|
1323
|
-
noValidate: true
|
|
1324
|
-
},
|
|
1325
|
-
formikProps: {
|
|
1326
|
-
initialValues: {
|
|
1327
|
-
name: ""
|
|
1328
|
-
},
|
|
1329
|
-
validateOnChange: true,
|
|
1330
|
-
validateOnBlur: true,
|
|
1331
|
-
validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
|
|
1332
|
-
onSubmit: handleSubmit
|
|
1333
|
-
}
|
|
1334
|
-
}, /*#__PURE__*/React.createElement(Pane$1.Body, null, /*#__PURE__*/React.createElement(Input, {
|
|
1335
|
-
className: "w-full",
|
|
1336
|
-
label: t("neetoFilters.segments.name"),
|
|
1337
|
-
name: "name",
|
|
1338
|
-
placeholder: t("neetoFilters.segments.segmentName"),
|
|
1339
|
-
ref: inputRef
|
|
1340
|
-
})), /*#__PURE__*/React.createElement(Pane$1.Footer, {
|
|
1341
|
-
className: "flex items-center space-x-2"
|
|
1342
|
-
}, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
1343
|
-
cancelButtonProps: {
|
|
1344
|
-
onClick: function onClick() {
|
|
1345
|
-
return setIsSavePaneOpen(false);
|
|
1346
|
-
},
|
|
1347
|
-
disabled: false
|
|
1348
|
-
},
|
|
1349
|
-
submitButtonProps: {
|
|
1350
|
-
disabled: isSubmitting,
|
|
1351
|
-
loading: isSubmitting
|
|
1149
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1150
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1151
|
+
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1152
|
+
autoFocus: autoFocus,
|
|
1153
|
+
label: label,
|
|
1154
|
+
options: options,
|
|
1155
|
+
value: value,
|
|
1156
|
+
isClearable: true
|
|
1157
|
+
}, isNotEmpty(helpIconProps) && {
|
|
1158
|
+
labelProps: {
|
|
1159
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1352
1160
|
}
|
|
1353
|
-
}
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
message: /*#__PURE__*/React.createElement(Trans, {
|
|
1359
|
-
i18nKey: "neetoFilters.segments.updateSegmentMessage",
|
|
1360
|
-
values: {
|
|
1361
|
-
entity: selectedSegment === null || selectedSegment === void 0 ? void 0 : selectedSegment.name
|
|
1362
|
-
}
|
|
1161
|
+
}, {
|
|
1162
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1163
|
+
strategy: "fixed",
|
|
1164
|
+
placeholder: t("neetoFilters.messages.selectOption", {
|
|
1165
|
+
resource: label
|
|
1363
1166
|
}),
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
},
|
|
1367
|
-
onSubmit: handleUpdate
|
|
1368
|
-
}));
|
|
1167
|
+
onChange: handleChange
|
|
1168
|
+
}, otherProps)));
|
|
1369
1169
|
};
|
|
1170
|
+
var Boolean$1 = /*#__PURE__*/React.memo(Boolean);
|
|
1370
1171
|
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
key: SEARCH_TERM_KEY,
|
|
1404
|
-
value: keywordValue
|
|
1172
|
+
var Datetime = function Datetime(_ref) {
|
|
1173
|
+
var column = _ref.column,
|
|
1174
|
+
filter = _ref.filter,
|
|
1175
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1176
|
+
autoFocus = _ref.autoFocus;
|
|
1177
|
+
var _useState = useState(initializeDateRule(filter)),
|
|
1178
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1179
|
+
selectedRule = _useState2[0],
|
|
1180
|
+
setSelectedRule = _useState2[1];
|
|
1181
|
+
var _useTranslation = useTranslation(),
|
|
1182
|
+
t = _useTranslation.t;
|
|
1183
|
+
var key = column.key,
|
|
1184
|
+
_column$defaultType = column.defaultType,
|
|
1185
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1186
|
+
label = column.label,
|
|
1187
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1188
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1189
|
+
var isDatePickerShown = filter && isCustomDateRange(filter.value);
|
|
1190
|
+
var otherProps = getOtherProps(column);
|
|
1191
|
+
var handleChange = function handleChange(option) {
|
|
1192
|
+
if (isEmpty(option) || isNil(option)) {
|
|
1193
|
+
handleApplyFilter({
|
|
1194
|
+
_delete: true
|
|
1195
|
+
});
|
|
1196
|
+
setSelectedRule({});
|
|
1197
|
+
return;
|
|
1198
|
+
}
|
|
1199
|
+
setSelectedRule(option);
|
|
1200
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1201
|
+
column: column,
|
|
1202
|
+
defaultType: defaultType,
|
|
1203
|
+
option: option
|
|
1405
1204
|
});
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
var params = buildUrlFromFilters(_objectSpread$2({
|
|
1413
|
-
columns: columns,
|
|
1414
|
-
filters: isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(newFilters), [keywordFilter]) : newFilters
|
|
1415
|
-
}, isClearAll && {
|
|
1416
|
-
isClearAll: true,
|
|
1417
|
-
childrenKeys: childrenKeys
|
|
1418
|
-
}));
|
|
1419
|
-
history.push({
|
|
1420
|
-
search: params
|
|
1205
|
+
handleApplyFilter(updatedFilter);
|
|
1206
|
+
};
|
|
1207
|
+
var handleDateRangeChange = function handleDateRangeChange(dates) {
|
|
1208
|
+
if (isEmpty(dates) || isNil(dates)) {
|
|
1209
|
+
handleApplyFilter({
|
|
1210
|
+
_delete: true
|
|
1421
1211
|
});
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
var _pathname = window.location.pathname;
|
|
1433
|
-
history.push(buildUrl(_pathname, _params));
|
|
1212
|
+
setSelectedRule({});
|
|
1213
|
+
return;
|
|
1214
|
+
}
|
|
1215
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1216
|
+
column: column,
|
|
1217
|
+
defaultType: defaultType,
|
|
1218
|
+
option: {
|
|
1219
|
+
value: pluck("$d", buildDateValues(dates, selectedRule)).map(function (date) {
|
|
1220
|
+
return date.toISOString();
|
|
1221
|
+
})
|
|
1434
1222
|
}
|
|
1435
|
-
var newFilters = removeBy({
|
|
1436
|
-
key: key
|
|
1437
|
-
}, filters);
|
|
1438
|
-
handleSubmit(newFilters);
|
|
1439
|
-
};
|
|
1440
|
-
var handleClearAll = function handleClearAll() {
|
|
1441
|
-
var params = isKeywordFilterPresent(keywordFilter) ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams()) : getSnakeCasedQueryParams();
|
|
1442
|
-
var pathname = window.location.pathname;
|
|
1443
|
-
history.push(buildUrl(pathname, params));
|
|
1444
|
-
handleSubmit([], true);
|
|
1445
|
-
};
|
|
1446
|
-
var childrenFiltersApplied = childrenKeys.some(function (key) {
|
|
1447
|
-
return has(key, searchParams);
|
|
1448
1223
|
});
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
}), childrenKeys.filter(function (childKey) {
|
|
1481
|
-
return has(childKey, searchParams);
|
|
1482
|
-
}).map(function (childKey) {
|
|
1483
|
-
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
1484
|
-
key: childKey
|
|
1485
|
-
}, /*#__PURE__*/React.createElement(ChildBlock, {
|
|
1486
|
-
childKey: childKey,
|
|
1487
|
-
handleDelete: handleDelete,
|
|
1488
|
-
setIsPaneOpen: setIsPaneOpen
|
|
1489
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
1490
|
-
className: "neeto-filters-bar--separator"
|
|
1491
|
-
}));
|
|
1492
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
1493
|
-
className: "flex items-center gap-x-2"
|
|
1494
|
-
}, isNotNil(entity) && /*#__PURE__*/React.createElement(Segment, {
|
|
1495
|
-
childrenKeys: childrenKeys,
|
|
1496
|
-
columns: columns,
|
|
1497
|
-
defaultSegmentName: defaultSegmentName,
|
|
1498
|
-
entity: entity,
|
|
1499
|
-
filters: filters,
|
|
1500
|
-
setIsFilterPaneOpen: setIsPaneOpen
|
|
1501
|
-
}), !hideClearButton && /*#__PURE__*/React.createElement(Button, {
|
|
1502
|
-
"data-cy": "neeto-filters-bar-clear-btn",
|
|
1503
|
-
label: t("neetoFilters.common.clearFilters"),
|
|
1504
|
-
style: "text",
|
|
1505
|
-
onClick: handleClearAll
|
|
1506
|
-
})));
|
|
1507
|
-
}();
|
|
1224
|
+
handleApplyFilter(updatedFilter);
|
|
1225
|
+
};
|
|
1226
|
+
useEffect(function () {
|
|
1227
|
+
isNil(filter) && setSelectedRule({});
|
|
1228
|
+
}, [filter]);
|
|
1229
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1230
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1231
|
+
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1232
|
+
autoFocus: autoFocus,
|
|
1233
|
+
label: label,
|
|
1234
|
+
isClearable: true,
|
|
1235
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1236
|
+
options: DATE_OPTIONS,
|
|
1237
|
+
strategy: "fixed",
|
|
1238
|
+
value: selectedRule,
|
|
1239
|
+
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1240
|
+
resource: label
|
|
1241
|
+
})
|
|
1242
|
+
}, isNotEmpty(helpIconProps) && {
|
|
1243
|
+
labelProps: {
|
|
1244
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1245
|
+
}
|
|
1246
|
+
}, {
|
|
1247
|
+
onChange: handleChange
|
|
1248
|
+
})), isDatePickerShown && /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
1249
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
|
|
1250
|
+
getPopupContainer: prop("parentNode"),
|
|
1251
|
+
type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
|
|
1252
|
+
value: getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
|
|
1253
|
+
onChange: handleDateRangeChange
|
|
1254
|
+
}, otherProps)));
|
|
1508
1255
|
};
|
|
1256
|
+
var Datetime$1 = /*#__PURE__*/React.memo(Datetime);
|
|
1509
1257
|
|
|
1510
|
-
function
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1258
|
+
var Dropdown = function Dropdown(_ref) {
|
|
1259
|
+
var column = _ref.column,
|
|
1260
|
+
filter = _ref.filter,
|
|
1261
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1262
|
+
autoFocus = _ref.autoFocus,
|
|
1263
|
+
filters = _ref.filters;
|
|
1264
|
+
var key = column.key,
|
|
1265
|
+
label = column.label,
|
|
1266
|
+
values = column.values,
|
|
1267
|
+
defaultValue = column.defaultValue,
|
|
1268
|
+
_column$defaultType = column.defaultType,
|
|
1269
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1270
|
+
_column$showRuleSelec = column.showRuleSelector,
|
|
1271
|
+
showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
|
|
1272
|
+
_column$isClearable = column.isClearable,
|
|
1273
|
+
isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
|
|
1274
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1275
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1276
|
+
var otherProps = getOtherProps(column);
|
|
1277
|
+
var options = buildDropdownOptions({
|
|
1278
|
+
defaultType: defaultType,
|
|
1279
|
+
filter: filter,
|
|
1280
|
+
options: values
|
|
1281
|
+
});
|
|
1282
|
+
var dropdownRules = isMulti(defaultType) ? MULTI_DROPDOWN_RULES : SINGLE_DROPDOWN_RULES;
|
|
1283
|
+
var value = buildDropdownValue({
|
|
1284
|
+
defaultType: defaultType,
|
|
1285
|
+
filter: filter,
|
|
1286
|
+
options: options
|
|
1287
|
+
});
|
|
1288
|
+
var _useState = useState(findBy({
|
|
1289
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1290
|
+
}, dropdownRules) || dropdownRules[0]),
|
|
1291
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1292
|
+
selectedRule = _useState2[0],
|
|
1293
|
+
setSelectedRule = _useState2[1];
|
|
1294
|
+
var _useTranslation = useTranslation(),
|
|
1295
|
+
t = _useTranslation.t;
|
|
1296
|
+
var getOption = function getOption(isSelectedRuleEmpty, options, value) {
|
|
1297
|
+
if (isSelectedRuleEmpty) {
|
|
1298
|
+
return isMulti(defaultType) ? [options[0]] : options[0];
|
|
1519
1299
|
}
|
|
1520
|
-
return
|
|
1300
|
+
return value;
|
|
1521
1301
|
};
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
key = sourceKeys[i];
|
|
1532
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1533
|
-
target[key] = source[key];
|
|
1534
|
-
}
|
|
1535
|
-
return target;
|
|
1536
|
-
}
|
|
1537
|
-
|
|
1538
|
-
function _objectWithoutProperties(source, excluded) {
|
|
1539
|
-
if (source == null) return {};
|
|
1540
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
1541
|
-
var key, i;
|
|
1542
|
-
if (Object.getOwnPropertySymbols) {
|
|
1543
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
1544
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
1545
|
-
key = sourceSymbolKeys[i];
|
|
1546
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1547
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
1548
|
-
target[key] = source[key];
|
|
1302
|
+
var handleRuleChange = function handleRuleChange(rule) {
|
|
1303
|
+
var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
|
|
1304
|
+
var isNewRuleEmpty = isRuleEmpty(rule.value);
|
|
1305
|
+
setSelectedRule(rule);
|
|
1306
|
+
if (isPreviousRuleEmpty || !isNewRuleEmpty && isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
|
|
1307
|
+
handleApplyFilter({
|
|
1308
|
+
_delete: true
|
|
1309
|
+
});
|
|
1310
|
+
return;
|
|
1549
1311
|
}
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
var onFiltersChange = _ref.onFiltersChange,
|
|
1556
|
-
columns = _ref.columns,
|
|
1557
|
-
keywordFilter = _ref.keywordFilter,
|
|
1558
|
-
onSelectorsChange = _ref.onSelectorsChange;
|
|
1559
|
-
var _useTransition = useTransition(),
|
|
1560
|
-
_useTransition2 = _slicedToArray(_useTransition, 2);
|
|
1561
|
-
_useTransition2[0];
|
|
1562
|
-
var startTransition = _useTransition2[1];
|
|
1563
|
-
var initialRender = useRef(true);
|
|
1564
|
-
var prevFilters = useRef([]);
|
|
1565
|
-
var location = useLocation();
|
|
1566
|
-
var filters = buildFiltersFromSearchParams(columns, false);
|
|
1567
|
-
var history = useHistory();
|
|
1568
|
-
var defaultValuesOfColumns = JSON.stringify(pluck("defaultValue", columns));
|
|
1569
|
-
var handlePrecenseOfDefaultFilters = function handlePrecenseOfDefaultFilters(defaultFilters) {
|
|
1570
|
-
var params = buildUrlFromFilters({
|
|
1571
|
-
columns: columns,
|
|
1572
|
-
filters: isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(defaultFilters), [keywordFilter]) : defaultFilters
|
|
1573
|
-
});
|
|
1574
|
-
history.replace({
|
|
1575
|
-
search: params
|
|
1576
|
-
});
|
|
1577
|
-
};
|
|
1578
|
-
var handleFiltersChange = function handleFiltersChange(filtersPayload) {
|
|
1579
|
-
startTransition(function () {
|
|
1580
|
-
onFiltersChange(buildFiltersPayload(filtersPayload.filter(function (filter) {
|
|
1581
|
-
return !isNil(filter.node);
|
|
1582
|
-
})));
|
|
1312
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1313
|
+
column: column,
|
|
1314
|
+
defaultType: defaultType,
|
|
1315
|
+
rule: rule.value,
|
|
1316
|
+
option: getOption(isNewRuleEmpty, options, value)
|
|
1583
1317
|
});
|
|
1318
|
+
handleApplyFilter(updatedFilter);
|
|
1584
1319
|
};
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1320
|
+
var handleChange = function handleChange(option) {
|
|
1321
|
+
if (isEmpty(option) || isNil(option)) {
|
|
1322
|
+
handleApplyFilter({
|
|
1323
|
+
_delete: true
|
|
1324
|
+
});
|
|
1589
1325
|
return;
|
|
1590
1326
|
}
|
|
1591
|
-
var
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
var searchParams = getSnakeCasedQueryParams();
|
|
1599
|
-
var keys = pluck("key", append(keywordFilter, columns));
|
|
1600
|
-
if (keys.every(function (key) {
|
|
1601
|
-
return isNil(searchParams[key]);
|
|
1602
|
-
}) && !isEmpty(defaultFilters)) {
|
|
1603
|
-
history.replace({
|
|
1604
|
-
search: buildUrlFromFilters({
|
|
1605
|
-
columns: columns,
|
|
1606
|
-
filters: concat(defaultFilters, filters)
|
|
1607
|
-
})
|
|
1608
|
-
});
|
|
1609
|
-
filters = buildFiltersFromSearchParams(columns, false);
|
|
1610
|
-
}
|
|
1327
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1328
|
+
column: column,
|
|
1329
|
+
defaultType: defaultType,
|
|
1330
|
+
option: option,
|
|
1331
|
+
rule: selectedRule.value
|
|
1332
|
+
});
|
|
1333
|
+
handleApplyFilter(updatedFilter);
|
|
1611
1334
|
};
|
|
1612
1335
|
useEffect(function () {
|
|
1613
|
-
if (
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1336
|
+
if (!isEmpty(filters)) return;
|
|
1337
|
+
setSelectedRule(dropdownRules[0]);
|
|
1338
|
+
}, [filters]);
|
|
1339
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1340
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1341
|
+
}, showRuleSelector && /*#__PURE__*/React.createElement(Select, {
|
|
1342
|
+
label: label,
|
|
1343
|
+
defaultValue: dropdownRules[0],
|
|
1344
|
+
options: dropdownRules,
|
|
1345
|
+
value: selectedRule,
|
|
1346
|
+
onChange: handleRuleChange
|
|
1347
|
+
}), !isRuleEmpty(selectedRule.value) && /*#__PURE__*/React.createElement(Select, _extends({
|
|
1348
|
+
autoFocus: autoFocus,
|
|
1349
|
+
options: options,
|
|
1350
|
+
value: value,
|
|
1351
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1352
|
+
isClearable: !defaultValue && isClearable,
|
|
1353
|
+
isMulti: isMulti(defaultType),
|
|
1354
|
+
label: !showRuleSelector && label,
|
|
1355
|
+
strategy: "fixed",
|
|
1356
|
+
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1357
|
+
resource: label
|
|
1358
|
+
})
|
|
1359
|
+
}, isNotEmpty(helpIconProps) && {
|
|
1360
|
+
labelProps: {
|
|
1361
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1625
1362
|
}
|
|
1626
|
-
},
|
|
1627
|
-
|
|
1628
|
-
};
|
|
1629
|
-
|
|
1630
|
-
var buildDropdownValue = function buildDropdownValue(_ref) {
|
|
1631
|
-
var defaultType = _ref.defaultType,
|
|
1632
|
-
filter = _ref.filter,
|
|
1633
|
-
options = _ref.options;
|
|
1634
|
-
if (!filter) return null;
|
|
1635
|
-
if (isMulti(defaultType)) {
|
|
1636
|
-
return options.filter(function (_ref2) {
|
|
1637
|
-
var value = _ref2.value;
|
|
1638
|
-
return filter.value.includes(value);
|
|
1639
|
-
});
|
|
1640
|
-
}
|
|
1641
|
-
return findBy({
|
|
1642
|
-
value: filter.value
|
|
1643
|
-
}, options);
|
|
1644
|
-
};
|
|
1645
|
-
var buildSingleTimeValue = function buildSingleTimeValue(filter) {
|
|
1646
|
-
var _findBy2;
|
|
1647
|
-
if (!filter) return null;
|
|
1648
|
-
return (_findBy2 = findBy({
|
|
1649
|
-
value: filter.value
|
|
1650
|
-
}, TIME_OPTIONS)) !== null && _findBy2 !== void 0 ? _findBy2 : last(TIME_OPTIONS);
|
|
1651
|
-
};
|
|
1652
|
-
var getOtherProps = function getOtherProps(props) {
|
|
1653
|
-
return omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
|
|
1654
|
-
};
|
|
1655
|
-
var buildDropdownOptions = function buildDropdownOptions(_ref3) {
|
|
1656
|
-
var defaultType = _ref3.defaultType,
|
|
1657
|
-
filter = _ref3.filter,
|
|
1658
|
-
options = _ref3.options;
|
|
1659
|
-
options = options.map(modify("value", function (value) {
|
|
1660
|
-
return value === null || value === void 0 ? void 0 : value.toString();
|
|
1661
|
-
}));
|
|
1662
|
-
if (!filter) return options;
|
|
1663
|
-
if (isMulti(defaultType)) {
|
|
1664
|
-
var selectedOptions = filter.value.map(function (value) {
|
|
1665
|
-
return findBy({
|
|
1666
|
-
value: value
|
|
1667
|
-
}, options) || toLabelAndValue(value);
|
|
1668
|
-
});
|
|
1669
|
-
var nonSelectedOptions = options.filter(function (option) {
|
|
1670
|
-
return !filter.value.includes(option.value);
|
|
1671
|
-
});
|
|
1672
|
-
return concat(selectedOptions, nonSelectedOptions);
|
|
1673
|
-
}
|
|
1674
|
-
if (!findBy({
|
|
1675
|
-
value: filter.value
|
|
1676
|
-
}, options)) {
|
|
1677
|
-
return append(toLabelAndValue(filter.value), options);
|
|
1678
|
-
}
|
|
1679
|
-
return options;
|
|
1680
|
-
};
|
|
1681
|
-
var initializeDateRule = function initializeDateRule(filter) {
|
|
1682
|
-
return filter ? findBy({
|
|
1683
|
-
value: filter === null || filter === void 0 ? void 0 : filter.value
|
|
1684
|
-
}, DATE_OPTIONS) || findDateOption(filter, DATE_OPTIONS) : {};
|
|
1685
|
-
};
|
|
1686
|
-
var getDateValue = function getDateValue(value, rule) {
|
|
1687
|
-
if (isEmpty(value) || isNil(value)) {
|
|
1688
|
-
return null;
|
|
1689
|
-
}
|
|
1690
|
-
if (rule.value === "custom-date-range") {
|
|
1691
|
-
return value;
|
|
1692
|
-
}
|
|
1693
|
-
return rule.value === "before" ? dayjs(value[1]).add(1, "day") : dayjs(value[0]).subtract(1, "day");
|
|
1694
|
-
};
|
|
1695
|
-
var findDateOption = function findDateOption(filter, options) {
|
|
1696
|
-
var value = filter.value;
|
|
1697
|
-
var isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), "year") >= 90;
|
|
1698
|
-
if (not(isBeforeOrAfter)) {
|
|
1699
|
-
return last(options);
|
|
1700
|
-
}
|
|
1701
|
-
var currentMoment = dayjs();
|
|
1702
|
-
var diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), "year"));
|
|
1703
|
-
var diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), "year"));
|
|
1704
|
-
return diffWithStart < diffWithEnd ? findBy({
|
|
1705
|
-
value: "after"
|
|
1706
|
-
}, options) : findBy({
|
|
1707
|
-
value: "before"
|
|
1708
|
-
}, options);
|
|
1709
|
-
};
|
|
1710
|
-
var buildDateValues = function buildDateValues(dates, selectedRule) {
|
|
1711
|
-
if (selectedRule.value === "after") {
|
|
1712
|
-
return [dates.add(1, "day"), dates.add(100, "year")];
|
|
1713
|
-
} else if (selectedRule.value === "before") {
|
|
1714
|
-
return [dates.subtract(100, "year"), dates.subtract(1, "day")];
|
|
1715
|
-
}
|
|
1716
|
-
return dates;
|
|
1717
|
-
};
|
|
1718
|
-
var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
|
|
1719
|
-
return mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);
|
|
1363
|
+
}, {
|
|
1364
|
+
onChange: handleChange
|
|
1365
|
+
}, otherProps)));
|
|
1720
1366
|
};
|
|
1367
|
+
var Dropdown$1 = /*#__PURE__*/React.memo(Dropdown);
|
|
1721
1368
|
|
|
1722
|
-
var
|
|
1369
|
+
var SingleDatetime = function SingleDatetime(_ref) {
|
|
1723
1370
|
var column = _ref.column,
|
|
1724
1371
|
filter = _ref.filter,
|
|
1372
|
+
filters = _ref.filters,
|
|
1725
1373
|
handleApplyFilter = _ref.handleApplyFilter,
|
|
1726
1374
|
autoFocus = _ref.autoFocus;
|
|
1375
|
+
var _useState = useState(function () {
|
|
1376
|
+
return findBy({
|
|
1377
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1378
|
+
}, SINGLE_DATE_OPTIONS) || SINGLE_DATE_OPTIONS[0];
|
|
1379
|
+
}),
|
|
1380
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1381
|
+
selectedRule = _useState2[0],
|
|
1382
|
+
setSelectedRule = _useState2[1];
|
|
1727
1383
|
var key = column.key,
|
|
1728
1384
|
_column$defaultType = column.defaultType,
|
|
1729
1385
|
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1730
1386
|
label = column.label,
|
|
1731
|
-
values = column.values,
|
|
1732
1387
|
_column$helpIconProps = column.helpIconProps,
|
|
1733
1388
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1734
|
-
var options = isNil(values) || isEmpty(values) ? DEFAULT_BOOLEAN_OPTIONS : values;
|
|
1735
1389
|
var otherProps = getOtherProps(column);
|
|
1736
|
-
var
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1390
|
+
var datePickerType = selectedRule.value === "between" ? "range" : "date";
|
|
1391
|
+
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
1392
|
+
|
|
1393
|
+
// Reset states when "Clear filters" button is clicked.
|
|
1394
|
+
useEffect(function () {
|
|
1395
|
+
if (!isEmpty(filters)) return;
|
|
1396
|
+
setSelectedRule(SINGLE_DATE_OPTIONS[0]);
|
|
1397
|
+
}, [filters]);
|
|
1398
|
+
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1399
|
+
setSelectedRule(ruleOption);
|
|
1400
|
+
|
|
1401
|
+
// Clear value if switched between incompatable types
|
|
1402
|
+
var updateValue = value;
|
|
1403
|
+
if (datePickerType === "range" && ruleOption.value !== "between" || datePickerType === "date" && ruleOption.value === "between") {
|
|
1404
|
+
updateValue = "";
|
|
1405
|
+
}
|
|
1406
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1407
|
+
column: column,
|
|
1408
|
+
defaultType: defaultType,
|
|
1409
|
+
option: {},
|
|
1410
|
+
rule: ruleOption.value,
|
|
1411
|
+
value: updateValue
|
|
1412
|
+
});
|
|
1413
|
+
handleApplyFilter(updatedFilter);
|
|
1414
|
+
};
|
|
1415
|
+
var handleChange = function handleChange(dates) {
|
|
1416
|
+
if (isEmpty(dates) || isNil(dates)) {
|
|
1745
1417
|
handleApplyFilter({
|
|
1746
1418
|
_delete: true
|
|
1747
1419
|
});
|
|
1748
1420
|
return;
|
|
1749
1421
|
}
|
|
1422
|
+
var value = datePickerType === "range" ? pluck("$d", dates).map(function (date) {
|
|
1423
|
+
return date.toISOString();
|
|
1424
|
+
}) : dates["$d"];
|
|
1750
1425
|
var updatedFilter = buildUpdatedFilter({
|
|
1751
1426
|
column: column,
|
|
1752
1427
|
defaultType: defaultType,
|
|
1753
|
-
option:
|
|
1428
|
+
option: {},
|
|
1429
|
+
rule: selectedRule.value,
|
|
1430
|
+
value: value
|
|
1754
1431
|
});
|
|
1755
1432
|
handleApplyFilter(updatedFilter);
|
|
1756
1433
|
};
|
|
1757
1434
|
return /*#__PURE__*/React.createElement("div", {
|
|
1758
1435
|
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1759
1436
|
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1760
|
-
autoFocus: autoFocus,
|
|
1761
1437
|
label: label,
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1438
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
|
|
1439
|
+
defaultValue: SINGLE_DATE_OPTIONS[0],
|
|
1440
|
+
options: SINGLE_DATE_OPTIONS,
|
|
1441
|
+
strategy: "fixed",
|
|
1442
|
+
value: selectedRule
|
|
1765
1443
|
}, isNotEmpty(helpIconProps) && {
|
|
1766
1444
|
labelProps: {
|
|
1767
1445
|
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1768
1446
|
}
|
|
1769
1447
|
}, {
|
|
1448
|
+
onChange: handleRuleChange
|
|
1449
|
+
})), /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
1450
|
+
autoFocus: autoFocus,
|
|
1451
|
+
value: value,
|
|
1770
1452
|
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
resource: label
|
|
1774
|
-
}),
|
|
1453
|
+
getPopupContainer: prop("parentNode"),
|
|
1454
|
+
type: datePickerType,
|
|
1775
1455
|
onChange: handleChange
|
|
1776
1456
|
}, otherProps)));
|
|
1777
1457
|
};
|
|
1778
|
-
var Boolean$1 = /*#__PURE__*/React.memo(Boolean);
|
|
1779
1458
|
|
|
1780
|
-
var
|
|
1459
|
+
var SingleTime = function SingleTime(_ref) {
|
|
1781
1460
|
var column = _ref.column,
|
|
1782
1461
|
filter = _ref.filter,
|
|
1462
|
+
filters = _ref.filters,
|
|
1783
1463
|
handleApplyFilter = _ref.handleApplyFilter,
|
|
1784
1464
|
autoFocus = _ref.autoFocus;
|
|
1785
|
-
var _useState = useState(
|
|
1465
|
+
var _useState = useState(function () {
|
|
1466
|
+
return findBy({
|
|
1467
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1468
|
+
}, SINGLE_TIME_OPTIONS) || SINGLE_TIME_OPTIONS[0];
|
|
1469
|
+
}),
|
|
1786
1470
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1787
1471
|
selectedRule = _useState2[0],
|
|
1788
1472
|
setSelectedRule = _useState2[1];
|
|
1789
|
-
var _useTranslation = useTranslation(),
|
|
1790
|
-
t = _useTranslation.t;
|
|
1791
1473
|
var key = column.key,
|
|
1792
1474
|
_column$defaultType = column.defaultType,
|
|
1793
1475
|
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1794
1476
|
label = column.label,
|
|
1795
1477
|
_column$helpIconProps = column.helpIconProps,
|
|
1796
1478
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1797
|
-
var isDatePickerShown = filter && isCustomDateRange(filter.value);
|
|
1798
1479
|
var otherProps = getOtherProps(column);
|
|
1799
|
-
var
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1480
|
+
var timePickerType = selectedRule.value === "between" ? "range" : "time";
|
|
1481
|
+
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
1482
|
+
useEffect(function () {
|
|
1483
|
+
if (!isEmpty(filters)) return;
|
|
1484
|
+
setSelectedRule(SINGLE_TIME_OPTIONS[0]);
|
|
1485
|
+
}, [filters]);
|
|
1486
|
+
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1487
|
+
setSelectedRule(ruleOption);
|
|
1488
|
+
|
|
1489
|
+
// Clear value if switched between incompatible types
|
|
1490
|
+
var updateValue = value;
|
|
1491
|
+
if (timePickerType === "range" && ruleOption.value !== "between" || timePickerType === "time" && ruleOption.value === "between") {
|
|
1492
|
+
updateValue = "";
|
|
1806
1493
|
}
|
|
1807
|
-
setSelectedRule(option);
|
|
1808
1494
|
var updatedFilter = buildUpdatedFilter({
|
|
1809
1495
|
column: column,
|
|
1810
1496
|
defaultType: defaultType,
|
|
1811
|
-
option:
|
|
1497
|
+
option: {},
|
|
1498
|
+
rule: ruleOption.value,
|
|
1499
|
+
value: updateValue
|
|
1812
1500
|
});
|
|
1813
1501
|
handleApplyFilter(updatedFilter);
|
|
1814
1502
|
};
|
|
1815
|
-
var
|
|
1816
|
-
if (
|
|
1503
|
+
var handleChange = function handleChange(times) {
|
|
1504
|
+
if (hasInvalidTimes(times)) {
|
|
1817
1505
|
handleApplyFilter({
|
|
1818
1506
|
_delete: true
|
|
1819
1507
|
});
|
|
1820
|
-
setSelectedRule({});
|
|
1821
1508
|
return;
|
|
1822
1509
|
}
|
|
1510
|
+
if (timePickerType === "range" && areCustomTimeRangeValuesNotValid(times)) {
|
|
1511
|
+
return;
|
|
1512
|
+
}
|
|
1513
|
+
var value = timePickerType === "range" ? pluck("$d", times).map(function (time) {
|
|
1514
|
+
return time.toISOString();
|
|
1515
|
+
}) : times["$d"].toISOString();
|
|
1823
1516
|
var updatedFilter = buildUpdatedFilter({
|
|
1824
1517
|
column: column,
|
|
1825
1518
|
defaultType: defaultType,
|
|
1826
|
-
option: {
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
})
|
|
1830
|
-
}
|
|
1519
|
+
option: {},
|
|
1520
|
+
rule: selectedRule.value,
|
|
1521
|
+
value: value
|
|
1831
1522
|
});
|
|
1832
1523
|
handleApplyFilter(updatedFilter);
|
|
1833
1524
|
};
|
|
1834
|
-
|
|
1835
|
-
isNil(filter) && setSelectedRule({});
|
|
1836
|
-
}, [filter]);
|
|
1525
|
+
var formattedTime = formatTime(value, timePickerType);
|
|
1837
1526
|
return /*#__PURE__*/React.createElement("div", {
|
|
1838
1527
|
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1839
1528
|
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1840
|
-
autoFocus: autoFocus,
|
|
1841
1529
|
label: label,
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
options: DATE_OPTIONS,
|
|
1530
|
+
defaultValue: SINGLE_TIME_OPTIONS[0],
|
|
1531
|
+
options: SINGLE_TIME_OPTIONS,
|
|
1845
1532
|
strategy: "fixed",
|
|
1846
|
-
value: selectedRule
|
|
1847
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1848
|
-
resource: label
|
|
1849
|
-
})
|
|
1533
|
+
value: selectedRule
|
|
1850
1534
|
}, isNotEmpty(helpIconProps) && {
|
|
1851
1535
|
labelProps: {
|
|
1852
1536
|
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1853
1537
|
}
|
|
1854
1538
|
}, {
|
|
1539
|
+
onChange: handleRuleChange
|
|
1540
|
+
})), /*#__PURE__*/React.createElement(TimePickerInput, _extends({
|
|
1541
|
+
autoFocus: autoFocus,
|
|
1542
|
+
className: "w-full",
|
|
1543
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1544
|
+
type: timePickerType,
|
|
1545
|
+
value: formattedTime,
|
|
1855
1546
|
onChange: handleChange
|
|
1856
|
-
})), isDatePickerShown && /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
1857
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
|
|
1858
|
-
getPopupContainer: prop("parentNode"),
|
|
1859
|
-
type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
|
|
1860
|
-
value: getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
|
|
1861
|
-
onChange: handleDateRangeChange
|
|
1862
1547
|
}, otherProps)));
|
|
1863
1548
|
};
|
|
1864
|
-
var Datetime$1 = /*#__PURE__*/React.memo(Datetime);
|
|
1865
1549
|
|
|
1866
|
-
var
|
|
1550
|
+
var Text = function Text(_ref) {
|
|
1867
1551
|
var column = _ref.column,
|
|
1868
1552
|
filter = _ref.filter,
|
|
1553
|
+
filters = _ref.filters,
|
|
1869
1554
|
handleApplyFilter = _ref.handleApplyFilter,
|
|
1870
|
-
autoFocus = _ref.autoFocus
|
|
1555
|
+
autoFocus = _ref.autoFocus,
|
|
1556
|
+
onClose = _ref.onClose;
|
|
1871
1557
|
var key = column.key,
|
|
1872
|
-
label = column.label,
|
|
1873
|
-
values = column.values,
|
|
1874
|
-
defaultValue = column.defaultValue,
|
|
1875
1558
|
_column$defaultType = column.defaultType,
|
|
1876
1559
|
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1877
|
-
|
|
1878
|
-
|
|
1560
|
+
label = column.label,
|
|
1561
|
+
_column$showRuleSelec = column.showRuleSelector,
|
|
1562
|
+
showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
|
|
1879
1563
|
_column$helpIconProps = column.helpIconProps,
|
|
1880
1564
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1881
1565
|
var otherProps = getOtherProps(column);
|
|
1882
|
-
var
|
|
1883
|
-
defaultType: defaultType
|
|
1884
|
-
filter: filter,
|
|
1885
|
-
options: values
|
|
1886
|
-
});
|
|
1887
|
-
var value = buildDropdownValue({
|
|
1888
|
-
defaultType: defaultType,
|
|
1889
|
-
filter: filter,
|
|
1890
|
-
options: options
|
|
1566
|
+
var ruleOptions = buildRuleOptions({
|
|
1567
|
+
defaultType: defaultType
|
|
1891
1568
|
});
|
|
1569
|
+
var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
|
|
1570
|
+
var _useState = useState(filter === null || filter === void 0 ? void 0 : filter.value),
|
|
1571
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1572
|
+
inputValue = _useState2[0],
|
|
1573
|
+
setInputValue = _useState2[1];
|
|
1574
|
+
var _useState3 = useState(function () {
|
|
1575
|
+
return findBy({
|
|
1576
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1577
|
+
}, ruleOptions) || ruleOptions[0];
|
|
1578
|
+
}),
|
|
1579
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1580
|
+
selectedRule = _useState4[0],
|
|
1581
|
+
setSelectedRule = _useState4[1];
|
|
1582
|
+
var debouncedInputValue = useDebounce(inputValue);
|
|
1892
1583
|
var _useTranslation = useTranslation(),
|
|
1893
1584
|
t = _useTranslation.t;
|
|
1894
|
-
var
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
});
|
|
1899
|
-
return;
|
|
1900
|
-
}
|
|
1585
|
+
var handleUpdateAndApplyFilter = function handleUpdateAndApplyFilter() {
|
|
1586
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
|
|
1587
|
+
var rule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
|
|
1588
|
+
if (equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && equals(selectedRule, rule)) return;
|
|
1901
1589
|
var updatedFilter = buildUpdatedFilter({
|
|
1902
1590
|
column: column,
|
|
1903
1591
|
defaultType: defaultType,
|
|
1904
|
-
option:
|
|
1592
|
+
option: {},
|
|
1593
|
+
rule: rule.value,
|
|
1594
|
+
value: value.trim()
|
|
1905
1595
|
});
|
|
1906
1596
|
handleApplyFilter(updatedFilter);
|
|
1907
1597
|
};
|
|
1598
|
+
var handleKeydown = function handleKeydown(e) {
|
|
1599
|
+
if (!(e.key === "Enter")) return;
|
|
1600
|
+
handleUpdateAndApplyFilter(inputValue);
|
|
1601
|
+
onClose();
|
|
1602
|
+
};
|
|
1603
|
+
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1604
|
+
setSelectedRule(ruleOption);
|
|
1605
|
+
if (!debouncedInputValue) return;
|
|
1606
|
+
handleUpdateAndApplyFilter(debouncedInputValue, ruleOption);
|
|
1607
|
+
};
|
|
1608
|
+
|
|
1609
|
+
// Reset states when "Clear filters" button is clicked.
|
|
1610
|
+
useEffect(function () {
|
|
1611
|
+
(isEmpty(filters) || isNil(filter)) && setInputValue("");
|
|
1612
|
+
}, [filter]);
|
|
1613
|
+
useEffect(function () {
|
|
1614
|
+
if (!debouncedInputValue) {
|
|
1615
|
+
!isUndefinedOrEmpty(filter) && handleApplyFilter({
|
|
1616
|
+
_delete: true
|
|
1617
|
+
});
|
|
1618
|
+
return;
|
|
1619
|
+
}
|
|
1620
|
+
handleUpdateAndApplyFilter();
|
|
1621
|
+
}, [debouncedInputValue]);
|
|
1908
1622
|
return /*#__PURE__*/React.createElement("div", {
|
|
1909
1623
|
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1910
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1911
|
-
autoFocus: autoFocus,
|
|
1624
|
+
}, showRuleSelector && /*#__PURE__*/React.createElement(Select, _extends({
|
|
1912
1625
|
label: label,
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
isClearable: !defaultValue && isClearable,
|
|
1917
|
-
isMulti: isMulti(defaultType),
|
|
1626
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
|
|
1627
|
+
defaultValue: ruleOptions[0],
|
|
1628
|
+
options: ruleOptions,
|
|
1918
1629
|
strategy: "fixed",
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1630
|
+
value: selectedRule,
|
|
1631
|
+
onChange: handleRuleChange
|
|
1632
|
+
}, isNotEmpty(helpIconProps) && {
|
|
1633
|
+
labelProps: {
|
|
1634
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1635
|
+
}
|
|
1636
|
+
})), /*#__PURE__*/React.createElement(Input, _extends({
|
|
1637
|
+
autoFocus: autoFocus,
|
|
1638
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1639
|
+
label: !showRuleSelector && label,
|
|
1640
|
+
type: inputType,
|
|
1641
|
+
value: inputValue
|
|
1922
1642
|
}, isNotEmpty(helpIconProps) && {
|
|
1923
1643
|
labelProps: {
|
|
1924
1644
|
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1925
1645
|
}
|
|
1926
1646
|
}, {
|
|
1927
|
-
|
|
1647
|
+
placeholder: t("neetoFilters.messages.enterResource", {
|
|
1648
|
+
resource: label
|
|
1649
|
+
}),
|
|
1650
|
+
onChange: function onChange(event) {
|
|
1651
|
+
return setInputValue(event.target.value);
|
|
1652
|
+
},
|
|
1653
|
+
onKeyDown: handleKeydown
|
|
1928
1654
|
}, otherProps)));
|
|
1929
1655
|
};
|
|
1930
|
-
var Dropdown$1 = /*#__PURE__*/React.memo(Dropdown);
|
|
1931
1656
|
|
|
1932
|
-
var
|
|
1657
|
+
var Time = function Time(_ref) {
|
|
1933
1658
|
var column = _ref.column,
|
|
1934
1659
|
filter = _ref.filter,
|
|
1935
|
-
filters = _ref.filters,
|
|
1936
1660
|
handleApplyFilter = _ref.handleApplyFilter,
|
|
1937
1661
|
autoFocus = _ref.autoFocus;
|
|
1938
|
-
var _useState = useState(function () {
|
|
1939
|
-
return findBy({
|
|
1940
|
-
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1941
|
-
}, SINGLE_DATE_OPTIONS) || SINGLE_DATE_OPTIONS[0];
|
|
1942
|
-
}),
|
|
1943
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1944
|
-
selectedRule = _useState2[0],
|
|
1945
|
-
setSelectedRule = _useState2[1];
|
|
1946
1662
|
var key = column.key,
|
|
1947
1663
|
_column$defaultType = column.defaultType,
|
|
1948
1664
|
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
@@ -1950,418 +1666,1154 @@ var SingleDatetime = function SingleDatetime(_ref) {
|
|
|
1950
1666
|
_column$helpIconProps = column.helpIconProps,
|
|
1951
1667
|
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1952
1668
|
var otherProps = getOtherProps(column);
|
|
1953
|
-
var
|
|
1954
|
-
var
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
if (
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
// Clear value if switched between incompatable types
|
|
1965
|
-
var updateValue = value;
|
|
1966
|
-
if (datePickerType === "range" && ruleOption.value !== "between" || datePickerType === "date" && ruleOption.value === "between") {
|
|
1967
|
-
updateValue = "";
|
|
1669
|
+
var value = buildSingleTimeValue(filter);
|
|
1670
|
+
var isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);
|
|
1671
|
+
var _useTranslation = useTranslation(),
|
|
1672
|
+
t = _useTranslation.t;
|
|
1673
|
+
var handleChange = function handleChange(option) {
|
|
1674
|
+
if (isEmpty(option) || isNil(option)) {
|
|
1675
|
+
handleApplyFilter({
|
|
1676
|
+
_delete: true
|
|
1677
|
+
});
|
|
1678
|
+
return;
|
|
1968
1679
|
}
|
|
1969
1680
|
var updatedFilter = buildUpdatedFilter({
|
|
1970
1681
|
column: column,
|
|
1971
1682
|
defaultType: defaultType,
|
|
1972
|
-
option:
|
|
1973
|
-
rule: ruleOption.value,
|
|
1974
|
-
value: updateValue
|
|
1683
|
+
option: option
|
|
1975
1684
|
});
|
|
1976
1685
|
handleApplyFilter(updatedFilter);
|
|
1977
1686
|
};
|
|
1978
|
-
var
|
|
1979
|
-
if (
|
|
1687
|
+
var handleTimeRangeChange = function handleTimeRangeChange(times) {
|
|
1688
|
+
if (hasInvalidTimes(times)) {
|
|
1980
1689
|
handleApplyFilter({
|
|
1981
1690
|
_delete: true
|
|
1982
1691
|
});
|
|
1983
1692
|
return;
|
|
1984
1693
|
}
|
|
1985
|
-
|
|
1986
|
-
return
|
|
1987
|
-
}
|
|
1694
|
+
if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {
|
|
1695
|
+
return;
|
|
1696
|
+
}
|
|
1988
1697
|
var updatedFilter = buildUpdatedFilter({
|
|
1989
1698
|
column: column,
|
|
1990
1699
|
defaultType: defaultType,
|
|
1991
|
-
option: {
|
|
1992
|
-
|
|
1993
|
-
|
|
1700
|
+
option: {
|
|
1701
|
+
value: pluck("$d", times).map(function (time) {
|
|
1702
|
+
return time.toISOString();
|
|
1703
|
+
})
|
|
1704
|
+
}
|
|
1994
1705
|
});
|
|
1995
1706
|
handleApplyFilter(updatedFilter);
|
|
1996
1707
|
};
|
|
1997
1708
|
return /*#__PURE__*/React.createElement("div", {
|
|
1998
1709
|
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1999
1710
|
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1711
|
+
autoFocus: autoFocus,
|
|
2000
1712
|
label: label,
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
1713
|
+
value: value,
|
|
1714
|
+
isClearable: true,
|
|
1715
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1716
|
+
options: TIME_OPTIONS,
|
|
2004
1717
|
strategy: "fixed",
|
|
2005
|
-
|
|
1718
|
+
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1719
|
+
resource: label
|
|
1720
|
+
})
|
|
2006
1721
|
}, isNotEmpty(helpIconProps) && {
|
|
2007
1722
|
labelProps: {
|
|
2008
1723
|
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2009
1724
|
}
|
|
2010
1725
|
}, {
|
|
2011
|
-
onChange: handleRuleChange
|
|
2012
|
-
})), /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
2013
|
-
autoFocus: autoFocus,
|
|
2014
|
-
value: value,
|
|
2015
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
2016
|
-
getPopupContainer: prop("parentNode"),
|
|
2017
|
-
type: datePickerType,
|
|
2018
1726
|
onChange: handleChange
|
|
1727
|
+
})), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePickerInput, _extends({
|
|
1728
|
+
className: "w-full",
|
|
1729
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
|
|
1730
|
+
type: "range",
|
|
1731
|
+
value: formatTime(filter.value, "range"),
|
|
1732
|
+
onChange: handleTimeRangeChange
|
|
2019
1733
|
}, otherProps)));
|
|
2020
1734
|
};
|
|
1735
|
+
var Time$1 = /*#__PURE__*/React.memo(Time);
|
|
2021
1736
|
|
|
2022
|
-
var
|
|
1737
|
+
var Item = function Item(_ref) {
|
|
2023
1738
|
var column = _ref.column,
|
|
2024
|
-
filter = _ref.filter,
|
|
2025
1739
|
filters = _ref.filters,
|
|
2026
|
-
|
|
2027
|
-
autoFocus = _ref.autoFocus
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
2031
|
-
}, SINGLE_TIME_OPTIONS) || SINGLE_TIME_OPTIONS[0];
|
|
2032
|
-
}),
|
|
2033
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2034
|
-
selectedRule = _useState2[0],
|
|
2035
|
-
setSelectedRule = _useState2[1];
|
|
1740
|
+
onChange = _ref.onChange,
|
|
1741
|
+
autoFocus = _ref.autoFocus,
|
|
1742
|
+
_ref$onClose = _ref.onClose,
|
|
1743
|
+
onClose = _ref$onClose === void 0 ? noop : _ref$onClose;
|
|
2036
1744
|
var key = column.key,
|
|
2037
1745
|
_column$defaultType = column.defaultType,
|
|
2038
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
var
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
if (timePickerType === "range" && ruleOption.value !== "between" || timePickerType === "time" && ruleOption.value === "between") {
|
|
2055
|
-
updateValue = "";
|
|
2056
|
-
}
|
|
2057
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1746
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType;
|
|
1747
|
+
var filter = useMemo(function () {
|
|
1748
|
+
return findBy({
|
|
1749
|
+
key: key
|
|
1750
|
+
}, filters);
|
|
1751
|
+
}, [filters, key]);
|
|
1752
|
+
var handleApplyFilter = function handleApplyFilter(updatedFilter) {
|
|
1753
|
+
if (updatedFilter._delete) onChange(removeBy({
|
|
1754
|
+
key: key
|
|
1755
|
+
}, filters));else if (!filter) onChange(append(updatedFilter, filters));else onChange(replaceBy({
|
|
1756
|
+
key: key
|
|
1757
|
+
}, updatedFilter, filters));
|
|
1758
|
+
};
|
|
1759
|
+
if (isText(defaultType) || isDigit(defaultType)) {
|
|
1760
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
1761
|
+
autoFocus: autoFocus,
|
|
2058
1762
|
column: column,
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
1763
|
+
filter: filter,
|
|
1764
|
+
filters: filters,
|
|
1765
|
+
handleApplyFilter: handleApplyFilter,
|
|
1766
|
+
onClose: onClose
|
|
2063
1767
|
});
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
return time.toISOString();
|
|
2069
|
-
}) : times["$d"].toISOString();
|
|
2070
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1768
|
+
}
|
|
1769
|
+
if (isDate(defaultType)) {
|
|
1770
|
+
return /*#__PURE__*/React.createElement(Datetime$1, {
|
|
1771
|
+
autoFocus: autoFocus,
|
|
2071
1772
|
column: column,
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
rule: selectedRule.value,
|
|
2075
|
-
value: value
|
|
1773
|
+
filter: filter,
|
|
1774
|
+
handleApplyFilter: handleApplyFilter
|
|
2076
1775
|
});
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
1776
|
+
}
|
|
1777
|
+
if (isTime(defaultType)) {
|
|
1778
|
+
return /*#__PURE__*/React.createElement(Time$1, {
|
|
1779
|
+
autoFocus: autoFocus,
|
|
1780
|
+
column: column,
|
|
1781
|
+
filter: filter,
|
|
1782
|
+
handleApplyFilter: handleApplyFilter
|
|
1783
|
+
});
|
|
1784
|
+
}
|
|
1785
|
+
if (isSingleDate(defaultType)) {
|
|
1786
|
+
return /*#__PURE__*/React.createElement(SingleDatetime, {
|
|
1787
|
+
autoFocus: autoFocus,
|
|
1788
|
+
column: column,
|
|
1789
|
+
filter: filter,
|
|
1790
|
+
filters: filters,
|
|
1791
|
+
handleApplyFilter: handleApplyFilter
|
|
1792
|
+
});
|
|
1793
|
+
}
|
|
1794
|
+
if (isSingleTime(defaultType)) {
|
|
1795
|
+
return /*#__PURE__*/React.createElement(SingleTime, {
|
|
1796
|
+
autoFocus: autoFocus,
|
|
1797
|
+
column: column,
|
|
1798
|
+
filter: filter,
|
|
1799
|
+
filters: filters,
|
|
1800
|
+
handleApplyFilter: handleApplyFilter
|
|
1801
|
+
});
|
|
1802
|
+
}
|
|
1803
|
+
if (isBoolean(defaultType) || isCheckbox(defaultType)) {
|
|
1804
|
+
return /*#__PURE__*/React.createElement(Boolean$1, {
|
|
1805
|
+
autoFocus: autoFocus,
|
|
1806
|
+
column: column,
|
|
1807
|
+
filter: filter,
|
|
1808
|
+
handleApplyFilter: handleApplyFilter
|
|
1809
|
+
});
|
|
1810
|
+
}
|
|
1811
|
+
return /*#__PURE__*/React.createElement(Dropdown$1, {
|
|
2094
1812
|
autoFocus: autoFocus,
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
getPopupContainer: prop("parentNode"),
|
|
2101
|
-
type: timePickerType,
|
|
2102
|
-
onChange: handleChange
|
|
2103
|
-
}, otherProps)));
|
|
1813
|
+
column: column,
|
|
1814
|
+
filter: filter,
|
|
1815
|
+
filters: filters,
|
|
1816
|
+
handleApplyFilter: handleApplyFilter
|
|
1817
|
+
});
|
|
2104
1818
|
};
|
|
2105
1819
|
|
|
2106
|
-
var
|
|
2107
|
-
|
|
2108
|
-
|
|
1820
|
+
var STEPS = {
|
|
1821
|
+
ADD: "add",
|
|
1822
|
+
COLUMN: "column",
|
|
1823
|
+
VALUE: "value"
|
|
1824
|
+
};
|
|
1825
|
+
|
|
1826
|
+
var AddFilter = function AddFilter(_ref) {
|
|
1827
|
+
var _findBy;
|
|
1828
|
+
var columns = _ref.columns,
|
|
2109
1829
|
filters = _ref.filters,
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
2121
|
-
var otherProps = getOtherProps(column);
|
|
2122
|
-
var ruleOptions = buildRuleOptions({
|
|
2123
|
-
defaultType: defaultType
|
|
2124
|
-
});
|
|
2125
|
-
var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
|
|
2126
|
-
var _useState = useState(filter === null || filter === void 0 ? void 0 : filter.value),
|
|
1830
|
+
handleChange = _ref.handleChange,
|
|
1831
|
+
handleClearFilter = _ref.handleClearFilter,
|
|
1832
|
+
_ref$disabled = _ref.disabled,
|
|
1833
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
1834
|
+
var _useTranslation = useTranslation(),
|
|
1835
|
+
t = _useTranslation.t;
|
|
1836
|
+
var _useState = useState({
|
|
1837
|
+
step: STEPS.ADD,
|
|
1838
|
+
column: {}
|
|
1839
|
+
}),
|
|
2127
1840
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
1841
|
+
selectedColumn = _useState2[0],
|
|
1842
|
+
setSelectedColumn = _useState2[1];
|
|
1843
|
+
|
|
1844
|
+
// Disable the add button when
|
|
1845
|
+
// 1. No value is entered for previous filter
|
|
1846
|
+
// 2. There are no more columns
|
|
1847
|
+
var disableAddButton = selectedColumn.step !== STEPS.ADD && isNotPresent((_findBy = findBy({
|
|
1848
|
+
key: selectedColumn.column.key
|
|
1849
|
+
}, filters)) === null || _findBy === void 0 ? void 0 : _findBy.value) || isEmpty(columns);
|
|
1850
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, selectedColumn.step !== STEPS.ADD ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
1851
|
+
className: "flex w-full gap-4"
|
|
1852
|
+
}, selectedColumn.step === STEPS.COLUMN && /*#__PURE__*/React.createElement(Select, {
|
|
1853
|
+
isSearchable: true,
|
|
1854
|
+
label: t("neetoFilters.segments.newFilter"),
|
|
1855
|
+
optionRemapping: {
|
|
1856
|
+
label: "label",
|
|
1857
|
+
value: "key"
|
|
1858
|
+
},
|
|
1859
|
+
options: columns,
|
|
1860
|
+
placeholder: t("neetoFilters.segments.selectFilter"),
|
|
1861
|
+
onChange: function onChange(column) {
|
|
1862
|
+
return setSelectedColumn({
|
|
1863
|
+
step: STEPS.VALUE,
|
|
1864
|
+
column: column
|
|
1865
|
+
});
|
|
1866
|
+
}
|
|
1867
|
+
}), selectedColumn.step === STEPS.VALUE && /*#__PURE__*/React.createElement(Item, {
|
|
1868
|
+
filters: filters,
|
|
1869
|
+
autoFocus: true,
|
|
1870
|
+
column: selectedColumn.column,
|
|
1871
|
+
onChange: handleChange
|
|
1872
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
1873
|
+
className: "mt-6 self-center",
|
|
1874
|
+
icon: Delete$1,
|
|
1875
|
+
style: "text",
|
|
1876
|
+
onClick: function onClick() {
|
|
1877
|
+
handleClearFilter(selectedColumn.column);
|
|
1878
|
+
setSelectedColumn(assoc("step", STEPS.ADD));
|
|
1879
|
+
}
|
|
1880
|
+
})), /*#__PURE__*/React.createElement(AddFilter, {
|
|
1881
|
+
filters: filters,
|
|
1882
|
+
handleChange: handleChange,
|
|
1883
|
+
handleClearFilter: handleClearFilter,
|
|
1884
|
+
columns: columns.filter(function (_ref2) {
|
|
1885
|
+
var key = _ref2.key;
|
|
1886
|
+
return !existsBy({
|
|
1887
|
+
key: key
|
|
1888
|
+
}, filters);
|
|
2134
1889
|
}),
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
1890
|
+
disabled: disableAddButton
|
|
1891
|
+
})) : /*#__PURE__*/React.createElement(Button, {
|
|
1892
|
+
disabled: disabled,
|
|
1893
|
+
className: "self-start",
|
|
1894
|
+
icon: Plus,
|
|
1895
|
+
iconPosition: "left",
|
|
1896
|
+
label: t("neetoFilters.segments.addFilter"),
|
|
1897
|
+
style: "link",
|
|
1898
|
+
onClick: function onClick() {
|
|
1899
|
+
return setSelectedColumn(assoc("step", STEPS.COLUMN));
|
|
1900
|
+
}
|
|
1901
|
+
}));
|
|
1902
|
+
};
|
|
1903
|
+
|
|
1904
|
+
var buildSegmentsValidationSchema = function buildSegmentsValidationSchema(defaultSegmentName) {
|
|
1905
|
+
return yup.object({
|
|
1906
|
+
name: yup.string().trim().required(t$1("neetoFilters.segments.nameIsRequired")).test({
|
|
1907
|
+
name: "not-default-segment-name",
|
|
1908
|
+
test: function test(value) {
|
|
1909
|
+
return (value === null || value === void 0 ? void 0 : value.toLocaleLowerCase()) !== defaultSegmentName.toLocaleLowerCase();
|
|
1910
|
+
},
|
|
1911
|
+
message: t$1("neetoFilters.segments.reservedNameErrorMessage")
|
|
1912
|
+
})
|
|
1913
|
+
});
|
|
1914
|
+
};
|
|
1915
|
+
|
|
1916
|
+
function ownKeys$4(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; }
|
|
1917
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1918
|
+
var SegmentForm = function SegmentForm(_ref) {
|
|
1919
|
+
var _ref$isEdit = _ref.isEdit,
|
|
1920
|
+
isEdit = _ref$isEdit === void 0 ? false : _ref$isEdit,
|
|
1921
|
+
segmentFormInitialRef = _ref.segmentFormInitialRef,
|
|
1922
|
+
isOpen = _ref.isOpen,
|
|
1923
|
+
onClose = _ref.onClose,
|
|
1924
|
+
isSubmitting = _ref.isSubmitting,
|
|
1925
|
+
handleSubmit = _ref.handleSubmit,
|
|
1926
|
+
defaultSegmentName = _ref.defaultSegmentName,
|
|
1927
|
+
initialValues = _ref.initialValues,
|
|
1928
|
+
customFilters = _ref.customFilters,
|
|
1929
|
+
columns = _ref.columns,
|
|
1930
|
+
filters = _ref.filters,
|
|
1931
|
+
childrenKeys = _ref.childrenKeys;
|
|
1932
|
+
var history = useHistory();
|
|
2139
1933
|
var _useTranslation = useTranslation(),
|
|
2140
1934
|
t = _useTranslation.t;
|
|
2141
|
-
var
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
1935
|
+
var _buildFilteredColumns = buildFilteredColumns({
|
|
1936
|
+
searchTerm: "",
|
|
1937
|
+
columns: columns
|
|
1938
|
+
}),
|
|
1939
|
+
_buildFilteredColumns2 = _buildFilteredColumns.groupedColumns,
|
|
1940
|
+
groupedColumns = _buildFilteredColumns2 === void 0 ? [] : _buildFilteredColumns2,
|
|
1941
|
+
_buildFilteredColumns3 = _buildFilteredColumns.ungroupedColumns,
|
|
1942
|
+
ungroupedColumns = _buildFilteredColumns3 === void 0 ? [] : _buildFilteredColumns3;
|
|
1943
|
+
var handleChange = function handleChange(newFilters) {
|
|
1944
|
+
var isClearAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1945
|
+
var params = buildUrlFromFilters(_objectSpread$4({
|
|
1946
|
+
columns: columns,
|
|
1947
|
+
filters: newFilters
|
|
1948
|
+
}, isClearAll && {
|
|
1949
|
+
isClearAll: true,
|
|
1950
|
+
childrenKeys: childrenKeys
|
|
1951
|
+
}));
|
|
1952
|
+
history.push({
|
|
1953
|
+
search: params
|
|
1954
|
+
});
|
|
1955
|
+
};
|
|
1956
|
+
var handleClearFilter = function handleClearFilter(column, values, setFieldValue) {
|
|
1957
|
+
var formState = [{
|
|
1958
|
+
conditions: removeBy({
|
|
1959
|
+
key: column.key
|
|
1960
|
+
}, values.filters[0].conditions)
|
|
1961
|
+
}];
|
|
1962
|
+
var globalState = removeBy({
|
|
1963
|
+
key: column.key
|
|
1964
|
+
}, filters);
|
|
1965
|
+
setFieldValue("filters", formState);
|
|
1966
|
+
handleChange(globalState);
|
|
1967
|
+
};
|
|
1968
|
+
return /*#__PURE__*/React.createElement(Pane$1, {
|
|
1969
|
+
isOpen: isOpen,
|
|
1970
|
+
onClose: onClose,
|
|
1971
|
+
initialFocusRef: segmentFormInitialRef
|
|
1972
|
+
}, /*#__PURE__*/React.createElement(Pane$1.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
1973
|
+
style: "h2",
|
|
1974
|
+
weight: "semibold"
|
|
1975
|
+
}, isEdit ? t("neetoFilters.segments.editSegment") : t("neetoFilters.segments.addNewSegment"))), /*#__PURE__*/React.createElement(Form, {
|
|
1976
|
+
className: "w-full",
|
|
1977
|
+
formProps: {
|
|
1978
|
+
noValidate: true
|
|
1979
|
+
},
|
|
1980
|
+
formikProps: {
|
|
1981
|
+
initialValues: initialValues,
|
|
1982
|
+
validateOnChange: true,
|
|
1983
|
+
validateOnBlur: true,
|
|
1984
|
+
validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
|
|
1985
|
+
onSubmit: handleSubmit
|
|
1986
|
+
}
|
|
1987
|
+
}, function (_ref2) {
|
|
1988
|
+
var errors = _ref2.errors,
|
|
1989
|
+
values = _ref2.values,
|
|
1990
|
+
setFieldValue = _ref2.setFieldValue;
|
|
1991
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane$1.Body, null, /*#__PURE__*/React.createElement(Input$1, {
|
|
1992
|
+
className: "w-full flex-grow-0",
|
|
1993
|
+
error: errors.name,
|
|
1994
|
+
label: t("neetoFilters.segments.name"),
|
|
1995
|
+
name: "name",
|
|
1996
|
+
placeholder: t("neetoFilters.segments.segmentName"),
|
|
1997
|
+
ref: segmentFormInitialRef
|
|
1998
|
+
}), /*#__PURE__*/React.createElement(Typography, {
|
|
1999
|
+
className: "mb-2 mt-4",
|
|
2000
|
+
style: "h4"
|
|
2001
|
+
}, t("neetoFilters.common.filters")), /*#__PURE__*/React.createElement("div", {
|
|
2002
|
+
className: "neeto-filters-pane-filter__body flex w-full flex-col gap-5"
|
|
2003
|
+
}, ungroupedColumns.filter(function (_ref3) {
|
|
2004
|
+
var key = _ref3.key;
|
|
2005
|
+
return _existsBy({
|
|
2006
|
+
key: key
|
|
2007
|
+
}, values.filters[0].conditions);
|
|
2008
|
+
}).map(function (column) {
|
|
2009
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2010
|
+
className: "flex w-full gap-4",
|
|
2011
|
+
key: column.key
|
|
2012
|
+
}, /*#__PURE__*/React.createElement(Item, {
|
|
2013
|
+
column: column,
|
|
2014
|
+
filters: filters,
|
|
2015
|
+
autoFocus: column.key === isOpen,
|
|
2016
|
+
onChange: function onChange(filters) {
|
|
2017
|
+
setFieldValue("filters", [{
|
|
2018
|
+
conditions: filters
|
|
2019
|
+
}]);
|
|
2020
|
+
handleChange(filters);
|
|
2021
|
+
}
|
|
2022
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
2023
|
+
className: "mt-6 self-center",
|
|
2024
|
+
icon: Delete$1,
|
|
2025
|
+
style: "text",
|
|
2026
|
+
onClick: function onClick() {
|
|
2027
|
+
return handleClearFilter(column, values, setFieldValue);
|
|
2028
|
+
}
|
|
2029
|
+
}));
|
|
2030
|
+
}), isPresent(groupedColumns) && /*#__PURE__*/React.createElement(Accordion, null, groupedColumns.map(function (_ref4) {
|
|
2031
|
+
var group = _ref4.group,
|
|
2032
|
+
columns = _ref4.columns;
|
|
2033
|
+
return /*#__PURE__*/React.createElement(Accordion.Item, {
|
|
2034
|
+
className: "accordion_item",
|
|
2035
|
+
key: group,
|
|
2036
|
+
title: group
|
|
2037
|
+
}, columns.map(function (column) {
|
|
2038
|
+
return /*#__PURE__*/React.createElement(Item, {
|
|
2039
|
+
column: column,
|
|
2040
|
+
filters: filters,
|
|
2041
|
+
autoFocus: column.key === isOpen,
|
|
2042
|
+
key: column.key,
|
|
2043
|
+
onChange: handleChange
|
|
2044
|
+
});
|
|
2045
|
+
}));
|
|
2046
|
+
})), isEmpty([].concat(_toConsumableArray(groupedColumns), _toConsumableArray(ungroupedColumns))) && /*#__PURE__*/React.createElement(Typography, {
|
|
2047
|
+
style: "body2"
|
|
2048
|
+
}, t("neetoFilters.messages.noResourcesFound", {
|
|
2049
|
+
resources: t("neetoFilters.common.columns")
|
|
2050
|
+
})), customFilters, /*#__PURE__*/React.createElement(AddFilter, {
|
|
2051
|
+
filters: filters,
|
|
2052
|
+
handleChange: handleChange,
|
|
2053
|
+
columns: ungroupedColumns.filter(function (_ref5) {
|
|
2054
|
+
var key = _ref5.key;
|
|
2055
|
+
return !existsBy({
|
|
2056
|
+
key: key
|
|
2057
|
+
}, filters);
|
|
2058
|
+
}),
|
|
2059
|
+
handleClearFilter: function handleClearFilter(_ref6) {
|
|
2060
|
+
var key = _ref6.key;
|
|
2061
|
+
return handleChange(removeBy({
|
|
2062
|
+
key: key
|
|
2063
|
+
}, filters));
|
|
2064
|
+
}
|
|
2065
|
+
}))), /*#__PURE__*/React.createElement(Pane$1.Footer, {
|
|
2066
|
+
className: "flex items-center space-x-2"
|
|
2067
|
+
}, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
2068
|
+
cancelButtonProps: {
|
|
2069
|
+
onClick: onClose,
|
|
2070
|
+
disabled: false
|
|
2071
|
+
},
|
|
2072
|
+
submitButtonProps: {
|
|
2073
|
+
disabled: isSubmitting || isEmpty(filters),
|
|
2074
|
+
loading: isSubmitting
|
|
2075
|
+
}
|
|
2076
|
+
})));
|
|
2077
|
+
}));
|
|
2078
|
+
};
|
|
2079
|
+
|
|
2080
|
+
var QUERY_KEYS = {
|
|
2081
|
+
SEGMENTS_LIST: "segments-list"
|
|
2082
|
+
};
|
|
2083
|
+
var SEGMENTS_STALE_TIME = 900000; // 15 mins
|
|
2084
|
+
|
|
2085
|
+
var DEFAULT_SEGMENTS_CACHE = {
|
|
2086
|
+
segments: []
|
|
2087
|
+
};
|
|
2088
|
+
var SEGMENT_ACTIONS$1 = {
|
|
2089
|
+
EDIT: "edit",
|
|
2090
|
+
CREATE: "create"
|
|
2091
|
+
};
|
|
2092
|
+
|
|
2093
|
+
var SHORTCUTS = {
|
|
2094
|
+
closePane: {
|
|
2095
|
+
sequence: "escape",
|
|
2096
|
+
description: t$1("neetoFilters.shortcuts.closePane")
|
|
2097
|
+
},
|
|
2098
|
+
deleteBlock: {
|
|
2099
|
+
sequence: "backspace",
|
|
2100
|
+
description: t$1("neetoFilters.shortcuts.deleteBlock")
|
|
2101
|
+
},
|
|
2102
|
+
openFilterPane: {
|
|
2103
|
+
sequence: "enter",
|
|
2104
|
+
description: t$1("neetoFilters.shortcuts.openFilterPane")
|
|
2105
|
+
}
|
|
2106
|
+
};
|
|
2107
|
+
|
|
2108
|
+
var buildCustomDateValue = function buildCustomDateValue(value) {
|
|
2109
|
+
var isBeforeOrAfter = Math.abs(dayjs(value[1]).diff(dayjs(value[0]), "year")) >= 90;
|
|
2110
|
+
if (isBeforeOrAfter) {
|
|
2111
|
+
var currentMoment = dayjs();
|
|
2112
|
+
var diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), "year"));
|
|
2113
|
+
var diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), "year"));
|
|
2114
|
+
return diffWithStart < diffWithEnd ? "after-".concat(dateFormat.date(dayjs(value[0]).subtract(1, "day"))) : "before-".concat(dateFormat.date(dayjs(value[1]).add(1, "day")));
|
|
2115
|
+
}
|
|
2116
|
+
return value.map(dateFormat.date).join(" - ");
|
|
2117
|
+
};
|
|
2118
|
+
var buildFilterValue = function buildFilterValue(filter) {
|
|
2119
|
+
var _findBy2;
|
|
2120
|
+
var _filter$defaultType = filter.defaultType,
|
|
2121
|
+
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
2122
|
+
value = filter.value,
|
|
2123
|
+
rule = filter.rule,
|
|
2124
|
+
_filter$values = filter.values,
|
|
2125
|
+
initialValues = _filter$values === void 0 ? [] : _filter$values;
|
|
2126
|
+
var values = initialValues.map(modify("value", function (value) {
|
|
2127
|
+
return value.toString();
|
|
2128
|
+
}));
|
|
2129
|
+
if (isDate(defaultType) && isCustomDateRange(value)) {
|
|
2130
|
+
return buildCustomDateValue(value);
|
|
2131
|
+
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
2132
|
+
return value.map(dateFormat.time).join(" - ");
|
|
2133
|
+
} else if (isDate(defaultType) || isTime(defaultType)) {
|
|
2134
|
+
return humanize(value);
|
|
2135
|
+
} else if (isMulti(defaultType)) {
|
|
2136
|
+
return value.map(function (value) {
|
|
2137
|
+
var _findBy;
|
|
2138
|
+
return ((_findBy = findBy({
|
|
2139
|
+
value: value
|
|
2140
|
+
}, values)) === null || _findBy === void 0 ? void 0 : _findBy.label) || value;
|
|
2141
|
+
}).join(", ");
|
|
2142
|
+
} else if (isSingleDate(defaultType)) {
|
|
2143
|
+
return rule === "between" ? value.map(dateFormat.date).join(" - ") : dateFormat.date(value);
|
|
2144
|
+
} else if (isSingleTime(defaultType)) {
|
|
2145
|
+
return rule === "between" ? value.map(dateFormat.time).join(" - ") : dateFormat.time(value);
|
|
2146
|
+
} else if (isBoolean(defaultType)) {
|
|
2147
|
+
return getLabelFromBool({
|
|
2148
|
+
value: value,
|
|
2149
|
+
values: values
|
|
2150
|
+
});
|
|
2151
|
+
}
|
|
2152
|
+
return ((_findBy2 = findBy({
|
|
2153
|
+
value: value
|
|
2154
|
+
}, values)) === null || _findBy2 === void 0 ? void 0 : _findBy2.label) || value;
|
|
2155
|
+
};
|
|
2156
|
+
var buildRuleValue = function buildRuleValue(_ref) {
|
|
2157
|
+
var rule = _ref.rule,
|
|
2158
|
+
defaultType = _ref.defaultType;
|
|
2159
|
+
if (isText(defaultType)) {
|
|
2160
|
+
return findBy({
|
|
2161
|
+
value: rule
|
|
2162
|
+
}, TEXT_RULES).label;
|
|
2163
|
+
} else if (isDigit(defaultType)) {
|
|
2164
|
+
return findBy({
|
|
2165
|
+
value: rule
|
|
2166
|
+
}, NUMBER_RULES).label;
|
|
2167
|
+
} else if (isSingleDate(defaultType)) {
|
|
2168
|
+
return findBy({
|
|
2169
|
+
value: rule
|
|
2170
|
+
}, SINGLE_DATE_OPTIONS).label;
|
|
2171
|
+
} else if (isSingleTime(defaultType)) {
|
|
2172
|
+
return findBy({
|
|
2173
|
+
value: rule
|
|
2174
|
+
}, SINGLE_TIME_OPTIONS).label;
|
|
2175
|
+
} else if (isMulti(defaultType) || isSingle(defaultType)) {
|
|
2176
|
+
return isRuleEmpty(rule) ? t$1("neetoFilters.rules.isEmpty") : "";
|
|
2177
|
+
}
|
|
2178
|
+
return "";
|
|
2179
|
+
};
|
|
2180
|
+
var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
|
|
2181
|
+
return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
|
|
2182
|
+
};
|
|
2183
|
+
var deepCompare = function deepCompare(filters1, filters2) {
|
|
2184
|
+
var comparisonHelper = function comparisonHelper(filters) {
|
|
2185
|
+
return sortBy(prop("key"), removeBy({
|
|
2186
|
+
key: SEARCH_TERM_KEY
|
|
2187
|
+
}, project(["key", "rule", "value"], filters)));
|
|
2188
|
+
};
|
|
2189
|
+
return notEqualsDeep(comparisonHelper(filters1), comparisonHelper(filters2));
|
|
2190
|
+
};
|
|
2191
|
+
|
|
2192
|
+
var Block = function Block(_ref) {
|
|
2193
|
+
var filter = _ref.filter,
|
|
2194
|
+
handleDelete = _ref.handleDelete,
|
|
2195
|
+
setIsPaneOpen = _ref.setIsPaneOpen;
|
|
2196
|
+
var key = filter.key,
|
|
2197
|
+
_filter$defaultType = filter.defaultType,
|
|
2198
|
+
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
2199
|
+
label = filter.label,
|
|
2200
|
+
rule = filter.rule,
|
|
2201
|
+
defaultValue = filter.defaultValue;
|
|
2202
|
+
var filterValue = buildFilterValue(filter);
|
|
2203
|
+
var ruleContent = buildRuleValue({
|
|
2204
|
+
rule: rule,
|
|
2205
|
+
defaultType: defaultType
|
|
2206
|
+
});
|
|
2207
|
+
var blockLength = label.length + ruleContent.length + filterValue.length;
|
|
2208
|
+
var toolTipDisabled = blockLength <= 50;
|
|
2209
|
+
var blockContent = !toolTipDisabled ? "".concat(filterValue.slice(0, 50 - blockLength), "...") : filterValue;
|
|
2210
|
+
var deleteBlockHotKeyRef = useHotkeys(SHORTCUTS.deleteBlock.sequence, function () {
|
|
2211
|
+
return handleDelete(key);
|
|
2212
|
+
}, {
|
|
2213
|
+
mode: "scoped"
|
|
2214
|
+
});
|
|
2215
|
+
var openFilterPaneHotKeyRef = useHotkeys(SHORTCUTS.openFilterPane.sequence, function () {
|
|
2216
|
+
return setIsPaneOpen(key);
|
|
2217
|
+
}, {
|
|
2218
|
+
mode: "scoped"
|
|
2219
|
+
});
|
|
2220
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
2221
|
+
content: filterValue,
|
|
2222
|
+
disabled: toolTipDisabled,
|
|
2223
|
+
position: "bottom",
|
|
2224
|
+
theme: "light"
|
|
2225
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2226
|
+
className: "neeto-filters-bar__block",
|
|
2227
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-block"),
|
|
2228
|
+
tabIndex: 0,
|
|
2229
|
+
ref: function ref(node) {
|
|
2230
|
+
deleteBlockHotKeyRef.current = node;
|
|
2231
|
+
openFilterPaneHotKeyRef.current = node;
|
|
2232
|
+
},
|
|
2233
|
+
onClick: function onClick() {
|
|
2234
|
+
return setIsPaneOpen(key);
|
|
2235
|
+
}
|
|
2236
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
2237
|
+
style: "body2"
|
|
2238
|
+
}, label, ":"), /*#__PURE__*/React.createElement(Typography, {
|
|
2239
|
+
className: "neeto-ui-text-gray-600",
|
|
2240
|
+
style: "body2"
|
|
2241
|
+
}, ruleContent), !isRuleEmpty(rule) && /*#__PURE__*/React.createElement(Typography, {
|
|
2242
|
+
style: "body2"
|
|
2243
|
+
}, blockContent), !defaultValue && /*#__PURE__*/React.createElement("div", {
|
|
2244
|
+
className: "neeto-filters-bar__block-close"
|
|
2245
|
+
}, /*#__PURE__*/React.createElement(Close, {
|
|
2246
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-block-close-btn"),
|
|
2247
|
+
size: 16,
|
|
2248
|
+
strokeWidth: 2,
|
|
2249
|
+
onClick: function onClick(event) {
|
|
2250
|
+
event.stopPropagation();
|
|
2251
|
+
handleDelete(key);
|
|
2252
|
+
}
|
|
2253
|
+
}))));
|
|
2254
|
+
};
|
|
2255
|
+
|
|
2256
|
+
var ChildBlock = function ChildBlock(_ref) {
|
|
2257
|
+
var childKey = _ref.childKey,
|
|
2258
|
+
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2259
|
+
handleDelete = _ref.handleDelete;
|
|
2260
|
+
var deleteBlockHotKeyRef = useHotkeys(SHORTCUTS.deleteBlock.sequence, function () {
|
|
2261
|
+
return handleDelete(childKey);
|
|
2262
|
+
}, {
|
|
2263
|
+
mode: "scoped"
|
|
2264
|
+
});
|
|
2265
|
+
var openFilterPaneHotKeyRef = useHotkeys(SHORTCUTS.openFilterPane.sequence, function () {
|
|
2266
|
+
return setIsPaneOpen(childKey);
|
|
2267
|
+
}, {
|
|
2268
|
+
mode: "scoped"
|
|
2269
|
+
});
|
|
2270
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2271
|
+
className: "neeto-filters-bar__block",
|
|
2272
|
+
"data-cy": "neeto-filters-".concat(hyphenate(childKey), "-block"),
|
|
2273
|
+
tabIndex: 0,
|
|
2274
|
+
ref: function ref(node) {
|
|
2275
|
+
deleteBlockHotKeyRef.current = node;
|
|
2276
|
+
openFilterPaneHotKeyRef.current = node;
|
|
2277
|
+
},
|
|
2278
|
+
onClick: function onClick() {
|
|
2279
|
+
return setIsPaneOpen(childKey);
|
|
2280
|
+
}
|
|
2281
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
2282
|
+
style: "body2",
|
|
2283
|
+
weight: "medium"
|
|
2284
|
+
}, childKey), /*#__PURE__*/React.createElement("div", {
|
|
2285
|
+
className: "neeto-filters-bar__block-close"
|
|
2286
|
+
}, /*#__PURE__*/React.createElement(Close, {
|
|
2287
|
+
"data-cy": "neeto-filters-".concat(hyphenate(childKey), "-block-close-btn"),
|
|
2288
|
+
size: 16,
|
|
2289
|
+
strokeWidth: 2,
|
|
2290
|
+
onClick: function onClick(event) {
|
|
2291
|
+
event.stopPropagation();
|
|
2292
|
+
handleDelete(childKey);
|
|
2293
|
+
}
|
|
2294
|
+
})));
|
|
2295
|
+
};
|
|
2296
|
+
|
|
2297
|
+
var FilterBar = function FilterBar(_ref) {
|
|
2298
|
+
var entity = _ref.entity,
|
|
2299
|
+
filters = _ref.filters,
|
|
2300
|
+
setIsSavePaneOpen = _ref.setIsSavePaneOpen,
|
|
2301
|
+
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2302
|
+
childrenKeys = _ref.childrenKeys,
|
|
2303
|
+
nonHiddenFilters = _ref.nonHiddenFilters,
|
|
2304
|
+
childrenFiltersApplied = _ref.childrenFiltersApplied,
|
|
2305
|
+
keywordFilter = _ref.keywordFilter,
|
|
2306
|
+
handleApplyFilters = _ref.handleApplyFilters;
|
|
2307
|
+
var _useTranslation = useTranslation(),
|
|
2308
|
+
t = _useTranslation.t;
|
|
2309
|
+
var history = useHistory$1();
|
|
2310
|
+
var searchParams = useQueryParams({
|
|
2311
|
+
toCamelCase: false
|
|
2312
|
+
});
|
|
2313
|
+
var handleDelete = function handleDelete(key) {
|
|
2314
|
+
if (key === SEARCH_TERM_KEY) {
|
|
2315
|
+
var params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());
|
|
2316
|
+
var pathname = window.location.pathname;
|
|
2317
|
+
history.push(buildUrl(pathname, params));
|
|
2318
|
+
return;
|
|
2319
|
+
}
|
|
2320
|
+
if (childrenKeys.includes(key)) {
|
|
2321
|
+
var _params = omit([key], getSnakeCasedQueryParams());
|
|
2322
|
+
var _pathname = window.location.pathname;
|
|
2323
|
+
history.push(buildUrl(_pathname, _params));
|
|
2324
|
+
}
|
|
2325
|
+
var newFilters = removeBy({
|
|
2326
|
+
key: key
|
|
2327
|
+
}, filters);
|
|
2328
|
+
handleApplyFilters(newFilters);
|
|
2329
|
+
};
|
|
2330
|
+
var handleClearAll = function handleClearAll() {
|
|
2331
|
+
var params = isKeywordFilterPresent(keywordFilter) ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams()) : getSnakeCasedQueryParams();
|
|
2332
|
+
var pathname = window.location.pathname;
|
|
2333
|
+
history.push(buildUrl(pathname, params));
|
|
2334
|
+
handleApplyFilters([], true);
|
|
2335
|
+
};
|
|
2336
|
+
var hideClearButton = nonHiddenFilters.every(function (_ref2) {
|
|
2337
|
+
var defaultValue = _ref2.defaultValue,
|
|
2338
|
+
isClearable = _ref2.isClearable;
|
|
2339
|
+
return defaultValue && !isClearable;
|
|
2340
|
+
}) && !childrenFiltersApplied;
|
|
2341
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, nonHiddenFilters.map(function (filter) {
|
|
2342
|
+
var _filter$suffixCompone;
|
|
2343
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
2344
|
+
key: filter.key
|
|
2345
|
+
}, /*#__PURE__*/React.createElement(Block, {
|
|
2346
|
+
filter: filter,
|
|
2347
|
+
handleDelete: handleDelete,
|
|
2348
|
+
setIsPaneOpen: setIsPaneOpen
|
|
2349
|
+
}), (_filter$suffixCompone = filter.suffixComponent) === null || _filter$suffixCompone === void 0 ? void 0 : _filter$suffixCompone.call(filter), /*#__PURE__*/React.createElement("div", {
|
|
2350
|
+
className: "neeto-filters-bar--separator"
|
|
2351
|
+
}));
|
|
2352
|
+
}), childrenKeys.filter(function (childKey) {
|
|
2353
|
+
return has(childKey, searchParams);
|
|
2354
|
+
}).map(function (childKey) {
|
|
2355
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
2356
|
+
key: childKey
|
|
2357
|
+
}, /*#__PURE__*/React.createElement(ChildBlock, {
|
|
2358
|
+
childKey: childKey,
|
|
2359
|
+
handleDelete: handleDelete,
|
|
2360
|
+
setIsPaneOpen: setIsPaneOpen
|
|
2361
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
2362
|
+
className: "neeto-filters-bar--separator"
|
|
2363
|
+
}));
|
|
2364
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
2365
|
+
className: "flex items-center gap-x-2"
|
|
2366
|
+
}, isPresent(entity) && !hasOnlyKeywordFilter(filters) && /*#__PURE__*/React.createElement(Button, {
|
|
2367
|
+
"data-cy": "save-segment-button",
|
|
2368
|
+
label: t("neetoFilters.segments.saveAsNewSegment"),
|
|
2369
|
+
style: "secondary",
|
|
2370
|
+
onClick: function onClick() {
|
|
2371
|
+
setIsPaneOpen(false);
|
|
2372
|
+
setIsSavePaneOpen({
|
|
2373
|
+
action: SEGMENT_ACTIONS$1.CREATE
|
|
2374
|
+
});
|
|
2375
|
+
}
|
|
2376
|
+
}), !hideClearButton && /*#__PURE__*/React.createElement(Button, {
|
|
2377
|
+
"data-cy": "neeto-filters-bar-clear-btn",
|
|
2378
|
+
label: t("neetoFilters.common.clearFilters"),
|
|
2379
|
+
style: "text",
|
|
2380
|
+
onClick: handleClearAll
|
|
2381
|
+
})));
|
|
2382
|
+
};
|
|
2383
|
+
|
|
2384
|
+
var fetch = function fetch(params) {
|
|
2385
|
+
return axios.get(SEGMENTS_BASE_URL, {
|
|
2386
|
+
params: params
|
|
2387
|
+
});
|
|
2388
|
+
};
|
|
2389
|
+
var show = function show(id) {
|
|
2390
|
+
return axios.get("".concat(SEGMENTS_BASE_URL, "/").concat(id), {
|
|
2391
|
+
transformResponseCase: false
|
|
2392
|
+
});
|
|
2393
|
+
};
|
|
2394
|
+
var create = function create(payload) {
|
|
2395
|
+
return axios.post(SEGMENTS_BASE_URL, {
|
|
2396
|
+
segment: payload
|
|
2397
|
+
}, {
|
|
2398
|
+
showToastr: false
|
|
2399
|
+
});
|
|
2400
|
+
};
|
|
2401
|
+
var update = function update(_ref) {
|
|
2402
|
+
var id = _ref.id,
|
|
2403
|
+
payload = _ref.payload,
|
|
2404
|
+
_ref$showToastr = _ref.showToastr,
|
|
2405
|
+
showToastr = _ref$showToastr === void 0 ? true : _ref$showToastr;
|
|
2406
|
+
return axios.put("".concat(SEGMENTS_BASE_URL, "/").concat(id), payload, {
|
|
2407
|
+
showToastr: showToastr
|
|
2408
|
+
});
|
|
2409
|
+
};
|
|
2410
|
+
var destroy = function destroy(id) {
|
|
2411
|
+
return axios["delete"]("".concat(SEGMENTS_BASE_URL, "/").concat(id));
|
|
2412
|
+
};
|
|
2413
|
+
var segmentsApi = {
|
|
2414
|
+
fetch: fetch,
|
|
2415
|
+
show: show,
|
|
2416
|
+
create: create,
|
|
2417
|
+
update: update,
|
|
2418
|
+
destroy: destroy
|
|
2419
|
+
};
|
|
2420
|
+
|
|
2421
|
+
function ownKeys$3(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; }
|
|
2422
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2423
|
+
var SEGMENTS_LIST = QUERY_KEYS.SEGMENTS_LIST;
|
|
2424
|
+
var useFetchSegments = function useFetchSegments(_ref) {
|
|
2425
|
+
var entity = _ref.entity,
|
|
2426
|
+
_ref$searchTerm = _ref.searchTerm,
|
|
2427
|
+
searchTerm = _ref$searchTerm === void 0 ? "" : _ref$searchTerm;
|
|
2428
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2429
|
+
return useQuery([SEGMENTS_LIST, entity, searchTerm], function () {
|
|
2430
|
+
return segmentsApi.fetch({
|
|
2431
|
+
entity: entity,
|
|
2432
|
+
searchTerm: searchTerm
|
|
2433
|
+
});
|
|
2434
|
+
}, mergeRight({
|
|
2435
|
+
staleTime: SEGMENTS_STALE_TIME,
|
|
2436
|
+
select: prop("segments")
|
|
2437
|
+
}, options));
|
|
2438
|
+
};
|
|
2439
|
+
var useCreateSegment = function useCreateSegment(options) {
|
|
2440
|
+
return useMutationWithInvalidation(segmentsApi.create, _objectSpread$3({
|
|
2441
|
+
keysToInvalidate: [SEGMENTS_LIST]
|
|
2442
|
+
}, options));
|
|
2443
|
+
};
|
|
2444
|
+
var useUpdateSegment = function useUpdateSegment(options) {
|
|
2445
|
+
return useMutationWithInvalidation(segmentsApi.update, _objectSpread$3({
|
|
2446
|
+
keysToInvalidate: [SEGMENTS_LIST]
|
|
2447
|
+
}, options));
|
|
2448
|
+
};
|
|
2449
|
+
var useDestroySegment = function useDestroySegment(options) {
|
|
2450
|
+
return useMutationWithInvalidation(segmentsApi.destroy, _objectSpread$3({
|
|
2451
|
+
keysToInvalidate: [SEGMENTS_LIST]
|
|
2452
|
+
}, options));
|
|
2453
|
+
};
|
|
2454
|
+
|
|
2455
|
+
function ownKeys$2(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; }
|
|
2456
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2457
|
+
var useSegment = function useSegment(_ref) {
|
|
2458
|
+
var entity = _ref.entity,
|
|
2459
|
+
keyword = _ref.keyword,
|
|
2460
|
+
columns = _ref.columns,
|
|
2461
|
+
childrenKeys = _ref.childrenKeys;
|
|
2462
|
+
var history = useHistory$1();
|
|
2463
|
+
var _useTranslation = useTranslation(),
|
|
2464
|
+
t = _useTranslation.t;
|
|
2465
|
+
var initialRenderRef = useRef(true);
|
|
2466
|
+
var _useQueryParams = useQueryParams(),
|
|
2467
|
+
segmentId = _useQueryParams.segmentId;
|
|
2468
|
+
var _useState = useState({
|
|
2469
|
+
action: undefined
|
|
2470
|
+
}),
|
|
2471
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2472
|
+
isSavePaneOpen = _useState2[0],
|
|
2473
|
+
setIsSavePaneOpen = _useState2[1];
|
|
2474
|
+
var _useCreateSegment = useCreateSegment(),
|
|
2475
|
+
createSegment = _useCreateSegment.mutate,
|
|
2476
|
+
isCreating = _useCreateSegment.isLoading;
|
|
2477
|
+
var _useUpdateSegment = useUpdateSegment(),
|
|
2478
|
+
updateSegment = _useUpdateSegment.mutate,
|
|
2479
|
+
isUpdating = _useUpdateSegment.isLoading;
|
|
2480
|
+
var isSubmitting = isCreating || isUpdating;
|
|
2481
|
+
var searchParams = useQueryParams({
|
|
2482
|
+
toCamelCase: false
|
|
2483
|
+
});
|
|
2484
|
+
var keywordValue = searchParams[SEARCH_TERM_KEY] || "";
|
|
2485
|
+
var isEdit = isSavePaneOpen.action === SEGMENT_ACTIONS$1.EDIT;
|
|
2486
|
+
var keywordFilter = _objectSpread$2(_objectSpread$2({
|
|
2487
|
+
type: "text",
|
|
2488
|
+
rule: "contains",
|
|
2489
|
+
label: t("neetoFilters.common.searchTerm")
|
|
2490
|
+
}, keyword), {}, {
|
|
2491
|
+
key: SEARCH_TERM_KEY,
|
|
2492
|
+
value: keywordValue
|
|
2493
|
+
});
|
|
2494
|
+
var filters = buildFiltersFromSearchParams(isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue) ? [keywordFilter].concat(_toConsumableArray(columns)) : columns);
|
|
2495
|
+
var nonHiddenFilters = removeBy({
|
|
2496
|
+
hidden: true
|
|
2497
|
+
}, filters);
|
|
2498
|
+
var handleApplyFilters = function handleApplyFilters(newFilters, isClearAll) {
|
|
2499
|
+
var params = buildUrlFromFilters(_objectSpread$2({
|
|
2500
|
+
columns: columns,
|
|
2501
|
+
filters: isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(newFilters), [keywordFilter]) : newFilters
|
|
2502
|
+
}, isClearAll && {
|
|
2503
|
+
isClearAll: true,
|
|
2504
|
+
childrenKeys: childrenKeys
|
|
2505
|
+
}));
|
|
2506
|
+
history.push({
|
|
2507
|
+
search: params
|
|
2508
|
+
});
|
|
2509
|
+
};
|
|
2510
|
+
var childrenFiltersApplied = childrenKeys.some(function (key) {
|
|
2511
|
+
return has(key, searchParams);
|
|
2512
|
+
});
|
|
2513
|
+
useEffect(function () {
|
|
2514
|
+
if (initialRenderRef.current) {
|
|
2515
|
+
initialRenderRef.current = false;
|
|
2516
|
+
return noop;
|
|
2517
|
+
}
|
|
2518
|
+
var handler = setTimeout(function () {
|
|
2519
|
+
handleApplyFilters(filters);
|
|
2520
|
+
}, 500);
|
|
2521
|
+
return function () {
|
|
2522
|
+
return clearTimeout(handler);
|
|
2523
|
+
};
|
|
2524
|
+
}, [keywordValue]);
|
|
2525
|
+
var handleCreateSuccess = function handleCreateSuccess(_ref2) {
|
|
2526
|
+
var _filters$;
|
|
2527
|
+
var _ref2$segment = _ref2.segment,
|
|
2528
|
+
id = _ref2$segment.id,
|
|
2529
|
+
filters = _ref2$segment.filters;
|
|
2530
|
+
history.push({
|
|
2531
|
+
search: buildUrlFromSegment({
|
|
2532
|
+
columns: columns,
|
|
2533
|
+
filters: (_filters$ = filters[0]) === null || _filters$ === void 0 ? void 0 : _filters$.conditions,
|
|
2534
|
+
id: id
|
|
2535
|
+
})
|
|
2536
|
+
});
|
|
2537
|
+
setIsSavePaneOpen({
|
|
2538
|
+
action: undefined
|
|
2539
|
+
});
|
|
2540
|
+
showThumbsUpToastr();
|
|
2541
|
+
};
|
|
2542
|
+
var handleCreate = function handleCreate(_ref3, _ref4) {
|
|
2543
|
+
var name = _ref3.name;
|
|
2544
|
+
var setFieldError = _ref4.setFieldError;
|
|
2545
|
+
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
2546
|
+
createSegment({
|
|
2547
|
+
name: name,
|
|
2548
|
+
entity: entity,
|
|
2549
|
+
filters: filtersPayload
|
|
2550
|
+
}, {
|
|
2551
|
+
onSuccess: handleCreateSuccess,
|
|
2552
|
+
onError: function onError(error) {
|
|
2553
|
+
return setFieldError("name", error.response.data.error);
|
|
2554
|
+
}
|
|
2555
|
+
});
|
|
2556
|
+
};
|
|
2557
|
+
var handleUpdate = function handleUpdate(_ref5, _ref6) {
|
|
2558
|
+
var name = _ref5.name;
|
|
2559
|
+
var setFieldError = _ref6.setFieldError;
|
|
2560
|
+
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
2561
|
+
updateSegment({
|
|
2562
|
+
id: segmentId,
|
|
2563
|
+
payload: {
|
|
2564
|
+
name: name,
|
|
2565
|
+
filters: filtersPayload
|
|
2566
|
+
}
|
|
2567
|
+
}, {
|
|
2568
|
+
onSuccess: function onSuccess() {
|
|
2569
|
+
setIsSavePaneOpen({
|
|
2570
|
+
action: undefined
|
|
2571
|
+
});
|
|
2572
|
+
showThumbsUpToastr();
|
|
2573
|
+
},
|
|
2574
|
+
onError: function onError(error) {
|
|
2575
|
+
return setFieldError("name", error.response.data.error);
|
|
2576
|
+
}
|
|
2151
2577
|
});
|
|
2152
|
-
handleApplyFilter(updatedFilter);
|
|
2153
|
-
};
|
|
2154
|
-
var handleKeydown = function handleKeydown(e) {
|
|
2155
|
-
if (!(e.key === "Enter")) return;
|
|
2156
|
-
handleUpdateAndApplyFilter(inputValue);
|
|
2157
|
-
onClose();
|
|
2158
2578
|
};
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2579
|
+
return {
|
|
2580
|
+
isEdit: isEdit,
|
|
2581
|
+
filters: filters,
|
|
2582
|
+
keywordFilter: keywordFilter,
|
|
2583
|
+
isSubmitting: isSubmitting,
|
|
2584
|
+
nonHiddenFilters: nonHiddenFilters,
|
|
2585
|
+
isSavePaneOpen: isSavePaneOpen,
|
|
2586
|
+
setIsSavePaneOpen: setIsSavePaneOpen,
|
|
2587
|
+
handleApplyFilters: handleApplyFilters,
|
|
2588
|
+
childrenFiltersApplied: childrenFiltersApplied,
|
|
2589
|
+
handleSubmit: isEdit ? handleUpdate : handleCreate
|
|
2163
2590
|
};
|
|
2591
|
+
};
|
|
2164
2592
|
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2593
|
+
var Menu = Dropdown$2.Menu,
|
|
2594
|
+
MenuItem = Dropdown$2.MenuItem;
|
|
2595
|
+
var SegmentBar = function SegmentBar(_ref) {
|
|
2596
|
+
var entity = _ref.entity,
|
|
2597
|
+
filters = _ref.filters,
|
|
2598
|
+
setIsSavePaneOpen = _ref.setIsSavePaneOpen,
|
|
2599
|
+
setIsPaneOpen = _ref.setIsPaneOpen;
|
|
2600
|
+
var _useTranslation = useTranslation(),
|
|
2601
|
+
t = _useTranslation.t;
|
|
2602
|
+
var _useQueryParams = useQueryParams(),
|
|
2603
|
+
segmentId = _useQueryParams.segmentId;
|
|
2604
|
+
var queryClient = useQueryClient();
|
|
2605
|
+
var cachedSegments = queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, ""]) || DEFAULT_SEGMENTS_CACHE;
|
|
2606
|
+
var segment = findById(segmentId, cachedSegments.segments);
|
|
2607
|
+
if (isNotPresent(segment)) return null;
|
|
2608
|
+
var newChangesExists = deepCompare(segment.filters[0].conditions, filters);
|
|
2609
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
|
|
2610
|
+
className: "neeto-ui-text-gray-600 mr-4",
|
|
2611
|
+
"data-cy": "neeto-filters-segment-name",
|
|
2612
|
+
style: "h4"
|
|
2613
|
+
}, segment.name), newChangesExists && /*#__PURE__*/React.createElement(Dropdown$2, {
|
|
2614
|
+
buttonStyle: "secondary",
|
|
2615
|
+
label: t("neetoFilters.segments.updateSegment")
|
|
2616
|
+
}, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
2617
|
+
onClick: function onClick() {
|
|
2618
|
+
return setIsSavePaneOpen({
|
|
2619
|
+
action: SEGMENT_ACTIONS$1.EDIT
|
|
2173
2620
|
});
|
|
2174
|
-
return;
|
|
2175
|
-
}
|
|
2176
|
-
handleUpdateAndApplyFilter();
|
|
2177
|
-
}, [debouncedInputValue]);
|
|
2178
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
2179
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2180
|
-
}, showRuleSelector && /*#__PURE__*/React.createElement(Select, _extends({
|
|
2181
|
-
label: label,
|
|
2182
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
|
|
2183
|
-
defaultValue: ruleOptions[0],
|
|
2184
|
-
options: ruleOptions,
|
|
2185
|
-
strategy: "fixed",
|
|
2186
|
-
value: selectedRule,
|
|
2187
|
-
onChange: handleRuleChange
|
|
2188
|
-
}, isNotEmpty(helpIconProps) && {
|
|
2189
|
-
labelProps: {
|
|
2190
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2191
2621
|
}
|
|
2192
|
-
})), /*#__PURE__*/React.createElement(
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
}, isNotEmpty(helpIconProps) && {
|
|
2199
|
-
labelProps: {
|
|
2200
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2622
|
+
}, t("neetoFilters.segments.updateSegment")), /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
2623
|
+
onClick: function onClick() {
|
|
2624
|
+
setIsPaneOpen(false);
|
|
2625
|
+
setIsSavePaneOpen({
|
|
2626
|
+
action: SEGMENT_ACTIONS$1.CREATE
|
|
2627
|
+
});
|
|
2201
2628
|
}
|
|
2202
|
-
},
|
|
2203
|
-
placeholder: t("neetoFilters.messages.enterResource", {
|
|
2204
|
-
resource: label
|
|
2205
|
-
}),
|
|
2206
|
-
onChange: function onChange(event) {
|
|
2207
|
-
return setInputValue(event.target.value);
|
|
2208
|
-
},
|
|
2209
|
-
onKeyDown: handleKeydown
|
|
2210
|
-
}, otherProps)));
|
|
2629
|
+
}, t("neetoFilters.segments.saveAsNewSegment")))));
|
|
2211
2630
|
};
|
|
2212
2631
|
|
|
2213
|
-
var
|
|
2214
|
-
var
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2632
|
+
var Bar = function Bar(_ref) {
|
|
2633
|
+
var entity = _ref.entity,
|
|
2634
|
+
className = _ref.className,
|
|
2635
|
+
_ref$columns = _ref.columns,
|
|
2636
|
+
columns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
2637
|
+
_ref$keyword = _ref.keyword,
|
|
2638
|
+
keyword = _ref$keyword === void 0 ? {
|
|
2639
|
+
node: "",
|
|
2640
|
+
value: "",
|
|
2641
|
+
setValue: noop
|
|
2642
|
+
} : _ref$keyword,
|
|
2643
|
+
_ref$setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2644
|
+
setIsPaneOpen = _ref$setIsPaneOpen === void 0 ? identity : _ref$setIsPaneOpen,
|
|
2645
|
+
_ref$childrenKeys = _ref.childrenKeys,
|
|
2646
|
+
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
|
|
2647
|
+
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
2648
|
+
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t$1("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
|
|
2649
|
+
customFilters = _ref.customFilters;
|
|
2650
|
+
var queryClient = useQueryClient();
|
|
2651
|
+
var _useQueryParams = useQueryParams(),
|
|
2652
|
+
segmentId = _useQueryParams.segmentId;
|
|
2653
|
+
var segmentFormInitialRef = useRef(null);
|
|
2654
|
+
var _useSegment = useSegment({
|
|
2655
|
+
entity: entity,
|
|
2656
|
+
keyword: keyword,
|
|
2657
|
+
columns: columns,
|
|
2658
|
+
childrenKeys: childrenKeys
|
|
2659
|
+
}),
|
|
2660
|
+
isEdit = _useSegment.isEdit,
|
|
2661
|
+
filters = _useSegment.filters,
|
|
2662
|
+
handleSubmit = _useSegment.handleSubmit,
|
|
2663
|
+
isSubmitting = _useSegment.isSubmitting,
|
|
2664
|
+
keywordFilter = _useSegment.keywordFilter,
|
|
2665
|
+
isSavePaneOpen = _useSegment.isSavePaneOpen,
|
|
2666
|
+
nonHiddenFilters = _useSegment.nonHiddenFilters,
|
|
2667
|
+
setIsSavePaneOpen = _useSegment.setIsSavePaneOpen,
|
|
2668
|
+
handleApplyFilters = _useSegment.handleApplyFilters,
|
|
2669
|
+
childrenFiltersApplied = _useSegment.childrenFiltersApplied;
|
|
2670
|
+
var BarComponent = segmentId ? SegmentBar : FilterBar;
|
|
2671
|
+
var cachedSegments = queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, ""]) || DEFAULT_SEGMENTS_CACHE;
|
|
2672
|
+
var segment = findById(segmentId, cachedSegments.segments);
|
|
2673
|
+
if (isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;
|
|
2674
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
2675
|
+
className: classnames("neeto-filters-bar", _defineProperty({}, className, className))
|
|
2676
|
+
}, /*#__PURE__*/React.createElement(BarComponent, {
|
|
2677
|
+
childrenFiltersApplied: childrenFiltersApplied,
|
|
2678
|
+
childrenKeys: childrenKeys,
|
|
2679
|
+
entity: entity,
|
|
2680
|
+
filters: filters,
|
|
2681
|
+
handleApplyFilters: handleApplyFilters,
|
|
2682
|
+
keywordFilter: keywordFilter,
|
|
2683
|
+
nonHiddenFilters: nonHiddenFilters,
|
|
2684
|
+
setIsPaneOpen: setIsPaneOpen,
|
|
2685
|
+
setIsSavePaneOpen: setIsSavePaneOpen
|
|
2686
|
+
})), /*#__PURE__*/React.createElement(SegmentForm, {
|
|
2687
|
+
childrenKeys: childrenKeys,
|
|
2688
|
+
columns: columns,
|
|
2689
|
+
customFilters: customFilters,
|
|
2690
|
+
defaultSegmentName: defaultSegmentName,
|
|
2691
|
+
filters: filters,
|
|
2692
|
+
handleSubmit: handleSubmit,
|
|
2693
|
+
isEdit: isEdit,
|
|
2694
|
+
isSubmitting: isSubmitting,
|
|
2695
|
+
keywordFilter: keywordFilter,
|
|
2696
|
+
segmentFormInitialRef: segmentFormInitialRef,
|
|
2697
|
+
isOpen: isPresent(isSavePaneOpen.action),
|
|
2698
|
+
initialValues: isEdit ? assoc("filters", [{
|
|
2699
|
+
conditions: filters
|
|
2700
|
+
}], segment) : {
|
|
2701
|
+
name: "",
|
|
2702
|
+
filters: [{
|
|
2703
|
+
conditions: filters
|
|
2704
|
+
}]
|
|
2705
|
+
},
|
|
2706
|
+
onClose: function onClose() {
|
|
2707
|
+
return setIsSavePaneOpen({
|
|
2708
|
+
action: undefined
|
|
2233
2709
|
});
|
|
2234
|
-
return;
|
|
2235
|
-
}
|
|
2236
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2237
|
-
column: column,
|
|
2238
|
-
defaultType: defaultType,
|
|
2239
|
-
option: option
|
|
2240
|
-
});
|
|
2241
|
-
handleApplyFilter(updatedFilter);
|
|
2242
|
-
};
|
|
2243
|
-
var handleTimeRangeChange = function handleTimeRangeChange(times) {
|
|
2244
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2245
|
-
column: column,
|
|
2246
|
-
defaultType: defaultType,
|
|
2247
|
-
option: {
|
|
2248
|
-
value: pluck("$d", times).map(function (time) {
|
|
2249
|
-
return time.toISOString();
|
|
2250
|
-
})
|
|
2251
|
-
}
|
|
2252
|
-
});
|
|
2253
|
-
handleApplyFilter(updatedFilter);
|
|
2254
|
-
};
|
|
2255
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
2256
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2257
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
2258
|
-
autoFocus: autoFocus,
|
|
2259
|
-
label: label,
|
|
2260
|
-
value: value,
|
|
2261
|
-
isClearable: true,
|
|
2262
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
2263
|
-
options: TIME_OPTIONS,
|
|
2264
|
-
strategy: "fixed",
|
|
2265
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
2266
|
-
resource: label
|
|
2267
|
-
})
|
|
2268
|
-
}, isNotEmpty(helpIconProps) && {
|
|
2269
|
-
labelProps: {
|
|
2270
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2271
2710
|
}
|
|
2272
|
-
}
|
|
2273
|
-
onChange: handleChange
|
|
2274
|
-
})), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePicker, _extends({
|
|
2275
|
-
use12Hours: true,
|
|
2276
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
|
|
2277
|
-
format: "h:mm A",
|
|
2278
|
-
getPopupContainer: prop("parentNode"),
|
|
2279
|
-
type: "range",
|
|
2280
|
-
value: filter.value,
|
|
2281
|
-
onChange: handleTimeRangeChange
|
|
2282
|
-
}, otherProps)));
|
|
2711
|
+
}));
|
|
2283
2712
|
};
|
|
2284
|
-
var Time$1 = /*#__PURE__*/React.memo(Time);
|
|
2285
2713
|
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
var filter = useMemo(function () {
|
|
2296
|
-
return findBy({
|
|
2297
|
-
key: key
|
|
2298
|
-
}, filters);
|
|
2299
|
-
}, [filters, key]);
|
|
2300
|
-
var handleApplyFilter = function handleApplyFilter(updatedFilter) {
|
|
2301
|
-
if (updatedFilter._delete) onChange(removeBy({
|
|
2302
|
-
key: key
|
|
2303
|
-
}, filters));else if (!filter) onChange(append(updatedFilter, filters));else onChange(replaceBy({
|
|
2304
|
-
key: key
|
|
2305
|
-
}, updatedFilter, filters));
|
|
2306
|
-
};
|
|
2307
|
-
if (isText(defaultType) || isDigit(defaultType)) {
|
|
2308
|
-
return /*#__PURE__*/React.createElement(Text, {
|
|
2309
|
-
autoFocus: autoFocus,
|
|
2310
|
-
column: column,
|
|
2311
|
-
filter: filter,
|
|
2312
|
-
filters: filters,
|
|
2313
|
-
handleApplyFilter: handleApplyFilter,
|
|
2314
|
-
onClose: onClose
|
|
2315
|
-
});
|
|
2316
|
-
}
|
|
2317
|
-
if (isDate(defaultType)) {
|
|
2318
|
-
return /*#__PURE__*/React.createElement(Datetime$1, {
|
|
2319
|
-
autoFocus: autoFocus,
|
|
2320
|
-
column: column,
|
|
2321
|
-
filter: filter,
|
|
2322
|
-
handleApplyFilter: handleApplyFilter
|
|
2323
|
-
});
|
|
2714
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
2715
|
+
if (source == null) return {};
|
|
2716
|
+
var target = {};
|
|
2717
|
+
var sourceKeys = Object.keys(source);
|
|
2718
|
+
var key, i;
|
|
2719
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
2720
|
+
key = sourceKeys[i];
|
|
2721
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
2722
|
+
target[key] = source[key];
|
|
2324
2723
|
}
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2724
|
+
return target;
|
|
2725
|
+
}
|
|
2726
|
+
|
|
2727
|
+
function _objectWithoutProperties(source, excluded) {
|
|
2728
|
+
if (source == null) return {};
|
|
2729
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
2730
|
+
var key, i;
|
|
2731
|
+
if (Object.getOwnPropertySymbols) {
|
|
2732
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
2733
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
2734
|
+
key = sourceSymbolKeys[i];
|
|
2735
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
2736
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
2737
|
+
target[key] = source[key];
|
|
2738
|
+
}
|
|
2332
2739
|
}
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2740
|
+
return target;
|
|
2741
|
+
}
|
|
2742
|
+
|
|
2743
|
+
var useFilters = function useFilters(_ref) {
|
|
2744
|
+
var onFiltersChange = _ref.onFiltersChange,
|
|
2745
|
+
columns = _ref.columns,
|
|
2746
|
+
keywordFilter = _ref.keywordFilter,
|
|
2747
|
+
onSelectorsChange = _ref.onSelectorsChange;
|
|
2748
|
+
var _useTransition = useTransition(),
|
|
2749
|
+
_useTransition2 = _slicedToArray(_useTransition, 2);
|
|
2750
|
+
_useTransition2[0];
|
|
2751
|
+
var startTransition = _useTransition2[1];
|
|
2752
|
+
var initialRender = useRef(true);
|
|
2753
|
+
var prevFilters = useRef([]);
|
|
2754
|
+
var location = useLocation();
|
|
2755
|
+
var filters = buildFiltersFromSearchParams(columns, false);
|
|
2756
|
+
var history = useHistory$1();
|
|
2757
|
+
var defaultValuesOfColumns = JSON.stringify(pluck("defaultValue", columns));
|
|
2758
|
+
var handlePrecenseOfDefaultFilters = function handlePrecenseOfDefaultFilters(defaultFilters) {
|
|
2759
|
+
var params = buildUrlFromFilters({
|
|
2760
|
+
columns: columns,
|
|
2761
|
+
filters: isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(defaultFilters), [keywordFilter]) : defaultFilters
|
|
2340
2762
|
});
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
return /*#__PURE__*/React.createElement(SingleTime, {
|
|
2344
|
-
autoFocus: autoFocus,
|
|
2345
|
-
column: column,
|
|
2346
|
-
filter: filter,
|
|
2347
|
-
filters: filters,
|
|
2348
|
-
handleApplyFilter: handleApplyFilter
|
|
2763
|
+
history.replace({
|
|
2764
|
+
search: params
|
|
2349
2765
|
});
|
|
2350
|
-
}
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
handleApplyFilter: handleApplyFilter
|
|
2766
|
+
};
|
|
2767
|
+
var handleFiltersChange = function handleFiltersChange(filtersPayload) {
|
|
2768
|
+
startTransition(function () {
|
|
2769
|
+
onFiltersChange(buildFiltersPayload(filtersPayload.filter(function (filter) {
|
|
2770
|
+
return !isNil(filter.node);
|
|
2771
|
+
})));
|
|
2357
2772
|
});
|
|
2358
|
-
}
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2773
|
+
};
|
|
2774
|
+
|
|
2775
|
+
//This function sends the updated filters to host via callbacks.
|
|
2776
|
+
var sendUpdatedFilters = function sendUpdatedFilters() {
|
|
2777
|
+
if (compareFilters(append(keywordFilter, filters), prevFilters.current)) {
|
|
2778
|
+
return;
|
|
2779
|
+
}
|
|
2780
|
+
var newFilters = buildFiltersFromSearchParams(columns);
|
|
2781
|
+
var filtersPayload = isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? append(keywordFilter, newFilters) : newFilters;
|
|
2782
|
+
handleFiltersChange(filtersPayload);
|
|
2783
|
+
onSelectorsChange(buildSelectorsFromURL(columns));
|
|
2784
|
+
};
|
|
2785
|
+
var handleChangesInURL = function handleChangesInURL() {
|
|
2786
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
2787
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
2788
|
+
var keys = pluck("key", append(keywordFilter, columns));
|
|
2789
|
+
if (keys.every(function (key) {
|
|
2790
|
+
return isNil(searchParams[key]);
|
|
2791
|
+
}) && !isEmpty(defaultFilters)) {
|
|
2792
|
+
history.replace({
|
|
2793
|
+
search: buildUrlFromFilters({
|
|
2794
|
+
columns: columns,
|
|
2795
|
+
filters: concat(defaultFilters, filters)
|
|
2796
|
+
})
|
|
2797
|
+
});
|
|
2798
|
+
filters = buildFiltersFromSearchParams(columns, false);
|
|
2799
|
+
}
|
|
2800
|
+
};
|
|
2801
|
+
useEffect(function () {
|
|
2802
|
+
if (initialRender.current) {
|
|
2803
|
+
initialRender.current = false;
|
|
2804
|
+
var keywordValue = getSearchTermFromUrl();
|
|
2805
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
2806
|
+
isNotEmpty(defaultFilters) && handlePrecenseOfDefaultFilters(defaultFilters);
|
|
2807
|
+
prevFilters.current = append(mergeRight(keywordFilter, {
|
|
2808
|
+
value: keywordValue
|
|
2809
|
+
}), filters);
|
|
2810
|
+
} else {
|
|
2811
|
+
handleChangesInURL();
|
|
2812
|
+
sendUpdatedFilters();
|
|
2813
|
+
prevFilters.current = append(keywordFilter, filters);
|
|
2814
|
+
}
|
|
2815
|
+
}, [location.search, defaultValuesOfColumns]);
|
|
2816
|
+
return filters;
|
|
2365
2817
|
};
|
|
2366
2818
|
|
|
2367
2819
|
var _excluded = ["isOpen", "onClose", "columns", "onChange", "isSearchable", "keyword", "onSelectorsChange", "childrenKeys", "children", "className"];
|
|
@@ -2387,7 +2839,7 @@ var Pane = function Pane(_ref) {
|
|
|
2387
2839
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2388
2840
|
searchTerm = _useState2[0],
|
|
2389
2841
|
setSearchTerm = _useState2[1];
|
|
2390
|
-
var history = useHistory();
|
|
2842
|
+
var history = useHistory$1();
|
|
2391
2843
|
var _useTranslation = useTranslation(),
|
|
2392
2844
|
t = _useTranslation.t;
|
|
2393
2845
|
columns = useMemo(function () {
|
|
@@ -2529,7 +2981,7 @@ var Pane = function Pane(_ref) {
|
|
|
2529
2981
|
|
|
2530
2982
|
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
2531
2983
|
|
|
2532
|
-
var css = ".neeto-filters-bar{align-items:center;display:flex;flex-wrap:wrap}.neeto-filters-bar__block{border-radius:var(--neeto-ui-rounded);display:flex;gap:4px;margin:4px 0;max-width:384px;overflow:hidden;padding:4px 8px;position:relative;transition:var(--neeto-ui-transition);white-space:nowrap}.neeto-filters-bar__block p:first-child{color:rgb(var(--neeto-ui-gray-700))}.neeto-filters-bar__block-close{background-image:linear-gradient(90deg,rgba(var(--neeto-ui-gray-200),.5) 0,rgba(var(--neeto-ui-gray-200),1) 25%);color:rgb(var(--neeto-ui-gray-800));opacity:0;padding:8px;position:absolute;right:0;top:0;transition:var(--neeto-ui-transition)}.neeto-filters-bar__block:active,.neeto-filters-bar__block:hover{background-color:rgb(var(--neeto-ui-gray-200));cursor:pointer}.neeto-filters-bar__block:active .neeto-filters-bar__block-close,.neeto-filters-bar__block:hover .neeto-filters-bar__block-close{border-radius:var(--neeto-ui-rounded);color:rgb(var(--neeto-ui-black));opacity:1}.neeto-filters-bar__block:focus{box-shadow:0 0 0 3px rgba(var(--neeto-ui-gray-800),15%);outline:none}.neeto-filters-bar--separator{align-self:stretch;border-left:1px solid rgb(var(--neeto-ui-gray-400));margin:12px 8px}.neeto-filters-pane-filter{overflow:visible;width:360px}.neeto-filters-pane-filter__body{align-items:stretch!important;gap:20px}.neeto-filters-pane-filter__body>*{flex-grow:0!important}.neeto-filters-pane-filter__body p{text-align:center}.neeto-filters-pane-filter__body .neeto-filters-pane-filter__item-wrapper{display:flex;flex-direction:column;gap:8px}.neeto-filters-pane-filter__body .accordion_item .neeto-filters-pane-filter__item-wrapper{margin-top:16px}.neeto-filters-pane-filter__body .accordion_item .neeto-filters-pane-filter__item-wrapper:first-of-type{margin-top:0}.neeto-filters-pane-filter__body .accordion_item:first-of-type .neeto-ui-accordion__item{padding-top:0}.neeto-filters-pane-filter__body .neeto-ui-accordion__wrapper--last-item{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}@media screen and (max-width:767px){.neeto-filters-pane-filter{width:100vw}}.neeto-filters-pane-backdrop{-webkit-backdrop-filter:blur(0)!important;backdrop-filter:blur(0)!important;background-color:rgba(var(--neeto-ui-gray-700),.2)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19iYXIuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9pbmRleC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2ZpbHRlcnMuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUdFLGtCQUFBLENBRkEsWUFBQSxDQUNBLGNDRUYsQ0RDRSwwQkFLRSxxQ0FBQSxDQUhBLFlBQUEsQ0FFQSxPQUFBLENBR0EsWUFBQSxDQUNBLGVBQUEsQ0FFQSxlQUFBLENBVEEsZUFBQSxDQUVBLGlCQUFBLENBR0EscUNBQUEsQ0FHQSxrQkNFSixDRENJLHdDQUNFLG1DQ0NOLENERUksZ0NBUUUsZ0hBQUEsQ0FGQSxtQ0FBQSxDQURBLFNBQUEsQ0FEQSxXQUFBLENBSEEsaUJBQUEsQ0FFQSxPQUFBLENBREEsS0FBQSxDQUtBLHFDQ0NOLENET0ksaUVBRUUsOENBQUEsQ0FDQSxjQ05OLENEUU0saUlBR0UscUNBQUEsQ0FEQSxnQ0FBQSxDQURBLFNDSlIsQ0RVSSxnQ0FFRSx1REFBQSxDQURBLFlDUE4sQ0RZRSw4QkFHRSxrQkFBQSxDQUZBLG1EQUFBLENBQ0EsZUNUSixDQy9DQSwyQkFFRSxnQkFBQSxDQURBLFdEbURGLENDaERFLGlDQUNFLDZCQUFBLENBQ0EsUURrREosQ0NoREksbUNBQ0UscUJEa0ROLENDL0NJLG1DQUNFLGlCRGlETixDQzlDSSwwRUFDRSxZQUFBLENBQ0EscUJBQUEsQ0FDQSxPRGdETixDQzVDTSwwRkFDRSxlRDhDUixDQzVDUSx3R0FDRSxZRDhDVixDQzFDUSx5RkFDRSxhRDRDVixDQ3hDSSx5RUFDRSxzREQwQ04sQ0VqRUksb0NEZEosMkJBMENJLFdEeUNGLENBQ0YsQ0N0Q0EsNkJBQ0UseUNBQUEsQ0FBQSxpQ0FBQSxDQUNBLGtERHlDRiIsInNvdXJjZXNDb250ZW50IjpbIi5uZWV0by1maWx0ZXJzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmX19ibG9jayB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBnYXA6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgICBtYXJnaW46IDRweCAwO1xuICAgIG1heC13aWR0aDogMzg0cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgcDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSk7XG4gICAgfVxuXG4gICAgJi1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktODAwKSk7XG4gICAgICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgOTBkZWcsXG4gICAgICAgIHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS0yMDApLCAwLjUpIDAlLFxuICAgICAgICByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMSkgMjUlXG4gICAgICApO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWJsYWNrKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktODAwKSwgMTUlKTtcbiAgICB9XG4gIH1cblxuICAmLS1zZXBhcmF0b3Ige1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNDAwKSk7XG4gICAgbWFyZ2luOiAxMnB4IDhweDtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB9XG59XG4iLCIubmVldG8tZmlsdGVycy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrIHtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gIHRyYW5zaXRpb246IHZhcigtLW5lZXRvLXVpLXRyYW5zaXRpb24pO1xuICBtYXJnaW46IDRweCAwO1xuICBtYXgtd2lkdGg6IDM4NHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jayBwOmZpcnN0LWNoaWxkIHtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTcwMCkpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jay1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogOHB4O1xuICBvcGFjaXR5OiAwO1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktODAwKSk7XG4gIHRyYW5zaXRpb246IHZhcigtLW5lZXRvLXVpLXRyYW5zaXRpb24pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS0yMDApLCAwLjUpIDAlLCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMSkgMjUlKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6aG92ZXIsIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6aG92ZXIgLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jay1jbG9zZSwgLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazphY3RpdmUgLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jay1jbG9zZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktYmxhY2spKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS04MDApLCAxNSUpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyLS1zZXBhcmF0b3Ige1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTQwMCkpO1xuICBtYXJnaW46IDEycHggOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gIHdpZHRoOiAzNjBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIGdhcDogMjBweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5ID4gKiB7XG4gIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19pdGVtLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgLmFjY29yZGlvbl9pdGVtOmZpcnN0LW9mLXR5cGUgLm5lZXRvLXVpLWFjY29yZGlvbl9faXRlbSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgLm5lZXRvLXVpLWFjY29yZGlvbl9fd3JhcHBlci0tbGFzdC1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1iYWNrZHJvcCB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS03MDApLCAwLjIpO1xufSIsIi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyIHtcbiAgd2lkdGg6IDM2MHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAmX19ib2R5IHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICAgIGdhcDogMjBweDtcblxuICAgID4gKiB7XG4gICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbl9pdGVtIHtcbiAgICAgIC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19pdGVtLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgLm5lZXRvLXVpLWFjY29yZGlvbl9faXRlbSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm5lZXRvLXVpLWFjY29yZGlvbl9fd3JhcHBlci0tbGFzdC1pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdmlld3BvcnQobW9iKSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG59XG5cbi5uZWV0by1maWx0ZXJzLXBhbmUtYmFja2Ryb3Age1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMHB4KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSwgMC4yKTtcbn1cbiIsIkBtaXhpbiB2aWV3cG9ydCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYT09ZGVzayB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT10YWItbWluIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PXRhYi1vbmx5IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09bW9iIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09eHMtbW9iIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXX0= */";
|
|
2984
|
+
var css = ".neeto-filters-bar{align-items:center;display:flex;flex-wrap:wrap}.neeto-filters-bar__block{border-radius:var(--neeto-ui-rounded);display:flex;gap:4px;margin:4px 0;max-width:384px;overflow:hidden;padding:4px 8px;position:relative;transition:var(--neeto-ui-transition);white-space:nowrap}.neeto-filters-bar__block p:first-child{color:rgb(var(--neeto-ui-gray-700))}.neeto-filters-bar__block-close{background-image:linear-gradient(90deg,rgba(var(--neeto-ui-gray-200),.5) 0,rgba(var(--neeto-ui-gray-200),1) 25%);color:rgb(var(--neeto-ui-gray-800));opacity:0;padding:8px;position:absolute;right:0;top:0;transition:var(--neeto-ui-transition)}.neeto-filters-bar__block:active,.neeto-filters-bar__block:hover{background-color:rgb(var(--neeto-ui-gray-200));cursor:pointer}.neeto-filters-bar__block:active .neeto-filters-bar__block-close,.neeto-filters-bar__block:hover .neeto-filters-bar__block-close{border-radius:var(--neeto-ui-rounded);color:rgb(var(--neeto-ui-black));opacity:1}.neeto-filters-bar__block:focus{box-shadow:0 0 0 3px rgba(var(--neeto-ui-gray-800),15%);outline:none}.neeto-filters-bar--separator{align-self:stretch;border-left:1px solid rgb(var(--neeto-ui-gray-400));margin:12px 8px}.neeto-filters-pane-filter{overflow:visible;width:360px}.neeto-filters-pane-filter__body{align-items:stretch!important;gap:20px}.neeto-filters-pane-filter__body>*{flex-grow:0!important}.neeto-filters-pane-filter__body p{text-align:center}.neeto-filters-pane-filter__body .neeto-filters-pane-filter__item-wrapper{display:flex;flex:1;flex-direction:column;gap:8px}.neeto-filters-pane-filter__body .accordion_item .neeto-filters-pane-filter__item-wrapper{flex:1;margin-top:16px}.neeto-filters-pane-filter__body .accordion_item .neeto-filters-pane-filter__item-wrapper:first-of-type{margin-top:0}.neeto-filters-pane-filter__body .accordion_item:first-of-type .neeto-ui-accordion__item{padding-top:0}.neeto-filters-pane-filter__body .neeto-ui-accordion__wrapper--last-item{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}@media screen and (max-width:767px){.neeto-filters-pane-filter{width:100vw}}.neeto-filters-pane-backdrop{-webkit-backdrop-filter:blur(0)!important;backdrop-filter:blur(0)!important;background-color:rgba(var(--neeto-ui-gray-700),.2)}.neeto-filters-segment--active{border-color:rgb(var(--neeto-ui-primary-500))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-500))!important}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19iYXIuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9pbmRleC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2ZpbHRlcnMuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3NlZ21lbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBR0Usa0JBQUEsQ0FGQSxZQUFBLENBQ0EsY0NFRixDRENFLDBCQUtFLHFDQUFBLENBSEEsWUFBQSxDQUVBLE9BQUEsQ0FHQSxZQUFBLENBQ0EsZUFBQSxDQUVBLGVBQUEsQ0FUQSxlQUFBLENBRUEsaUJBQUEsQ0FHQSxxQ0FBQSxDQUdBLGtCQ0VKLENEQ0ksd0NBQ0UsbUNDQ04sQ0RFSSxnQ0FRRSxnSEFBQSxDQUZBLG1DQUFBLENBREEsU0FBQSxDQURBLFdBQUEsQ0FIQSxpQkFBQSxDQUVBLE9BQUEsQ0FEQSxLQUFBLENBS0EscUNDQ04sQ0RPSSxpRUFFRSw4Q0FBQSxDQUNBLGNDTk4sQ0RRTSxpSUFHRSxxQ0FBQSxDQURBLGdDQUFBLENBREEsU0NKUixDRFVJLGdDQUVFLHVEQUFBLENBREEsWUNQTixDRFlFLDhCQUdFLGtCQUFBLENBRkEsbURBQUEsQ0FDQSxlQ1RKLENDL0NBLDJCQUVFLGdCQUFBLENBREEsV0RtREYsQ0NoREUsaUNBQ0UsNkJBQUEsQ0FDQSxRRGtESixDQ2hESSxtQ0FDRSxxQkRrRE4sQ0MvQ0ksbUNBQ0UsaUJEaUROLENDOUNJLDBFQUNFLFlBQUEsQ0FHQSxNQUFBLENBRkEscUJBQUEsQ0FDQSxPRGlETixDQzVDTSwwRkFFRSxNQUFBLENBREEsZUQrQ1IsQ0M1Q1Esd0dBQ0UsWUQ4Q1YsQ0MxQ1EseUZBQ0UsYUQ0Q1YsQ0N4Q0kseUVBQ0Usc0REMENOLENFbkVJLG9DRGRKLDJCQTRDSSxXRHlDRixDQUNGLENDdENBLDZCQUNFLHlDQUFBLENBQUEsaUNBQUEsQ0FDQSxrRER5Q0YsQ0czRkEsK0JBQ0UsdURBQUEsQ0FDQSwrREg4RkYiLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tZmlsdGVycy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJl9fYmxvY2sge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ2FwOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICBtYXgtd2lkdGg6IDM4NHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTcwMCkpO1xuICAgIH1cblxuICAgICYtY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkwZGVnLFxuICAgICAgICByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSxcbiAgICAgICAgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTgwMCksIDE1JSk7XG4gICAgfVxuICB9XG5cbiAgJi0tc2VwYXJhdG9yIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTQwMCkpO1xuICAgIG1hcmdpbjogMTJweCA4cHg7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxufVxuIiwiLm5lZXRvLWZpbHRlcnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jayB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgbWFyZ2luOiA0cHggMDtcbiAgbWF4LXdpZHRoOiAzODRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2sgcDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSwgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyLCAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2UsIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6YWN0aXZlIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWJsYWNrKSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktODAwKSwgMTUlKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhci0tc2VwYXJhdG9yIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS00MDApKTtcbiAgbWFyZ2luOiAxMnB4IDhweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXIge1xuICB3aWR0aDogMzYwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICBnYXA6IDIwcHg7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSA+ICoge1xuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlcjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbTpmaXJzdC1vZi10eXBlIC5uZWV0by11aS1hY2NvcmRpb25fX2l0ZW0ge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5uZWV0by11aS1hY2NvcmRpb25fX3dyYXBwZXItLWxhc3QtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG59XG5cbi5uZWV0by1maWx0ZXJzLXBhbmUtYmFja2Ryb3Age1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMHB4KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSwgMC4yKTtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2VnbWVudC0tYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS01MDApKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbn0iLCIubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gIHdpZHRoOiAzNjBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJl9fYm9keSB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICA+ICoge1xuICAgICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX2l0ZW0ge1xuICAgICAgLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAubmVldG8tdWktYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubmVldG8tdWktYWNjb3JkaW9uX193cmFwcGVyLS1sYXN0LWl0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB2aWV3cG9ydChtb2IpIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1iYWNrZHJvcCB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS03MDApLCAwLjIpO1xufVxuIiwiQG1peGluIHZpZXdwb3J0KCRtZWRpYSkge1xuICBAaWYgJG1lZGlhPT1kZXNrIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PXRhYi1taW4ge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09dGFiLW9ubHkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT1tb2Ige1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT14cy1tb2Ige1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5uZWV0by1maWx0ZXJzLXNlZ21lbnQtLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYih2YXIoLS1uZWV0by11aS1wcmltYXJ5LTUwMCkpICFpbXBvcnRhbnQ7XG59XG4iXX0= */";
|
|
2533
2985
|
n(css,{});
|
|
2534
2986
|
|
|
2535
2987
|
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; }
|
|
@@ -2585,14 +3037,22 @@ var Filters = withT(function (_ref) {
|
|
|
2585
3037
|
}, paneProps)), children));
|
|
2586
3038
|
});
|
|
2587
3039
|
|
|
2588
|
-
var
|
|
3040
|
+
var ITEMS_MAX_COUNT = 20;
|
|
3041
|
+
var SEGMENT_ACTIONS = {
|
|
3042
|
+
EDIT: "edit",
|
|
3043
|
+
DELETE: "delete"
|
|
3044
|
+
};
|
|
3045
|
+
|
|
3046
|
+
var Delete = function Delete(_ref) {
|
|
2589
3047
|
var isOpen = _ref.isOpen,
|
|
2590
3048
|
onClose = _ref.onClose,
|
|
2591
|
-
segment = _ref.segment,
|
|
2592
|
-
|
|
3049
|
+
_ref$segment = _ref.segment,
|
|
3050
|
+
segment = _ref$segment === void 0 ? {} : _ref$segment,
|
|
3051
|
+
_ref$columns = _ref.columns,
|
|
3052
|
+
columns = _ref$columns === void 0 ? [] : _ref$columns;
|
|
2593
3053
|
var _useTranslation = useTranslation(),
|
|
2594
3054
|
t = _useTranslation.t;
|
|
2595
|
-
var history = useHistory();
|
|
3055
|
+
var history = useHistory$1();
|
|
2596
3056
|
var _getQueryParams = getQueryParams(),
|
|
2597
3057
|
segmentId = _getQueryParams.segmentId;
|
|
2598
3058
|
var _useDestroySegment = useDestroySegment(),
|
|
@@ -2630,162 +3090,56 @@ var DeleteAlert = function DeleteAlert(_ref) {
|
|
|
2630
3090
|
});
|
|
2631
3091
|
};
|
|
2632
3092
|
|
|
2633
|
-
var
|
|
2634
|
-
var
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
setIsEditing = _useState2[1];
|
|
2641
|
-
var _useState3 = useState(false),
|
|
2642
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
2643
|
-
isDeleteAlertOpen = _useState4[0],
|
|
2644
|
-
setIsDeleteAlertOpen = _useState4[1];
|
|
2645
|
-
var _useTranslation = useTranslation(),
|
|
2646
|
-
t = _useTranslation.t;
|
|
2647
|
-
var Menu = Dropdown$2.Menu,
|
|
2648
|
-
MenuItem = Dropdown$2.MenuItem;
|
|
2649
|
-
var _useUpdateSegment = useUpdateSegment(),
|
|
2650
|
-
updateSegment = _useUpdateSegment.mutate;
|
|
2651
|
-
var handleRename = function handleRename(values) {
|
|
2652
|
-
return updateSegment({
|
|
2653
|
-
id: segment.id,
|
|
2654
|
-
payload: values
|
|
2655
|
-
}, {
|
|
2656
|
-
onSuccess: function onSuccess() {
|
|
2657
|
-
return setIsEditing(false);
|
|
2658
|
-
}
|
|
2659
|
-
});
|
|
2660
|
-
};
|
|
2661
|
-
return /*#__PURE__*/React.createElement(Form, {
|
|
2662
|
-
className: "neeto-ui-rounded-md flex w-full items-center justify-between border p-2",
|
|
2663
|
-
formProps: {
|
|
2664
|
-
noValidate: true
|
|
2665
|
-
},
|
|
2666
|
-
formikProps: {
|
|
2667
|
-
initialValues: segment,
|
|
2668
|
-
validateOnChange: true,
|
|
2669
|
-
validateOnBlur: true,
|
|
2670
|
-
validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
|
|
2671
|
-
onSubmit: handleRename,
|
|
2672
|
-
enableReinitialize: true
|
|
2673
|
-
}
|
|
2674
|
-
}, function (_ref2) {
|
|
2675
|
-
var resetForm = _ref2.resetForm;
|
|
2676
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, isEditing ? /*#__PURE__*/React.createElement(FormikInlineInput, {
|
|
2677
|
-
autoFocus: true,
|
|
2678
|
-
nakedInput: true,
|
|
2679
|
-
handleCancel: function handleCancel() {
|
|
2680
|
-
return setIsEditing(false);
|
|
2681
|
-
},
|
|
2682
|
-
name: "name",
|
|
2683
|
-
placeholder: t("neetoFilters.segments.name")
|
|
2684
|
-
}) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
|
|
2685
|
-
style: "body2"
|
|
2686
|
-
}, segment.name), /*#__PURE__*/React.createElement(Dropdown$2, {
|
|
2687
|
-
buttonStyle: "text",
|
|
2688
|
-
disabled: isNotPresent(segment.id),
|
|
2689
|
-
icon: MenuHorizontal,
|
|
2690
|
-
size: "small"
|
|
2691
|
-
}, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
2692
|
-
onClick: function onClick() {
|
|
2693
|
-
setIsEditing(true);
|
|
2694
|
-
resetForm();
|
|
2695
|
-
}
|
|
2696
|
-
}, t("neetoFilters.common.rename")), /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
2697
|
-
onClick: function onClick() {
|
|
2698
|
-
return setIsDeleteAlertOpen(true);
|
|
2699
|
-
}
|
|
2700
|
-
}, t("neetoFilters.common.delete"))))), /*#__PURE__*/React.createElement(DeleteAlert, {
|
|
2701
|
-
columns: columns,
|
|
2702
|
-
segment: segment,
|
|
2703
|
-
isOpen: isDeleteAlertOpen,
|
|
2704
|
-
onClose: function onClose() {
|
|
2705
|
-
return setIsDeleteAlertOpen(false);
|
|
2706
|
-
}
|
|
2707
|
-
}));
|
|
2708
|
-
});
|
|
2709
|
-
};
|
|
2710
|
-
var Card$1 = /*#__PURE__*/React.memo(Card);
|
|
2711
|
-
|
|
2712
|
-
var ManagePane = function ManagePane(_ref) {
|
|
2713
|
-
var isOpen = _ref.isOpen,
|
|
2714
|
-
onClose = _ref.onClose,
|
|
2715
|
-
entity = _ref.entity,
|
|
2716
|
-
columns = _ref.columns,
|
|
2717
|
-
defaultSegmentName = _ref.defaultSegmentName;
|
|
2718
|
-
var _useState = useState(""),
|
|
2719
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2720
|
-
searchTerm = _useState2[0],
|
|
2721
|
-
setSearchTerm = _useState2[1];
|
|
2722
|
-
var inputRef = useRef(null);
|
|
2723
|
-
var _useTranslation = useTranslation(),
|
|
2724
|
-
t = _useTranslation.t;
|
|
2725
|
-
var debouncedSearchTerm = useDebounce(searchTerm);
|
|
2726
|
-
var _useFetchSegments = useFetchSegments({
|
|
2727
|
-
entity: entity,
|
|
2728
|
-
searchTerm: debouncedSearchTerm
|
|
2729
|
-
}),
|
|
2730
|
-
_useFetchSegments$dat = _useFetchSegments.data,
|
|
2731
|
-
segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
|
|
2732
|
-
isLoading = _useFetchSegments.isLoading;
|
|
2733
|
-
return /*#__PURE__*/React.createElement(Pane$1, {
|
|
2734
|
-
isOpen: isOpen,
|
|
2735
|
-
onClose: onClose,
|
|
2736
|
-
initialFocusRef: inputRef
|
|
2737
|
-
}, /*#__PURE__*/React.createElement(Pane$1.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
2738
|
-
style: "h2"
|
|
2739
|
-
}, t("neetoFilters.segments.manageSegments"))), /*#__PURE__*/React.createElement(Pane$1.Body, {
|
|
2740
|
-
className: "max-h-full gap-4 overflow-scroll"
|
|
2741
|
-
}, /*#__PURE__*/React.createElement(Search, {
|
|
2742
|
-
className: "w-full flex-grow-0",
|
|
2743
|
-
placeholder: t("neetoFilters.segments.searchSegments"),
|
|
2744
|
-
ref: inputRef,
|
|
2745
|
-
onSearch: function onSearch(value) {
|
|
2746
|
-
return setSearchTerm(value);
|
|
2747
|
-
}
|
|
2748
|
-
}), isLoading ? /*#__PURE__*/React.createElement(Spinner, {
|
|
2749
|
-
className: "mx-auto mt-4"
|
|
2750
|
-
}) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Card$1, {
|
|
2751
|
-
segment: {
|
|
2752
|
-
name: defaultSegmentName
|
|
2753
|
-
}
|
|
2754
|
-
}), isEmpty(segments) ? /*#__PURE__*/React.createElement(Typography, {
|
|
2755
|
-
className: "mx-auto",
|
|
2756
|
-
style: "body2"
|
|
2757
|
-
}, t("neetoFilters.segments.noSegmentsFound")) : segments.map(function (segment) {
|
|
2758
|
-
return /*#__PURE__*/React.createElement(Card$1, {
|
|
2759
|
-
columns: columns,
|
|
2760
|
-
defaultSegmentName: defaultSegmentName,
|
|
2761
|
-
segment: segment,
|
|
2762
|
-
key: segment.id
|
|
2763
|
-
});
|
|
2764
|
-
}))));
|
|
3093
|
+
var reorderList = function reorderList(list, startIndex, endIndex) {
|
|
3094
|
+
var result = Array.from(list);
|
|
3095
|
+
var _result$splice = result.splice(startIndex, 1),
|
|
3096
|
+
_result$splice2 = _slicedToArray(_result$splice, 1),
|
|
3097
|
+
removed = _result$splice2[0];
|
|
3098
|
+
result.splice(endIndex, 0, removed);
|
|
3099
|
+
return result;
|
|
2765
3100
|
};
|
|
2766
3101
|
|
|
2767
|
-
var
|
|
2768
|
-
|
|
2769
|
-
var MenuBlocks = function MenuBlocks(_ref) {
|
|
3102
|
+
var useSegments = function useSegments(_ref) {
|
|
2770
3103
|
var entity = _ref.entity,
|
|
2771
3104
|
columns = _ref.columns,
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2775
|
-
showAll = _useState2[0],
|
|
2776
|
-
setShowAll = _useState2[1];
|
|
2777
|
-
var history = useHistory();
|
|
3105
|
+
appliedFilters = _ref.appliedFilters,
|
|
3106
|
+
childrenKeys = _ref.childrenKeys;
|
|
2778
3107
|
var _useTranslation = useTranslation(),
|
|
2779
3108
|
t = _useTranslation.t;
|
|
2780
|
-
var
|
|
2781
|
-
|
|
2782
|
-
|
|
3109
|
+
var history = useHistory$1();
|
|
3110
|
+
var _useState = useState([]),
|
|
3111
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3112
|
+
segments = _useState2[0],
|
|
3113
|
+
setSegments = _useState2[1];
|
|
2783
3114
|
var _useFetchSegments = useFetchSegments({
|
|
2784
3115
|
entity: entity
|
|
2785
3116
|
}),
|
|
2786
|
-
|
|
2787
|
-
segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
|
|
3117
|
+
fetchedSegments = _useFetchSegments.data,
|
|
2788
3118
|
isLoading = _useFetchSegments.isLoading;
|
|
3119
|
+
var _useUpdateSegment = useUpdateSegment(),
|
|
3120
|
+
updateSegment = _useUpdateSegment.mutate,
|
|
3121
|
+
isUpdating = _useUpdateSegment.isLoading;
|
|
3122
|
+
var _useState3 = useState({
|
|
3123
|
+
action: "",
|
|
3124
|
+
segment: undefined
|
|
3125
|
+
}),
|
|
3126
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
3127
|
+
confirmAction = _useState4[0],
|
|
3128
|
+
setConfirmAction = _useState4[1];
|
|
3129
|
+
var handleSegmentsReorder = function handleSegmentsReorder(_ref2) {
|
|
3130
|
+
var source = _ref2.source,
|
|
3131
|
+
destination = _ref2.destination;
|
|
3132
|
+
if (!destination || source.index === destination.index) return;
|
|
3133
|
+
var reorderedSegments = reorderList(segments, source.index, destination.index);
|
|
3134
|
+
updateSegment({
|
|
3135
|
+
id: segments[source.index].id,
|
|
3136
|
+
payload: {
|
|
3137
|
+
position: destination.index + 1
|
|
3138
|
+
},
|
|
3139
|
+
showToastr: false
|
|
3140
|
+
});
|
|
3141
|
+
setSegments(reorderedSegments);
|
|
3142
|
+
};
|
|
2789
3143
|
var clearAppliedFilters = function clearAppliedFilters() {
|
|
2790
3144
|
var _filters$, _filters$2;
|
|
2791
3145
|
var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : appliedFilters;
|
|
@@ -2800,10 +3154,10 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2800
3154
|
})
|
|
2801
3155
|
});
|
|
2802
3156
|
};
|
|
2803
|
-
var
|
|
3157
|
+
var handleSelectSegment = function handleSelectSegment(_ref3) {
|
|
2804
3158
|
var _filters$3;
|
|
2805
|
-
var id =
|
|
2806
|
-
filters =
|
|
3159
|
+
var id = _ref3.id,
|
|
3160
|
+
filters = _ref3.filters;
|
|
2807
3161
|
history.push({
|
|
2808
3162
|
search: buildUrlFromSegment({
|
|
2809
3163
|
columns: columns,
|
|
@@ -2812,14 +3166,9 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2812
3166
|
})
|
|
2813
3167
|
});
|
|
2814
3168
|
};
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
return equals(id, segmentId) ? clearAppliedFilters(filters) : applySelectedSegment({
|
|
2819
|
-
id: id,
|
|
2820
|
-
filters: filters
|
|
2821
|
-
});
|
|
2822
|
-
};
|
|
3169
|
+
useEffect(function () {
|
|
3170
|
+
setSegments(fetchedSegments);
|
|
3171
|
+
}, [fetchedSegments]);
|
|
2823
3172
|
if (isLoading) {
|
|
2824
3173
|
return /*#__PURE__*/React.createElement(Spinner, null);
|
|
2825
3174
|
}
|
|
@@ -2828,6 +3177,139 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2828
3177
|
style: "body2"
|
|
2829
3178
|
}, t("neetoFilters.segments.noSegmentsFound"));
|
|
2830
3179
|
}
|
|
3180
|
+
var handleUpdate = function handleUpdate(_ref4, _ref5) {
|
|
3181
|
+
var name = _ref4.name;
|
|
3182
|
+
var setFieldError = _ref5.setFieldError;
|
|
3183
|
+
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
3184
|
+
updateSegment({
|
|
3185
|
+
id: confirmAction.segment.id,
|
|
3186
|
+
payload: {
|
|
3187
|
+
name: name,
|
|
3188
|
+
filters: filtersPayload
|
|
3189
|
+
},
|
|
3190
|
+
showToastr: false
|
|
3191
|
+
}, {
|
|
3192
|
+
onSuccess: function onSuccess() {
|
|
3193
|
+
showThumbsUpToastr();
|
|
3194
|
+
setConfirmAction({
|
|
3195
|
+
action: "",
|
|
3196
|
+
segment: undefined
|
|
3197
|
+
});
|
|
3198
|
+
},
|
|
3199
|
+
onError: function onError(error) {
|
|
3200
|
+
return setFieldError("name", error.response.data.error);
|
|
3201
|
+
}
|
|
3202
|
+
});
|
|
3203
|
+
};
|
|
3204
|
+
var filters = buildFiltersFromSearchParams(columns);
|
|
3205
|
+
return {
|
|
3206
|
+
segments: segments,
|
|
3207
|
+
clearAppliedFilters: clearAppliedFilters,
|
|
3208
|
+
handleSelectSegment: handleSelectSegment,
|
|
3209
|
+
handleSegmentsReorder: handleSegmentsReorder,
|
|
3210
|
+
setConfirmAction: setConfirmAction,
|
|
3211
|
+
isUpdating: isUpdating,
|
|
3212
|
+
handleUpdate: handleUpdate,
|
|
3213
|
+
filters: filters,
|
|
3214
|
+
onClose: function onClose() {
|
|
3215
|
+
return setConfirmAction({
|
|
3216
|
+
action: "",
|
|
3217
|
+
segment: undefined
|
|
3218
|
+
});
|
|
3219
|
+
},
|
|
3220
|
+
selectedSegment: confirmAction.segment,
|
|
3221
|
+
isDeleteAlertOpen: confirmAction.action === SEGMENT_ACTIONS.DELETE,
|
|
3222
|
+
isEditPaneOpen: confirmAction.action === SEGMENT_ACTIONS.EDIT
|
|
3223
|
+
};
|
|
3224
|
+
};
|
|
3225
|
+
|
|
3226
|
+
var Segment = function Segment(_ref) {
|
|
3227
|
+
var id = _ref.id,
|
|
3228
|
+
isActive = _ref.isActive,
|
|
3229
|
+
label = _ref.label,
|
|
3230
|
+
onClick = _ref.onClick,
|
|
3231
|
+
_ref$shouldShowDropdo = _ref.shouldShowDropdown,
|
|
3232
|
+
shouldShowDropdown = _ref$shouldShowDropdo === void 0 ? false : _ref$shouldShowDropdo,
|
|
3233
|
+
segments = _ref.segments,
|
|
3234
|
+
setConfirmAction = _ref.setConfirmAction;
|
|
3235
|
+
var _useTranslation = useTranslation(),
|
|
3236
|
+
t = _useTranslation.t;
|
|
3237
|
+
var menuItems = [{
|
|
3238
|
+
key: "edit",
|
|
3239
|
+
label: t("neetoFilters.common.edit"),
|
|
3240
|
+
onClick: function onClick() {
|
|
3241
|
+
return setConfirmAction({
|
|
3242
|
+
action: SEGMENT_ACTIONS.EDIT,
|
|
3243
|
+
segment: findById(id, segments)
|
|
3244
|
+
});
|
|
3245
|
+
}
|
|
3246
|
+
}, {
|
|
3247
|
+
key: "delete",
|
|
3248
|
+
label: t("neetoFilters.common.delete"),
|
|
3249
|
+
onClick: function onClick() {
|
|
3250
|
+
return setConfirmAction({
|
|
3251
|
+
action: SEGMENT_ACTIONS.DELETE,
|
|
3252
|
+
segment: findById(id, segments)
|
|
3253
|
+
});
|
|
3254
|
+
}
|
|
3255
|
+
}];
|
|
3256
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3257
|
+
onClick: onClick,
|
|
3258
|
+
"data-cy": "neeto-filters-segment-block-".concat(hyphenate(label)),
|
|
3259
|
+
className: classnames("neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out", {
|
|
3260
|
+
"neeto-filters-segment--active": isActive
|
|
3261
|
+
})
|
|
3262
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
3263
|
+
className: "flex flex-grow items-center gap-2 overflow-hidden",
|
|
3264
|
+
"data-cy": "new-element-field"
|
|
3265
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
3266
|
+
className: "truncate leading-snug",
|
|
3267
|
+
"data-cy": hyphenate(label),
|
|
3268
|
+
style: "body2"
|
|
3269
|
+
}, label)), shouldShowDropdown && /*#__PURE__*/React.createElement(MoreDropdown, {
|
|
3270
|
+
menuItems: menuItems,
|
|
3271
|
+
dropdownButtonProps: {
|
|
3272
|
+
className: "min-h-0 flex-shrink-0",
|
|
3273
|
+
"data-cy": "".concat(hyphenate(label), "-more-dropdown")
|
|
3274
|
+
}
|
|
3275
|
+
}));
|
|
3276
|
+
};
|
|
3277
|
+
|
|
3278
|
+
var MenuBlocks = function MenuBlocks(_ref) {
|
|
3279
|
+
var entity = _ref.entity,
|
|
3280
|
+
columns = _ref.columns,
|
|
3281
|
+
defaultSegmentName = _ref.defaultSegmentName,
|
|
3282
|
+
childrenKeys = _ref.childrenKeys,
|
|
3283
|
+
customFilters = _ref.customFilters;
|
|
3284
|
+
var _useTranslation = useTranslation(),
|
|
3285
|
+
t = _useTranslation.t;
|
|
3286
|
+
var segmentFormInitialRef = useRef(null);
|
|
3287
|
+
var _useState = useState(false),
|
|
3288
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3289
|
+
showAll = _useState2[0],
|
|
3290
|
+
setShowAll = _useState2[1];
|
|
3291
|
+
var _getQueryParams = getQueryParams(),
|
|
3292
|
+
segmentId = _getQueryParams.segmentId;
|
|
3293
|
+
var appliedFilters = buildFiltersFromURL(columns);
|
|
3294
|
+
var _useSegments = useSegments({
|
|
3295
|
+
entity: entity,
|
|
3296
|
+
columns: columns,
|
|
3297
|
+
appliedFilters: appliedFilters,
|
|
3298
|
+
childrenKeys: childrenKeys
|
|
3299
|
+
}),
|
|
3300
|
+
_useSegments$segments = _useSegments.segments,
|
|
3301
|
+
segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
|
|
3302
|
+
clearAppliedFilters = _useSegments.clearAppliedFilters,
|
|
3303
|
+
handleSelectSegment = _useSegments.handleSelectSegment,
|
|
3304
|
+
handleSegmentsReorder = _useSegments.handleSegmentsReorder,
|
|
3305
|
+
onClose = _useSegments.onClose,
|
|
3306
|
+
setConfirmAction = _useSegments.setConfirmAction,
|
|
3307
|
+
selectedSegment = _useSegments.selectedSegment,
|
|
3308
|
+
isDeleteAlertOpen = _useSegments.isDeleteAlertOpen,
|
|
3309
|
+
isEditPaneOpen = _useSegments.isEditPaneOpen,
|
|
3310
|
+
isUpdating = _useSegments.isUpdating,
|
|
3311
|
+
handleUpdate = _useSegments.handleUpdate,
|
|
3312
|
+
filters = _useSegments.filters;
|
|
2831
3313
|
return /*#__PURE__*/React.createElement(React.Fragment, null, segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React.createElement(Button, {
|
|
2832
3314
|
icon: Down,
|
|
2833
3315
|
style: "link",
|
|
@@ -2839,71 +3321,90 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2839
3321
|
return !open;
|
|
2840
3322
|
});
|
|
2841
3323
|
}
|
|
2842
|
-
}), /*#__PURE__*/React.createElement(
|
|
2843
|
-
|
|
3324
|
+
}), /*#__PURE__*/React.createElement(Segment, {
|
|
3325
|
+
isActive: isEmpty(appliedFilters),
|
|
2844
3326
|
label: defaultSegmentName,
|
|
2845
3327
|
onClick: clearAppliedFilters
|
|
2846
|
-
}),
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
3328
|
+
}), /*#__PURE__*/React.createElement(DragDropContext, {
|
|
3329
|
+
onDragEnd: handleSegmentsReorder
|
|
3330
|
+
}, /*#__PURE__*/React.createElement(Droppable, {
|
|
3331
|
+
droppableId: "neeto-filters-segments-".concat(entity)
|
|
3332
|
+
}, function (_ref2) {
|
|
3333
|
+
var innerRef = _ref2.innerRef,
|
|
3334
|
+
droppableProps = _ref2.droppableProps,
|
|
3335
|
+
placeholder = _ref2.placeholder;
|
|
3336
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
3337
|
+
ref: innerRef
|
|
3338
|
+
}, droppableProps), segments.slice(0, showAll ? segments.length : ITEMS_MAX_COUNT).map(function (segment, index) {
|
|
3339
|
+
return /*#__PURE__*/React.createElement(Draggable, {
|
|
3340
|
+
index: index,
|
|
3341
|
+
draggableId: segment.id.toString(),
|
|
3342
|
+
isDragDisabled: isUpdating,
|
|
3343
|
+
key: segment.id.toString()
|
|
3344
|
+
}, function (_ref3) {
|
|
3345
|
+
var innerRef = _ref3.innerRef,
|
|
3346
|
+
draggableProps = _ref3.draggableProps,
|
|
3347
|
+
dragHandleProps = _ref3.dragHandleProps;
|
|
3348
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
3349
|
+
ref: innerRef
|
|
3350
|
+
}, draggableProps, dragHandleProps), /*#__PURE__*/React.createElement(Segment, {
|
|
3351
|
+
segments: segments,
|
|
3352
|
+
setConfirmAction: setConfirmAction,
|
|
3353
|
+
shouldShowDropdown: true,
|
|
3354
|
+
id: segment.id,
|
|
3355
|
+
isActive: segment.id === segmentId,
|
|
3356
|
+
key: segment.id,
|
|
3357
|
+
label: segment.name,
|
|
3358
|
+
onClick: function onClick() {
|
|
3359
|
+
return handleSelectSegment(segment);
|
|
3360
|
+
}
|
|
3361
|
+
}));
|
|
3362
|
+
});
|
|
3363
|
+
}), placeholder);
|
|
3364
|
+
})), /*#__PURE__*/React.createElement(SegmentForm, {
|
|
3365
|
+
childrenKeys: childrenKeys,
|
|
3366
|
+
columns: columns,
|
|
3367
|
+
customFilters: customFilters,
|
|
3368
|
+
defaultSegmentName: defaultSegmentName,
|
|
3369
|
+
filters: filters,
|
|
3370
|
+
onClose: onClose,
|
|
3371
|
+
segmentFormInitialRef: segmentFormInitialRef,
|
|
3372
|
+
isEdit: true,
|
|
3373
|
+
handleSubmit: handleUpdate,
|
|
3374
|
+
initialValues: selectedSegment,
|
|
3375
|
+
isOpen: isEditPaneOpen,
|
|
3376
|
+
isSubmitting: isUpdating
|
|
3377
|
+
}), /*#__PURE__*/React.createElement(Delete, {
|
|
3378
|
+
columns: columns,
|
|
3379
|
+
onClose: onClose,
|
|
3380
|
+
isOpen: isDeleteAlertOpen,
|
|
3381
|
+
segment: selectedSegment
|
|
2856
3382
|
}));
|
|
2857
3383
|
};
|
|
2858
3384
|
var MenuBlocks$1 = /*#__PURE__*/React.memo(MenuBlocks);
|
|
2859
3385
|
|
|
2860
|
-
var Segments = function
|
|
2861
|
-
var
|
|
3386
|
+
var Segments = withT(function (_ref) {
|
|
3387
|
+
var t = _ref.t,
|
|
3388
|
+
entity = _ref.entity,
|
|
2862
3389
|
columns = _ref.columns,
|
|
2863
|
-
_ref$setIsFilterPaneO = _ref.setIsFilterPaneOpen,
|
|
2864
|
-
setIsFilterPaneOpen = _ref$setIsFilterPaneO === void 0 ? noop : _ref$setIsFilterPaneO,
|
|
2865
3390
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
2866
|
-
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
}
|
|
2884
|
-
}];
|
|
2885
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, {
|
|
2886
|
-
iconProps: iconProps
|
|
2887
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
2888
|
-
component: "h4",
|
|
2889
|
-
style: "h5",
|
|
2890
|
-
textTransform: "uppercase",
|
|
2891
|
-
weight: "bold"
|
|
2892
|
-
}, t("neetoFilters.common.segments"))), /*#__PURE__*/React.createElement(MenuBlocks$1, {
|
|
2893
|
-
columns: columns,
|
|
2894
|
-
defaultSegmentName: defaultSegmentName,
|
|
2895
|
-
entity: entity
|
|
2896
|
-
}), /*#__PURE__*/React.createElement(ManagePane, {
|
|
2897
|
-
columns: columns,
|
|
2898
|
-
defaultSegmentName: defaultSegmentName,
|
|
2899
|
-
entity: entity,
|
|
2900
|
-
isOpen: isSegmentsPaneOpen,
|
|
2901
|
-
onClose: function onClose() {
|
|
2902
|
-
return setIsSegmentsPaneOpen(false);
|
|
2903
|
-
}
|
|
2904
|
-
}));
|
|
2905
|
-
}();
|
|
2906
|
-
};
|
|
3391
|
+
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
|
|
3392
|
+
customFilters = _ref.customFilters,
|
|
3393
|
+
_ref$childrenKeys = _ref.childrenKeys,
|
|
3394
|
+
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys;
|
|
3395
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, null, /*#__PURE__*/React.createElement(Typography, {
|
|
3396
|
+
component: "h4",
|
|
3397
|
+
style: "h5",
|
|
3398
|
+
textTransform: "uppercase",
|
|
3399
|
+
weight: "bold"
|
|
3400
|
+
}, t("neetoFilters.common.segments"))), /*#__PURE__*/React.createElement(MenuBlocks$1, {
|
|
3401
|
+
childrenKeys: childrenKeys,
|
|
3402
|
+
columns: columns,
|
|
3403
|
+
customFilters: customFilters,
|
|
3404
|
+
defaultSegmentName: defaultSegmentName,
|
|
3405
|
+
entity: entity
|
|
3406
|
+
}));
|
|
3407
|
+
});
|
|
2907
3408
|
var index = /*#__PURE__*/React.memo(Segments);
|
|
2908
3409
|
|
|
2909
3410
|
export { Bar, Filters, index as Segments, buildFilterColumnsFromFields, buildFiltersFromURL, buildSelectorsFromURL, buildUrlFromFilters, buildUrlFromSegment, useDestroySegment, useFetchSegments, useUpdateSegment };
|