@bigbinary/neeto-filters-frontend 3.2.3 → 3.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/app/javascript/src/translations/en.json +13 -6
- package/dist/index.cjs.js +2174 -1672
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +2072 -1571
- package/dist/index.js.map +1 -1
- package/package.json +10 -8
- package/types.d.ts +42 -26
package/dist/index.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.split(",")
|
|
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,7 +1013,7 @@ 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
|
});
|
|
@@ -975,272 +1021,923 @@ var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(col
|
|
|
975
1021
|
var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
|
|
976
1022
|
return ramda.not(ramda.isEmpty(keyworFilter.node));
|
|
977
1023
|
};
|
|
1024
|
+
var isNilOrEmpty = function isNilOrEmpty(param) {
|
|
1025
|
+
return ramda.isNil(param) || ramda.isEmpty(param);
|
|
1026
|
+
};
|
|
978
1027
|
|
|
979
|
-
var
|
|
980
|
-
var
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
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
|
+
});
|
|
986
1038
|
}
|
|
987
|
-
return
|
|
1039
|
+
return neetoCist.findBy({
|
|
1040
|
+
value: filter.value
|
|
1041
|
+
}, options);
|
|
988
1042
|
};
|
|
989
|
-
var
|
|
1043
|
+
var buildSingleTimeValue = function buildSingleTimeValue(filter) {
|
|
990
1044
|
var _findBy2;
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
value
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
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();
|
|
999
1059
|
}));
|
|
1000
|
-
if (
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
} else if (isDate(defaultType) || isTime(defaultType)) {
|
|
1005
|
-
return neetoCist.humanize(value);
|
|
1006
|
-
} else if (isMulti(defaultType)) {
|
|
1007
|
-
return value.map(function (value) {
|
|
1008
|
-
var _findBy;
|
|
1009
|
-
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({
|
|
1010
1064
|
value: value
|
|
1011
|
-
},
|
|
1012
|
-
})
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
} else if (isSingleTime(defaultType)) {
|
|
1016
|
-
return rule === "between" ? value.map(utils.dateFormat.time).join(" - ") : utils.dateFormat.time(value);
|
|
1017
|
-
} else if (isBoolean(defaultType)) {
|
|
1018
|
-
return getLabelFromBool({
|
|
1019
|
-
value: value,
|
|
1020
|
-
values: values
|
|
1065
|
+
}, options) || neetoCist.toLabelAndValue(value);
|
|
1066
|
+
});
|
|
1067
|
+
var nonSelectedOptions = options.filter(function (option) {
|
|
1068
|
+
return !filter.value.includes(option.value);
|
|
1021
1069
|
});
|
|
1070
|
+
return ramda.concat(selectedOptions, nonSelectedOptions);
|
|
1022
1071
|
}
|
|
1023
|
-
|
|
1024
|
-
value: value
|
|
1025
|
-
},
|
|
1072
|
+
if (!neetoCist.findBy({
|
|
1073
|
+
value: filter.value
|
|
1074
|
+
}, options)) {
|
|
1075
|
+
return ramda.append(neetoCist.toLabelAndValue(filter.value), options);
|
|
1076
|
+
}
|
|
1077
|
+
return options;
|
|
1026
1078
|
};
|
|
1027
|
-
var
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
return neetoCist.findBy({
|
|
1036
|
-
value: rule
|
|
1037
|
-
}, NUMBER_RULES).label;
|
|
1038
|
-
} else if (isSingleDate(defaultType)) {
|
|
1039
|
-
return neetoCist.findBy({
|
|
1040
|
-
value: rule
|
|
1041
|
-
}, SINGLE_DATE_OPTIONS).label;
|
|
1042
|
-
} else if (isSingleTime(defaultType)) {
|
|
1043
|
-
return neetoCist.findBy({
|
|
1044
|
-
value: rule
|
|
1045
|
-
}, 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;
|
|
1046
1087
|
}
|
|
1047
|
-
|
|
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");
|
|
1048
1092
|
};
|
|
1049
|
-
var
|
|
1050
|
-
|
|
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);
|
|
1051
1107
|
};
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
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();
|
|
1075
1130
|
});
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1131
|
+
};
|
|
1132
|
+
|
|
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");
|
|
1136
|
+
};
|
|
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);
|
|
1143
|
+
};
|
|
1144
|
+
var isRuleEmpty = function isRuleEmpty(rule) {
|
|
1145
|
+
return ramda.equals(rule, "is_unknown");
|
|
1146
|
+
};
|
|
1147
|
+
|
|
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
|
|
1080
1166
|
});
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
tabIndex: 0,
|
|
1090
|
-
ref: function ref(node) {
|
|
1091
|
-
deleteBlockHotKeyRef.current = node;
|
|
1092
|
-
openFilterPaneHotKeyRef.current = node;
|
|
1093
|
-
},
|
|
1094
|
-
onClick: function onClick() {
|
|
1095
|
-
return setIsPaneOpen(key);
|
|
1167
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1168
|
+
t = _useTranslation.t;
|
|
1169
|
+
var handleChange = function handleChange(option) {
|
|
1170
|
+
if (ramda.isEmpty(option) || ramda.isNil(option)) {
|
|
1171
|
+
handleApplyFilter({
|
|
1172
|
+
_delete: true
|
|
1173
|
+
});
|
|
1174
|
+
return;
|
|
1096
1175
|
}
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
className: "neeto-filters-
|
|
1106
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1176
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1177
|
+
column: column,
|
|
1178
|
+
defaultType: defaultType,
|
|
1179
|
+
option: option
|
|
1180
|
+
});
|
|
1181
|
+
handleApplyFilter(updatedFilter);
|
|
1182
|
+
};
|
|
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)
|
|
1113
1194
|
}
|
|
1114
|
-
}
|
|
1195
|
+
}, {
|
|
1196
|
+
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
1197
|
+
strategy: "fixed",
|
|
1198
|
+
placeholder: t("neetoFilters.messages.selectOption", {
|
|
1199
|
+
resource: label
|
|
1200
|
+
}),
|
|
1201
|
+
onChange: handleChange
|
|
1202
|
+
}, otherProps)));
|
|
1115
1203
|
};
|
|
1204
|
+
var Boolean$1 = /*#__PURE__*/React__default["default"].memo(Boolean);
|
|
1116
1205
|
|
|
1117
|
-
var
|
|
1118
|
-
var
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
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
|
|
1229
|
+
});
|
|
1230
|
+
setSelectedRule({});
|
|
1231
|
+
return;
|
|
1232
|
+
}
|
|
1233
|
+
setSelectedRule(option);
|
|
1234
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1235
|
+
column: column,
|
|
1236
|
+
defaultType: defaultType,
|
|
1237
|
+
option: option
|
|
1238
|
+
});
|
|
1239
|
+
handleApplyFilter(updatedFilter);
|
|
1240
|
+
};
|
|
1241
|
+
var handleDateRangeChange = function handleDateRangeChange(dates) {
|
|
1242
|
+
if (ramda.isEmpty(dates) || ramda.isNil(dates)) {
|
|
1243
|
+
handleApplyFilter({
|
|
1244
|
+
_delete: true
|
|
1245
|
+
});
|
|
1246
|
+
setSelectedRule({});
|
|
1247
|
+
return;
|
|
1248
|
+
}
|
|
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();
|
|
1255
|
+
})
|
|
1256
|
+
}
|
|
1257
|
+
});
|
|
1258
|
+
handleApplyFilter(updatedFilter);
|
|
1259
|
+
};
|
|
1260
|
+
React.useEffect(function () {
|
|
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)
|
|
1279
|
+
}
|
|
1123
1280
|
}, {
|
|
1124
|
-
|
|
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)));
|
|
1289
|
+
};
|
|
1290
|
+
var Datetime$1 = /*#__PURE__*/React__default["default"].memo(Datetime);
|
|
1291
|
+
|
|
1292
|
+
var Dropdown = function Dropdown(_ref) {
|
|
1293
|
+
var column = _ref.column,
|
|
1294
|
+
filter = _ref.filter,
|
|
1295
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1296
|
+
autoFocus = _ref.autoFocus,
|
|
1297
|
+
filters = _ref.filters;
|
|
1298
|
+
var key = column.key,
|
|
1299
|
+
label = column.label,
|
|
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,
|
|
1308
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1309
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1310
|
+
var otherProps = getOtherProps(column);
|
|
1311
|
+
var options = buildDropdownOptions({
|
|
1312
|
+
defaultType: defaultType,
|
|
1313
|
+
filter: filter,
|
|
1314
|
+
options: values
|
|
1125
1315
|
});
|
|
1126
|
-
var
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1316
|
+
var dropdownRules = isMulti(defaultType) ? MULTI_DROPDOWN_RULES : SINGLE_DROPDOWN_RULES;
|
|
1317
|
+
var value = buildDropdownValue({
|
|
1318
|
+
defaultType: defaultType,
|
|
1319
|
+
filter: filter,
|
|
1320
|
+
options: options
|
|
1130
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];
|
|
1328
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
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
|
+
};
|
|
1354
|
+
var handleChange = function handleChange(option) {
|
|
1355
|
+
if (ramda.isEmpty(option) || ramda.isNil(option)) {
|
|
1356
|
+
handleApplyFilter({
|
|
1357
|
+
_delete: true
|
|
1358
|
+
});
|
|
1359
|
+
return;
|
|
1360
|
+
}
|
|
1361
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1362
|
+
column: column,
|
|
1363
|
+
defaultType: defaultType,
|
|
1364
|
+
option: option,
|
|
1365
|
+
rule: selectedRule.value
|
|
1366
|
+
});
|
|
1367
|
+
handleApplyFilter(updatedFilter);
|
|
1368
|
+
};
|
|
1369
|
+
React.useEffect(function () {
|
|
1370
|
+
if (!ramda.isEmpty(filters)) return;
|
|
1371
|
+
setSelectedRule(dropdownRules[0]);
|
|
1372
|
+
}, [filters]);
|
|
1131
1373
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1132
|
-
className: "neeto-filters-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1374
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1375
|
+
}, showRuleSelector && /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
|
|
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,
|
|
1383
|
+
options: options,
|
|
1384
|
+
value: value,
|
|
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
|
+
})
|
|
1393
|
+
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1394
|
+
labelProps: {
|
|
1395
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1141
1396
|
}
|
|
1142
|
-
},
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1397
|
+
}, {
|
|
1398
|
+
onChange: handleChange
|
|
1399
|
+
}, otherProps)));
|
|
1400
|
+
};
|
|
1401
|
+
var Dropdown$1 = /*#__PURE__*/React__default["default"].memo(Dropdown);
|
|
1402
|
+
|
|
1403
|
+
var SingleDatetime = function SingleDatetime(_ref) {
|
|
1404
|
+
var column = _ref.column,
|
|
1405
|
+
filter = _ref.filter,
|
|
1406
|
+
filters = _ref.filters,
|
|
1407
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1408
|
+
autoFocus = _ref.autoFocus;
|
|
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
|
+
}),
|
|
1414
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1415
|
+
selectedRule = _useState2[0],
|
|
1416
|
+
setSelectedRule = _useState2[1];
|
|
1417
|
+
var key = column.key,
|
|
1418
|
+
_column$defaultType = column.defaultType,
|
|
1419
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1420
|
+
label = column.label,
|
|
1421
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1422
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1423
|
+
var otherProps = getOtherProps(column);
|
|
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 = "";
|
|
1439
|
+
}
|
|
1440
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1441
|
+
column: column,
|
|
1442
|
+
defaultType: defaultType,
|
|
1443
|
+
option: {},
|
|
1444
|
+
rule: ruleOption.value,
|
|
1445
|
+
value: updateValue
|
|
1446
|
+
});
|
|
1447
|
+
handleApplyFilter(updatedFilter);
|
|
1448
|
+
};
|
|
1449
|
+
var handleChange = function handleChange(dates) {
|
|
1450
|
+
if (ramda.isEmpty(dates) || ramda.isNil(dates)) {
|
|
1451
|
+
handleApplyFilter({
|
|
1452
|
+
_delete: true
|
|
1453
|
+
});
|
|
1454
|
+
return;
|
|
1455
|
+
}
|
|
1456
|
+
var value = datePickerType === "range" ? ramda.pluck("$d", dates).map(function (date) {
|
|
1457
|
+
return date.toISOString();
|
|
1458
|
+
}) : dates["$d"];
|
|
1459
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1460
|
+
column: column,
|
|
1461
|
+
defaultType: defaultType,
|
|
1462
|
+
option: {},
|
|
1463
|
+
rule: selectedRule.value,
|
|
1464
|
+
value: value
|
|
1465
|
+
});
|
|
1466
|
+
handleApplyFilter(updatedFilter);
|
|
1467
|
+
};
|
|
1468
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1469
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1470
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
1471
|
+
label: label,
|
|
1472
|
+
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter-rule"),
|
|
1473
|
+
defaultValue: SINGLE_DATE_OPTIONS[0],
|
|
1474
|
+
options: SINGLE_DATE_OPTIONS,
|
|
1475
|
+
strategy: "fixed",
|
|
1476
|
+
value: selectedRule
|
|
1477
|
+
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1478
|
+
labelProps: {
|
|
1479
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1480
|
+
}
|
|
1481
|
+
}, {
|
|
1482
|
+
onChange: handleRuleChange
|
|
1483
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({
|
|
1484
|
+
autoFocus: autoFocus,
|
|
1485
|
+
value: value,
|
|
1486
|
+
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
1487
|
+
getPopupContainer: ramda.prop("parentNode"),
|
|
1488
|
+
type: datePickerType,
|
|
1489
|
+
onChange: handleChange
|
|
1490
|
+
}, otherProps)));
|
|
1491
|
+
};
|
|
1492
|
+
|
|
1493
|
+
var SingleTime = function SingleTime(_ref) {
|
|
1494
|
+
var column = _ref.column,
|
|
1495
|
+
filter = _ref.filter,
|
|
1496
|
+
filters = _ref.filters,
|
|
1497
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1498
|
+
autoFocus = _ref.autoFocus;
|
|
1499
|
+
var _useState = React.useState(function () {
|
|
1500
|
+
return neetoCist.findBy({
|
|
1501
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1502
|
+
}, SINGLE_TIME_OPTIONS) || SINGLE_TIME_OPTIONS[0];
|
|
1503
|
+
}),
|
|
1504
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1505
|
+
selectedRule = _useState2[0],
|
|
1506
|
+
setSelectedRule = _useState2[1];
|
|
1507
|
+
var key = column.key,
|
|
1508
|
+
_column$defaultType = column.defaultType,
|
|
1509
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1510
|
+
label = column.label,
|
|
1511
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1512
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1513
|
+
var otherProps = getOtherProps(column);
|
|
1514
|
+
var timePickerType = selectedRule.value === "between" ? "range" : "time";
|
|
1515
|
+
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
1516
|
+
React.useEffect(function () {
|
|
1517
|
+
if (!ramda.isEmpty(filters)) return;
|
|
1518
|
+
setSelectedRule(SINGLE_TIME_OPTIONS[0]);
|
|
1519
|
+
}, [filters]);
|
|
1520
|
+
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1521
|
+
setSelectedRule(ruleOption);
|
|
1522
|
+
|
|
1523
|
+
// Clear value if switched between incompatible types
|
|
1524
|
+
var updateValue = value;
|
|
1525
|
+
if (timePickerType === "range" && ruleOption.value !== "between" || timePickerType === "time" && ruleOption.value === "between") {
|
|
1526
|
+
updateValue = "";
|
|
1527
|
+
}
|
|
1528
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1529
|
+
column: column,
|
|
1530
|
+
defaultType: defaultType,
|
|
1531
|
+
option: {},
|
|
1532
|
+
rule: ruleOption.value,
|
|
1533
|
+
value: updateValue
|
|
1534
|
+
});
|
|
1535
|
+
handleApplyFilter(updatedFilter);
|
|
1536
|
+
};
|
|
1537
|
+
var handleChange = function handleChange(times) {
|
|
1538
|
+
if (hasInvalidTimes(times)) {
|
|
1539
|
+
handleApplyFilter({
|
|
1540
|
+
_delete: true
|
|
1541
|
+
});
|
|
1542
|
+
return;
|
|
1543
|
+
}
|
|
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();
|
|
1550
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1551
|
+
column: column,
|
|
1552
|
+
defaultType: defaultType,
|
|
1553
|
+
option: {},
|
|
1554
|
+
rule: selectedRule.value,
|
|
1555
|
+
value: value
|
|
1556
|
+
});
|
|
1557
|
+
handleApplyFilter(updatedFilter);
|
|
1558
|
+
};
|
|
1559
|
+
var formattedTime = formatTime(value, timePickerType);
|
|
1560
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1561
|
+
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1562
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
1563
|
+
label: label,
|
|
1564
|
+
defaultValue: SINGLE_TIME_OPTIONS[0],
|
|
1565
|
+
options: SINGLE_TIME_OPTIONS,
|
|
1566
|
+
strategy: "fixed",
|
|
1567
|
+
value: selectedRule
|
|
1568
|
+
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1569
|
+
labelProps: {
|
|
1570
|
+
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1571
|
+
}
|
|
1572
|
+
}, {
|
|
1573
|
+
onChange: handleRuleChange
|
|
1574
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoui.TimePickerInput, _extends({
|
|
1575
|
+
autoFocus: autoFocus,
|
|
1576
|
+
className: "w-full",
|
|
1577
|
+
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
1578
|
+
type: timePickerType,
|
|
1579
|
+
value: formattedTime,
|
|
1580
|
+
onChange: handleChange
|
|
1581
|
+
}, otherProps)));
|
|
1582
|
+
};
|
|
1583
|
+
|
|
1584
|
+
var Text = function Text(_ref) {
|
|
1585
|
+
var column = _ref.column,
|
|
1586
|
+
filter = _ref.filter,
|
|
1587
|
+
filters = _ref.filters,
|
|
1588
|
+
handleApplyFilter = _ref.handleApplyFilter,
|
|
1589
|
+
autoFocus = _ref.autoFocus,
|
|
1590
|
+
onClose = _ref.onClose;
|
|
1591
|
+
var key = column.key,
|
|
1592
|
+
_column$defaultType = column.defaultType,
|
|
1593
|
+
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1594
|
+
label = column.label,
|
|
1595
|
+
_column$showRuleSelec = column.showRuleSelector,
|
|
1596
|
+
showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
|
|
1597
|
+
_column$helpIconProps = column.helpIconProps,
|
|
1598
|
+
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1599
|
+
var otherProps = getOtherProps(column);
|
|
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
|
+
};
|
|
1637
|
+
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1638
|
+
setSelectedRule(ruleOption);
|
|
1639
|
+
if (!debouncedInputValue) return;
|
|
1640
|
+
handleUpdateAndApplyFilter(debouncedInputValue, ruleOption);
|
|
1641
|
+
};
|
|
1642
|
+
|
|
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;
|
|
1713
|
+
}
|
|
1714
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1715
|
+
column: column,
|
|
1716
|
+
defaultType: defaultType,
|
|
1717
|
+
option: option
|
|
1718
|
+
});
|
|
1719
|
+
handleApplyFilter(updatedFilter);
|
|
1720
|
+
};
|
|
1721
|
+
var handleTimeRangeChange = function handleTimeRangeChange(times) {
|
|
1722
|
+
if (hasInvalidTimes(times)) {
|
|
1723
|
+
handleApplyFilter({
|
|
1724
|
+
_delete: true
|
|
1725
|
+
});
|
|
1726
|
+
return;
|
|
1727
|
+
}
|
|
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)
|
|
1154
1758
|
}
|
|
1155
|
-
}
|
|
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)));
|
|
1156
1768
|
};
|
|
1769
|
+
var Time$1 = /*#__PURE__*/React__default["default"].memo(Time);
|
|
1157
1770
|
|
|
1158
|
-
var
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
var
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
};
|
|
1173
|
-
var
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
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
|
|
1180
1851
|
});
|
|
1181
1852
|
};
|
|
1182
|
-
var destroy = function destroy(id) {
|
|
1183
|
-
return axios__default["default"]["delete"]("".concat(SEGMENTS_BASE_URL, "/").concat(id));
|
|
1184
|
-
};
|
|
1185
|
-
var segmentsApi = {
|
|
1186
|
-
fetch: fetch,
|
|
1187
|
-
show: show,
|
|
1188
|
-
create: create,
|
|
1189
|
-
update: update,
|
|
1190
|
-
destroy: destroy
|
|
1191
|
-
};
|
|
1192
1853
|
|
|
1193
|
-
var
|
|
1194
|
-
|
|
1854
|
+
var STEPS = {
|
|
1855
|
+
ADD: "add",
|
|
1856
|
+
COLUMN: "column",
|
|
1857
|
+
VALUE: "value"
|
|
1195
1858
|
};
|
|
1196
|
-
var SEGMENTS_STALE_TIME = 900000; // 15 mins
|
|
1197
1859
|
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
var
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
}
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
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
|
+
}));
|
|
1239
1936
|
};
|
|
1240
1937
|
|
|
1241
1938
|
var buildSegmentsValidationSchema = function buildSegmentsValidationSchema(defaultSegmentName) {
|
|
1242
1939
|
return yup__namespace.object({
|
|
1243
|
-
name: yup__namespace.string().trim().required().test({
|
|
1940
|
+
name: yup__namespace.string().trim().required(i18next.t("neetoFilters.segments.nameIsRequired")).test({
|
|
1244
1941
|
name: "not-default-segment-name",
|
|
1245
1942
|
test: function test(value) {
|
|
1246
1943
|
return (value === null || value === void 0 ? void 0 : value.toLocaleLowerCase()) !== defaultSegmentName.toLocaleLowerCase();
|
|
@@ -1250,1151 +1947,907 @@ var buildSegmentsValidationSchema = function buildSegmentsValidationSchema(defau
|
|
|
1250
1947
|
});
|
|
1251
1948
|
};
|
|
1252
1949
|
|
|
1253
|
-
var
|
|
1254
|
-
|
|
1255
|
-
var
|
|
1256
|
-
var
|
|
1257
|
-
|
|
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,
|
|
1258
1963
|
columns = _ref.columns,
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
var _useState = React.useState(false),
|
|
1263
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1264
|
-
isSavePaneOpen = _useState2[0],
|
|
1265
|
-
setIsSavePaneOpen = _useState2[1];
|
|
1266
|
-
var _useState3 = React.useState(false),
|
|
1267
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
1268
|
-
isUpdateAlertOpen = _useState4[0],
|
|
1269
|
-
setIsUpdateAlertOpen = _useState4[1];
|
|
1270
|
-
var inputRef = React.useRef(null);
|
|
1964
|
+
filters = _ref.filters,
|
|
1965
|
+
childrenKeys = _ref.childrenKeys;
|
|
1966
|
+
var history = reactRouterDom_min.useHistory();
|
|
1271
1967
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1272
1968
|
t = _useTranslation.t;
|
|
1273
|
-
var
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
segmentId = _getQueryParams.segmentId;
|
|
1277
|
-
var _useShowSegment = useShowSegment(segmentId, {
|
|
1278
|
-
enabled: ramda.isNotNil(segmentId)
|
|
1969
|
+
var _buildFilteredColumns = buildFilteredColumns({
|
|
1970
|
+
searchTerm: "",
|
|
1971
|
+
columns: columns
|
|
1279
1972
|
}),
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
}, {
|
|
1296
|
-
onSuccess: function onSuccess() {
|
|
1297
|
-
return setIsUpdateAlertOpen(false);
|
|
1298
|
-
}
|
|
1299
|
-
});
|
|
1300
|
-
};
|
|
1301
|
-
var handleCreateSuccess = function handleCreateSuccess(_ref2) {
|
|
1302
|
-
var _filters$;
|
|
1303
|
-
var _ref2$segment = _ref2.segment,
|
|
1304
|
-
id = _ref2$segment.id,
|
|
1305
|
-
filters = _ref2$segment.filters;
|
|
1306
|
-
history.push({
|
|
1307
|
-
search: buildUrlFromSegment({
|
|
1308
|
-
columns: columns,
|
|
1309
|
-
filters: (_filters$ = filters[0]) === null || _filters$ === void 0 ? void 0 : _filters$.conditions,
|
|
1310
|
-
id: id
|
|
1311
|
-
})
|
|
1312
|
-
});
|
|
1313
|
-
setIsSavePaneOpen(false);
|
|
1314
|
-
};
|
|
1315
|
-
var handleSubmit = function handleSubmit(_ref3) {
|
|
1316
|
-
var name = _ref3.name;
|
|
1317
|
-
return createSegment({
|
|
1318
|
-
name: name,
|
|
1319
|
-
entity: entity,
|
|
1320
|
-
filters: filtersPayload
|
|
1321
|
-
}, {
|
|
1322
|
-
onSuccess: handleCreateSuccess
|
|
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
|
|
1323
1988
|
});
|
|
1324
1989
|
};
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
setIsFilterPaneOpen(false);
|
|
1342
|
-
setIsSavePaneOpen(true);
|
|
1343
|
-
}
|
|
1344
|
-
}, t("neetoFilters.segments.saveAsNewSegment")))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
1345
|
-
initialFocusRef: inputRef,
|
|
1346
|
-
isOpen: isSavePaneOpen,
|
|
1347
|
-
onClose: function onClose() {
|
|
1348
|
-
return setIsSavePaneOpen(false);
|
|
1349
|
-
}
|
|
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
|
|
1350
2006
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
1351
2007
|
style: "h2",
|
|
1352
2008
|
weight: "semibold"
|
|
1353
|
-
}, t("neetoFilters.segments.addNewSegment"))), /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
2009
|
+
}, isEdit ? t("neetoFilters.segments.editSegment") : t("neetoFilters.segments.addNewSegment"))), /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
1354
2010
|
className: "w-full",
|
|
1355
2011
|
formProps: {
|
|
1356
2012
|
noValidate: true
|
|
1357
2013
|
},
|
|
1358
2014
|
formikProps: {
|
|
1359
|
-
initialValues:
|
|
1360
|
-
name: ""
|
|
1361
|
-
},
|
|
2015
|
+
initialValues: initialValues,
|
|
1362
2016
|
validateOnChange: true,
|
|
1363
2017
|
validateOnBlur: true,
|
|
1364
2018
|
validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
|
|
1365
2019
|
onSubmit: handleSubmit
|
|
1366
2020
|
}
|
|
1367
|
-
},
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
},
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
})))), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
|
|
1387
|
-
isOpen: isUpdateAlertOpen,
|
|
1388
|
-
isSubmitting: isUpdating,
|
|
1389
|
-
submitButtonLabel: t("neetoFilters.common.update"),
|
|
1390
|
-
title: t("neetoFilters.segments.updateSegment"),
|
|
1391
|
-
message: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
1392
|
-
i18nKey: "neetoFilters.segments.updateSegmentMessage",
|
|
1393
|
-
values: {
|
|
1394
|
-
entity: selectedSegment === null || selectedSegment === void 0 ? void 0 : selectedSegment.name
|
|
1395
|
-
}
|
|
1396
|
-
}),
|
|
1397
|
-
onClose: function onClose() {
|
|
1398
|
-
return setIsUpdateAlertOpen(false);
|
|
1399
|
-
},
|
|
1400
|
-
onSubmit: handleUpdate
|
|
1401
|
-
}));
|
|
1402
|
-
};
|
|
1403
|
-
|
|
1404
|
-
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; }
|
|
1405
|
-
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; }
|
|
1406
|
-
var Bar = function Bar(_ref) {
|
|
1407
|
-
var entity = _ref.entity,
|
|
1408
|
-
className = _ref.className,
|
|
1409
|
-
_ref$columns = _ref.columns,
|
|
1410
|
-
columns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
1411
|
-
_ref$keyword = _ref.keyword,
|
|
1412
|
-
keyword = _ref$keyword === void 0 ? {
|
|
1413
|
-
node: "",
|
|
1414
|
-
value: "",
|
|
1415
|
-
setValue: neetoCist.noop
|
|
1416
|
-
} : _ref$keyword,
|
|
1417
|
-
_ref$setIsPaneOpen = _ref.setIsPaneOpen,
|
|
1418
|
-
setIsPaneOpen = _ref$setIsPaneOpen === void 0 ? ramda.identity : _ref$setIsPaneOpen,
|
|
1419
|
-
_ref$childrenKeys = _ref.childrenKeys,
|
|
1420
|
-
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
|
|
1421
|
-
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
1422
|
-
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? i18next.t("neetoFilters.common.allResults") : _ref$defaultSegmentNa;
|
|
1423
|
-
return function () {
|
|
1424
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
1425
|
-
t = _useTranslation.t;
|
|
1426
|
-
var initialRenderRef = React.useRef(true);
|
|
1427
|
-
var searchParams = reactUtils.useQueryParams({
|
|
1428
|
-
toCamelCase: false
|
|
1429
|
-
});
|
|
1430
|
-
var keywordValue = searchParams[SEARCH_TERM_KEY] || "";
|
|
1431
|
-
var keywordFilter = _objectSpread$2(_objectSpread$2({
|
|
1432
|
-
type: "text",
|
|
1433
|
-
rule: "contains",
|
|
1434
|
-
label: t("neetoFilters.common.searchTerm")
|
|
1435
|
-
}, keyword), {}, {
|
|
1436
|
-
key: SEARCH_TERM_KEY,
|
|
1437
|
-
value: keywordValue
|
|
1438
|
-
});
|
|
1439
|
-
var filters = buildFiltersFromSearchParams(isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(keywordValue) ? [keywordFilter].concat(_toConsumableArray(columns)) : columns);
|
|
1440
|
-
var nonHiddenFilters = neetoCist.removeBy({
|
|
1441
|
-
hidden: true
|
|
1442
|
-
}, filters);
|
|
1443
|
-
var history = reactRouterDom.useHistory();
|
|
1444
|
-
var handleSubmit = function handleSubmit(newFilters, isClearAll) {
|
|
1445
|
-
var params = buildUrlFromFilters(_objectSpread$2({
|
|
1446
|
-
columns: columns,
|
|
1447
|
-
filters: isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(newFilters), [keywordFilter]) : newFilters
|
|
1448
|
-
}, isClearAll && {
|
|
1449
|
-
isClearAll: true,
|
|
1450
|
-
childrenKeys: childrenKeys
|
|
1451
|
-
}));
|
|
1452
|
-
history.push({
|
|
1453
|
-
search: params
|
|
1454
|
-
});
|
|
1455
|
-
};
|
|
1456
|
-
var handleDelete = function handleDelete(key) {
|
|
1457
|
-
if (key === SEARCH_TERM_KEY) {
|
|
1458
|
-
var params = ramda.omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());
|
|
1459
|
-
var pathname = window.location.pathname;
|
|
1460
|
-
history.push(utils.buildUrl(pathname, params));
|
|
1461
|
-
return;
|
|
1462
|
-
}
|
|
1463
|
-
if (childrenKeys.includes(key)) {
|
|
1464
|
-
var _params = ramda.omit([key], getSnakeCasedQueryParams());
|
|
1465
|
-
var _pathname = window.location.pathname;
|
|
1466
|
-
history.push(utils.buildUrl(_pathname, _params));
|
|
1467
|
-
}
|
|
1468
|
-
var newFilters = neetoCist.removeBy({
|
|
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({
|
|
1469
2040
|
key: key
|
|
1470
|
-
}, filters);
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
var handler = setTimeout(function () {
|
|
1493
|
-
handleSubmit(filters);
|
|
1494
|
-
}, 500);
|
|
1495
|
-
return function () {
|
|
1496
|
-
return clearTimeout(handler);
|
|
1497
|
-
};
|
|
1498
|
-
}, [keywordValue]);
|
|
1499
|
-
if (ramda.isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;
|
|
1500
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1501
|
-
className: classnames__default["default"]("neeto-filters-bar", _defineProperty({}, className, className))
|
|
1502
|
-
}, nonHiddenFilters.map(function (filter) {
|
|
1503
|
-
var _filter$suffixCompone;
|
|
1504
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
|
|
1505
|
-
key: filter.key
|
|
1506
|
-
}, /*#__PURE__*/React__default["default"].createElement(Block, {
|
|
1507
|
-
filter: filter,
|
|
1508
|
-
handleDelete: handleDelete,
|
|
1509
|
-
setIsPaneOpen: setIsPaneOpen
|
|
1510
|
-
}), (_filter$suffixCompone = filter.suffixComponent) === null || _filter$suffixCompone === void 0 ? void 0 : _filter$suffixCompone.call(filter), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1511
|
-
className: "neeto-filters-bar--separator"
|
|
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
|
+
}
|
|
1512
2063
|
}));
|
|
1513
|
-
}),
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
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
|
+
});
|
|
1524
2079
|
}));
|
|
1525
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
1526
|
-
|
|
1527
|
-
},
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
defaultSegmentName: defaultSegmentName,
|
|
1531
|
-
entity: entity,
|
|
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, {
|
|
1532
2085
|
filters: filters,
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
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
|
+
}
|
|
1539
2110
|
})));
|
|
1540
|
-
}
|
|
2111
|
+
}));
|
|
1541
2112
|
};
|
|
1542
2113
|
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
1546
|
-
var source = arguments[i];
|
|
1547
|
-
for (var key in source) {
|
|
1548
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1549
|
-
target[key] = source[key];
|
|
1550
|
-
}
|
|
1551
|
-
}
|
|
1552
|
-
}
|
|
1553
|
-
return target;
|
|
1554
|
-
};
|
|
1555
|
-
return _extends.apply(this, arguments);
|
|
1556
|
-
}
|
|
1557
|
-
|
|
1558
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
1559
|
-
if (source == null) return {};
|
|
1560
|
-
var target = {};
|
|
1561
|
-
var sourceKeys = Object.keys(source);
|
|
1562
|
-
var key, i;
|
|
1563
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
1564
|
-
key = sourceKeys[i];
|
|
1565
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1566
|
-
target[key] = source[key];
|
|
1567
|
-
}
|
|
1568
|
-
return target;
|
|
1569
|
-
}
|
|
1570
|
-
|
|
1571
|
-
function _objectWithoutProperties(source, excluded) {
|
|
1572
|
-
if (source == null) return {};
|
|
1573
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
1574
|
-
var key, i;
|
|
1575
|
-
if (Object.getOwnPropertySymbols) {
|
|
1576
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
1577
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
1578
|
-
key = sourceSymbolKeys[i];
|
|
1579
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1580
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
1581
|
-
target[key] = source[key];
|
|
1582
|
-
}
|
|
1583
|
-
}
|
|
1584
|
-
return target;
|
|
1585
|
-
}
|
|
1586
|
-
|
|
1587
|
-
var useFilters = function useFilters(_ref) {
|
|
1588
|
-
var onFiltersChange = _ref.onFiltersChange,
|
|
1589
|
-
columns = _ref.columns,
|
|
1590
|
-
keywordFilter = _ref.keywordFilter,
|
|
1591
|
-
onSelectorsChange = _ref.onSelectorsChange;
|
|
1592
|
-
var _useTransition = React.useTransition(),
|
|
1593
|
-
_useTransition2 = _slicedToArray(_useTransition, 2);
|
|
1594
|
-
_useTransition2[0];
|
|
1595
|
-
var startTransition = _useTransition2[1];
|
|
1596
|
-
var initialRender = React.useRef(true);
|
|
1597
|
-
var prevFilters = React.useRef([]);
|
|
1598
|
-
var location = reactRouterDom.useLocation();
|
|
1599
|
-
var filters = buildFiltersFromSearchParams(columns, false);
|
|
1600
|
-
var history = reactRouterDom.useHistory();
|
|
1601
|
-
var defaultValuesOfColumns = JSON.stringify(ramda.pluck("defaultValue", columns));
|
|
1602
|
-
var handlePrecenseOfDefaultFilters = function handlePrecenseOfDefaultFilters(defaultFilters) {
|
|
1603
|
-
var params = buildUrlFromFilters({
|
|
1604
|
-
columns: columns,
|
|
1605
|
-
filters: isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(defaultFilters), [keywordFilter]) : defaultFilters
|
|
1606
|
-
});
|
|
1607
|
-
history.replace({
|
|
1608
|
-
search: params
|
|
1609
|
-
});
|
|
1610
|
-
};
|
|
1611
|
-
var handleFiltersChange = function handleFiltersChange(filtersPayload) {
|
|
1612
|
-
startTransition(function () {
|
|
1613
|
-
onFiltersChange(buildFiltersPayload(filtersPayload.filter(function (filter) {
|
|
1614
|
-
return !ramda.isNil(filter.node);
|
|
1615
|
-
})));
|
|
1616
|
-
});
|
|
1617
|
-
};
|
|
1618
|
-
|
|
1619
|
-
//This function sends the updated filters to host via callbacks.
|
|
1620
|
-
var sendUpdatedFilters = function sendUpdatedFilters() {
|
|
1621
|
-
if (compareFilters(ramda.append(keywordFilter, filters), prevFilters.current)) {
|
|
1622
|
-
return;
|
|
1623
|
-
}
|
|
1624
|
-
var newFilters = buildFiltersFromSearchParams(columns);
|
|
1625
|
-
var filtersPayload = isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(getSearchTermFromUrl()) ? ramda.append(keywordFilter, newFilters) : newFilters;
|
|
1626
|
-
handleFiltersChange(filtersPayload);
|
|
1627
|
-
onSelectorsChange(buildSelectorsFromURL(columns));
|
|
1628
|
-
};
|
|
1629
|
-
var handleChangesInURL = function handleChangesInURL() {
|
|
1630
|
-
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
1631
|
-
var searchParams = getSnakeCasedQueryParams();
|
|
1632
|
-
var keys = ramda.pluck("key", ramda.append(keywordFilter, columns));
|
|
1633
|
-
if (keys.every(function (key) {
|
|
1634
|
-
return ramda.isNil(searchParams[key]);
|
|
1635
|
-
}) && !ramda.isEmpty(defaultFilters)) {
|
|
1636
|
-
history.replace({
|
|
1637
|
-
search: buildUrlFromFilters({
|
|
1638
|
-
columns: columns,
|
|
1639
|
-
filters: ramda.concat(defaultFilters, filters)
|
|
1640
|
-
})
|
|
1641
|
-
});
|
|
1642
|
-
filters = buildFiltersFromSearchParams(columns, false);
|
|
1643
|
-
}
|
|
1644
|
-
};
|
|
1645
|
-
React.useEffect(function () {
|
|
1646
|
-
if (initialRender.current) {
|
|
1647
|
-
initialRender.current = false;
|
|
1648
|
-
var keywordValue = getSearchTermFromUrl();
|
|
1649
|
-
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
1650
|
-
neetoCist.isNotEmpty(defaultFilters) && handlePrecenseOfDefaultFilters(defaultFilters);
|
|
1651
|
-
prevFilters.current = ramda.append(ramda.mergeRight(keywordFilter, {
|
|
1652
|
-
value: keywordValue
|
|
1653
|
-
}), filters);
|
|
1654
|
-
} else {
|
|
1655
|
-
handleChangesInURL();
|
|
1656
|
-
sendUpdatedFilters();
|
|
1657
|
-
prevFilters.current = ramda.append(keywordFilter, filters);
|
|
1658
|
-
}
|
|
1659
|
-
}, [location.search, defaultValuesOfColumns]);
|
|
1660
|
-
return filters;
|
|
2114
|
+
var QUERY_KEYS = {
|
|
2115
|
+
SEGMENTS_LIST: "segments-list"
|
|
1661
2116
|
};
|
|
2117
|
+
var SEGMENTS_STALE_TIME = 900000; // 15 mins
|
|
1662
2118
|
|
|
1663
|
-
var
|
|
1664
|
-
|
|
1665
|
-
filter = _ref.filter,
|
|
1666
|
-
options = _ref.options;
|
|
1667
|
-
if (!filter) return null;
|
|
1668
|
-
if (isMulti(defaultType)) {
|
|
1669
|
-
return options.filter(function (_ref2) {
|
|
1670
|
-
var value = _ref2.value;
|
|
1671
|
-
return filter.value.includes(value);
|
|
1672
|
-
});
|
|
1673
|
-
}
|
|
1674
|
-
return neetoCist.findBy({
|
|
1675
|
-
value: filter.value
|
|
1676
|
-
}, options);
|
|
1677
|
-
};
|
|
1678
|
-
var buildSingleTimeValue = function buildSingleTimeValue(filter) {
|
|
1679
|
-
var _findBy2;
|
|
1680
|
-
if (!filter) return null;
|
|
1681
|
-
return (_findBy2 = neetoCist.findBy({
|
|
1682
|
-
value: filter.value
|
|
1683
|
-
}, TIME_OPTIONS)) !== null && _findBy2 !== void 0 ? _findBy2 : ramda.last(TIME_OPTIONS);
|
|
1684
|
-
};
|
|
1685
|
-
var getOtherProps = function getOtherProps(props) {
|
|
1686
|
-
return ramda.omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
|
|
1687
|
-
};
|
|
1688
|
-
var buildDropdownOptions = function buildDropdownOptions(_ref3) {
|
|
1689
|
-
var defaultType = _ref3.defaultType,
|
|
1690
|
-
filter = _ref3.filter,
|
|
1691
|
-
options = _ref3.options;
|
|
1692
|
-
options = options.map(ramda.modify("value", function (value) {
|
|
1693
|
-
return value === null || value === void 0 ? void 0 : value.toString();
|
|
1694
|
-
}));
|
|
1695
|
-
if (!filter) return options;
|
|
1696
|
-
if (isMulti(defaultType)) {
|
|
1697
|
-
var selectedOptions = filter.value.map(function (value) {
|
|
1698
|
-
return neetoCist.findBy({
|
|
1699
|
-
value: value
|
|
1700
|
-
}, options) || neetoCist.toLabelAndValue(value);
|
|
1701
|
-
});
|
|
1702
|
-
var nonSelectedOptions = options.filter(function (option) {
|
|
1703
|
-
return !filter.value.includes(option.value);
|
|
1704
|
-
});
|
|
1705
|
-
return ramda.concat(selectedOptions, nonSelectedOptions);
|
|
1706
|
-
}
|
|
1707
|
-
if (!neetoCist.findBy({
|
|
1708
|
-
value: filter.value
|
|
1709
|
-
}, options)) {
|
|
1710
|
-
return ramda.append(neetoCist.toLabelAndValue(filter.value), options);
|
|
1711
|
-
}
|
|
1712
|
-
return options;
|
|
2119
|
+
var DEFAULT_SEGMENTS_CACHE = {
|
|
2120
|
+
segments: []
|
|
1713
2121
|
};
|
|
1714
|
-
var
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
}, DATE_OPTIONS) || findDateOption(filter, DATE_OPTIONS) : {};
|
|
2122
|
+
var SEGMENT_ACTIONS$1 = {
|
|
2123
|
+
EDIT: "edit",
|
|
2124
|
+
CREATE: "create"
|
|
1718
2125
|
};
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
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")
|
|
1722
2139
|
}
|
|
1723
|
-
|
|
1724
|
-
|
|
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")));
|
|
1725
2149
|
}
|
|
1726
|
-
return
|
|
2150
|
+
return value.map(utils.dateFormat.date).join(" - ");
|
|
1727
2151
|
};
|
|
1728
|
-
var
|
|
1729
|
-
var
|
|
1730
|
-
var
|
|
1731
|
-
|
|
1732
|
-
|
|
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
|
+
});
|
|
1733
2185
|
}
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
return diffWithStart < diffWithEnd ? neetoCist.findBy({
|
|
1738
|
-
value: "after"
|
|
1739
|
-
}, options) : neetoCist.findBy({
|
|
1740
|
-
value: "before"
|
|
1741
|
-
}, options);
|
|
2186
|
+
return ((_findBy2 = neetoCist.findBy({
|
|
2187
|
+
value: value
|
|
2188
|
+
}, values)) === null || _findBy2 === void 0 ? void 0 : _findBy2.label) || value;
|
|
1742
2189
|
};
|
|
1743
|
-
var
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
return
|
|
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") : "";
|
|
1748
2211
|
}
|
|
1749
|
-
return
|
|
2212
|
+
return "";
|
|
1750
2213
|
};
|
|
1751
|
-
var
|
|
1752
|
-
return
|
|
2214
|
+
var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
|
|
2215
|
+
return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
|
|
1753
2216
|
};
|
|
1754
|
-
|
|
1755
|
-
var
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
autoFocus = _ref.autoFocus;
|
|
1760
|
-
var key = column.key,
|
|
1761
|
-
_column$defaultType = column.defaultType,
|
|
1762
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1763
|
-
label = column.label,
|
|
1764
|
-
values = column.values,
|
|
1765
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1766
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1767
|
-
var options = ramda.isNil(values) || ramda.isEmpty(values) ? DEFAULT_BOOLEAN_OPTIONS : values;
|
|
1768
|
-
var otherProps = getOtherProps(column);
|
|
1769
|
-
var value = buildDropdownValue({
|
|
1770
|
-
defaultType: defaultType,
|
|
1771
|
-
filter: filter,
|
|
1772
|
-
options: options
|
|
1773
|
-
});
|
|
1774
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
1775
|
-
t = _useTranslation.t;
|
|
1776
|
-
var handleChange = function handleChange(option) {
|
|
1777
|
-
if (ramda.isEmpty(option) || ramda.isNil(option)) {
|
|
1778
|
-
handleApplyFilter({
|
|
1779
|
-
_delete: true
|
|
1780
|
-
});
|
|
1781
|
-
return;
|
|
1782
|
-
}
|
|
1783
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1784
|
-
column: column,
|
|
1785
|
-
defaultType: defaultType,
|
|
1786
|
-
option: option
|
|
1787
|
-
});
|
|
1788
|
-
handleApplyFilter(updatedFilter);
|
|
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)));
|
|
1789
2222
|
};
|
|
1790
|
-
return
|
|
1791
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1792
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
1793
|
-
autoFocus: autoFocus,
|
|
1794
|
-
label: label,
|
|
1795
|
-
options: options,
|
|
1796
|
-
value: value,
|
|
1797
|
-
isClearable: true
|
|
1798
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1799
|
-
labelProps: {
|
|
1800
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1801
|
-
}
|
|
1802
|
-
}, {
|
|
1803
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
1804
|
-
strategy: "fixed",
|
|
1805
|
-
placeholder: t("neetoFilters.messages.selectOption", {
|
|
1806
|
-
resource: label
|
|
1807
|
-
}),
|
|
1808
|
-
onChange: handleChange
|
|
1809
|
-
}, otherProps)));
|
|
2223
|
+
return neetoCist.notEqualsDeep(comparisonHelper(filters1), comparisonHelper(filters2));
|
|
1810
2224
|
};
|
|
1811
|
-
var Boolean$1 = /*#__PURE__*/React__default["default"].memo(Boolean);
|
|
1812
2225
|
|
|
1813
|
-
var
|
|
1814
|
-
var
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
var
|
|
1825
|
-
|
|
1826
|
-
defaultType
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
var
|
|
1831
|
-
var
|
|
1832
|
-
|
|
1833
|
-
if (ramda.isEmpty(option) || ramda.isNil(option)) {
|
|
1834
|
-
handleApplyFilter({
|
|
1835
|
-
_delete: true
|
|
1836
|
-
});
|
|
1837
|
-
setSelectedRule({});
|
|
1838
|
-
return;
|
|
1839
|
-
}
|
|
1840
|
-
setSelectedRule(option);
|
|
1841
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1842
|
-
column: column,
|
|
1843
|
-
defaultType: defaultType,
|
|
1844
|
-
option: option
|
|
1845
|
-
});
|
|
1846
|
-
handleApplyFilter(updatedFilter);
|
|
1847
|
-
};
|
|
1848
|
-
var handleDateRangeChange = function handleDateRangeChange(dates) {
|
|
1849
|
-
if (ramda.isEmpty(dates) || ramda.isNil(dates)) {
|
|
1850
|
-
handleApplyFilter({
|
|
1851
|
-
_delete: true
|
|
1852
|
-
});
|
|
1853
|
-
setSelectedRule({});
|
|
1854
|
-
return;
|
|
1855
|
-
}
|
|
1856
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1857
|
-
column: column,
|
|
1858
|
-
defaultType: defaultType,
|
|
1859
|
-
option: {
|
|
1860
|
-
value: ramda.pluck("$d", buildDateValues(dates, selectedRule)).map(function (date) {
|
|
1861
|
-
return date.toISOString();
|
|
1862
|
-
})
|
|
1863
|
-
}
|
|
1864
|
-
});
|
|
1865
|
-
handleApplyFilter(updatedFilter);
|
|
1866
|
-
};
|
|
1867
|
-
React.useEffect(function () {
|
|
1868
|
-
ramda.isNil(filter) && setSelectedRule({});
|
|
1869
|
-
}, [filter]);
|
|
1870
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1871
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1872
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
1873
|
-
autoFocus: autoFocus,
|
|
1874
|
-
label: label,
|
|
1875
|
-
isClearable: true,
|
|
1876
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
1877
|
-
options: DATE_OPTIONS,
|
|
1878
|
-
strategy: "fixed",
|
|
1879
|
-
value: selectedRule,
|
|
1880
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1881
|
-
resource: label
|
|
1882
|
-
})
|
|
1883
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1884
|
-
labelProps: {
|
|
1885
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1886
|
-
}
|
|
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);
|
|
1887
2246
|
}, {
|
|
1888
|
-
|
|
1889
|
-
})
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
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
|
+
}))));
|
|
1896
2288
|
};
|
|
1897
|
-
var Datetime$1 = /*#__PURE__*/React__default["default"].memo(Datetime);
|
|
1898
2289
|
|
|
1899
|
-
var
|
|
1900
|
-
var
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
defaultValue = column.defaultValue,
|
|
1908
|
-
_column$defaultType = column.defaultType,
|
|
1909
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1910
|
-
_column$isClearable = column.isClearable,
|
|
1911
|
-
isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
|
|
1912
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1913
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1914
|
-
var otherProps = getOtherProps(column);
|
|
1915
|
-
var options = buildDropdownOptions({
|
|
1916
|
-
defaultType: defaultType,
|
|
1917
|
-
filter: filter,
|
|
1918
|
-
options: values
|
|
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"
|
|
1919
2298
|
});
|
|
1920
|
-
var
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
2299
|
+
var openFilterPaneHotKeyRef = useHotkeys__default["default"](SHORTCUTS.openFilterPane.sequence, function () {
|
|
2300
|
+
return setIsPaneOpen(childKey);
|
|
2301
|
+
}, {
|
|
2302
|
+
mode: "scoped"
|
|
1924
2303
|
});
|
|
1925
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
1926
|
-
t = _useTranslation.t;
|
|
1927
|
-
var handleChange = function handleChange(option) {
|
|
1928
|
-
if (ramda.isEmpty(option) || ramda.isNil(option)) {
|
|
1929
|
-
handleApplyFilter({
|
|
1930
|
-
_delete: true
|
|
1931
|
-
});
|
|
1932
|
-
return;
|
|
1933
|
-
}
|
|
1934
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1935
|
-
column: column,
|
|
1936
|
-
defaultType: defaultType,
|
|
1937
|
-
option: option
|
|
1938
|
-
});
|
|
1939
|
-
handleApplyFilter(updatedFilter);
|
|
1940
|
-
};
|
|
1941
2304
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1942
|
-
className: "neeto-filters-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
strategy: "fixed",
|
|
1952
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1953
|
-
resource: label
|
|
1954
|
-
})
|
|
1955
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1956
|
-
labelProps: {
|
|
1957
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
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);
|
|
1958
2314
|
}
|
|
1959
|
-
}, {
|
|
1960
|
-
|
|
1961
|
-
|
|
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
|
+
})));
|
|
1962
2329
|
};
|
|
1963
|
-
var Dropdown$1 = /*#__PURE__*/React__default["default"].memo(Dropdown);
|
|
1964
2330
|
|
|
1965
|
-
var
|
|
1966
|
-
var
|
|
1967
|
-
filter = _ref.filter,
|
|
2331
|
+
var FilterBar = function FilterBar(_ref) {
|
|
2332
|
+
var entity = _ref.entity,
|
|
1968
2333
|
filters = _ref.filters,
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
var
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
1988
|
-
|
|
1989
|
-
// Reset states when "Clear filters" button is clicked.
|
|
1990
|
-
React.useEffect(function () {
|
|
1991
|
-
if (!ramda.isEmpty(filters)) return;
|
|
1992
|
-
setSelectedRule(SINGLE_DATE_OPTIONS[0]);
|
|
1993
|
-
}, [filters]);
|
|
1994
|
-
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1995
|
-
setSelectedRule(ruleOption);
|
|
1996
|
-
|
|
1997
|
-
// Clear value if switched between incompatable types
|
|
1998
|
-
var updateValue = value;
|
|
1999
|
-
if (datePickerType === "range" && ruleOption.value !== "between" || datePickerType === "date" && ruleOption.value === "between") {
|
|
2000
|
-
updateValue = "";
|
|
2001
|
-
}
|
|
2002
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2003
|
-
column: column,
|
|
2004
|
-
defaultType: defaultType,
|
|
2005
|
-
option: {},
|
|
2006
|
-
rule: ruleOption.value,
|
|
2007
|
-
value: updateValue
|
|
2008
|
-
});
|
|
2009
|
-
handleApplyFilter(updatedFilter);
|
|
2010
|
-
};
|
|
2011
|
-
var handleChange = function handleChange(dates) {
|
|
2012
|
-
if (ramda.isEmpty(dates) || ramda.isNil(dates)) {
|
|
2013
|
-
handleApplyFilter({
|
|
2014
|
-
_delete: true
|
|
2015
|
-
});
|
|
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));
|
|
2016
2352
|
return;
|
|
2017
2353
|
}
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
});
|
|
2028
|
-
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);
|
|
2029
2363
|
};
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
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
|
+
});
|
|
2042
2409
|
}
|
|
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
|
+
})));
|
|
2416
|
+
};
|
|
2417
|
+
|
|
2418
|
+
var fetch = function fetch(params) {
|
|
2419
|
+
return axios__default["default"].get(SEGMENTS_BASE_URL, {
|
|
2420
|
+
params: params
|
|
2421
|
+
});
|
|
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
|
|
2043
2431
|
}, {
|
|
2044
|
-
|
|
2045
|
-
})
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
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
|
|
2053
2453
|
};
|
|
2054
2454
|
|
|
2055
|
-
var
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
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();
|
|
2497
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
2498
|
+
t = _useTranslation.t;
|
|
2499
|
+
var initialRenderRef = React.useRef(true);
|
|
2500
|
+
var _useQueryParams = reactUtils.useQueryParams(),
|
|
2501
|
+
segmentId = _useQueryParams.segmentId;
|
|
2502
|
+
var _useState = React.useState({
|
|
2503
|
+
action: undefined
|
|
2065
2504
|
}),
|
|
2066
2505
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
var
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
var
|
|
2076
|
-
var
|
|
2077
|
-
|
|
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
|
|
2542
|
+
});
|
|
2543
|
+
};
|
|
2544
|
+
var childrenFiltersApplied = childrenKeys.some(function (key) {
|
|
2545
|
+
return ramda.has(key, searchParams);
|
|
2546
|
+
});
|
|
2078
2547
|
React.useEffect(function () {
|
|
2079
|
-
if (
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
2083
|
-
setSelectedRule(ruleOption);
|
|
2084
|
-
|
|
2085
|
-
// Clear value if switched between incompatible types
|
|
2086
|
-
var updateValue = value;
|
|
2087
|
-
if (timePickerType === "range" && ruleOption.value !== "between" || timePickerType === "time" && ruleOption.value === "between") {
|
|
2088
|
-
updateValue = "";
|
|
2548
|
+
if (initialRenderRef.current) {
|
|
2549
|
+
initialRenderRef.current = false;
|
|
2550
|
+
return neetoCist.noop;
|
|
2089
2551
|
}
|
|
2090
|
-
var
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
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
|
+
})
|
|
2096
2570
|
});
|
|
2097
|
-
|
|
2571
|
+
setIsSavePaneOpen({
|
|
2572
|
+
action: undefined
|
|
2573
|
+
});
|
|
2574
|
+
utils.showThumbsUpToastr();
|
|
2098
2575
|
};
|
|
2099
|
-
var
|
|
2100
|
-
var
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
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
|
+
}
|
|
2109
2589
|
});
|
|
2110
|
-
handleApplyFilter(updatedFilter);
|
|
2111
2590
|
};
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
format: "h:mm A",
|
|
2133
|
-
getPopupContainer: ramda.prop("parentNode"),
|
|
2134
|
-
type: timePickerType,
|
|
2135
|
-
onChange: handleChange
|
|
2136
|
-
}, otherProps)));
|
|
2137
|
-
};
|
|
2138
|
-
|
|
2139
|
-
var Text = function Text(_ref) {
|
|
2140
|
-
var column = _ref.column,
|
|
2141
|
-
filter = _ref.filter,
|
|
2142
|
-
filters = _ref.filters,
|
|
2143
|
-
handleApplyFilter = _ref.handleApplyFilter,
|
|
2144
|
-
autoFocus = _ref.autoFocus,
|
|
2145
|
-
onClose = _ref.onClose;
|
|
2146
|
-
var key = column.key,
|
|
2147
|
-
_column$defaultType = column.defaultType,
|
|
2148
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
2149
|
-
label = column.label,
|
|
2150
|
-
_column$showRuleSelec = column.showRuleSelector,
|
|
2151
|
-
showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
|
|
2152
|
-
_column$helpIconProps = column.helpIconProps,
|
|
2153
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
2154
|
-
var otherProps = getOtherProps(column);
|
|
2155
|
-
var ruleOptions = buildRuleOptions({
|
|
2156
|
-
defaultType: defaultType
|
|
2157
|
-
});
|
|
2158
|
-
var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
|
|
2159
|
-
var _useState = React.useState(filter === null || filter === void 0 ? void 0 : filter.value),
|
|
2160
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2161
|
-
inputValue = _useState2[0],
|
|
2162
|
-
setInputValue = _useState2[1];
|
|
2163
|
-
var _useState3 = React.useState(function () {
|
|
2164
|
-
return neetoCist.findBy({
|
|
2165
|
-
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
2166
|
-
}, ruleOptions) || ruleOptions[0];
|
|
2167
|
-
}),
|
|
2168
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
2169
|
-
selectedRule = _useState4[0],
|
|
2170
|
-
setSelectedRule = _useState4[1];
|
|
2171
|
-
var debouncedInputValue = reactUtils.useDebounce(inputValue);
|
|
2172
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
2173
|
-
t = _useTranslation.t;
|
|
2174
|
-
var handleUpdateAndApplyFilter = function handleUpdateAndApplyFilter() {
|
|
2175
|
-
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
|
|
2176
|
-
var rule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
|
|
2177
|
-
if (ramda.equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && ramda.equals(selectedRule, rule)) return;
|
|
2178
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2179
|
-
column: column,
|
|
2180
|
-
defaultType: defaultType,
|
|
2181
|
-
option: {},
|
|
2182
|
-
rule: rule.value,
|
|
2183
|
-
value: value.trim()
|
|
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
|
+
}
|
|
2184
2611
|
});
|
|
2185
|
-
handleApplyFilter(updatedFilter);
|
|
2186
|
-
};
|
|
2187
|
-
var handleKeydown = function handleKeydown(e) {
|
|
2188
|
-
if (!(e.key === "Enter")) return;
|
|
2189
|
-
handleUpdateAndApplyFilter(inputValue);
|
|
2190
|
-
onClose();
|
|
2191
2612
|
};
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
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
|
|
2196
2624
|
};
|
|
2625
|
+
};
|
|
2197
2626
|
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
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;
|
|
2634
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
2635
|
+
t = _useTranslation.t;
|
|
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
|
|
2206
2654
|
});
|
|
2207
|
-
return;
|
|
2208
|
-
}
|
|
2209
|
-
handleUpdateAndApplyFilter();
|
|
2210
|
-
}, [debouncedInputValue]);
|
|
2211
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2212
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2213
|
-
}, showRuleSelector && /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
2214
|
-
label: label,
|
|
2215
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter-rule"),
|
|
2216
|
-
defaultValue: ruleOptions[0],
|
|
2217
|
-
options: ruleOptions,
|
|
2218
|
-
strategy: "fixed",
|
|
2219
|
-
value: selectedRule,
|
|
2220
|
-
onChange: handleRuleChange
|
|
2221
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
2222
|
-
labelProps: {
|
|
2223
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2224
2655
|
}
|
|
2225
|
-
})), /*#__PURE__*/React__default["default"].createElement(
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
2232
|
-
labelProps: {
|
|
2233
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
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
|
|
2661
|
+
});
|
|
2234
2662
|
}
|
|
2235
|
-
},
|
|
2236
|
-
placeholder: t("neetoFilters.messages.enterResource", {
|
|
2237
|
-
resource: label
|
|
2238
|
-
}),
|
|
2239
|
-
onChange: function onChange(event) {
|
|
2240
|
-
return setInputValue(event.target.value);
|
|
2241
|
-
},
|
|
2242
|
-
onKeyDown: handleKeydown
|
|
2243
|
-
}, otherProps)));
|
|
2663
|
+
}, t("neetoFilters.segments.saveAsNewSegment")))));
|
|
2244
2664
|
};
|
|
2245
2665
|
|
|
2246
|
-
var
|
|
2247
|
-
var
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
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
|
|
2266
2743
|
});
|
|
2267
|
-
return;
|
|
2268
|
-
}
|
|
2269
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2270
|
-
column: column,
|
|
2271
|
-
defaultType: defaultType,
|
|
2272
|
-
option: option
|
|
2273
|
-
});
|
|
2274
|
-
handleApplyFilter(updatedFilter);
|
|
2275
|
-
};
|
|
2276
|
-
var handleTimeRangeChange = function handleTimeRangeChange(times) {
|
|
2277
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2278
|
-
column: column,
|
|
2279
|
-
defaultType: defaultType,
|
|
2280
|
-
option: {
|
|
2281
|
-
value: ramda.pluck("$d", times).map(function (time) {
|
|
2282
|
-
return time.toISOString();
|
|
2283
|
-
})
|
|
2284
|
-
}
|
|
2285
|
-
});
|
|
2286
|
-
handleApplyFilter(updatedFilter);
|
|
2287
|
-
};
|
|
2288
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2289
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2290
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
2291
|
-
autoFocus: autoFocus,
|
|
2292
|
-
label: label,
|
|
2293
|
-
value: value,
|
|
2294
|
-
isClearable: true,
|
|
2295
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
2296
|
-
options: TIME_OPTIONS,
|
|
2297
|
-
strategy: "fixed",
|
|
2298
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
2299
|
-
resource: label
|
|
2300
|
-
})
|
|
2301
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
2302
|
-
labelProps: {
|
|
2303
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2304
2744
|
}
|
|
2305
|
-
}
|
|
2306
|
-
onChange: handleChange
|
|
2307
|
-
})), isCustomTimeRangeShown && /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({
|
|
2308
|
-
use12Hours: true,
|
|
2309
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-date-range"),
|
|
2310
|
-
format: "h:mm A",
|
|
2311
|
-
getPopupContainer: ramda.prop("parentNode"),
|
|
2312
|
-
type: "range",
|
|
2313
|
-
value: filter.value,
|
|
2314
|
-
onChange: handleTimeRangeChange
|
|
2315
|
-
}, otherProps)));
|
|
2745
|
+
}));
|
|
2316
2746
|
};
|
|
2317
|
-
var Time$1 = /*#__PURE__*/React__default["default"].memo(Time);
|
|
2318
2747
|
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
var filter = React.useMemo(function () {
|
|
2329
|
-
return neetoCist.findBy({
|
|
2330
|
-
key: key
|
|
2331
|
-
}, filters);
|
|
2332
|
-
}, [filters, key]);
|
|
2333
|
-
var handleApplyFilter = function handleApplyFilter(updatedFilter) {
|
|
2334
|
-
if (updatedFilter._delete) onChange(neetoCist.removeBy({
|
|
2335
|
-
key: key
|
|
2336
|
-
}, filters));else if (!filter) onChange(ramda.append(updatedFilter, filters));else onChange(neetoCist.replaceBy({
|
|
2337
|
-
key: key
|
|
2338
|
-
}, updatedFilter, filters));
|
|
2339
|
-
};
|
|
2340
|
-
if (isText(defaultType) || isDigit(defaultType)) {
|
|
2341
|
-
return /*#__PURE__*/React__default["default"].createElement(Text, {
|
|
2342
|
-
autoFocus: autoFocus,
|
|
2343
|
-
column: column,
|
|
2344
|
-
filter: filter,
|
|
2345
|
-
filters: filters,
|
|
2346
|
-
handleApplyFilter: handleApplyFilter,
|
|
2347
|
-
onClose: onClose
|
|
2348
|
-
});
|
|
2349
|
-
}
|
|
2350
|
-
if (isDate(defaultType)) {
|
|
2351
|
-
return /*#__PURE__*/React__default["default"].createElement(Datetime$1, {
|
|
2352
|
-
autoFocus: autoFocus,
|
|
2353
|
-
column: column,
|
|
2354
|
-
filter: filter,
|
|
2355
|
-
handleApplyFilter: handleApplyFilter
|
|
2356
|
-
});
|
|
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];
|
|
2357
2757
|
}
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
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
|
+
}
|
|
2365
2773
|
}
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
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
|
|
2373
2796
|
});
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
return /*#__PURE__*/React__default["default"].createElement(SingleTime, {
|
|
2377
|
-
autoFocus: autoFocus,
|
|
2378
|
-
column: column,
|
|
2379
|
-
filter: filter,
|
|
2380
|
-
filters: filters,
|
|
2381
|
-
handleApplyFilter: handleApplyFilter
|
|
2797
|
+
history.replace({
|
|
2798
|
+
search: params
|
|
2382
2799
|
});
|
|
2383
|
-
}
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
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
|
+
})));
|
|
2390
2806
|
});
|
|
2391
|
-
}
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
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;
|
|
2398
2851
|
};
|
|
2399
2852
|
|
|
2400
2853
|
var _excluded = ["isOpen", "onClose", "columns", "onChange", "isSearchable", "keyword", "onSelectorsChange", "childrenKeys", "children", "className"];
|
|
@@ -2562,7 +3015,7 @@ var Pane = function Pane(_ref) {
|
|
|
2562
3015
|
|
|
2563
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}}
|
|
2564
3017
|
|
|
2565
|
-
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= */";
|
|
2566
3019
|
n(css,{});
|
|
2567
3020
|
|
|
2568
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; }
|
|
@@ -2618,11 +3071,19 @@ var Filters = reactUtils.withT(function (_ref) {
|
|
|
2618
3071
|
}, paneProps)), children));
|
|
2619
3072
|
});
|
|
2620
3073
|
|
|
2621
|
-
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) {
|
|
2622
3081
|
var isOpen = _ref.isOpen,
|
|
2623
3082
|
onClose = _ref.onClose,
|
|
2624
|
-
segment = _ref.segment,
|
|
2625
|
-
|
|
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;
|
|
2626
3087
|
var _useTranslation = reactI18next.useTranslation(),
|
|
2627
3088
|
t = _useTranslation.t;
|
|
2628
3089
|
var history = reactRouterDom.useHistory();
|
|
@@ -2663,162 +3124,56 @@ var DeleteAlert = function DeleteAlert(_ref) {
|
|
|
2663
3124
|
});
|
|
2664
3125
|
};
|
|
2665
3126
|
|
|
2666
|
-
var
|
|
2667
|
-
var
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
setIsEditing = _useState2[1];
|
|
2674
|
-
var _useState3 = React.useState(false),
|
|
2675
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
2676
|
-
isDeleteAlertOpen = _useState4[0],
|
|
2677
|
-
setIsDeleteAlertOpen = _useState4[1];
|
|
2678
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
2679
|
-
t = _useTranslation.t;
|
|
2680
|
-
var Menu = neetoui.Dropdown.Menu,
|
|
2681
|
-
MenuItem = neetoui.Dropdown.MenuItem;
|
|
2682
|
-
var _useUpdateSegment = useUpdateSegment(),
|
|
2683
|
-
updateSegment = _useUpdateSegment.mutate;
|
|
2684
|
-
var handleRename = function handleRename(values) {
|
|
2685
|
-
return updateSegment({
|
|
2686
|
-
id: segment.id,
|
|
2687
|
-
payload: values
|
|
2688
|
-
}, {
|
|
2689
|
-
onSuccess: function onSuccess() {
|
|
2690
|
-
return setIsEditing(false);
|
|
2691
|
-
}
|
|
2692
|
-
});
|
|
2693
|
-
};
|
|
2694
|
-
return /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
2695
|
-
className: "neeto-ui-rounded-md flex w-full items-center justify-between border p-2",
|
|
2696
|
-
formProps: {
|
|
2697
|
-
noValidate: true
|
|
2698
|
-
},
|
|
2699
|
-
formikProps: {
|
|
2700
|
-
initialValues: segment,
|
|
2701
|
-
validateOnChange: true,
|
|
2702
|
-
validateOnBlur: true,
|
|
2703
|
-
validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
|
|
2704
|
-
onSubmit: handleRename,
|
|
2705
|
-
enableReinitialize: true
|
|
2706
|
-
}
|
|
2707
|
-
}, function (_ref2) {
|
|
2708
|
-
var resetForm = _ref2.resetForm;
|
|
2709
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isEditing ? /*#__PURE__*/React__default["default"].createElement(InlineInput.FormikInlineInput, {
|
|
2710
|
-
autoFocus: true,
|
|
2711
|
-
nakedInput: true,
|
|
2712
|
-
handleCancel: function handleCancel() {
|
|
2713
|
-
return setIsEditing(false);
|
|
2714
|
-
},
|
|
2715
|
-
name: "name",
|
|
2716
|
-
placeholder: t("neetoFilters.segments.name")
|
|
2717
|
-
}) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2718
|
-
style: "body2"
|
|
2719
|
-
}, segment.name), /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
|
|
2720
|
-
buttonStyle: "text",
|
|
2721
|
-
disabled: neetoCist.isNotPresent(segment.id),
|
|
2722
|
-
icon: neetoIcons.MenuHorizontal,
|
|
2723
|
-
size: "small"
|
|
2724
|
-
}, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
2725
|
-
onClick: function onClick() {
|
|
2726
|
-
setIsEditing(true);
|
|
2727
|
-
resetForm();
|
|
2728
|
-
}
|
|
2729
|
-
}, t("neetoFilters.common.rename")), /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
2730
|
-
onClick: function onClick() {
|
|
2731
|
-
return setIsDeleteAlertOpen(true);
|
|
2732
|
-
}
|
|
2733
|
-
}, t("neetoFilters.common.delete"))))), /*#__PURE__*/React__default["default"].createElement(DeleteAlert, {
|
|
2734
|
-
columns: columns,
|
|
2735
|
-
segment: segment,
|
|
2736
|
-
isOpen: isDeleteAlertOpen,
|
|
2737
|
-
onClose: function onClose() {
|
|
2738
|
-
return setIsDeleteAlertOpen(false);
|
|
2739
|
-
}
|
|
2740
|
-
}));
|
|
2741
|
-
});
|
|
2742
|
-
};
|
|
2743
|
-
var Card$1 = /*#__PURE__*/React__default["default"].memo(Card);
|
|
2744
|
-
|
|
2745
|
-
var ManagePane = function ManagePane(_ref) {
|
|
2746
|
-
var isOpen = _ref.isOpen,
|
|
2747
|
-
onClose = _ref.onClose,
|
|
2748
|
-
entity = _ref.entity,
|
|
2749
|
-
columns = _ref.columns,
|
|
2750
|
-
defaultSegmentName = _ref.defaultSegmentName;
|
|
2751
|
-
var _useState = React.useState(""),
|
|
2752
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2753
|
-
searchTerm = _useState2[0],
|
|
2754
|
-
setSearchTerm = _useState2[1];
|
|
2755
|
-
var inputRef = React.useRef(null);
|
|
2756
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
2757
|
-
t = _useTranslation.t;
|
|
2758
|
-
var debouncedSearchTerm = reactUtils.useDebounce(searchTerm);
|
|
2759
|
-
var _useFetchSegments = useFetchSegments({
|
|
2760
|
-
entity: entity,
|
|
2761
|
-
searchTerm: debouncedSearchTerm
|
|
2762
|
-
}),
|
|
2763
|
-
_useFetchSegments$dat = _useFetchSegments.data,
|
|
2764
|
-
segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
|
|
2765
|
-
isLoading = _useFetchSegments.isLoading;
|
|
2766
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
2767
|
-
isOpen: isOpen,
|
|
2768
|
-
onClose: onClose,
|
|
2769
|
-
initialFocusRef: inputRef
|
|
2770
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2771
|
-
style: "h2"
|
|
2772
|
-
}, t("neetoFilters.segments.manageSegments"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, {
|
|
2773
|
-
className: "max-h-full gap-4 overflow-scroll"
|
|
2774
|
-
}, /*#__PURE__*/React__default["default"].createElement(Search__default["default"], {
|
|
2775
|
-
className: "w-full flex-grow-0",
|
|
2776
|
-
placeholder: t("neetoFilters.segments.searchSegments"),
|
|
2777
|
-
ref: inputRef,
|
|
2778
|
-
onSearch: function onSearch(value) {
|
|
2779
|
-
return setSearchTerm(value);
|
|
2780
|
-
}
|
|
2781
|
-
}), isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, {
|
|
2782
|
-
className: "mx-auto mt-4"
|
|
2783
|
-
}) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Card$1, {
|
|
2784
|
-
segment: {
|
|
2785
|
-
name: defaultSegmentName
|
|
2786
|
-
}
|
|
2787
|
-
}), ramda.isEmpty(segments) ? /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2788
|
-
className: "mx-auto",
|
|
2789
|
-
style: "body2"
|
|
2790
|
-
}, t("neetoFilters.segments.noSegmentsFound")) : segments.map(function (segment) {
|
|
2791
|
-
return /*#__PURE__*/React__default["default"].createElement(Card$1, {
|
|
2792
|
-
columns: columns,
|
|
2793
|
-
defaultSegmentName: defaultSegmentName,
|
|
2794
|
-
segment: segment,
|
|
2795
|
-
key: segment.id
|
|
2796
|
-
});
|
|
2797
|
-
}))));
|
|
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;
|
|
2798
3134
|
};
|
|
2799
3135
|
|
|
2800
|
-
var
|
|
2801
|
-
|
|
2802
|
-
var MenuBlocks = function MenuBlocks(_ref) {
|
|
3136
|
+
var useSegments = function useSegments(_ref) {
|
|
2803
3137
|
var entity = _ref.entity,
|
|
2804
3138
|
columns = _ref.columns,
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2808
|
-
showAll = _useState2[0],
|
|
2809
|
-
setShowAll = _useState2[1];
|
|
2810
|
-
var history = reactRouterDom.useHistory();
|
|
3139
|
+
appliedFilters = _ref.appliedFilters,
|
|
3140
|
+
childrenKeys = _ref.childrenKeys;
|
|
2811
3141
|
var _useTranslation = reactI18next.useTranslation(),
|
|
2812
3142
|
t = _useTranslation.t;
|
|
2813
|
-
var
|
|
2814
|
-
|
|
2815
|
-
|
|
3143
|
+
var history = reactRouterDom.useHistory();
|
|
3144
|
+
var _useState = React.useState([]),
|
|
3145
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3146
|
+
segments = _useState2[0],
|
|
3147
|
+
setSegments = _useState2[1];
|
|
2816
3148
|
var _useFetchSegments = useFetchSegments({
|
|
2817
3149
|
entity: entity
|
|
2818
3150
|
}),
|
|
2819
|
-
|
|
2820
|
-
segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
|
|
3151
|
+
fetchedSegments = _useFetchSegments.data,
|
|
2821
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
|
+
};
|
|
2822
3177
|
var clearAppliedFilters = function clearAppliedFilters() {
|
|
2823
3178
|
var _filters$, _filters$2;
|
|
2824
3179
|
var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : appliedFilters;
|
|
@@ -2833,10 +3188,10 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2833
3188
|
})
|
|
2834
3189
|
});
|
|
2835
3190
|
};
|
|
2836
|
-
var
|
|
3191
|
+
var handleSelectSegment = function handleSelectSegment(_ref3) {
|
|
2837
3192
|
var _filters$3;
|
|
2838
|
-
var id =
|
|
2839
|
-
filters =
|
|
3193
|
+
var id = _ref3.id,
|
|
3194
|
+
filters = _ref3.filters;
|
|
2840
3195
|
history.push({
|
|
2841
3196
|
search: buildUrlFromSegment({
|
|
2842
3197
|
columns: columns,
|
|
@@ -2845,14 +3200,9 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2845
3200
|
})
|
|
2846
3201
|
});
|
|
2847
3202
|
};
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
return ramda.equals(id, segmentId) ? clearAppliedFilters(filters) : applySelectedSegment({
|
|
2852
|
-
id: id,
|
|
2853
|
-
filters: filters
|
|
2854
|
-
});
|
|
2855
|
-
};
|
|
3203
|
+
React.useEffect(function () {
|
|
3204
|
+
setSegments(fetchedSegments);
|
|
3205
|
+
}, [fetchedSegments]);
|
|
2856
3206
|
if (isLoading) {
|
|
2857
3207
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null);
|
|
2858
3208
|
}
|
|
@@ -2861,6 +3211,139 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2861
3211
|
style: "body2"
|
|
2862
3212
|
}, t("neetoFilters.segments.noSegmentsFound"));
|
|
2863
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;
|
|
2864
3347
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
2865
3348
|
icon: neetoIcons.Down,
|
|
2866
3349
|
style: "link",
|
|
@@ -2872,71 +3355,90 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2872
3355
|
return !open;
|
|
2873
3356
|
});
|
|
2874
3357
|
}
|
|
2875
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
2876
|
-
|
|
3358
|
+
}), /*#__PURE__*/React__default["default"].createElement(Segment, {
|
|
3359
|
+
isActive: ramda.isEmpty(appliedFilters),
|
|
2877
3360
|
label: defaultSegmentName,
|
|
2878
3361
|
onClick: clearAppliedFilters
|
|
2879
|
-
}),
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
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
|
|
2889
3416
|
}));
|
|
2890
3417
|
};
|
|
2891
3418
|
var MenuBlocks$1 = /*#__PURE__*/React__default["default"].memo(MenuBlocks);
|
|
2892
3419
|
|
|
2893
|
-
var Segments = function
|
|
2894
|
-
var
|
|
3420
|
+
var Segments = reactUtils.withT(function (_ref) {
|
|
3421
|
+
var t = _ref.t,
|
|
3422
|
+
entity = _ref.entity,
|
|
2895
3423
|
columns = _ref.columns,
|
|
2896
|
-
_ref$setIsFilterPaneO = _ref.setIsFilterPaneOpen,
|
|
2897
|
-
setIsFilterPaneOpen = _ref$setIsFilterPaneO === void 0 ? neetoCist.noop : _ref$setIsFilterPaneO,
|
|
2898
3424
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
2899
|
-
defaultSegmentName = _ref$defaultSegmentNa === void 0 ?
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
}
|
|
2917
|
-
}];
|
|
2918
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].SubTitle, {
|
|
2919
|
-
iconProps: iconProps
|
|
2920
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2921
|
-
component: "h4",
|
|
2922
|
-
style: "h5",
|
|
2923
|
-
textTransform: "uppercase",
|
|
2924
|
-
weight: "bold"
|
|
2925
|
-
}, t("neetoFilters.common.segments"))), /*#__PURE__*/React__default["default"].createElement(MenuBlocks$1, {
|
|
2926
|
-
columns: columns,
|
|
2927
|
-
defaultSegmentName: defaultSegmentName,
|
|
2928
|
-
entity: entity
|
|
2929
|
-
}), /*#__PURE__*/React__default["default"].createElement(ManagePane, {
|
|
2930
|
-
columns: columns,
|
|
2931
|
-
defaultSegmentName: defaultSegmentName,
|
|
2932
|
-
entity: entity,
|
|
2933
|
-
isOpen: isSegmentsPaneOpen,
|
|
2934
|
-
onClose: function onClose() {
|
|
2935
|
-
return setIsSegmentsPaneOpen(false);
|
|
2936
|
-
}
|
|
2937
|
-
}));
|
|
2938
|
-
}();
|
|
2939
|
-
};
|
|
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
|
+
});
|
|
2940
3442
|
var index = /*#__PURE__*/React__default["default"].memo(Segments);
|
|
2941
3443
|
|
|
2942
3444
|
exports.Bar = Bar;
|