@bigbinary/neeto-filters-frontend 4.3.38 → 4.3.40

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.
Files changed (52) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/Bar.js +4 -4
  3. package/dist/Filters.js +3 -3
  4. package/dist/Segments.js +4 -4
  5. package/dist/cjs/Bar.js +4 -4
  6. package/dist/cjs/Filters.js +3 -3
  7. package/dist/cjs/Segments.js +4 -4
  8. package/dist/cjs/index.js +4 -4
  9. package/dist/cjs/utils.js +1 -1
  10. package/dist/cjs/v2/Bar.js +4 -4
  11. package/dist/cjs/v2/Filters.js +2 -2
  12. package/dist/cjs/v2/Segments.js +3 -3
  13. package/dist/cjs/v2/index.js +4 -4
  14. package/dist/cjs/v2/utils.js +1 -1
  15. package/dist/{index-BnuYw-vQ.js → index-BUy-T-f-.js} +3 -5
  16. package/dist/index-BUy-T-f-.js.map +1 -0
  17. package/dist/{index-BS_DcqfC.js → index-BgriOtQk.js} +3 -3
  18. package/dist/{index-BS_DcqfC.js.map → index-BgriOtQk.js.map} +1 -1
  19. package/dist/{index-v-4-tsRc.js → index-CYqwc9xX.js} +32 -22
  20. package/dist/index-CYqwc9xX.js.map +1 -0
  21. package/dist/{index-XdSGRCDF.js → index-DSR9cB9x.js} +32 -22
  22. package/dist/index-DSR9cB9x.js.map +1 -0
  23. package/dist/{index-BDc8DpmZ.js → index-DWrbuEjN.js} +3 -5
  24. package/dist/index-DWrbuEjN.js.map +1 -0
  25. package/dist/{index-mn_LYbVM.js → index-DwUu_zQL.js} +3 -3
  26. package/dist/{index-mn_LYbVM.js.map → index-DwUu_zQL.js.map} +1 -1
  27. package/dist/{index-CPQB3dbB.js → index-FjZrMS34.js} +3 -3
  28. package/dist/{index-CPQB3dbB.js.map → index-FjZrMS34.js.map} +1 -1
  29. package/dist/{index-tbeeSrep.js → index-ptWtPjco.js} +3 -3
  30. package/dist/{index-tbeeSrep.js.map → index-ptWtPjco.js.map} +1 -1
  31. package/dist/index.js +4 -4
  32. package/dist/{utils-C5RcrSnO.js → utils-2wOrEJEY.js} +2 -2
  33. package/dist/{utils-C5RcrSnO.js.map → utils-2wOrEJEY.js.map} +1 -1
  34. package/dist/{utils-7qsBJxsE.js → utils-CJy_Ilbi.js} +31 -21
  35. package/dist/utils-CJy_Ilbi.js.map +1 -0
  36. package/dist/{utils-xNgUSPbr.js → utils-CN8lsON0.js} +2 -2
  37. package/dist/{utils-xNgUSPbr.js.map → utils-CN8lsON0.js.map} +1 -1
  38. package/dist/{utils-C3k2IuDv.js → utils-DXOrtV1K.js} +31 -21
  39. package/dist/utils-DXOrtV1K.js.map +1 -0
  40. package/dist/utils.js +1 -1
  41. package/dist/v2/Bar.js +4 -4
  42. package/dist/v2/Filters.js +2 -2
  43. package/dist/v2/Segments.js +3 -3
  44. package/dist/v2/index.js +4 -4
  45. package/dist/v2/utils.js +1 -1
  46. package/package.json +23 -23
  47. package/dist/index-BDc8DpmZ.js.map +0 -1
  48. package/dist/index-BnuYw-vQ.js.map +0 -1
  49. package/dist/index-XdSGRCDF.js.map +0 -1
  50. package/dist/index-v-4-tsRc.js.map +0 -1
  51. package/dist/utils-7qsBJxsE.js.map +0 -1
  52. package/dist/utils-C3k2IuDv.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils-C5RcrSnO.js","sources":["../app/javascript/src/components/Pane/Item/utils.js"],"sourcesContent":["import { findBy, isNotPresent, toLabelAndValue } from \"neetocist\";\nimport {\n append,\n concat,\n equals,\n isEmpty,\n isNil,\n last,\n mergeDeepRight,\n modify,\n not,\n omit,\n} from \"ramda\";\n\nimport {\n DATE_OPTIONS,\n DATE_RANGE_OPTIONS,\n TIME_OPTIONS,\n TIME_RANGE_OPTIONS,\n} from \"common/constants\";\nimport dayjs from \"common/dayjs\";\n\nimport { DEFAULT_HELP_ICON_PROPS } from \"./constants\";\n\nimport {\n isDateRange,\n isMulti,\n isNilOrEmpty,\n isTimeRange,\n isTreeSelect,\n} from \"../../utils\";\n\nexport const buildDropdownValue = ({ defaultType, filter, options }) => {\n if (!filter) return null;\n\n if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return options.filter(({ value }) => filter.value.includes(value));\n }\n\n return findBy({ value: filter.value }, options);\n};\n\nexport const buildDatetimeValue = filter => {\n if (!filter) return null;\n\n return findBy({ value: filter.value }, DATE_OPTIONS) ?? last(DATE_OPTIONS);\n};\n\nexport const buildSingleTimeValue = filter => {\n if (!filter) return null;\n\n return findBy({ value: filter.value }, TIME_OPTIONS) ?? last(TIME_OPTIONS);\n};\n\nexport const getOtherProps = props =>\n omit(\n [\"key\", \"node\", \"label\", \"type\", \"values\", \"model\", \"showRuleSelector\"],\n props\n );\n\nexport const buildDropdownOptions = ({ defaultType, filter, options = [] }) => {\n if (isEmpty(options)) {\n if (isDateRange(defaultType)) {\n options = DATE_RANGE_OPTIONS;\n } else if (isTimeRange(defaultType)) {\n options = TIME_RANGE_OPTIONS;\n }\n }\n options = options.map(modify(\"value\", value => value?.toString()));\n\n if (!filter) return options;\n\n if (isMulti(defaultType)) {\n const selectedOptions = filter.value.map(\n value => findBy({ value }, options) || toLabelAndValue(value)\n );\n\n const nonSelectedOptions = options.filter(\n option => !filter.value.includes(option.value)\n );\n\n return concat(selectedOptions, nonSelectedOptions);\n }\n\n if (!findBy({ value: filter.value }, options)) {\n return append(toLabelAndValue(filter.value), options);\n }\n\n return options;\n};\n\nexport const initializeDateRule = filter =>\n filter\n ? findBy({ value: filter?.value }, DATE_OPTIONS) ||\n findDateOption(filter, DATE_OPTIONS)\n : {};\n\nexport const getDateValue = (value, rule) => {\n if (isEmpty(value) || isNil(value)) {\n return null;\n }\n\n if (rule.value === \"custom-date-range\") {\n return value;\n }\n\n return rule.value === \"before\"\n ? dayjs(value[1]).add(1, \"day\")\n : dayjs(value[0]).subtract(1, \"day\");\n};\n\nexport const findDateOption = (filter, options) => {\n const { value } = filter;\n const isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), \"year\") >= 90;\n if (not(isBeforeOrAfter)) {\n return last(options);\n }\n const currentMoment = dayjs();\n\n const diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), \"year\"));\n const diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), \"year\"));\n\n return diffWithStart < diffWithEnd\n ? findBy({ value: \"after\" }, options)\n : findBy({ value: \"before\" }, options);\n};\n\nexport const buildDateValues = (dates, selectedRule) => {\n if (selectedRule.value === \"after\") {\n return [dates.add(1, \"day\"), dates.add(100, \"year\")];\n } else if (selectedRule.value === \"before\") {\n return [dates.subtract(100, \"year\"), dates.subtract(1, \"day\")];\n }\n\n return dates;\n};\n\nexport const buildHelpIconProps = helpIconProps =>\n mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);\n\nexport const hasInvalidTimes = times => {\n if (isNotPresent(times)) return false;\n\n if (Array.isArray(times)) {\n return times.some(time => time.isValid()) === false;\n }\n\n return !times.isValid();\n};\n\nexport const areCustomTimeRangeValuesNotValid = times =>\n !times.every(time => time.isValid());\n\n// eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\nexport const formatSingleTime = time => dayjs(time).format(\"HH:mm:ss\");\n\nexport const formatTime = (value, timePickerType) => {\n if (isNilOrEmpty(value)) return null;\n\n if (timePickerType === \"range\") {\n return value.map(formatSingleTime);\n }\n\n return formatSingleTime(value);\n};\n\nexport const isRuleEmpty = rule => equals(rule, \"is_unknown\");\n"],"names":["buildDropdownValue","_ref","defaultType","filter","options","isMulti","isTreeSelect","_ref2","value","includes","findBy","buildSingleTimeValue","_findBy2","TIME_OPTIONS","last","getOtherProps","props","omit","buildDropdownOptions","_ref3","_ref3$options","isEmpty","isDateRange","DATE_RANGE_OPTIONS","isTimeRange","TIME_RANGE_OPTIONS","map","modify","toString","selectedOptions","toLabelAndValue","nonSelectedOptions","option","concat","append","initializeDateRule","DATE_OPTIONS","findDateOption","getDateValue","rule","isNil","dayjs","add","subtract","isBeforeOrAfter","diff","not","currentMoment","diffWithStart","Math","abs","diffWithEnd","buildDateValues","dates","selectedRule","buildHelpIconProps","helpIconProps","mergeDeepRight","DEFAULT_HELP_ICON_PROPS","hasInvalidTimes","times","isNotPresent","Array","isArray","some","time","isValid","areCustomTimeRangeValuesNotValid","every","isRuleEmpty","equals"],"mappings":";;;;;;;;IAgCaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAyC;AAAA,EAAA,IAAnCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;AAC/D,EAAA,IAAI,CAACD,MAAM,EAAE,OAAO,IAAI;EAExB,IAAIE,aAAO,CAACH,WAAW,CAAC,IAAII,kBAAY,CAACJ,WAAW,CAAC,EAAE;AACrD,IAAA,OAAOE,OAAO,CAACD,MAAM,CAAC,UAAAI,KAAA,EAAA;AAAA,MAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;AAAA,MAAA,OAAOL,MAAM,CAACK,KAAK,CAACC,QAAQ,CAACD,KAAK,CAAC;IAAA,CAAA,CAAC;AACpE,EAAA;AAEA,EAAA,OAAOE,gBAAM,CAAC;IAAEF,KAAK,EAAEL,MAAM,CAACK;GAAO,EAAEJ,OAAO,CAAC;AACjD;IAQaO,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGR,MAAM,EAAI;AAAA,EAAA,IAAAS,QAAA;AAC5C,EAAA,IAAI,CAACT,MAAM,EAAE,OAAO,IAAI;EAExB,OAAA,CAAAS,QAAA,GAAOF,gBAAM,CAAC;IAAEF,KAAK,EAAEL,MAAM,CAACK;GAAO,EAAEK,sBAAY,CAAC,MAAA,IAAA,IAAAD,QAAA,KAAA,MAAA,GAAAA,QAAA,GAAIE,UAAI,CAACD,sBAAY,CAAC;AAC5E;IAEaE,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAChCC,UAAI,CACF,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EACvED,KACF,CAAC;AAAA;IAEUE,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,KAAA,EAA8C;AAAA,EAAA,IAAxCjB,WAAW,GAAAiB,KAAA,CAAXjB,WAAW;IAAEC,MAAM,GAAAgB,KAAA,CAANhB,MAAM;IAAAiB,aAAA,GAAAD,KAAA,CAAEf,OAAO;AAAPA,IAAAA,OAAO,GAAAgB,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;AACtE,EAAA,IAAIC,aAAO,CAACjB,OAAO,CAAC,EAAE;AACpB,IAAA,IAAIkB,iBAAW,CAACpB,WAAW,CAAC,EAAE;AAC5BE,MAAAA,OAAO,GAAGmB,4BAAkB;AAC9B,IAAA,CAAC,MAAM,IAAIC,iBAAW,CAACtB,WAAW,CAAC,EAAE;AACnCE,MAAAA,OAAO,GAAGqB,4BAAkB;AAC9B,IAAA;AACF,EAAA;EACArB,OAAO,GAAGA,OAAO,CAACsB,GAAG,CAACC,YAAM,CAAC,OAAO,EAAE,UAAAnB,KAAK,EAAA;IAAA,OAAIA,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEoB,QAAQ,EAAE;AAAA,EAAA,CAAA,CAAC,CAAC;AAElE,EAAA,IAAI,CAACzB,MAAM,EAAE,OAAOC,OAAO;AAE3B,EAAA,IAAIC,aAAO,CAACH,WAAW,CAAC,EAAE;IACxB,IAAM2B,eAAe,GAAG1B,MAAM,CAACK,KAAK,CAACkB,GAAG,CACtC,UAAAlB,KAAK,EAAA;AAAA,MAAA,OAAIE,gBAAM,CAAC;AAAEF,QAAAA,KAAK,EAALA;AAAM,OAAC,EAAEJ,OAAO,CAAC,IAAI0B,yBAAe,CAACtB,KAAK,CAAC;AAAA,IAAA,CAC/D,CAAC;AAED,IAAA,IAAMuB,kBAAkB,GAAG3B,OAAO,CAACD,MAAM,CACvC,UAAA6B,MAAM,EAAA;MAAA,OAAI,CAAC7B,MAAM,CAACK,KAAK,CAACC,QAAQ,CAACuB,MAAM,CAACxB,KAAK,CAAC;AAAA,IAAA,CAChD,CAAC;AAED,IAAA,OAAOyB,YAAM,CAACJ,eAAe,EAAEE,kBAAkB,CAAC;AACpD,EAAA;EAEA,IAAI,CAACrB,gBAAM,CAAC;IAAEF,KAAK,EAAEL,MAAM,CAACK;GAAO,EAAEJ,OAAO,CAAC,EAAE;IAC7C,OAAO8B,YAAM,CAACJ,yBAAe,CAAC3B,MAAM,CAACK,KAAK,CAAC,EAAEJ,OAAO,CAAC;AACvD,EAAA;AAEA,EAAA,OAAOA,OAAO;AAChB;IAEa+B,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGhC,MAAM,EAAA;EAAA,OACtCA,MAAM,GACFO,gBAAM,CAAC;AAAEF,IAAAA,KAAK,EAAEL,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEK;AAAM,GAAC,EAAE4B,sBAAY,CAAC,IAC9CC,cAAc,CAAClC,MAAM,EAAEiC,sBAAY,CAAC,GACpC,EAAE;AAAA;AAED,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAI9B,KAAK,EAAE+B,IAAI,EAAK;EAC3C,IAAIlB,aAAO,CAACb,KAAK,CAAC,IAAIgC,WAAK,CAAChC,KAAK,CAAC,EAAE;AAClC,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAI+B,IAAI,CAAC/B,KAAK,KAAK,mBAAmB,EAAE;AACtC,IAAA,OAAOA,KAAK;AACd,EAAA;AAEA,EAAA,OAAO+B,IAAI,CAAC/B,KAAK,KAAK,QAAQ,GAC1BiC,aAAK,CAACjC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACkC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAC7BD,aAAK,CAACjC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACmC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;AACxC;AAEO,IAAMN,cAAc,GAAG,SAAjBA,cAAcA,CAAIlC,MAAM,EAAEC,OAAO,EAAK;AACjD,EAAA,IAAQI,KAAK,GAAKL,MAAM,CAAhBK,KAAK;EACb,IAAMoC,eAAe,GAAGH,aAAK,CAACjC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACqC,IAAI,CAACJ,aAAK,CAACjC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE;AAC3E,EAAA,IAAIsC,SAAG,CAACF,eAAe,CAAC,EAAE;IACxB,OAAO9B,UAAI,CAACV,OAAO,CAAC;AACtB,EAAA;AACA,EAAA,IAAM2C,aAAa,GAAGN,aAAK,EAAE;EAE7B,IAAMO,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACH,aAAa,CAACF,IAAI,CAACJ,aAAK,CAACjC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;EAC3E,IAAM2C,WAAW,GAAGF,IAAI,CAACC,GAAG,CAACH,aAAa,CAACF,IAAI,CAACJ,aAAK,CAACjC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAEzE,EAAA,OAAOwC,aAAa,GAAGG,WAAW,GAC9BzC,gBAAM,CAAC;AAAEF,IAAAA,KAAK,EAAE;AAAQ,GAAC,EAAEJ,OAAO,CAAC,GACnCM,gBAAM,CAAC;AAAEF,IAAAA,KAAK,EAAE;GAAU,EAAEJ,OAAO,CAAC;AAC1C,CAAC;AAEM,IAAMgD,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAK,EAAEC,YAAY,EAAK;AACtD,EAAA,IAAIA,YAAY,CAAC9C,KAAK,KAAK,OAAO,EAAE;AAClC,IAAA,OAAO,CAAC6C,KAAK,CAACX,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAEW,KAAK,CAACX,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACtD,EAAA,CAAC,MAAM,IAAIY,YAAY,CAAC9C,KAAK,KAAK,QAAQ,EAAE;AAC1C,IAAA,OAAO,CAAC6C,KAAK,CAACV,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAEU,KAAK,CAACV,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAChE,EAAA;AAEA,EAAA,OAAOU,KAAK;AACd;IAEaE,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,aAAa,EAAA;AAAA,EAAA,OAC7CC,oBAAc,CAACC,6BAAuB,EAAEF,aAAa,CAAC;AAAA;IAE3CG,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,KAAK,EAAI;AACtC,EAAA,IAAIC,sBAAY,CAACD,KAAK,CAAC,EAAE,OAAO,KAAK;AAErC,EAAA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;AACxB,IAAA,OAAOA,KAAK,CAACI,IAAI,CAAC,UAAAC,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA,CAAC,KAAK,KAAK;AACrD,EAAA;AAEA,EAAA,OAAO,CAACN,KAAK,CAACM,OAAO,EAAE;AACzB;IAEaC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAGP,KAAK,EAAA;AAAA,EAAA,OACnD,CAACA,KAAK,CAACQ,KAAK,CAAC,UAAAH,IAAI,EAAA;AAAA,IAAA,OAAIA,IAAI,CAACC,OAAO,EAAE;EAAA,CAAA,CAAC;AAAA;IAezBG,WAAW,GAAG,SAAdA,WAAWA,CAAG9B,IAAI,EAAA;AAAA,EAAA,OAAI+B,YAAM,CAAC/B,IAAI,EAAE,YAAY,CAAC;AAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"utils-2wOrEJEY.js","sources":["../app/javascript/src/components/Pane/Item/utils.js"],"sourcesContent":["import { findBy, isNotPresent, toLabelAndValue } from \"neetocist\";\nimport {\n append,\n concat,\n equals,\n isEmpty,\n isNil,\n last,\n mergeDeepRight,\n modify,\n not,\n omit,\n} from \"ramda\";\n\nimport {\n DATE_OPTIONS,\n DATE_RANGE_OPTIONS,\n TIME_OPTIONS,\n TIME_RANGE_OPTIONS,\n} from \"common/constants\";\nimport dayjs from \"common/dayjs\";\n\nimport { DEFAULT_HELP_ICON_PROPS } from \"./constants\";\n\nimport {\n isDateRange,\n isMulti,\n isNilOrEmpty,\n isTimeRange,\n isTreeSelect,\n} from \"../../utils\";\n\nexport const buildDropdownValue = ({ defaultType, filter, options }) => {\n if (!filter) return null;\n\n if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return options.filter(({ value }) => filter.value.includes(value));\n }\n\n return findBy({ value: filter.value }, options);\n};\n\nexport const buildDatetimeValue = filter => {\n if (!filter) return null;\n\n return findBy({ value: filter.value }, DATE_OPTIONS) ?? last(DATE_OPTIONS);\n};\n\nexport const buildSingleTimeValue = filter => {\n if (!filter) return null;\n\n return findBy({ value: filter.value }, TIME_OPTIONS) ?? last(TIME_OPTIONS);\n};\n\nexport const getOtherProps = props =>\n omit(\n [\"key\", \"node\", \"label\", \"type\", \"values\", \"model\", \"showRuleSelector\"],\n props\n );\n\nexport const buildDropdownOptions = ({ defaultType, filter, options = [] }) => {\n if (isEmpty(options)) {\n if (isDateRange(defaultType)) {\n options = DATE_RANGE_OPTIONS;\n } else if (isTimeRange(defaultType)) {\n options = TIME_RANGE_OPTIONS;\n }\n }\n options = options.map(modify(\"value\", value => value?.toString()));\n\n if (!filter) return options;\n\n if (isMulti(defaultType)) {\n const selectedOptions = filter.value.map(\n value => findBy({ value }, options) || toLabelAndValue(value)\n );\n\n const nonSelectedOptions = options.filter(\n option => !filter.value.includes(option.value)\n );\n\n return concat(selectedOptions, nonSelectedOptions);\n }\n\n if (!findBy({ value: filter.value }, options)) {\n return append(toLabelAndValue(filter.value), options);\n }\n\n return options;\n};\n\nexport const initializeDateRule = filter =>\n filter\n ? findBy({ value: filter?.value }, DATE_OPTIONS) ||\n findDateOption(filter, DATE_OPTIONS)\n : {};\n\nexport const getDateValue = (value, rule) => {\n if (isEmpty(value) || isNil(value)) {\n return null;\n }\n\n if (rule.value === \"custom-date-range\") {\n return value;\n }\n\n return rule.value === \"before\"\n ? dayjs(value[1]).add(1, \"day\")\n : dayjs(value[0]).subtract(1, \"day\");\n};\n\nexport const findDateOption = (filter, options) => {\n const { value } = filter;\n const isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), \"year\") >= 90;\n if (not(isBeforeOrAfter)) {\n return last(options);\n }\n const currentMoment = dayjs();\n\n const diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), \"year\"));\n const diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), \"year\"));\n\n return diffWithStart < diffWithEnd\n ? findBy({ value: \"after\" }, options)\n : findBy({ value: \"before\" }, options);\n};\n\nexport const buildDateValues = (dates, selectedRule) => {\n if (selectedRule.value === \"after\") {\n return [dates.add(1, \"day\"), dates.add(100, \"year\")];\n } else if (selectedRule.value === \"before\") {\n return [dates.subtract(100, \"year\"), dates.subtract(1, \"day\")];\n }\n\n return dates;\n};\n\nexport const buildHelpIconProps = helpIconProps =>\n mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);\n\nexport const hasInvalidTimes = times => {\n if (isNotPresent(times)) return false;\n\n if (Array.isArray(times)) {\n return times.some(time => time.isValid()) === false;\n }\n\n return !times.isValid();\n};\n\nexport const areCustomTimeRangeValuesNotValid = times =>\n !times.every(time => time.isValid());\n\n// eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\nexport const formatSingleTime = time => dayjs(time).format(\"HH:mm:ss\");\n\nexport const formatTime = (value, timePickerType) => {\n if (isNilOrEmpty(value)) return null;\n\n if (timePickerType === \"range\") {\n return value.map(formatSingleTime);\n }\n\n return formatSingleTime(value);\n};\n\nexport const isRuleEmpty = rule => equals(rule, \"is_unknown\");\n"],"names":["buildDropdownValue","_ref","defaultType","filter","options","isMulti","isTreeSelect","_ref2","value","includes","findBy","buildSingleTimeValue","_findBy2","TIME_OPTIONS","last","getOtherProps","props","omit","buildDropdownOptions","_ref3","_ref3$options","isEmpty","isDateRange","DATE_RANGE_OPTIONS","isTimeRange","TIME_RANGE_OPTIONS","map","modify","toString","selectedOptions","toLabelAndValue","nonSelectedOptions","option","concat","append","initializeDateRule","DATE_OPTIONS","findDateOption","getDateValue","rule","isNil","dayjs","add","subtract","isBeforeOrAfter","diff","not","currentMoment","diffWithStart","Math","abs","diffWithEnd","buildDateValues","dates","selectedRule","buildHelpIconProps","helpIconProps","mergeDeepRight","DEFAULT_HELP_ICON_PROPS","hasInvalidTimes","times","isNotPresent","Array","isArray","some","time","isValid","areCustomTimeRangeValuesNotValid","every","isRuleEmpty","equals"],"mappings":"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"}
