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