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