@@ -115,6 +115,16 @@ var getSnakeCasedQueryParams = function getSnakeCasedQueryParams() {
115
115
  toCamelCase: false
116
116
  });
117
117
  };
118
+
119
+ // Splits a filter URL param value into [filterValue, rule].
120
+ // Tolerates both `value+rule-X` (correct encoding) and `value rule-X` — the
121
+ // latter occurs when browsers like Arc decode `%2B` to `+` in the address bar,
122
+ // after which `qs.parse` interprets the literal `+` as a space per the
123
+ // application/x-www-form-urlencoded spec.
124
+ var splitValueAndRule = function splitValueAndRule(value) {
125
+ var match = value.match(/[+ ]rule-([^+ ]+)$/);
126
+ return match ? [value.slice(0, match.index), match[1]] : [value];
127
+ };
118
128
  var isBoolean = function isBoolean(type) {
119
129
  return type === "boolean" || type === "custom.boolean";
120
130
  };
@@ -304,28 +314,28 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
304
314
  value: value
305
315
  }, column);
306
316
  } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
307
- var _value$split = value.split("+rule-"),
308
- _value$split2 = _slicedToArray(_value$split, 2),
309
- filterValue = _value$split2[0],
310
- rule = _value$split2[1];
317
+ var _splitValueAndRule = splitValueAndRule(value),
318
+ _splitValueAndRule2 = _slicedToArray(_splitValueAndRule, 2),
319
+ filterValue = _splitValueAndRule2[0],
320
+ rule = _splitValueAndRule2[1];
311
321
  return mergeLeft({
312
322
  rule: rule !== null && rule !== void 0 ? rule : "in",
313
323
  value: filterValue.split("|")
314
324
  }, column);
