@bigbinary/neeto-filters-frontend 3.2.0-beta.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -4
- package/app/javascript/src/translations/en.json +5 -9
- package/dist/index.cjs.js +1494 -2718
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1517 -2739
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/types.d.ts +26 -43
package/dist/index.js
CHANGED
|
@@ -1,65 +1,22 @@
|
|
|
1
|
-
import React, { useState,
|
|
1
|
+
import React, { useState, useRef, useEffect, useTransition, useMemo } 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 {
|
|
9
|
-
import { Select, DatePicker, TimePicker, 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';
|
|
4
|
+
import { findBy, isNotEmpty, capitalize, removeBy, humanize, hyphenate, noop, toLabelAndValue, replaceBy, isPresent, existsBy, isNotPresent, filterBy } from '@bigbinary/neeto-cist';
|
|
5
|
+
import { useMutationWithInvalidation, useQueryParams, useDebounce, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
6
|
+
import { getQueryParams, dateFormat, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
|
|
7
|
+
import { Tooltip, Typography, Dropdown as Dropdown$2, Button, Pane as Pane$1, Alert, Select, DatePicker, TimePicker, Input as Input$1, Accordion, Spinner } from '@bigbinary/neetoui';
|
|
8
|
+
import { groupBy, anyPass, isNil, isEmpty, any, concat, omit, toLower, mergeLeft, identity, mergeRight, toPairs, not, pluck, either, has, equals, pick, modify, prop, isNotNil, append, last, mergeDeepRight } from 'ramda';
|
|
11
9
|
import { useTranslation, Trans } from 'react-i18next';
|
|
12
|
-
import { useHistory } from 'react-router-dom
|
|
13
|
-
import { getQueryParams, dateFormat, buildUrl, showThumbsUpToastr } from '@bigbinary/neeto-commons-frontend/utils';
|
|
14
|
-
import * as yup from 'yup';
|
|
10
|
+
import { useHistory, useLocation } from 'react-router-dom';
|
|
15
11
|
import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
16
|
-
import {
|
|
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';
|
|
17
15
|
import axios from 'axios';
|
|
16
|
+
import * as yup from 'yup';
|
|
18
17
|
import Search from '@bigbinary/neeto-molecules/Search';
|
|
19
|
-
import ReactDOM, { createPortal } from 'react-dom';
|
|
20
18
|
import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
|
|
21
|
-
import
|
|
22
|
-
|
|
23
|
-
function _typeof(o) {
|
|
24
|
-
"@babel/helpers - typeof";
|
|
25
|
-
|
|
26
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
27
|
-
return typeof o;
|
|
28
|
-
} : function (o) {
|
|
29
|
-
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
30
|
-
}, _typeof(o);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function _toPrimitive(input, hint) {
|
|
34
|
-
if (_typeof(input) !== "object" || input === null) return input;
|
|
35
|
-
var prim = input[Symbol.toPrimitive];
|
|
36
|
-
if (prim !== undefined) {
|
|
37
|
-
var res = prim.call(input, hint || "default");
|
|
38
|
-
if (_typeof(res) !== "object") return res;
|
|
39
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
40
|
-
}
|
|
41
|
-
return (hint === "string" ? String : Number)(input);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function _toPropertyKey(arg) {
|
|
45
|
-
var key = _toPrimitive(arg, "string");
|
|
46
|
-
return _typeof(key) === "symbol" ? key : String(key);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function _defineProperty(obj, key, value) {
|
|
50
|
-
key = _toPropertyKey(key);
|
|
51
|
-
if (key in obj) {
|
|
52
|
-
Object.defineProperty(obj, key, {
|
|
53
|
-
value: value,
|
|
54
|
-
enumerable: true,
|
|
55
|
-
configurable: true,
|
|
56
|
-
writable: true
|
|
57
|
-
});
|
|
58
|
-
} else {
|
|
59
|
-
obj[key] = value;
|
|
60
|
-
}
|
|
61
|
-
return obj;
|
|
62
|
-
}
|
|
19
|
+
import { FormikInlineInput } from '@bigbinary/neeto-molecules/InlineInput';
|
|
63
20
|
|
|
64
21
|
function _arrayLikeToArray(arr, len) {
|
|
65
22
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -92,59 +49,45 @@ function _toConsumableArray(arr) {
|
|
|
92
49
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
93
50
|
}
|
|
94
51
|
|
|
95
|
-
function
|
|
96
|
-
|
|
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$1.apply(this, arguments);
|
|
108
|
-
}
|
|
52
|
+
function _typeof(o) {
|
|
53
|
+
"@babel/helpers - typeof";
|
|
109
54
|
|
|
110
|
-
function
|
|
111
|
-
|
|
55
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
56
|
+
return typeof o;
|
|
57
|
+
} : function (o) {
|
|
58
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
59
|
+
}, _typeof(o);
|
|
112
60
|
}
|
|
113
61
|
|
|
114
|
-
function
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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;
|
|
62
|
+
function _toPrimitive(input, hint) {
|
|
63
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
64
|
+
var prim = input[Symbol.toPrimitive];
|
|
65
|
+
if (prim !== undefined) {
|
|
66
|
+
var res = prim.call(input, hint || "default");
|
|
67
|
+
if (_typeof(res) !== "object") return res;
|
|
68
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
139
69
|
}
|
|
70
|
+
return (hint === "string" ? String : Number)(input);
|
|
140
71
|
}
|
|
141
72
|
|
|
142
|
-
function
|
|
143
|
-
|
|
73
|
+
function _toPropertyKey(arg) {
|
|
74
|
+
var key = _toPrimitive(arg, "string");
|
|
75
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
144
76
|
}
|
|
145
77
|
|
|
146
|
-
function
|
|
147
|
-
|
|
78
|
+
function _defineProperty(obj, key, value) {
|
|
79
|
+
key = _toPropertyKey(key);
|
|
80
|
+
if (key in obj) {
|
|
81
|
+
Object.defineProperty(obj, key, {
|
|
82
|
+
value: value,
|
|
83
|
+
enumerable: true,
|
|
84
|
+
configurable: true,
|
|
85
|
+
writable: true
|
|
86
|
+
});
|
|
87
|
+
} else {
|
|
88
|
+
obj[key] = value;
|
|
89
|
+
}
|
|
90
|
+
return obj;
|
|
148
91
|
}
|
|
149
92
|
|
|
150
93
|
var SEGMENTS_BASE_URL = "/neeto_filters/segments";
|
|
@@ -229,6 +172,21 @@ var DATE_RULES = {
|
|
|
229
172
|
var SEARCH_TERM_KEY = "search_term";
|
|
230
173
|
var SEGMENT_ID_KEY = "segment_id";
|
|
231
174
|
|
|
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
|
+
|
|
232
190
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
233
191
|
|
|
234
192
|
function getDefaultExportFromCjs (x) {
|
|
@@ -246,44 +204,6 @@ dayjs_min.exports;
|
|
|
246
204
|
var dayjs_minExports = dayjs_min.exports;
|
|
247
205
|
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
|
|
248
206
|
|
|
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
|
-
|
|
287
207
|
var NUMBER_RULES = [{
|
|
288
208
|
label: t$1("neetoFilters.rules.is"),
|
|
289
209
|
value: "is"
|
|
@@ -336,8 +256,86 @@ var DEFAULT_HELP_ICON_PROPS = {
|
|
|
336
256
|
}
|
|
337
257
|
};
|
|
338
258
|
|
|
339
|
-
function
|
|
340
|
-
|
|
259
|
+
function _arrayWithHoles(arr) {
|
|
260
|
+
if (Array.isArray(arr)) return arr;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
function _iterableToArrayLimit(r, l) {
|
|
264
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
265
|
+
if (null != t) {
|
|
266
|
+
var e,
|
|
267
|
+
n,
|
|
268
|
+
i,
|
|
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; }
|
|
341
339
|
var groupByGroup = groupBy(function (_ref) {
|
|
342
340
|
var group = _ref.group;
|
|
343
341
|
return group || "individual";
|
|
@@ -636,7 +634,7 @@ var buildDatePayload = function buildDatePayload(value) {
|
|
|
636
634
|
var buildSingleDatePayload = function buildSingleDatePayload(filter) {
|
|
637
635
|
var value = filter.value;
|
|
638
636
|
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
639
|
-
return _objectSpread$
|
|
637
|
+
return _objectSpread$4(_objectSpread$4({}, filter), {}, {
|
|
640
638
|
value: filterValue,
|
|
641
639
|
type: "date"
|
|
642
640
|
});
|
|
@@ -644,7 +642,7 @@ var buildSingleDatePayload = function buildSingleDatePayload(filter) {
|
|
|
644
642
|
var buildSingleTimePayload = function buildSingleTimePayload(filter) {
|
|
645
643
|
var value = filter.value;
|
|
646
644
|
var filterValue = Array.isArray(value) ? value.join(",") : value;
|
|
647
|
-
return _objectSpread$
|
|
645
|
+
return _objectSpread$4(_objectSpread$4({}, filter), {}, {
|
|
648
646
|
value: filterValue,
|
|
649
647
|
type: "time"
|
|
650
648
|
});
|
|
@@ -895,7 +893,7 @@ var buildUrlFromSegment = function buildUrlFromSegment(_ref19) {
|
|
|
895
893
|
});
|
|
896
894
|
return acc;
|
|
897
895
|
}, isNotEmpty(id) ? _defineProperty({}, SEGMENT_ID_KEY, id) : {});
|
|
898
|
-
return new URLSearchParams(_objectSpread$
|
|
896
|
+
return new URLSearchParams(_objectSpread$4(_objectSpread$4({}, searchParams), newSearchParams)).toString();
|
|
899
897
|
};
|
|
900
898
|
var getSearchTermFromUrl = function getSearchTermFromUrl() {
|
|
901
899
|
return getQueryParams().searchTerm || "";
|
|
@@ -912,7 +910,7 @@ var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref22)
|
|
|
912
910
|
var id = field.id,
|
|
913
911
|
name = field.name,
|
|
914
912
|
kind = field.kind;
|
|
915
|
-
var column = _objectSpread$
|
|
913
|
+
var column = _objectSpread$4({
|
|
916
914
|
key: toLower(name),
|
|
917
915
|
node: "".concat(name, ":").concat(id),
|
|
918
916
|
label: capitalize(name),
|
|
@@ -936,7 +934,7 @@ var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref22)
|
|
|
936
934
|
};
|
|
937
935
|
var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(columns) {
|
|
938
936
|
return columns.map(function (column) {
|
|
939
|
-
return _objectSpread$
|
|
937
|
+
return _objectSpread$4(_objectSpread$4({}, column), {}, {
|
|
940
938
|
type: standardizeColumnType(column.type)
|
|
941
939
|
});
|
|
942
940
|
});
|
|
@@ -945,1176 +943,142 @@ var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
|
|
|
945
943
|
return not(isEmpty(keyworFilter.node));
|
|
946
944
|
};
|
|
947
945
|
|
|
948
|
-
var
|
|
949
|
-
var
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
return
|
|
955
|
-
var value = _ref2.value;
|
|
956
|
-
return filter.value.includes(value);
|
|
957
|
-
});
|
|
946
|
+
var buildCustomDateValue = function buildCustomDateValue(value) {
|
|
947
|
+
var isBeforeOrAfter = Math.abs(dayjs(value[1]).diff(dayjs(value[0]), "year")) >= 90;
|
|
948
|
+
if (isBeforeOrAfter) {
|
|
949
|
+
var currentMoment = dayjs();
|
|
950
|
+
var diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), "year"));
|
|
951
|
+
var diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), "year"));
|
|
952
|
+
return diffWithStart < diffWithEnd ? "after-".concat(dateFormat.date(dayjs(value[0]).subtract(1, "day"))) : "before-".concat(dateFormat.date(dayjs(value[1]).add(1, "day")));
|
|
958
953
|
}
|
|
959
|
-
return
|
|
960
|
-
value: filter.value
|
|
961
|
-
}, options);
|
|
954
|
+
return value.map(dateFormat.date).join(" - ");
|
|
962
955
|
};
|
|
963
|
-
var
|
|
956
|
+
var buildFilterValue = function buildFilterValue(filter) {
|
|
964
957
|
var _findBy2;
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
value
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
var buildDropdownOptions = function buildDropdownOptions(_ref3) {
|
|
974
|
-
var defaultType = _ref3.defaultType,
|
|
975
|
-
filter = _ref3.filter,
|
|
976
|
-
options = _ref3.options;
|
|
977
|
-
options = options.map(modify("value", function (value) {
|
|
978
|
-
return value === null || value === void 0 ? void 0 : value.toString();
|
|
958
|
+
var _filter$defaultType = filter.defaultType,
|
|
959
|
+
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
960
|
+
value = filter.value,
|
|
961
|
+
rule = filter.rule,
|
|
962
|
+
_filter$values = filter.values,
|
|
963
|
+
initialValues = _filter$values === void 0 ? [] : _filter$values;
|
|
964
|
+
var values = initialValues.map(modify("value", function (value) {
|
|
965
|
+
return value.toString();
|
|
979
966
|
}));
|
|
980
|
-
if (
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
967
|
+
if (isDate(defaultType) && isCustomDateRange(value)) {
|
|
968
|
+
return buildCustomDateValue(value);
|
|
969
|
+
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
970
|
+
return value.map(dateFormat.time).join(" - ");
|
|
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({
|
|
984
977
|
value: value
|
|
985
|
-
},
|
|
986
|
-
});
|
|
987
|
-
|
|
988
|
-
|
|
978
|
+
}, values)) === null || _findBy === void 0 ? void 0 : _findBy.label) || value;
|
|
979
|
+
}).join(", ");
|
|
980
|
+
} else if (isSingleDate(defaultType)) {
|
|
981
|
+
return rule === "between" ? value.map(dateFormat.date).join(" - ") : dateFormat.date(value);
|
|
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
|
|
989
988
|
});
|
|
990
|
-
return concat(selectedOptions, nonSelectedOptions);
|
|
991
|
-
}
|
|
992
|
-
if (!findBy({
|
|
993
|
-
value: filter.value
|
|
994
|
-
}, options)) {
|
|
995
|
-
return append(toLabelAndValue(filter.value), options);
|
|
996
|
-
}
|
|
997
|
-
return options;
|
|
998
|
-
};
|
|
999
|
-
var initializeDateRule = function initializeDateRule(filter) {
|
|
1000
|
-
return filter ? findBy({
|
|
1001
|
-
value: filter === null || filter === void 0 ? void 0 : filter.value
|
|
1002
|
-
}, DATE_OPTIONS) || findDateOption(filter, DATE_OPTIONS) : {};
|
|
1003
|
-
};
|
|
1004
|
-
var getDateValue = function getDateValue(value, rule) {
|
|
1005
|
-
if (isEmpty(value) || isNil(value)) {
|
|
1006
|
-
return null;
|
|
1007
|
-
}
|
|
1008
|
-
if (rule.value === "custom-date-range") {
|
|
1009
|
-
return value;
|
|
1010
|
-
}
|
|
1011
|
-
return rule.value === "before" ? dayjs(value[1]).add(1, "day") : dayjs(value[0]).subtract(1, "day");
|
|
1012
|
-
};
|
|
1013
|
-
var findDateOption = function findDateOption(filter, options) {
|
|
1014
|
-
var value = filter.value;
|
|
1015
|
-
var isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), "year") >= 90;
|
|
1016
|
-
if (not(isBeforeOrAfter)) {
|
|
1017
|
-
return last(options);
|
|
1018
989
|
}
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
return diffWithStart < diffWithEnd ? findBy({
|
|
1023
|
-
value: "after"
|
|
1024
|
-
}, options) : findBy({
|
|
1025
|
-
value: "before"
|
|
1026
|
-
}, options);
|
|
990
|
+
return ((_findBy2 = findBy({
|
|
991
|
+
value: value
|
|
992
|
+
}, values)) === null || _findBy2 === void 0 ? void 0 : _findBy2.label) || value;
|
|
1027
993
|
};
|
|
1028
|
-
var
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
return
|
|
994
|
+
var buildRuleValue = function buildRuleValue(_ref) {
|
|
995
|
+
var rule = _ref.rule,
|
|
996
|
+
defaultType = _ref.defaultType;
|
|
997
|
+
if (isText(defaultType)) {
|
|
998
|
+
return findBy({
|
|
999
|
+
value: rule
|
|
1000
|
+
}, TEXT_RULES).label;
|
|
1001
|
+
} else if (isDigit(defaultType)) {
|
|
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;
|
|
1033
1013
|
}
|
|
1034
|
-
return
|
|
1014
|
+
return "";
|
|
1035
1015
|
};
|
|
1036
|
-
var
|
|
1037
|
-
return
|
|
1016
|
+
var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
|
|
1017
|
+
return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
|
|
1038
1018
|
};
|
|
1039
1019
|
|
|
1040
|
-
var
|
|
1041
|
-
var
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
var value = buildDropdownValue({
|
|
1055
|
-
defaultType: defaultType,
|
|
1056
|
-
filter: filter,
|
|
1057
|
-
options: options
|
|
1020
|
+
var Block = function Block(_ref) {
|
|
1021
|
+
var filter = _ref.filter,
|
|
1022
|
+
handleDelete = _ref.handleDelete,
|
|
1023
|
+
setIsPaneOpen = _ref.setIsPaneOpen;
|
|
1024
|
+
var key = filter.key,
|
|
1025
|
+
_filter$defaultType = filter.defaultType,
|
|
1026
|
+
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
1027
|
+
label = filter.label,
|
|
1028
|
+
rule = filter.rule,
|
|
1029
|
+
defaultValue = filter.defaultValue;
|
|
1030
|
+
var filterValue = buildFilterValue(filter);
|
|
1031
|
+
var ruleContent = buildRuleValue({
|
|
1032
|
+
rule: rule,
|
|
1033
|
+
defaultType: defaultType
|
|
1058
1034
|
});
|
|
1059
|
-
var
|
|
1060
|
-
|
|
1061
|
-
var
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1035
|
+
var blockLength = label.length + ruleContent.length + filterValue.length;
|
|
1036
|
+
var toolTipDisabled = blockLength <= 50;
|
|
1037
|
+
var blockContent = !toolTipDisabled ? "".concat(filterValue.slice(0, 50 - blockLength), "...") : filterValue;
|
|
1038
|
+
var deleteBlockHotKeyRef = useHotkeys(SHORTCUTS.deleteBlock.sequence, function () {
|
|
1039
|
+
return handleDelete(key);
|
|
1040
|
+
}, {
|
|
1041
|
+
mode: "scoped"
|
|
1042
|
+
});
|
|
1043
|
+
var openFilterPaneHotKeyRef = useHotkeys(SHORTCUTS.openFilterPane.sequence, function () {
|
|
1044
|
+
return setIsPaneOpen(key);
|
|
1045
|
+
}, {
|
|
1046
|
+
mode: "scoped"
|
|
1047
|
+
});
|
|
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);
|
|
1067
1063
|
}
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
className: "neeto-filters-
|
|
1077
|
-
}, /*#__PURE__*/React.createElement(
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
labelProps: {
|
|
1085
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1064
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
1065
|
+
style: "body2"
|
|
1066
|
+
}, label, ":"), /*#__PURE__*/React.createElement(Typography, {
|
|
1067
|
+
className: "neeto-ui-text-gray-500",
|
|
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);
|
|
1086
1080
|
}
|
|
1087
|
-
}
|
|
1088
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1089
|
-
strategy: "fixed",
|
|
1090
|
-
placeholder: t("neetoFilters.messages.selectOption", {
|
|
1091
|
-
resource: label
|
|
1092
|
-
}),
|
|
1093
|
-
onChange: handleChange
|
|
1094
|
-
}, otherProps)));
|
|
1095
|
-
};
|
|
1096
|
-
var Boolean$1 = /*#__PURE__*/React.memo(Boolean);
|
|
1097
|
-
|
|
1098
|
-
var Datetime = function Datetime(_ref) {
|
|
1099
|
-
var column = _ref.column,
|
|
1100
|
-
filter = _ref.filter,
|
|
1101
|
-
handleApplyFilter = _ref.handleApplyFilter,
|
|
1102
|
-
autoFocus = _ref.autoFocus;
|
|
1103
|
-
var _useState = useState(initializeDateRule(filter)),
|
|
1104
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1105
|
-
selectedRule = _useState2[0],
|
|
1106
|
-
setSelectedRule = _useState2[1];
|
|
1107
|
-
var _useTranslation = useTranslation(),
|
|
1108
|
-
t = _useTranslation.t;
|
|
1109
|
-
var key = column.key,
|
|
1110
|
-
_column$defaultType = column.defaultType,
|
|
1111
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1112
|
-
label = column.label,
|
|
1113
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1114
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1115
|
-
var isDatePickerShown = filter && isCustomDateRange(filter.value);
|
|
1116
|
-
var otherProps = getOtherProps(column);
|
|
1117
|
-
var handleChange = function handleChange(option) {
|
|
1118
|
-
if (isEmpty(option) || isNil(option)) {
|
|
1119
|
-
handleApplyFilter({
|
|
1120
|
-
_delete: true
|
|
1121
|
-
});
|
|
1122
|
-
setSelectedRule({});
|
|
1123
|
-
return;
|
|
1124
|
-
}
|
|
1125
|
-
setSelectedRule(option);
|
|
1126
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1127
|
-
column: column,
|
|
1128
|
-
defaultType: defaultType,
|
|
1129
|
-
option: option
|
|
1130
|
-
});
|
|
1131
|
-
handleApplyFilter(updatedFilter);
|
|
1132
|
-
};
|
|
1133
|
-
var handleDateRangeChange = function handleDateRangeChange(dates) {
|
|
1134
|
-
if (isEmpty(dates) || isNil(dates)) {
|
|
1135
|
-
handleApplyFilter({
|
|
1136
|
-
_delete: true
|
|
1137
|
-
});
|
|
1138
|
-
setSelectedRule({});
|
|
1139
|
-
return;
|
|
1140
|
-
}
|
|
1141
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1142
|
-
column: column,
|
|
1143
|
-
defaultType: defaultType,
|
|
1144
|
-
option: {
|
|
1145
|
-
value: pluck("$d", buildDateValues(dates, selectedRule)).map(function (date) {
|
|
1146
|
-
return date.toISOString();
|
|
1147
|
-
})
|
|
1148
|
-
}
|
|
1149
|
-
});
|
|
1150
|
-
handleApplyFilter(updatedFilter);
|
|
1151
|
-
};
|
|
1152
|
-
useEffect(function () {
|
|
1153
|
-
isNil(filter) && setSelectedRule({});
|
|
1154
|
-
}, [filter]);
|
|
1155
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1156
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1157
|
-
}, /*#__PURE__*/React.createElement(Select, _extends$1({
|
|
1158
|
-
autoFocus: autoFocus,
|
|
1159
|
-
label: label,
|
|
1160
|
-
isClearable: true,
|
|
1161
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1162
|
-
options: DATE_OPTIONS,
|
|
1163
|
-
strategy: "fixed",
|
|
1164
|
-
value: selectedRule,
|
|
1165
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1166
|
-
resource: label
|
|
1167
|
-
})
|
|
1168
|
-
}, isNotEmpty(helpIconProps) && {
|
|
1169
|
-
labelProps: {
|
|
1170
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1171
|
-
}
|
|
1172
|
-
}, {
|
|
1173
|
-
onChange: handleChange
|
|
1174
|
-
})), isDatePickerShown && /*#__PURE__*/React.createElement(DatePicker, _extends$1({
|
|
1175
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
|
|
1176
|
-
getPopupContainer: prop("parentNode"),
|
|
1177
|
-
type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
|
|
1178
|
-
value: getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
|
|
1179
|
-
onChange: handleDateRangeChange
|
|
1180
|
-
}, otherProps)));
|
|
1181
|
-
};
|
|
1182
|
-
var Datetime$1 = /*#__PURE__*/React.memo(Datetime);
|
|
1183
|
-
|
|
1184
|
-
var Dropdown = function Dropdown(_ref) {
|
|
1185
|
-
var column = _ref.column,
|
|
1186
|
-
filter = _ref.filter,
|
|
1187
|
-
handleApplyFilter = _ref.handleApplyFilter,
|
|
1188
|
-
autoFocus = _ref.autoFocus;
|
|
1189
|
-
var key = column.key,
|
|
1190
|
-
label = column.label,
|
|
1191
|
-
values = column.values,
|
|
1192
|
-
defaultValue = column.defaultValue,
|
|
1193
|
-
_column$defaultType = column.defaultType,
|
|
1194
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1195
|
-
_column$isClearable = column.isClearable,
|
|
1196
|
-
isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
|
|
1197
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1198
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1199
|
-
var otherProps = getOtherProps(column);
|
|
1200
|
-
var options = buildDropdownOptions({
|
|
1201
|
-
defaultType: defaultType,
|
|
1202
|
-
filter: filter,
|
|
1203
|
-
options: values
|
|
1204
|
-
});
|
|
1205
|
-
var value = buildDropdownValue({
|
|
1206
|
-
defaultType: defaultType,
|
|
1207
|
-
filter: filter,
|
|
1208
|
-
options: options
|
|
1209
|
-
});
|
|
1210
|
-
var _useTranslation = useTranslation(),
|
|
1211
|
-
t = _useTranslation.t;
|
|
1212
|
-
var handleChange = function handleChange(option) {
|
|
1213
|
-
if (isEmpty(option) || isNil(option)) {
|
|
1214
|
-
handleApplyFilter({
|
|
1215
|
-
_delete: true
|
|
1216
|
-
});
|
|
1217
|
-
return;
|
|
1218
|
-
}
|
|
1219
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1220
|
-
column: column,
|
|
1221
|
-
defaultType: defaultType,
|
|
1222
|
-
option: option
|
|
1223
|
-
});
|
|
1224
|
-
handleApplyFilter(updatedFilter);
|
|
1225
|
-
};
|
|
1226
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1227
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1228
|
-
}, /*#__PURE__*/React.createElement(Select, _extends$1({
|
|
1229
|
-
autoFocus: autoFocus,
|
|
1230
|
-
label: label,
|
|
1231
|
-
options: options,
|
|
1232
|
-
value: value,
|
|
1233
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1234
|
-
isClearable: !defaultValue && isClearable,
|
|
1235
|
-
isMulti: isMulti(defaultType),
|
|
1236
|
-
strategy: "fixed",
|
|
1237
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1238
|
-
resource: label
|
|
1239
|
-
})
|
|
1240
|
-
}, isNotEmpty(helpIconProps) && {
|
|
1241
|
-
labelProps: {
|
|
1242
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1243
|
-
}
|
|
1244
|
-
}, {
|
|
1245
|
-
onChange: handleChange
|
|
1246
|
-
}, otherProps)));
|
|
1247
|
-
};
|
|
1248
|
-
var Dropdown$1 = /*#__PURE__*/React.memo(Dropdown);
|
|
1249
|
-
|
|
1250
|
-
var SingleDatetime = function SingleDatetime(_ref) {
|
|
1251
|
-
var column = _ref.column,
|
|
1252
|
-
filter = _ref.filter,
|
|
1253
|
-
filters = _ref.filters,
|
|
1254
|
-
handleApplyFilter = _ref.handleApplyFilter,
|
|
1255
|
-
autoFocus = _ref.autoFocus;
|
|
1256
|
-
var _useState = useState(function () {
|
|
1257
|
-
return findBy({
|
|
1258
|
-
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1259
|
-
}, SINGLE_DATE_OPTIONS) || SINGLE_DATE_OPTIONS[0];
|
|
1260
|
-
}),
|
|
1261
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1262
|
-
selectedRule = _useState2[0],
|
|
1263
|
-
setSelectedRule = _useState2[1];
|
|
1264
|
-
var key = column.key,
|
|
1265
|
-
_column$defaultType = column.defaultType,
|
|
1266
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1267
|
-
label = column.label,
|
|
1268
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1269
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1270
|
-
var otherProps = getOtherProps(column);
|
|
1271
|
-
var datePickerType = selectedRule.value === "between" ? "range" : "date";
|
|
1272
|
-
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
1273
|
-
|
|
1274
|
-
// Reset states when "Clear filters" button is clicked.
|
|
1275
|
-
useEffect(function () {
|
|
1276
|
-
if (!isEmpty(filters)) return;
|
|
1277
|
-
setSelectedRule(SINGLE_DATE_OPTIONS[0]);
|
|
1278
|
-
}, [filters]);
|
|
1279
|
-
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1280
|
-
setSelectedRule(ruleOption);
|
|
1281
|
-
|
|
1282
|
-
// Clear value if switched between incompatable types
|
|
1283
|
-
var updateValue = value;
|
|
1284
|
-
if (datePickerType === "range" && ruleOption.value !== "between" || datePickerType === "date" && ruleOption.value === "between") {
|
|
1285
|
-
updateValue = "";
|
|
1286
|
-
}
|
|
1287
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1288
|
-
column: column,
|
|
1289
|
-
defaultType: defaultType,
|
|
1290
|
-
option: {},
|
|
1291
|
-
rule: ruleOption.value,
|
|
1292
|
-
value: updateValue
|
|
1293
|
-
});
|
|
1294
|
-
handleApplyFilter(updatedFilter);
|
|
1295
|
-
};
|
|
1296
|
-
var handleChange = function handleChange(dates) {
|
|
1297
|
-
if (isEmpty(dates) || isNil(dates)) {
|
|
1298
|
-
handleApplyFilter({
|
|
1299
|
-
_delete: true
|
|
1300
|
-
});
|
|
1301
|
-
return;
|
|
1302
|
-
}
|
|
1303
|
-
var value = datePickerType === "range" ? pluck("$d", dates).map(function (date) {
|
|
1304
|
-
return date.toISOString();
|
|
1305
|
-
}) : dates["$d"];
|
|
1306
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1307
|
-
column: column,
|
|
1308
|
-
defaultType: defaultType,
|
|
1309
|
-
option: {},
|
|
1310
|
-
rule: selectedRule.value,
|
|
1311
|
-
value: value
|
|
1312
|
-
});
|
|
1313
|
-
handleApplyFilter(updatedFilter);
|
|
1314
|
-
};
|
|
1315
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1316
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1317
|
-
}, /*#__PURE__*/React.createElement(Select, _extends$1({
|
|
1318
|
-
label: label,
|
|
1319
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
|
|
1320
|
-
defaultValue: SINGLE_DATE_OPTIONS[0],
|
|
1321
|
-
options: SINGLE_DATE_OPTIONS,
|
|
1322
|
-
strategy: "fixed",
|
|
1323
|
-
value: selectedRule
|
|
1324
|
-
}, isNotEmpty(helpIconProps) && {
|
|
1325
|
-
labelProps: {
|
|
1326
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1327
|
-
}
|
|
1328
|
-
}, {
|
|
1329
|
-
onChange: handleRuleChange
|
|
1330
|
-
})), /*#__PURE__*/React.createElement(DatePicker, _extends$1({
|
|
1331
|
-
autoFocus: autoFocus,
|
|
1332
|
-
value: value,
|
|
1333
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1334
|
-
getPopupContainer: prop("parentNode"),
|
|
1335
|
-
type: datePickerType,
|
|
1336
|
-
onChange: handleChange
|
|
1337
|
-
}, otherProps)));
|
|
1338
|
-
};
|
|
1339
|
-
|
|
1340
|
-
var SingleTime = function SingleTime(_ref) {
|
|
1341
|
-
var column = _ref.column,
|
|
1342
|
-
filter = _ref.filter,
|
|
1343
|
-
filters = _ref.filters,
|
|
1344
|
-
handleApplyFilter = _ref.handleApplyFilter,
|
|
1345
|
-
autoFocus = _ref.autoFocus;
|
|
1346
|
-
var _useState = useState(function () {
|
|
1347
|
-
return findBy({
|
|
1348
|
-
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1349
|
-
}, SINGLE_TIME_OPTIONS) || SINGLE_TIME_OPTIONS[0];
|
|
1350
|
-
}),
|
|
1351
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1352
|
-
selectedRule = _useState2[0],
|
|
1353
|
-
setSelectedRule = _useState2[1];
|
|
1354
|
-
var key = column.key,
|
|
1355
|
-
_column$defaultType = column.defaultType,
|
|
1356
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1357
|
-
label = column.label,
|
|
1358
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1359
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1360
|
-
var otherProps = getOtherProps(column);
|
|
1361
|
-
var timePickerType = selectedRule.value === "between" ? "range" : "time";
|
|
1362
|
-
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
1363
|
-
useEffect(function () {
|
|
1364
|
-
if (!isEmpty(filters)) return;
|
|
1365
|
-
setSelectedRule(SINGLE_TIME_OPTIONS[0]);
|
|
1366
|
-
}, [filters]);
|
|
1367
|
-
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1368
|
-
setSelectedRule(ruleOption);
|
|
1369
|
-
|
|
1370
|
-
// Clear value if switched between incompatible types
|
|
1371
|
-
var updateValue = value;
|
|
1372
|
-
if (timePickerType === "range" && ruleOption.value !== "between" || timePickerType === "time" && ruleOption.value === "between") {
|
|
1373
|
-
updateValue = "";
|
|
1374
|
-
}
|
|
1375
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1376
|
-
column: column,
|
|
1377
|
-
defaultType: defaultType,
|
|
1378
|
-
option: {},
|
|
1379
|
-
rule: ruleOption.value,
|
|
1380
|
-
value: updateValue
|
|
1381
|
-
});
|
|
1382
|
-
handleApplyFilter(updatedFilter);
|
|
1383
|
-
};
|
|
1384
|
-
var handleChange = function handleChange(times) {
|
|
1385
|
-
var value = timePickerType === "range" ? pluck("$d", times).map(function (time) {
|
|
1386
|
-
return time.toISOString();
|
|
1387
|
-
}) : times["$d"].toISOString();
|
|
1388
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1389
|
-
column: column,
|
|
1390
|
-
defaultType: defaultType,
|
|
1391
|
-
option: {},
|
|
1392
|
-
rule: selectedRule.value,
|
|
1393
|
-
value: value
|
|
1394
|
-
});
|
|
1395
|
-
handleApplyFilter(updatedFilter);
|
|
1396
|
-
};
|
|
1397
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1398
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1399
|
-
}, /*#__PURE__*/React.createElement(Select, _extends$1({
|
|
1400
|
-
label: label,
|
|
1401
|
-
defaultValue: SINGLE_TIME_OPTIONS[0],
|
|
1402
|
-
options: SINGLE_TIME_OPTIONS,
|
|
1403
|
-
strategy: "fixed",
|
|
1404
|
-
value: selectedRule
|
|
1405
|
-
}, isNotEmpty(helpIconProps) && {
|
|
1406
|
-
labelProps: {
|
|
1407
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1408
|
-
}
|
|
1409
|
-
}, {
|
|
1410
|
-
onChange: handleRuleChange
|
|
1411
|
-
})), /*#__PURE__*/React.createElement(TimePicker, _extends$1({
|
|
1412
|
-
autoFocus: autoFocus,
|
|
1413
|
-
value: value,
|
|
1414
|
-
use12Hours: true,
|
|
1415
|
-
className: "w-full",
|
|
1416
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1417
|
-
format: "h:mm A",
|
|
1418
|
-
getPopupContainer: prop("parentNode"),
|
|
1419
|
-
type: timePickerType,
|
|
1420
|
-
onChange: handleChange
|
|
1421
|
-
}, otherProps)));
|
|
1422
|
-
};
|
|
1423
|
-
|
|
1424
|
-
var Text = function Text(_ref) {
|
|
1425
|
-
var column = _ref.column,
|
|
1426
|
-
filter = _ref.filter,
|
|
1427
|
-
filters = _ref.filters,
|
|
1428
|
-
handleApplyFilter = _ref.handleApplyFilter,
|
|
1429
|
-
autoFocus = _ref.autoFocus,
|
|
1430
|
-
onClose = _ref.onClose;
|
|
1431
|
-
var key = column.key,
|
|
1432
|
-
_column$defaultType = column.defaultType,
|
|
1433
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1434
|
-
label = column.label,
|
|
1435
|
-
_column$showRuleSelec = column.showRuleSelector,
|
|
1436
|
-
showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
|
|
1437
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1438
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1439
|
-
var otherProps = getOtherProps(column);
|
|
1440
|
-
var ruleOptions = buildRuleOptions({
|
|
1441
|
-
defaultType: defaultType
|
|
1442
|
-
});
|
|
1443
|
-
var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
|
|
1444
|
-
var _useState = useState(filter === null || filter === void 0 ? void 0 : filter.value),
|
|
1445
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1446
|
-
inputValue = _useState2[0],
|
|
1447
|
-
setInputValue = _useState2[1];
|
|
1448
|
-
var _useState3 = useState(function () {
|
|
1449
|
-
return findBy({
|
|
1450
|
-
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1451
|
-
}, ruleOptions) || ruleOptions[0];
|
|
1452
|
-
}),
|
|
1453
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
1454
|
-
selectedRule = _useState4[0],
|
|
1455
|
-
setSelectedRule = _useState4[1];
|
|
1456
|
-
var debouncedInputValue = useDebounce(inputValue);
|
|
1457
|
-
var _useTranslation = useTranslation(),
|
|
1458
|
-
t = _useTranslation.t;
|
|
1459
|
-
var handleUpdateAndApplyFilter = function handleUpdateAndApplyFilter() {
|
|
1460
|
-
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
|
|
1461
|
-
var rule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
|
|
1462
|
-
if (equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && equals(selectedRule, rule)) return;
|
|
1463
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1464
|
-
column: column,
|
|
1465
|
-
defaultType: defaultType,
|
|
1466
|
-
option: {},
|
|
1467
|
-
rule: rule.value,
|
|
1468
|
-
value: value.trim()
|
|
1469
|
-
});
|
|
1470
|
-
handleApplyFilter(updatedFilter);
|
|
1471
|
-
};
|
|
1472
|
-
var handleKeydown = function handleKeydown(e) {
|
|
1473
|
-
if (!(e.key === "Enter")) return;
|
|
1474
|
-
handleUpdateAndApplyFilter(inputValue);
|
|
1475
|
-
onClose();
|
|
1476
|
-
};
|
|
1477
|
-
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1478
|
-
setSelectedRule(ruleOption);
|
|
1479
|
-
if (!debouncedInputValue) return;
|
|
1480
|
-
handleUpdateAndApplyFilter(debouncedInputValue, ruleOption);
|
|
1481
|
-
};
|
|
1482
|
-
|
|
1483
|
-
// Reset states when "Clear filters" button is clicked.
|
|
1484
|
-
useEffect(function () {
|
|
1485
|
-
(isEmpty(filters) || isNil(filter)) && setInputValue("");
|
|
1486
|
-
}, [filter]);
|
|
1487
|
-
useEffect(function () {
|
|
1488
|
-
if (!debouncedInputValue) {
|
|
1489
|
-
!isUndefinedOrEmpty(filter) && handleApplyFilter({
|
|
1490
|
-
_delete: true
|
|
1491
|
-
});
|
|
1492
|
-
return;
|
|
1493
|
-
}
|
|
1494
|
-
handleUpdateAndApplyFilter();
|
|
1495
|
-
}, [debouncedInputValue]);
|
|
1496
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1497
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1498
|
-
}, showRuleSelector && /*#__PURE__*/React.createElement(Select, _extends$1({
|
|
1499
|
-
label: label,
|
|
1500
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
|
|
1501
|
-
defaultValue: ruleOptions[0],
|
|
1502
|
-
options: ruleOptions,
|
|
1503
|
-
strategy: "fixed",
|
|
1504
|
-
value: selectedRule,
|
|
1505
|
-
onChange: handleRuleChange
|
|
1506
|
-
}, isNotEmpty(helpIconProps) && {
|
|
1507
|
-
labelProps: {
|
|
1508
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1509
|
-
}
|
|
1510
|
-
})), /*#__PURE__*/React.createElement(Input, _extends$1({
|
|
1511
|
-
autoFocus: autoFocus,
|
|
1512
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1513
|
-
label: !showRuleSelector && label,
|
|
1514
|
-
type: inputType,
|
|
1515
|
-
value: inputValue
|
|
1516
|
-
}, isNotEmpty(helpIconProps) && {
|
|
1517
|
-
labelProps: {
|
|
1518
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1519
|
-
}
|
|
1520
|
-
}, {
|
|
1521
|
-
placeholder: t("neetoFilters.messages.enterResource", {
|
|
1522
|
-
resource: label
|
|
1523
|
-
}),
|
|
1524
|
-
onChange: function onChange(event) {
|
|
1525
|
-
return setInputValue(event.target.value);
|
|
1526
|
-
},
|
|
1527
|
-
onKeyDown: handleKeydown
|
|
1528
|
-
}, otherProps)));
|
|
1529
|
-
};
|
|
1530
|
-
|
|
1531
|
-
var Time = function Time(_ref) {
|
|
1532
|
-
var column = _ref.column,
|
|
1533
|
-
filter = _ref.filter,
|
|
1534
|
-
handleApplyFilter = _ref.handleApplyFilter,
|
|
1535
|
-
autoFocus = _ref.autoFocus;
|
|
1536
|
-
var key = column.key,
|
|
1537
|
-
_column$defaultType = column.defaultType,
|
|
1538
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1539
|
-
label = column.label,
|
|
1540
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1541
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1542
|
-
var otherProps = getOtherProps(column);
|
|
1543
|
-
var value = buildSingleTimeValue(filter);
|
|
1544
|
-
var isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);
|
|
1545
|
-
var _useTranslation = useTranslation(),
|
|
1546
|
-
t = _useTranslation.t;
|
|
1547
|
-
var handleChange = function handleChange(option) {
|
|
1548
|
-
if (isEmpty(option) || isNil(option)) {
|
|
1549
|
-
handleApplyFilter({
|
|
1550
|
-
_delete: true
|
|
1551
|
-
});
|
|
1552
|
-
return;
|
|
1553
|
-
}
|
|
1554
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1555
|
-
column: column,
|
|
1556
|
-
defaultType: defaultType,
|
|
1557
|
-
option: option
|
|
1558
|
-
});
|
|
1559
|
-
handleApplyFilter(updatedFilter);
|
|
1560
|
-
};
|
|
1561
|
-
var handleTimeRangeChange = function handleTimeRangeChange(times) {
|
|
1562
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1563
|
-
column: column,
|
|
1564
|
-
defaultType: defaultType,
|
|
1565
|
-
option: {
|
|
1566
|
-
value: pluck("$d", times).map(function (time) {
|
|
1567
|
-
return time.toISOString();
|
|
1568
|
-
})
|
|
1569
|
-
}
|
|
1570
|
-
});
|
|
1571
|
-
handleApplyFilter(updatedFilter);
|
|
1572
|
-
};
|
|
1573
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1574
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1575
|
-
}, /*#__PURE__*/React.createElement(Select, _extends$1({
|
|
1576
|
-
autoFocus: autoFocus,
|
|
1577
|
-
label: label,
|
|
1578
|
-
value: value,
|
|
1579
|
-
isClearable: true,
|
|
1580
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1581
|
-
options: TIME_OPTIONS,
|
|
1582
|
-
strategy: "fixed",
|
|
1583
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1584
|
-
resource: label
|
|
1585
|
-
})
|
|
1586
|
-
}, isNotEmpty(helpIconProps) && {
|
|
1587
|
-
labelProps: {
|
|
1588
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1589
|
-
}
|
|
1590
|
-
}, {
|
|
1591
|
-
onChange: handleChange
|
|
1592
|
-
})), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePicker, _extends$1({
|
|
1593
|
-
use12Hours: true,
|
|
1594
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
|
|
1595
|
-
format: "h:mm A",
|
|
1596
|
-
getPopupContainer: prop("parentNode"),
|
|
1597
|
-
type: "range",
|
|
1598
|
-
value: filter.value,
|
|
1599
|
-
onChange: handleTimeRangeChange
|
|
1600
|
-
}, otherProps)));
|
|
1601
|
-
};
|
|
1602
|
-
var Time$1 = /*#__PURE__*/React.memo(Time);
|
|
1603
|
-
|
|
1604
|
-
var Item = function Item(_ref) {
|
|
1605
|
-
var column = _ref.column,
|
|
1606
|
-
filters = _ref.filters,
|
|
1607
|
-
onChange = _ref.onChange,
|
|
1608
|
-
autoFocus = _ref.autoFocus,
|
|
1609
|
-
_ref$onClose = _ref.onClose,
|
|
1610
|
-
onClose = _ref$onClose === void 0 ? noop$1 : _ref$onClose;
|
|
1611
|
-
var key = column.key,
|
|
1612
|
-
_column$defaultType = column.defaultType,
|
|
1613
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType;
|
|
1614
|
-
var filter = useMemo(function () {
|
|
1615
|
-
return findBy({
|
|
1616
|
-
key: key
|
|
1617
|
-
}, filters);
|
|
1618
|
-
}, [filters, key]);
|
|
1619
|
-
var handleApplyFilter = function handleApplyFilter(updatedFilter) {
|
|
1620
|
-
if (updatedFilter._delete) onChange(removeBy({
|
|
1621
|
-
key: key
|
|
1622
|
-
}, filters));else if (!filter) onChange(append(updatedFilter, filters));else onChange(replaceBy({
|
|
1623
|
-
key: key
|
|
1624
|
-
}, updatedFilter, filters));
|
|
1625
|
-
};
|
|
1626
|
-
if (isText(defaultType) || isDigit(defaultType)) {
|
|
1627
|
-
return /*#__PURE__*/React.createElement(Text, {
|
|
1628
|
-
autoFocus: autoFocus,
|
|
1629
|
-
column: column,
|
|
1630
|
-
filter: filter,
|
|
1631
|
-
filters: filters,
|
|
1632
|
-
handleApplyFilter: handleApplyFilter,
|
|
1633
|
-
onClose: onClose
|
|
1634
|
-
});
|
|
1635
|
-
}
|
|
1636
|
-
if (isDate(defaultType)) {
|
|
1637
|
-
return /*#__PURE__*/React.createElement(Datetime$1, {
|
|
1638
|
-
autoFocus: autoFocus,
|
|
1639
|
-
column: column,
|
|
1640
|
-
filter: filter,
|
|
1641
|
-
handleApplyFilter: handleApplyFilter
|
|
1642
|
-
});
|
|
1643
|
-
}
|
|
1644
|
-
if (isTime(defaultType)) {
|
|
1645
|
-
return /*#__PURE__*/React.createElement(Time$1, {
|
|
1646
|
-
autoFocus: autoFocus,
|
|
1647
|
-
column: column,
|
|
1648
|
-
filter: filter,
|
|
1649
|
-
handleApplyFilter: handleApplyFilter
|
|
1650
|
-
});
|
|
1651
|
-
}
|
|
1652
|
-
if (isSingleDate(defaultType)) {
|
|
1653
|
-
return /*#__PURE__*/React.createElement(SingleDatetime, {
|
|
1654
|
-
autoFocus: autoFocus,
|
|
1655
|
-
column: column,
|
|
1656
|
-
filter: filter,
|
|
1657
|
-
filters: filters,
|
|
1658
|
-
handleApplyFilter: handleApplyFilter
|
|
1659
|
-
});
|
|
1660
|
-
}
|
|
1661
|
-
if (isSingleTime(defaultType)) {
|
|
1662
|
-
return /*#__PURE__*/React.createElement(SingleTime, {
|
|
1663
|
-
autoFocus: autoFocus,
|
|
1664
|
-
column: column,
|
|
1665
|
-
filter: filter,
|
|
1666
|
-
filters: filters,
|
|
1667
|
-
handleApplyFilter: handleApplyFilter
|
|
1668
|
-
});
|
|
1669
|
-
}
|
|
1670
|
-
if (isBoolean(defaultType) || isCheckbox(defaultType)) {
|
|
1671
|
-
return /*#__PURE__*/React.createElement(Boolean$1, {
|
|
1672
|
-
autoFocus: autoFocus,
|
|
1673
|
-
column: column,
|
|
1674
|
-
filter: filter,
|
|
1675
|
-
handleApplyFilter: handleApplyFilter
|
|
1676
|
-
});
|
|
1677
|
-
}
|
|
1678
|
-
return /*#__PURE__*/React.createElement(Dropdown$1, {
|
|
1679
|
-
autoFocus: autoFocus,
|
|
1680
|
-
column: column,
|
|
1681
|
-
filter: filter,
|
|
1682
|
-
handleApplyFilter: handleApplyFilter
|
|
1683
|
-
});
|
|
1684
|
-
};
|
|
1685
|
-
|
|
1686
|
-
var STEPS = {
|
|
1687
|
-
ADD: "add",
|
|
1688
|
-
COLUMN: "column",
|
|
1689
|
-
VALUE: "value"
|
|
1690
|
-
};
|
|
1691
|
-
|
|
1692
|
-
var AddFilter = function AddFilter(_ref) {
|
|
1693
|
-
var _findBy;
|
|
1694
|
-
var columns = _ref.columns,
|
|
1695
|
-
filters = _ref.filters,
|
|
1696
|
-
handleChange = _ref.handleChange,
|
|
1697
|
-
handleClearFilter = _ref.handleClearFilter,
|
|
1698
|
-
_ref$disabled = _ref.disabled,
|
|
1699
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
1700
|
-
var _useTranslation = useTranslation(),
|
|
1701
|
-
t = _useTranslation.t;
|
|
1702
|
-
var _useState = useState({
|
|
1703
|
-
step: STEPS.ADD,
|
|
1704
|
-
column: {}
|
|
1705
|
-
}),
|
|
1706
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1707
|
-
selectedColumn = _useState2[0],
|
|
1708
|
-
setSelectedColumn = _useState2[1];
|
|
1709
|
-
|
|
1710
|
-
// Disable the add button when
|
|
1711
|
-
// 1. No value is entered for previous filter
|
|
1712
|
-
// 2. There are no more columns
|
|
1713
|
-
var disableAddButton = selectedColumn.step !== STEPS.ADD && isNotPresent((_findBy = findBy({
|
|
1714
|
-
key: selectedColumn.column.key
|
|
1715
|
-
}, filters)) === null || _findBy === void 0 ? void 0 : _findBy.value) || isEmpty(columns);
|
|
1716
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, selectedColumn.step !== STEPS.ADD ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
1717
|
-
className: "flex w-full gap-4"
|
|
1718
|
-
}, selectedColumn.step === STEPS.COLUMN && /*#__PURE__*/React.createElement(Select, {
|
|
1719
|
-
isSearchable: true,
|
|
1720
|
-
label: t("neetoFilters.segments.newFilter"),
|
|
1721
|
-
optionRemapping: {
|
|
1722
|
-
label: "label",
|
|
1723
|
-
value: "key"
|
|
1724
|
-
},
|
|
1725
|
-
options: columns,
|
|
1726
|
-
placeholder: t("neetoFilters.segments.selectFilter"),
|
|
1727
|
-
onChange: function onChange(column) {
|
|
1728
|
-
return setSelectedColumn({
|
|
1729
|
-
step: STEPS.VALUE,
|
|
1730
|
-
column: column
|
|
1731
|
-
});
|
|
1732
|
-
}
|
|
1733
|
-
}), selectedColumn.step === STEPS.VALUE && /*#__PURE__*/React.createElement(Item, {
|
|
1734
|
-
filters: filters,
|
|
1735
|
-
autoFocus: true,
|
|
1736
|
-
column: selectedColumn.column,
|
|
1737
|
-
onChange: handleChange
|
|
1738
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
1739
|
-
className: "mt-6 self-center",
|
|
1740
|
-
icon: IndeterminateCircle,
|
|
1741
|
-
style: "text",
|
|
1742
|
-
onClick: function onClick() {
|
|
1743
|
-
handleClearFilter(selectedColumn.column);
|
|
1744
|
-
setSelectedColumn(assoc("step", STEPS.ADD));
|
|
1745
|
-
}
|
|
1746
|
-
})), /*#__PURE__*/React.createElement(AddFilter, {
|
|
1747
|
-
filters: filters,
|
|
1748
|
-
handleChange: handleChange,
|
|
1749
|
-
handleClearFilter: handleClearFilter,
|
|
1750
|
-
columns: columns.filter(function (_ref2) {
|
|
1751
|
-
var key = _ref2.key;
|
|
1752
|
-
return !existsBy({
|
|
1753
|
-
key: key
|
|
1754
|
-
}, filters);
|
|
1755
|
-
}),
|
|
1756
|
-
disabled: disableAddButton
|
|
1757
|
-
})) : /*#__PURE__*/React.createElement(Button, {
|
|
1758
|
-
disabled: disabled,
|
|
1759
|
-
className: "self-start",
|
|
1760
|
-
icon: Plus,
|
|
1761
|
-
iconPosition: "left",
|
|
1762
|
-
label: t("neetoFilters.segments.addFilter"),
|
|
1763
|
-
style: "link",
|
|
1764
|
-
onClick: function onClick() {
|
|
1765
|
-
return setSelectedColumn(assoc("step", STEPS.COLUMN));
|
|
1766
|
-
}
|
|
1767
|
-
}));
|
|
1768
|
-
};
|
|
1769
|
-
|
|
1770
|
-
var buildSegmentsValidationSchema = function buildSegmentsValidationSchema(defaultSegmentName) {
|
|
1771
|
-
return yup.object({
|
|
1772
|
-
name: yup.string().trim().required(t$1("neetoFilters.segments.nameIsRequired")).test({
|
|
1773
|
-
name: "not-default-segment-name",
|
|
1774
|
-
test: function test(value) {
|
|
1775
|
-
return (value === null || value === void 0 ? void 0 : value.toLocaleLowerCase()) !== defaultSegmentName.toLocaleLowerCase();
|
|
1776
|
-
},
|
|
1777
|
-
message: t$1("neetoFilters.segments.reservedNameErrorMessage")
|
|
1778
|
-
})
|
|
1779
|
-
});
|
|
1780
|
-
};
|
|
1781
|
-
|
|
1782
|
-
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; }
|
|
1783
|
-
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; }
|
|
1784
|
-
var SegmentForm = function SegmentForm(_ref) {
|
|
1785
|
-
var _ref$isEdit = _ref.isEdit,
|
|
1786
|
-
isEdit = _ref$isEdit === void 0 ? false : _ref$isEdit,
|
|
1787
|
-
segmentFormInitialRef = _ref.segmentFormInitialRef,
|
|
1788
|
-
isOpen = _ref.isOpen,
|
|
1789
|
-
onClose = _ref.onClose,
|
|
1790
|
-
isSubmitting = _ref.isSubmitting,
|
|
1791
|
-
handleSubmit = _ref.handleSubmit,
|
|
1792
|
-
defaultSegmentName = _ref.defaultSegmentName,
|
|
1793
|
-
initialValues = _ref.initialValues,
|
|
1794
|
-
customFilters = _ref.customFilters,
|
|
1795
|
-
columns = _ref.columns,
|
|
1796
|
-
filters = _ref.filters,
|
|
1797
|
-
childrenKeys = _ref.childrenKeys;
|
|
1798
|
-
var history = useHistory();
|
|
1799
|
-
var _useTranslation = useTranslation(),
|
|
1800
|
-
t = _useTranslation.t;
|
|
1801
|
-
var _buildFilteredColumns = buildFilteredColumns({
|
|
1802
|
-
searchTerm: "",
|
|
1803
|
-
columns: columns
|
|
1804
|
-
}),
|
|
1805
|
-
_buildFilteredColumns2 = _buildFilteredColumns.groupedColumns,
|
|
1806
|
-
groupedColumns = _buildFilteredColumns2 === void 0 ? [] : _buildFilteredColumns2,
|
|
1807
|
-
_buildFilteredColumns3 = _buildFilteredColumns.ungroupedColumns,
|
|
1808
|
-
ungroupedColumns = _buildFilteredColumns3 === void 0 ? [] : _buildFilteredColumns3;
|
|
1809
|
-
var handleChange = function handleChange(newFilters) {
|
|
1810
|
-
var isClearAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1811
|
-
var params = buildUrlFromFilters(_objectSpread$4({
|
|
1812
|
-
columns: columns,
|
|
1813
|
-
filters: newFilters
|
|
1814
|
-
}, isClearAll && {
|
|
1815
|
-
isClearAll: true,
|
|
1816
|
-
childrenKeys: childrenKeys
|
|
1817
|
-
}));
|
|
1818
|
-
history.push({
|
|
1819
|
-
search: params
|
|
1820
|
-
});
|
|
1821
|
-
};
|
|
1822
|
-
var handleClearFilter = function handleClearFilter(column, values, setFieldValue) {
|
|
1823
|
-
var formState = [{
|
|
1824
|
-
conditions: removeBy({
|
|
1825
|
-
key: column.key
|
|
1826
|
-
}, values.filters[0].conditions)
|
|
1827
|
-
}];
|
|
1828
|
-
var globalState = removeBy({
|
|
1829
|
-
key: column.key
|
|
1830
|
-
}, filters);
|
|
1831
|
-
setFieldValue("filters", formState);
|
|
1832
|
-
handleChange(globalState);
|
|
1833
|
-
};
|
|
1834
|
-
return /*#__PURE__*/React.createElement(Pane$1, {
|
|
1835
|
-
isOpen: isOpen,
|
|
1836
|
-
onClose: onClose,
|
|
1837
|
-
initialFocusRef: segmentFormInitialRef
|
|
1838
|
-
}, /*#__PURE__*/React.createElement(Pane$1.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
1839
|
-
style: "h2",
|
|
1840
|
-
weight: "semibold"
|
|
1841
|
-
}, isEdit ? t("neetoFilters.segments.editSegment") : t("neetoFilters.segments.addNewSegment"))), /*#__PURE__*/React.createElement(Form, {
|
|
1842
|
-
className: "w-full",
|
|
1843
|
-
formProps: {
|
|
1844
|
-
noValidate: true
|
|
1845
|
-
},
|
|
1846
|
-
formikProps: {
|
|
1847
|
-
initialValues: initialValues,
|
|
1848
|
-
validateOnChange: true,
|
|
1849
|
-
validateOnBlur: true,
|
|
1850
|
-
validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
|
|
1851
|
-
onSubmit: handleSubmit
|
|
1852
|
-
}
|
|
1853
|
-
}, function (_ref2) {
|
|
1854
|
-
var errors = _ref2.errors,
|
|
1855
|
-
values = _ref2.values,
|
|
1856
|
-
setFieldValue = _ref2.setFieldValue;
|
|
1857
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane$1.Body, null, /*#__PURE__*/React.createElement(Input$1, {
|
|
1858
|
-
className: "w-full flex-grow-0",
|
|
1859
|
-
error: errors.name,
|
|
1860
|
-
label: t("neetoFilters.segments.name"),
|
|
1861
|
-
name: "name",
|
|
1862
|
-
placeholder: t("neetoFilters.segments.segmentName"),
|
|
1863
|
-
ref: segmentFormInitialRef
|
|
1864
|
-
}), /*#__PURE__*/React.createElement(Typography, {
|
|
1865
|
-
className: "mb-2 mt-4",
|
|
1866
|
-
style: "h4"
|
|
1867
|
-
}, t("neetoFilters.common.filters")), /*#__PURE__*/React.createElement("div", {
|
|
1868
|
-
className: "neeto-filters-pane-filter__body flex w-full flex-col gap-5"
|
|
1869
|
-
}, ungroupedColumns.filter(function (_ref3) {
|
|
1870
|
-
var key = _ref3.key;
|
|
1871
|
-
return _existsBy({
|
|
1872
|
-
key: key
|
|
1873
|
-
}, values.filters[0].conditions);
|
|
1874
|
-
}).map(function (column) {
|
|
1875
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1876
|
-
className: "flex w-full gap-4",
|
|
1877
|
-
key: column.key
|
|
1878
|
-
}, /*#__PURE__*/React.createElement(Item, {
|
|
1879
|
-
column: column,
|
|
1880
|
-
filters: filters,
|
|
1881
|
-
autoFocus: column.key === isOpen,
|
|
1882
|
-
onChange: function onChange(filters) {
|
|
1883
|
-
setFieldValue("filters", [{
|
|
1884
|
-
conditions: filters
|
|
1885
|
-
}]);
|
|
1886
|
-
handleChange(filters);
|
|
1887
|
-
}
|
|
1888
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
1889
|
-
className: "mt-6 self-center",
|
|
1890
|
-
icon: IndeterminateCircle,
|
|
1891
|
-
style: "text",
|
|
1892
|
-
onClick: function onClick() {
|
|
1893
|
-
return handleClearFilter(column, values, setFieldValue);
|
|
1894
|
-
}
|
|
1895
|
-
}));
|
|
1896
|
-
}), isPresent(groupedColumns) && /*#__PURE__*/React.createElement(Accordion, null, groupedColumns.map(function (_ref4) {
|
|
1897
|
-
var group = _ref4.group,
|
|
1898
|
-
columns = _ref4.columns;
|
|
1899
|
-
return /*#__PURE__*/React.createElement(Accordion.Item, {
|
|
1900
|
-
className: "accordion_item",
|
|
1901
|
-
key: group,
|
|
1902
|
-
title: group
|
|
1903
|
-
}, columns.map(function (column) {
|
|
1904
|
-
return /*#__PURE__*/React.createElement(Item, {
|
|
1905
|
-
column: column,
|
|
1906
|
-
filters: filters,
|
|
1907
|
-
autoFocus: column.key === isOpen,
|
|
1908
|
-
key: column.key,
|
|
1909
|
-
onChange: handleChange
|
|
1910
|
-
});
|
|
1911
|
-
}));
|
|
1912
|
-
})), isEmpty([].concat(_toConsumableArray(groupedColumns), _toConsumableArray(ungroupedColumns))) && /*#__PURE__*/React.createElement(Typography, {
|
|
1913
|
-
style: "body2"
|
|
1914
|
-
}, t("neetoFilters.messages.noResourcesFound", {
|
|
1915
|
-
resources: t("neetoFilters.common.columns")
|
|
1916
|
-
})), customFilters, /*#__PURE__*/React.createElement(AddFilter, {
|
|
1917
|
-
filters: filters,
|
|
1918
|
-
handleChange: handleChange,
|
|
1919
|
-
columns: ungroupedColumns.filter(function (_ref5) {
|
|
1920
|
-
var key = _ref5.key;
|
|
1921
|
-
return !existsBy({
|
|
1922
|
-
key: key
|
|
1923
|
-
}, filters);
|
|
1924
|
-
}),
|
|
1925
|
-
handleClearFilter: function handleClearFilter(_ref6) {
|
|
1926
|
-
var key = _ref6.key;
|
|
1927
|
-
return handleChange(removeBy({
|
|
1928
|
-
key: key
|
|
1929
|
-
}, filters));
|
|
1930
|
-
}
|
|
1931
|
-
}))), /*#__PURE__*/React.createElement(Pane$1.Footer, {
|
|
1932
|
-
className: "flex items-center space-x-2"
|
|
1933
|
-
}, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
1934
|
-
cancelButtonProps: {
|
|
1935
|
-
onClick: onClose,
|
|
1936
|
-
disabled: false
|
|
1937
|
-
},
|
|
1938
|
-
submitButtonProps: {
|
|
1939
|
-
disabled: isSubmitting || isEmpty(filters),
|
|
1940
|
-
loading: isSubmitting
|
|
1941
|
-
}
|
|
1942
|
-
})));
|
|
1943
|
-
}));
|
|
1944
|
-
};
|
|
1945
|
-
|
|
1946
|
-
var QUERY_KEYS = {
|
|
1947
|
-
SEGMENTS_LIST: "segments-list"
|
|
1948
|
-
};
|
|
1949
|
-
var SEGMENTS_STALE_TIME = 900000; // 15 mins
|
|
1950
|
-
|
|
1951
|
-
var DEFAULT_SEGMENTS_CACHE = {
|
|
1952
|
-
segments: []
|
|
1953
|
-
};
|
|
1954
|
-
var SEGMENT_ACTIONS$1 = {
|
|
1955
|
-
EDIT: "edit",
|
|
1956
|
-
CREATE: "create"
|
|
1957
|
-
};
|
|
1958
|
-
|
|
1959
|
-
var SHORTCUTS = {
|
|
1960
|
-
closePane: {
|
|
1961
|
-
sequence: "escape",
|
|
1962
|
-
description: t$1("neetoFilters.shortcuts.closePane")
|
|
1963
|
-
},
|
|
1964
|
-
deleteBlock: {
|
|
1965
|
-
sequence: "backspace",
|
|
1966
|
-
description: t$1("neetoFilters.shortcuts.deleteBlock")
|
|
1967
|
-
},
|
|
1968
|
-
openFilterPane: {
|
|
1969
|
-
sequence: "enter",
|
|
1970
|
-
description: t$1("neetoFilters.shortcuts.openFilterPane")
|
|
1971
|
-
}
|
|
1972
|
-
};
|
|
1973
|
-
|
|
1974
|
-
var buildCustomDateValue = function buildCustomDateValue(value) {
|
|
1975
|
-
var isBeforeOrAfter = Math.abs(dayjs(value[1]).diff(dayjs(value[0]), "year")) >= 90;
|
|
1976
|
-
if (isBeforeOrAfter) {
|
|
1977
|
-
var currentMoment = dayjs();
|
|
1978
|
-
var diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), "year"));
|
|
1979
|
-
var diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), "year"));
|
|
1980
|
-
return diffWithStart < diffWithEnd ? "after-".concat(dateFormat.date(dayjs(value[0]).subtract(1, "day"))) : "before-".concat(dateFormat.date(dayjs(value[1]).add(1, "day")));
|
|
1981
|
-
}
|
|
1982
|
-
return value.map(dateFormat.date).join(" - ");
|
|
1983
|
-
};
|
|
1984
|
-
var buildFilterValue = function buildFilterValue(filter) {
|
|
1985
|
-
var _findBy2;
|
|
1986
|
-
var _filter$defaultType = filter.defaultType,
|
|
1987
|
-
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
1988
|
-
value = filter.value,
|
|
1989
|
-
rule = filter.rule,
|
|
1990
|
-
_filter$values = filter.values,
|
|
1991
|
-
initialValues = _filter$values === void 0 ? [] : _filter$values;
|
|
1992
|
-
var values = initialValues.map(modify("value", function (value) {
|
|
1993
|
-
return value.toString();
|
|
1994
|
-
}));
|
|
1995
|
-
if (isDate(defaultType) && isCustomDateRange(value)) {
|
|
1996
|
-
return buildCustomDateValue(value);
|
|
1997
|
-
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
1998
|
-
return value.map(dateFormat.time).join(" - ");
|
|
1999
|
-
} else if (isDate(defaultType) || isTime(defaultType)) {
|
|
2000
|
-
return humanize(value);
|
|
2001
|
-
} else if (isMulti(defaultType)) {
|
|
2002
|
-
return value.map(function (value) {
|
|
2003
|
-
var _findBy;
|
|
2004
|
-
return ((_findBy = findBy({
|
|
2005
|
-
value: value
|
|
2006
|
-
}, values)) === null || _findBy === void 0 ? void 0 : _findBy.label) || value;
|
|
2007
|
-
}).join(", ");
|
|
2008
|
-
} else if (isSingleDate(defaultType)) {
|
|
2009
|
-
return rule === "between" ? value.map(dateFormat.date).join(" - ") : dateFormat.date(value);
|
|
2010
|
-
} else if (isSingleTime(defaultType)) {
|
|
2011
|
-
return rule === "between" ? value.map(dateFormat.time).join(" - ") : dateFormat.time(value);
|
|
2012
|
-
} else if (isBoolean(defaultType)) {
|
|
2013
|
-
return getLabelFromBool({
|
|
2014
|
-
value: value,
|
|
2015
|
-
values: values
|
|
2016
|
-
});
|
|
2017
|
-
}
|
|
2018
|
-
return ((_findBy2 = findBy({
|
|
2019
|
-
value: value
|
|
2020
|
-
}, values)) === null || _findBy2 === void 0 ? void 0 : _findBy2.label) || value;
|
|
2021
|
-
};
|
|
2022
|
-
var buildRuleValue = function buildRuleValue(_ref) {
|
|
2023
|
-
var rule = _ref.rule,
|
|
2024
|
-
defaultType = _ref.defaultType;
|
|
2025
|
-
if (isText(defaultType)) {
|
|
2026
|
-
return findBy({
|
|
2027
|
-
value: rule
|
|
2028
|
-
}, TEXT_RULES).label;
|
|
2029
|
-
} else if (isDigit(defaultType)) {
|
|
2030
|
-
return findBy({
|
|
2031
|
-
value: rule
|
|
2032
|
-
}, NUMBER_RULES).label;
|
|
2033
|
-
} else if (isSingleDate(defaultType)) {
|
|
2034
|
-
return findBy({
|
|
2035
|
-
value: rule
|
|
2036
|
-
}, SINGLE_DATE_OPTIONS).label;
|
|
2037
|
-
} else if (isSingleTime(defaultType)) {
|
|
2038
|
-
return findBy({
|
|
2039
|
-
value: rule
|
|
2040
|
-
}, SINGLE_TIME_OPTIONS).label;
|
|
2041
|
-
}
|
|
2042
|
-
return "";
|
|
2043
|
-
};
|
|
2044
|
-
var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
|
|
2045
|
-
return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
|
|
2046
|
-
};
|
|
2047
|
-
var deepCompare = function deepCompare(filters1, filters2) {
|
|
2048
|
-
var comparisonHelper = function comparisonHelper(filters) {
|
|
2049
|
-
return sortBy(prop("key"), removeBy({
|
|
2050
|
-
key: SEARCH_TERM_KEY
|
|
2051
|
-
}, project(["key", "rule", "value"], filters)));
|
|
2052
|
-
};
|
|
2053
|
-
return notEqualsDeep(comparisonHelper(filters1), comparisonHelper(filters2));
|
|
2054
|
-
};
|
|
2055
|
-
|
|
2056
|
-
var Block = function Block(_ref) {
|
|
2057
|
-
var filter = _ref.filter,
|
|
2058
|
-
handleDelete = _ref.handleDelete,
|
|
2059
|
-
setIsPaneOpen = _ref.setIsPaneOpen;
|
|
2060
|
-
var key = filter.key,
|
|
2061
|
-
_filter$defaultType = filter.defaultType,
|
|
2062
|
-
defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
|
|
2063
|
-
label = filter.label,
|
|
2064
|
-
rule = filter.rule,
|
|
2065
|
-
defaultValue = filter.defaultValue;
|
|
2066
|
-
var filterValue = buildFilterValue(filter);
|
|
2067
|
-
var ruleContent = buildRuleValue({
|
|
2068
|
-
rule: rule,
|
|
2069
|
-
defaultType: defaultType
|
|
2070
|
-
});
|
|
2071
|
-
var blockLength = label.length + ruleContent.length + filterValue.length;
|
|
2072
|
-
var toolTipDisabled = blockLength <= 50;
|
|
2073
|
-
var blockContent = !toolTipDisabled ? "".concat(filterValue.slice(0, 50 - blockLength), "...") : filterValue;
|
|
2074
|
-
var deleteBlockHotKeyRef = useHotkeys(SHORTCUTS.deleteBlock.sequence, function () {
|
|
2075
|
-
return handleDelete(key);
|
|
2076
|
-
}, {
|
|
2077
|
-
mode: "scoped"
|
|
2078
|
-
});
|
|
2079
|
-
var openFilterPaneHotKeyRef = useHotkeys(SHORTCUTS.openFilterPane.sequence, function () {
|
|
2080
|
-
return setIsPaneOpen(key);
|
|
2081
|
-
}, {
|
|
2082
|
-
mode: "scoped"
|
|
2083
|
-
});
|
|
2084
|
-
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
2085
|
-
content: filterValue,
|
|
2086
|
-
disabled: toolTipDisabled,
|
|
2087
|
-
position: "bottom",
|
|
2088
|
-
theme: "light"
|
|
2089
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
2090
|
-
className: "neeto-filters-bar__block",
|
|
2091
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-block"),
|
|
2092
|
-
tabIndex: 0,
|
|
2093
|
-
ref: function ref(node) {
|
|
2094
|
-
deleteBlockHotKeyRef.current = node;
|
|
2095
|
-
openFilterPaneHotKeyRef.current = node;
|
|
2096
|
-
},
|
|
2097
|
-
onClick: function onClick() {
|
|
2098
|
-
return setIsPaneOpen(key);
|
|
2099
|
-
}
|
|
2100
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
2101
|
-
style: "body2"
|
|
2102
|
-
}, label, ":"), /*#__PURE__*/React.createElement(Typography, {
|
|
2103
|
-
className: "neeto-ui-text-gray-500",
|
|
2104
|
-
style: "body2"
|
|
2105
|
-
}, ruleContent), /*#__PURE__*/React.createElement(Typography, {
|
|
2106
|
-
style: "body2"
|
|
2107
|
-
}, blockContent), !defaultValue && /*#__PURE__*/React.createElement("div", {
|
|
2108
|
-
className: "neeto-filters-bar__block-close"
|
|
2109
|
-
}, /*#__PURE__*/React.createElement(Close, {
|
|
2110
|
-
"data-cy": "neeto-filters-".concat(hyphenate(key), "-block-close-btn"),
|
|
2111
|
-
size: 16,
|
|
2112
|
-
strokeWidth: 2,
|
|
2113
|
-
onClick: function onClick(event) {
|
|
2114
|
-
event.stopPropagation();
|
|
2115
|
-
handleDelete(key);
|
|
2116
|
-
}
|
|
2117
|
-
}))));
|
|
1081
|
+
}))));
|
|
2118
1082
|
};
|
|
2119
1083
|
|
|
2120
1084
|
var ChildBlock = function ChildBlock(_ref) {
|
|
@@ -2158,89 +1122,6 @@ var ChildBlock = function ChildBlock(_ref) {
|
|
|
2158
1122
|
})));
|
|
2159
1123
|
};
|
|
2160
1124
|
|
|
2161
|
-
var FilterBar = function FilterBar(_ref) {
|
|
2162
|
-
var filters = _ref.filters,
|
|
2163
|
-
setIsSavePaneOpen = _ref.setIsSavePaneOpen,
|
|
2164
|
-
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2165
|
-
childrenKeys = _ref.childrenKeys,
|
|
2166
|
-
nonHiddenFilters = _ref.nonHiddenFilters,
|
|
2167
|
-
childrenFiltersApplied = _ref.childrenFiltersApplied,
|
|
2168
|
-
keywordFilter = _ref.keywordFilter,
|
|
2169
|
-
handleApplyFilters = _ref.handleApplyFilters;
|
|
2170
|
-
var _useTranslation = useTranslation(),
|
|
2171
|
-
t = _useTranslation.t;
|
|
2172
|
-
var history = useHistory();
|
|
2173
|
-
var searchParams = useQueryParams({
|
|
2174
|
-
toCamelCase: false
|
|
2175
|
-
});
|
|
2176
|
-
var handleDelete = function handleDelete(key) {
|
|
2177
|
-
if (key === SEARCH_TERM_KEY) {
|
|
2178
|
-
var params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());
|
|
2179
|
-
var pathname = window.location.pathname;
|
|
2180
|
-
history.push(buildUrl(pathname, params));
|
|
2181
|
-
return;
|
|
2182
|
-
}
|
|
2183
|
-
if (childrenKeys.includes(key)) {
|
|
2184
|
-
var _params = omit([key], getSnakeCasedQueryParams());
|
|
2185
|
-
var _pathname = window.location.pathname;
|
|
2186
|
-
history.push(buildUrl(_pathname, _params));
|
|
2187
|
-
}
|
|
2188
|
-
var newFilters = removeBy({
|
|
2189
|
-
key: key
|
|
2190
|
-
}, filters);
|
|
2191
|
-
handleApplyFilters(newFilters);
|
|
2192
|
-
};
|
|
2193
|
-
var handleClearAll = function handleClearAll() {
|
|
2194
|
-
var params = isKeywordFilterPresent(keywordFilter) ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams()) : getSnakeCasedQueryParams();
|
|
2195
|
-
var pathname = window.location.pathname;
|
|
2196
|
-
history.push(buildUrl(pathname, params));
|
|
2197
|
-
handleApplyFilters([], true);
|
|
2198
|
-
};
|
|
2199
|
-
var hideClearButton = nonHiddenFilters.every(function (_ref2) {
|
|
2200
|
-
var defaultValue = _ref2.defaultValue,
|
|
2201
|
-
isClearable = _ref2.isClearable;
|
|
2202
|
-
return defaultValue && !isClearable;
|
|
2203
|
-
}) && !childrenFiltersApplied;
|
|
2204
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, nonHiddenFilters.map(function (filter) {
|
|
2205
|
-
var _filter$suffixCompone;
|
|
2206
|
-
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
2207
|
-
key: filter.key
|
|
2208
|
-
}, /*#__PURE__*/React.createElement(Block, {
|
|
2209
|
-
filter: filter,
|
|
2210
|
-
handleDelete: handleDelete,
|
|
2211
|
-
setIsPaneOpen: setIsPaneOpen
|
|
2212
|
-
}), (_filter$suffixCompone = filter.suffixComponent) === null || _filter$suffixCompone === void 0 ? void 0 : _filter$suffixCompone.call(filter), /*#__PURE__*/React.createElement("div", {
|
|
2213
|
-
className: "neeto-filters-bar--separator"
|
|
2214
|
-
}));
|
|
2215
|
-
}), childrenKeys.filter(function (childKey) {
|
|
2216
|
-
return has(childKey, searchParams);
|
|
2217
|
-
}).map(function (childKey) {
|
|
2218
|
-
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
2219
|
-
key: childKey
|
|
2220
|
-
}, /*#__PURE__*/React.createElement(ChildBlock, {
|
|
2221
|
-
childKey: childKey,
|
|
2222
|
-
handleDelete: handleDelete,
|
|
2223
|
-
setIsPaneOpen: setIsPaneOpen
|
|
2224
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
2225
|
-
className: "neeto-filters-bar--separator"
|
|
2226
|
-
}));
|
|
2227
|
-
}), !hasOnlyKeywordFilter(filters) && /*#__PURE__*/React.createElement(Button, {
|
|
2228
|
-
label: t("neetoFilters.segments.saveAsNewSegment"),
|
|
2229
|
-
style: "secondary",
|
|
2230
|
-
onClick: function onClick() {
|
|
2231
|
-
setIsPaneOpen(false);
|
|
2232
|
-
setIsSavePaneOpen({
|
|
2233
|
-
action: SEGMENT_ACTIONS$1.CREATE
|
|
2234
|
-
});
|
|
2235
|
-
}
|
|
2236
|
-
}), !hideClearButton && /*#__PURE__*/React.createElement(Button, {
|
|
2237
|
-
"data-cy": "neeto-filters-bar-clear-btn",
|
|
2238
|
-
label: t("neetoFilters.common.clearFilters"),
|
|
2239
|
-
style: "text",
|
|
2240
|
-
onClick: handleClearAll
|
|
2241
|
-
}));
|
|
2242
|
-
};
|
|
2243
|
-
|
|
2244
1125
|
var fetch = function fetch(params) {
|
|
2245
1126
|
return axios.get(SEGMENTS_BASE_URL, {
|
|
2246
1127
|
params: params
|
|
@@ -2254,8 +1135,6 @@ var show = function show(id) {
|
|
|
2254
1135
|
var create = function create(payload) {
|
|
2255
1136
|
return axios.post(SEGMENTS_BASE_URL, {
|
|
2256
1137
|
segment: payload
|
|
2257
|
-
}, {
|
|
2258
|
-
showToastr: false
|
|
2259
1138
|
});
|
|
2260
1139
|
};
|
|
2261
1140
|
var update = function update(_ref) {
|
|
@@ -2278,6 +1157,11 @@ var segmentsApi = {
|
|
|
2278
1157
|
destroy: destroy
|
|
2279
1158
|
};
|
|
2280
1159
|
|
|
1160
|
+
var QUERY_KEYS = {
|
|
1161
|
+
SEGMENTS_LIST: "segments-list"
|
|
1162
|
+
};
|
|
1163
|
+
var SEGMENTS_STALE_TIME = 900000; // 15 mins
|
|
1164
|
+
|
|
2281
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; }
|
|
2282
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; }
|
|
2283
1167
|
var SEGMENTS_LIST = QUERY_KEYS.SEGMENTS_LIST;
|
|
@@ -2296,6 +1180,15 @@ var useFetchSegments = function useFetchSegments(_ref) {
|
|
|
2296
1180
|
select: prop("segments")
|
|
2297
1181
|
}, options));
|
|
2298
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
|
+
};
|
|
2299
1192
|
var useCreateSegment = function useCreateSegment(options) {
|
|
2300
1193
|
return useMutationWithInvalidation(segmentsApi.create, _objectSpread$3({
|
|
2301
1194
|
keysToInvalidate: [SEGMENTS_LIST]
|
|
@@ -2312,25 +1205,47 @@ var useDestroySegment = function useDestroySegment(options) {
|
|
|
2312
1205
|
}, options));
|
|
2313
1206
|
};
|
|
2314
1207
|
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
1208
|
+
var buildSegmentsValidationSchema = function buildSegmentsValidationSchema(defaultSegmentName) {
|
|
1209
|
+
return yup.object({
|
|
1210
|
+
name: yup.string().trim().required().test({
|
|
1211
|
+
name: "not-default-segment-name",
|
|
1212
|
+
test: function test(value) {
|
|
1213
|
+
return (value === null || value === void 0 ? void 0 : value.toLocaleLowerCase()) !== defaultSegmentName.toLocaleLowerCase();
|
|
1214
|
+
},
|
|
1215
|
+
message: t$1("neetoFilters.segments.reservedNameErrorMessage")
|
|
1216
|
+
})
|
|
1217
|
+
});
|
|
1218
|
+
};
|
|
1219
|
+
|
|
1220
|
+
var Menu = Dropdown$2.Menu,
|
|
1221
|
+
MenuItem = Dropdown$2.MenuItem;
|
|
1222
|
+
var Segment = function Segment(_ref) {
|
|
2318
1223
|
var entity = _ref.entity,
|
|
2319
|
-
|
|
1224
|
+
filters = _ref.filters,
|
|
2320
1225
|
columns = _ref.columns,
|
|
2321
|
-
childrenKeys = _ref.childrenKeys
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
var initialRenderRef = useRef(true);
|
|
2326
|
-
var _useQueryParams = useQueryParams(),
|
|
2327
|
-
segmentId = _useQueryParams.segmentId;
|
|
2328
|
-
var _useState = useState({
|
|
2329
|
-
action: undefined
|
|
2330
|
-
}),
|
|
1226
|
+
childrenKeys = _ref.childrenKeys,
|
|
1227
|
+
setIsFilterPaneOpen = _ref.setIsFilterPaneOpen,
|
|
1228
|
+
defaultSegmentName = _ref.defaultSegmentName;
|
|
1229
|
+
var _useState = useState(false),
|
|
2331
1230
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2332
1231
|
isSavePaneOpen = _useState2[0],
|
|
2333
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
|
+
var _useTranslation = useTranslation(),
|
|
1239
|
+
t = _useTranslation.t;
|
|
1240
|
+
var history = useHistory();
|
|
1241
|
+
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
1242
|
+
var _getQueryParams = getQueryParams(),
|
|
1243
|
+
segmentId = _getQueryParams.segmentId;
|
|
1244
|
+
var _useShowSegment = useShowSegment(segmentId, {
|
|
1245
|
+
enabled: isNotNil(segmentId)
|
|
1246
|
+
}),
|
|
1247
|
+
_useShowSegment$data = _useShowSegment.data,
|
|
1248
|
+
selectedSegment = _useShowSegment$data === void 0 ? {} : _useShowSegment$data;
|
|
2334
1249
|
var _useCreateSegment = useCreateSegment(),
|
|
2335
1250
|
createSegment = _useCreateSegment.mutate,
|
|
2336
1251
|
isCreating = _useCreateSegment.isLoading;
|
|
@@ -2338,50 +1253,18 @@ var useSegment = function useSegment(_ref) {
|
|
|
2338
1253
|
updateSegment = _useUpdateSegment.mutate,
|
|
2339
1254
|
isUpdating = _useUpdateSegment.isLoading;
|
|
2340
1255
|
var isSubmitting = isCreating || isUpdating;
|
|
2341
|
-
var
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
key: SEARCH_TERM_KEY,
|
|
2352
|
-
value: keywordValue
|
|
2353
|
-
});
|
|
2354
|
-
var filters = buildFiltersFromSearchParams(isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue) ? [keywordFilter].concat(_toConsumableArray(columns)) : columns);
|
|
2355
|
-
var nonHiddenFilters = removeBy({
|
|
2356
|
-
hidden: true
|
|
2357
|
-
}, filters);
|
|
2358
|
-
var handleApplyFilters = function handleApplyFilters(newFilters, isClearAll) {
|
|
2359
|
-
var params = buildUrlFromFilters(_objectSpread$2({
|
|
2360
|
-
columns: columns,
|
|
2361
|
-
filters: isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(newFilters), [keywordFilter]) : newFilters
|
|
2362
|
-
}, isClearAll && {
|
|
2363
|
-
isClearAll: true,
|
|
2364
|
-
childrenKeys: childrenKeys
|
|
2365
|
-
}));
|
|
2366
|
-
history.push({
|
|
2367
|
-
search: params
|
|
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
|
+
}
|
|
2368
1266
|
});
|
|
2369
1267
|
};
|
|
2370
|
-
var childrenFiltersApplied = childrenKeys.some(function (key) {
|
|
2371
|
-
return has(key, searchParams);
|
|
2372
|
-
});
|
|
2373
|
-
useEffect(function () {
|
|
2374
|
-
if (initialRenderRef.current) {
|
|
2375
|
-
initialRenderRef.current = false;
|
|
2376
|
-
return noop$1;
|
|
2377
|
-
}
|
|
2378
|
-
var handler = setTimeout(function () {
|
|
2379
|
-
handleApplyFilters(filters);
|
|
2380
|
-
}, 500);
|
|
2381
|
-
return function () {
|
|
2382
|
-
return clearTimeout(handler);
|
|
2383
|
-
};
|
|
2384
|
-
}, [keywordValue]);
|
|
2385
1268
|
var handleCreateSuccess = function handleCreateSuccess(_ref2) {
|
|
2386
1269
|
var _filters$;
|
|
2387
1270
|
var _ref2$segment = _ref2.segment,
|
|
@@ -2394,101 +1277,99 @@ var useSegment = function useSegment(_ref) {
|
|
|
2394
1277
|
id: id
|
|
2395
1278
|
})
|
|
2396
1279
|
});
|
|
2397
|
-
setIsSavePaneOpen(
|
|
2398
|
-
action: undefined
|
|
2399
|
-
});
|
|
2400
|
-
showThumbsUpToastr();
|
|
1280
|
+
setIsSavePaneOpen(false);
|
|
2401
1281
|
};
|
|
2402
|
-
var
|
|
1282
|
+
var handleSubmit = function handleSubmit(_ref3) {
|
|
2403
1283
|
var name = _ref3.name;
|
|
2404
|
-
|
|
2405
|
-
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
2406
|
-
createSegment({
|
|
1284
|
+
return createSegment({
|
|
2407
1285
|
name: name,
|
|
2408
1286
|
entity: entity,
|
|
2409
1287
|
filters: filtersPayload
|
|
2410
1288
|
}, {
|
|
2411
|
-
onSuccess: handleCreateSuccess
|
|
2412
|
-
onError: function onError(error) {
|
|
2413
|
-
return setFieldError("name", error.response.data.error);
|
|
2414
|
-
}
|
|
2415
|
-
});
|
|
2416
|
-
};
|
|
2417
|
-
var handleUpdate = function handleUpdate(_ref5, _ref6) {
|
|
2418
|
-
var name = _ref5.name;
|
|
2419
|
-
var setFieldError = _ref6.setFieldError;
|
|
2420
|
-
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
2421
|
-
updateSegment({
|
|
2422
|
-
id: segmentId,
|
|
2423
|
-
payload: {
|
|
2424
|
-
name: name,
|
|
2425
|
-
filters: filtersPayload
|
|
2426
|
-
}
|
|
2427
|
-
}, {
|
|
2428
|
-
onSuccess: function onSuccess() {
|
|
2429
|
-
setIsSavePaneOpen({
|
|
2430
|
-
action: undefined
|
|
2431
|
-
});
|
|
2432
|
-
showThumbsUpToastr();
|
|
2433
|
-
},
|
|
2434
|
-
onError: function onError(error) {
|
|
2435
|
-
return setFieldError("name", error.response.data.error);
|
|
2436
|
-
}
|
|
1289
|
+
onSuccess: handleCreateSuccess
|
|
2437
1290
|
});
|
|
2438
1291
|
};
|
|
2439
|
-
return {
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
childrenFiltersApplied: childrenFiltersApplied,
|
|
2449
|
-
handleSubmit: isEdit ? handleUpdate : handleCreate
|
|
2450
|
-
};
|
|
2451
|
-
};
|
|
2452
|
-
|
|
2453
|
-
var Menu = Dropdown$2.Menu,
|
|
2454
|
-
MenuItem = Dropdown$2.MenuItem;
|
|
2455
|
-
var SegmentBar = function SegmentBar(_ref) {
|
|
2456
|
-
var entity = _ref.entity,
|
|
2457
|
-
filters = _ref.filters,
|
|
2458
|
-
setIsSavePaneOpen = _ref.setIsSavePaneOpen,
|
|
2459
|
-
setIsPaneOpen = _ref.setIsPaneOpen;
|
|
2460
|
-
var _useTranslation = useTranslation(),
|
|
2461
|
-
t = _useTranslation.t;
|
|
2462
|
-
var _useQueryParams = useQueryParams(),
|
|
2463
|
-
segmentId = _useQueryParams.segmentId;
|
|
2464
|
-
var queryClient = useQueryClient();
|
|
2465
|
-
var cachedSegments = queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, ""]) || DEFAULT_SEGMENTS_CACHE;
|
|
2466
|
-
var segment = findById(segmentId, cachedSegments.segments);
|
|
2467
|
-
if (isNotPresent(segment)) return null;
|
|
2468
|
-
var newChangesExists = deepCompare(segment.filters[0].conditions, filters);
|
|
2469
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
|
|
2470
|
-
className: "neeto-ui-text-gray-600 mr-4",
|
|
2471
|
-
"data-cy": "neeto-filters-segment-name",
|
|
2472
|
-
style: "h4"
|
|
2473
|
-
}, segment.name), newChangesExists && /*#__PURE__*/React.createElement(Dropdown$2, {
|
|
1292
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, isNil(segmentId) ? /*#__PURE__*/React.createElement(Button, {
|
|
1293
|
+
disabled: hasOnlyKeywordFilter(filters),
|
|
1294
|
+
label: t("neetoFilters.segments.saveAsSegment"),
|
|
1295
|
+
style: "secondary",
|
|
1296
|
+
onClick: function onClick() {
|
|
1297
|
+
setIsFilterPaneOpen(false);
|
|
1298
|
+
setIsSavePaneOpen(true);
|
|
1299
|
+
}
|
|
1300
|
+
}) : /*#__PURE__*/React.createElement(Dropdown$2, {
|
|
2474
1301
|
buttonStyle: "secondary",
|
|
2475
|
-
label: t("neetoFilters.segments.
|
|
1302
|
+
label: t("neetoFilters.segments.saveSegment")
|
|
2476
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, {
|
|
2477
1307
|
onClick: function onClick() {
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
});
|
|
1308
|
+
setIsFilterPaneOpen(false);
|
|
1309
|
+
setIsSavePaneOpen(true);
|
|
2481
1310
|
}
|
|
2482
|
-
}, t("neetoFilters.segments.
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
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
|
|
2488
1333
|
}
|
|
2489
|
-
},
|
|
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
|
|
1352
|
+
}
|
|
1353
|
+
})))), /*#__PURE__*/React.createElement(Alert, {
|
|
1354
|
+
isOpen: isUpdateAlertOpen,
|
|
1355
|
+
isSubmitting: isUpdating,
|
|
1356
|
+
submitButtonLabel: t("neetoFilters.common.update"),
|
|
1357
|
+
title: t("neetoFilters.segments.updateSegment"),
|
|
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
|
+
}
|
|
1363
|
+
}),
|
|
1364
|
+
onClose: function onClose() {
|
|
1365
|
+
return setIsUpdateAlertOpen(false);
|
|
1366
|
+
},
|
|
1367
|
+
onSubmit: handleUpdate
|
|
1368
|
+
}));
|
|
2490
1369
|
};
|
|
2491
1370
|
|
|
1371
|
+
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; }
|
|
1372
|
+
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; }
|
|
2492
1373
|
var Bar = function Bar(_ref) {
|
|
2493
1374
|
var entity = _ref.entity,
|
|
2494
1375
|
className = _ref.className,
|
|
@@ -2498,134 +1379,130 @@ var Bar = function Bar(_ref) {
|
|
|
2498
1379
|
keyword = _ref$keyword === void 0 ? {
|
|
2499
1380
|
node: "",
|
|
2500
1381
|
value: "",
|
|
2501
|
-
setValue: noop
|
|
1382
|
+
setValue: noop
|
|
2502
1383
|
} : _ref$keyword,
|
|
2503
1384
|
_ref$setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2504
1385
|
setIsPaneOpen = _ref$setIsPaneOpen === void 0 ? identity : _ref$setIsPaneOpen,
|
|
2505
1386
|
_ref$childrenKeys = _ref.childrenKeys,
|
|
2506
1387
|
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
|
|
2507
1388
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
2508
|
-
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t$1("neetoFilters.common.allResults") : _ref$defaultSegmentNa
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
nonHiddenFilters =
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
filters: filters,
|
|
2541
|
-
handleApplyFilters: handleApplyFilters,
|
|
2542
|
-
keywordFilter: keywordFilter,
|
|
2543
|
-
nonHiddenFilters: nonHiddenFilters,
|
|
2544
|
-
setIsPaneOpen: setIsPaneOpen,
|
|
2545
|
-
setIsSavePaneOpen: setIsSavePaneOpen
|
|
2546
|
-
})), /*#__PURE__*/React.createElement(SegmentForm, {
|
|
2547
|
-
childrenKeys: childrenKeys,
|
|
2548
|
-
columns: columns,
|
|
2549
|
-
customFilters: customFilters,
|
|
2550
|
-
defaultSegmentName: defaultSegmentName,
|
|
2551
|
-
filters: filters,
|
|
2552
|
-
handleSubmit: handleSubmit,
|
|
2553
|
-
isEdit: isEdit,
|
|
2554
|
-
isSubmitting: isSubmitting,
|
|
2555
|
-
keywordFilter: keywordFilter,
|
|
2556
|
-
segmentFormInitialRef: segmentFormInitialRef,
|
|
2557
|
-
isOpen: isPresent(isSavePaneOpen.action),
|
|
2558
|
-
initialValues: isEdit ? assoc("filters", [{
|
|
2559
|
-
conditions: filters
|
|
2560
|
-
}], segment) : {
|
|
2561
|
-
name: "",
|
|
2562
|
-
filters: [{
|
|
2563
|
-
conditions: filters
|
|
2564
|
-
}]
|
|
2565
|
-
},
|
|
2566
|
-
onClose: function onClose() {
|
|
2567
|
-
return setIsSavePaneOpen({
|
|
2568
|
-
action: undefined
|
|
1389
|
+
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t$1("neetoFilters.common.allResults") : _ref$defaultSegmentNa;
|
|
1390
|
+
return function () {
|
|
1391
|
+
var _useTranslation = useTranslation(),
|
|
1392
|
+
t = _useTranslation.t;
|
|
1393
|
+
var initialRenderRef = useRef(true);
|
|
1394
|
+
var searchParams = useQueryParams({
|
|
1395
|
+
toCamelCase: false
|
|
1396
|
+
});
|
|
1397
|
+
var keywordValue = searchParams[SEARCH_TERM_KEY] || "";
|
|
1398
|
+
var keywordFilter = _objectSpread$2(_objectSpread$2({
|
|
1399
|
+
type: "text",
|
|
1400
|
+
rule: "contains",
|
|
1401
|
+
label: t("neetoFilters.common.searchTerm")
|
|
1402
|
+
}, keyword), {}, {
|
|
1403
|
+
key: SEARCH_TERM_KEY,
|
|
1404
|
+
value: keywordValue
|
|
1405
|
+
});
|
|
1406
|
+
var filters = buildFiltersFromSearchParams(isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue) ? [keywordFilter].concat(_toConsumableArray(columns)) : columns);
|
|
1407
|
+
var nonHiddenFilters = removeBy({
|
|
1408
|
+
hidden: true
|
|
1409
|
+
}, filters);
|
|
1410
|
+
var history = useHistory();
|
|
1411
|
+
var handleSubmit = function handleSubmit(newFilters, isClearAll) {
|
|
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
|
|
2569
1421
|
});
|
|
2570
|
-
}
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
var sourceKeys = Object.keys(source);
|
|
2578
|
-
var key, i;
|
|
2579
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
2580
|
-
key = sourceKeys[i];
|
|
2581
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
2582
|
-
target[key] = source[key];
|
|
2583
|
-
}
|
|
2584
|
-
return target;
|
|
2585
|
-
}
|
|
2586
|
-
|
|
2587
|
-
function _objectWithoutProperties(source, excluded) {
|
|
2588
|
-
if (source == null) return {};
|
|
2589
|
-
var target = _objectWithoutPropertiesLoose$1(source, excluded);
|
|
2590
|
-
var key, i;
|
|
2591
|
-
if (Object.getOwnPropertySymbols) {
|
|
2592
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
2593
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
2594
|
-
key = sourceSymbolKeys[i];
|
|
2595
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
2596
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
2597
|
-
target[key] = source[key];
|
|
2598
|
-
}
|
|
2599
|
-
}
|
|
2600
|
-
return target;
|
|
2601
|
-
}
|
|
2602
|
-
|
|
2603
|
-
var Portal = function Portal(_ref) {
|
|
2604
|
-
var children = _ref.children,
|
|
2605
|
-
_ref$rootId = _ref.rootId,
|
|
2606
|
-
rootId = _ref$rootId === void 0 ? "neeto-filters-portal" : _ref$rootId,
|
|
2607
|
-
_ref$element = _ref.element,
|
|
2608
|
-
element = _ref$element === void 0 ? "div" : _ref$element;
|
|
2609
|
-
var target = useRef(null);
|
|
2610
|
-
useEffect(function () {
|
|
2611
|
-
var container = document.getElementById(rootId);
|
|
2612
|
-
if (!container) {
|
|
2613
|
-
container = document.createElement(element);
|
|
2614
|
-
container.setAttribute("id", rootId);
|
|
2615
|
-
document.body.appendChild(container);
|
|
2616
|
-
}
|
|
2617
|
-
container.appendChild(target.current);
|
|
2618
|
-
return function () {
|
|
2619
|
-
target.current.remove();
|
|
2620
|
-
if (isEmpty(container.childNodes)) {
|
|
2621
|
-
container.remove();
|
|
1422
|
+
};
|
|
1423
|
+
var handleDelete = function handleDelete(key) {
|
|
1424
|
+
if (key === SEARCH_TERM_KEY) {
|
|
1425
|
+
var params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());
|
|
1426
|
+
var pathname = window.location.pathname;
|
|
1427
|
+
history.push(buildUrl(pathname, params));
|
|
1428
|
+
return;
|
|
2622
1429
|
}
|
|
1430
|
+
if (childrenKeys.includes(key)) {
|
|
1431
|
+
var _params = omit([key], getSnakeCasedQueryParams());
|
|
1432
|
+
var _pathname = window.location.pathname;
|
|
1433
|
+
history.push(buildUrl(_pathname, _params));
|
|
1434
|
+
}
|
|
1435
|
+
var newFilters = removeBy({
|
|
1436
|
+
key: key
|
|
1437
|
+
}, filters);
|
|
1438
|
+
handleSubmit(newFilters);
|
|
2623
1439
|
};
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
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
|
+
});
|
|
1449
|
+
var hideClearButton = nonHiddenFilters.every(function (_ref2) {
|
|
1450
|
+
var defaultValue = _ref2.defaultValue,
|
|
1451
|
+
isClearable = _ref2.isClearable;
|
|
1452
|
+
return defaultValue && !isClearable;
|
|
1453
|
+
}) && !childrenFiltersApplied;
|
|
1454
|
+
useEffect(function () {
|
|
1455
|
+
if (initialRenderRef.current) {
|
|
1456
|
+
initialRenderRef.current = false;
|
|
1457
|
+
return noop;
|
|
1458
|
+
}
|
|
1459
|
+
var handler = setTimeout(function () {
|
|
1460
|
+
handleSubmit(filters);
|
|
1461
|
+
}, 500);
|
|
1462
|
+
return function () {
|
|
1463
|
+
return clearTimeout(handler);
|
|
1464
|
+
};
|
|
1465
|
+
}, [keywordValue]);
|
|
1466
|
+
if (isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;
|
|
1467
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1468
|
+
className: classnames("neeto-filters-bar", _defineProperty({}, className, className))
|
|
1469
|
+
}, nonHiddenFilters.map(function (filter) {
|
|
1470
|
+
var _filter$suffixCompone;
|
|
1471
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
1472
|
+
key: filter.key
|
|
1473
|
+
}, /*#__PURE__*/React.createElement(Block, {
|
|
1474
|
+
filter: filter,
|
|
1475
|
+
handleDelete: handleDelete,
|
|
1476
|
+
setIsPaneOpen: setIsPaneOpen
|
|
1477
|
+
}), (_filter$suffixCompone = filter.suffixComponent) === null || _filter$suffixCompone === void 0 ? void 0 : _filter$suffixCompone.call(filter), /*#__PURE__*/React.createElement("div", {
|
|
1478
|
+
className: "neeto-filters-bar--separator"
|
|
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
|
+
}), isNotNil(entity) && /*#__PURE__*/React.createElement(Segment, {
|
|
1493
|
+
childrenKeys: childrenKeys,
|
|
1494
|
+
columns: columns,
|
|
1495
|
+
defaultSegmentName: defaultSegmentName,
|
|
1496
|
+
entity: entity,
|
|
1497
|
+
filters: filters,
|
|
1498
|
+
setIsFilterPaneOpen: setIsPaneOpen
|
|
1499
|
+
}), !hideClearButton && /*#__PURE__*/React.createElement(Button, {
|
|
1500
|
+
"data-cy": "neeto-filters-bar-clear-btn",
|
|
1501
|
+
label: t("neetoFilters.common.clearFilters"),
|
|
1502
|
+
style: "text",
|
|
1503
|
+
onClick: handleClearAll
|
|
1504
|
+
}));
|
|
1505
|
+
}();
|
|
2629
1506
|
};
|
|
2630
1507
|
|
|
2631
1508
|
function _extends() {
|
|
@@ -2656,940 +1533,840 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
2656
1533
|
return target;
|
|
2657
1534
|
}
|
|
2658
1535
|
|
|
2659
|
-
function
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
}
|
|
2672
|
-
|
|
2673
|
-
/**
|
|
2674
|
-
* Checks if a given element has a CSS class.
|
|
2675
|
-
*
|
|
2676
|
-
* @param element the element
|
|
2677
|
-
* @param className the CSS class name
|
|
2678
|
-
*/
|
|
2679
|
-
function hasClass(element, className) {
|
|
2680
|
-
if (element.classList) return !!className && element.classList.contains(className);
|
|
2681
|
-
return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1;
|
|
2682
|
-
}
|
|
2683
|
-
|
|
2684
|
-
/**
|
|
2685
|
-
* Adds a CSS class to a given element.
|
|
2686
|
-
*
|
|
2687
|
-
* @param element the element
|
|
2688
|
-
* @param className the CSS class name
|
|
2689
|
-
*/
|
|
2690
|
-
|
|
2691
|
-
function addClass(element, className) {
|
|
2692
|
-
if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + " " + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + " " + className);
|
|
1536
|
+
function _objectWithoutProperties(source, excluded) {
|
|
1537
|
+
if (source == null) return {};
|
|
1538
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
1539
|
+
var key, i;
|
|
1540
|
+
if (Object.getOwnPropertySymbols) {
|
|
1541
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
1542
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
1543
|
+
key = sourceSymbolKeys[i];
|
|
1544
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
1545
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
1546
|
+
target[key] = source[key];
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
return target;
|
|
2693
1550
|
}
|
|
2694
1551
|
|
|
2695
|
-
function
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
1552
|
+
var useFilters = function useFilters(_ref) {
|
|
1553
|
+
var onFiltersChange = _ref.onFiltersChange,
|
|
1554
|
+
columns = _ref.columns,
|
|
1555
|
+
keywordFilter = _ref.keywordFilter,
|
|
1556
|
+
onSelectorsChange = _ref.onSelectorsChange;
|
|
1557
|
+
var _useTransition = useTransition(),
|
|
1558
|
+
_useTransition2 = _slicedToArray(_useTransition, 2);
|
|
1559
|
+
_useTransition2[0];
|
|
1560
|
+
var startTransition = _useTransition2[1];
|
|
1561
|
+
var initialRender = useRef(true);
|
|
1562
|
+
var prevFilters = useRef([]);
|
|
1563
|
+
var location = useLocation();
|
|
1564
|
+
var filters = buildFiltersFromSearchParams(columns, false);
|
|
1565
|
+
var history = useHistory();
|
|
1566
|
+
var defaultValuesOfColumns = JSON.stringify(pluck("defaultValue", columns));
|
|
1567
|
+
var handlePrecenseOfDefaultFilters = function handlePrecenseOfDefaultFilters(defaultFilters) {
|
|
1568
|
+
var params = buildUrlFromFilters({
|
|
1569
|
+
columns: columns,
|
|
1570
|
+
filters: isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(defaultFilters), [keywordFilter]) : defaultFilters
|
|
1571
|
+
});
|
|
1572
|
+
history.replace({
|
|
1573
|
+
search: params
|
|
1574
|
+
});
|
|
1575
|
+
};
|
|
1576
|
+
var handleFiltersChange = function handleFiltersChange(filtersPayload) {
|
|
1577
|
+
startTransition(function () {
|
|
1578
|
+
onFiltersChange(buildFiltersPayload(filtersPayload.filter(function (filter) {
|
|
1579
|
+
return !isNil(filter.node);
|
|
1580
|
+
})));
|
|
1581
|
+
});
|
|
1582
|
+
};
|
|
2704
1583
|
|
|
1584
|
+
//This function sends the updated filters to host via callbacks.
|
|
1585
|
+
var sendUpdatedFilters = function sendUpdatedFilters() {
|
|
1586
|
+
if (compareFilters(append(keywordFilter, filters), prevFilters.current)) {
|
|
1587
|
+
return;
|
|
1588
|
+
}
|
|
1589
|
+
var newFilters = buildFiltersFromSearchParams(columns);
|
|
1590
|
+
var filtersPayload = isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? append(keywordFilter, newFilters) : newFilters;
|
|
1591
|
+
handleFiltersChange(filtersPayload);
|
|
1592
|
+
onSelectorsChange(buildSelectorsFromURL(columns));
|
|
1593
|
+
};
|
|
1594
|
+
var handleChangesInURL = function handleChangesInURL() {
|
|
1595
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
1596
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
1597
|
+
var keys = pluck("key", append(keywordFilter, columns));
|
|
1598
|
+
if (keys.every(function (key) {
|
|
1599
|
+
return isNil(searchParams[key]);
|
|
1600
|
+
}) && !isEmpty(defaultFilters)) {
|
|
1601
|
+
history.replace({
|
|
1602
|
+
search: buildUrlFromFilters({
|
|
1603
|
+
columns: columns,
|
|
1604
|
+
filters: concat(defaultFilters, filters)
|
|
1605
|
+
})
|
|
1606
|
+
});
|
|
1607
|
+
filters = buildFiltersFromSearchParams(columns, false);
|
|
1608
|
+
}
|
|
1609
|
+
};
|
|
1610
|
+
useEffect(function () {
|
|
1611
|
+
if (initialRender.current) {
|
|
1612
|
+
initialRender.current = false;
|
|
1613
|
+
var keywordValue = getSearchTermFromUrl();
|
|
1614
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
1615
|
+
isNotEmpty(defaultFilters) && handlePrecenseOfDefaultFilters(defaultFilters);
|
|
1616
|
+
prevFilters.current = append(mergeRight(keywordFilter, {
|
|
1617
|
+
value: keywordValue
|
|
1618
|
+
}), filters);
|
|
1619
|
+
} else {
|
|
1620
|
+
handleChangesInURL();
|
|
1621
|
+
sendUpdatedFilters();
|
|
1622
|
+
prevFilters.current = append(keywordFilter, filters);
|
|
1623
|
+
}
|
|
1624
|
+
}, [location.search, defaultValuesOfColumns]);
|
|
1625
|
+
return filters;
|
|
1626
|
+
};
|
|
2705
1627
|
|
|
2706
|
-
function
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
1628
|
+
var buildDropdownValue = function buildDropdownValue(_ref) {
|
|
1629
|
+
var defaultType = _ref.defaultType,
|
|
1630
|
+
filter = _ref.filter,
|
|
1631
|
+
options = _ref.options;
|
|
1632
|
+
if (!filter) return null;
|
|
1633
|
+
if (isMulti(defaultType)) {
|
|
1634
|
+
return options.filter(function (_ref2) {
|
|
1635
|
+
var value = _ref2.value;
|
|
1636
|
+
return filter.value.includes(value);
|
|
1637
|
+
});
|
|
1638
|
+
}
|
|
1639
|
+
return findBy({
|
|
1640
|
+
value: filter.value
|
|
1641
|
+
}, options);
|
|
1642
|
+
};
|
|
1643
|
+
var buildSingleTimeValue = function buildSingleTimeValue(filter) {
|
|
1644
|
+
var _findBy2;
|
|
1645
|
+
if (!filter) return null;
|
|
1646
|
+
return (_findBy2 = findBy({
|
|
1647
|
+
value: filter.value
|
|
1648
|
+
}, TIME_OPTIONS)) !== null && _findBy2 !== void 0 ? _findBy2 : last(TIME_OPTIONS);
|
|
1649
|
+
};
|
|
1650
|
+
var getOtherProps = function getOtherProps(props) {
|
|
1651
|
+
return omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
|
|
1652
|
+
};
|
|
1653
|
+
var buildDropdownOptions = function buildDropdownOptions(_ref3) {
|
|
1654
|
+
var defaultType = _ref3.defaultType,
|
|
1655
|
+
filter = _ref3.filter,
|
|
1656
|
+
options = _ref3.options;
|
|
1657
|
+
options = options.map(modify("value", function (value) {
|
|
1658
|
+
return value === null || value === void 0 ? void 0 : value.toString();
|
|
1659
|
+
}));
|
|
1660
|
+
if (!filter) return options;
|
|
1661
|
+
if (isMulti(defaultType)) {
|
|
1662
|
+
var selectedOptions = filter.value.map(function (value) {
|
|
1663
|
+
return findBy({
|
|
1664
|
+
value: value
|
|
1665
|
+
}, options) || toLabelAndValue(value);
|
|
1666
|
+
});
|
|
1667
|
+
var nonSelectedOptions = options.filter(function (option) {
|
|
1668
|
+
return !filter.value.includes(option.value);
|
|
1669
|
+
});
|
|
1670
|
+
return concat(selectedOptions, nonSelectedOptions);
|
|
1671
|
+
}
|
|
1672
|
+
if (!findBy({
|
|
1673
|
+
value: filter.value
|
|
1674
|
+
}, options)) {
|
|
1675
|
+
return append(toLabelAndValue(filter.value), options);
|
|
1676
|
+
}
|
|
1677
|
+
return options;
|
|
1678
|
+
};
|
|
1679
|
+
var initializeDateRule = function initializeDateRule(filter) {
|
|
1680
|
+
return filter ? findBy({
|
|
1681
|
+
value: filter === null || filter === void 0 ? void 0 : filter.value
|
|
1682
|
+
}, DATE_OPTIONS) || findDateOption(filter, DATE_OPTIONS) : {};
|
|
1683
|
+
};
|
|
1684
|
+
var getDateValue = function getDateValue(value, rule) {
|
|
1685
|
+
if (isEmpty(value) || isNil(value)) {
|
|
1686
|
+
return null;
|
|
1687
|
+
}
|
|
1688
|
+
if (rule.value === "custom-date-range") {
|
|
1689
|
+
return value;
|
|
1690
|
+
}
|
|
1691
|
+
return rule.value === "before" ? dayjs(value[1]).add(1, "day") : dayjs(value[0]).subtract(1, "day");
|
|
1692
|
+
};
|
|
1693
|
+
var findDateOption = function findDateOption(filter, options) {
|
|
1694
|
+
var value = filter.value;
|
|
1695
|
+
var isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), "year") >= 90;
|
|
1696
|
+
if (not(isBeforeOrAfter)) {
|
|
1697
|
+
return last(options);
|
|
1698
|
+
}
|
|
1699
|
+
var currentMoment = dayjs();
|
|
1700
|
+
var diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), "year"));
|
|
1701
|
+
var diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), "year"));
|
|
1702
|
+
return diffWithStart < diffWithEnd ? findBy({
|
|
1703
|
+
value: "after"
|
|
1704
|
+
}, options) : findBy({
|
|
1705
|
+
value: "before"
|
|
1706
|
+
}, options);
|
|
1707
|
+
};
|
|
1708
|
+
var buildDateValues = function buildDateValues(dates, selectedRule) {
|
|
1709
|
+
if (selectedRule.value === "after") {
|
|
1710
|
+
return [dates.add(1, "day"), dates.add(100, "year")];
|
|
1711
|
+
} else if (selectedRule.value === "before") {
|
|
1712
|
+
return [dates.subtract(100, "year"), dates.subtract(1, "day")];
|
|
2713
1713
|
}
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
var config = {
|
|
2717
|
-
disabled: false
|
|
1714
|
+
return dates;
|
|
2718
1715
|
};
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
var forceReflow = function forceReflow(node) {
|
|
2723
|
-
return node.scrollTop;
|
|
1716
|
+
var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
|
|
1717
|
+
return mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);
|
|
2724
1718
|
};
|
|
2725
1719
|
|
|
2726
|
-
var
|
|
2727
|
-
var
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
* ```jsx
|
|
2754
|
-
* import { Transition } from 'react-transition-group';
|
|
2755
|
-
*
|
|
2756
|
-
* const duration = 300;
|
|
2757
|
-
*
|
|
2758
|
-
* const defaultStyle = {
|
|
2759
|
-
* transition: `opacity ${duration}ms ease-in-out`,
|
|
2760
|
-
* opacity: 0,
|
|
2761
|
-
* }
|
|
2762
|
-
*
|
|
2763
|
-
* const transitionStyles = {
|
|
2764
|
-
* entering: { opacity: 1 },
|
|
2765
|
-
* entered: { opacity: 1 },
|
|
2766
|
-
* exiting: { opacity: 0 },
|
|
2767
|
-
* exited: { opacity: 0 },
|
|
2768
|
-
* };
|
|
2769
|
-
*
|
|
2770
|
-
* const Fade = ({ in: inProp }) => (
|
|
2771
|
-
* <Transition in={inProp} timeout={duration}>
|
|
2772
|
-
* {state => (
|
|
2773
|
-
* <div style={{
|
|
2774
|
-
* ...defaultStyle,
|
|
2775
|
-
* ...transitionStyles[state]
|
|
2776
|
-
* }}>
|
|
2777
|
-
* I'm a fade Transition!
|
|
2778
|
-
* </div>
|
|
2779
|
-
* )}
|
|
2780
|
-
* </Transition>
|
|
2781
|
-
* );
|
|
2782
|
-
* ```
|
|
2783
|
-
*
|
|
2784
|
-
* There are 4 main states a Transition can be in:
|
|
2785
|
-
* - `'entering'`
|
|
2786
|
-
* - `'entered'`
|
|
2787
|
-
* - `'exiting'`
|
|
2788
|
-
* - `'exited'`
|
|
2789
|
-
*
|
|
2790
|
-
* Transition state is toggled via the `in` prop. When `true` the component
|
|
2791
|
-
* begins the "Enter" stage. During this stage, the component will shift from
|
|
2792
|
-
* its current transition state, to `'entering'` for the duration of the
|
|
2793
|
-
* transition and then to the `'entered'` stage once it's complete. Let's take
|
|
2794
|
-
* the following example (we'll use the
|
|
2795
|
-
* [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):
|
|
2796
|
-
*
|
|
2797
|
-
* ```jsx
|
|
2798
|
-
* function App() {
|
|
2799
|
-
* const [inProp, setInProp] = useState(false);
|
|
2800
|
-
* return (
|
|
2801
|
-
* <div>
|
|
2802
|
-
* <Transition in={inProp} timeout={500}>
|
|
2803
|
-
* {state => (
|
|
2804
|
-
* // ...
|
|
2805
|
-
* )}
|
|
2806
|
-
* </Transition>
|
|
2807
|
-
* <button onClick={() => setInProp(true)}>
|
|
2808
|
-
* Click to Enter
|
|
2809
|
-
* </button>
|
|
2810
|
-
* </div>
|
|
2811
|
-
* );
|
|
2812
|
-
* }
|
|
2813
|
-
* ```
|
|
2814
|
-
*
|
|
2815
|
-
* When the button is clicked the component will shift to the `'entering'` state
|
|
2816
|
-
* and stay there for 500ms (the value of `timeout`) before it finally switches
|
|
2817
|
-
* to `'entered'`.
|
|
2818
|
-
*
|
|
2819
|
-
* When `in` is `false` the same thing happens except the state moves from
|
|
2820
|
-
* `'exiting'` to `'exited'`.
|
|
2821
|
-
*/
|
|
2822
|
-
|
|
2823
|
-
var Transition = /*#__PURE__*/function (_React$Component) {
|
|
2824
|
-
_inheritsLoose(Transition, _React$Component);
|
|
2825
|
-
|
|
2826
|
-
function Transition(props, context) {
|
|
2827
|
-
var _this;
|
|
2828
|
-
|
|
2829
|
-
_this = _React$Component.call(this, props, context) || this;
|
|
2830
|
-
var parentGroup = context; // In the context of a TransitionGroup all enters are really appears
|
|
2831
|
-
|
|
2832
|
-
var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
|
|
2833
|
-
var initialStatus;
|
|
2834
|
-
_this.appearStatus = null;
|
|
2835
|
-
|
|
2836
|
-
if (props.in) {
|
|
2837
|
-
if (appear) {
|
|
2838
|
-
initialStatus = EXITED;
|
|
2839
|
-
_this.appearStatus = ENTERING;
|
|
2840
|
-
} else {
|
|
2841
|
-
initialStatus = ENTERED;
|
|
2842
|
-
}
|
|
2843
|
-
} else {
|
|
2844
|
-
if (props.unmountOnExit || props.mountOnEnter) {
|
|
2845
|
-
initialStatus = UNMOUNTED;
|
|
2846
|
-
} else {
|
|
2847
|
-
initialStatus = EXITED;
|
|
2848
|
-
}
|
|
2849
|
-
}
|
|
2850
|
-
|
|
2851
|
-
_this.state = {
|
|
2852
|
-
status: initialStatus
|
|
2853
|
-
};
|
|
2854
|
-
_this.nextCallback = null;
|
|
2855
|
-
return _this;
|
|
2856
|
-
}
|
|
2857
|
-
|
|
2858
|
-
Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
|
|
2859
|
-
var nextIn = _ref.in;
|
|
2860
|
-
|
|
2861
|
-
if (nextIn && prevState.status === UNMOUNTED) {
|
|
2862
|
-
return {
|
|
2863
|
-
status: EXITED
|
|
2864
|
-
};
|
|
1720
|
+
var Boolean = function Boolean(_ref) {
|
|
1721
|
+
var column = _ref.column,
|
|
1722
|
+
filter = _ref.filter,
|
|
1723
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1724
|
+
autoFocus = _ref.autoFocus;
|
|
1725
|
+
var key = column.key,
|
|
1726
|
+
_column$defaultType = column.defaultType,
|
|
1727
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1728
|
+
label = column.label,
|
|
1729
|
+
values = column.values,
|
|
1730
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1731
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1732
|
+
var options = isNil(values) || isEmpty(values) ? DEFAULT_BOOLEAN_OPTIONS : values;
|
|
1733
|
+
var otherProps = getOtherProps(column);
|
|
1734
|
+
var value = buildDropdownValue({
|
|
1735
|
+
defaultType: defaultType,
|
|
1736
|
+
filter: filter,
|
|
1737
|
+
options: options
|
|
1738
|
+
});
|
|
1739
|
+
var _useTranslation = useTranslation(),
|
|
1740
|
+
t = _useTranslation.t;
|
|
1741
|
+
var handleChange = function handleChange(option) {
|
|
1742
|
+
if (isEmpty(option) || isNil(option)) {
|
|
1743
|
+
handleApplyFilter({
|
|
1744
|
+
_delete: true
|
|
1745
|
+
});
|
|
1746
|
+
return;
|
|
2865
1747
|
}
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
// if (this.props.in) {
|
|
2873
|
-
// if (status !== ENTERING && status !== ENTERED) {
|
|
2874
|
-
// nextStatus = ENTERING
|
|
2875
|
-
// }
|
|
2876
|
-
// } else {
|
|
2877
|
-
// if (status === ENTERING || status === ENTERED) {
|
|
2878
|
-
// nextStatus = EXITING
|
|
2879
|
-
// }
|
|
2880
|
-
// }
|
|
2881
|
-
// }
|
|
2882
|
-
// return { nextStatus }
|
|
2883
|
-
// }
|
|
2884
|
-
;
|
|
2885
|
-
|
|
2886
|
-
var _proto = Transition.prototype;
|
|
2887
|
-
|
|
2888
|
-
_proto.componentDidMount = function componentDidMount() {
|
|
2889
|
-
this.updateStatus(true, this.appearStatus);
|
|
1748
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1749
|
+
column: column,
|
|
1750
|
+
defaultType: defaultType,
|
|
1751
|
+
option: option
|
|
1752
|
+
});
|
|
1753
|
+
handleApplyFilter(updatedFilter);
|
|
2890
1754
|
};
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
} else {
|
|
2903
|
-
if (status === ENTERING || status === ENTERED) {
|
|
2904
|
-
nextStatus = EXITING;
|
|
2905
|
-
}
|
|
2906
|
-
}
|
|
1755
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1756
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1757
|
+
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1758
|
+
autoFocus: autoFocus,
|
|
1759
|
+
label: label,
|
|
1760
|
+
options: options,
|
|
1761
|
+
value: value,
|
|
1762
|
+
isClearable: true
|
|
1763
|
+
}, isNotEmpty(helpIconProps) && {
|
|
1764
|
+
labelProps: {
|
|
1765
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2907
1766
|
}
|
|
1767
|
+
}, {
|
|
1768
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1769
|
+
strategy: "fixed",
|
|
1770
|
+
placeholder: t("neetoFilters.messages.selectOption", {
|
|
1771
|
+
resource: label
|
|
1772
|
+
}),
|
|
1773
|
+
onChange: handleChange
|
|
1774
|
+
}, otherProps)));
|
|
1775
|
+
};
|
|
1776
|
+
var Boolean$1 = /*#__PURE__*/React.memo(Boolean);
|
|
2908
1777
|
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
1778
|
+
var Datetime = function Datetime(_ref) {
|
|
1779
|
+
var column = _ref.column,
|
|
1780
|
+
filter = _ref.filter,
|
|
1781
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1782
|
+
autoFocus = _ref.autoFocus;
|
|
1783
|
+
var _useState = useState(initializeDateRule(filter)),
|
|
1784
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1785
|
+
selectedRule = _useState2[0],
|
|
1786
|
+
setSelectedRule = _useState2[1];
|
|
1787
|
+
var _useTranslation = useTranslation(),
|
|
1788
|
+
t = _useTranslation.t;
|
|
1789
|
+
var key = column.key,
|
|
1790
|
+
_column$defaultType = column.defaultType,
|
|
1791
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1792
|
+
label = column.label,
|
|
1793
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1794
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1795
|
+
var isDatePickerShown = filter && isCustomDateRange(filter.value);
|
|
1796
|
+
var otherProps = getOtherProps(column);
|
|
1797
|
+
var handleChange = function handleChange(option) {
|
|
1798
|
+
if (isEmpty(option) || isNil(option)) {
|
|
1799
|
+
handleApplyFilter({
|
|
1800
|
+
_delete: true
|
|
1801
|
+
});
|
|
1802
|
+
setSelectedRule({});
|
|
1803
|
+
return;
|
|
1804
|
+
}
|
|
1805
|
+
setSelectedRule(option);
|
|
1806
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1807
|
+
column: column,
|
|
1808
|
+
defaultType: defaultType,
|
|
1809
|
+
option: option
|
|
1810
|
+
});
|
|
1811
|
+
handleApplyFilter(updatedFilter);
|
|
2914
1812
|
};
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
exit = timeout.exit;
|
|
2923
|
-
enter = timeout.enter; // TODO: remove fallback for next major
|
|
2924
|
-
|
|
2925
|
-
appear = timeout.appear !== undefined ? timeout.appear : enter;
|
|
1813
|
+
var handleDateRangeChange = function handleDateRangeChange(dates) {
|
|
1814
|
+
if (isEmpty(dates) || isNil(dates)) {
|
|
1815
|
+
handleApplyFilter({
|
|
1816
|
+
_delete: true
|
|
1817
|
+
});
|
|
1818
|
+
setSelectedRule({});
|
|
1819
|
+
return;
|
|
2926
1820
|
}
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
1821
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1822
|
+
column: column,
|
|
1823
|
+
defaultType: defaultType,
|
|
1824
|
+
option: {
|
|
1825
|
+
value: pluck("$d", buildDateValues(dates, selectedRule)).map(function (date) {
|
|
1826
|
+
return date.toISOString();
|
|
1827
|
+
})
|
|
1828
|
+
}
|
|
1829
|
+
});
|
|
1830
|
+
handleApplyFilter(updatedFilter);
|
|
2933
1831
|
};
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
1832
|
+
useEffect(function () {
|
|
1833
|
+
isNil(filter) && setSelectedRule({});
|
|
1834
|
+
}, [filter]);
|
|
1835
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1836
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1837
|
+
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1838
|
+
autoFocus: autoFocus,
|
|
1839
|
+
label: label,
|
|
1840
|
+
isClearable: true,
|
|
1841
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1842
|
+
options: DATE_OPTIONS,
|
|
1843
|
+
strategy: "fixed",
|
|
1844
|
+
value: selectedRule,
|
|
1845
|
+
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1846
|
+
resource: label
|
|
1847
|
+
})
|
|
1848
|
+
}, isNotEmpty(helpIconProps) && {
|
|
1849
|
+
labelProps: {
|
|
1850
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2938
1851
|
}
|
|
1852
|
+
}, {
|
|
1853
|
+
onChange: handleChange
|
|
1854
|
+
})), isDatePickerShown && /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
1855
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
|
|
1856
|
+
getPopupContainer: prop("parentNode"),
|
|
1857
|
+
type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
|
|
1858
|
+
value: getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
|
|
1859
|
+
onChange: handleDateRangeChange
|
|
1860
|
+
}, otherProps)));
|
|
1861
|
+
};
|
|
1862
|
+
var Datetime$1 = /*#__PURE__*/React.memo(Datetime);
|
|
2939
1863
|
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
1864
|
+
var Dropdown = function Dropdown(_ref) {
|
|
1865
|
+
var column = _ref.column,
|
|
1866
|
+
filter = _ref.filter,
|
|
1867
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1868
|
+
autoFocus = _ref.autoFocus;
|
|
1869
|
+
var key = column.key,
|
|
1870
|
+
label = column.label,
|
|
1871
|
+
values = column.values,
|
|
1872
|
+
defaultValue = column.defaultValue,
|
|
1873
|
+
_column$defaultType = column.defaultType,
|
|
1874
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1875
|
+
_column$isClearable = column.isClearable,
|
|
1876
|
+
isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
|
|
1877
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1878
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1879
|
+
var otherProps = getOtherProps(column);
|
|
1880
|
+
var options = buildDropdownOptions({
|
|
1881
|
+
defaultType: defaultType,
|
|
1882
|
+
filter: filter,
|
|
1883
|
+
options: values
|
|
1884
|
+
});
|
|
1885
|
+
var value = buildDropdownValue({
|
|
1886
|
+
defaultType: defaultType,
|
|
1887
|
+
filter: filter,
|
|
1888
|
+
options: options
|
|
1889
|
+
});
|
|
1890
|
+
var _useTranslation = useTranslation(),
|
|
1891
|
+
t = _useTranslation.t;
|
|
1892
|
+
var handleChange = function handleChange(option) {
|
|
1893
|
+
if (isEmpty(option) || isNil(option)) {
|
|
1894
|
+
handleApplyFilter({
|
|
1895
|
+
_delete: true
|
|
2960
1896
|
});
|
|
1897
|
+
return;
|
|
2961
1898
|
}
|
|
1899
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1900
|
+
column: column,
|
|
1901
|
+
defaultType: defaultType,
|
|
1902
|
+
option: option
|
|
1903
|
+
});
|
|
1904
|
+
handleApplyFilter(updatedFilter);
|
|
2962
1905
|
};
|
|
1906
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1907
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1908
|
+
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1909
|
+
autoFocus: autoFocus,
|
|
1910
|
+
label: label,
|
|
1911
|
+
options: options,
|
|
1912
|
+
value: value,
|
|
1913
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1914
|
+
isClearable: !defaultValue && isClearable,
|
|
1915
|
+
isMulti: isMulti(defaultType),
|
|
1916
|
+
strategy: "fixed",
|
|
1917
|
+
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1918
|
+
resource: label
|
|
1919
|
+
})
|
|
1920
|
+
}, isNotEmpty(helpIconProps) && {
|
|
1921
|
+
labelProps: {
|
|
1922
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1923
|
+
}
|
|
1924
|
+
}, {
|
|
1925
|
+
onChange: handleChange
|
|
1926
|
+
}, otherProps)));
|
|
1927
|
+
};
|
|
1928
|
+
var Dropdown$1 = /*#__PURE__*/React.memo(Dropdown);
|
|
2963
1929
|
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
1930
|
+
var SingleDatetime = function SingleDatetime(_ref) {
|
|
1931
|
+
var column = _ref.column,
|
|
1932
|
+
filter = _ref.filter,
|
|
1933
|
+
filters = _ref.filters,
|
|
1934
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1935
|
+
autoFocus = _ref.autoFocus;
|
|
1936
|
+
var _useState = useState(function () {
|
|
1937
|
+
return findBy({
|
|
1938
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1939
|
+
}, SINGLE_DATE_OPTIONS) || SINGLE_DATE_OPTIONS[0];
|
|
1940
|
+
}),
|
|
1941
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1942
|
+
selectedRule = _useState2[0],
|
|
1943
|
+
setSelectedRule = _useState2[1];
|
|
1944
|
+
var key = column.key,
|
|
1945
|
+
_column$defaultType = column.defaultType,
|
|
1946
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1947
|
+
label = column.label,
|
|
1948
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1949
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1950
|
+
var otherProps = getOtherProps(column);
|
|
1951
|
+
var datePickerType = selectedRule.value === "between" ? "range" : "date";
|
|
1952
|
+
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
2973
1953
|
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
1954
|
+
// Reset states when "Clear filters" button is clicked.
|
|
1955
|
+
useEffect(function () {
|
|
1956
|
+
if (!isEmpty(filters)) return;
|
|
1957
|
+
setSelectedRule(SINGLE_DATE_OPTIONS[0]);
|
|
1958
|
+
}, [filters]);
|
|
1959
|
+
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1960
|
+
setSelectedRule(ruleOption);
|
|
2977
1961
|
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
_this2.props.onEntered(maybeNode);
|
|
2983
|
-
});
|
|
2984
|
-
return;
|
|
1962
|
+
// Clear value if switched between incompatable types
|
|
1963
|
+
var updateValue = value;
|
|
1964
|
+
if (datePickerType === "range" && ruleOption.value !== "between" || datePickerType === "date" && ruleOption.value === "between") {
|
|
1965
|
+
updateValue = "";
|
|
2985
1966
|
}
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
_this2.onTransitionEnd(enterTimeout, function () {
|
|
2994
|
-
_this2.safeSetState({
|
|
2995
|
-
status: ENTERED
|
|
2996
|
-
}, function () {
|
|
2997
|
-
_this2.props.onEntered(maybeNode, maybeAppearing);
|
|
2998
|
-
});
|
|
2999
|
-
});
|
|
1967
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1968
|
+
column: column,
|
|
1969
|
+
defaultType: defaultType,
|
|
1970
|
+
option: {},
|
|
1971
|
+
rule: ruleOption.value,
|
|
1972
|
+
value: updateValue
|
|
3000
1973
|
});
|
|
1974
|
+
handleApplyFilter(updatedFilter);
|
|
3001
1975
|
};
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
var exit = this.props.exit;
|
|
3007
|
-
var timeouts = this.getTimeouts();
|
|
3008
|
-
var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED
|
|
3009
|
-
|
|
3010
|
-
if (!exit || config.disabled) {
|
|
3011
|
-
this.safeSetState({
|
|
3012
|
-
status: EXITED
|
|
3013
|
-
}, function () {
|
|
3014
|
-
_this3.props.onExited(maybeNode);
|
|
1976
|
+
var handleChange = function handleChange(dates) {
|
|
1977
|
+
if (isEmpty(dates) || isNil(dates)) {
|
|
1978
|
+
handleApplyFilter({
|
|
1979
|
+
_delete: true
|
|
3015
1980
|
});
|
|
3016
1981
|
return;
|
|
3017
1982
|
}
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
status: EXITED
|
|
3028
|
-
}, function () {
|
|
3029
|
-
_this3.props.onExited(maybeNode);
|
|
3030
|
-
});
|
|
3031
|
-
});
|
|
1983
|
+
var value = datePickerType === "range" ? pluck("$d", dates).map(function (date) {
|
|
1984
|
+
return date.toISOString();
|
|
1985
|
+
}) : dates["$d"];
|
|
1986
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1987
|
+
column: column,
|
|
1988
|
+
defaultType: defaultType,
|
|
1989
|
+
option: {},
|
|
1990
|
+
rule: selectedRule.value,
|
|
1991
|
+
value: value
|
|
3032
1992
|
});
|
|
1993
|
+
handleApplyFilter(updatedFilter);
|
|
3033
1994
|
};
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
callback = this.setNextCallback(callback);
|
|
3047
|
-
this.setState(nextState, callback);
|
|
3048
|
-
};
|
|
3049
|
-
|
|
3050
|
-
_proto.setNextCallback = function setNextCallback(callback) {
|
|
3051
|
-
var _this4 = this;
|
|
3052
|
-
|
|
3053
|
-
var active = true;
|
|
3054
|
-
|
|
3055
|
-
this.nextCallback = function (event) {
|
|
3056
|
-
if (active) {
|
|
3057
|
-
active = false;
|
|
3058
|
-
_this4.nextCallback = null;
|
|
3059
|
-
callback(event);
|
|
3060
|
-
}
|
|
3061
|
-
};
|
|
3062
|
-
|
|
3063
|
-
this.nextCallback.cancel = function () {
|
|
3064
|
-
active = false;
|
|
3065
|
-
};
|
|
3066
|
-
|
|
3067
|
-
return this.nextCallback;
|
|
3068
|
-
};
|
|
3069
|
-
|
|
3070
|
-
_proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {
|
|
3071
|
-
this.setNextCallback(handler);
|
|
3072
|
-
var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);
|
|
3073
|
-
var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;
|
|
3074
|
-
|
|
3075
|
-
if (!node || doesNotHaveTimeoutOrListener) {
|
|
3076
|
-
setTimeout(this.nextCallback, 0);
|
|
3077
|
-
return;
|
|
1995
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1996
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1997
|
+
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
1998
|
+
label: label,
|
|
1999
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
|
|
2000
|
+
defaultValue: SINGLE_DATE_OPTIONS[0],
|
|
2001
|
+
options: SINGLE_DATE_OPTIONS,
|
|
2002
|
+
strategy: "fixed",
|
|
2003
|
+
value: selectedRule
|
|
2004
|
+
}, isNotEmpty(helpIconProps) && {
|
|
2005
|
+
labelProps: {
|
|
2006
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
3078
2007
|
}
|
|
2008
|
+
}, {
|
|
2009
|
+
onChange: handleRuleChange
|
|
2010
|
+
})), /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
2011
|
+
autoFocus: autoFocus,
|
|
2012
|
+
value: value,
|
|
2013
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
2014
|
+
getPopupContainer: prop("parentNode"),
|
|
2015
|
+
type: datePickerType,
|
|
2016
|
+
onChange: handleChange
|
|
2017
|
+
}, otherProps)));
|
|
2018
|
+
};
|
|
3079
2019
|
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
2020
|
+
var SingleTime = function SingleTime(_ref) {
|
|
2021
|
+
var column = _ref.column,
|
|
2022
|
+
filter = _ref.filter,
|
|
2023
|
+
filters = _ref.filters,
|
|
2024
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
2025
|
+
autoFocus = _ref.autoFocus;
|
|
2026
|
+
var _useState = useState(function () {
|
|
2027
|
+
return findBy({
|
|
2028
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
2029
|
+
}, SINGLE_TIME_OPTIONS) || SINGLE_TIME_OPTIONS[0];
|
|
2030
|
+
}),
|
|
2031
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2032
|
+
selectedRule = _useState2[0],
|
|
2033
|
+
setSelectedRule = _useState2[1];
|
|
2034
|
+
var key = column.key,
|
|
2035
|
+
_column$defaultType = column.defaultType,
|
|
2036
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
2037
|
+
label = column.label,
|
|
2038
|
+
_column$helpIconProps = column.helpIconProps,
|
|
2039
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
2040
|
+
var otherProps = getOtherProps(column);
|
|
2041
|
+
var timePickerType = selectedRule.value === "between" ? "range" : "time";
|
|
2042
|
+
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
2043
|
+
useEffect(function () {
|
|
2044
|
+
if (!isEmpty(filters)) return;
|
|
2045
|
+
setSelectedRule(SINGLE_TIME_OPTIONS[0]);
|
|
2046
|
+
}, [filters]);
|
|
2047
|
+
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
2048
|
+
setSelectedRule(ruleOption);
|
|
3087
2049
|
|
|
3088
|
-
if
|
|
3089
|
-
|
|
2050
|
+
// Clear value if switched between incompatible types
|
|
2051
|
+
var updateValue = value;
|
|
2052
|
+
if (timePickerType === "range" && ruleOption.value !== "between" || timePickerType === "time" && ruleOption.value === "between") {
|
|
2053
|
+
updateValue = "";
|
|
3090
2054
|
}
|
|
2055
|
+
var updatedFilter = buildUpdatedFilter({
|
|
2056
|
+
column: column,
|
|
2057
|
+
defaultType: defaultType,
|
|
2058
|
+
option: {},
|
|
2059
|
+
rule: ruleOption.value,
|
|
2060
|
+
value: updateValue
|
|
2061
|
+
});
|
|
2062
|
+
handleApplyFilter(updatedFilter);
|
|
3091
2063
|
};
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
_this$props.unmountOnExit;
|
|
3105
|
-
_this$props.appear;
|
|
3106
|
-
_this$props.enter;
|
|
3107
|
-
_this$props.exit;
|
|
3108
|
-
_this$props.timeout;
|
|
3109
|
-
_this$props.addEndListener;
|
|
3110
|
-
_this$props.onEnter;
|
|
3111
|
-
_this$props.onEntering;
|
|
3112
|
-
_this$props.onEntered;
|
|
3113
|
-
_this$props.onExit;
|
|
3114
|
-
_this$props.onExiting;
|
|
3115
|
-
_this$props.onExited;
|
|
3116
|
-
_this$props.nodeRef;
|
|
3117
|
-
var childProps = _objectWithoutPropertiesLoose(_this$props, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]);
|
|
3118
|
-
|
|
3119
|
-
return (
|
|
3120
|
-
/*#__PURE__*/
|
|
3121
|
-
// allows for nested Transitions
|
|
3122
|
-
React.createElement(TransitionGroupContext.Provider, {
|
|
3123
|
-
value: null
|
|
3124
|
-
}, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))
|
|
3125
|
-
);
|
|
2064
|
+
var handleChange = function handleChange(times) {
|
|
2065
|
+
var value = timePickerType === "range" ? pluck("$d", times).map(function (time) {
|
|
2066
|
+
return time.toISOString();
|
|
2067
|
+
}) : times["$d"].toISOString();
|
|
2068
|
+
var updatedFilter = buildUpdatedFilter({
|
|
2069
|
+
column: column,
|
|
2070
|
+
defaultType: defaultType,
|
|
2071
|
+
option: {},
|
|
2072
|
+
rule: selectedRule.value,
|
|
2073
|
+
value: value
|
|
2074
|
+
});
|
|
2075
|
+
handleApplyFilter(updatedFilter);
|
|
3126
2076
|
};
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
}
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
mountOnEnter: false,
|
|
3139
|
-
unmountOnExit: false,
|
|
3140
|
-
appear: false,
|
|
3141
|
-
enter: true,
|
|
3142
|
-
exit: true,
|
|
3143
|
-
onEnter: noop,
|
|
3144
|
-
onEntering: noop,
|
|
3145
|
-
onEntered: noop,
|
|
3146
|
-
onExit: noop,
|
|
3147
|
-
onExiting: noop,
|
|
3148
|
-
onExited: noop
|
|
3149
|
-
};
|
|
3150
|
-
Transition.UNMOUNTED = UNMOUNTED;
|
|
3151
|
-
Transition.EXITED = EXITED;
|
|
3152
|
-
Transition.ENTERING = ENTERING;
|
|
3153
|
-
Transition.ENTERED = ENTERED;
|
|
3154
|
-
Transition.EXITING = EXITING;
|
|
3155
|
-
var Transition$1 = Transition;
|
|
3156
|
-
|
|
3157
|
-
var _addClass = function addClass$1(node, classes) {
|
|
3158
|
-
return node && classes && classes.split(' ').forEach(function (c) {
|
|
3159
|
-
return addClass(node, c);
|
|
3160
|
-
});
|
|
3161
|
-
};
|
|
3162
|
-
|
|
3163
|
-
var removeClass = function removeClass(node, classes) {
|
|
3164
|
-
return node && classes && classes.split(' ').forEach(function (c) {
|
|
3165
|
-
return removeClass$1(node, c);
|
|
3166
|
-
});
|
|
3167
|
-
};
|
|
3168
|
-
/**
|
|
3169
|
-
* A transition component inspired by the excellent
|
|
3170
|
-
* [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should
|
|
3171
|
-
* use it if you're using CSS transitions or animations. It's built upon the
|
|
3172
|
-
* [`Transition`](https://reactcommunity.org/react-transition-group/transition)
|
|
3173
|
-
* component, so it inherits all of its props.
|
|
3174
|
-
*
|
|
3175
|
-
* `CSSTransition` applies a pair of class names during the `appear`, `enter`,
|
|
3176
|
-
* and `exit` states of the transition. The first class is applied and then a
|
|
3177
|
-
* second `*-active` class in order to activate the CSS transition. After the
|
|
3178
|
-
* transition, matching `*-done` class names are applied to persist the
|
|
3179
|
-
* transition state.
|
|
3180
|
-
*
|
|
3181
|
-
* ```jsx
|
|
3182
|
-
* function App() {
|
|
3183
|
-
* const [inProp, setInProp] = useState(false);
|
|
3184
|
-
* return (
|
|
3185
|
-
* <div>
|
|
3186
|
-
* <CSSTransition in={inProp} timeout={200} classNames="my-node">
|
|
3187
|
-
* <div>
|
|
3188
|
-
* {"I'll receive my-node-* classes"}
|
|
3189
|
-
* </div>
|
|
3190
|
-
* </CSSTransition>
|
|
3191
|
-
* <button type="button" onClick={() => setInProp(true)}>
|
|
3192
|
-
* Click to Enter
|
|
3193
|
-
* </button>
|
|
3194
|
-
* </div>
|
|
3195
|
-
* );
|
|
3196
|
-
* }
|
|
3197
|
-
* ```
|
|
3198
|
-
*
|
|
3199
|
-
* When the `in` prop is set to `true`, the child component will first receive
|
|
3200
|
-
* the class `example-enter`, then the `example-enter-active` will be added in
|
|
3201
|
-
* the next tick. `CSSTransition` [forces a
|
|
3202
|
-
* reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)
|
|
3203
|
-
* between before adding the `example-enter-active`. This is an important trick
|
|
3204
|
-
* because it allows us to transition between `example-enter` and
|
|
3205
|
-
* `example-enter-active` even though they were added immediately one after
|
|
3206
|
-
* another. Most notably, this is what makes it possible for us to animate
|
|
3207
|
-
* _appearance_.
|
|
3208
|
-
*
|
|
3209
|
-
* ```css
|
|
3210
|
-
* .my-node-enter {
|
|
3211
|
-
* opacity: 0;
|
|
3212
|
-
* }
|
|
3213
|
-
* .my-node-enter-active {
|
|
3214
|
-
* opacity: 1;
|
|
3215
|
-
* transition: opacity 200ms;
|
|
3216
|
-
* }
|
|
3217
|
-
* .my-node-exit {
|
|
3218
|
-
* opacity: 1;
|
|
3219
|
-
* }
|
|
3220
|
-
* .my-node-exit-active {
|
|
3221
|
-
* opacity: 0;
|
|
3222
|
-
* transition: opacity 200ms;
|
|
3223
|
-
* }
|
|
3224
|
-
* ```
|
|
3225
|
-
*
|
|
3226
|
-
* `*-active` classes represent which styles you want to animate **to**, so it's
|
|
3227
|
-
* important to add `transition` declaration only to them, otherwise transitions
|
|
3228
|
-
* might not behave as intended! This might not be obvious when the transitions
|
|
3229
|
-
* are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in
|
|
3230
|
-
* the example above (minus `transition`), but it becomes apparent in more
|
|
3231
|
-
* complex transitions.
|
|
3232
|
-
*
|
|
3233
|
-
* **Note**: If you're using the
|
|
3234
|
-
* [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)
|
|
3235
|
-
* prop, make sure to define styles for `.appear-*` classes as well.
|
|
3236
|
-
*/
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
var CSSTransition = /*#__PURE__*/function (_React$Component) {
|
|
3240
|
-
_inheritsLoose(CSSTransition, _React$Component);
|
|
3241
|
-
|
|
3242
|
-
function CSSTransition() {
|
|
3243
|
-
var _this;
|
|
3244
|
-
|
|
3245
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
3246
|
-
args[_key] = arguments[_key];
|
|
3247
|
-
}
|
|
3248
|
-
|
|
3249
|
-
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
|
|
3250
|
-
_this.appliedClasses = {
|
|
3251
|
-
appear: {},
|
|
3252
|
-
enter: {},
|
|
3253
|
-
exit: {}
|
|
3254
|
-
};
|
|
3255
|
-
|
|
3256
|
-
_this.onEnter = function (maybeNode, maybeAppearing) {
|
|
3257
|
-
var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),
|
|
3258
|
-
node = _this$resolveArgument[0],
|
|
3259
|
-
appearing = _this$resolveArgument[1];
|
|
3260
|
-
|
|
3261
|
-
_this.removeClasses(node, 'exit');
|
|
3262
|
-
|
|
3263
|
-
_this.addClass(node, appearing ? 'appear' : 'enter', 'base');
|
|
3264
|
-
|
|
3265
|
-
if (_this.props.onEnter) {
|
|
3266
|
-
_this.props.onEnter(maybeNode, maybeAppearing);
|
|
3267
|
-
}
|
|
3268
|
-
};
|
|
3269
|
-
|
|
3270
|
-
_this.onEntering = function (maybeNode, maybeAppearing) {
|
|
3271
|
-
var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),
|
|
3272
|
-
node = _this$resolveArgument2[0],
|
|
3273
|
-
appearing = _this$resolveArgument2[1];
|
|
3274
|
-
|
|
3275
|
-
var type = appearing ? 'appear' : 'enter';
|
|
3276
|
-
|
|
3277
|
-
_this.addClass(node, type, 'active');
|
|
3278
|
-
|
|
3279
|
-
if (_this.props.onEntering) {
|
|
3280
|
-
_this.props.onEntering(maybeNode, maybeAppearing);
|
|
3281
|
-
}
|
|
3282
|
-
};
|
|
3283
|
-
|
|
3284
|
-
_this.onEntered = function (maybeNode, maybeAppearing) {
|
|
3285
|
-
var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),
|
|
3286
|
-
node = _this$resolveArgument3[0],
|
|
3287
|
-
appearing = _this$resolveArgument3[1];
|
|
3288
|
-
|
|
3289
|
-
var type = appearing ? 'appear' : 'enter';
|
|
3290
|
-
|
|
3291
|
-
_this.removeClasses(node, type);
|
|
3292
|
-
|
|
3293
|
-
_this.addClass(node, type, 'done');
|
|
3294
|
-
|
|
3295
|
-
if (_this.props.onEntered) {
|
|
3296
|
-
_this.props.onEntered(maybeNode, maybeAppearing);
|
|
3297
|
-
}
|
|
3298
|
-
};
|
|
3299
|
-
|
|
3300
|
-
_this.onExit = function (maybeNode) {
|
|
3301
|
-
var _this$resolveArgument4 = _this.resolveArguments(maybeNode),
|
|
3302
|
-
node = _this$resolveArgument4[0];
|
|
3303
|
-
|
|
3304
|
-
_this.removeClasses(node, 'appear');
|
|
3305
|
-
|
|
3306
|
-
_this.removeClasses(node, 'enter');
|
|
3307
|
-
|
|
3308
|
-
_this.addClass(node, 'exit', 'base');
|
|
3309
|
-
|
|
3310
|
-
if (_this.props.onExit) {
|
|
3311
|
-
_this.props.onExit(maybeNode);
|
|
3312
|
-
}
|
|
3313
|
-
};
|
|
3314
|
-
|
|
3315
|
-
_this.onExiting = function (maybeNode) {
|
|
3316
|
-
var _this$resolveArgument5 = _this.resolveArguments(maybeNode),
|
|
3317
|
-
node = _this$resolveArgument5[0];
|
|
3318
|
-
|
|
3319
|
-
_this.addClass(node, 'exit', 'active');
|
|
3320
|
-
|
|
3321
|
-
if (_this.props.onExiting) {
|
|
3322
|
-
_this.props.onExiting(maybeNode);
|
|
3323
|
-
}
|
|
3324
|
-
};
|
|
3325
|
-
|
|
3326
|
-
_this.onExited = function (maybeNode) {
|
|
3327
|
-
var _this$resolveArgument6 = _this.resolveArguments(maybeNode),
|
|
3328
|
-
node = _this$resolveArgument6[0];
|
|
3329
|
-
|
|
3330
|
-
_this.removeClasses(node, 'exit');
|
|
3331
|
-
|
|
3332
|
-
_this.addClass(node, 'exit', 'done');
|
|
3333
|
-
|
|
3334
|
-
if (_this.props.onExited) {
|
|
3335
|
-
_this.props.onExited(maybeNode);
|
|
3336
|
-
}
|
|
3337
|
-
};
|
|
3338
|
-
|
|
3339
|
-
_this.resolveArguments = function (maybeNode, maybeAppearing) {
|
|
3340
|
-
return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`
|
|
3341
|
-
: [maybeNode, maybeAppearing];
|
|
3342
|
-
};
|
|
3343
|
-
|
|
3344
|
-
_this.getClassNames = function (type) {
|
|
3345
|
-
var classNames = _this.props.classNames;
|
|
3346
|
-
var isStringClassNames = typeof classNames === 'string';
|
|
3347
|
-
var prefix = isStringClassNames && classNames ? classNames + "-" : '';
|
|
3348
|
-
var baseClassName = isStringClassNames ? "" + prefix + type : classNames[type];
|
|
3349
|
-
var activeClassName = isStringClassNames ? baseClassName + "-active" : classNames[type + "Active"];
|
|
3350
|
-
var doneClassName = isStringClassNames ? baseClassName + "-done" : classNames[type + "Done"];
|
|
3351
|
-
return {
|
|
3352
|
-
baseClassName: baseClassName,
|
|
3353
|
-
activeClassName: activeClassName,
|
|
3354
|
-
doneClassName: doneClassName
|
|
3355
|
-
};
|
|
3356
|
-
};
|
|
3357
|
-
|
|
3358
|
-
return _this;
|
|
3359
|
-
}
|
|
3360
|
-
|
|
3361
|
-
var _proto = CSSTransition.prototype;
|
|
3362
|
-
|
|
3363
|
-
_proto.addClass = function addClass(node, type, phase) {
|
|
3364
|
-
var className = this.getClassNames(type)[phase + "ClassName"];
|
|
3365
|
-
|
|
3366
|
-
var _this$getClassNames = this.getClassNames('enter'),
|
|
3367
|
-
doneClassName = _this$getClassNames.doneClassName;
|
|
3368
|
-
|
|
3369
|
-
if (type === 'appear' && phase === 'done' && doneClassName) {
|
|
3370
|
-
className += " " + doneClassName;
|
|
3371
|
-
} // This is to force a repaint,
|
|
3372
|
-
// which is necessary in order to transition styles when adding a class name.
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
if (phase === 'active') {
|
|
3376
|
-
if (node) forceReflow(node);
|
|
2077
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2078
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2079
|
+
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
2080
|
+
label: label,
|
|
2081
|
+
defaultValue: SINGLE_TIME_OPTIONS[0],
|
|
2082
|
+
options: SINGLE_TIME_OPTIONS,
|
|
2083
|
+
strategy: "fixed",
|
|
2084
|
+
value: selectedRule
|
|
2085
|
+
}, isNotEmpty(helpIconProps) && {
|
|
2086
|
+
labelProps: {
|
|
2087
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
3377
2088
|
}
|
|
2089
|
+
}, {
|
|
2090
|
+
onChange: handleRuleChange
|
|
2091
|
+
})), /*#__PURE__*/React.createElement(TimePicker, _extends({
|
|
2092
|
+
autoFocus: autoFocus,
|
|
2093
|
+
value: value,
|
|
2094
|
+
use12Hours: true,
|
|
2095
|
+
className: "w-full",
|
|
2096
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
2097
|
+
format: "h:mm A",
|
|
2098
|
+
getPopupContainer: prop("parentNode"),
|
|
2099
|
+
type: timePickerType,
|
|
2100
|
+
onChange: handleChange
|
|
2101
|
+
}, otherProps)));
|
|
2102
|
+
};
|
|
3378
2103
|
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
2104
|
+
var Text = function Text(_ref) {
|
|
2105
|
+
var column = _ref.column,
|
|
2106
|
+
filter = _ref.filter,
|
|
2107
|
+
filters = _ref.filters,
|
|
2108
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
2109
|
+
autoFocus = _ref.autoFocus,
|
|
2110
|
+
onClose = _ref.onClose;
|
|
2111
|
+
var key = column.key,
|
|
2112
|
+
_column$defaultType = column.defaultType,
|
|
2113
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
2114
|
+
label = column.label,
|
|
2115
|
+
_column$showRuleSelec = column.showRuleSelector,
|
|
2116
|
+
showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
|
|
2117
|
+
_column$helpIconProps = column.helpIconProps,
|
|
2118
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
2119
|
+
var otherProps = getOtherProps(column);
|
|
2120
|
+
var ruleOptions = buildRuleOptions({
|
|
2121
|
+
defaultType: defaultType
|
|
2122
|
+
});
|
|
2123
|
+
var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
|
|
2124
|
+
var _useState = useState(filter === null || filter === void 0 ? void 0 : filter.value),
|
|
2125
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2126
|
+
inputValue = _useState2[0],
|
|
2127
|
+
setInputValue = _useState2[1];
|
|
2128
|
+
var _useState3 = useState(function () {
|
|
2129
|
+
return findBy({
|
|
2130
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
2131
|
+
}, ruleOptions) || ruleOptions[0];
|
|
2132
|
+
}),
|
|
2133
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
2134
|
+
selectedRule = _useState4[0],
|
|
2135
|
+
setSelectedRule = _useState4[1];
|
|
2136
|
+
var debouncedInputValue = useDebounce(inputValue);
|
|
2137
|
+
var _useTranslation = useTranslation(),
|
|
2138
|
+
t = _useTranslation.t;
|
|
2139
|
+
var handleUpdateAndApplyFilter = function handleUpdateAndApplyFilter() {
|
|
2140
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
|
|
2141
|
+
var rule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
|
|
2142
|
+
if (equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && equals(selectedRule, rule)) return;
|
|
2143
|
+
var updatedFilter = buildUpdatedFilter({
|
|
2144
|
+
column: column,
|
|
2145
|
+
defaultType: defaultType,
|
|
2146
|
+
option: {},
|
|
2147
|
+
rule: rule.value,
|
|
2148
|
+
value: value.trim()
|
|
2149
|
+
});
|
|
2150
|
+
handleApplyFilter(updatedFilter);
|
|
2151
|
+
};
|
|
2152
|
+
var handleKeydown = function handleKeydown(e) {
|
|
2153
|
+
if (!(e.key === "Enter")) return;
|
|
2154
|
+
handleUpdateAndApplyFilter(inputValue);
|
|
2155
|
+
onClose();
|
|
2156
|
+
};
|
|
2157
|
+
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
2158
|
+
setSelectedRule(ruleOption);
|
|
2159
|
+
if (!debouncedInputValue) return;
|
|
2160
|
+
handleUpdateAndApplyFilter(debouncedInputValue, ruleOption);
|
|
3384
2161
|
};
|
|
3385
2162
|
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
2163
|
+
// Reset states when "Clear filters" button is clicked.
|
|
2164
|
+
useEffect(function () {
|
|
2165
|
+
(isEmpty(filters) || isNil(filter)) && setInputValue("");
|
|
2166
|
+
}, [filter]);
|
|
2167
|
+
useEffect(function () {
|
|
2168
|
+
if (!debouncedInputValue) {
|
|
2169
|
+
!isUndefinedOrEmpty(filter) && handleApplyFilter({
|
|
2170
|
+
_delete: true
|
|
2171
|
+
});
|
|
2172
|
+
return;
|
|
3395
2173
|
}
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
2174
|
+
handleUpdateAndApplyFilter();
|
|
2175
|
+
}, [debouncedInputValue]);
|
|
2176
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2177
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2178
|
+
}, showRuleSelector && /*#__PURE__*/React.createElement(Select, _extends({
|
|
2179
|
+
label: label,
|
|
2180
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
|
|
2181
|
+
defaultValue: ruleOptions[0],
|
|
2182
|
+
options: ruleOptions,
|
|
2183
|
+
strategy: "fixed",
|
|
2184
|
+
value: selectedRule,
|
|
2185
|
+
onChange: handleRuleChange
|
|
2186
|
+
}, isNotEmpty(helpIconProps) && {
|
|
2187
|
+
labelProps: {
|
|
2188
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2189
|
+
}
|
|
2190
|
+
})), /*#__PURE__*/React.createElement(Input$1, _extends({
|
|
2191
|
+
autoFocus: autoFocus,
|
|
2192
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
2193
|
+
label: !showRuleSelector && label,
|
|
2194
|
+
type: inputType,
|
|
2195
|
+
value: inputValue
|
|
2196
|
+
}, isNotEmpty(helpIconProps) && {
|
|
2197
|
+
labelProps: {
|
|
2198
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
3399
2199
|
}
|
|
2200
|
+
}, {
|
|
2201
|
+
placeholder: t("neetoFilters.messages.enterResource", {
|
|
2202
|
+
resource: label
|
|
2203
|
+
}),
|
|
2204
|
+
onChange: function onChange(event) {
|
|
2205
|
+
return setInputValue(event.target.value);
|
|
2206
|
+
},
|
|
2207
|
+
onKeyDown: handleKeydown
|
|
2208
|
+
}, otherProps)));
|
|
2209
|
+
};
|
|
3400
2210
|
|
|
3401
|
-
|
|
3402
|
-
|
|
2211
|
+
var Time = function Time(_ref) {
|
|
2212
|
+
var column = _ref.column,
|
|
2213
|
+
filter = _ref.filter,
|
|
2214
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
2215
|
+
autoFocus = _ref.autoFocus;
|
|
2216
|
+
var key = column.key,
|
|
2217
|
+
_column$defaultType = column.defaultType,
|
|
2218
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
2219
|
+
label = column.label,
|
|
2220
|
+
_column$helpIconProps = column.helpIconProps,
|
|
2221
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
2222
|
+
var otherProps = getOtherProps(column);
|
|
2223
|
+
var value = buildSingleTimeValue(filter);
|
|
2224
|
+
var isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);
|
|
2225
|
+
var _useTranslation = useTranslation(),
|
|
2226
|
+
t = _useTranslation.t;
|
|
2227
|
+
var handleChange = function handleChange(option) {
|
|
2228
|
+
if (isEmpty(option) || isNil(option)) {
|
|
2229
|
+
handleApplyFilter({
|
|
2230
|
+
_delete: true
|
|
2231
|
+
});
|
|
2232
|
+
return;
|
|
3403
2233
|
}
|
|
2234
|
+
var updatedFilter = buildUpdatedFilter({
|
|
2235
|
+
column: column,
|
|
2236
|
+
defaultType: defaultType,
|
|
2237
|
+
option: option
|
|
2238
|
+
});
|
|
2239
|
+
handleApplyFilter(updatedFilter);
|
|
3404
2240
|
};
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
onExiting: this.onExiting,
|
|
3417
|
-
onExited: this.onExited
|
|
3418
|
-
}));
|
|
2241
|
+
var handleTimeRangeChange = function handleTimeRangeChange(times) {
|
|
2242
|
+
var updatedFilter = buildUpdatedFilter({
|
|
2243
|
+
column: column,
|
|
2244
|
+
defaultType: defaultType,
|
|
2245
|
+
option: {
|
|
2246
|
+
value: pluck("$d", times).map(function (time) {
|
|
2247
|
+
return time.toISOString();
|
|
2248
|
+
})
|
|
2249
|
+
}
|
|
2250
|
+
});
|
|
2251
|
+
handleApplyFilter(updatedFilter);
|
|
3419
2252
|
};
|
|
3420
|
-
|
|
3421
|
-
return CSSTransition;
|
|
3422
|
-
}(React.Component);
|
|
3423
|
-
|
|
3424
|
-
CSSTransition.defaultProps = {
|
|
3425
|
-
classNames: ''
|
|
3426
|
-
};
|
|
3427
|
-
CSSTransition.propTypes = {};
|
|
3428
|
-
var CSSTransition$1 = CSSTransition;
|
|
3429
|
-
|
|
3430
|
-
var Body = function Body(_ref) {
|
|
3431
|
-
var children = _ref.children,
|
|
3432
|
-
_ref$className = _ref.className,
|
|
3433
|
-
className = _ref$className === void 0 ? "" : _ref$className,
|
|
3434
|
-
_ref$hasFooter = _ref.hasFooter,
|
|
3435
|
-
hasFooter = _ref$hasFooter === void 0 ? true : _ref$hasFooter;
|
|
3436
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
3437
|
-
className: classnames("neeto-filters-slider__body neeto-ui-flex neeto-ui-flex-col neeto-ui-items-start neeto-ui-justify-start", _defineProperty({
|
|
3438
|
-
"neeto-filters-slider__body--has-footer": hasFooter
|
|
3439
|
-
}, className, className))
|
|
3440
|
-
}, children);
|
|
3441
|
-
};
|
|
3442
|
-
|
|
3443
|
-
var SIZES = {
|
|
3444
|
-
xsmall: "xsmall",
|
|
3445
|
-
small: "small",
|
|
3446
|
-
large: "large"
|
|
3447
|
-
};
|
|
3448
|
-
|
|
3449
|
-
var Footer = function Footer(_ref) {
|
|
3450
|
-
var children = _ref.children,
|
|
3451
|
-
_ref$className = _ref.className,
|
|
3452
|
-
className = _ref$className === void 0 ? "" : _ref$className;
|
|
3453
2253
|
return /*#__PURE__*/React.createElement("div", {
|
|
3454
|
-
className:
|
|
3455
|
-
},
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
}
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
rootId: "neeto-filters-portal"
|
|
3482
|
-
}, /*#__PURE__*/React.createElement(CSSTransition$1, {
|
|
3483
|
-
unmountOnExit: true,
|
|
3484
|
-
appear: isOpen,
|
|
3485
|
-
classNames: "neeto-filters-slider",
|
|
3486
|
-
"in": isOpen,
|
|
3487
|
-
timeout: 300
|
|
3488
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
3489
|
-
className: "neeto-filters-slider__pane"
|
|
3490
|
-
}, /*#__PURE__*/React.createElement("div", _extends$1({
|
|
3491
|
-
className: classnames("neeto-filters-slider__wrapper", _defineProperty({
|
|
3492
|
-
"neeto-filters-slider__wrapper--xsmall": size === SIZES.xsmall,
|
|
3493
|
-
"neeto-filters-slider__wrapper--small": size === SIZES.small,
|
|
3494
|
-
"neeto-filters-slider__wrapper--large": size === SIZES.large
|
|
3495
|
-
}, className, className))
|
|
3496
|
-
}, otherProps), /*#__PURE__*/React.createElement(Button, {
|
|
3497
|
-
"aria-label": "Close",
|
|
3498
|
-
className: "neeto-filters-slider__close",
|
|
3499
|
-
"data-cy": "neeto-filters-close-button",
|
|
3500
|
-
"data-testid": "close-button",
|
|
3501
|
-
icon: Close,
|
|
3502
|
-
size: "small",
|
|
3503
|
-
style: "text",
|
|
3504
|
-
onClick: onClose
|
|
3505
|
-
}), children))));
|
|
2254
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2255
|
+
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
2256
|
+
autoFocus: autoFocus,
|
|
2257
|
+
label: label,
|
|
2258
|
+
value: value,
|
|
2259
|
+
isClearable: true,
|
|
2260
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
2261
|
+
options: TIME_OPTIONS,
|
|
2262
|
+
strategy: "fixed",
|
|
2263
|
+
placeholder: t("neetoFilters.messages.selectResource", {
|
|
2264
|
+
resource: label
|
|
2265
|
+
})
|
|
2266
|
+
}, isNotEmpty(helpIconProps) && {
|
|
2267
|
+
labelProps: {
|
|
2268
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2269
|
+
}
|
|
2270
|
+
}, {
|
|
2271
|
+
onChange: handleChange
|
|
2272
|
+
})), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePicker, _extends({
|
|
2273
|
+
use12Hours: true,
|
|
2274
|
+
"data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
|
|
2275
|
+
format: "h:mm A",
|
|
2276
|
+
getPopupContainer: prop("parentNode"),
|
|
2277
|
+
type: "range",
|
|
2278
|
+
value: filter.value,
|
|
2279
|
+
onChange: handleTimeRangeChange
|
|
2280
|
+
}, otherProps)));
|
|
3506
2281
|
};
|
|
3507
|
-
|
|
3508
|
-
Slider.Body = Body;
|
|
3509
|
-
Slider.Footer = Footer;
|
|
2282
|
+
var Time$1 = /*#__PURE__*/React.memo(Time);
|
|
3510
2283
|
|
|
3511
|
-
var
|
|
3512
|
-
var
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
var
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
var
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
2284
|
+
var Item = function Item(_ref) {
|
|
2285
|
+
var column = _ref.column,
|
|
2286
|
+
filters = _ref.filters,
|
|
2287
|
+
onChange = _ref.onChange,
|
|
2288
|
+
autoFocus = _ref.autoFocus,
|
|
2289
|
+
onClose = _ref.onClose;
|
|
2290
|
+
var key = column.key,
|
|
2291
|
+
_column$defaultType = column.defaultType,
|
|
2292
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType;
|
|
2293
|
+
var filter = useMemo(function () {
|
|
2294
|
+
return findBy({
|
|
2295
|
+
key: key
|
|
2296
|
+
}, filters);
|
|
2297
|
+
}, [filters, key]);
|
|
2298
|
+
var handleApplyFilter = function handleApplyFilter(updatedFilter) {
|
|
2299
|
+
if (updatedFilter._delete) onChange(removeBy({
|
|
2300
|
+
key: key
|
|
2301
|
+
}, filters));else if (!filter) onChange(append(updatedFilter, filters));else onChange(replaceBy({
|
|
2302
|
+
key: key
|
|
2303
|
+
}, updatedFilter, filters));
|
|
2304
|
+
};
|
|
2305
|
+
if (isText(defaultType) || isDigit(defaultType)) {
|
|
2306
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
2307
|
+
autoFocus: autoFocus,
|
|
2308
|
+
column: column,
|
|
2309
|
+
filter: filter,
|
|
2310
|
+
filters: filters,
|
|
2311
|
+
handleApplyFilter: handleApplyFilter,
|
|
2312
|
+
onClose: onClose
|
|
2313
|
+
});
|
|
2314
|
+
}
|
|
2315
|
+
if (isDate(defaultType)) {
|
|
2316
|
+
return /*#__PURE__*/React.createElement(Datetime$1, {
|
|
2317
|
+
autoFocus: autoFocus,
|
|
2318
|
+
column: column,
|
|
2319
|
+
filter: filter,
|
|
2320
|
+
handleApplyFilter: handleApplyFilter
|
|
2321
|
+
});
|
|
2322
|
+
}
|
|
2323
|
+
if (isTime(defaultType)) {
|
|
2324
|
+
return /*#__PURE__*/React.createElement(Time$1, {
|
|
2325
|
+
autoFocus: autoFocus,
|
|
2326
|
+
column: column,
|
|
2327
|
+
filter: filter,
|
|
2328
|
+
handleApplyFilter: handleApplyFilter
|
|
2329
|
+
});
|
|
2330
|
+
}
|
|
2331
|
+
if (isSingleDate(defaultType)) {
|
|
2332
|
+
return /*#__PURE__*/React.createElement(SingleDatetime, {
|
|
2333
|
+
autoFocus: autoFocus,
|
|
2334
|
+
column: column,
|
|
2335
|
+
filter: filter,
|
|
2336
|
+
filters: filters,
|
|
2337
|
+
handleApplyFilter: handleApplyFilter
|
|
3530
2338
|
});
|
|
3531
|
-
|
|
3532
|
-
|
|
2339
|
+
}
|
|
2340
|
+
if (isSingleTime(defaultType)) {
|
|
2341
|
+
return /*#__PURE__*/React.createElement(SingleTime, {
|
|
2342
|
+
autoFocus: autoFocus,
|
|
2343
|
+
column: column,
|
|
2344
|
+
filter: filter,
|
|
2345
|
+
filters: filters,
|
|
2346
|
+
handleApplyFilter: handleApplyFilter
|
|
3533
2347
|
});
|
|
3534
|
-
}
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
2348
|
+
}
|
|
2349
|
+
if (isBoolean(defaultType) || isCheckbox(defaultType)) {
|
|
2350
|
+
return /*#__PURE__*/React.createElement(Boolean$1, {
|
|
2351
|
+
autoFocus: autoFocus,
|
|
2352
|
+
column: column,
|
|
2353
|
+
filter: filter,
|
|
2354
|
+
handleApplyFilter: handleApplyFilter
|
|
3540
2355
|
});
|
|
3541
|
-
}
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
var newFilters = buildFiltersFromSearchParams(columns);
|
|
3549
|
-
var filtersPayload = isKeywordFilterPresent(keywordFilter) && isNotEmpty(getSearchTermFromUrl()) ? append(keywordFilter, newFilters) : newFilters;
|
|
3550
|
-
handleFiltersChange(filtersPayload);
|
|
3551
|
-
onSelectorsChange(buildSelectorsFromURL(columns));
|
|
3552
|
-
};
|
|
3553
|
-
var handleChangesInURL = function handleChangesInURL() {
|
|
3554
|
-
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
3555
|
-
var searchParams = getSnakeCasedQueryParams();
|
|
3556
|
-
var keys = pluck("key", append(keywordFilter, columns));
|
|
3557
|
-
if (keys.every(function (key) {
|
|
3558
|
-
return isNil(searchParams[key]);
|
|
3559
|
-
}) && !isEmpty(defaultFilters)) {
|
|
3560
|
-
history.replace({
|
|
3561
|
-
search: buildUrlFromFilters({
|
|
3562
|
-
columns: columns,
|
|
3563
|
-
filters: concat(defaultFilters, filters)
|
|
3564
|
-
})
|
|
3565
|
-
});
|
|
3566
|
-
filters = buildFiltersFromSearchParams(columns, false);
|
|
3567
|
-
}
|
|
3568
|
-
};
|
|
3569
|
-
useEffect(function () {
|
|
3570
|
-
if (initialRender.current) {
|
|
3571
|
-
initialRender.current = false;
|
|
3572
|
-
var keywordValue = getSearchTermFromUrl();
|
|
3573
|
-
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
3574
|
-
isNotEmpty(defaultFilters) && handlePrecenseOfDefaultFilters(defaultFilters);
|
|
3575
|
-
prevFilters.current = append(mergeRight(keywordFilter, {
|
|
3576
|
-
value: keywordValue
|
|
3577
|
-
}), filters);
|
|
3578
|
-
} else {
|
|
3579
|
-
handleChangesInURL();
|
|
3580
|
-
sendUpdatedFilters();
|
|
3581
|
-
prevFilters.current = append(keywordFilter, filters);
|
|
3582
|
-
}
|
|
3583
|
-
}, [location.search, defaultValuesOfColumns]);
|
|
3584
|
-
return filters;
|
|
2356
|
+
}
|
|
2357
|
+
return /*#__PURE__*/React.createElement(Dropdown$1, {
|
|
2358
|
+
autoFocus: autoFocus,
|
|
2359
|
+
column: column,
|
|
2360
|
+
filter: filter,
|
|
2361
|
+
handleApplyFilter: handleApplyFilter
|
|
2362
|
+
});
|
|
3585
2363
|
};
|
|
3586
2364
|
|
|
3587
|
-
var _excluded = ["
|
|
2365
|
+
var _excluded = ["isOpen", "onClose", "columns", "onChange", "isSearchable", "keyword", "onSelectorsChange", "childrenKeys", "children", "className"];
|
|
3588
2366
|
function ownKeys$1(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; }
|
|
3589
2367
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3590
2368
|
var Pane = function Pane(_ref) {
|
|
3591
|
-
var
|
|
3592
|
-
isOpen = _ref.isOpen,
|
|
2369
|
+
var isOpen = _ref.isOpen,
|
|
3593
2370
|
onClose = _ref.onClose,
|
|
3594
2371
|
columns = _ref.columns,
|
|
3595
2372
|
onChange = _ref.onChange,
|
|
@@ -3599,6 +2376,7 @@ var Pane = function Pane(_ref) {
|
|
|
3599
2376
|
_ref$childrenKeys = _ref.childrenKeys,
|
|
3600
2377
|
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
|
|
3601
2378
|
children = _ref.children,
|
|
2379
|
+
className = _ref.className,
|
|
3602
2380
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
3603
2381
|
var searchParams = useQueryParams({
|
|
3604
2382
|
toCamelCase: false
|
|
@@ -3607,7 +2385,7 @@ var Pane = function Pane(_ref) {
|
|
|
3607
2385
|
_useState2 = _slicedToArray(_useState, 2),
|
|
3608
2386
|
searchTerm = _useState2[0],
|
|
3609
2387
|
setSearchTerm = _useState2[1];
|
|
3610
|
-
var history = useHistory
|
|
2388
|
+
var history = useHistory();
|
|
3611
2389
|
var _useTranslation = useTranslation(),
|
|
3612
2390
|
t = _useTranslation.t;
|
|
3613
2391
|
columns = useMemo(function () {
|
|
@@ -3675,19 +2453,17 @@ var Pane = function Pane(_ref) {
|
|
|
3675
2453
|
}) && !childrenKeys.some(function (key) {
|
|
3676
2454
|
return searchParams[key];
|
|
3677
2455
|
});
|
|
3678
|
-
return /*#__PURE__*/React.createElement(
|
|
3679
|
-
rootId: "neeto-filters-portal"
|
|
3680
|
-
}, /*#__PURE__*/React.createElement(Slider, _extends$1({
|
|
2456
|
+
return /*#__PURE__*/React.createElement(Pane$1, _extends({
|
|
3681
2457
|
isOpen: isOpen,
|
|
3682
|
-
|
|
2458
|
+
backdropClassName: "neeto-filters-pane-backdrop",
|
|
2459
|
+
className: classnames("neeto-filters-pane-filter", _defineProperty({}, className, className)),
|
|
3683
2460
|
onClose: handleClose
|
|
3684
|
-
}, otherProps), /*#__PURE__*/React.createElement(
|
|
3685
|
-
className: "neeto-filters-pane-filter__header",
|
|
2461
|
+
}, otherProps), /*#__PURE__*/React.createElement(Pane$1.Header, {
|
|
3686
2462
|
"data-cy": "neeto-filters-pane-header"
|
|
3687
2463
|
}, /*#__PURE__*/React.createElement(Typography, {
|
|
3688
2464
|
style: "h2",
|
|
3689
2465
|
weight: "semibold"
|
|
3690
|
-
}, t("neetoFilters.common.filters"))), /*#__PURE__*/React.createElement(
|
|
2466
|
+
}, t("neetoFilters.common.filters"))), /*#__PURE__*/React.createElement(Pane$1.Body, {
|
|
3691
2467
|
className: "neeto-filters-pane-filter__body neeto-ui-pt-2"
|
|
3692
2468
|
}, isSearchable && /*#__PURE__*/React.createElement(Search, {
|
|
3693
2469
|
"data-cy": "neeto-filters-column-search",
|
|
@@ -3734,9 +2510,7 @@ var Pane = function Pane(_ref) {
|
|
|
3734
2510
|
style: "body2"
|
|
3735
2511
|
}, t("neetoFilters.messages.noResourcesFound", {
|
|
3736
2512
|
resources: t("neetoFilters.common.columns")
|
|
3737
|
-
})), children), /*#__PURE__*/React.createElement(
|
|
3738
|
-
className: "neeto-filters-pane-filter__footer"
|
|
3739
|
-
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
2513
|
+
})), children), /*#__PURE__*/React.createElement(Pane$1.Footer, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
3740
2514
|
"data-cy": "neeto-filters-done-btn",
|
|
3741
2515
|
label: t("neetoFilters.common.done"),
|
|
3742
2516
|
onClick: handleClearTermAndClose
|
|
@@ -3746,19 +2520,18 @@ var Pane = function Pane(_ref) {
|
|
|
3746
2520
|
label: t("neetoFilters.common.clearFilters"),
|
|
3747
2521
|
style: "text",
|
|
3748
2522
|
onClick: handleClearAll
|
|
3749
|
-
}))))
|
|
2523
|
+
}))));
|
|
3750
2524
|
};
|
|
3751
2525
|
|
|
3752
2526
|
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}}
|
|
3753
2527
|
|
|
3754
|
-
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-slider__pane{border-radius:12px 0 0 12px;position:fixed;right:0;top:0;z-index:99998}.neeto-filters-slider__wrapper{background-color:rgb(var(--neeto-ui-white));box-shadow:var(--neeto-ui-shadow-m);height:100vh;max-width:100%;transform:translateX(100%);transition:all .3s}.neeto-filters-slider__wrapper--xsmall{width:360px}.neeto-filters-slider__wrapper--small{width:480px}.neeto-filters-slider__wrapper--large{width:50vw}@media screen and (max-width:767px){.neeto-filters-slider__wrapper{width:100vw}}.neeto-filters-slider__close{position:absolute!important;right:24px;top:24px}.neeto-filters-slider__header{padding:24px 60px 24px 24px;width:100%}.neeto-filters-slider__body{font-size:var(--neeto-ui-text-sm);height:calc(100vh - var(--neeto-ui-pane-header-height));overflow-y:auto;padding:0 24px;width:100%}.neeto-filters-slider__body.neeto-filters-slider__body--has-footer{height:calc(100vh - var(--neeto-ui-pane-header-height) - var(--neeto-ui-pane-footer-height))}.neeto-filters-slider__footer{background-color:rgb(var(--neeto-ui-white));min-height:var(--neeto-ui-pane-footer-height);padding:24px;width:100%}.neeto-filters-slider__footer.neeto-filters-slider__footer__absolute{bottom:0;left:0;position:absolute;width:100%}.neeto-filters-slider-enter .neeto-filters-slider__wrapper{transform:translateX(100%)}.neeto-filters-slider-enter-active .neeto-filters-slider__wrapper,.neeto-filters-slider-enter-done .neeto-filters-slider__wrapper{transform:translateX(0)}.neeto-filters-slider-exit .neeto-filters-slider__wrapper,.neeto-filters-slider-exit-active .neeto-filters-slider__wrapper{transform:translateX(100%)}.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))}.neeto-filters-pane-filter__footer{justify-content:space-between}.neeto-filters-pane-filter__footer div{display:flex;gap:8px}.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19iYXIuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9pbmRleC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2Fic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zcmMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9fZmlsdGVycy5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3NlZ21lbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBR0Usa0JBQUEsQ0FGQSxZQUFBLENBQ0EsY0NFRixDRENFLDBCQUtFLHFDQUFBLENBSEEsWUFBQSxDQUVBLE9BQUEsQ0FHQSxZQUFBLENBQ0EsZUFBQSxDQUVBLGVBQUEsQ0FUQSxlQUFBLENBRUEsaUJBQUEsQ0FHQSxxQ0FBQSxDQUdBLGtCQ0VKLENEQ0ksd0NBQ0UsbUNDQ04sQ0RFSSxnQ0FRRSxnSEFBQSxDQUZBLG1DQUFBLENBREEsU0FBQSxDQURBLFdBQUEsQ0FIQSxpQkFBQSxDQUVBLE9BQUEsQ0FEQSxLQUFBLENBS0EscUNDQ04sQ0RPSSxpRUFFRSw4Q0FBQSxDQUNBLGNDTk4sQ0RRTSxpSUFHRSxxQ0FBQSxDQURBLGdDQUFBLENBREEsU0NKUixDRFVJLGdDQUVFLHVEQUFBLENBREEsWUNQTixDRFlFLDhCQUdFLGtCQUFBLENBRkEsbURBQUEsQ0FDQSxlQ1RKLENDOUNFLDRCQUlFLDJCQUFBLENBSEEsY0FBQSxDQUVBLE9BQUEsQ0FEQSxLQUFBLENBR0EsYURpREosQ0MvQ0UsK0JBR0UsMkNBQUEsQ0FDQSxtQ0FBQSxDQUZBLFlBQUEsQ0FEQSxjQUFBLENBS0EsMEJBQUEsQ0FDQSxrQkRnREosQ0M5Q0ksdUNBQ0UsV0RnRE4sQ0M3Q0ksc0NBQ0UsV0QrQ04sQ0M1Q0ksc0NBQ0UsVUQ4Q04sQ0UxREksb0NETkYsK0JBc0JJLFdEOENKLENBQ0YsQ0M1Q0UsNkJBQ0UsMkJBQUEsQ0FFQSxVQUFBLENBREEsUUQrQ0osQ0MzQ0UsOEJBR0UsMkJBQUEsQ0FGQSxVRCtDSixDQzFDRSw0QkFJRSxpQ0FBQSxDQUZBLHVEQUFBLENBR0EsZUFBQSxDQUZBLGNBQUEsQ0FGQSxVRGdESixDQzFDSSxtRUFDRSw0RkQ0Q04sQ0NyQ0UsOEJBR0UsMkNBQUEsQ0FDQSw2Q0FBQSxDQUZBLFlBQUEsQ0FEQSxVRDBDSixDQ3JDSSxxRUFJRSxRQUFBLENBREEsTUFBQSxDQURBLGlCQUFBLENBREEsVUQwQ04sQ0MvQkUsMkRBQ0UsMEJEa0NKLENDN0JFLGtJQUNFLHVCRGlDSixDQ3hCRSwySEFDRSwwQkQrQkosQ0c3SEUsaUNBQ0UsNkJBQUEsQ0FDQSxRSGdJSixDRzlISSxtQ0FDRSxxQkhnSU4sQ0c3SEksbUNBQ0UsaUJIK0hOLENHNUhJLDBFQUNFLFlBQUEsQ0FHQSxNQUFBLENBRkEscUJBQUEsQ0FDQSxPSCtITixDRzFITSwwRkFFRSxNQUFBLENBREEsZUg2SFIsQ0cxSFEsd0dBQ0UsWUg0SFYsQ0d4SFEseUZBQ0UsYUgwSFYsQ0d0SEkseUVBQ0Usc0RId0hOLENHcEhFLG1DQUNFLDZCSHNISixDR3BISSx1Q0FDRSxZQUFBLENBQ0EsT0hzSE4sQ0luS0EsK0JBQ0UsdURBQUEsQ0FDQSwrREpzS0YiLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tZmlsdGVycy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJl9fYmxvY2sge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ2FwOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICBtYXgtd2lkdGg6IDM4NHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTcwMCkpO1xuICAgIH1cblxuICAgICYtY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkwZGVnLFxuICAgICAgICByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSxcbiAgICAgICAgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTgwMCksIDE1JSk7XG4gICAgfVxuICB9XG5cbiAgJi0tc2VwYXJhdG9yIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTQwMCkpO1xuICAgIG1hcmdpbjogMTJweCA4cHg7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxufVxuIiwiLm5lZXRvLWZpbHRlcnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jayB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgbWFyZ2luOiA0cHggMDtcbiAgbWF4LXdpZHRoOiAzODRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2sgcDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSwgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyLCAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2UsIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6YWN0aXZlIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWJsYWNrKSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktODAwKSwgMTUlKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhci0tc2VwYXJhdG9yIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS00MDApKTtcbiAgbWFyZ2luOiAxMnB4IDhweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyX19wYW5lIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiAxMnB4IDBweCAwcHggMTJweDtcbiAgei1pbmRleDogOTk5OTg7XG59XG4ubmVldG8tZmlsdGVycy1zbGlkZXJfX3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS13aGl0ZSkpO1xuICBib3gtc2hhZG93OiB2YXIoLS1uZWV0by11aS1zaGFkb3ctbSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG4ubmVldG8tZmlsdGVycy1zbGlkZXJfX3dyYXBwZXItLXhzbWFsbCB7XG4gIHdpZHRoOiAzNjBweDtcbn1cbi5uZWV0by1maWx0ZXJzLXNsaWRlcl9fd3JhcHBlci0tc21hbGwge1xuICB3aWR0aDogNDgwcHg7XG59XG4ubmVldG8tZmlsdGVycy1zbGlkZXJfX3dyYXBwZXItLWxhcmdlIHtcbiAgd2lkdGg6IDUwdnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubmVldG8tZmlsdGVycy1zbGlkZXJfX3dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxufVxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDI0cHg7XG4gIHJpZ2h0OiAyNHB4O1xufVxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyX19oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjRweDtcbiAgcGFkZGluZy1yaWdodDogNjBweDtcbn1cbi5uZWV0by1maWx0ZXJzLXNsaWRlcl9fYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1uZWV0by11aS1wYW5lLWhlYWRlci1oZWlnaHQpKTtcbiAgcGFkZGluZzogMCAyNHB4O1xuICBmb250LXNpemU6IHZhcigtLW5lZXRvLXVpLXRleHQtc20pO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyX19ib2R5Lm5lZXRvLWZpbHRlcnMtc2xpZGVyX19ib2R5LS1oYXMtZm9vdGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tbmVldG8tdWktcGFuZS1oZWFkZXItaGVpZ2h0KSAtIHZhcigtLW5lZXRvLXVpLXBhbmUtZm9vdGVyLWhlaWdodCkpO1xufVxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyX19mb290ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXdoaXRlKSk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLW5lZXRvLXVpLXBhbmUtZm9vdGVyLWhlaWdodCk7XG59XG4ubmVldG8tZmlsdGVycy1zbGlkZXJfX2Zvb3Rlci5uZWV0by1maWx0ZXJzLXNsaWRlcl9fZm9vdGVyX19hYnNvbHV0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyLWVudGVyIC5uZWV0by1maWx0ZXJzLXNsaWRlcl9fd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyLWVudGVyLWFjdGl2ZSAubmVldG8tZmlsdGVycy1zbGlkZXJfX3dyYXBwZXIsXG4ubmVldG8tZmlsdGVycy1zbGlkZXItZW50ZXItZG9uZSAubmVldG8tZmlsdGVycy1zbGlkZXJfX3dyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5uZWV0by1maWx0ZXJzLXNsaWRlci1leGl0IC5uZWV0by1maWx0ZXJzLXNsaWRlcl9fd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyLWV4aXQtYWN0aXZlIC5uZWV0by1maWx0ZXJzLXNsaWRlcl9fd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICBnYXA6IDIwcHg7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSA+ICoge1xuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlcjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbTpmaXJzdC1vZi10eXBlIC5uZWV0by11aS1hY2NvcmRpb25fX2l0ZW0ge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5uZWV0by11aS1hY2NvcmRpb25fX3dyYXBwZXItLWxhc3QtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fZm9vdGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2Zvb3RlciBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2VnbWVudC0tYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS01MDApKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbn0iLCIubmVldG8tZmlsdGVycy1zbGlkZXIge1xuICAmX19wYW5lIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHggMHB4IDBweCAxMnB4O1xuICAgIHotaW5kZXg6IDk5OTk4O1xuICB9XG4gICZfX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS13aGl0ZSkpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLW5lZXRvLXVpLXNoYWRvdy1tKTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICYtLXhzbWFsbCB7XG4gICAgICB3aWR0aDogMzYwcHg7XG4gICAgfVxuXG4gICAgJi0tc21hbGwge1xuICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgIH1cblxuICAgICYtLWxhcmdlIHtcbiAgICAgIHdpZHRoOiA1MHZ3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KG1vYikge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgIH1cbiAgfVxuICAmX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAyNHB4O1xuICAgIHJpZ2h0OiAyNHB4O1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1uZWV0by11aS1wYW5lLWhlYWRlci1oZWlnaHQpKTtcbiAgICBwYWRkaW5nOiAwIDI0cHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1uZWV0by11aS10ZXh0LXNtKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgJi5uZWV0by1maWx0ZXJzLXNsaWRlcl9fYm9keS0taGFzLWZvb3RlciB7XG4gICAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAgIDEwMHZoIC0gdmFyKC0tbmVldG8tdWktcGFuZS1oZWFkZXItaGVpZ2h0KSAtXG4gICAgICAgICAgdmFyKC0tbmVldG8tdWktcGFuZS1mb290ZXItaGVpZ2h0KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAmX19mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXdoaXRlKSk7XG4gICAgbWluLWhlaWdodDogdmFyKC0tbmVldG8tdWktcGFuZS1mb290ZXItaGVpZ2h0KTtcblxuICAgICYubmVldG8tZmlsdGVycy1zbGlkZXJfX2Zvb3Rlcl9fYWJzb2x1dGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDU1MgdHJhbnNpdGlvbiBncm91cFxuXG4ubmVldG8tZmlsdGVycy1zbGlkZXItZW50ZXIge1xuICAubmVldG8tZmlsdGVycy1zbGlkZXJfX3dyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxufVxuLm5lZXRvLWZpbHRlcnMtc2xpZGVyLWVudGVyLWFjdGl2ZSxcbi5uZWV0by1maWx0ZXJzLXNsaWRlci1lbnRlci1kb25lIHtcbiAgLm5lZXRvLWZpbHRlcnMtc2xpZGVyX193cmFwcGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5uZWV0by1maWx0ZXJzLXNsaWRlci1leGl0IHtcbiAgLm5lZXRvLWZpbHRlcnMtc2xpZGVyX193cmFwcGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbn1cbi5uZWV0by1maWx0ZXJzLXNsaWRlci1leGl0LWFjdGl2ZSB7XG4gIC5uZWV0by1maWx0ZXJzLXNsaWRlcl9fd3JhcHBlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG4iLCJAbWl4aW4gdmlld3BvcnQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWE9PWRlc2sge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09dGFiLW1pbiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT10YWItb25seSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PW1vYiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PXhzLW1vYiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXIge1xuICAmX19ib2R5IHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICAgIGdhcDogMjBweDtcblxuICAgID4gKiB7XG4gICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb25faXRlbSB7XG4gICAgICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIC5uZWV0by11aS1hY2NvcmRpb25fX2l0ZW0ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uZWV0by11aS1hY2NvcmRpb25fX3dyYXBwZXItLWxhc3QtaXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDhweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5uZWV0by1maWx0ZXJzLXNlZ21lbnQtLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYih2YXIoLS1uZWV0by11aS1wcmltYXJ5LTUwMCkpICFpbXBvcnRhbnQ7XG59XG4iXX0= */";
|
|
2528
|
+
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{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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19iYXIuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9pbmRleC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2ZpbHRlcnMuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUdFLGtCQUFBLENBRkEsWUFBQSxDQUNBLGNDRUYsQ0RDRSwwQkFLRSxxQ0FBQSxDQUhBLFlBQUEsQ0FFQSxPQUFBLENBR0EsWUFBQSxDQUNBLGVBQUEsQ0FFQSxlQUFBLENBVEEsZUFBQSxDQUVBLGlCQUFBLENBR0EscUNBQUEsQ0FHQSxrQkNFSixDRENJLHdDQUNFLG1DQ0NOLENERUksZ0NBUUUsZ0hBQUEsQ0FGQSxtQ0FBQSxDQURBLFNBQUEsQ0FEQSxXQUFBLENBSEEsaUJBQUEsQ0FFQSxPQUFBLENBREEsS0FBQSxDQUtBLHFDQ0NOLENET0ksaUVBRUUsOENBQUEsQ0FDQSxjQ05OLENEUU0saUlBR0UscUNBQUEsQ0FEQSxnQ0FBQSxDQURBLFNDSlIsQ0RVSSxnQ0FFRSx1REFBQSxDQURBLFlDUE4sQ0RZRSw4QkFHRSxrQkFBQSxDQUZBLG1EQUFBLENBQ0EsZUNUSixDQy9DQSwyQkFDRSxXRGtERixDQ2hERSxpQ0FDRSw2QkFBQSxDQUNBLFFEa0RKLENDaERJLG1DQUNFLHFCRGtETixDQy9DSSxtQ0FDRSxpQkRpRE4sQ0M5Q0ksMEVBQ0UsWUFBQSxDQUNBLHFCQUFBLENBQ0EsT0RnRE4sQ0M1Q00sMEZBQ0UsZUQ4Q1IsQ0M1Q1Esd0dBQ0UsWUQ4Q1YsQ0MxQ1EseUZBQ0UsYUQ0Q1YsQ0N4Q0kseUVBQ0Usc0REMENOLENFaEVJLG9DRGRKLDJCQXlDSSxXRHlDRixDQUNGLENDdENBLDZCQUNFLHlDQUFBLENBQUEsaUNBQUEsQ0FDQSxrRER5Q0YiLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tZmlsdGVycy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJl9fYmxvY2sge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ2FwOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICBtYXgtd2lkdGg6IDM4NHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTcwMCkpO1xuICAgIH1cblxuICAgICYtY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkwZGVnLFxuICAgICAgICByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSxcbiAgICAgICAgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTgwMCksIDE1JSk7XG4gICAgfVxuICB9XG5cbiAgJi0tc2VwYXJhdG9yIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTQwMCkpO1xuICAgIG1hcmdpbjogMTJweCA4cHg7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxufVxuIiwiLm5lZXRvLWZpbHRlcnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jayB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgbWFyZ2luOiA0cHggMDtcbiAgbWF4LXdpZHRoOiAzODRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2sgcDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSwgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyLCAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2UsIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6YWN0aXZlIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWJsYWNrKSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktODAwKSwgMTUlKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhci0tc2VwYXJhdG9yIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS00MDApKTtcbiAgbWFyZ2luOiAxMnB4IDhweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXIge1xuICB3aWR0aDogMzYwcHg7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIGdhcDogMjBweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5ID4gKiB7XG4gIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19pdGVtLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgLmFjY29yZGlvbl9pdGVtOmZpcnN0LW9mLXR5cGUgLm5lZXRvLXVpLWFjY29yZGlvbl9faXRlbSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgLm5lZXRvLXVpLWFjY29yZGlvbl9fd3JhcHBlci0tbGFzdC1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1iYWNrZHJvcCB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS03MDApLCAwLjIpO1xufSIsIi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyIHtcbiAgd2lkdGg6IDM2MHB4O1xuXG4gICZfX2JvZHkge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiAyMHB4O1xuXG4gICAgPiAqIHtcbiAgICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19pdGVtLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX2l0ZW0ge1xuICAgICAgLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAubmVldG8tdWktYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubmVldG8tdWktYWNjb3JkaW9uX193cmFwcGVyLS1sYXN0LWl0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB2aWV3cG9ydChtb2IpIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1iYWNrZHJvcCB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS03MDApLCAwLjIpO1xufVxuIiwiQG1peGluIHZpZXdwb3J0KCRtZWRpYSkge1xuICBAaWYgJG1lZGlhPT1kZXNrIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PXRhYi1taW4ge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09dGFiLW9ubHkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT1tb2Ige1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT14cy1tb2Ige1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */";
|
|
3755
2529
|
n(css,{});
|
|
3756
2530
|
|
|
3757
2531
|
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; }
|
|
3758
2532
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3759
2533
|
var Filters = withT(function (_ref) {
|
|
3760
2534
|
var t = _ref.t,
|
|
3761
|
-
size = _ref.size,
|
|
3762
2535
|
_ref$isOpen = _ref.isOpen,
|
|
3763
2536
|
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
3764
2537
|
_ref$setIsOpen = _ref.setIsOpen,
|
|
@@ -3775,25 +2548,25 @@ var Filters = withT(function (_ref) {
|
|
|
3775
2548
|
isSearchable = _ref$isSearchable === void 0 ? false : _ref$isSearchable,
|
|
3776
2549
|
className = _ref.className,
|
|
3777
2550
|
_ref$onSelectorsChang = _ref.onSelectorsChange,
|
|
3778
|
-
onSelectorsChange = _ref$onSelectorsChang === void 0 ? noop
|
|
2551
|
+
onSelectorsChange = _ref$onSelectorsChang === void 0 ? noop : _ref$onSelectorsChang,
|
|
3779
2552
|
_ref$keyword = _ref.keyword,
|
|
3780
2553
|
keyword = _ref$keyword === void 0 ? {
|
|
3781
2554
|
node: "",
|
|
3782
2555
|
value: "",
|
|
3783
|
-
setValue: noop
|
|
2556
|
+
setValue: noop
|
|
3784
2557
|
} : _ref$keyword,
|
|
3785
2558
|
childrenKeys = _ref.childrenKeys,
|
|
3786
2559
|
children = _ref.children;
|
|
3787
2560
|
return /*#__PURE__*/React.createElement("span", {
|
|
3788
2561
|
className: classnames(_defineProperty({}, className, className))
|
|
3789
|
-
}, /*#__PURE__*/React.createElement(Button, _extends
|
|
2562
|
+
}, /*#__PURE__*/React.createElement(Button, _extends({
|
|
3790
2563
|
"data-cy": "neeto-filters-toggle-btn",
|
|
3791
2564
|
label: t("neetoFilters.common.filter"),
|
|
3792
2565
|
style: "secondary",
|
|
3793
2566
|
onClick: function onClick() {
|
|
3794
2567
|
return setIsOpen(true);
|
|
3795
2568
|
}
|
|
3796
|
-
}, buttonProps)), /*#__PURE__*/React.createElement(Pane, _extends
|
|
2569
|
+
}, buttonProps)), /*#__PURE__*/React.createElement(Pane, _extends({
|
|
3797
2570
|
onClose: function onClose() {
|
|
3798
2571
|
return setIsOpen(false);
|
|
3799
2572
|
}
|
|
@@ -3804,27 +2577,18 @@ var Filters = withT(function (_ref) {
|
|
|
3804
2577
|
isSearchable: isSearchable,
|
|
3805
2578
|
keyword: keyword,
|
|
3806
2579
|
onChange: onChange,
|
|
3807
|
-
onSelectorsChange: onSelectorsChange
|
|
3808
|
-
size: size
|
|
2580
|
+
onSelectorsChange: onSelectorsChange
|
|
3809
2581
|
}, paneProps)), children));
|
|
3810
2582
|
});
|
|
3811
2583
|
|
|
3812
|
-
var
|
|
3813
|
-
var SEGMENT_ACTIONS = {
|
|
3814
|
-
EDIT: "edit",
|
|
3815
|
-
DELETE: "delete"
|
|
3816
|
-
};
|
|
3817
|
-
|
|
3818
|
-
var Delete = function Delete(_ref) {
|
|
2584
|
+
var DeleteAlert = function DeleteAlert(_ref) {
|
|
3819
2585
|
var isOpen = _ref.isOpen,
|
|
3820
2586
|
onClose = _ref.onClose,
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
_ref$columns = _ref.columns,
|
|
3824
|
-
columns = _ref$columns === void 0 ? [] : _ref$columns;
|
|
2587
|
+
segment = _ref.segment,
|
|
2588
|
+
columns = _ref.columns;
|
|
3825
2589
|
var _useTranslation = useTranslation(),
|
|
3826
2590
|
t = _useTranslation.t;
|
|
3827
|
-
var history = useHistory
|
|
2591
|
+
var history = useHistory();
|
|
3828
2592
|
var _getQueryParams = getQueryParams(),
|
|
3829
2593
|
segmentId = _getQueryParams.segmentId;
|
|
3830
2594
|
var _useDestroySegment = useDestroySegment(),
|
|
@@ -3862,30 +2626,162 @@ var Delete = function Delete(_ref) {
|
|
|
3862
2626
|
});
|
|
3863
2627
|
};
|
|
3864
2628
|
|
|
3865
|
-
var
|
|
2629
|
+
var Card = function Card(_ref) {
|
|
2630
|
+
var segment = _ref.segment,
|
|
2631
|
+
columns = _ref.columns,
|
|
2632
|
+
defaultSegmentName = _ref.defaultSegmentName;
|
|
2633
|
+
var _useState = useState(false),
|
|
2634
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2635
|
+
isEditing = _useState2[0],
|
|
2636
|
+
setIsEditing = _useState2[1];
|
|
2637
|
+
var _useState3 = useState(false),
|
|
2638
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
2639
|
+
isDeleteAlertOpen = _useState4[0],
|
|
2640
|
+
setIsDeleteAlertOpen = _useState4[1];
|
|
2641
|
+
var _useTranslation = useTranslation(),
|
|
2642
|
+
t = _useTranslation.t;
|
|
2643
|
+
var Menu = Dropdown$2.Menu,
|
|
2644
|
+
MenuItem = Dropdown$2.MenuItem;
|
|
2645
|
+
var _useUpdateSegment = useUpdateSegment(),
|
|
2646
|
+
updateSegment = _useUpdateSegment.mutate;
|
|
2647
|
+
var handleRename = function handleRename(values) {
|
|
2648
|
+
return updateSegment({
|
|
2649
|
+
id: segment.id,
|
|
2650
|
+
payload: values
|
|
2651
|
+
}, {
|
|
2652
|
+
onSuccess: function onSuccess() {
|
|
2653
|
+
return setIsEditing(false);
|
|
2654
|
+
}
|
|
2655
|
+
});
|
|
2656
|
+
};
|
|
2657
|
+
return /*#__PURE__*/React.createElement(Form, {
|
|
2658
|
+
className: "neeto-ui-rounded-md flex w-full items-center justify-between border p-2",
|
|
2659
|
+
formProps: {
|
|
2660
|
+
noValidate: true
|
|
2661
|
+
},
|
|
2662
|
+
formikProps: {
|
|
2663
|
+
initialValues: segment,
|
|
2664
|
+
validateOnChange: true,
|
|
2665
|
+
validateOnBlur: true,
|
|
2666
|
+
validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
|
|
2667
|
+
onSubmit: handleRename,
|
|
2668
|
+
enableReinitialize: true
|
|
2669
|
+
}
|
|
2670
|
+
}, function (_ref2) {
|
|
2671
|
+
var resetForm = _ref2.resetForm;
|
|
2672
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, isEditing ? /*#__PURE__*/React.createElement(FormikInlineInput, {
|
|
2673
|
+
autoFocus: true,
|
|
2674
|
+
nakedInput: true,
|
|
2675
|
+
handleCancel: function handleCancel() {
|
|
2676
|
+
return setIsEditing(false);
|
|
2677
|
+
},
|
|
2678
|
+
name: "name",
|
|
2679
|
+
placeholder: t("neetoFilters.segments.name")
|
|
2680
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
|
|
2681
|
+
style: "body2"
|
|
2682
|
+
}, segment.name), /*#__PURE__*/React.createElement(Dropdown$2, {
|
|
2683
|
+
buttonStyle: "text",
|
|
2684
|
+
disabled: isNotPresent(segment.id),
|
|
2685
|
+
icon: MenuHorizontal,
|
|
2686
|
+
size: "small"
|
|
2687
|
+
}, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
2688
|
+
onClick: function onClick() {
|
|
2689
|
+
setIsEditing(true);
|
|
2690
|
+
resetForm();
|
|
2691
|
+
}
|
|
2692
|
+
}, t("neetoFilters.common.rename")), /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
2693
|
+
onClick: function onClick() {
|
|
2694
|
+
return setIsDeleteAlertOpen(true);
|
|
2695
|
+
}
|
|
2696
|
+
}, t("neetoFilters.common.delete"))))), /*#__PURE__*/React.createElement(DeleteAlert, {
|
|
2697
|
+
columns: columns,
|
|
2698
|
+
segment: segment,
|
|
2699
|
+
isOpen: isDeleteAlertOpen,
|
|
2700
|
+
onClose: function onClose() {
|
|
2701
|
+
return setIsDeleteAlertOpen(false);
|
|
2702
|
+
}
|
|
2703
|
+
}));
|
|
2704
|
+
});
|
|
2705
|
+
};
|
|
2706
|
+
var Card$1 = /*#__PURE__*/React.memo(Card);
|
|
2707
|
+
|
|
2708
|
+
var ManagePane = function ManagePane(_ref) {
|
|
2709
|
+
var isOpen = _ref.isOpen,
|
|
2710
|
+
onClose = _ref.onClose,
|
|
2711
|
+
entity = _ref.entity,
|
|
2712
|
+
columns = _ref.columns,
|
|
2713
|
+
defaultSegmentName = _ref.defaultSegmentName;
|
|
2714
|
+
var _useState = useState(""),
|
|
2715
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2716
|
+
searchTerm = _useState2[0],
|
|
2717
|
+
setSearchTerm = _useState2[1];
|
|
2718
|
+
var inputRef = useRef(null);
|
|
2719
|
+
var _useTranslation = useTranslation(),
|
|
2720
|
+
t = _useTranslation.t;
|
|
2721
|
+
var debouncedSearchTerm = useDebounce(searchTerm);
|
|
2722
|
+
var _useFetchSegments = useFetchSegments({
|
|
2723
|
+
entity: entity,
|
|
2724
|
+
searchTerm: debouncedSearchTerm
|
|
2725
|
+
}),
|
|
2726
|
+
_useFetchSegments$dat = _useFetchSegments.data,
|
|
2727
|
+
segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
|
|
2728
|
+
isLoading = _useFetchSegments.isLoading;
|
|
2729
|
+
return /*#__PURE__*/React.createElement(Pane$1, {
|
|
2730
|
+
isOpen: isOpen,
|
|
2731
|
+
onClose: onClose,
|
|
2732
|
+
initialFocusRef: inputRef
|
|
2733
|
+
}, /*#__PURE__*/React.createElement(Pane$1.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
2734
|
+
style: "h2"
|
|
2735
|
+
}, t("neetoFilters.segments.manageSegments"))), /*#__PURE__*/React.createElement(Pane$1.Body, {
|
|
2736
|
+
className: "max-h-full gap-4 overflow-scroll"
|
|
2737
|
+
}, /*#__PURE__*/React.createElement(Search, {
|
|
2738
|
+
className: "w-full flex-grow-0",
|
|
2739
|
+
placeholder: t("neetoFilters.segments.searchSegments"),
|
|
2740
|
+
ref: inputRef,
|
|
2741
|
+
onSearch: function onSearch(value) {
|
|
2742
|
+
return setSearchTerm(value);
|
|
2743
|
+
}
|
|
2744
|
+
}), isLoading ? /*#__PURE__*/React.createElement(Spinner, {
|
|
2745
|
+
className: "mx-auto mt-4"
|
|
2746
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Card$1, {
|
|
2747
|
+
segment: {
|
|
2748
|
+
name: defaultSegmentName
|
|
2749
|
+
}
|
|
2750
|
+
}), isEmpty(segments) ? /*#__PURE__*/React.createElement(Typography, {
|
|
2751
|
+
className: "mx-auto",
|
|
2752
|
+
style: "body2"
|
|
2753
|
+
}, t("neetoFilters.segments.noSegmentsFound")) : segments.map(function (segment) {
|
|
2754
|
+
return /*#__PURE__*/React.createElement(Card$1, {
|
|
2755
|
+
columns: columns,
|
|
2756
|
+
defaultSegmentName: defaultSegmentName,
|
|
2757
|
+
segment: segment,
|
|
2758
|
+
key: segment.id
|
|
2759
|
+
});
|
|
2760
|
+
}))));
|
|
2761
|
+
};
|
|
2762
|
+
|
|
2763
|
+
var ITEMS_MAX_COUNT = 20;
|
|
2764
|
+
|
|
2765
|
+
var MenuBlocks = function MenuBlocks(_ref) {
|
|
3866
2766
|
var entity = _ref.entity,
|
|
3867
2767
|
columns = _ref.columns,
|
|
3868
|
-
|
|
3869
|
-
|
|
2768
|
+
defaultSegmentName = _ref.defaultSegmentName;
|
|
2769
|
+
var _useState = useState(false),
|
|
2770
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2771
|
+
showAll = _useState2[0],
|
|
2772
|
+
setShowAll = _useState2[1];
|
|
2773
|
+
var history = useHistory();
|
|
3870
2774
|
var _useTranslation = useTranslation(),
|
|
3871
2775
|
t = _useTranslation.t;
|
|
3872
|
-
var
|
|
2776
|
+
var _getQueryParams = getQueryParams(),
|
|
2777
|
+
segmentId = _getQueryParams.segmentId;
|
|
2778
|
+
var appliedFilters = buildFiltersFromURL(columns);
|
|
3873
2779
|
var _useFetchSegments = useFetchSegments({
|
|
3874
2780
|
entity: entity
|
|
3875
2781
|
}),
|
|
3876
2782
|
_useFetchSegments$dat = _useFetchSegments.data,
|
|
3877
2783
|
segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
|
|
3878
2784
|
isLoading = _useFetchSegments.isLoading;
|
|
3879
|
-
var _useUpdateSegment = useUpdateSegment(),
|
|
3880
|
-
updateSegment = _useUpdateSegment.mutate,
|
|
3881
|
-
isUpdating = _useUpdateSegment.isLoading;
|
|
3882
|
-
var _useState = useState({
|
|
3883
|
-
action: "",
|
|
3884
|
-
segment: undefined
|
|
3885
|
-
}),
|
|
3886
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
3887
|
-
confirmAction = _useState2[0],
|
|
3888
|
-
setConfirmAction = _useState2[1];
|
|
3889
2785
|
var clearAppliedFilters = function clearAppliedFilters() {
|
|
3890
2786
|
var _filters$, _filters$2;
|
|
3891
2787
|
var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : appliedFilters;
|
|
@@ -3900,7 +2796,7 @@ var useSegments = function useSegments(_ref) {
|
|
|
3900
2796
|
})
|
|
3901
2797
|
});
|
|
3902
2798
|
};
|
|
3903
|
-
var
|
|
2799
|
+
var applySelectedSegment = function applySelectedSegment(_ref2) {
|
|
3904
2800
|
var _filters$3;
|
|
3905
2801
|
var id = _ref2.id,
|
|
3906
2802
|
filters = _ref2.filters;
|
|
@@ -3912,6 +2808,14 @@ var useSegments = function useSegments(_ref) {
|
|
|
3912
2808
|
})
|
|
3913
2809
|
});
|
|
3914
2810
|
};
|
|
2811
|
+
var handleSelectSegment = function handleSelectSegment(_ref3) {
|
|
2812
|
+
var id = _ref3.id,
|
|
2813
|
+
filters = _ref3.filters;
|
|
2814
|
+
return equals(id, segmentId) ? clearAppliedFilters(filters) : applySelectedSegment({
|
|
2815
|
+
id: id,
|
|
2816
|
+
filters: filters
|
|
2817
|
+
});
|
|
2818
|
+
};
|
|
3915
2819
|
if (isLoading) {
|
|
3916
2820
|
return /*#__PURE__*/React.createElement(Spinner, null);
|
|
3917
2821
|
}
|
|
@@ -3920,136 +2824,6 @@ var useSegments = function useSegments(_ref) {
|
|
|
3920
2824
|
style: "body2"
|
|
3921
2825
|
}, t("neetoFilters.segments.noSegmentsFound"));
|
|
3922
2826
|
}
|
|
3923
|
-
var handleUpdate = function handleUpdate(_ref3, _ref4) {
|
|
3924
|
-
var name = _ref3.name;
|
|
3925
|
-
var setFieldError = _ref4.setFieldError;
|
|
3926
|
-
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
3927
|
-
updateSegment({
|
|
3928
|
-
id: confirmAction.segment.id,
|
|
3929
|
-
payload: {
|
|
3930
|
-
name: name,
|
|
3931
|
-
filters: filtersPayload
|
|
3932
|
-
},
|
|
3933
|
-
showToastr: false
|
|
3934
|
-
}, {
|
|
3935
|
-
onSuccess: function onSuccess() {
|
|
3936
|
-
showThumbsUpToastr();
|
|
3937
|
-
setConfirmAction({
|
|
3938
|
-
action: "",
|
|
3939
|
-
segment: undefined
|
|
3940
|
-
});
|
|
3941
|
-
},
|
|
3942
|
-
onError: function onError(error) {
|
|
3943
|
-
return setFieldError("name", error.response.data.error);
|
|
3944
|
-
}
|
|
3945
|
-
});
|
|
3946
|
-
};
|
|
3947
|
-
var filters = buildFiltersFromSearchParams(columns);
|
|
3948
|
-
return {
|
|
3949
|
-
segments: segments,
|
|
3950
|
-
clearAppliedFilters: clearAppliedFilters,
|
|
3951
|
-
handleSelectSegment: handleSelectSegment,
|
|
3952
|
-
setConfirmAction: setConfirmAction,
|
|
3953
|
-
isUpdating: isUpdating,
|
|
3954
|
-
handleUpdate: handleUpdate,
|
|
3955
|
-
filters: filters,
|
|
3956
|
-
onClose: function onClose() {
|
|
3957
|
-
return setConfirmAction({
|
|
3958
|
-
action: "",
|
|
3959
|
-
segment: undefined
|
|
3960
|
-
});
|
|
3961
|
-
},
|
|
3962
|
-
selectedSegment: confirmAction.segment,
|
|
3963
|
-
isDeleteAlertOpen: confirmAction.action === SEGMENT_ACTIONS.DELETE,
|
|
3964
|
-
isEditPaneOpen: confirmAction.action === SEGMENT_ACTIONS.EDIT
|
|
3965
|
-
};
|
|
3966
|
-
};
|
|
3967
|
-
|
|
3968
|
-
var Segment = function Segment(_ref) {
|
|
3969
|
-
var id = _ref.id,
|
|
3970
|
-
isActive = _ref.isActive,
|
|
3971
|
-
label = _ref.label,
|
|
3972
|
-
onClick = _ref.onClick,
|
|
3973
|
-
_ref$shouldShowDropdo = _ref.shouldShowDropdown,
|
|
3974
|
-
shouldShowDropdown = _ref$shouldShowDropdo === void 0 ? false : _ref$shouldShowDropdo,
|
|
3975
|
-
segments = _ref.segments,
|
|
3976
|
-
setConfirmAction = _ref.setConfirmAction;
|
|
3977
|
-
var _useTranslation = useTranslation(),
|
|
3978
|
-
t = _useTranslation.t;
|
|
3979
|
-
var menuItems = [{
|
|
3980
|
-
key: "edit",
|
|
3981
|
-
label: t("neetoFilters.common.edit"),
|
|
3982
|
-
onClick: function onClick() {
|
|
3983
|
-
return setConfirmAction({
|
|
3984
|
-
action: SEGMENT_ACTIONS.EDIT,
|
|
3985
|
-
segment: findById(id, segments)
|
|
3986
|
-
});
|
|
3987
|
-
}
|
|
3988
|
-
}, {
|
|
3989
|
-
key: "delete",
|
|
3990
|
-
label: t("neetoFilters.common.delete"),
|
|
3991
|
-
onClick: function onClick() {
|
|
3992
|
-
return setConfirmAction({
|
|
3993
|
-
action: SEGMENT_ACTIONS.DELETE,
|
|
3994
|
-
segment: findById(id, segments)
|
|
3995
|
-
});
|
|
3996
|
-
}
|
|
3997
|
-
}];
|
|
3998
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
3999
|
-
onClick: onClick,
|
|
4000
|
-
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", {
|
|
4001
|
-
"neeto-filters-segment--active": isActive
|
|
4002
|
-
})
|
|
4003
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
4004
|
-
className: "flex flex-grow items-center gap-2 overflow-hidden",
|
|
4005
|
-
"data-cy": "new-element-field"
|
|
4006
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
4007
|
-
className: "truncate leading-snug",
|
|
4008
|
-
"data-cy": hyphenate(label),
|
|
4009
|
-
style: "body2"
|
|
4010
|
-
}, label)), shouldShowDropdown && /*#__PURE__*/React.createElement(MoreDropdown, {
|
|
4011
|
-
menuItems: menuItems,
|
|
4012
|
-
dropdownButtonProps: {
|
|
4013
|
-
className: "min-h-0 flex-shrink-0",
|
|
4014
|
-
"data-cy": "".concat(hyphenate(label), "-more-dropdown")
|
|
4015
|
-
}
|
|
4016
|
-
}));
|
|
4017
|
-
};
|
|
4018
|
-
|
|
4019
|
-
var MenuBlocks = function MenuBlocks(_ref) {
|
|
4020
|
-
var entity = _ref.entity,
|
|
4021
|
-
columns = _ref.columns,
|
|
4022
|
-
defaultSegmentName = _ref.defaultSegmentName,
|
|
4023
|
-
childrenKeys = _ref.childrenKeys,
|
|
4024
|
-
customFilters = _ref.customFilters;
|
|
4025
|
-
var _useTranslation = useTranslation(),
|
|
4026
|
-
t = _useTranslation.t;
|
|
4027
|
-
var segmentFormInitialRef = useRef(null);
|
|
4028
|
-
var _useState = useState(false),
|
|
4029
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
4030
|
-
showAll = _useState2[0],
|
|
4031
|
-
setShowAll = _useState2[1];
|
|
4032
|
-
var _getQueryParams = getQueryParams(),
|
|
4033
|
-
segmentId = _getQueryParams.segmentId;
|
|
4034
|
-
var appliedFilters = buildFiltersFromURL(columns);
|
|
4035
|
-
var _useSegments = useSegments({
|
|
4036
|
-
entity: entity,
|
|
4037
|
-
columns: columns,
|
|
4038
|
-
appliedFilters: appliedFilters,
|
|
4039
|
-
childrenKeys: childrenKeys
|
|
4040
|
-
}),
|
|
4041
|
-
_useSegments$segments = _useSegments.segments,
|
|
4042
|
-
segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
|
|
4043
|
-
clearAppliedFilters = _useSegments.clearAppliedFilters,
|
|
4044
|
-
handleSelectSegment = _useSegments.handleSelectSegment,
|
|
4045
|
-
onClose = _useSegments.onClose,
|
|
4046
|
-
setConfirmAction = _useSegments.setConfirmAction,
|
|
4047
|
-
selectedSegment = _useSegments.selectedSegment,
|
|
4048
|
-
isDeleteAlertOpen = _useSegments.isDeleteAlertOpen,
|
|
4049
|
-
isEditPaneOpen = _useSegments.isEditPaneOpen,
|
|
4050
|
-
isUpdating = _useSegments.isUpdating,
|
|
4051
|
-
handleUpdate = _useSegments.handleUpdate,
|
|
4052
|
-
filters = _useSegments.filters;
|
|
4053
2827
|
return /*#__PURE__*/React.createElement(React.Fragment, null, segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React.createElement(Button, {
|
|
4054
2828
|
icon: Down,
|
|
4055
2829
|
style: "link",
|
|
@@ -4061,67 +2835,71 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
4061
2835
|
return !open;
|
|
4062
2836
|
});
|
|
4063
2837
|
}
|
|
4064
|
-
}), /*#__PURE__*/React.createElement(
|
|
4065
|
-
|
|
2838
|
+
}), /*#__PURE__*/React.createElement(MenuBar.Block, {
|
|
2839
|
+
active: isEmpty(appliedFilters),
|
|
4066
2840
|
label: defaultSegmentName,
|
|
4067
2841
|
onClick: clearAppliedFilters
|
|
4068
2842
|
}), segments.slice(0, showAll ? segments.length : ITEMS_MAX_COUNT).map(function (segment) {
|
|
4069
|
-
return /*#__PURE__*/React.createElement(
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
shouldShowDropdown: true,
|
|
4073
|
-
id: segment.id,
|
|
4074
|
-
isActive: segment.id === segmentId,
|
|
2843
|
+
return /*#__PURE__*/React.createElement(MenuBar.Block, {
|
|
2844
|
+
active: segment.id === segmentId,
|
|
2845
|
+
count: segment.count,
|
|
4075
2846
|
key: segment.id,
|
|
4076
2847
|
label: segment.name,
|
|
4077
2848
|
onClick: function onClick() {
|
|
4078
2849
|
return handleSelectSegment(segment);
|
|
4079
2850
|
}
|
|
4080
2851
|
});
|
|
4081
|
-
}), /*#__PURE__*/React.createElement(SegmentForm, {
|
|
4082
|
-
childrenKeys: childrenKeys,
|
|
4083
|
-
columns: columns,
|
|
4084
|
-
customFilters: customFilters,
|
|
4085
|
-
defaultSegmentName: defaultSegmentName,
|
|
4086
|
-
filters: filters,
|
|
4087
|
-
onClose: onClose,
|
|
4088
|
-
segmentFormInitialRef: segmentFormInitialRef,
|
|
4089
|
-
isEdit: true,
|
|
4090
|
-
handleSubmit: handleUpdate,
|
|
4091
|
-
initialValues: selectedSegment,
|
|
4092
|
-
isOpen: isEditPaneOpen,
|
|
4093
|
-
isSubmitting: isUpdating
|
|
4094
|
-
}), /*#__PURE__*/React.createElement(Delete, {
|
|
4095
|
-
columns: columns,
|
|
4096
|
-
onClose: onClose,
|
|
4097
|
-
isOpen: isDeleteAlertOpen,
|
|
4098
|
-
segment: selectedSegment
|
|
4099
2852
|
}));
|
|
4100
2853
|
};
|
|
4101
2854
|
var MenuBlocks$1 = /*#__PURE__*/React.memo(MenuBlocks);
|
|
4102
2855
|
|
|
4103
|
-
var Segments =
|
|
4104
|
-
var
|
|
4105
|
-
entity = _ref.entity,
|
|
2856
|
+
var Segments = function Segments(_ref) {
|
|
2857
|
+
var entity = _ref.entity,
|
|
4106
2858
|
columns = _ref.columns,
|
|
2859
|
+
_ref$setIsFilterPaneO = _ref.setIsFilterPaneOpen,
|
|
2860
|
+
setIsFilterPaneOpen = _ref$setIsFilterPaneO === void 0 ? noop : _ref$setIsFilterPaneO,
|
|
4107
2861
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
4108
|
-
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t("neetoFilters.common.allResults") : _ref$defaultSegmentNa
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
2862
|
+
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t$1("neetoFilters.common.allResults") : _ref$defaultSegmentNa;
|
|
2863
|
+
return function () {
|
|
2864
|
+
var _useState = useState(false),
|
|
2865
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2866
|
+
isSegmentsPaneOpen = _useState2[0],
|
|
2867
|
+
setIsSegmentsPaneOpen = _useState2[1];
|
|
2868
|
+
var _useTranslation = useTranslation(),
|
|
2869
|
+
t = _useTranslation.t;
|
|
2870
|
+
var iconProps = [{
|
|
2871
|
+
icon: Settings,
|
|
2872
|
+
onClick: function onClick() {
|
|
2873
|
+
setIsFilterPaneOpen(false);
|
|
2874
|
+
setIsSegmentsPaneOpen(true);
|
|
2875
|
+
},
|
|
2876
|
+
tooltipProps: {
|
|
2877
|
+
content: t("neetoFilters.segments.manageSegments"),
|
|
2878
|
+
position: "top"
|
|
2879
|
+
}
|
|
2880
|
+
}];
|
|
2881
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, {
|
|
2882
|
+
iconProps: iconProps
|
|
2883
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
2884
|
+
component: "h4",
|
|
2885
|
+
style: "h5",
|
|
2886
|
+
textTransform: "uppercase",
|
|
2887
|
+
weight: "bold"
|
|
2888
|
+
}, t("neetoFilters.common.segments"))), /*#__PURE__*/React.createElement(MenuBlocks$1, {
|
|
2889
|
+
columns: columns,
|
|
2890
|
+
defaultSegmentName: defaultSegmentName,
|
|
2891
|
+
entity: entity
|
|
2892
|
+
}), /*#__PURE__*/React.createElement(ManagePane, {
|
|
2893
|
+
columns: columns,
|
|
2894
|
+
defaultSegmentName: defaultSegmentName,
|
|
2895
|
+
entity: entity,
|
|
2896
|
+
isOpen: isSegmentsPaneOpen,
|
|
2897
|
+
onClose: function onClose() {
|
|
2898
|
+
return setIsSegmentsPaneOpen(false);
|
|
2899
|
+
}
|
|
2900
|
+
}));
|
|
2901
|
+
}();
|
|
2902
|
+
};
|
|
4125
2903
|
var index = /*#__PURE__*/React.memo(Segments);
|
|
4126
2904
|
|
|
4127
2905
|
export { Bar, Filters, index as Segments, buildFilterColumnsFromFields, buildFiltersFromURL, buildSelectorsFromURL, buildUrlFromFilters, buildUrlFromSegment, useDestroySegment, useFetchSegments, useUpdateSegment };
|