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