315
325
  } else if (isSingle(defaultType)) {
316
- var _value$split3 = value.split("+rule-"),
317
- _value$split4 = _slicedToArray(_value$split3, 2),
318
- _filterValue = _value$split4[0],
319
- _rule = _value$split4[1];
326
+ var _splitValueAndRule3 = splitValueAndRule(value),
327
+ _splitValueAndRule4 = _slicedToArray(_splitValueAndRule3, 2),
328
+ _filterValue = _splitValueAndRule4[0],
329
+ _rule = _splitValueAndRule4[1];
320
330
  return mergeLeft({
321
331
  rule: _rule !== null && _rule !== void 0 ? _rule : "in",
322
332
  value: _filterValue
323
333
  }, column);
324
334
  } else if (isDigit(defaultType) || isText(defaultType)) {
325
- var _value$split5 = value.split("+rule-"),
326
- _value$split6 = _slicedToArray(_value$split5, 2),
327
- _filterValue2 = _value$split6[0],
328
- _rule2 = _value$split6[1];
335
+ var _splitValueAndRule5 = splitValueAndRule(value),
336
+ _splitValueAndRule6 = _slicedToArray(_splitValueAndRule5, 2),
337
+ _filterValue2 = _splitValueAndRule6[0],
338
+ _rule2 = _splitValueAndRule6[1];
329
339
  return mergeLeft({
330
340
  rule: _rule2,
331
341
  value: _filterValue2
@@ -335,19 +345,19 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
335
345
  value: value
336
346
  }, column);
337
347
  } else if (isSingleDate(defaultType)) {
338
- var _value$split7 = value.split("+rule-"),
339
- _value$split8 = _slicedToArray(_value$split7, 2),
340
- _filterValue3 = _value$split8[0],
341
- _rule3 = _value$split8[1];
348
+ var _splitValueAndRule7 = splitValueAndRule(value),
349
+ _splitValueAndRule8 = _slicedToArray(_splitValueAndRule7, 2),
350
+ _filterValue3 = _splitValueAndRule8[0],
351
+ _rule3 = _splitValueAndRule8[1];
342
352
  return mergeLeft({
343
353
  rule: _rule3,
344
354
  value: _rule3 === "between" ? _filterValue3.split(",") : _filterValue3
345
355
  }, column);
346
356
  } else if (isSingleTime(defaultType)) {
347
- var _value$split9 = value.split("+rule-"),
348
- _value$split10 = _slicedToArray(_value$split9, 2),
349
- _filterValue4 = _value$split10[0],
350
- _rule4 = _value$split10[1];
357
+ var _splitValueAndRule9 = splitValueAndRule(value),
358
+ _splitValueAndRule10 = _slicedToArray(_splitValueAndRule9, 2),
359
+ _filterValue4 = _splitValueAndRule10[0],
360
+ _rule4 = _splitValueAndRule10[1];
351
361
  return mergeLeft({
352
362
  rule: _rule4,
353
363
  value: _rule4 === "between" ? _filterValue4.split(",") : _filterValue4
@@ -797,4 +807,4 @@ var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
797
807
  };
798
808
 
799
809
  export { isText as A, isDigit as B, isSingle as C, DEFAULT_HELP_ICON_PROPS as D, buildSegmentsPayload as E, isCheckbox as F, CHECKBOX_OPTIONS as G, DEFAULT_BOOLEAN_OPTIONS as H, buildUpdatedFilter as I, TIME_FORMAT as J, buildRuleOptions as K, isUndefinedOrEmpty as L, MULTI_DROPDOWN_RULES as M, NUMBER_RULES as N, TREE_SELECT_RULES as O, SINGLE_DROPDOWN_RULES as S, TEXT_RULES as T, buildFiltersFromURL as a, buildFilterColumnsFromFields as b, buildSelectorsFromURL as c, buildUrlFromFilters as d, buildUrlFromSegment as e, isTreeSelect as f, isDateRange as g, isTimeRange as h, isMulti as i, buildFilteredColumns as j, buildFiltersFromSearchParams as k, getSearchTermFromUrl as l, buildDefaultFilters as m, isKeywordFilterPresent as n, getSnakeCasedQueryParams as o, compareFilters as p, buildFiltersPayload as q, getColumnsWithStandardizedType as r, isDate as s, isCustomDateRange as t, isTime as u, isCustomTimeRange as v, isSingleDate as w, isSingleTime as x, isBoolean as y, getLabelFromBool as z };
800
- //# sourceMappingURL=utils-7qsBJxsE.js.map
810
+ //# sourceMappingURL=utils-CJy_Ilbi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-CJy_Ilbi.js","sources":["../app/javascript/src/common/dayjs.js","../app/javascript/src/components/Pane/Item/constants.js","../app/javascript/src/components/utils.js"],"sourcesContent":["import { dayjs } from \"neetocommons/utils\";\n\ndayjs.Ls.en.weekStart = 1;\n\nexport default dayjs;\n","import { t } from \"i18next\";\nimport { Help } from \"neetoicons\";\n\nexport const NUMBER_RULES = [\n { label: t(\"neetoFilters.rules.is\"), value: \"is\" },\n { label: t(\"neetoFilters.rules.isNot\"), value: \"is_not\" },\n { label: t(\"neetoFilters.rules.greaterThan\"), value: \"greater_than\" },\n { label: t(\"neetoFilters.rules.lessThan\"), value: \"less_than\" },\n];\n\nexport const TEXT_RULES = [\n { label: t(\"neetoFilters.rules.contains\"), value: \"contains\" },\n { label: t(\"neetoFilters.rules.doesNotContain\"), value: \"does_not_contain\" },\n { label: t(\"neetoFilters.rules.is\"), value: \"is\" },\n { label: t(\"neetoFilters.rules.isNot\"), value: \"is_not\" },\n { label: t(\"neetoFilters.rules.startsWith\"), value: \"starts_with\" },\n {\n label: t(\"neetoFilters.rules.doesNotStartWith\"),\n value: \"does_not_start_with\",\n },\n { label: t(\"neetoFilters.rules.endsWith\"), value: \"ends_with\" },\n { label: t(\"neetoFilters.rules.doesNotEndWith\"), value: \"does_not_end_with\" },\n];\n\nexport const MULTI_DROPDOWN_RULES = [\n { label: t(\"neetoFilters.rules.in\"), value: \"in\" },\n { label: t(\"neetoFilters.rules.notIn\"), value: \"not_in\" },\n { label: t(\"neetoFilters.rules.isEmpty\"), value: \"is_unknown\" },\n];\n\nexport const SINGLE_DROPDOWN_RULES = [\n { label: t(\"neetoFilters.rules.is\"), value: \"is\" },\n { label: t(\"neetoFilters.rules.isNot\"), value: \"is_not\" },\n { label: t(\"neetoFilters.rules.isEmpty\"), value: \"is_unknown\" },\n];\n\nexport const DEFAULT_BOOLEAN_OPTIONS = [\n { label: t(\"neetoFilters.common.yes\"), value: \"true\" },\n { label: t(\"neetoFilters.common.no\"), value: \"false\" },\n];\n\nexport const CHECKBOX_OPTIONS = [\n { label: t(\"neetoFilters.rules.checked\"), value: \"true\" },\n { label: t(\"neetoFilters.rules.unchecked\"), value: \"false\" },\n];\n\nexport const TREE_SELECT_RULES = [\n { label: t(\"neetoFilters.rules.in\"), value: \"in\" },\n { label: t(\"neetoFilters.rules.notIn\"), value: \"not_in\" },\n { label: t(\"neetoFilters.rules.isEmpty\"), value: \"is_unknown\" },\n];\n\nexport const DEFAULT_HELP_ICON_PROPS = { icon: Help };\n\nexport const TIME_FORMAT = \"h:mm A\";\n","import i18next from \"i18next\";\nimport {\n findBy,\n removeBy,\n isNotEmpty,\n capitalize,\n isNotPresent,\n} from \"neetocist\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport {\n any,\n anyPass,\n concat,\n either,\n equals,\n groupBy,\n has,\n identity,\n isEmpty,\n isNil,\n mergeLeft,\n mergeRight,\n not,\n omit,\n pick,\n pluck,\n toLower,\n toPairs,\n} from \"ramda\";\n\nimport {\n DATE_OPTIONS,\n DATE_RULES,\n SEARCH_TERM_KEY,\n SEGMENT_ID_KEY,\n TIME_OPTIONS,\n} from \"common/constants\";\nimport dayjs from \"common/dayjs\";\n\nimport {\n DEFAULT_BOOLEAN_OPTIONS,\n NUMBER_RULES,\n TEXT_RULES,\n} from \"./Pane/Item/constants\";\n\nconst groupByGroup = groupBy(({ group }) => group || \"individual\");\n\nconst standardizeColumnType = kind => {\n // neeto-fields-nano supports `monetary` and `number` as type of fields, which will be acting as `decimal` in action.\n if ([\"custom.monetary\", \"custom.number\"].includes(kind)) {\n return \"custom.decimal\";\n }\n\n return kind;\n};\n\nexport const getSnakeCasedQueryParams = () =>\n getQueryParams({ toCamelCase: false });\n\n// Splits a filter URL param value into [filterValue, rule].\n// Tolerates both `value+rule-X` (correct encoding) and `value rule-X` — the\n// latter occurs when browsers like Arc decode `%2B` to `+` in the address bar,\n// after which `qs.parse` interprets the literal `+` as a space per the\n// application/x-www-form-urlencoded spec.\nconst splitValueAndRule = value => {\n const match = value.match(/[+ ]rule-([^+ ]+)$/);\n\n return match ? [value.slice(0, match.index), match[1]] : [value];\n};\n\nexport const isBoolean = type =>\n type === \"boolean\" || type === \"custom.boolean\";\nexport const isCheckbox = type =>\n type === \"checkbox\" || type === \"custom.checkbox\";\nexport const isDate = type =>\n type === \"date\" || type === \"custom.date\" || type === \"custom.datetime\";\nexport const isSingleDate = type =>\n type === \"single_date\" || type === \"custom.single_date\";\nexport const isSingleTime = type =>\n type === \"single_time\" || type === \"custom.single_time\";\nexport const isTime = type => type === \"time\" || type === \"custom.time\";\nexport const isMulti = type =>\n type === \"multi_option\" || type === \"custom.multi_option\";\nexport const isSingle = type =>\n type === \"single_option\" || type === \"custom.single_option\";\nexport const isText = type => type === \"text\" || type === \"custom.text\";\nexport const isDigit = type =>\n [\"number\", \"decimal\", \"custom.decimal\", \"custom.number\"].includes(type);\nexport const isTreeSelect = type => type === \"tree_select\";\nexport const isDateRange = type =>\n type === \"date_range\" || type === \"custom.date_range\";\nexport const isTimeRange = type =>\n type === \"time_range\" || type === \"custom.time_range\";\n\nexport const isCustomDateRange = value =>\n !pluck(\"value\", DATE_OPTIONS).includes(value);\n\nexport const isCustomTimeRange = value =>\n !pluck(\"value\", TIME_OPTIONS).includes(value);\n\nexport const isMultiModelFilter = ({ model = \"\" }) =>\n model.split(\",\").length > 1;\n\nexport const getTimezone = () => dayjs().$x?.$timezone || dayjs.tz.guess();\n\nexport const getLabelFromBool = ({ value, values }) =>\n findBy(\n { value },\n either(isEmpty, isNil)(values) ? DEFAULT_BOOLEAN_OPTIONS : values\n ).label;\n\nexport const getBoolFromLabel = ({ label, values }) =>\n findBy(\n { label },\n either(isEmpty, isNil)(values) ? DEFAULT_BOOLEAN_OPTIONS : values\n ).value;\n\nexport const buildRuleOptions = ({ defaultType }) => {\n if (isText(defaultType)) return TEXT_RULES;\n else if (isDigit(defaultType)) return NUMBER_RULES;\n\n return [];\n};\n\nexport const getDefaultRuleValue = defaultType =>\n buildRuleOptions({ defaultType })?.[0]?.value || \"\";\n\nexport const isUndefinedOrEmpty = anyPass([isNil, isEmpty, any(isNil)]);\n\n// Following function split node on comma followed by non-comma characters and a dot\nexport const splitNode = joinedNodes => joinedNodes.split(/,(?=[^,]*\\.)/);\n\nexport const splitFilter = multiColumnFilter => {\n const splittedNodes = splitNode(multiColumnFilter.node);\n const splittedModels = multiColumnFilter.model.split(\",\");\n\n return splittedNodes.map((node, index) =>\n mergeLeft(\n {\n node,\n model: splittedModels[index],\n conditions_join_type: index < splittedNodes.length - 1 ? \"or\" : \"and\",\n },\n omit([\"key\", \"label\", \"values\", \"setValue\"], multiColumnFilter)\n )\n );\n};\n\nexport const buildDateValue = ({ value }) => {\n const rule = DATE_RULES[value] || \"between\";\n const dateValue = [\"before\", \"after\", \"custom-date-range\"].includes(value)\n ? \"\"\n : value;\n\n return { value: dateValue, rule, timezone: getTimezone() };\n};\n\nexport const buildTimeValue = ({ value }) => {\n const dateValue = value === \"custom-time-range\" ? \"\" : value;\n\n return { value: dateValue, rule: \"between\" };\n};\n\nexport const buildUpdatedFilter = ({\n column,\n defaultType,\n option,\n rule = \"\",\n value = \"\",\n}) => {\n const filter = omit([\"values\", \"preprocessor\"], column);\n if (isMulti(defaultType)) {\n return mergeLeft(filter, { value: pluck(\"value\", option), rule });\n } else if (isDate(defaultType)) {\n return mergeLeft(filter, buildDateValue(option));\n } else if (isSingleDate(defaultType)) {\n return mergeLeft(filter, { value, rule, timezone: getTimezone() });\n } else if (isText(defaultType) || isDigit(defaultType)) {\n return mergeLeft(filter, {\n rule,\n value: column?.preprocessor?.(value) || value,\n });\n } else if (isSingleTime(defaultType)) {\n return mergeLeft(filter, { value, rule });\n } else if (isTime(defaultType)) {\n return mergeLeft(filter, buildTimeValue(option));\n } else if (isSingle(defaultType)) {\n return mergeLeft(filter, { value: option.value, rule });\n } else if (isTreeSelect(defaultType)) {\n return mergeLeft(filter, { value: option, rule });\n }\n\n return mergeLeft(filter, { value: option.value, rule: \"is\" });\n};\n\nexport const buildFiltersFromSearchParams = (columns, skipEmpty = true) => {\n const searchParams = getSnakeCasedQueryParams();\n\n return columns\n .map(column => {\n const value = searchParams[column.key];\n const defaultType = column.defaultType || column.type;\n\n if (!skipEmpty && value === \"\") {\n return mergeLeft({ value: \"\" }, column);\n } else if (isNil(value) || value === \"\" || column.key === \"keyword\") {\n return null;\n } else if (column.key === SEARCH_TERM_KEY) {\n if (isNil(column.node)) return null;\n\n return mergeLeft({ value, type: \"text\", rule: \"contains\" }, column);\n } else if (isDate(defaultType) && isCustomDateRange(value)) {\n return mergeLeft({ value }, column);\n } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n const [filterValue, rule] = splitValueAndRule(value);\n\n return mergeLeft(\n { rule: rule ?? \"in\", value: filterValue.split(\"|\") },\n column\n );\n } else if (isSingle(defaultType)) {\n const [filterValue, rule] = splitValueAndRule(value);\n\n return mergeLeft({ rule: rule ?? \"in\", value: filterValue }, column);\n } else if (isDigit(defaultType) || isText(defaultType)) {\n const [filterValue, rule] = splitValueAndRule(value);\n\n return mergeLeft({ rule, value: filterValue }, column);\n } else if (isTime(defaultType) && isCustomTimeRange(value)) {\n return mergeLeft({ value }, column);\n } else if (isSingleDate(defaultType)) {\n const [filterValue, rule] = splitValueAndRule(value);\n\n return mergeLeft(\n {\n rule,\n value: rule === \"between\" ? filterValue.split(\",\") : filterValue,\n },\n column\n );\n } else if (isSingleTime(defaultType)) {\n const [filterValue, rule] = splitValueAndRule(value);\n\n return mergeLeft(\n {\n rule,\n value: rule === \"between\" ? filterValue.split(\",\") : filterValue,\n },\n column\n );\n } else if (isBoolean(defaultType)) {\n return mergeLeft(\n {\n rule: \"is\",\n value: getBoolFromLabel({ label: value, values: column.values }),\n },\n column\n );\n }\n\n return mergeLeft({ rule: \"is\", value }, column);\n })\n .filter(identity);\n};\n\nexport const buildTimePayload = value => {\n const timeValue = {\n \"this-hour\": [dayjs().startOf(\"hour\"), dayjs().endOf(\"hour\")],\n \"last-hour\": [\n dayjs().add(-1, \"hour\").startOf(\"hour\"),\n dayjs().add(-1, \"hour\").endOf(\"hour\"),\n ],\n \"next-hour\": [\n dayjs().add(1, \"hour\").startOf(\"hour\"),\n dayjs().add(1, \"hour\").endOf(\"hour\"),\n ],\n };\n if (isCustomTimeRange(value)) {\n return {\n value: value ? value.join(\",\") : \"\",\n rule: \"between\",\n timezone: getTimezone(),\n };\n }\n\n const times = timeValue[value] || timeValue[\"this-hour\"];\n\n return {\n value: times.map(time => time.toISOString()).join(\",\"),\n rule: \"between\",\n timezone: getTimezone(),\n };\n};\n\nexport const buildDatePayload = value => {\n const dateValue = {\n \"this-week\": [dayjs().startOf(\"week\"), dayjs().endOf(\"week\")],\n \"last-week\": [\n dayjs().add(-1, \"week\").startOf(\"week\"),\n dayjs().add(-1, \"week\").endOf(\"week\"),\n ],\n \"this-month\": [dayjs().startOf(\"month\"), dayjs().endOf(\"month\")],\n \"last-month\": [\n dayjs().add(-1, \"month\").startOf(\"month\"),\n dayjs().add(-1, \"month\").endOf(\"month\"),\n ],\n \"this-year\": [dayjs().startOf(\"year\"), dayjs().endOf(\"year\")],\n \"last-year\": [\n dayjs().add(-1, \"year\").startOf(\"year\"),\n dayjs().add(-1, \"year\").endOf(\"year\"),\n ],\n };\n\n if (value === \"today\") {\n return {\n value: dayjs().toISOString(),\n rule: \"on\",\n timezone: getTimezone(),\n };\n } else if (value === \"yesterday\") {\n return {\n value: dayjs().add(-1, \"day\").toISOString(),\n rule: \"on\",\n timezone: getTimezone(),\n };\n } else if (value === \"all-time\") {\n return {\n value: dayjs().toISOString(),\n rule: \"has_any_value\",\n timezone: getTimezone(),\n };\n } else if (isCustomDateRange(value)) {\n //custom-date-range\n return {\n value: value ? value.join(\",\") : \"\",\n rule: \"between\",\n timezone: getTimezone(),\n };\n }\n\n const dates = dateValue[value] || dateValue[\"tihs-week\"];\n\n return {\n value: dates.map(date => date.toISOString()).join(\",\"),\n rule: \"between\",\n timezone: getTimezone(),\n };\n};\n\nexport const buildSingleDatePayload = filter => {\n const { value } = filter;\n const filterValue = Array.isArray(value) ? value.join(\",\") : value;\n const type = filter.defaultType ? filter.type : \"date\";\n\n return { ...filter, value: filterValue, type, timezone: getTimezone() };\n};\n\nexport const buildSingleTimePayload = filter => {\n const { value } = filter;\n const filterValue = Array.isArray(value) ? value.join(\",\") : value;\n const type = filter.defaultType ? filter.type : \"time\";\n\n return { ...filter, value: filterValue, type, timezone: getTimezone() };\n};\nexport const flattenPayload = payload => {\n const flattenedPayload = [];\n payload.forEach(\n item =>\n Array.isArray(item)\n ? flattenedPayload.unshift(...item)\n : flattenedPayload.push(item),\n []\n );\n\n return flattenedPayload;\n};\nexport const buildMultiOptionPayload = values =>\n values.map(value => value.toString()).join(\"|\");\n\nexport const buildFiltersPayload = filters => {\n const payload = removeBy({ value: \"\" }, filters).map(filter => {\n if (filter.key === SEARCH_TERM_KEY && isMultiModelFilter(filter)) {\n return splitFilter(filter);\n }\n const filterPayload = omit([\"key\", \"label\", \"values\", \"setValue\"], filter);\n const { defaultType = filterPayload.type, value } = filterPayload;\n\n if (isMultiModelFilter(filterPayload)) {\n throw i18next.t(\"neetoFilters.errors.cannotPassMultipleModels\");\n }\n\n if (isDate(defaultType)) {\n return mergeRight(filterPayload, buildDatePayload(value));\n } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return mergeRight(filterPayload, {\n value: buildMultiOptionPayload(value),\n });\n } else if (isSingleDate(defaultType)) {\n return mergeRight(filterPayload, buildSingleDatePayload(filterPayload));\n } else if (isSingleTime(defaultType)) {\n return mergeRight(filterPayload, buildSingleTimePayload(filterPayload));\n } else if (isTime(defaultType)) {\n return mergeRight(filterPayload, buildTimePayload(value));\n } else if (isDateRange(defaultType)) {\n return mergeRight(filterPayload, buildDateRangePayload(value));\n } else if (isTimeRange(defaultType)) {\n return mergeRight(filterPayload, buildTimeRangePayload(value));\n }\n\n return filterPayload;\n });\n\n return isEmpty(payload) ? [] : [{ conditions: flattenPayload(payload) }];\n};\n\nexport const buildTimeRangePayload = value => {\n const timeValue = {\n \"this-hour\": [dayjs().startOf(\"hour\"), dayjs().endOf(\"hour\")],\n \"last-hour\": [\n dayjs().add(-1, \"hour\").startOf(\"hour\"),\n dayjs().add(-1, \"hour\").endOf(\"hour\"),\n ],\n \"next-hour\": [\n dayjs().add(1, \"hour\").startOf(\"hour\"),\n dayjs().add(1, \"hour\").endOf(\"hour\"),\n ],\n };\n\n const times = timeValue[value] || timeValue[\"this-hour\"];\n\n return {\n value: times.map(time => time.toISOString()).join(\",\"),\n rule: \"contains\",\n timezone: getTimezone(),\n };\n};\n\nexport const buildDateRangePayload = value => {\n const dateValue = {\n today: [dayjs().startOf(\"day\"), dayjs().endOf(\"day\")],\n yesterday: [\n dayjs().add(-1, \"day\").startOf(\"day\"),\n dayjs().add(-1, \"day\").endOf(\"day\"),\n ],\n \"this-week\": [dayjs().startOf(\"week\"), dayjs().endOf(\"week\")],\n \"last-week\": [\n dayjs().add(-1, \"week\").startOf(\"week\"),\n dayjs().add(-1, \"week\").endOf(\"week\"),\n ],\n \"this-month\": [dayjs().startOf(\"month\"), dayjs().endOf(\"month\")],\n \"last-month\": [\n dayjs().add(-1, \"month\").startOf(\"month\"),\n dayjs().add(-1, \"month\").endOf(\"month\"),\n ],\n \"this-year\": [dayjs().startOf(\"year\"), dayjs().endOf(\"year\")],\n \"last-year\": [\n dayjs().add(-1, \"year\").startOf(\"year\"),\n dayjs().add(-1, \"year\").endOf(\"year\"),\n ],\n };\n\n if (value === \"all-time\" || isNotPresent(dateValue[value])) {\n return {\n value: dayjs().toISOString(),\n rule: \"has_any_value\",\n timezone: getTimezone(),\n };\n }\n\n return {\n value: dateValue[value].map(date => date.toISOString()).join(\",\"),\n rule: \"contains\",\n timezone: getTimezone(),\n };\n};\n\nexport const buildSegmentsPayload = (filters, childrenKeys = []) => {\n const payload = removeBy({ value: \"\" }, filters).map(filter => {\n if (filter.key === SEARCH_TERM_KEY) {\n return false;\n }\n\n const filterPayload = omit(\n [\"label\", \"values\", \"setValue\", \"defaultValue\"],\n filter\n );\n const { defaultType = filterPayload.type, value } = filterPayload;\n if (filter.key !== SEARCH_TERM_KEY && isMultiModelFilter(filterPayload)) {\n throw i18next.t(\"neetoFilters.errors.cannotPassMultipleModels\");\n }\n\n if (isMulti(defaultType)) {\n return mergeRight(filterPayload, {\n value: buildMultiOptionPayload(value),\n });\n }\n\n return filterPayload;\n });\n const searchParams = getSnakeCasedQueryParams();\n\n const modifiedPayload = childrenKeys.reduce((acc, key) => {\n if (has(key, searchParams)) {\n const filterPayload = {\n key,\n node: \"children\",\n value: searchParams[key],\n };\n\n return acc.concat(filterPayload);\n }\n\n return acc;\n }, payload);\n\n return isEmpty(modifiedPayload)\n ? []\n : [{ conditions: flattenPayload(modifiedPayload) }];\n};\n\nexport const buildFiltersFromURL = columns =>\n buildFiltersPayload(\n buildFiltersFromSearchParams(columns.filter(column => !isNil(column.node)))\n );\n\nexport const buildSelectorsFromURL = columns => {\n const searchParams = getSnakeCasedQueryParams();\n const selectors = {};\n columns\n .filter(({ node }) => !node)\n .forEach(({ key, defaultType, type }) => {\n const value = searchParams[key];\n if (value) {\n selectors[key] = isMulti(defaultType || type)\n ? value.split(\"|\")\n : value;\n }\n });\n\n return selectors;\n};\n\nexport const compareFilters = (oldFilters, newFilters) => {\n const formatFilters = filters =>\n removeBy({ value: \"\" }, filters).map(pick([\"key\", \"rule\", \"value\"]));\n\n return equals(formatFilters(oldFilters), formatFilters(newFilters));\n};\n\nexport const buildFilteredColumns = ({ searchTerm = \"\", columns }) => {\n const groupedColumsObject = groupByGroup(\n columns.filter(\n ({ label, hidden = false }) =>\n label\n .toLocaleLowerCase()\n .includes(searchTerm.trim().toLocaleLowerCase()) && !hidden\n )\n );\n\n return {\n groupedColumns: toPairs(omit([\"individual\"], groupedColumsObject)).map(\n ([group, columns]) => ({ group, columns })\n ),\n ungroupedColumns: groupedColumsObject.individual,\n };\n};\n\nexport const buildDefaultFilters = (columns, filters) =>\n columns\n .filter(\n column =>\n !isUndefinedOrEmpty(column.defaultValue) &&\n !findBy({ key: column.key }, filters)\n )\n .map(column => {\n const defaultType = column.defaultType || column.type;\n\n return buildUpdatedFilter({\n column,\n defaultType,\n rule: getDefaultRuleValue(defaultType),\n option: column.defaultValue,\n value: column.defaultValue,\n });\n });\n\nexport const createUrlParamString = ({ filter, columns }) => {\n const { key, value, defaultType = filter.type, rule } = filter;\n if (key === SEARCH_TERM_KEY) {\n return value;\n } else if (isDigit(defaultType) || isText(defaultType)) {\n return `${value}+rule-${rule}`;\n } else if (isSingleDate(defaultType) || isSingleTime(defaultType)) {\n return (value && `${value}+rule-${rule}`) || value;\n } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return `${value.join(\"|\")}+rule-${rule}`;\n } else if (isSingle(defaultType)) {\n return `${value}+rule-${rule}`;\n } else if (isBoolean(defaultType)) {\n return getLabelFromBool({\n value,\n values: findBy({ key }, columns).values,\n });\n }\n\n return value;\n};\n\nexport const buildUrlFromFilters = ({\n columns,\n filters,\n isClearAll = false,\n childrenKeys = [],\n}) => {\n const searchParams = getSnakeCasedQueryParams();\n const isKeywordFilterPresent = findBy({ key: SEARCH_TERM_KEY }, filters);\n columns.forEach(\n ({ key, defaultValue }) => !defaultValue && delete searchParams[key]\n );\n\n if (isClearAll) {\n childrenKeys.forEach(key => delete searchParams[key]);\n delete searchParams[SEGMENT_ID_KEY];\n }\n\n const defaultFilters = buildDefaultFilters(columns, filters);\n isKeywordFilterPresent && delete searchParams[SEARCH_TERM_KEY];\n concat(filters, defaultFilters).forEach(filter => {\n searchParams[filter.key] = createUrlParamString({ filter, columns });\n });\n\n if (isEmpty(omit([SEGMENT_ID_KEY], searchParams))) {\n delete searchParams[SEGMENT_ID_KEY];\n }\n\n return buildUrl(\"\", searchParams).slice(1);\n};\n\nexport const createUrlParamStringForSegments = ({ filter, columns }) => {\n const { value, defaultType = filter.type } = filter;\n if (isMulti(defaultType)) {\n return value;\n }\n\n return createUrlParamString({ filter, columns });\n};\n\nexport const buildUrlFromSegment = ({ columns, filters, id }) => {\n const searchParams = getSnakeCasedQueryParams();\n columns.forEach(\n ({ key, defaultValue }) => !defaultValue && delete searchParams[key]\n );\n delete searchParams[SEARCH_TERM_KEY];\n const defaultFilters = buildDefaultFilters(columns, filters);\n const newSearchParams = concat(filters, defaultFilters).reduce(\n (acc, filter) => {\n acc[filter.key] = createUrlParamStringForSegments({\n filter,\n columns,\n });\n\n return acc;\n },\n isNotEmpty(id) ? { [SEGMENT_ID_KEY]: id } : {}\n );\n\n return buildUrl(\"\", mergeLeft(newSearchParams, searchParams)).slice(1);\n};\n\nexport const getSearchTermFromUrl = () => getQueryParams().searchTerm || \"\";\n\nexport const buildFilterColumnsFromFields = ({\n fields,\n selectedFields = [],\n showRuleSelector = false,\n groupName,\n}) =>\n fields.reduce((columns, field) => {\n if (isEmpty(selectedFields) || selectedFields.includes(field.name)) {\n const { id, name, kind } = field;\n const column = {\n key: `custom${toLower(name)}`,\n node: `${name}:${id}`,\n label: capitalize(name),\n type: `custom.${kind}`,\n showRuleSelector,\n ...(groupName && { group: groupName }),\n };\n\n if (kind === \"single_option\" || kind === \"multi_option\") {\n column.values = field.data.map(item => ({\n label: capitalize(item.label),\n value: item.id,\n }));\n }\n\n columns.push(column);\n }\n\n return columns;\n }, []);\n\nexport const getColumnsWithStandardizedType = columns =>\n columns.map(column => ({\n ...column,\n type: standardizeColumnType(column.type),\n }));\n\nexport const isKeywordFilterPresent = keyworFilter =>\n not(isEmpty(keyworFilter.node));\n\nexport const isNilOrEmpty = param => isNil(param) || isEmpty(param);\n"],"names":["dayjs","Ls","en","weekStart","NUMBER_RULES","label","t","value","TEXT_RULES","MULTI_DROPDOWN_RULES","SINGLE_DROPDOWN_RULES","DEFAULT_BOOLEAN_OPTIONS","CHECKBOX_OPTIONS","TREE_SELECT_RULES","DEFAULT_HELP_ICON_PROPS","icon","Help","TIME_FORMAT","groupByGroup","groupBy","_ref","group","standardizeColumnType","kind","includes","getSnakeCasedQueryParams","getQueryParams","toCamelCase","splitValueAndRule","match","slice","index","isBoolean","type","isCheckbox","isDate","isSingleDate","isSingleTime","isTime","isMulti","isSingle","isText","isDigit","isTreeSelect","isDateRange","isTimeRange","isCustomDateRange","pluck","DATE_OPTIONS","isCustomTimeRange","TIME_OPTIONS","isMultiModelFilter","_ref2","_ref2$model","model","split","length","getTimezone","_dayjs$$x","$x","$timezone","tz","guess","getLabelFromBool","_ref3","values","findBy","either","isEmpty","isNil","getBoolFromLabel","_ref4","buildRuleOptions","_ref5","defaultType","getDefaultRuleValue","_buildRuleOptions","isUndefinedOrEmpty","anyPass","any","splitNode","joinedNodes","splitFilter","multiColumnFilter","splittedNodes","node","splittedModels","map","mergeLeft","conditions_join_type","omit","buildDateValue","_ref6","rule","DATE_RULES","dateValue","timezone","buildTimeValue","_ref7","buildUpdatedFilter","_ref8","column","option","_ref8$rule","_ref8$value","filter","_column$preprocessor","preprocessor","call","buildFiltersFromSearchParams","columns","skipEmpty","arguments","undefined","searchParams","key","SEARCH_TERM_KEY","_splitValueAndRule","_splitValueAndRule2","_slicedToArray","filterValue","_splitValueAndRule3","_splitValueAndRule4","_splitValueAndRule5","_splitValueAndRule6","_splitValueAndRule7","_splitValueAndRule8","_splitValueAndRule9","_splitValueAndRule10","identity","buildTimePayload","timeValue","startOf","endOf","add","join","times","time","toISOString","buildDatePayload","dates","date","buildSingleDatePayload","Array","isArray","_objectSpread","buildSingleTimePayload","flattenPayload","payload","flattenedPayload","forEach","item","unshift","apply","_toConsumableArray","push","buildMultiOptionPayload","toString","buildFiltersPayload","filters","removeBy","filterPayload","_filterPayload$defaul","i18next","mergeRight","buildDateRangePayload","buildTimeRangePayload","conditions","today","yesterday","isNotPresent","buildSegmentsPayload","childrenKeys","_filterPayload$defaul2","modifiedPayload","reduce","acc","has","concat","buildFiltersFromURL","buildSelectorsFromURL","selectors","_ref9","_ref10","compareFilters","oldFilters","newFilters","formatFilters","pick","equals","buildFilteredColumns","_ref11","_ref11$searchTerm","searchTerm","groupedColumsObject","_ref12","_ref12$hidden","hidden","toLocaleLowerCase","trim","groupedColumns","toPairs","_ref13","_ref14","ungroupedColumns","individual","buildDefaultFilters","defaultValue","createUrlParamString","_ref15","_filter$defaultType","buildUrlFromFilters","_ref16","_ref16$isClearAll","isClearAll","_ref16$childrenKeys","isKeywordFilterPresent","_ref17","SEGMENT_ID_KEY","defaultFilters","buildUrl","createUrlParamStringForSegments","_ref18","_filter$defaultType2","buildUrlFromSegment","_ref19","id","_ref20","newSearchParams","isNotEmpty","_defineProperty","getSearchTermFromUrl","buildFilterColumnsFromFields","_ref22","fields","_ref22$selectedFields","selectedFields","_ref22$showRuleSelect","showRuleSelector","groupName","field","name","toLower","capitalize","data","getColumnsWithStandardizedType","keyworFilter","not"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { findBy, toLabelAndValue, isNotPresent } from '@bigbinary/neeto-cist';
2
2
  import { omit, mergeDeepRight, isEmpty, isNil, last, equals, modify, concat, append, not } from 'ramda';
3
3
  import { D as DATE_OPTIONS, T as TIME_OPTIONS, a as DATE_RANGE_OPTIONS, b as TIME_RANGE_OPTIONS } from './constants-CZToVVIz.js';
4
- import { D as DEFAULT_HELP_ICON_PROPS, i as isMulti, f as isTreeSelect, g as isDateRange, h as isTimeRange } from './utils-7qsBJxsE.js';
4
+ import { D as DEFAULT_HELP_ICON_PROPS, i as isMulti, f as isTreeSelect, g as isDateRange, h as isTimeRange } from './utils-CJy_Ilbi.js';
5
5
  import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
6
6
 
7
7
  var buildDropdownValue = function buildDropdownValue(_ref) {
@@ -122,4 +122,4 @@ var isRuleEmpty = function isRuleEmpty(rule) {
122
122
  };
123
123
 
124
124
  export { buildHelpIconProps as a, buildDropdownValue as b, initializeDateRule as c, getDateValue as d, buildDateValues as e, buildDropdownOptions as f, getOtherProps as g, hasInvalidTimes as h, isRuleEmpty as i, areCustomTimeRangeValuesNotValid as j, buildSingleTimeValue as k };
125
- //# sourceMappingURL=utils-xNgUSPbr.js.map
125
+ //# sourceMappingURL=utils-CN8lsON0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-xNgUSPbr.js","sources":["../app/javascript/src/components/Pane/Item/utils.js"],"sourcesContent":["import { findBy, isNotPresent, toLabelAndValue } from \"neetocist\";\nimport {\n append,\n concat,\n equals,\n isEmpty,\n isNil,\n last,\n mergeDeepRight,\n modify,\n not,\n omit,\n} from \"ramda\";\n\nimport {\n DATE_OPTIONS,\n DATE_RANGE_OPTIONS,\n TIME_OPTIONS,\n TIME_RANGE_OPTIONS,\n} from \"common/constants\";\nimport dayjs from \"common/dayjs\";\n\nimport { DEFAULT_HELP_ICON_PROPS } from \"./constants\";\n\nimport {\n isDateRange,\n isMulti,\n isNilOrEmpty,\n isTimeRange,\n isTreeSelect,\n} from \"../../utils\";\n\nexport const buildDropdownValue = ({ defaultType, filter, options }) => {\n if (!filter) return null;\n\n if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return options.filter(({ value }) => filter.value.includes(value));\n }\n\n return findBy({ value: filter.value }, options);\n};\n\nexport const buildDatetimeValue = filter => {\n if (!filter) return null;\n\n return findBy({ value: filter.value }, DATE_OPTIONS) ?? last(DATE_OPTIONS);\n};\n\nexport const buildSingleTimeValue = filter => {\n if (!filter) return null;\n\n return findBy({ value: filter.value }, TIME_OPTIONS) ?? last(TIME_OPTIONS);\n};\n\nexport const getOtherProps = props =>\n omit(\n [\"key\", \"node\", \"label\", \"type\", \"values\", \"model\", \"showRuleSelector\"],\n props\n );\n\nexport const buildDropdownOptions = ({ defaultType, filter, options = [] }) => {\n if (isEmpty(options)) {\n if (isDateRange(defaultType)) {\n options = DATE_RANGE_OPTIONS;\n } else if (isTimeRange(defaultType)) {\n options = TIME_RANGE_OPTIONS;\n }\n }\n options = options.map(modify(\"value\", value => value?.toString()));\n\n if (!filter) return options;\n\n if (isMulti(defaultType)) {\n const selectedOptions = filter.value.map(\n value => findBy({ value }, options) || toLabelAndValue(value)\n );\n\n const nonSelectedOptions = options.filter(\n option => !filter.value.includes(option.value)\n );\n\n return concat(selectedOptions, nonSelectedOptions);\n }\n\n if (!findBy({ value: filter.value }, options)) {\n return append(toLabelAndValue(filter.value), options);\n }\n\n return options;\n};\n\nexport const initializeDateRule = filter =>\n filter\n ? findBy({ value: filter?.value }, DATE_OPTIONS) ||\n findDateOption(filter, DATE_OPTIONS)\n : {};\n\nexport const getDateValue = (value, rule) => {\n if (isEmpty(value) || isNil(value)) {\n return null;\n }\n\n if (rule.value === \"custom-date-range\") {\n return value;\n }\n\n return rule.value === \"before\"\n ? dayjs(value[1]).add(1, \"day\")\n : dayjs(value[0]).subtract(1, \"day\");\n};\n\nexport const findDateOption = (filter, options) => {\n const { value } = filter;\n const isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), \"year\") >= 90;\n if (not(isBeforeOrAfter)) {\n return last(options);\n }\n const currentMoment = dayjs();\n\n const diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), \"year\"));\n const diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), \"year\"));\n\n return diffWithStart < diffWithEnd\n ? findBy({ value: \"after\" }, options)\n : findBy({ value: \"before\" }, options);\n};\n\nexport const buildDateValues = (dates, selectedRule) => {\n if (selectedRule.value === \"after\") {\n return [dates.add(1, \"day\"), dates.add(100, \"year\")];\n } else if (selectedRule.value === \"before\") {\n return [dates.subtract(100, \"year\"), dates.subtract(1, \"day\")];\n }\n\n return dates;\n};\n\nexport const buildHelpIconProps = helpIconProps =>\n mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);\n\nexport const hasInvalidTimes = times => {\n if (isNotPresent(times)) return false;\n\n if (Array.isArray(times)) {\n return times.some(time => time.isValid()) === false;\n }\n\n return !times.isValid();\n};\n\nexport const areCustomTimeRangeValuesNotValid = times =>\n !times.every(time => time.isValid());\n\n// eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\nexport const formatSingleTime = time => dayjs(time).format(\"HH:mm:ss\");\n\nexport const formatTime = (value, timePickerType) => {\n if (isNilOrEmpty(value)) return null;\n\n if (timePickerType === \"range\") {\n return value.map(formatSingleTime);\n }\n\n return formatSingleTime(value);\n};\n\nexport const isRuleEmpty = rule => equals(rule, \"is_unknown\");\n"],"names":["buildDropdownValue","_ref","defaultType","filter","options","isMulti","isTreeSelect","_ref2","value","includes","findBy","buildSingleTimeValue","_findBy2","TIME_OPTIONS","last","getOtherProps","props","omit","buildDropdownOptions","_ref3","_ref3$options","isEmpty","isDateRange","DATE_RANGE_OPTIONS","isTimeRange","TIME_RANGE_OPTIONS","map","modify","toString","selectedOptions","toLabelAndValue","nonSelectedOptions","option","concat","append","initializeDateRule","DATE_OPTIONS","findDateOption","getDateValue","rule","isNil","dayjs","add","subtract","isBeforeOrAfter","diff","not","currentMoment","diffWithStart","Math","abs","diffWithEnd","buildDateValues","dates","selectedRule","buildHelpIconProps","helpIconProps","mergeDeepRight","DEFAULT_HELP_ICON_PROPS","hasInvalidTimes","times","isNotPresent","Array","isArray","some","time","isValid","areCustomTimeRangeValuesNotValid","every","isRuleEmpty","equals"],"mappings":"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"}
1
+ {"version":3,"file":"utils-CN8lsON0.js","sources":["../app/javascript/src/components/Pane/Item/utils.js"],"sourcesContent":["import { findBy, isNotPresent, toLabelAndValue } from \"neetocist\";\nimport {\n append,\n concat,\n equals,\n isEmpty,\n isNil,\n last,\n mergeDeepRight,\n modify,\n not,\n omit,\n} from \"ramda\";\n\nimport {\n DATE_OPTIONS,\n DATE_RANGE_OPTIONS,\n TIME_OPTIONS,\n TIME_RANGE_OPTIONS,\n} from \"common/constants\";\nimport dayjs from \"common/dayjs\";\n\nimport { DEFAULT_HELP_ICON_PROPS } from \"./constants\";\n\nimport {\n isDateRange,\n isMulti,\n isNilOrEmpty,\n isTimeRange,\n isTreeSelect,\n} from \"../../utils\";\n\nexport const buildDropdownValue = ({ defaultType, filter, options }) => {\n if (!filter) return null;\n\n if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return options.filter(({ value }) => filter.value.includes(value));\n }\n\n return findBy({ value: filter.value }, options);\n};\n\nexport const buildDatetimeValue = filter => {\n if (!filter) return null;\n\n return findBy({ value: filter.value }, DATE_OPTIONS) ?? last(DATE_OPTIONS);\n};\n\nexport const buildSingleTimeValue = filter => {\n if (!filter) return null;\n\n return findBy({ value: filter.value }, TIME_OPTIONS) ?? last(TIME_OPTIONS);\n};\n\nexport const getOtherProps = props =>\n omit(\n [\"key\", \"node\", \"label\", \"type\", \"values\", \"model\", \"showRuleSelector\"],\n props\n );\n\nexport const buildDropdownOptions = ({ defaultType, filter, options = [] }) => {\n if (isEmpty(options)) {\n if (isDateRange(defaultType)) {\n options = DATE_RANGE_OPTIONS;\n } else if (isTimeRange(defaultType)) {\n options = TIME_RANGE_OPTIONS;\n }\n }\n options = options.map(modify(\"value\", value => value?.toString()));\n\n if (!filter) return options;\n\n if (isMulti(defaultType)) {\n const selectedOptions = filter.value.map(\n value => findBy({ value }, options) || toLabelAndValue(value)\n );\n\n const nonSelectedOptions = options.filter(\n option => !filter.value.includes(option.value)\n );\n\n return concat(selectedOptions, nonSelectedOptions);\n }\n\n if (!findBy({ value: filter.value }, options)) {\n return append(toLabelAndValue(filter.value), options);\n }\n\n return options;\n};\n\nexport const initializeDateRule = filter =>\n filter\n ? findBy({ value: filter?.value }, DATE_OPTIONS) ||\n findDateOption(filter, DATE_OPTIONS)\n : {};\n\nexport const getDateValue = (value, rule) => {\n if (isEmpty(value) || isNil(value)) {\n return null;\n }\n\n if (rule.value === \"custom-date-range\") {\n return value;\n }\n\n return rule.value === \"before\"\n ? dayjs(value[1]).add(1, \"day\")\n : dayjs(value[0]).subtract(1, \"day\");\n};\n\nexport const findDateOption = (filter, options) => {\n const { value } = filter;\n const isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), \"year\") >= 90;\n if (not(isBeforeOrAfter)) {\n return last(options);\n }\n const currentMoment = dayjs();\n\n const diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), \"year\"));\n const diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), \"year\"));\n\n return diffWithStart < diffWithEnd\n ? findBy({ value: \"after\" }, options)\n : findBy({ value: \"before\" }, options);\n};\n\nexport const buildDateValues = (dates, selectedRule) => {\n if (selectedRule.value === \"after\") {\n return [dates.add(1, \"day\"), dates.add(100, \"year\")];\n } else if (selectedRule.value === \"before\") {\n return [dates.subtract(100, \"year\"), dates.subtract(1, \"day\")];\n }\n\n return dates;\n};\n\nexport const buildHelpIconProps = helpIconProps =>\n mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);\n\nexport const hasInvalidTimes = times => {\n if (isNotPresent(times)) return false;\n\n if (Array.isArray(times)) {\n return times.some(time => time.isValid()) === false;\n }\n\n return !times.isValid();\n};\n\nexport const areCustomTimeRangeValuesNotValid = times =>\n !times.every(time => time.isValid());\n\n// eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\nexport const formatSingleTime = time => dayjs(time).format(\"HH:mm:ss\");\n\nexport const formatTime = (value, timePickerType) => {\n if (isNilOrEmpty(value)) return null;\n\n if (timePickerType === \"range\") {\n return value.map(formatSingleTime);\n }\n\n return formatSingleTime(value);\n};\n\nexport const isRuleEmpty = rule => equals(rule, \"is_unknown\");\n"],"names":["buildDropdownValue","_ref","defaultType","filter","options","isMulti","isTreeSelect","_ref2","value","includes","findBy","buildSingleTimeValue","_findBy2","TIME_OPTIONS","last","getOtherProps","props","omit","buildDropdownOptions","_ref3","_ref3$options","isEmpty","isDateRange","DATE_RANGE_OPTIONS","isTimeRange","TIME_RANGE_OPTIONS","map","modify","toString","selectedOptions","toLabelAndValue","nonSelectedOptions","option","concat","append","initializeDateRule","DATE_OPTIONS","findDateOption","getDateValue","rule","isNil","dayjs","add","subtract","isBeforeOrAfter","diff","not","currentMoment","diffWithStart","Math","abs","diffWithEnd","buildDateValues","dates","selectedRule","buildHelpIconProps","helpIconProps","mergeDeepRight","DEFAULT_HELP_ICON_PROPS","hasInvalidTimes","times","isNotPresent","Array","isArray","some","time","isValid","areCustomTimeRangeValuesNotValid","every","isRuleEmpty","equals"],"mappings":"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"}
@@ -117,6 +117,16 @@ var getSnakeCasedQueryParams = function getSnakeCasedQueryParams() {
117
117
  toCamelCase: false
118
118
  });
119
119
  };
120
+
121
+ // Splits a filter URL param value into [filterValue, rule].
122
+ // Tolerates both `value+rule-X` (correct encoding) and `value rule-X` — the
123
+ // latter occurs when browsers like Arc decode `%2B` to `+` in the address bar,
124
+ // after which `qs.parse` interprets the literal `+` as a space per the
125
+ // application/x-www-form-urlencoded spec.
126
+ var splitValueAndRule = function splitValueAndRule(value) {
127
+ var match = value.match(/[+ ]rule-([^+ ]+)$/);
128
+ return match ? [value.slice(0, match.index), match[1]] : [value];
129
+ };
120
130
  var isBoolean = function isBoolean(type) {
121
131
  return type === "boolean" || type === "custom.boolean";
122
132
  };
@@ -306,28 +316,28 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
306
316
  value: value
307
317
  }, column);
