@bigbinary/neeto-filters-frontend 3.2.0 → 3.3.0-beta.1
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 +22 -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 +10 -10
- 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
|
});
|
|
@@ -926,7 +928,7 @@ var buildUrlFromSegment = function buildUrlFromSegment(_ref19) {
|
|
|
926
928
|
});
|
|
927
929
|
return acc;
|
|
928
930
|
}, neetoCist.isNotEmpty(id) ? _defineProperty({}, SEGMENT_ID_KEY, id) : {});
|
|
929
|
-
return new URLSearchParams(_objectSpread$
|
|
931
|
+
return new URLSearchParams(_objectSpread$5(_objectSpread$5({}, searchParams), newSearchParams)).toString();
|
|
930
932
|
};
|
|
931
933
|
var getSearchTermFromUrl = function getSearchTermFromUrl() {
|
|
932
934
|
return utils.getQueryParams().searchTerm || "";
|
|
@@ -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-500",
|
|
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,1149 +1812,902 @@ 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
|
-
|
|
1294
|
-
|
|
1295
|
-
}, {
|
|
1296
|
-
onSuccess: function onSuccess() {
|
|
1297
|
-
return setIsUpdateAlertOpen(false);
|
|
1298
|
-
}
|
|
1299
|
-
});
|
|
1300
|
-
};
|
|
1301
|
-
var handleCreateSuccess = function handleCreateSuccess(_ref2) {
|
|
1302
|
-
var _filters$;
|
|
1303
|
-
var _ref2$segment = _ref2.segment,
|
|
1304
|
-
id = _ref2$segment.id,
|
|
1305
|
-
filters = _ref2$segment.filters;
|
|
1306
|
-
history.push({
|
|
1307
|
-
search: buildUrlFromSegment({
|
|
1308
|
-
columns: columns,
|
|
1309
|
-
filters: (_filters$ = filters[0]) === null || _filters$ === void 0 ? void 0 : _filters$.conditions,
|
|
1310
|
-
id: id
|
|
1311
|
-
})
|
|
1312
|
-
});
|
|
1313
|
-
setIsSavePaneOpen(false);
|
|
1314
|
-
};
|
|
1315
|
-
var handleSubmit = function handleSubmit(_ref3) {
|
|
1316
|
-
var name = _ref3.name;
|
|
1317
|
-
return createSegment({
|
|
1318
|
-
name: name,
|
|
1319
|
-
entity: entity,
|
|
1320
|
-
filters: filtersPayload
|
|
1321
|
-
}, {
|
|
1322
|
-
onSuccess: handleCreateSuccess
|
|
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
|
+
}));
|
|
1851
|
+
history.push({
|
|
1852
|
+
search: params
|
|
1323
1853
|
});
|
|
1324
1854
|
};
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
setIsFilterPaneOpen(false);
|
|
1342
|
-
setIsSavePaneOpen(true);
|
|
1343
|
-
}
|
|
1344
|
-
}, t("neetoFilters.segments.saveAsNewSegment")))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
1345
|
-
initialFocusRef: inputRef,
|
|
1346
|
-
isOpen: isSavePaneOpen,
|
|
1347
|
-
onClose: function onClose() {
|
|
1348
|
-
return setIsSavePaneOpen(false);
|
|
1349
|
-
}
|
|
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);
|
|
1866
|
+
};
|
|
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
|
-
}), ramda.
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
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, {
|
|
1530
1950
|
filters: filters,
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
1544
|
-
var source = arguments[i];
|
|
1545
|
-
for (var key in source) {
|
|
1546
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1547
|
-
target[key] = source[key];
|
|
1548
|
-
}
|
|
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));
|
|
1549
1963
|
}
|
|
1550
|
-
}
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1564
|
-
target[key] = source[key];
|
|
1565
|
-
}
|
|
1566
|
-
return target;
|
|
1567
|
-
}
|
|
1568
|
-
|
|
1569
|
-
function _objectWithoutProperties(source, excluded) {
|
|
1570
|
-
if (source == null) return {};
|
|
1571
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
1572
|
-
var key, i;
|
|
1573
|
-
if (Object.getOwnPropertySymbols) {
|
|
1574
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
1575
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
1576
|
-
key = sourceSymbolKeys[i];
|
|
1577
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1578
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
1579
|
-
target[key] = source[key];
|
|
1580
|
-
}
|
|
1581
|
-
}
|
|
1582
|
-
return target;
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
var useFilters = function useFilters(_ref) {
|
|
1586
|
-
var onFiltersChange = _ref.onFiltersChange,
|
|
1587
|
-
columns = _ref.columns,
|
|
1588
|
-
keywordFilter = _ref.keywordFilter,
|
|
1589
|
-
onSelectorsChange = _ref.onSelectorsChange;
|
|
1590
|
-
var _useTransition = React.useTransition(),
|
|
1591
|
-
_useTransition2 = _slicedToArray(_useTransition, 2);
|
|
1592
|
-
_useTransition2[0];
|
|
1593
|
-
var startTransition = _useTransition2[1];
|
|
1594
|
-
var initialRender = React.useRef(true);
|
|
1595
|
-
var prevFilters = React.useRef([]);
|
|
1596
|
-
var location = reactRouterDom.useLocation();
|
|
1597
|
-
var filters = buildFiltersFromSearchParams(columns, false);
|
|
1598
|
-
var history = reactRouterDom.useHistory();
|
|
1599
|
-
var defaultValuesOfColumns = JSON.stringify(ramda.pluck("defaultValue", columns));
|
|
1600
|
-
var handlePrecenseOfDefaultFilters = function handlePrecenseOfDefaultFilters(defaultFilters) {
|
|
1601
|
-
var params = buildUrlFromFilters({
|
|
1602
|
-
columns: columns,
|
|
1603
|
-
filters: isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(defaultFilters), [keywordFilter]) : defaultFilters
|
|
1604
|
-
});
|
|
1605
|
-
history.replace({
|
|
1606
|
-
search: params
|
|
1607
|
-
});
|
|
1608
|
-
};
|
|
1609
|
-
var handleFiltersChange = function handleFiltersChange(filtersPayload) {
|
|
1610
|
-
startTransition(function () {
|
|
1611
|
-
onFiltersChange(buildFiltersPayload(filtersPayload.filter(function (filter) {
|
|
1612
|
-
return !ramda.isNil(filter.node);
|
|
1613
|
-
})));
|
|
1614
|
-
});
|
|
1615
|
-
};
|
|
1616
|
-
|
|
1617
|
-
//This function sends the updated filters to host via callbacks.
|
|
1618
|
-
var sendUpdatedFilters = function sendUpdatedFilters() {
|
|
1619
|
-
if (compareFilters(ramda.append(keywordFilter, filters), prevFilters.current)) {
|
|
1620
|
-
return;
|
|
1621
|
-
}
|
|
1622
|
-
var newFilters = buildFiltersFromSearchParams(columns);
|
|
1623
|
-
var filtersPayload = isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(getSearchTermFromUrl()) ? ramda.append(keywordFilter, newFilters) : newFilters;
|
|
1624
|
-
handleFiltersChange(filtersPayload);
|
|
1625
|
-
onSelectorsChange(buildSelectorsFromURL(columns));
|
|
1626
|
-
};
|
|
1627
|
-
var handleChangesInURL = function handleChangesInURL() {
|
|
1628
|
-
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
1629
|
-
var searchParams = getSnakeCasedQueryParams();
|
|
1630
|
-
var keys = ramda.pluck("key", ramda.append(keywordFilter, columns));
|
|
1631
|
-
if (keys.every(function (key) {
|
|
1632
|
-
return ramda.isNil(searchParams[key]);
|
|
1633
|
-
}) && !ramda.isEmpty(defaultFilters)) {
|
|
1634
|
-
history.replace({
|
|
1635
|
-
search: buildUrlFromFilters({
|
|
1636
|
-
columns: columns,
|
|
1637
|
-
filters: ramda.concat(defaultFilters, filters)
|
|
1638
|
-
})
|
|
1639
|
-
});
|
|
1640
|
-
filters = buildFiltersFromSearchParams(columns, false);
|
|
1641
|
-
}
|
|
1642
|
-
};
|
|
1643
|
-
React.useEffect(function () {
|
|
1644
|
-
if (initialRender.current) {
|
|
1645
|
-
initialRender.current = false;
|
|
1646
|
-
var keywordValue = getSearchTermFromUrl();
|
|
1647
|
-
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
1648
|
-
neetoCist.isNotEmpty(defaultFilters) && handlePrecenseOfDefaultFilters(defaultFilters);
|
|
1649
|
-
prevFilters.current = ramda.append(ramda.mergeRight(keywordFilter, {
|
|
1650
|
-
value: keywordValue
|
|
1651
|
-
}), filters);
|
|
1652
|
-
} else {
|
|
1653
|
-
handleChangesInURL();
|
|
1654
|
-
sendUpdatedFilters();
|
|
1655
|
-
prevFilters.current = ramda.append(keywordFilter, filters);
|
|
1656
|
-
}
|
|
1657
|
-
}, [location.search, defaultValuesOfColumns]);
|
|
1658
|
-
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
|
+
}));
|
|
1659
1977
|
};
|
|
1660
1978
|
|
|
1661
|
-
var
|
|
1662
|
-
|
|
1663
|
-
filter = _ref.filter,
|
|
1664
|
-
options = _ref.options;
|
|
1665
|
-
if (!filter) return null;
|
|
1666
|
-
if (isMulti(defaultType)) {
|
|
1667
|
-
return options.filter(function (_ref2) {
|
|
1668
|
-
var value = _ref2.value;
|
|
1669
|
-
return filter.value.includes(value);
|
|
1670
|
-
});
|
|
1671
|
-
}
|
|
1672
|
-
return neetoCist.findBy({
|
|
1673
|
-
value: filter.value
|
|
1674
|
-
}, options);
|
|
1675
|
-
};
|
|
1676
|
-
var buildSingleTimeValue = function buildSingleTimeValue(filter) {
|
|
1677
|
-
var _findBy2;
|
|
1678
|
-
if (!filter) return null;
|
|
1679
|
-
return (_findBy2 = neetoCist.findBy({
|
|
1680
|
-
value: filter.value
|
|
1681
|
-
}, TIME_OPTIONS)) !== null && _findBy2 !== void 0 ? _findBy2 : ramda.last(TIME_OPTIONS);
|
|
1682
|
-
};
|
|
1683
|
-
var getOtherProps = function getOtherProps(props) {
|
|
1684
|
-
return ramda.omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
|
|
1979
|
+
var QUERY_KEYS = {
|
|
1980
|
+
SEGMENTS_LIST: "segments-list"
|
|
1685
1981
|
};
|
|
1686
|
-
var
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
options = options.map(ramda.modify("value", function (value) {
|
|
1691
|
-
return value === null || value === void 0 ? void 0 : value.toString();
|
|
1692
|
-
}));
|
|
1693
|
-
if (!filter) return options;
|
|
1694
|
-
if (isMulti(defaultType)) {
|
|
1695
|
-
var selectedOptions = filter.value.map(function (value) {
|
|
1696
|
-
return neetoCist.findBy({
|
|
1697
|
-
value: value
|
|
1698
|
-
}, options) || neetoCist.toLabelAndValue(value);
|
|
1699
|
-
});
|
|
1700
|
-
var nonSelectedOptions = options.filter(function (option) {
|
|
1701
|
-
return !filter.value.includes(option.value);
|
|
1702
|
-
});
|
|
1703
|
-
return ramda.concat(selectedOptions, nonSelectedOptions);
|
|
1704
|
-
}
|
|
1705
|
-
if (!neetoCist.findBy({
|
|
1706
|
-
value: filter.value
|
|
1707
|
-
}, options)) {
|
|
1708
|
-
return ramda.append(neetoCist.toLabelAndValue(filter.value), options);
|
|
1709
|
-
}
|
|
1710
|
-
return options;
|
|
1982
|
+
var SEGMENTS_STALE_TIME = 900000; // 15 mins
|
|
1983
|
+
|
|
1984
|
+
var DEFAULT_SEGMENTS_CACHE = {
|
|
1985
|
+
segments: []
|
|
1711
1986
|
};
|
|
1712
|
-
var
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
}, DATE_OPTIONS) || findDateOption(filter, DATE_OPTIONS) : {};
|
|
1987
|
+
var SEGMENT_ACTIONS$1 = {
|
|
1988
|
+
EDIT: "edit",
|
|
1989
|
+
CREATE: "create"
|
|
1716
1990
|
};
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
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")
|
|
1720
2004
|
}
|
|
1721
|
-
|
|
1722
|
-
|
|
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")));
|
|
1723
2014
|
}
|
|
1724
|
-
return
|
|
2015
|
+
return value.map(utils.dateFormat.date).join(" - ");
|
|
1725
2016
|
};
|
|
1726
|
-
var
|
|
1727
|
-
var
|
|
1728
|
-
var
|
|
1729
|
-
|
|
1730
|
-
|
|
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
|
+
});
|
|
1731
2050
|
}
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
return diffWithStart < diffWithEnd ? neetoCist.findBy({
|
|
1736
|
-
value: "after"
|
|
1737
|
-
}, options) : neetoCist.findBy({
|
|
1738
|
-
value: "before"
|
|
1739
|
-
}, options);
|
|
2051
|
+
return ((_findBy2 = neetoCist.findBy({
|
|
2052
|
+
value: value
|
|
2053
|
+
}, values)) === null || _findBy2 === void 0 ? void 0 : _findBy2.label) || value;
|
|
1740
2054
|
};
|
|
1741
|
-
var
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
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;
|
|
1746
2074
|
}
|
|
1747
|
-
return
|
|
2075
|
+
return "";
|
|
1748
2076
|
};
|
|
1749
|
-
var
|
|
1750
|
-
return
|
|
2077
|
+
var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
|
|
2078
|
+
return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
|
|
1751
2079
|
};
|
|
1752
|
-
|
|
1753
|
-
var
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
autoFocus = _ref.autoFocus;
|
|
1758
|
-
var key = column.key,
|
|
1759
|
-
_column$defaultType = column.defaultType,
|
|
1760
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1761
|
-
label = column.label,
|
|
1762
|
-
values = column.values,
|
|
1763
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1764
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1765
|
-
var options = ramda.isNil(values) || ramda.isEmpty(values) ? DEFAULT_BOOLEAN_OPTIONS : values;
|
|
1766
|
-
var otherProps = getOtherProps(column);
|
|
1767
|
-
var value = buildDropdownValue({
|
|
1768
|
-
defaultType: defaultType,
|
|
1769
|
-
filter: filter,
|
|
1770
|
-
options: options
|
|
1771
|
-
});
|
|
1772
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
1773
|
-
t = _useTranslation.t;
|
|
1774
|
-
var handleChange = function handleChange(option) {
|
|
1775
|
-
if (ramda.isEmpty(option) || ramda.isNil(option)) {
|
|
1776
|
-
handleApplyFilter({
|
|
1777
|
-
_delete: true
|
|
1778
|
-
});
|
|
1779
|
-
return;
|
|
1780
|
-
}
|
|
1781
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1782
|
-
column: column,
|
|
1783
|
-
defaultType: defaultType,
|
|
1784
|
-
option: option
|
|
1785
|
-
});
|
|
1786
|
-
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)));
|
|
1787
2085
|
};
|
|
1788
|
-
return
|
|
1789
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1790
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
1791
|
-
autoFocus: autoFocus,
|
|
1792
|
-
label: label,
|
|
1793
|
-
options: options,
|
|
1794
|
-
value: value,
|
|
1795
|
-
isClearable: true
|
|
1796
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1797
|
-
labelProps: {
|
|
1798
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1799
|
-
}
|
|
1800
|
-
}, {
|
|
1801
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
1802
|
-
strategy: "fixed",
|
|
1803
|
-
placeholder: t("neetoFilters.messages.selectOption", {
|
|
1804
|
-
resource: label
|
|
1805
|
-
}),
|
|
1806
|
-
onChange: handleChange
|
|
1807
|
-
}, otherProps)));
|
|
2086
|
+
return neetoCist.notEqualsDeep(comparisonHelper(filters1), comparisonHelper(filters2));
|
|
1808
2087
|
};
|
|
1809
|
-
var Boolean$1 = /*#__PURE__*/React__default["default"].memo(Boolean);
|
|
1810
2088
|
|
|
1811
|
-
var
|
|
1812
|
-
var
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
var
|
|
1823
|
-
|
|
1824
|
-
defaultType
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
var
|
|
1829
|
-
var
|
|
1830
|
-
|
|
1831
|
-
if (ramda.isEmpty(option) || ramda.isNil(option)) {
|
|
1832
|
-
handleApplyFilter({
|
|
1833
|
-
_delete: true
|
|
1834
|
-
});
|
|
1835
|
-
setSelectedRule({});
|
|
1836
|
-
return;
|
|
1837
|
-
}
|
|
1838
|
-
setSelectedRule(option);
|
|
1839
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1840
|
-
column: column,
|
|
1841
|
-
defaultType: defaultType,
|
|
1842
|
-
option: option
|
|
1843
|
-
});
|
|
1844
|
-
handleApplyFilter(updatedFilter);
|
|
1845
|
-
};
|
|
1846
|
-
var handleDateRangeChange = function handleDateRangeChange(dates) {
|
|
1847
|
-
if (ramda.isEmpty(dates) || ramda.isNil(dates)) {
|
|
1848
|
-
handleApplyFilter({
|
|
1849
|
-
_delete: true
|
|
1850
|
-
});
|
|
1851
|
-
setSelectedRule({});
|
|
1852
|
-
return;
|
|
1853
|
-
}
|
|
1854
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1855
|
-
column: column,
|
|
1856
|
-
defaultType: defaultType,
|
|
1857
|
-
option: {
|
|
1858
|
-
value: ramda.pluck("$d", buildDateValues(dates, selectedRule)).map(function (date) {
|
|
1859
|
-
return date.toISOString();
|
|
1860
|
-
})
|
|
1861
|
-
}
|
|
1862
|
-
});
|
|
1863
|
-
handleApplyFilter(updatedFilter);
|
|
1864
|
-
};
|
|
1865
|
-
React.useEffect(function () {
|
|
1866
|
-
ramda.isNil(filter) && setSelectedRule({});
|
|
1867
|
-
}, [filter]);
|
|
1868
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1869
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1870
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
1871
|
-
autoFocus: autoFocus,
|
|
1872
|
-
label: label,
|
|
1873
|
-
isClearable: true,
|
|
1874
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
1875
|
-
options: DATE_OPTIONS,
|
|
1876
|
-
strategy: "fixed",
|
|
1877
|
-
value: selectedRule,
|
|
1878
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1879
|
-
resource: label
|
|
1880
|
-
})
|
|
1881
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1882
|
-
labelProps: {
|
|
1883
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
1884
|
-
}
|
|
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);
|
|
1885
2109
|
}, {
|
|
1886
|
-
|
|
1887
|
-
})
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
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-500",
|
|
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
|
+
}))));
|
|
1894
2151
|
};
|
|
1895
|
-
var Datetime$1 = /*#__PURE__*/React__default["default"].memo(Datetime);
|
|
1896
2152
|
|
|
1897
|
-
var
|
|
1898
|
-
var
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
defaultValue = column.defaultValue,
|
|
1906
|
-
_column$defaultType = column.defaultType,
|
|
1907
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1908
|
-
_column$isClearable = column.isClearable,
|
|
1909
|
-
isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
|
|
1910
|
-
_column$helpIconProps = column.helpIconProps,
|
|
1911
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
1912
|
-
var otherProps = getOtherProps(column);
|
|
1913
|
-
var options = buildDropdownOptions({
|
|
1914
|
-
defaultType: defaultType,
|
|
1915
|
-
filter: filter,
|
|
1916
|
-
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"
|
|
1917
2161
|
});
|
|
1918
|
-
var
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
2162
|
+
var openFilterPaneHotKeyRef = useHotkeys__default["default"](SHORTCUTS.openFilterPane.sequence, function () {
|
|
2163
|
+
return setIsPaneOpen(childKey);
|
|
2164
|
+
}, {
|
|
2165
|
+
mode: "scoped"
|
|
1922
2166
|
});
|
|
1923
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
1924
|
-
t = _useTranslation.t;
|
|
1925
|
-
var handleChange = function handleChange(option) {
|
|
1926
|
-
if (ramda.isEmpty(option) || ramda.isNil(option)) {
|
|
1927
|
-
handleApplyFilter({
|
|
1928
|
-
_delete: true
|
|
1929
|
-
});
|
|
1930
|
-
return;
|
|
1931
|
-
}
|
|
1932
|
-
var updatedFilter = buildUpdatedFilter({
|
|
1933
|
-
column: column,
|
|
1934
|
-
defaultType: defaultType,
|
|
1935
|
-
option: option
|
|
1936
|
-
});
|
|
1937
|
-
handleApplyFilter(updatedFilter);
|
|
1938
|
-
};
|
|
1939
2167
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1940
|
-
className: "neeto-filters-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
strategy: "fixed",
|
|
1950
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1951
|
-
resource: label
|
|
1952
|
-
})
|
|
1953
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
1954
|
-
labelProps: {
|
|
1955
|
-
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);
|
|
1956
2177
|
}
|
|
1957
|
-
}, {
|
|
1958
|
-
|
|
1959
|
-
|
|
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
|
+
})));
|
|
1960
2192
|
};
|
|
1961
|
-
var Dropdown$1 = /*#__PURE__*/React__default["default"].memo(Dropdown);
|
|
1962
2193
|
|
|
1963
|
-
var
|
|
1964
|
-
var
|
|
1965
|
-
filter = _ref.filter,
|
|
2194
|
+
var FilterBar = function FilterBar(_ref) {
|
|
2195
|
+
var entity = _ref.entity,
|
|
1966
2196
|
filters = _ref.filters,
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
var
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
var value = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
1986
|
-
|
|
1987
|
-
// Reset states when "Clear filters" button is clicked.
|
|
1988
|
-
React.useEffect(function () {
|
|
1989
|
-
if (!ramda.isEmpty(filters)) return;
|
|
1990
|
-
setSelectedRule(SINGLE_DATE_OPTIONS[0]);
|
|
1991
|
-
}, [filters]);
|
|
1992
|
-
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
1993
|
-
setSelectedRule(ruleOption);
|
|
1994
|
-
|
|
1995
|
-
// Clear value if switched between incompatable types
|
|
1996
|
-
var updateValue = value;
|
|
1997
|
-
if (datePickerType === "range" && ruleOption.value !== "between" || datePickerType === "date" && ruleOption.value === "between") {
|
|
1998
|
-
updateValue = "";
|
|
1999
|
-
}
|
|
2000
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2001
|
-
column: column,
|
|
2002
|
-
defaultType: defaultType,
|
|
2003
|
-
option: {},
|
|
2004
|
-
rule: ruleOption.value,
|
|
2005
|
-
value: updateValue
|
|
2006
|
-
});
|
|
2007
|
-
handleApplyFilter(updatedFilter);
|
|
2008
|
-
};
|
|
2009
|
-
var handleChange = function handleChange(dates) {
|
|
2010
|
-
if (ramda.isEmpty(dates) || ramda.isNil(dates)) {
|
|
2011
|
-
handleApplyFilter({
|
|
2012
|
-
_delete: true
|
|
2013
|
-
});
|
|
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));
|
|
2014
2215
|
return;
|
|
2015
2216
|
}
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
});
|
|
2026
|
-
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);
|
|
2027
2226
|
};
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
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
|
+
}), neetoCist.isPresent(entity) && !hasOnlyKeywordFilter(filters) && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
2262
|
+
label: t("neetoFilters.segments.saveAsNewSegment"),
|
|
2263
|
+
style: "secondary",
|
|
2264
|
+
onClick: function onClick() {
|
|
2265
|
+
setIsPaneOpen(false);
|
|
2266
|
+
setIsSavePaneOpen({
|
|
2267
|
+
action: SEGMENT_ACTIONS$1.CREATE
|
|
2268
|
+
});
|
|
2040
2269
|
}
|
|
2270
|
+
}), !hideClearButton && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
2271
|
+
"data-cy": "neeto-filters-bar-clear-btn",
|
|
2272
|
+
label: t("neetoFilters.common.clearFilters"),
|
|
2273
|
+
style: "text",
|
|
2274
|
+
onClick: handleClearAll
|
|
2275
|
+
}));
|
|
2276
|
+
};
|
|
2277
|
+
|
|
2278
|
+
var fetch = function fetch(params) {
|
|
2279
|
+
return axios__default["default"].get(SEGMENTS_BASE_URL, {
|
|
2280
|
+
params: params
|
|
2281
|
+
});
|
|
2282
|
+
};
|
|
2283
|
+
var show = function show(id) {
|
|
2284
|
+
return axios__default["default"].get("".concat(SEGMENTS_BASE_URL, "/").concat(id), {
|
|
2285
|
+
transformResponseCase: false
|
|
2286
|
+
});
|
|
2287
|
+
};
|
|
2288
|
+
var create = function create(payload) {
|
|
2289
|
+
return axios__default["default"].post(SEGMENTS_BASE_URL, {
|
|
2290
|
+
segment: payload
|
|
2041
2291
|
}, {
|
|
2042
|
-
|
|
2043
|
-
})
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2292
|
+
showToastr: false
|
|
2293
|
+
});
|
|
2294
|
+
};
|
|
2295
|
+
var update = function update(_ref) {
|
|
2296
|
+
var id = _ref.id,
|
|
2297
|
+
payload = _ref.payload,
|
|
2298
|
+
_ref$showToastr = _ref.showToastr,
|
|
2299
|
+
showToastr = _ref$showToastr === void 0 ? true : _ref$showToastr;
|
|
2300
|
+
return axios__default["default"].put("".concat(SEGMENTS_BASE_URL, "/").concat(id), payload, {
|
|
2301
|
+
showToastr: showToastr
|
|
2302
|
+
});
|
|
2303
|
+
};
|
|
2304
|
+
var destroy = function destroy(id) {
|
|
2305
|
+
return axios__default["default"]["delete"]("".concat(SEGMENTS_BASE_URL, "/").concat(id));
|
|
2306
|
+
};
|
|
2307
|
+
var segmentsApi = {
|
|
2308
|
+
fetch: fetch,
|
|
2309
|
+
show: show,
|
|
2310
|
+
create: create,
|
|
2311
|
+
update: update,
|
|
2312
|
+
destroy: destroy
|
|
2051
2313
|
};
|
|
2052
2314
|
|
|
2053
|
-
var
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2315
|
+
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; }
|
|
2316
|
+
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; }
|
|
2317
|
+
var SEGMENTS_LIST = QUERY_KEYS.SEGMENTS_LIST;
|
|
2318
|
+
var useFetchSegments = function useFetchSegments(_ref) {
|
|
2319
|
+
var entity = _ref.entity,
|
|
2320
|
+
_ref$searchTerm = _ref.searchTerm,
|
|
2321
|
+
searchTerm = _ref$searchTerm === void 0 ? "" : _ref$searchTerm;
|
|
2322
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2323
|
+
return reactQuery.useQuery([SEGMENTS_LIST, entity, searchTerm], function () {
|
|
2324
|
+
return segmentsApi.fetch({
|
|
2325
|
+
entity: entity,
|
|
2326
|
+
searchTerm: searchTerm
|
|
2327
|
+
});
|
|
2328
|
+
}, ramda.mergeRight({
|
|
2329
|
+
staleTime: SEGMENTS_STALE_TIME,
|
|
2330
|
+
select: ramda.prop("segments")
|
|
2331
|
+
}, options));
|
|
2332
|
+
};
|
|
2333
|
+
var useCreateSegment = function useCreateSegment(options) {
|
|
2334
|
+
return reactUtils.useMutationWithInvalidation(segmentsApi.create, _objectSpread$3({
|
|
2335
|
+
keysToInvalidate: [SEGMENTS_LIST]
|
|
2336
|
+
}, options));
|
|
2337
|
+
};
|
|
2338
|
+
var useUpdateSegment = function useUpdateSegment(options) {
|
|
2339
|
+
return reactUtils.useMutationWithInvalidation(segmentsApi.update, _objectSpread$3({
|
|
2340
|
+
keysToInvalidate: [SEGMENTS_LIST]
|
|
2341
|
+
}, options));
|
|
2342
|
+
};
|
|
2343
|
+
var useDestroySegment = function useDestroySegment(options) {
|
|
2344
|
+
return reactUtils.useMutationWithInvalidation(segmentsApi.destroy, _objectSpread$3({
|
|
2345
|
+
keysToInvalidate: [SEGMENTS_LIST]
|
|
2346
|
+
}, options));
|
|
2347
|
+
};
|
|
2348
|
+
|
|
2349
|
+
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; }
|
|
2350
|
+
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; }
|
|
2351
|
+
var useSegment = function useSegment(_ref) {
|
|
2352
|
+
var entity = _ref.entity,
|
|
2353
|
+
keyword = _ref.keyword,
|
|
2354
|
+
columns = _ref.columns,
|
|
2355
|
+
childrenKeys = _ref.childrenKeys;
|
|
2356
|
+
var history = reactRouterDom.useHistory();
|
|
2357
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
2358
|
+
t = _useTranslation.t;
|
|
2359
|
+
var initialRenderRef = React.useRef(true);
|
|
2360
|
+
var _useQueryParams = reactUtils.useQueryParams(),
|
|
2361
|
+
segmentId = _useQueryParams.segmentId;
|
|
2362
|
+
var _useState = React.useState({
|
|
2363
|
+
action: undefined
|
|
2063
2364
|
}),
|
|
2064
2365
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
var
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
var
|
|
2074
|
-
var
|
|
2075
|
-
|
|
2366
|
+
isSavePaneOpen = _useState2[0],
|
|
2367
|
+
setIsSavePaneOpen = _useState2[1];
|
|
2368
|
+
var _useCreateSegment = useCreateSegment(),
|
|
2369
|
+
createSegment = _useCreateSegment.mutate,
|
|
2370
|
+
isCreating = _useCreateSegment.isLoading;
|
|
2371
|
+
var _useUpdateSegment = useUpdateSegment(),
|
|
2372
|
+
updateSegment = _useUpdateSegment.mutate,
|
|
2373
|
+
isUpdating = _useUpdateSegment.isLoading;
|
|
2374
|
+
var isSubmitting = isCreating || isUpdating;
|
|
2375
|
+
var searchParams = reactUtils.useQueryParams({
|
|
2376
|
+
toCamelCase: false
|
|
2377
|
+
});
|
|
2378
|
+
var keywordValue = searchParams[SEARCH_TERM_KEY] || "";
|
|
2379
|
+
var isEdit = isSavePaneOpen.action === SEGMENT_ACTIONS$1.EDIT;
|
|
2380
|
+
var keywordFilter = _objectSpread$2(_objectSpread$2({
|
|
2381
|
+
type: "text",
|
|
2382
|
+
rule: "contains",
|
|
2383
|
+
label: t("neetoFilters.common.searchTerm")
|
|
2384
|
+
}, keyword), {}, {
|
|
2385
|
+
key: SEARCH_TERM_KEY,
|
|
2386
|
+
value: keywordValue
|
|
2387
|
+
});
|
|
2388
|
+
var filters = buildFiltersFromSearchParams(isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(keywordValue) ? [keywordFilter].concat(_toConsumableArray(columns)) : columns);
|
|
2389
|
+
var nonHiddenFilters = neetoCist.removeBy({
|
|
2390
|
+
hidden: true
|
|
2391
|
+
}, filters);
|
|
2392
|
+
var handleApplyFilters = function handleApplyFilters(newFilters, isClearAll) {
|
|
2393
|
+
var params = buildUrlFromFilters(_objectSpread$2({
|
|
2394
|
+
columns: columns,
|
|
2395
|
+
filters: isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(newFilters), [keywordFilter]) : newFilters
|
|
2396
|
+
}, isClearAll && {
|
|
2397
|
+
isClearAll: true,
|
|
2398
|
+
childrenKeys: childrenKeys
|
|
2399
|
+
}));
|
|
2400
|
+
history.push({
|
|
2401
|
+
search: params
|
|
2402
|
+
});
|
|
2403
|
+
};
|
|
2404
|
+
var childrenFiltersApplied = childrenKeys.some(function (key) {
|
|
2405
|
+
return ramda.has(key, searchParams);
|
|
2406
|
+
});
|
|
2076
2407
|
React.useEffect(function () {
|
|
2077
|
-
if (
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
var handleRuleChange = function handleRuleChange(ruleOption) {
|
|
2081
|
-
setSelectedRule(ruleOption);
|
|
2082
|
-
|
|
2083
|
-
// Clear value if switched between incompatible types
|
|
2084
|
-
var updateValue = value;
|
|
2085
|
-
if (timePickerType === "range" && ruleOption.value !== "between" || timePickerType === "time" && ruleOption.value === "between") {
|
|
2086
|
-
updateValue = "";
|
|
2408
|
+
if (initialRenderRef.current) {
|
|
2409
|
+
initialRenderRef.current = false;
|
|
2410
|
+
return neetoCist.noop;
|
|
2087
2411
|
}
|
|
2088
|
-
var
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2412
|
+
var handler = setTimeout(function () {
|
|
2413
|
+
handleApplyFilters(filters);
|
|
2414
|
+
}, 500);
|
|
2415
|
+
return function () {
|
|
2416
|
+
return clearTimeout(handler);
|
|
2417
|
+
};
|
|
2418
|
+
}, [keywordValue]);
|
|
2419
|
+
var handleCreateSuccess = function handleCreateSuccess(_ref2) {
|
|
2420
|
+
var _filters$;
|
|
2421
|
+
var _ref2$segment = _ref2.segment,
|
|
2422
|
+
id = _ref2$segment.id,
|
|
2423
|
+
filters = _ref2$segment.filters;
|
|
2424
|
+
history.push({
|
|
2425
|
+
search: buildUrlFromSegment({
|
|
2426
|
+
columns: columns,
|
|
2427
|
+
filters: (_filters$ = filters[0]) === null || _filters$ === void 0 ? void 0 : _filters$.conditions,
|
|
2428
|
+
id: id
|
|
2429
|
+
})
|
|
2094
2430
|
});
|
|
2095
|
-
|
|
2431
|
+
setIsSavePaneOpen({
|
|
2432
|
+
action: undefined
|
|
2433
|
+
});
|
|
2434
|
+
utils.showThumbsUpToastr();
|
|
2096
2435
|
};
|
|
2097
|
-
var
|
|
2098
|
-
var
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2436
|
+
var handleCreate = function handleCreate(_ref3, _ref4) {
|
|
2437
|
+
var name = _ref3.name;
|
|
2438
|
+
var setFieldError = _ref4.setFieldError;
|
|
2439
|
+
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
2440
|
+
createSegment({
|
|
2441
|
+
name: name,
|
|
2442
|
+
entity: entity,
|
|
2443
|
+
filters: filtersPayload
|
|
2444
|
+
}, {
|
|
2445
|
+
onSuccess: handleCreateSuccess,
|
|
2446
|
+
onError: function onError(error) {
|
|
2447
|
+
return setFieldError("name", error.response.data.error);
|
|
2448
|
+
}
|
|
2107
2449
|
});
|
|
2108
|
-
handleApplyFilter(updatedFilter);
|
|
2109
2450
|
};
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
format: "h:mm A",
|
|
2131
|
-
getPopupContainer: ramda.prop("parentNode"),
|
|
2132
|
-
type: timePickerType,
|
|
2133
|
-
onChange: handleChange
|
|
2134
|
-
}, otherProps)));
|
|
2135
|
-
};
|
|
2136
|
-
|
|
2137
|
-
var Text = function Text(_ref) {
|
|
2138
|
-
var column = _ref.column,
|
|
2139
|
-
filter = _ref.filter,
|
|
2140
|
-
filters = _ref.filters,
|
|
2141
|
-
handleApplyFilter = _ref.handleApplyFilter,
|
|
2142
|
-
autoFocus = _ref.autoFocus,
|
|
2143
|
-
onClose = _ref.onClose;
|
|
2144
|
-
var key = column.key,
|
|
2145
|
-
_column$defaultType = column.defaultType,
|
|
2146
|
-
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
2147
|
-
label = column.label,
|
|
2148
|
-
_column$showRuleSelec = column.showRuleSelector,
|
|
2149
|
-
showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
|
|
2150
|
-
_column$helpIconProps = column.helpIconProps,
|
|
2151
|
-
helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
|
|
2152
|
-
var otherProps = getOtherProps(column);
|
|
2153
|
-
var ruleOptions = buildRuleOptions({
|
|
2154
|
-
defaultType: defaultType
|
|
2155
|
-
});
|
|
2156
|
-
var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
|
|
2157
|
-
var _useState = React.useState(filter === null || filter === void 0 ? void 0 : filter.value),
|
|
2158
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2159
|
-
inputValue = _useState2[0],
|
|
2160
|
-
setInputValue = _useState2[1];
|
|
2161
|
-
var _useState3 = React.useState(function () {
|
|
2162
|
-
return neetoCist.findBy({
|
|
2163
|
-
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
2164
|
-
}, ruleOptions) || ruleOptions[0];
|
|
2165
|
-
}),
|
|
2166
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
2167
|
-
selectedRule = _useState4[0],
|
|
2168
|
-
setSelectedRule = _useState4[1];
|
|
2169
|
-
var debouncedInputValue = reactUtils.useDebounce(inputValue);
|
|
2170
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
2171
|
-
t = _useTranslation.t;
|
|
2172
|
-
var handleUpdateAndApplyFilter = function handleUpdateAndApplyFilter() {
|
|
2173
|
-
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
|
|
2174
|
-
var rule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
|
|
2175
|
-
if (ramda.equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && ramda.equals(selectedRule, rule)) return;
|
|
2176
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2177
|
-
column: column,
|
|
2178
|
-
defaultType: defaultType,
|
|
2179
|
-
option: {},
|
|
2180
|
-
rule: rule.value,
|
|
2181
|
-
value: value.trim()
|
|
2451
|
+
var handleUpdate = function handleUpdate(_ref5, _ref6) {
|
|
2452
|
+
var name = _ref5.name;
|
|
2453
|
+
var setFieldError = _ref6.setFieldError;
|
|
2454
|
+
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
2455
|
+
updateSegment({
|
|
2456
|
+
id: segmentId,
|
|
2457
|
+
payload: {
|
|
2458
|
+
name: name,
|
|
2459
|
+
filters: filtersPayload
|
|
2460
|
+
}
|
|
2461
|
+
}, {
|
|
2462
|
+
onSuccess: function onSuccess() {
|
|
2463
|
+
setIsSavePaneOpen({
|
|
2464
|
+
action: undefined
|
|
2465
|
+
});
|
|
2466
|
+
utils.showThumbsUpToastr();
|
|
2467
|
+
},
|
|
2468
|
+
onError: function onError(error) {
|
|
2469
|
+
return setFieldError("name", error.response.data.error);
|
|
2470
|
+
}
|
|
2182
2471
|
});
|
|
2183
|
-
handleApplyFilter(updatedFilter);
|
|
2184
|
-
};
|
|
2185
|
-
var handleKeydown = function handleKeydown(e) {
|
|
2186
|
-
if (!(e.key === "Enter")) return;
|
|
2187
|
-
handleUpdateAndApplyFilter(inputValue);
|
|
2188
|
-
onClose();
|
|
2189
2472
|
};
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2473
|
+
return {
|
|
2474
|
+
isEdit: isEdit,
|
|
2475
|
+
filters: filters,
|
|
2476
|
+
keywordFilter: keywordFilter,
|
|
2477
|
+
isSubmitting: isSubmitting,
|
|
2478
|
+
nonHiddenFilters: nonHiddenFilters,
|
|
2479
|
+
isSavePaneOpen: isSavePaneOpen,
|
|
2480
|
+
setIsSavePaneOpen: setIsSavePaneOpen,
|
|
2481
|
+
handleApplyFilters: handleApplyFilters,
|
|
2482
|
+
childrenFiltersApplied: childrenFiltersApplied,
|
|
2483
|
+
handleSubmit: isEdit ? handleUpdate : handleCreate
|
|
2194
2484
|
};
|
|
2485
|
+
};
|
|
2195
2486
|
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2487
|
+
var Menu = neetoui.Dropdown.Menu,
|
|
2488
|
+
MenuItem = neetoui.Dropdown.MenuItem;
|
|
2489
|
+
var SegmentBar = function SegmentBar(_ref) {
|
|
2490
|
+
var entity = _ref.entity,
|
|
2491
|
+
filters = _ref.filters,
|
|
2492
|
+
setIsSavePaneOpen = _ref.setIsSavePaneOpen,
|
|
2493
|
+
setIsPaneOpen = _ref.setIsPaneOpen;
|
|
2494
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
2495
|
+
t = _useTranslation.t;
|
|
2496
|
+
var _useQueryParams = reactUtils.useQueryParams(),
|
|
2497
|
+
segmentId = _useQueryParams.segmentId;
|
|
2498
|
+
var queryClient = reactQuery.useQueryClient();
|
|
2499
|
+
var cachedSegments = queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, ""]) || DEFAULT_SEGMENTS_CACHE;
|
|
2500
|
+
var segment = neetoCist.findById(segmentId, cachedSegments.segments);
|
|
2501
|
+
if (neetoCist.isNotPresent(segment)) return null;
|
|
2502
|
+
var newChangesExists = deepCompare(segment.filters[0].conditions, filters);
|
|
2503
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2504
|
+
className: "neeto-ui-text-gray-600 mr-4",
|
|
2505
|
+
"data-cy": "neeto-filters-segment-name",
|
|
2506
|
+
style: "h4"
|
|
2507
|
+
}, segment.name), newChangesExists && /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
|
|
2508
|
+
buttonStyle: "secondary",
|
|
2509
|
+
label: t("neetoFilters.segments.updateSegment")
|
|
2510
|
+
}, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
2511
|
+
onClick: function onClick() {
|
|
2512
|
+
return setIsSavePaneOpen({
|
|
2513
|
+
action: SEGMENT_ACTIONS$1.EDIT
|
|
2204
2514
|
});
|
|
2205
|
-
return;
|
|
2206
|
-
}
|
|
2207
|
-
handleUpdateAndApplyFilter();
|
|
2208
|
-
}, [debouncedInputValue]);
|
|
2209
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2210
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2211
|
-
}, showRuleSelector && /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
2212
|
-
label: label,
|
|
2213
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter-rule"),
|
|
2214
|
-
defaultValue: ruleOptions[0],
|
|
2215
|
-
options: ruleOptions,
|
|
2216
|
-
strategy: "fixed",
|
|
2217
|
-
value: selectedRule,
|
|
2218
|
-
onChange: handleRuleChange
|
|
2219
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
2220
|
-
labelProps: {
|
|
2221
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2222
2515
|
}
|
|
2223
|
-
})), /*#__PURE__*/React__default["default"].createElement(
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
2230
|
-
labelProps: {
|
|
2231
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2516
|
+
}, t("neetoFilters.segments.updateSegment")), /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
2517
|
+
onClick: function onClick() {
|
|
2518
|
+
setIsPaneOpen(false);
|
|
2519
|
+
setIsSavePaneOpen({
|
|
2520
|
+
action: SEGMENT_ACTIONS$1.CREATE
|
|
2521
|
+
});
|
|
2232
2522
|
}
|
|
2233
|
-
},
|
|
2234
|
-
placeholder: t("neetoFilters.messages.enterResource", {
|
|
2235
|
-
resource: label
|
|
2236
|
-
}),
|
|
2237
|
-
onChange: function onChange(event) {
|
|
2238
|
-
return setInputValue(event.target.value);
|
|
2239
|
-
},
|
|
2240
|
-
onKeyDown: handleKeydown
|
|
2241
|
-
}, otherProps)));
|
|
2523
|
+
}, t("neetoFilters.segments.saveAsNewSegment")))));
|
|
2242
2524
|
};
|
|
2243
2525
|
|
|
2244
|
-
var
|
|
2245
|
-
var
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2526
|
+
var Bar = function Bar(_ref) {
|
|
2527
|
+
var entity = _ref.entity,
|
|
2528
|
+
className = _ref.className,
|
|
2529
|
+
_ref$columns = _ref.columns,
|
|
2530
|
+
columns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
2531
|
+
_ref$keyword = _ref.keyword,
|
|
2532
|
+
keyword = _ref$keyword === void 0 ? {
|
|
2533
|
+
node: "",
|
|
2534
|
+
value: "",
|
|
2535
|
+
setValue: neetoCist.noop
|
|
2536
|
+
} : _ref$keyword,
|
|
2537
|
+
_ref$setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2538
|
+
setIsPaneOpen = _ref$setIsPaneOpen === void 0 ? ramda.identity : _ref$setIsPaneOpen,
|
|
2539
|
+
_ref$childrenKeys = _ref.childrenKeys,
|
|
2540
|
+
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
|
|
2541
|
+
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
2542
|
+
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? i18next.t("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
|
|
2543
|
+
customFilters = _ref.customFilters;
|
|
2544
|
+
var queryClient = reactQuery.useQueryClient();
|
|
2545
|
+
var _useQueryParams = reactUtils.useQueryParams(),
|
|
2546
|
+
segmentId = _useQueryParams.segmentId;
|
|
2547
|
+
var segmentFormInitialRef = React.useRef(null);
|
|
2548
|
+
var _useSegment = useSegment({
|
|
2549
|
+
entity: entity,
|
|
2550
|
+
keyword: keyword,
|
|
2551
|
+
columns: columns,
|
|
2552
|
+
childrenKeys: childrenKeys
|
|
2553
|
+
}),
|
|
2554
|
+
isEdit = _useSegment.isEdit,
|
|
2555
|
+
filters = _useSegment.filters,
|
|
2556
|
+
handleSubmit = _useSegment.handleSubmit,
|
|
2557
|
+
isSubmitting = _useSegment.isSubmitting,
|
|
2558
|
+
keywordFilter = _useSegment.keywordFilter,
|
|
2559
|
+
isSavePaneOpen = _useSegment.isSavePaneOpen,
|
|
2560
|
+
nonHiddenFilters = _useSegment.nonHiddenFilters,
|
|
2561
|
+
setIsSavePaneOpen = _useSegment.setIsSavePaneOpen,
|
|
2562
|
+
handleApplyFilters = _useSegment.handleApplyFilters,
|
|
2563
|
+
childrenFiltersApplied = _useSegment.childrenFiltersApplied;
|
|
2564
|
+
var BarComponent = segmentId ? SegmentBar : FilterBar;
|
|
2565
|
+
var cachedSegments = queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, ""]) || DEFAULT_SEGMENTS_CACHE;
|
|
2566
|
+
var segment = neetoCist.findById(segmentId, cachedSegments.segments);
|
|
2567
|
+
if (ramda.isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;
|
|
2568
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2569
|
+
className: classnames__default["default"]("neeto-filters-bar", _defineProperty({}, className, className))
|
|
2570
|
+
}, /*#__PURE__*/React__default["default"].createElement(BarComponent, {
|
|
2571
|
+
childrenFiltersApplied: childrenFiltersApplied,
|
|
2572
|
+
childrenKeys: childrenKeys,
|
|
2573
|
+
entity: entity,
|
|
2574
|
+
filters: filters,
|
|
2575
|
+
handleApplyFilters: handleApplyFilters,
|
|
2576
|
+
keywordFilter: keywordFilter,
|
|
2577
|
+
nonHiddenFilters: nonHiddenFilters,
|
|
2578
|
+
setIsPaneOpen: setIsPaneOpen,
|
|
2579
|
+
setIsSavePaneOpen: setIsSavePaneOpen
|
|
2580
|
+
})), /*#__PURE__*/React__default["default"].createElement(SegmentForm, {
|
|
2581
|
+
childrenKeys: childrenKeys,
|
|
2582
|
+
columns: columns,
|
|
2583
|
+
customFilters: customFilters,
|
|
2584
|
+
defaultSegmentName: defaultSegmentName,
|
|
2585
|
+
filters: filters,
|
|
2586
|
+
handleSubmit: handleSubmit,
|
|
2587
|
+
isEdit: isEdit,
|
|
2588
|
+
isSubmitting: isSubmitting,
|
|
2589
|
+
keywordFilter: keywordFilter,
|
|
2590
|
+
segmentFormInitialRef: segmentFormInitialRef,
|
|
2591
|
+
isOpen: neetoCist.isPresent(isSavePaneOpen.action),
|
|
2592
|
+
initialValues: isEdit ? ramda.assoc("filters", [{
|
|
2593
|
+
conditions: filters
|
|
2594
|
+
}], segment) : {
|
|
2595
|
+
name: "",
|
|
2596
|
+
filters: [{
|
|
2597
|
+
conditions: filters
|
|
2598
|
+
}]
|
|
2599
|
+
},
|
|
2600
|
+
onClose: function onClose() {
|
|
2601
|
+
return setIsSavePaneOpen({
|
|
2602
|
+
action: undefined
|
|
2264
2603
|
});
|
|
2265
|
-
return;
|
|
2266
|
-
}
|
|
2267
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2268
|
-
column: column,
|
|
2269
|
-
defaultType: defaultType,
|
|
2270
|
-
option: option
|
|
2271
|
-
});
|
|
2272
|
-
handleApplyFilter(updatedFilter);
|
|
2273
|
-
};
|
|
2274
|
-
var handleTimeRangeChange = function handleTimeRangeChange(times) {
|
|
2275
|
-
var updatedFilter = buildUpdatedFilter({
|
|
2276
|
-
column: column,
|
|
2277
|
-
defaultType: defaultType,
|
|
2278
|
-
option: {
|
|
2279
|
-
value: ramda.pluck("$d", times).map(function (time) {
|
|
2280
|
-
return time.toISOString();
|
|
2281
|
-
})
|
|
2282
|
-
}
|
|
2283
|
-
});
|
|
2284
|
-
handleApplyFilter(updatedFilter);
|
|
2285
|
-
};
|
|
2286
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2287
|
-
className: "neeto-filters-pane-filter__item-wrapper"
|
|
2288
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
2289
|
-
autoFocus: autoFocus,
|
|
2290
|
-
label: label,
|
|
2291
|
-
value: value,
|
|
2292
|
-
isClearable: true,
|
|
2293
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
|
|
2294
|
-
options: TIME_OPTIONS,
|
|
2295
|
-
strategy: "fixed",
|
|
2296
|
-
placeholder: t("neetoFilters.messages.selectResource", {
|
|
2297
|
-
resource: label
|
|
2298
|
-
})
|
|
2299
|
-
}, neetoCist.isNotEmpty(helpIconProps) && {
|
|
2300
|
-
labelProps: {
|
|
2301
|
-
helpIconProps: buildHelpIconProps(helpIconProps)
|
|
2302
2604
|
}
|
|
2303
|
-
}
|
|
2304
|
-
onChange: handleChange
|
|
2305
|
-
})), isCustomTimeRangeShown && /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({
|
|
2306
|
-
use12Hours: true,
|
|
2307
|
-
"data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-date-range"),
|
|
2308
|
-
format: "h:mm A",
|
|
2309
|
-
getPopupContainer: ramda.prop("parentNode"),
|
|
2310
|
-
type: "range",
|
|
2311
|
-
value: filter.value,
|
|
2312
|
-
onChange: handleTimeRangeChange
|
|
2313
|
-
}, otherProps)));
|
|
2605
|
+
}));
|
|
2314
2606
|
};
|
|
2315
|
-
var Time$1 = /*#__PURE__*/React__default["default"].memo(Time);
|
|
2316
2607
|
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
var filter = React.useMemo(function () {
|
|
2327
|
-
return neetoCist.findBy({
|
|
2328
|
-
key: key
|
|
2329
|
-
}, filters);
|
|
2330
|
-
}, [filters, key]);
|
|
2331
|
-
var handleApplyFilter = function handleApplyFilter(updatedFilter) {
|
|
2332
|
-
if (updatedFilter._delete) onChange(neetoCist.removeBy({
|
|
2333
|
-
key: key
|
|
2334
|
-
}, filters));else if (!filter) onChange(ramda.append(updatedFilter, filters));else onChange(neetoCist.replaceBy({
|
|
2335
|
-
key: key
|
|
2336
|
-
}, updatedFilter, filters));
|
|
2337
|
-
};
|
|
2338
|
-
if (isText(defaultType) || isDigit(defaultType)) {
|
|
2339
|
-
return /*#__PURE__*/React__default["default"].createElement(Text, {
|
|
2340
|
-
autoFocus: autoFocus,
|
|
2341
|
-
column: column,
|
|
2342
|
-
filter: filter,
|
|
2343
|
-
filters: filters,
|
|
2344
|
-
handleApplyFilter: handleApplyFilter,
|
|
2345
|
-
onClose: onClose
|
|
2346
|
-
});
|
|
2347
|
-
}
|
|
2348
|
-
if (isDate(defaultType)) {
|
|
2349
|
-
return /*#__PURE__*/React__default["default"].createElement(Datetime$1, {
|
|
2350
|
-
autoFocus: autoFocus,
|
|
2351
|
-
column: column,
|
|
2352
|
-
filter: filter,
|
|
2353
|
-
handleApplyFilter: handleApplyFilter
|
|
2354
|
-
});
|
|
2608
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
2609
|
+
if (source == null) return {};
|
|
2610
|
+
var target = {};
|
|
2611
|
+
var sourceKeys = Object.keys(source);
|
|
2612
|
+
var key, i;
|
|
2613
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
2614
|
+
key = sourceKeys[i];
|
|
2615
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
2616
|
+
target[key] = source[key];
|
|
2355
2617
|
}
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2618
|
+
return target;
|
|
2619
|
+
}
|
|
2620
|
+
|
|
2621
|
+
function _objectWithoutProperties(source, excluded) {
|
|
2622
|
+
if (source == null) return {};
|
|
2623
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
2624
|
+
var key, i;
|
|
2625
|
+
if (Object.getOwnPropertySymbols) {
|
|
2626
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
2627
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
2628
|
+
key = sourceSymbolKeys[i];
|
|
2629
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
2630
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
2631
|
+
target[key] = source[key];
|
|
2632
|
+
}
|
|
2363
2633
|
}
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2634
|
+
return target;
|
|
2635
|
+
}
|
|
2636
|
+
|
|
2637
|
+
var useFilters = function useFilters(_ref) {
|
|
2638
|
+
var onFiltersChange = _ref.onFiltersChange,
|
|
2639
|
+
columns = _ref.columns,
|
|
2640
|
+
keywordFilter = _ref.keywordFilter,
|
|
2641
|
+
onSelectorsChange = _ref.onSelectorsChange;
|
|
2642
|
+
var _useTransition = React.useTransition(),
|
|
2643
|
+
_useTransition2 = _slicedToArray(_useTransition, 2);
|
|
2644
|
+
_useTransition2[0];
|
|
2645
|
+
var startTransition = _useTransition2[1];
|
|
2646
|
+
var initialRender = React.useRef(true);
|
|
2647
|
+
var prevFilters = React.useRef([]);
|
|
2648
|
+
var location = reactRouterDom.useLocation();
|
|
2649
|
+
var filters = buildFiltersFromSearchParams(columns, false);
|
|
2650
|
+
var history = reactRouterDom.useHistory();
|
|
2651
|
+
var defaultValuesOfColumns = JSON.stringify(ramda.pluck("defaultValue", columns));
|
|
2652
|
+
var handlePrecenseOfDefaultFilters = function handlePrecenseOfDefaultFilters(defaultFilters) {
|
|
2653
|
+
var params = buildUrlFromFilters({
|
|
2654
|
+
columns: columns,
|
|
2655
|
+
filters: isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(getSearchTermFromUrl()) ? [].concat(_toConsumableArray(defaultFilters), [keywordFilter]) : defaultFilters
|
|
2371
2656
|
});
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
return /*#__PURE__*/React__default["default"].createElement(SingleTime, {
|
|
2375
|
-
autoFocus: autoFocus,
|
|
2376
|
-
column: column,
|
|
2377
|
-
filter: filter,
|
|
2378
|
-
filters: filters,
|
|
2379
|
-
handleApplyFilter: handleApplyFilter
|
|
2657
|
+
history.replace({
|
|
2658
|
+
search: params
|
|
2380
2659
|
});
|
|
2381
|
-
}
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
handleApplyFilter: handleApplyFilter
|
|
2660
|
+
};
|
|
2661
|
+
var handleFiltersChange = function handleFiltersChange(filtersPayload) {
|
|
2662
|
+
startTransition(function () {
|
|
2663
|
+
onFiltersChange(buildFiltersPayload(filtersPayload.filter(function (filter) {
|
|
2664
|
+
return !ramda.isNil(filter.node);
|
|
2665
|
+
})));
|
|
2388
2666
|
});
|
|
2389
|
-
}
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2667
|
+
};
|
|
2668
|
+
|
|
2669
|
+
//This function sends the updated filters to host via callbacks.
|
|
2670
|
+
var sendUpdatedFilters = function sendUpdatedFilters() {
|
|
2671
|
+
if (compareFilters(ramda.append(keywordFilter, filters), prevFilters.current)) {
|
|
2672
|
+
return;
|
|
2673
|
+
}
|
|
2674
|
+
var newFilters = buildFiltersFromSearchParams(columns);
|
|
2675
|
+
var filtersPayload = isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(getSearchTermFromUrl()) ? ramda.append(keywordFilter, newFilters) : newFilters;
|
|
2676
|
+
handleFiltersChange(filtersPayload);
|
|
2677
|
+
onSelectorsChange(buildSelectorsFromURL(columns));
|
|
2678
|
+
};
|
|
2679
|
+
var handleChangesInURL = function handleChangesInURL() {
|
|
2680
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
2681
|
+
var searchParams = getSnakeCasedQueryParams();
|
|
2682
|
+
var keys = ramda.pluck("key", ramda.append(keywordFilter, columns));
|
|
2683
|
+
if (keys.every(function (key) {
|
|
2684
|
+
return ramda.isNil(searchParams[key]);
|
|
2685
|
+
}) && !ramda.isEmpty(defaultFilters)) {
|
|
2686
|
+
history.replace({
|
|
2687
|
+
search: buildUrlFromFilters({
|
|
2688
|
+
columns: columns,
|
|
2689
|
+
filters: ramda.concat(defaultFilters, filters)
|
|
2690
|
+
})
|
|
2691
|
+
});
|
|
2692
|
+
filters = buildFiltersFromSearchParams(columns, false);
|
|
2693
|
+
}
|
|
2694
|
+
};
|
|
2695
|
+
React.useEffect(function () {
|
|
2696
|
+
if (initialRender.current) {
|
|
2697
|
+
initialRender.current = false;
|
|
2698
|
+
var keywordValue = getSearchTermFromUrl();
|
|
2699
|
+
var defaultFilters = buildDefaultFilters(columns, filters);
|
|
2700
|
+
neetoCist.isNotEmpty(defaultFilters) && handlePrecenseOfDefaultFilters(defaultFilters);
|
|
2701
|
+
prevFilters.current = ramda.append(ramda.mergeRight(keywordFilter, {
|
|
2702
|
+
value: keywordValue
|
|
2703
|
+
}), filters);
|
|
2704
|
+
} else {
|
|
2705
|
+
handleChangesInURL();
|
|
2706
|
+
sendUpdatedFilters();
|
|
2707
|
+
prevFilters.current = ramda.append(keywordFilter, filters);
|
|
2708
|
+
}
|
|
2709
|
+
}, [location.search, defaultValuesOfColumns]);
|
|
2710
|
+
return filters;
|
|
2396
2711
|
};
|
|
2397
2712
|
|
|
2398
2713
|
var _excluded = ["isOpen", "onClose", "columns", "onChange", "isSearchable", "keyword", "onSelectorsChange", "childrenKeys", "children", "className"];
|
|
@@ -2558,7 +2873,7 @@ var Pane = function Pane(_ref) {
|
|
|
2558
2873
|
|
|
2559
2874
|
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}}
|
|
2560
2875
|
|
|
2561
|
-
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{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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19iYXIuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9pbmRleC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2ZpbHRlcnMuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUdFLGtCQUFBLENBRkEsWUFBQSxDQUNBLGNDRUYsQ0RDRSwwQkFLRSxxQ0FBQSxDQUhBLFlBQUEsQ0FFQSxPQUFBLENBR0EsWUFBQSxDQUNBLGVBQUEsQ0FFQSxlQUFBLENBVEEsZUFBQSxDQUVBLGlCQUFBLENBR0EscUNBQUEsQ0FHQSxrQkNFSixDRENJLHdDQUNFLG1DQ0NOLENERUksZ0NBUUUsZ0hBQUEsQ0FGQSxtQ0FBQSxDQURBLFNBQUEsQ0FEQSxXQUFBLENBSEEsaUJBQUEsQ0FFQSxPQUFBLENBREEsS0FBQSxDQUtBLHFDQ0NOLENET0ksaUVBRUUsOENBQUEsQ0FDQSxjQ05OLENEUU0saUlBR0UscUNBQUEsQ0FEQSxnQ0FBQSxDQURBLFNDSlIsQ0RVSSxnQ0FFRSx1REFBQSxDQURBLFlDUE4sQ0RZRSw4QkFHRSxrQkFBQSxDQUZBLG1EQUFBLENBQ0EsZUNUSixDQy9DQSwyQkFDRSxXRGtERixDQ2hERSxpQ0FDRSw2QkFBQSxDQUNBLFFEa0RKLENDaERJLG1DQUNFLHFCRGtETixDQy9DSSxtQ0FDRSxpQkRpRE4sQ0M5Q0ksMEVBQ0UsWUFBQSxDQUNBLHFCQUFBLENBQ0EsT0RnRE4sQ0M1Q00sMEZBQ0UsZUQ4Q1IsQ0M1Q1Esd0dBQ0UsWUQ4Q1YsQ0MxQ1EseUZBQ0UsYUQ0Q1YsQ0N4Q0kseUVBQ0Usc0REMENOLENFaEVJLG9DRGRKLDJCQXlDSSxXRHlDRixDQUNGLENDdENBLDZCQUNFLHlDQUFBLENBQUEsaUNBQUEsQ0FDQSxrRER5Q0YiLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tZmlsdGVycy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJl9fYmxvY2sge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ2FwOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICBtYXgtd2lkdGg6IDM4NHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTcwMCkpO1xuICAgIH1cblxuICAgICYtY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkwZGVnLFxuICAgICAgICByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSxcbiAgICAgICAgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTgwMCksIDE1JSk7XG4gICAgfVxuICB9XG5cbiAgJi0tc2VwYXJhdG9yIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTQwMCkpO1xuICAgIG1hcmdpbjogMTJweCA4cHg7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxufVxuIiwiLm5lZXRvLWZpbHRlcnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jayB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgbWFyZ2luOiA0cHggMDtcbiAgbWF4LXdpZHRoOiAzODRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2sgcDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSwgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyLCAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2UsIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6YWN0aXZlIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWJsYWNrKSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktODAwKSwgMTUlKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhci0tc2VwYXJhdG9yIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS00MDApKTtcbiAgbWFyZ2luOiAxMnB4IDhweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXIge1xuICB3aWR0aDogMzYwcHg7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIGdhcDogMjBweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5ID4gKiB7XG4gIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19pdGVtLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgLmFjY29yZGlvbl9pdGVtOmZpcnN0LW9mLXR5cGUgLm5lZXRvLXVpLWFjY29yZGlvbl9faXRlbSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkgLm5lZXRvLXVpLWFjY29yZGlvbl9fd3JhcHBlci0tbGFzdC1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1iYWNrZHJvcCB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS03MDApLCAwLjIpO1xufSIsIi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyIHtcbiAgd2lkdGg6IDM2MHB4O1xuXG4gICZfX2JvZHkge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiAyMHB4O1xuXG4gICAgPiAqIHtcbiAgICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19pdGVtLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX2l0ZW0ge1xuICAgICAgLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAubmVldG8tdWktYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubmVldG8tdWktYWNjb3JkaW9uX193cmFwcGVyLS1sYXN0LWl0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB2aWV3cG9ydChtb2IpIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1iYWNrZHJvcCB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS03MDApLCAwLjIpO1xufVxuIiwiQG1peGluIHZpZXdwb3J0KCRtZWRpYSkge1xuICBAaWYgJG1lZGlhPT1kZXNrIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PXRhYi1taW4ge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09dGFiLW9ubHkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT1tb2Ige1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT14cy1tb2Ige1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */";
|
|
2876
|
+
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{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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19iYXIuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9pbmRleC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2ZpbHRlcnMuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3NlZ21lbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBR0Usa0JBQUEsQ0FGQSxZQUFBLENBQ0EsY0NFRixDRENFLDBCQUtFLHFDQUFBLENBSEEsWUFBQSxDQUVBLE9BQUEsQ0FHQSxZQUFBLENBQ0EsZUFBQSxDQUVBLGVBQUEsQ0FUQSxlQUFBLENBRUEsaUJBQUEsQ0FHQSxxQ0FBQSxDQUdBLGtCQ0VKLENEQ0ksd0NBQ0UsbUNDQ04sQ0RFSSxnQ0FRRSxnSEFBQSxDQUZBLG1DQUFBLENBREEsU0FBQSxDQURBLFdBQUEsQ0FIQSxpQkFBQSxDQUVBLE9BQUEsQ0FEQSxLQUFBLENBS0EscUNDQ04sQ0RPSSxpRUFFRSw4Q0FBQSxDQUNBLGNDTk4sQ0RRTSxpSUFHRSxxQ0FBQSxDQURBLGdDQUFBLENBREEsU0NKUixDRFVJLGdDQUVFLHVEQUFBLENBREEsWUNQTixDRFlFLDhCQUdFLGtCQUFBLENBRkEsbURBQUEsQ0FDQSxlQ1RKLENDL0NBLDJCQUNFLFdEa0RGLENDaERFLGlDQUNFLDZCQUFBLENBQ0EsUURrREosQ0NoREksbUNBQ0UscUJEa0ROLENDL0NJLG1DQUNFLGlCRGlETixDQzlDSSwwRUFDRSxZQUFBLENBR0EsTUFBQSxDQUZBLHFCQUFBLENBQ0EsT0RpRE4sQ0M1Q00sMEZBRUUsTUFBQSxDQURBLGVEK0NSLENDNUNRLHdHQUNFLFlEOENWLENDMUNRLHlGQUNFLGFENENWLENDeENJLHlFQUNFLHNERDBDTixDRWxFSSxvQ0RkSiwyQkEyQ0ksV0R5Q0YsQ0FDRixDQ3RDQSw2QkFDRSx5Q0FBQSxDQUFBLGlDQUFBLENBQ0Esa0REeUNGLENHMUZBLCtCQUNFLHVEQUFBLENBQ0EsK0RINkZGIiwic291cmNlc0NvbnRlbnQiOlsiLm5lZXRvLWZpbHRlcnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICZfX2Jsb2NrIHtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdhcDogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLW5lZXRvLXVpLXRyYW5zaXRpb24pO1xuICAgIG1hcmdpbjogNHB4IDA7XG4gICAgbWF4LXdpZHRoOiAzODRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbiAgICB9XG5cbiAgICAmLWNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS04MDApKTtcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLW5lZXRvLXVpLXRyYW5zaXRpb24pO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICA5MGRlZyxcbiAgICAgICAgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDAuNSkgMCUsXG4gICAgICAgIHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS0yMDApLCAxKSAyNSVcbiAgICAgICk7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0yMDApKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jay1jbG9zZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktYmxhY2spKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS04MDApLCAxNSUpO1xuICAgIH1cbiAgfVxuXG4gICYtLXNlcGFyYXRvciB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS00MDApKTtcbiAgICBtYXJnaW46IDEycHggOHB4O1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIH1cbn1cbiIsIi5uZWV0by1maWx0ZXJzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2sge1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdhcDogNHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gIG1hcmdpbjogNHB4IDA7XG4gIG1heC13aWR0aDogMzg0cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrIHA6Zmlyc3QtY2hpbGQge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiA4cHg7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS04MDApKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDAuNSkgMCUsIHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS0yMDApLCAxKSAyNSUpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpob3ZlciwgLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0yMDApKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpob3ZlciAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlLCAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmFjdGl2ZSAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTgwMCksIDE1JSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXItLXNlcGFyYXRvciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNDAwKSk7XG4gIG1hcmdpbjogMTJweCA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyIHtcbiAgd2lkdGg6IDM2MHB4O1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICBnYXA6IDIwcHg7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSA+ICoge1xuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlcjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbTpmaXJzdC1vZi10eXBlIC5uZWV0by11aS1hY2NvcmRpb25fX2l0ZW0ge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5uZWV0by11aS1hY2NvcmRpb25fX3dyYXBwZXItLWxhc3QtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG59XG5cbi5uZWV0by1maWx0ZXJzLXBhbmUtYmFja2Ryb3Age1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMHB4KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSwgMC4yKTtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2VnbWVudC0tYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS01MDApKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbn0iLCIubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gIHdpZHRoOiAzNjBweDtcblxuICAmX19ib2R5IHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICAgIGdhcDogMjBweDtcblxuICAgID4gKiB7XG4gICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb25faXRlbSB7XG4gICAgICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIC5uZWV0by11aS1hY2NvcmRpb25fX2l0ZW0ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uZWV0by11aS1hY2NvcmRpb25fX3dyYXBwZXItLWxhc3QtaXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHZpZXdwb3J0KG1vYikge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxufVxuXG4ubmVldG8tZmlsdGVycy1wYW5lLWJhY2tkcm9wIHtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDBweCkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTcwMCksIDAuMik7XG59XG4iLCJAbWl4aW4gdmlld3BvcnQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWE9PWRlc2sge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09dGFiLW1pbiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT10YWItb25seSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PW1vYiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PXhzLW1vYiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLm5lZXRvLWZpbHRlcnMtc2VnbWVudC0tYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS01MDApKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbn1cbiJdfQ== */";
|
|
2562
2877
|
n(css,{});
|
|
2563
2878
|
|
|
2564
2879
|
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; }
|
|
@@ -2614,11 +2929,19 @@ var Filters = reactUtils.withT(function (_ref) {
|
|
|
2614
2929
|
}, paneProps)), children));
|
|
2615
2930
|
});
|
|
2616
2931
|
|
|
2617
|
-
var
|
|
2932
|
+
var ITEMS_MAX_COUNT = 20;
|
|
2933
|
+
var SEGMENT_ACTIONS = {
|
|
2934
|
+
EDIT: "edit",
|
|
2935
|
+
DELETE: "delete"
|
|
2936
|
+
};
|
|
2937
|
+
|
|
2938
|
+
var Delete = function Delete(_ref) {
|
|
2618
2939
|
var isOpen = _ref.isOpen,
|
|
2619
2940
|
onClose = _ref.onClose,
|
|
2620
|
-
segment = _ref.segment,
|
|
2621
|
-
|
|
2941
|
+
_ref$segment = _ref.segment,
|
|
2942
|
+
segment = _ref$segment === void 0 ? {} : _ref$segment,
|
|
2943
|
+
_ref$columns = _ref.columns,
|
|
2944
|
+
columns = _ref$columns === void 0 ? [] : _ref$columns;
|
|
2622
2945
|
var _useTranslation = reactI18next.useTranslation(),
|
|
2623
2946
|
t = _useTranslation.t;
|
|
2624
2947
|
var history = reactRouterDom.useHistory();
|
|
@@ -2659,162 +2982,30 @@ var DeleteAlert = function DeleteAlert(_ref) {
|
|
|
2659
2982
|
});
|
|
2660
2983
|
};
|
|
2661
2984
|
|
|
2662
|
-
var
|
|
2663
|
-
var segment = _ref.segment,
|
|
2664
|
-
columns = _ref.columns,
|
|
2665
|
-
defaultSegmentName = _ref.defaultSegmentName;
|
|
2666
|
-
var _useState = React.useState(false),
|
|
2667
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2668
|
-
isEditing = _useState2[0],
|
|
2669
|
-
setIsEditing = _useState2[1];
|
|
2670
|
-
var _useState3 = React.useState(false),
|
|
2671
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
2672
|
-
isDeleteAlertOpen = _useState4[0],
|
|
2673
|
-
setIsDeleteAlertOpen = _useState4[1];
|
|
2674
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
2675
|
-
t = _useTranslation.t;
|
|
2676
|
-
var Menu = neetoui.Dropdown.Menu,
|
|
2677
|
-
MenuItem = neetoui.Dropdown.MenuItem;
|
|
2678
|
-
var _useUpdateSegment = useUpdateSegment(),
|
|
2679
|
-
updateSegment = _useUpdateSegment.mutate;
|
|
2680
|
-
var handleRename = function handleRename(values) {
|
|
2681
|
-
return updateSegment({
|
|
2682
|
-
id: segment.id,
|
|
2683
|
-
payload: values
|
|
2684
|
-
}, {
|
|
2685
|
-
onSuccess: function onSuccess() {
|
|
2686
|
-
return setIsEditing(false);
|
|
2687
|
-
}
|
|
2688
|
-
});
|
|
2689
|
-
};
|
|
2690
|
-
return /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
2691
|
-
className: "neeto-ui-rounded-md flex w-full items-center justify-between border p-2",
|
|
2692
|
-
formProps: {
|
|
2693
|
-
noValidate: true
|
|
2694
|
-
},
|
|
2695
|
-
formikProps: {
|
|
2696
|
-
initialValues: segment,
|
|
2697
|
-
validateOnChange: true,
|
|
2698
|
-
validateOnBlur: true,
|
|
2699
|
-
validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
|
|
2700
|
-
onSubmit: handleRename,
|
|
2701
|
-
enableReinitialize: true
|
|
2702
|
-
}
|
|
2703
|
-
}, function (_ref2) {
|
|
2704
|
-
var resetForm = _ref2.resetForm;
|
|
2705
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isEditing ? /*#__PURE__*/React__default["default"].createElement(InlineInput.FormikInlineInput, {
|
|
2706
|
-
autoFocus: true,
|
|
2707
|
-
nakedInput: true,
|
|
2708
|
-
handleCancel: function handleCancel() {
|
|
2709
|
-
return setIsEditing(false);
|
|
2710
|
-
},
|
|
2711
|
-
name: "name",
|
|
2712
|
-
placeholder: t("neetoFilters.segments.name")
|
|
2713
|
-
}) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2714
|
-
style: "body2"
|
|
2715
|
-
}, segment.name), /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
|
|
2716
|
-
buttonStyle: "text",
|
|
2717
|
-
disabled: neetoCist.isNotPresent(segment.id),
|
|
2718
|
-
icon: neetoIcons.MenuHorizontal,
|
|
2719
|
-
size: "small"
|
|
2720
|
-
}, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
2721
|
-
onClick: function onClick() {
|
|
2722
|
-
setIsEditing(true);
|
|
2723
|
-
resetForm();
|
|
2724
|
-
}
|
|
2725
|
-
}, t("neetoFilters.common.rename")), /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
2726
|
-
onClick: function onClick() {
|
|
2727
|
-
return setIsDeleteAlertOpen(true);
|
|
2728
|
-
}
|
|
2729
|
-
}, t("neetoFilters.common.delete"))))), /*#__PURE__*/React__default["default"].createElement(DeleteAlert, {
|
|
2730
|
-
columns: columns,
|
|
2731
|
-
segment: segment,
|
|
2732
|
-
isOpen: isDeleteAlertOpen,
|
|
2733
|
-
onClose: function onClose() {
|
|
2734
|
-
return setIsDeleteAlertOpen(false);
|
|
2735
|
-
}
|
|
2736
|
-
}));
|
|
2737
|
-
});
|
|
2738
|
-
};
|
|
2739
|
-
var Card$1 = /*#__PURE__*/React__default["default"].memo(Card);
|
|
2740
|
-
|
|
2741
|
-
var ManagePane = function ManagePane(_ref) {
|
|
2742
|
-
var isOpen = _ref.isOpen,
|
|
2743
|
-
onClose = _ref.onClose,
|
|
2744
|
-
entity = _ref.entity,
|
|
2745
|
-
columns = _ref.columns,
|
|
2746
|
-
defaultSegmentName = _ref.defaultSegmentName;
|
|
2747
|
-
var _useState = React.useState(""),
|
|
2748
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2749
|
-
searchTerm = _useState2[0],
|
|
2750
|
-
setSearchTerm = _useState2[1];
|
|
2751
|
-
var inputRef = React.useRef(null);
|
|
2752
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
2753
|
-
t = _useTranslation.t;
|
|
2754
|
-
var debouncedSearchTerm = reactUtils.useDebounce(searchTerm);
|
|
2755
|
-
var _useFetchSegments = useFetchSegments({
|
|
2756
|
-
entity: entity,
|
|
2757
|
-
searchTerm: debouncedSearchTerm
|
|
2758
|
-
}),
|
|
2759
|
-
_useFetchSegments$dat = _useFetchSegments.data,
|
|
2760
|
-
segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
|
|
2761
|
-
isLoading = _useFetchSegments.isLoading;
|
|
2762
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
2763
|
-
isOpen: isOpen,
|
|
2764
|
-
onClose: onClose,
|
|
2765
|
-
initialFocusRef: inputRef
|
|
2766
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2767
|
-
style: "h2"
|
|
2768
|
-
}, t("neetoFilters.segments.manageSegments"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, {
|
|
2769
|
-
className: "max-h-full gap-4 overflow-scroll"
|
|
2770
|
-
}, /*#__PURE__*/React__default["default"].createElement(Search__default["default"], {
|
|
2771
|
-
className: "w-full flex-grow-0",
|
|
2772
|
-
placeholder: t("neetoFilters.segments.searchSegments"),
|
|
2773
|
-
ref: inputRef,
|
|
2774
|
-
onSearch: function onSearch(value) {
|
|
2775
|
-
return setSearchTerm(value);
|
|
2776
|
-
}
|
|
2777
|
-
}), isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, {
|
|
2778
|
-
className: "mx-auto mt-4"
|
|
2779
|
-
}) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Card$1, {
|
|
2780
|
-
segment: {
|
|
2781
|
-
name: defaultSegmentName
|
|
2782
|
-
}
|
|
2783
|
-
}), ramda.isEmpty(segments) ? /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2784
|
-
className: "mx-auto",
|
|
2785
|
-
style: "body2"
|
|
2786
|
-
}, t("neetoFilters.segments.noSegmentsFound")) : segments.map(function (segment) {
|
|
2787
|
-
return /*#__PURE__*/React__default["default"].createElement(Card$1, {
|
|
2788
|
-
columns: columns,
|
|
2789
|
-
defaultSegmentName: defaultSegmentName,
|
|
2790
|
-
segment: segment,
|
|
2791
|
-
key: segment.id
|
|
2792
|
-
});
|
|
2793
|
-
}))));
|
|
2794
|
-
};
|
|
2795
|
-
|
|
2796
|
-
var ITEMS_MAX_COUNT = 20;
|
|
2797
|
-
|
|
2798
|
-
var MenuBlocks = function MenuBlocks(_ref) {
|
|
2985
|
+
var useSegments = function useSegments(_ref) {
|
|
2799
2986
|
var entity = _ref.entity,
|
|
2800
2987
|
columns = _ref.columns,
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2804
|
-
showAll = _useState2[0],
|
|
2805
|
-
setShowAll = _useState2[1];
|
|
2806
|
-
var history = reactRouterDom.useHistory();
|
|
2988
|
+
appliedFilters = _ref.appliedFilters,
|
|
2989
|
+
childrenKeys = _ref.childrenKeys;
|
|
2807
2990
|
var _useTranslation = reactI18next.useTranslation(),
|
|
2808
2991
|
t = _useTranslation.t;
|
|
2809
|
-
var
|
|
2810
|
-
segmentId = _getQueryParams.segmentId;
|
|
2811
|
-
var appliedFilters = buildFiltersFromURL(columns);
|
|
2992
|
+
var history = reactRouterDom.useHistory();
|
|
2812
2993
|
var _useFetchSegments = useFetchSegments({
|
|
2813
2994
|
entity: entity
|
|
2814
2995
|
}),
|
|
2815
2996
|
_useFetchSegments$dat = _useFetchSegments.data,
|
|
2816
2997
|
segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
|
|
2817
2998
|
isLoading = _useFetchSegments.isLoading;
|
|
2999
|
+
var _useUpdateSegment = useUpdateSegment(),
|
|
3000
|
+
updateSegment = _useUpdateSegment.mutate,
|
|
3001
|
+
isUpdating = _useUpdateSegment.isLoading;
|
|
3002
|
+
var _useState = React.useState({
|
|
3003
|
+
action: "",
|
|
3004
|
+
segment: undefined
|
|
3005
|
+
}),
|
|
3006
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3007
|
+
confirmAction = _useState2[0],
|
|
3008
|
+
setConfirmAction = _useState2[1];
|
|
2818
3009
|
var clearAppliedFilters = function clearAppliedFilters() {
|
|
2819
3010
|
var _filters$, _filters$2;
|
|
2820
3011
|
var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : appliedFilters;
|
|
@@ -2829,7 +3020,7 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2829
3020
|
})
|
|
2830
3021
|
});
|
|
2831
3022
|
};
|
|
2832
|
-
var
|
|
3023
|
+
var handleSelectSegment = function handleSelectSegment(_ref2) {
|
|
2833
3024
|
var _filters$3;
|
|
2834
3025
|
var id = _ref2.id,
|
|
2835
3026
|
filters = _ref2.filters;
|
|
@@ -2841,14 +3032,6 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2841
3032
|
})
|
|
2842
3033
|
});
|
|
2843
3034
|
};
|
|
2844
|
-
var handleSelectSegment = function handleSelectSegment(_ref3) {
|
|
2845
|
-
var id = _ref3.id,
|
|
2846
|
-
filters = _ref3.filters;
|
|
2847
|
-
return ramda.equals(id, segmentId) ? clearAppliedFilters(filters) : applySelectedSegment({
|
|
2848
|
-
id: id,
|
|
2849
|
-
filters: filters
|
|
2850
|
-
});
|
|
2851
|
-
};
|
|
2852
3035
|
if (isLoading) {
|
|
2853
3036
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null);
|
|
2854
3037
|
}
|
|
@@ -2857,6 +3040,136 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2857
3040
|
style: "body2"
|
|
2858
3041
|
}, t("neetoFilters.segments.noSegmentsFound"));
|
|
2859
3042
|
}
|
|
3043
|
+
var handleUpdate = function handleUpdate(_ref3, _ref4) {
|
|
3044
|
+
var name = _ref3.name;
|
|
3045
|
+
var setFieldError = _ref4.setFieldError;
|
|
3046
|
+
var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
|
|
3047
|
+
updateSegment({
|
|
3048
|
+
id: confirmAction.segment.id,
|
|
3049
|
+
payload: {
|
|
3050
|
+
name: name,
|
|
3051
|
+
filters: filtersPayload
|
|
3052
|
+
},
|
|
3053
|
+
showToastr: false
|
|
3054
|
+
}, {
|
|
3055
|
+
onSuccess: function onSuccess() {
|
|
3056
|
+
utils.showThumbsUpToastr();
|
|
3057
|
+
setConfirmAction({
|
|
3058
|
+
action: "",
|
|
3059
|
+
segment: undefined
|
|
3060
|
+
});
|
|
3061
|
+
},
|
|
3062
|
+
onError: function onError(error) {
|
|
3063
|
+
return setFieldError("name", error.response.data.error);
|
|
3064
|
+
}
|
|
3065
|
+
});
|
|
3066
|
+
};
|
|
3067
|
+
var filters = buildFiltersFromSearchParams(columns);
|
|
3068
|
+
return {
|
|
3069
|
+
segments: segments,
|
|
3070
|
+
clearAppliedFilters: clearAppliedFilters,
|
|
3071
|
+
handleSelectSegment: handleSelectSegment,
|
|
3072
|
+
setConfirmAction: setConfirmAction,
|
|
3073
|
+
isUpdating: isUpdating,
|
|
3074
|
+
handleUpdate: handleUpdate,
|
|
3075
|
+
filters: filters,
|
|
3076
|
+
onClose: function onClose() {
|
|
3077
|
+
return setConfirmAction({
|
|
3078
|
+
action: "",
|
|
3079
|
+
segment: undefined
|
|
3080
|
+
});
|
|
3081
|
+
},
|
|
3082
|
+
selectedSegment: confirmAction.segment,
|
|
3083
|
+
isDeleteAlertOpen: confirmAction.action === SEGMENT_ACTIONS.DELETE,
|
|
3084
|
+
isEditPaneOpen: confirmAction.action === SEGMENT_ACTIONS.EDIT
|
|
3085
|
+
};
|
|
3086
|
+
};
|
|
3087
|
+
|
|
3088
|
+
var Segment = function Segment(_ref) {
|
|
3089
|
+
var id = _ref.id,
|
|
3090
|
+
isActive = _ref.isActive,
|
|
3091
|
+
label = _ref.label,
|
|
3092
|
+
onClick = _ref.onClick,
|
|
3093
|
+
_ref$shouldShowDropdo = _ref.shouldShowDropdown,
|
|
3094
|
+
shouldShowDropdown = _ref$shouldShowDropdo === void 0 ? false : _ref$shouldShowDropdo,
|
|
3095
|
+
segments = _ref.segments,
|
|
3096
|
+
setConfirmAction = _ref.setConfirmAction;
|
|
3097
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
3098
|
+
t = _useTranslation.t;
|
|
3099
|
+
var menuItems = [{
|
|
3100
|
+
key: "edit",
|
|
3101
|
+
label: t("neetoFilters.common.edit"),
|
|
3102
|
+
onClick: function onClick() {
|
|
3103
|
+
return setConfirmAction({
|
|
3104
|
+
action: SEGMENT_ACTIONS.EDIT,
|
|
3105
|
+
segment: neetoCist.findById(id, segments)
|
|
3106
|
+
});
|
|
3107
|
+
}
|
|
3108
|
+
}, {
|
|
3109
|
+
key: "delete",
|
|
3110
|
+
label: t("neetoFilters.common.delete"),
|
|
3111
|
+
onClick: function onClick() {
|
|
3112
|
+
return setConfirmAction({
|
|
3113
|
+
action: SEGMENT_ACTIONS.DELETE,
|
|
3114
|
+
segment: neetoCist.findById(id, segments)
|
|
3115
|
+
});
|
|
3116
|
+
}
|
|
3117
|
+
}];
|
|
3118
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3119
|
+
onClick: onClick,
|
|
3120
|
+
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", {
|
|
3121
|
+
"neeto-filters-segment--active": isActive
|
|
3122
|
+
})
|
|
3123
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3124
|
+
className: "flex flex-grow items-center gap-2 overflow-hidden",
|
|
3125
|
+
"data-cy": "new-element-field"
|
|
3126
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
3127
|
+
className: "truncate leading-snug",
|
|
3128
|
+
"data-cy": neetoCist.hyphenate(label),
|
|
3129
|
+
style: "body2"
|
|
3130
|
+
}, label)), shouldShowDropdown && /*#__PURE__*/React__default["default"].createElement(MoreDropdown__default["default"], {
|
|
3131
|
+
menuItems: menuItems,
|
|
3132
|
+
dropdownButtonProps: {
|
|
3133
|
+
className: "min-h-0 flex-shrink-0",
|
|
3134
|
+
"data-cy": "".concat(neetoCist.hyphenate(label), "-more-dropdown")
|
|
3135
|
+
}
|
|
3136
|
+
}));
|
|
3137
|
+
};
|
|
3138
|
+
|
|
3139
|
+
var MenuBlocks = function MenuBlocks(_ref) {
|
|
3140
|
+
var entity = _ref.entity,
|
|
3141
|
+
columns = _ref.columns,
|
|
3142
|
+
defaultSegmentName = _ref.defaultSegmentName,
|
|
3143
|
+
childrenKeys = _ref.childrenKeys,
|
|
3144
|
+
customFilters = _ref.customFilters;
|
|
3145
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
3146
|
+
t = _useTranslation.t;
|
|
3147
|
+
var segmentFormInitialRef = React.useRef(null);
|
|
3148
|
+
var _useState = React.useState(false),
|
|
3149
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3150
|
+
showAll = _useState2[0],
|
|
3151
|
+
setShowAll = _useState2[1];
|
|
3152
|
+
var _getQueryParams = utils.getQueryParams(),
|
|
3153
|
+
segmentId = _getQueryParams.segmentId;
|
|
3154
|
+
var appliedFilters = buildFiltersFromURL(columns);
|
|
3155
|
+
var _useSegments = useSegments({
|
|
3156
|
+
entity: entity,
|
|
3157
|
+
columns: columns,
|
|
3158
|
+
appliedFilters: appliedFilters,
|
|
3159
|
+
childrenKeys: childrenKeys
|
|
3160
|
+
}),
|
|
3161
|
+
_useSegments$segments = _useSegments.segments,
|
|
3162
|
+
segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
|
|
3163
|
+
clearAppliedFilters = _useSegments.clearAppliedFilters,
|
|
3164
|
+
handleSelectSegment = _useSegments.handleSelectSegment,
|
|
3165
|
+
onClose = _useSegments.onClose,
|
|
3166
|
+
setConfirmAction = _useSegments.setConfirmAction,
|
|
3167
|
+
selectedSegment = _useSegments.selectedSegment,
|
|
3168
|
+
isDeleteAlertOpen = _useSegments.isDeleteAlertOpen,
|
|
3169
|
+
isEditPaneOpen = _useSegments.isEditPaneOpen,
|
|
3170
|
+
isUpdating = _useSegments.isUpdating,
|
|
3171
|
+
handleUpdate = _useSegments.handleUpdate,
|
|
3172
|
+
filters = _useSegments.filters;
|
|
2860
3173
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
2861
3174
|
icon: neetoIcons.Down,
|
|
2862
3175
|
style: "link",
|
|
@@ -2868,71 +3181,67 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
2868
3181
|
return !open;
|
|
2869
3182
|
});
|
|
2870
3183
|
}
|
|
2871
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
2872
|
-
|
|
3184
|
+
}), /*#__PURE__*/React__default["default"].createElement(Segment, {
|
|
3185
|
+
isActive: ramda.isEmpty(appliedFilters),
|
|
2873
3186
|
label: defaultSegmentName,
|
|
2874
3187
|
onClick: clearAppliedFilters
|
|
2875
3188
|
}), segments.slice(0, showAll ? segments.length : ITEMS_MAX_COUNT).map(function (segment) {
|
|
2876
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
2877
|
-
|
|
2878
|
-
|
|
3189
|
+
return /*#__PURE__*/React__default["default"].createElement(Segment, {
|
|
3190
|
+
segments: segments,
|
|
3191
|
+
setConfirmAction: setConfirmAction,
|
|
3192
|
+
shouldShowDropdown: true,
|
|
3193
|
+
id: segment.id,
|
|
3194
|
+
isActive: segment.id === segmentId,
|
|
2879
3195
|
key: segment.id,
|
|
2880
3196
|
label: segment.name,
|
|
2881
3197
|
onClick: function onClick() {
|
|
2882
3198
|
return handleSelectSegment(segment);
|
|
2883
3199
|
}
|
|
2884
3200
|
});
|
|
3201
|
+
}), /*#__PURE__*/React__default["default"].createElement(SegmentForm, {
|
|
3202
|
+
childrenKeys: childrenKeys,
|
|
3203
|
+
columns: columns,
|
|
3204
|
+
customFilters: customFilters,
|
|
3205
|
+
defaultSegmentName: defaultSegmentName,
|
|
3206
|
+
filters: filters,
|
|
3207
|
+
onClose: onClose,
|
|
3208
|
+
segmentFormInitialRef: segmentFormInitialRef,
|
|
3209
|
+
isEdit: true,
|
|
3210
|
+
handleSubmit: handleUpdate,
|
|
3211
|
+
initialValues: selectedSegment,
|
|
3212
|
+
isOpen: isEditPaneOpen,
|
|
3213
|
+
isSubmitting: isUpdating
|
|
3214
|
+
}), /*#__PURE__*/React__default["default"].createElement(Delete, {
|
|
3215
|
+
columns: columns,
|
|
3216
|
+
onClose: onClose,
|
|
3217
|
+
isOpen: isDeleteAlertOpen,
|
|
3218
|
+
segment: selectedSegment
|
|
2885
3219
|
}));
|
|
2886
3220
|
};
|
|
2887
3221
|
var MenuBlocks$1 = /*#__PURE__*/React__default["default"].memo(MenuBlocks);
|
|
2888
3222
|
|
|
2889
|
-
var Segments = function
|
|
2890
|
-
var
|
|
3223
|
+
var Segments = reactUtils.withT(function (_ref) {
|
|
3224
|
+
var t = _ref.t,
|
|
3225
|
+
entity = _ref.entity,
|
|
2891
3226
|
columns = _ref.columns,
|
|
2892
|
-
_ref$setIsFilterPaneO = _ref.setIsFilterPaneOpen,
|
|
2893
|
-
setIsFilterPaneOpen = _ref$setIsFilterPaneO === void 0 ? neetoCist.noop : _ref$setIsFilterPaneO,
|
|
2894
3227
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
2895
|
-
defaultSegmentName = _ref$defaultSegmentNa === void 0 ?
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
}
|
|
2913
|
-
}];
|
|
2914
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].SubTitle, {
|
|
2915
|
-
iconProps: iconProps
|
|
2916
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
2917
|
-
component: "h4",
|
|
2918
|
-
style: "h5",
|
|
2919
|
-
textTransform: "uppercase",
|
|
2920
|
-
weight: "bold"
|
|
2921
|
-
}, t("neetoFilters.common.segments"))), /*#__PURE__*/React__default["default"].createElement(MenuBlocks$1, {
|
|
2922
|
-
columns: columns,
|
|
2923
|
-
defaultSegmentName: defaultSegmentName,
|
|
2924
|
-
entity: entity
|
|
2925
|
-
}), /*#__PURE__*/React__default["default"].createElement(ManagePane, {
|
|
2926
|
-
columns: columns,
|
|
2927
|
-
defaultSegmentName: defaultSegmentName,
|
|
2928
|
-
entity: entity,
|
|
2929
|
-
isOpen: isSegmentsPaneOpen,
|
|
2930
|
-
onClose: function onClose() {
|
|
2931
|
-
return setIsSegmentsPaneOpen(false);
|
|
2932
|
-
}
|
|
2933
|
-
}));
|
|
2934
|
-
}();
|
|
2935
|
-
};
|
|
3228
|
+
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
|
|
3229
|
+
customFilters = _ref.customFilters,
|
|
3230
|
+
_ref$childrenKeys = _ref.childrenKeys,
|
|
3231
|
+
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys;
|
|
3232
|
+
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, {
|
|
3233
|
+
component: "h4",
|
|
3234
|
+
style: "h5",
|
|
3235
|
+
textTransform: "uppercase",
|
|
3236
|
+
weight: "bold"
|
|
3237
|
+
}, t("neetoFilters.common.segments"))), /*#__PURE__*/React__default["default"].createElement(MenuBlocks$1, {
|
|
3238
|
+
childrenKeys: childrenKeys,
|
|
3239
|
+
columns: columns,
|
|
3240
|
+
customFilters: customFilters,
|
|
3241
|
+
defaultSegmentName: defaultSegmentName,
|
|
3242
|
+
entity: entity
|
|
3243
|
+
}));
|
|
3244
|
+
});
|
|
2936
3245
|
var index = /*#__PURE__*/React__default["default"].memo(Segments);
|
|
2937
3246
|
|
|
2938
3247
|
exports.Bar = Bar;
|