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