308
318
  } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {
309
- var _value$split = value.split("+rule-"),
310
- _value$split2 = _slicedToArray(_value$split, 2),
311
- filterValue = _value$split2[0],
312
- rule = _value$split2[1];
319
+ var _splitValueAndRule = splitValueAndRule(value),
320
+ _splitValueAndRule2 = _slicedToArray(_splitValueAndRule, 2),
321
+ filterValue = _splitValueAndRule2[0],
322
+ rule = _splitValueAndRule2[1];
313
323
  return ramda.mergeLeft({
314
324
  rule: rule !== null && rule !== void 0 ? rule : "in",
315
325
  value: filterValue.split("|")
316
326
  }, column);
317
327
  } else if (isSingle(defaultType)) {
318
- var _value$split3 = value.split("+rule-"),
319
- _value$split4 = _slicedToArray(_value$split3, 2),
320
- _filterValue = _value$split4[0],
321
- _rule = _value$split4[1];
328
+ var _splitValueAndRule3 = splitValueAndRule(value),
329
+ _splitValueAndRule4 = _slicedToArray(_splitValueAndRule3, 2),
330
+ _filterValue = _splitValueAndRule4[0],
331
+ _rule = _splitValueAndRule4[1];
322
332
  return ramda.mergeLeft({
323
333
  rule: _rule !== null && _rule !== void 0 ? _rule : "in",
324
334
  value: _filterValue
325
335
  }, column);
326
336
  } else if (isDigit(defaultType) || isText(defaultType)) {
327
- var _value$split5 = value.split("+rule-"),
328
- _value$split6 = _slicedToArray(_value$split5, 2),
329
- _filterValue2 = _value$split6[0],
330
- _rule2 = _value$split6[1];
337
+ var _splitValueAndRule5 = splitValueAndRule(value),
338
+ _splitValueAndRule6 = _slicedToArray(_splitValueAndRule5, 2),
339
+ _filterValue2 = _splitValueAndRule6[0],
340
+ _rule2 = _splitValueAndRule6[1];
331
341
  return ramda.mergeLeft({
332
342
  rule: _rule2,
333
343
  value: _filterValue2
@@ -337,19 +347,19 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
337
347
  value: value
338
348
  }, column);
339
349
  } else if (isSingleDate(defaultType)) {
340
- var _value$split7 = value.split("+rule-"),
341
- _value$split8 = _slicedToArray(_value$split7, 2),
342
- _filterValue3 = _value$split8[0],
343
- _rule3 = _value$split8[1];
350
+ var _splitValueAndRule7 = splitValueAndRule(value),
351
+ _splitValueAndRule8 = _slicedToArray(_splitValueAndRule7, 2),
352
+ _filterValue3 = _splitValueAndRule8[0],
353
+ _rule3 = _splitValueAndRule8[1];
344
354
  return ramda.mergeLeft({
345
355
  rule: _rule3,
346
356
  value: _rule3 === "between" ? _filterValue3.split(",") : _filterValue3
347
357
  }, column);
348
358
  } else if (isSingleTime(defaultType)) {
349
- var _value$split9 = value.split("+rule-"),
350
- _value$split10 = _slicedToArray(_value$split9, 2),
351
- _filterValue4 = _value$split10[0],
352
- _rule4 = _value$split10[1];
359
+ var _splitValueAndRule9 = splitValueAndRule(value),
360
+ _splitValueAndRule10 = _slicedToArray(_splitValueAndRule9, 2),
361
+ _filterValue4 = _splitValueAndRule10[0],
362
+ _rule4 = _splitValueAndRule10[1];
353
363
  return ramda.mergeLeft({
354
364
  rule: _rule4,
355
365
  value: _rule4 === "between" ? _filterValue4.split(",") : _filterValue4
@@ -841,4 +851,4 @@ exports.isTime = isTime;
841
851
  exports.isTimeRange = isTimeRange;
842
852
  exports.isTreeSelect = isTreeSelect;
843
853
  exports.isUndefinedOrEmpty = isUndefinedOrEmpty;
844
- //# sourceMappingURL=utils-C3k2IuDv.js.map
854
+ //# sourceMappingURL=utils-DXOrtV1K.js.map