@bigbinary/neeto-filters-frontend 3.3.0 → 3.3.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/app/javascript/src/translations/en.json +7 -2
- package/dist/index.cjs.js +316 -94
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +318 -96
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
- package/types.d.ts +1 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useState, useEffect, useMemo, useRef, useTransition } from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import i18next, { t as t$1 } from 'i18next';
|
|
4
|
-
import { findBy, isNotEmpty, capitalize, removeBy, toLabelAndValue, hyphenate, noop, replaceBy,
|
|
4
|
+
import { findBy, isNotEmpty, capitalize, removeBy, toLabelAndValue, hyphenate, isNotPresent, noop, replaceBy, existsBy, _existsBy, isPresent, humanize, findById, filterBy } from '@bigbinary/neeto-cist';
|
|
5
5
|
import { useDebounce, useQueryParams, useMutationWithInvalidation, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
6
|
-
import { groupBy, anyPass, isNil, isEmpty, any, concat, omit, mergeLeft, toLower, identity, mergeRight, toPairs, pluck, either, not, has, equals, pick, last, modify, append, mergeDeepRight, prop, assoc, sortBy, project } from 'ramda';
|
|
6
|
+
import { groupBy, anyPass, isNil, isEmpty, any, concat, omit, mergeLeft, toLower, identity, mergeRight, toPairs, pluck, either, not, has, equals, pick, last, modify, append, mergeDeepRight, prop, assoc, reject, sortBy, project } from 'ramda';
|
|
7
7
|
import { useQuery, useQueryClient } from 'react-query';
|
|
8
8
|
import { Help, Delete as Delete$1, Plus, Close, Down } from '@bigbinary/neeto-icons';
|
|
9
9
|
import { Select, DatePicker, TimePickerInput, Input, Button, Pane as Pane$1, Typography, Accordion, Tooltip, Dropdown as Dropdown$2, Alert, Spinner } from '@bigbinary/neetoui';
|
|
@@ -16,8 +16,9 @@ import { useHistory as useHistory$1, useLocation } from 'react-router-dom';
|
|
|
16
16
|
import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
17
17
|
import axios from 'axios';
|
|
18
18
|
import Search from '@bigbinary/neeto-molecules/Search';
|
|
19
|
-
import
|
|
19
|
+
import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
20
20
|
import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
|
|
21
|
+
import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
|
|
21
22
|
import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
|
|
22
23
|
|
|
23
24
|
function _typeof(o) {
|
|
@@ -240,7 +241,7 @@ var dayjs_min = {exports: {}};
|
|
|
240
241
|
dayjs_min.exports;
|
|
241
242
|
|
|
242
243
|
(function (module, exports) {
|
|
243
|
-
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",
|
|
244
|
+
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return a+1;case"MM":return b.s(a+1,2,"0");case"MMM":return h(n.monthsShort,a,c,3);case"MMMM":return h(c,a);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(n.weekdaysMin,e.$W,o,2);case"ddd":return h(n.weekdaysShort,e.$W,o,3);case"dddd":return o[e.$W];case"H":return String(s);case"HH":return b.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return $(s,u,!0);case"A":return $(s,u,!1);case"m":return String(u);case"mm":return b.s(u,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g;}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
|
|
244
245
|
} (dayjs_min, dayjs_min.exports));
|
|
245
246
|
|
|
246
247
|
var dayjs_minExports = dayjs_min.exports;
|
|
@@ -251,7 +252,7 @@ var timezone$1 = {exports: {}};
|
|
|
251
252
|
timezone$1.exports;
|
|
252
253
|
|
|
253
254
|
(function (module, exports) {
|
|
254
|
-
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,
|
|
255
|
+
!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,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%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,{locale:this.$L}).$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"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
|
|
255
256
|
} (timezone$1, timezone$1.exports));
|
|
256
257
|
|
|
257
258
|
var timezoneExports = timezone$1.exports;
|
|
@@ -262,7 +263,7 @@ var utc$1 = {exports: {}};
|
|
|
262
263
|
utc$1.exports;
|
|
263
264
|
|
|
264
265
|
(function (module, exports) {
|
|
265
|
-
!function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||
|
|
266
|
+
!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||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
|
|
266
267
|
} (utc$1, utc$1.exports));
|
|
267
268
|
|
|
268
269
|
var utcExports = utc$1.exports;
|
|
@@ -322,6 +323,26 @@ var TEXT_RULES = [{
|
|
|
322
323
|
label: t$1("neetoFilters.rules.doesNotEndWith"),
|
|
323
324
|
value: "does_not_end_with"
|
|
324
325
|
}];
|
|
326
|
+
var MULTI_DROPDOWN_RULES = [{
|
|
327
|
+
label: t$1("neetoFilters.rules.in"),
|
|
328
|
+
value: "in"
|
|
329
|
+
}, {
|
|
330
|
+
label: t$1("neetoFilters.rules.notIn"),
|
|
331
|
+
value: "not_in"
|
|
332
|
+
}, {
|
|
333
|
+
label: t$1("neetoFilters.rules.isEmpty"),
|
|
334
|
+
value: "is_unknown"
|
|
335
|
+
}];
|
|
336
|
+
var SINGLE_DROPDOWN_RULES = [{
|
|
337
|
+
label: t$1("neetoFilters.rules.is"),
|
|
338
|
+
value: "is"
|
|
339
|
+
}, {
|
|
340
|
+
label: t$1("neetoFilters.rules.isNot"),
|
|
341
|
+
value: "is_not"
|
|
342
|
+
}, {
|
|
343
|
+
label: t$1("neetoFilters.rules.isEmpty"),
|
|
344
|
+
value: "is_unknown"
|
|
345
|
+
}];
|
|
325
346
|
var DEFAULT_BOOLEAN_OPTIONS = [{
|
|
326
347
|
label: t$1("neetoFilters.common.yes"),
|
|
327
348
|
value: "true"
|
|
@@ -375,6 +396,9 @@ var isTime = function isTime(type) {
|
|
|
375
396
|
var isMulti = function isMulti(type) {
|
|
376
397
|
return type === "multi_option" || type === "custom.multi_option";
|
|
377
398
|
};
|
|
399
|
+
var isSingle = function isSingle(type) {
|
|
400
|
+
return type === "single_option" || type === "custom.single_option";
|
|
401
|
+
};
|
|
378
402
|
var isText = function isText(type) {
|
|
379
403
|
return type === "text" || type === "custom.text";
|
|
380
404
|
};
|
|
@@ -467,7 +491,7 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
|
|
|
467
491
|
if (isMulti(defaultType)) {
|
|
468
492
|
return mergeLeft(filter, {
|
|
469
493
|
value: pluck("value", option),
|
|
470
|
-
rule:
|
|
494
|
+
rule: rule
|
|
471
495
|
});
|
|
472
496
|
} else if (isDate(defaultType)) {
|
|
473
497
|
return mergeLeft(filter, buildDateValue(option));
|
|
@@ -490,6 +514,11 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
|
|
|
490
514
|
});
|
|
491
515
|
} else if (isTime(defaultType)) {
|
|
492
516
|
return mergeLeft(filter, buildTimeValue(option));
|
|
517
|
+
} else if (isSingle(defaultType)) {
|
|
518
|
+
return mergeLeft(filter, {
|
|
519
|
+
value: option.value,
|
|
520
|
+
rule: rule
|
|
521
|
+
});
|
|
493
522
|
}
|
|
494
523
|
return mergeLeft(filter, {
|
|
495
524
|
value: option.value,
|
|
@@ -520,40 +549,53 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
|
|
|
520
549
|
value: value
|
|
521
550
|
}, column);
|
|
522
551
|
} else if (isMulti(defaultType)) {
|
|
523
|
-
return mergeLeft({
|
|
524
|
-
rule: "in",
|
|
525
|
-
value: value.split("|")
|
|
526
|
-
}, column);
|
|
527
|
-
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
528
552
|
var _value$split = value.split("+rule-"),
|
|
529
553
|
_value$split2 = _slicedToArray(_value$split, 2),
|
|
530
554
|
filterValue = _value$split2[0],
|
|
531
555
|
rule = _value$split2[1];
|
|
532
556
|
return mergeLeft({
|
|
533
|
-
rule: rule,
|
|
534
|
-
value: filterValue
|
|
535
|
-
}, column);
|
|
536
|
-
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
537
|
-
return mergeLeft({
|
|
538
|
-
value: value
|
|
557
|
+
rule: rule !== null && rule !== void 0 ? rule : "in",
|
|
558
|
+
value: filterValue.split("|")
|
|
539
559
|
}, column);
|
|
540
|
-
} else if (
|
|
560
|
+
} else if (isSingle(defaultType)) {
|
|
541
561
|
var _value$split3 = value.split("+rule-"),
|
|
542
562
|
_value$split4 = _slicedToArray(_value$split3, 2),
|
|
543
563
|
_filterValue = _value$split4[0],
|
|
544
564
|
_rule = _value$split4[1];
|
|
545
565
|
return mergeLeft({
|
|
546
|
-
rule: _rule,
|
|
547
|
-
value:
|
|
566
|
+
rule: _rule !== null && _rule !== void 0 ? _rule : "in",
|
|
567
|
+
value: _filterValue
|
|
548
568
|
}, column);
|
|
549
|
-
} else if (
|
|
569
|
+
} else if (isDigit(defaultType) || isText(defaultType)) {
|
|
550
570
|
var _value$split5 = value.split("+rule-"),
|
|
551
571
|
_value$split6 = _slicedToArray(_value$split5, 2),
|
|
552
572
|
_filterValue2 = _value$split6[0],
|
|
553
573
|
_rule2 = _value$split6[1];
|
|
554
574
|
return mergeLeft({
|
|
555
575
|
rule: _rule2,
|
|
556
|
-
value:
|
|
576
|
+
value: _filterValue2
|
|
577
|
+
}, column);
|
|
578
|
+
} else if (isTime(defaultType) && isCustomTimeRange(value)) {
|
|
579
|
+
return mergeLeft({
|
|
580
|
+
value: value
|
|
581
|
+
}, column);
|
|
582
|
+
} else if (isSingleDate(defaultType)) {
|
|
583
|
+
var _value$split7 = value.split("+rule-"),
|
|
584
|
+
_value$split8 = _slicedToArray(_value$split7, 2),
|
|
585
|
+
_filterValue3 = _value$split8[0],
|
|
586
|
+
_rule3 = _value$split8[1];
|
|
587
|
+
return mergeLeft({
|
|
588
|
+
rule: _rule3,
|
|
589
|
+
value: _rule3 === "between" ? _filterValue3.split(",") : _filterValue3
|
|
590
|
+
}, column);
|
|
591
|
+
} else if (isSingleTime(defaultType)) {
|
|
592
|
+
var _value$split9 = value.split("+rule-"),
|
|
593
|
+
_value$split10 = _slicedToArray(_value$split9, 2),
|
|
594
|
+
_filterValue4 = _value$split10[0],
|
|
595
|
+
_rule4 = _value$split10[1];
|
|
596
|
+
return mergeLeft({
|
|
597
|
+
rule: _rule4,
|
|
598
|
+
value: _rule4 === "between" ? _filterValue4.split(",") : _filterValue4
|
|
557
599
|
}, column);
|
|
558
600
|
} else if (isBoolean(defaultType)) {
|
|
559
601
|
return mergeLeft({
|
|
@@ -816,7 +858,9 @@ var createUrlParamString = function createUrlParamString(_ref15) {
|
|
|
816
858
|
} else if (isSingleDate(defaultType) || isSingleTime(defaultType)) {
|
|
817
859
|
return value && "".concat(value, "+rule-").concat(rule) || value;
|
|
818
860
|
} else if (isMulti(defaultType)) {
|
|
819
|
-
return value.join("|");
|
|
861
|
+
return "".concat(value.join("|"), "+rule-").concat(rule);
|
|
862
|
+
} else if (isSingle(defaultType)) {
|
|
863
|
+
return "".concat(value, "+rule-").concat(rule);
|
|
820
864
|
} else if (isBoolean(defaultType)) {
|
|
821
865
|
return getLabelFromBool({
|
|
822
866
|
value: value,
|
|
@@ -941,12 +985,12 @@ var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(col
|
|
|
941
985
|
});
|
|
942
986
|
});
|
|
943
987
|
};
|
|
944
|
-
var isNilOrEmpty = function isNilOrEmpty(param) {
|
|
945
|
-
return isNil(param) || isEmpty(param);
|
|
946
|
-
};
|
|
947
988
|
var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
|
|
948
989
|
return not(isEmpty(keyworFilter.node));
|
|
949
990
|
};
|
|
991
|
+
var isNilOrEmpty = function isNilOrEmpty(param) {
|
|
992
|
+
return isNil(param) || isEmpty(param);
|
|
993
|
+
};
|
|
950
994
|
|
|
951
995
|
var buildDropdownValue = function buildDropdownValue(_ref) {
|
|
952
996
|
var defaultType = _ref.defaultType,
|
|
@@ -1064,6 +1108,9 @@ var formatTime = function formatTime(value, timePickerType) {
|
|
|
1064
1108
|
}
|
|
1065
1109
|
return formatSingleTime(value);
|
|
1066
1110
|
};
|
|
1111
|
+
var isRuleEmpty = function isRuleEmpty(rule) {
|
|
1112
|
+
return equals(rule, "is_unknown");
|
|
1113
|
+
};
|
|
1067
1114
|
|
|
1068
1115
|
var Boolean = function Boolean(_ref) {
|
|
1069
1116
|
var column = _ref.column,
|
|
@@ -1213,13 +1260,16 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
1213
1260
|
var column = _ref.column,
|
|
1214
1261
|
filter = _ref.filter,
|
|
1215
1262
|
handleApplyFilter = _ref.handleApplyFilter,
|
|
1216
|
-
autoFocus = _ref.autoFocus
|
|
1263
|
+
autoFocus = _ref.autoFocus,
|
|
1264
|
+
filters = _ref.filters;
|
|
1217
1265
|
var key = column.key,
|
|
1218
1266
|
label = column.label,
|
|
1219
1267
|
values = column.values,
|
|
1220
1268
|
defaultValue = column.defaultValue,
|
|
1221
1269
|
_column$defaultType = column.defaultType,
|
|
1222
1270
|
defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
|
|
1271
|
+
_column$showRuleSelec = column.showRuleSelector,
|
|
1272
|
+
showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
|
|
1223
1273
|
_column$isClearable = column.isClearable,
|
|
1224
1274
|
isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
|
|
1225
1275
|
_column$helpIconProps = column.helpIconProps,
|
|
@@ -1230,13 +1280,44 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
1230
1280
|
filter: filter,
|
|
1231
1281
|
options: values
|
|
1232
1282
|
});
|
|
1283
|
+
var dropdownRules = isMulti(defaultType) ? MULTI_DROPDOWN_RULES : SINGLE_DROPDOWN_RULES;
|
|
1233
1284
|
var value = buildDropdownValue({
|
|
1234
1285
|
defaultType: defaultType,
|
|
1235
1286
|
filter: filter,
|
|
1236
1287
|
options: options
|
|
1237
1288
|
});
|
|
1289
|
+
var _useState = useState(findBy({
|
|
1290
|
+
value: filter === null || filter === void 0 ? void 0 : filter.rule
|
|
1291
|
+
}, dropdownRules) || dropdownRules[0]),
|
|
1292
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1293
|
+
selectedRule = _useState2[0],
|
|
1294
|
+
setSelectedRule = _useState2[1];
|
|
1238
1295
|
var _useTranslation = useTranslation(),
|
|
1239
1296
|
t = _useTranslation.t;
|
|
1297
|
+
var getOption = function getOption(isSelectedRuleEmpty, options, value) {
|
|
1298
|
+
if (isSelectedRuleEmpty) {
|
|
1299
|
+
return isMulti(defaultType) ? [options[0]] : options[0];
|
|
1300
|
+
}
|
|
1301
|
+
return value;
|
|
1302
|
+
};
|
|
1303
|
+
var handleRuleChange = function handleRuleChange(rule) {
|
|
1304
|
+
var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
|
|
1305
|
+
var isNewRuleEmpty = isRuleEmpty(rule.value);
|
|
1306
|
+
setSelectedRule(rule);
|
|
1307
|
+
if (isPreviousRuleEmpty || !isNewRuleEmpty && isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
|
|
1308
|
+
handleApplyFilter({
|
|
1309
|
+
_delete: true
|
|
1310
|
+
});
|
|
1311
|
+
return;
|
|
1312
|
+
}
|
|
1313
|
+
var updatedFilter = buildUpdatedFilter({
|
|
1314
|
+
column: column,
|
|
1315
|
+
defaultType: defaultType,
|
|
1316
|
+
rule: rule.value,
|
|
1317
|
+
option: getOption(isNewRuleEmpty, options, value)
|
|
1318
|
+
});
|
|
1319
|
+
handleApplyFilter(updatedFilter);
|
|
1320
|
+
};
|
|
1240
1321
|
var handleChange = function handleChange(option) {
|
|
1241
1322
|
if (isEmpty(option) || isNil(option)) {
|
|
1242
1323
|
handleApplyFilter({
|
|
@@ -1247,20 +1328,31 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
1247
1328
|
var updatedFilter = buildUpdatedFilter({
|
|
1248
1329
|
column: column,
|
|
1249
1330
|
defaultType: defaultType,
|
|
1250
|
-
option: option
|
|
1331
|
+
option: option,
|
|
1332
|
+
rule: selectedRule.value
|
|
1251
1333
|
});
|
|
1252
1334
|
handleApplyFilter(updatedFilter);
|
|
1253
1335
|
};
|
|
1336
|
+
useEffect(function () {
|
|
1337
|
+
if (!isEmpty(filters)) return;
|
|
1338
|
+
isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);
|
|
1339
|
+
}, [filters]);
|
|
1254
1340
|
return /*#__PURE__*/React.createElement("div", {
|
|
1255
1341
|
className: "neeto-filters-pane-filter__item-wrapper"
|
|
1256
|
-
}, /*#__PURE__*/React.createElement(Select,
|
|
1257
|
-
autoFocus: autoFocus,
|
|
1342
|
+
}, showRuleSelector && /*#__PURE__*/React.createElement(Select, {
|
|
1258
1343
|
label: label,
|
|
1344
|
+
defaultValue: dropdownRules[0],
|
|
1345
|
+
options: dropdownRules,
|
|
1346
|
+
value: selectedRule,
|
|
1347
|
+
onChange: handleRuleChange
|
|
1348
|
+
}), !isRuleEmpty(selectedRule.value) && /*#__PURE__*/React.createElement(Select, _extends({
|
|
1349
|
+
autoFocus: autoFocus,
|
|
1259
1350
|
options: options,
|
|
1260
1351
|
value: value,
|
|
1261
1352
|
"data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
|
|
1262
1353
|
isClearable: !defaultValue && isClearable,
|
|
1263
1354
|
isMulti: isMulti(defaultType),
|
|
1355
|
+
label: !showRuleSelector && label,
|
|
1264
1356
|
strategy: "fixed",
|
|
1265
1357
|
placeholder: t("neetoFilters.messages.selectResource", {
|
|
1266
1358
|
resource: label
|
|
@@ -1721,6 +1813,7 @@ var Item = function Item(_ref) {
|
|
|
1721
1813
|
autoFocus: autoFocus,
|
|
1722
1814
|
column: column,
|
|
1723
1815
|
filter: filter,
|
|
1816
|
+
filters: filters,
|
|
1724
1817
|
handleApplyFilter: handleApplyFilter
|
|
1725
1818
|
});
|
|
1726
1819
|
};
|
|
@@ -2080,19 +2173,26 @@ var buildRuleValue = function buildRuleValue(_ref) {
|
|
|
2080
2173
|
return findBy({
|
|
2081
2174
|
value: rule
|
|
2082
2175
|
}, SINGLE_TIME_OPTIONS).label;
|
|
2176
|
+
} else if (isMulti(defaultType) || isSingle(defaultType)) {
|
|
2177
|
+
return isRuleEmpty(rule) ? t$1("neetoFilters.rules.isEmpty") : "";
|
|
2083
2178
|
}
|
|
2084
2179
|
return "";
|
|
2085
2180
|
};
|
|
2086
2181
|
var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
|
|
2087
2182
|
return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
|
|
2088
2183
|
};
|
|
2089
|
-
var deepCompare = function deepCompare(
|
|
2184
|
+
var deepCompare = function deepCompare(segments, filters) {
|
|
2090
2185
|
var comparisonHelper = function comparisonHelper(filters) {
|
|
2091
2186
|
return sortBy(prop("key"), removeBy({
|
|
2092
2187
|
key: SEARCH_TERM_KEY
|
|
2093
|
-
}, project(["key", "rule", "value"], filters)));
|
|
2188
|
+
}, project(["key", "rule", "value", "label"], filters)));
|
|
2094
2189
|
};
|
|
2095
|
-
return
|
|
2190
|
+
return reject(function (filters) {
|
|
2191
|
+
var segment = findBy({
|
|
2192
|
+
key: filters.key
|
|
2193
|
+
}, segments);
|
|
2194
|
+
return segment && segment.value === filters.value;
|
|
2195
|
+
}, comparisonHelper(filters));
|
|
2096
2196
|
};
|
|
2097
2197
|
|
|
2098
2198
|
var Block = function Block(_ref) {
|
|
@@ -2144,7 +2244,7 @@ var Block = function Block(_ref) {
|
|
|
2144
2244
|
}, label, ":"), /*#__PURE__*/React.createElement(Typography, {
|
|
2145
2245
|
className: "neeto-ui-text-gray-600",
|
|
2146
2246
|
style: "body2"
|
|
2147
|
-
}, ruleContent), /*#__PURE__*/React.createElement(Typography, {
|
|
2247
|
+
}, ruleContent), !isRuleEmpty(rule) && /*#__PURE__*/React.createElement(Typography, {
|
|
2148
2248
|
style: "body2"
|
|
2149
2249
|
}, blockContent), !defaultValue && /*#__PURE__*/React.createElement("div", {
|
|
2150
2250
|
className: "neeto-filters-bar__block-close"
|
|
@@ -2502,21 +2602,44 @@ var SegmentBar = function SegmentBar(_ref) {
|
|
|
2502
2602
|
var entity = _ref.entity,
|
|
2503
2603
|
filters = _ref.filters,
|
|
2504
2604
|
setIsSavePaneOpen = _ref.setIsSavePaneOpen,
|
|
2505
|
-
setIsPaneOpen = _ref.setIsPaneOpen
|
|
2605
|
+
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
2606
|
+
handleApplyFilters = _ref.handleApplyFilters,
|
|
2607
|
+
childrenKeys = _ref.childrenKeys;
|
|
2506
2608
|
var _useTranslation = useTranslation(),
|
|
2507
2609
|
t = _useTranslation.t;
|
|
2610
|
+
var history = useHistory$1();
|
|
2508
2611
|
var _useQueryParams = useQueryParams(),
|
|
2509
2612
|
segmentId = _useQueryParams.segmentId;
|
|
2510
2613
|
var queryClient = useQueryClient();
|
|
2511
2614
|
var cachedSegments = queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, ""]) || DEFAULT_SEGMENTS_CACHE;
|
|
2512
2615
|
var segment = findById(segmentId, cachedSegments.segments);
|
|
2513
2616
|
if (isNotPresent(segment)) return null;
|
|
2514
|
-
var
|
|
2617
|
+
var handleDelete = function handleDelete(key) {
|
|
2618
|
+
if (key === SEARCH_TERM_KEY) {
|
|
2619
|
+
var params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());
|
|
2620
|
+
var pathname = window.location.pathname;
|
|
2621
|
+
history.push(buildUrl(pathname, params));
|
|
2622
|
+
return;
|
|
2623
|
+
}
|
|
2624
|
+
if (childrenKeys.includes(key)) {
|
|
2625
|
+
var _params = omit([key], getSnakeCasedQueryParams());
|
|
2626
|
+
var _pathname = window.location.pathname;
|
|
2627
|
+
history.push(buildUrl(_pathname, _params));
|
|
2628
|
+
}
|
|
2629
|
+
var newFilters = removeBy({
|
|
2630
|
+
key: key
|
|
2631
|
+
}, filters);
|
|
2632
|
+
handleApplyFilters(newFilters);
|
|
2633
|
+
};
|
|
2634
|
+
var changedFilters = deepCompare(segment.filters[0].conditions, filters);
|
|
2515
2635
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
|
|
2516
|
-
className: "neeto-ui-text-gray-600 mr-4",
|
|
2636
|
+
className: "neeto-ui-text-gray-600 mr-4 px-2",
|
|
2517
2637
|
"data-cy": "neeto-filters-segment-name",
|
|
2518
2638
|
style: "h4"
|
|
2519
|
-
}, segment.name),
|
|
2639
|
+
}, segment.name), isNotEmpty(changedFilters) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown$2, {
|
|
2640
|
+
buttonProps: {
|
|
2641
|
+
className: "mr-2"
|
|
2642
|
+
},
|
|
2520
2643
|
buttonStyle: "secondary",
|
|
2521
2644
|
label: t("neetoFilters.segments.updateSegment")
|
|
2522
2645
|
}, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
@@ -2532,7 +2655,18 @@ var SegmentBar = function SegmentBar(_ref) {
|
|
|
2532
2655
|
action: SEGMENT_ACTIONS$1.CREATE
|
|
2533
2656
|
});
|
|
2534
2657
|
}
|
|
2535
|
-
}, t("neetoFilters.segments.saveAsNewSegment")))))
|
|
2658
|
+
}, t("neetoFilters.segments.saveAsNewSegment")))), changedFilters.map(function (filter) {
|
|
2659
|
+
var _filter$suffixCompone;
|
|
2660
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
2661
|
+
key: filter.key
|
|
2662
|
+
}, /*#__PURE__*/React.createElement(Block, {
|
|
2663
|
+
filter: filter,
|
|
2664
|
+
handleDelete: handleDelete,
|
|
2665
|
+
setIsPaneOpen: setIsPaneOpen
|
|
2666
|
+
}), (_filter$suffixCompone = filter.suffixComponent) === null || _filter$suffixCompone === void 0 ? void 0 : _filter$suffixCompone.call(filter), /*#__PURE__*/React.createElement("div", {
|
|
2667
|
+
className: "neeto-filters-bar--separator"
|
|
2668
|
+
}));
|
|
2669
|
+
})));
|
|
2536
2670
|
};
|
|
2537
2671
|
|
|
2538
2672
|
var Bar = function Bar(_ref) {
|
|
@@ -2948,6 +3082,7 @@ var SEGMENT_ACTIONS = {
|
|
|
2948
3082
|
EDIT: "edit",
|
|
2949
3083
|
DELETE: "delete"
|
|
2950
3084
|
};
|
|
3085
|
+
var ALL_RESULTS = t$1("neetoFilters.common.allResults");
|
|
2951
3086
|
|
|
2952
3087
|
var Delete = function Delete(_ref) {
|
|
2953
3088
|
var isOpen = _ref.isOpen,
|
|
@@ -3008,20 +3143,20 @@ var reorderList = function reorderList(list, startIndex, endIndex) {
|
|
|
3008
3143
|
var useSegments = function useSegments(_ref) {
|
|
3009
3144
|
var entity = _ref.entity,
|
|
3010
3145
|
columns = _ref.columns,
|
|
3011
|
-
appliedFilters = _ref.appliedFilters,
|
|
3012
3146
|
childrenKeys = _ref.childrenKeys;
|
|
3013
3147
|
var _useTranslation = useTranslation(),
|
|
3014
3148
|
t = _useTranslation.t;
|
|
3015
3149
|
var history = useHistory$1();
|
|
3016
|
-
var
|
|
3017
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
3018
|
-
segments = _useState2[0],
|
|
3019
|
-
setSegments = _useState2[1];
|
|
3150
|
+
var appliedFilters = buildFiltersFromURL(columns);
|
|
3020
3151
|
var _useFetchSegments = useFetchSegments({
|
|
3021
3152
|
entity: entity
|
|
3022
3153
|
}),
|
|
3023
3154
|
fetchedSegments = _useFetchSegments.data,
|
|
3024
3155
|
isLoading = _useFetchSegments.isLoading;
|
|
3156
|
+
var _useState = useState(fetchedSegments),
|
|
3157
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3158
|
+
segments = _useState2[0],
|
|
3159
|
+
setSegments = _useState2[1];
|
|
3025
3160
|
var _useUpdateSegment = useUpdateSegment(),
|
|
3026
3161
|
updateSegment = _useUpdateSegment.mutate,
|
|
3027
3162
|
isUpdating = _useUpdateSegment.isLoading;
|
|
@@ -3109,6 +3244,7 @@ var useSegments = function useSegments(_ref) {
|
|
|
3109
3244
|
};
|
|
3110
3245
|
var filters = buildFiltersFromSearchParams(columns);
|
|
3111
3246
|
return {
|
|
3247
|
+
appliedFilters: appliedFilters,
|
|
3112
3248
|
segments: segments,
|
|
3113
3249
|
clearAppliedFilters: clearAppliedFilters,
|
|
3114
3250
|
handleSelectSegment: handleSelectSegment,
|
|
@@ -3183,40 +3319,27 @@ var Segment = function Segment(_ref) {
|
|
|
3183
3319
|
|
|
3184
3320
|
var MenuBlocks = function MenuBlocks(_ref) {
|
|
3185
3321
|
var entity = _ref.entity,
|
|
3186
|
-
|
|
3322
|
+
segments = _ref.segments,
|
|
3323
|
+
segmentId = _ref.segmentId,
|
|
3324
|
+
isUpdating = _ref.isUpdating,
|
|
3325
|
+
appliedFilters = _ref.appliedFilters,
|
|
3326
|
+
setConfirmAction = _ref.setConfirmAction,
|
|
3187
3327
|
defaultSegmentName = _ref.defaultSegmentName,
|
|
3188
|
-
|
|
3189
|
-
|
|
3328
|
+
handleSelectSegment = _ref.handleSelectSegment,
|
|
3329
|
+
clearAppliedFilters = _ref.clearAppliedFilters,
|
|
3330
|
+
handleSegmentsReorder = _ref.handleSegmentsReorder;
|
|
3190
3331
|
var _useTranslation = useTranslation(),
|
|
3191
3332
|
t = _useTranslation.t;
|
|
3192
|
-
var segmentFormInitialRef = useRef(null);
|
|
3193
3333
|
var _useState = useState(false),
|
|
3194
3334
|
_useState2 = _slicedToArray(_useState, 2),
|
|
3195
3335
|
showAll = _useState2[0],
|
|
3196
3336
|
setShowAll = _useState2[1];
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
appliedFilters: appliedFilters,
|
|
3204
|
-
childrenKeys: childrenKeys
|
|
3205
|
-
}),
|
|
3206
|
-
_useSegments$segments = _useSegments.segments,
|
|
3207
|
-
segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
|
|
3208
|
-
clearAppliedFilters = _useSegments.clearAppliedFilters,
|
|
3209
|
-
handleSelectSegment = _useSegments.handleSelectSegment,
|
|
3210
|
-
handleSegmentsReorder = _useSegments.handleSegmentsReorder,
|
|
3211
|
-
onClose = _useSegments.onClose,
|
|
3212
|
-
setConfirmAction = _useSegments.setConfirmAction,
|
|
3213
|
-
selectedSegment = _useSegments.selectedSegment,
|
|
3214
|
-
isDeleteAlertOpen = _useSegments.isDeleteAlertOpen,
|
|
3215
|
-
isEditPaneOpen = _useSegments.isEditPaneOpen,
|
|
3216
|
-
isUpdating = _useSegments.isUpdating,
|
|
3217
|
-
handleUpdate = _useSegments.handleUpdate,
|
|
3218
|
-
filters = _useSegments.filters;
|
|
3219
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React.createElement(Button, {
|
|
3337
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, null, /*#__PURE__*/React.createElement(Typography, {
|
|
3338
|
+
component: "h4",
|
|
3339
|
+
style: "h5",
|
|
3340
|
+
textTransform: "uppercase",
|
|
3341
|
+
weight: "bold"
|
|
3342
|
+
}, t("neetoFilters.common.segments"))), segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React.createElement(Button, {
|
|
3220
3343
|
icon: Down,
|
|
3221
3344
|
style: "link",
|
|
3222
3345
|
label: showAll ? t("neetoFilters.segments.showLess") : t("neetoFilters.segments.showMoreNumbers", {
|
|
@@ -3267,6 +3390,129 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
3267
3390
|
}));
|
|
3268
3391
|
});
|
|
3269
3392
|
}), placeholder);
|
|
3393
|
+
})));
|
|
3394
|
+
};
|
|
3395
|
+
var MenuBlocks$1 = /*#__PURE__*/React.memo(MenuBlocks);
|
|
3396
|
+
|
|
3397
|
+
var SidebarBlock = function SidebarBlock(_ref) {
|
|
3398
|
+
var id = _ref.id,
|
|
3399
|
+
isActive = _ref.isActive,
|
|
3400
|
+
label = _ref.label,
|
|
3401
|
+
onClick = _ref.onClick,
|
|
3402
|
+
segments = _ref.segments,
|
|
3403
|
+
setConfirmAction = _ref.setConfirmAction;
|
|
3404
|
+
var _useTranslation = useTranslation(),
|
|
3405
|
+
t = _useTranslation.t;
|
|
3406
|
+
var menuItems = [{
|
|
3407
|
+
key: "edit",
|
|
3408
|
+
label: t("neetoFilters.common.edit"),
|
|
3409
|
+
onClick: function onClick() {
|
|
3410
|
+
return setConfirmAction({
|
|
3411
|
+
action: SEGMENT_ACTIONS.EDIT,
|
|
3412
|
+
segment: findById(id, segments)
|
|
3413
|
+
});
|
|
3414
|
+
}
|
|
3415
|
+
}, {
|
|
3416
|
+
key: "delete",
|
|
3417
|
+
label: t("neetoFilters.common.delete"),
|
|
3418
|
+
onClick: function onClick() {
|
|
3419
|
+
return setConfirmAction({
|
|
3420
|
+
action: SEGMENT_ACTIONS.DELETE,
|
|
3421
|
+
segment: findById(id, segments)
|
|
3422
|
+
});
|
|
3423
|
+
}
|
|
3424
|
+
}];
|
|
3425
|
+
var dataCyPrefix = hyphenate(label);
|
|
3426
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
3427
|
+
onClick: onClick,
|
|
3428
|
+
"data-cy": "".concat(dataCyPrefix, "-segment-link"),
|
|
3429
|
+
className: classnames("neeto-molecules-sidebar-segment neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none mb-0 w-full py-1", {
|
|
3430
|
+
active: isActive
|
|
3431
|
+
})
|
|
3432
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
3433
|
+
className: "neeto-molecules-sidebar__link-sub-label neeto-molecules-sidebar-segment__label neeto-ui-flex-grow min-w-0",
|
|
3434
|
+
component: "span",
|
|
3435
|
+
"data-cy": "".concat(dataCyPrefix, "-sub-link-label"),
|
|
3436
|
+
style: "body2"
|
|
3437
|
+
}, label), /*#__PURE__*/React.createElement(MoreDropdown, {
|
|
3438
|
+
menuItems: menuItems,
|
|
3439
|
+
dropdownButtonProps: {
|
|
3440
|
+
"data-testid": "segment-more-menu-".concat(dataCyPrefix),
|
|
3441
|
+
className: "flex-shrink-0",
|
|
3442
|
+
size: "small",
|
|
3443
|
+
style: "secondary"
|
|
3444
|
+
},
|
|
3445
|
+
dropdownProps: {
|
|
3446
|
+
position: "bottom-end",
|
|
3447
|
+
strategy: "fixed",
|
|
3448
|
+
autoWidth: true
|
|
3449
|
+
}
|
|
3450
|
+
}));
|
|
3451
|
+
};
|
|
3452
|
+
|
|
3453
|
+
var Segments = function Segments(_ref) {
|
|
3454
|
+
var entity = _ref.entity,
|
|
3455
|
+
columns = _ref.columns,
|
|
3456
|
+
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
3457
|
+
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? ALL_RESULTS : _ref$defaultSegmentNa,
|
|
3458
|
+
customFilters = _ref.customFilters,
|
|
3459
|
+
_ref$childrenKeys = _ref.childrenKeys,
|
|
3460
|
+
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
|
|
3461
|
+
_ref$isIndependent = _ref.isIndependent,
|
|
3462
|
+
isIndependent = _ref$isIndependent === void 0 ? true : _ref$isIndependent;
|
|
3463
|
+
var _useTranslation = useTranslation(),
|
|
3464
|
+
t = _useTranslation.t;
|
|
3465
|
+
var _useQueryParams = useQueryParams(),
|
|
3466
|
+
segmentId = _useQueryParams.segmentId;
|
|
3467
|
+
var segmentFormInitialRef = useRef(null);
|
|
3468
|
+
var _useSegments = useSegments({
|
|
3469
|
+
entity: entity,
|
|
3470
|
+
columns: columns,
|
|
3471
|
+
childrenKeys: childrenKeys
|
|
3472
|
+
}),
|
|
3473
|
+
_useSegments$segments = _useSegments.segments,
|
|
3474
|
+
segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
|
|
3475
|
+
clearAppliedFilters = _useSegments.clearAppliedFilters,
|
|
3476
|
+
handleSelectSegment = _useSegments.handleSelectSegment,
|
|
3477
|
+
handleSegmentsReorder = _useSegments.handleSegmentsReorder,
|
|
3478
|
+
onClose = _useSegments.onClose,
|
|
3479
|
+
setConfirmAction = _useSegments.setConfirmAction,
|
|
3480
|
+
selectedSegment = _useSegments.selectedSegment,
|
|
3481
|
+
isDeleteAlertOpen = _useSegments.isDeleteAlertOpen,
|
|
3482
|
+
isEditPaneOpen = _useSegments.isEditPaneOpen,
|
|
3483
|
+
isUpdating = _useSegments.isUpdating,
|
|
3484
|
+
handleUpdate = _useSegments.handleUpdate,
|
|
3485
|
+
filters = _useSegments.filters,
|
|
3486
|
+
appliedFilters = _useSegments.appliedFilters;
|
|
3487
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3488
|
+
"data-testid": "neeto-filters-segments"
|
|
3489
|
+
}, isIndependent ? /*#__PURE__*/React.createElement(MenuBlocks$1, {
|
|
3490
|
+
appliedFilters: appliedFilters,
|
|
3491
|
+
clearAppliedFilters: clearAppliedFilters,
|
|
3492
|
+
defaultSegmentName: defaultSegmentName,
|
|
3493
|
+
entity: entity,
|
|
3494
|
+
handleSegmentsReorder: handleSegmentsReorder,
|
|
3495
|
+
handleSelectSegment: handleSelectSegment,
|
|
3496
|
+
isUpdating: isUpdating,
|
|
3497
|
+
segmentId: segmentId,
|
|
3498
|
+
segments: segments,
|
|
3499
|
+
setConfirmAction: setConfirmAction
|
|
3500
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, isNotEmpty(segments) && /*#__PURE__*/React.createElement(Typography, {
|
|
3501
|
+
style: "body3",
|
|
3502
|
+
weight: "semibold",
|
|
3503
|
+
className: "neeto-molecules-sidebar-segments-header neeto-ui-text-transform-capitalize neeto-ui-text-gray-600 py-2 uppercase"
|
|
3504
|
+
}, t("neetoFilters.segments.segment", PLURAL)), segments.map(function (segment) {
|
|
3505
|
+
return /*#__PURE__*/React.createElement(SidebarBlock, {
|
|
3506
|
+
segments: segments,
|
|
3507
|
+
setConfirmAction: setConfirmAction,
|
|
3508
|
+
id: segment.id,
|
|
3509
|
+
isActive: segment.id === segmentId,
|
|
3510
|
+
key: segment.id,
|
|
3511
|
+
label: segment.name,
|
|
3512
|
+
onClick: function onClick() {
|
|
3513
|
+
return handleSelectSegment(segment);
|
|
3514
|
+
}
|
|
3515
|
+
});
|
|
3270
3516
|
})), /*#__PURE__*/React.createElement(SegmentForm, {
|
|
3271
3517
|
childrenKeys: childrenKeys,
|
|
3272
3518
|
columns: columns,
|
|
@@ -3287,30 +3533,6 @@ var MenuBlocks = function MenuBlocks(_ref) {
|
|
|
3287
3533
|
segment: selectedSegment
|
|
3288
3534
|
}));
|
|
3289
3535
|
};
|
|
3290
|
-
var MenuBlocks$1 = /*#__PURE__*/React.memo(MenuBlocks);
|
|
3291
|
-
|
|
3292
|
-
var Segments = withT(function (_ref) {
|
|
3293
|
-
var t = _ref.t,
|
|
3294
|
-
entity = _ref.entity,
|
|
3295
|
-
columns = _ref.columns,
|
|
3296
|
-
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
3297
|
-
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
|
|
3298
|
-
customFilters = _ref.customFilters,
|
|
3299
|
-
_ref$childrenKeys = _ref.childrenKeys,
|
|
3300
|
-
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys;
|
|
3301
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, null, /*#__PURE__*/React.createElement(Typography, {
|
|
3302
|
-
component: "h4",
|
|
3303
|
-
style: "h5",
|
|
3304
|
-
textTransform: "uppercase",
|
|
3305
|
-
weight: "bold"
|
|
3306
|
-
}, t("neetoFilters.common.segments"))), /*#__PURE__*/React.createElement(MenuBlocks$1, {
|
|
3307
|
-
childrenKeys: childrenKeys,
|
|
3308
|
-
columns: columns,
|
|
3309
|
-
customFilters: customFilters,
|
|
3310
|
-
defaultSegmentName: defaultSegmentName,
|
|
3311
|
-
entity: entity
|
|
3312
|
-
}));
|
|
3313
|
-
});
|
|
3314
3536
|
var index = /*#__PURE__*/React.memo(Segments);
|
|
3315
3537
|
|
|
3316
3538
|
export { Bar, Filters, index as Segments, buildFilterColumnsFromFields, buildFiltersFromURL, buildSelectorsFromURL, buildUrlFromFilters, buildUrlFromSegment, useDestroySegment, useFetchSegments, useUpdateSegment };
|