@bigbinary/neeto-filters-frontend 4.3.33 → 4.3.34

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 (81) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/Bar.js +11 -9
  3. package/dist/Bar.js.map +1 -1
  4. package/dist/Filters.js +8 -4
  5. package/dist/Filters.js.map +1 -1
  6. package/dist/Segments.js +7 -5
  7. package/dist/Segments.js.map +1 -1
  8. package/dist/cjs/Bar.js +11 -9
  9. package/dist/cjs/Bar.js.map +1 -1
  10. package/dist/cjs/Filters.js +6 -2
  11. package/dist/cjs/Filters.js.map +1 -1
  12. package/dist/cjs/Segments.js +4 -2
  13. package/dist/cjs/Segments.js.map +1 -1
  14. package/dist/cjs/index.js +5 -3
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/v2/Bar.js +21 -33
  17. package/dist/cjs/v2/Bar.js.map +1 -1
  18. package/dist/cjs/v2/Filters.js +10 -956
  19. package/dist/cjs/v2/Filters.js.map +1 -1
  20. package/dist/cjs/v2/Segments.js +10 -22
  21. package/dist/cjs/v2/Segments.js.map +1 -1
  22. package/dist/cjs/v2/index.js +11 -23
  23. package/dist/cjs/v2/index.js.map +1 -1
  24. package/dist/{constants-8DtAPJaA.js → constants-BaYBNRZa.js} +2 -2
  25. package/dist/{constants-8DtAPJaA.js.map → constants-BaYBNRZa.js.map} +1 -1
  26. package/dist/hooks.js +2 -2
  27. package/dist/{index-00KCfktU.js → index-BCnobjnZ.js} +4 -17
  28. package/dist/index-BCnobjnZ.js.map +1 -0
  29. package/dist/index-BD5y7_BW.js +969 -0
  30. package/dist/index-BD5y7_BW.js.map +1 -0
  31. package/dist/index-BxEtpFbP.js +301 -0
  32. package/dist/index-BxEtpFbP.js.map +1 -0
  33. package/dist/{index-BiqUQPwR.js → index-Bzw5oKqg.js} +39 -158
  34. package/dist/index-Bzw5oKqg.js.map +1 -0
  35. package/dist/index-C4AC0OfA.js +967 -0
  36. package/dist/index-C4AC0OfA.js.map +1 -0
  37. package/dist/{index-4MKjSNsp.js → index-Cdvbpy-b.js} +7 -125
  38. package/dist/index-Cdvbpy-b.js.map +1 -0
  39. package/dist/index-CpgjbwJP.js +299 -0
  40. package/dist/index-CpgjbwJP.js.map +1 -0
  41. package/dist/{index-D5wjkRUM.js → index-aOxl-IeV.js} +4 -36
  42. package/dist/index-aOxl-IeV.js.map +1 -0
  43. package/dist/index.js +8 -6
  44. package/dist/index.js.map +1 -1
  45. package/dist/inject-css-B6qYtOJe.js +6 -0
  46. package/dist/inject-css-B6qYtOJe.js.map +1 -0
  47. package/dist/inject-css-C2dztUxs.js +4 -0
  48. package/dist/inject-css-C2dztUxs.js.map +1 -0
  49. package/dist/{useSegmentsApi-0Le3BZOo.js → useSegmentsApi-C6mffm-a.js} +2 -2
  50. package/dist/{useSegmentsApi-0Le3BZOo.js.map → useSegmentsApi-C6mffm-a.js.map} +1 -1
  51. package/dist/utils-B3464cET.js +126 -0
  52. package/dist/utils-B3464cET.js.map +1 -0
  53. package/dist/{utils-Dqmvcb8M.js → utils-BUFBOQlR.js} +3 -3
  54. package/dist/{utils-Dqmvcb8M.js.map → utils-BUFBOQlR.js.map} +1 -1
  55. package/dist/utils-Cj2MY2tu.js +38 -0
  56. package/dist/utils-Cj2MY2tu.js.map +1 -0
  57. package/dist/utils-CwKBnC3c.js +17 -0
  58. package/dist/utils-CwKBnC3c.js.map +1 -0
  59. package/dist/utils-Dh5ByFPA.js +138 -0
  60. package/dist/utils-Dh5ByFPA.js.map +1 -0
  61. package/dist/{utils-l0QK_DBo.js → utils-Q-OTPVjq.js} +3 -3
  62. package/dist/{utils-l0QK_DBo.js.map → utils-Q-OTPVjq.js.map} +1 -1
  63. package/dist/utils.js +2 -2
  64. package/dist/v2/Bar.js +13 -25
  65. package/dist/v2/Bar.js.map +1 -1
  66. package/dist/v2/Filters.js +17 -963
  67. package/dist/v2/Filters.js.map +1 -1
  68. package/dist/v2/Segments.js +13 -25
  69. package/dist/v2/Segments.js.map +1 -1
  70. package/dist/v2/index.js +15 -27
  71. package/dist/v2/index.js.map +1 -1
  72. package/dist/v2/utils.js +2 -2
  73. package/package.json +9 -9
  74. package/dist/index-00KCfktU.js.map +0 -1
  75. package/dist/index-4MKjSNsp.js.map +0 -1
  76. package/dist/index-BiqUQPwR.js.map +0 -1
  77. package/dist/index-BzkSk3Jh.js +0 -5
  78. package/dist/index-BzkSk3Jh.js.map +0 -1
  79. package/dist/index-D5wjkRUM.js.map +0 -1
  80. package/dist/index-DX0qF4mf.js +0 -7
  81. package/dist/index-DX0qF4mf.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BD5y7_BW.js","sources":["../app/javascript/src/components/v2/Pane/Item/utils.js","../app/javascript/src/components/v2/Pane/Item/Boolean.jsx","../app/javascript/src/components/v2/Pane/Item/Datetime.jsx","../app/javascript/src/components/v2/Pane/Item/Dropdown.jsx","../app/javascript/src/components/v2/Pane/Item/SingleDatetime.jsx","../app/javascript/src/components/v2/Pane/Item/SingleTime.jsx","../app/javascript/src/components/v2/Pane/Item/Text.jsx","../app/javascript/src/components/v2/Pane/Item/Time.jsx","../app/javascript/src/components/v2/Pane/Item/TreeSelect.jsx","../app/javascript/src/components/v2/Pane/Item/index.jsx"],"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","// type: boolean\n\nimport { memo } from \"react\";\n\nimport { Select } from \"@bigbinary/neeto-atoms\";\nimport { findBy, hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildUpdatedFilter, isCheckbox } from \"components/utils\";\n\nimport { DEFAULT_BOOLEAN_OPTIONS, CHECKBOX_OPTIONS } from \"./constants\";\nimport { buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst Boolean = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const {\n key,\n defaultType = column.type,\n label,\n values,\n helpIconProps = {},\n } = column;\n\n const options = isNotPresent(values)\n ? isCheckbox(defaultType)\n ? CHECKBOX_OPTIONS\n : DEFAULT_BOOLEAN_OPTIONS\n : values;\n const otherProps = getOtherProps(column);\n const value = filter?.value ?? null;\n const { t } = useTranslation();\n\n const handleChange = selectedValue => {\n if (isEmpty(selectedValue) || isNil(selectedValue)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const option = findBy({ value: selectedValue }, options);\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label, options, value }}\n isClearable\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectOption\", {\n resource: label,\n })}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default memo(Boolean);\n","// type: date\n\nimport { memo, useState, useEffect } from \"react\";\n\nimport { DatePicker, Select } from \"@bigbinary/neeto-atoms\";\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { isEmpty, isNil, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter, isCustomDateRange } from \"components/utils\";\n\nimport {\n buildDateValues,\n buildHelpIconProps,\n getDateValue,\n getOtherProps,\n initializeDateRule,\n} from \"./utils\";\n\nconst Datetime = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const [selectedRule, setSelectedRule] = useState(\n () => initializeDateRule(filter)?.value ?? null\n );\n\n const { t } = useTranslation();\n\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const isDatePickerShown = filter && isCustomDateRange(filter.value);\n const otherProps = getOtherProps(column);\n\n const handleChange = selectedValue => {\n if (isEmpty(selectedValue) || isNil(selectedValue)) {\n handleApplyFilter({ _delete: true });\n setSelectedRule(null);\n\n return;\n }\n setSelectedRule(selectedValue);\n\n const option = findBy({ value: selectedValue }, DATE_OPTIONS);\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n const handleDateRangeChange = dates => {\n if (isEmpty(dates) || isNil(dates)) {\n handleApplyFilter({ _delete: true });\n setSelectedRule(null);\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {\n value: buildDateValues(dates, { value: selectedRule }).map(date =>\n date.toISOString()\n ),\n },\n });\n handleApplyFilter(updatedFilter);\n };\n\n useEffect(() => {\n isNil(filter) && setSelectedRule(null);\n }, [filter]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label }}\n isClearable\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n options={DATE_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n />\n {isDatePickerShown && (\n <DatePicker\n data-testid={`neeto-filters-${hyphenate(key)}-date-range`}\n getPopupContainer={prop(\"parentNode\")}\n type={selectedRule === \"custom-date-range\" ? \"range\" : \"date\"}\n value={getDateValue(filter?.value, { value: selectedRule })}\n onChange={handleDateRangeChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Datetime);\n","// type: single_option, multi_option\n\nimport { memo, useEffect, useState } from \"react\";\n\nimport { Select } from \"@bigbinary/neeto-atoms\";\nimport { findBy, hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MULTI_DROPDOWN_RULES, SINGLE_DROPDOWN_RULES } from \"./constants\";\nimport {\n buildDropdownOptions,\n getOtherProps,\n buildHelpIconProps,\n isRuleEmpty,\n} from \"./utils\";\n\nimport { buildUpdatedFilter, isMulti } from \"../../utils\";\n\nconst Dropdown = ({\n column,\n filter,\n handleApplyFilter,\n autoFocus,\n filters,\n}) => {\n const {\n key,\n label,\n values,\n defaultValue,\n defaultType = column.type,\n showRuleSelector = false,\n isClearable = true,\n helpIconProps = {},\n } = column;\n const otherProps = getOtherProps(column);\n const options = buildDropdownOptions({\n defaultType,\n filter,\n options: values,\n });\n\n const dropdownRules = isMulti(defaultType)\n ? MULTI_DROPDOWN_RULES\n : SINGLE_DROPDOWN_RULES;\n\n const value = isMulti(defaultType)\n ? (filter?.value ?? [])\n : (filter?.value ?? null);\n\n const [selectedRule, setSelectedRule] = useState(\n () =>\n (findBy({ value: filter?.rule }, dropdownRules) || dropdownRules[0]).value\n );\n const { t } = useTranslation();\n\n const getOption = (isSelectedRuleEmpty, options, value) => {\n if (isSelectedRuleEmpty) {\n return isMulti(defaultType) ? [options[0]] : options[0];\n }\n\n if (isMulti(defaultType)) {\n return options.filter(o => value?.includes(o.value));\n }\n\n return findBy({ value }, options);\n };\n\n const handleRuleChange = ruleValue => {\n const isPreviousRuleEmpty = isRuleEmpty(selectedRule);\n const isNewRuleEmpty = isRuleEmpty(ruleValue);\n setSelectedRule(ruleValue);\n\n if (\n isPreviousRuleEmpty ||\n (!isNewRuleEmpty && isNotPresent(filter?.value))\n ) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n rule: ruleValue,\n option: getOption(isNewRuleEmpty, options, value),\n });\n\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = selectedValue => {\n if (isEmpty(selectedValue) || isNil(selectedValue)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const option = isMulti(defaultType)\n ? options.filter(o => selectedValue.includes(o.value))\n : findBy({ value: selectedValue }, options);\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option,\n rule: selectedRule,\n });\n\n handleApplyFilter(updatedFilter);\n };\n\n useEffect(() => {\n if (!isEmpty(filters)) return;\n isRuleEmpty(selectedRule) && setSelectedRule(dropdownRules[0].value);\n }, [filters]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n defaultValue={dropdownRules[0].value}\n options={dropdownRules}\n value={selectedRule}\n onChange={handleRuleChange}\n />\n )}\n {!isRuleEmpty(selectedRule) && (\n <Select\n {...{ autoFocus, options, value }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n isClearable={!defaultValue && isClearable}\n isMulti={isMulti(defaultType)}\n label={!showRuleSelector && label}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Dropdown);\n","// type: single_date\n\nimport { useEffect, useState } from \"react\";\n\nimport { DatePicker, Select } from \"@bigbinary/neeto-atoms\";\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { isEmpty, isNil, prop } from \"ramda\";\n\nimport { SINGLE_DATE_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst SingleDatetime = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n}) => {\n const [selectedRule, setSelectedRule] = useState(\n () =>\n (\n findBy({ value: filter?.rule }, SINGLE_DATE_OPTIONS) ||\n SINGLE_DATE_OPTIONS[0]\n ).value\n );\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const datePickerType = selectedRule === \"between\" ? \"range\" : \"date\";\n const value = filter?.value;\n\n // Reset states when \"Clear filters\" button is clicked.\n useEffect(() => {\n if (!isEmpty(filters)) return;\n setSelectedRule(SINGLE_DATE_OPTIONS[0].value);\n }, [filters]);\n\n const handleRuleChange = ruleValue => {\n setSelectedRule(ruleValue);\n\n // Clear value if switched between incompatible types\n let updateValue = value;\n if (\n (datePickerType === \"range\" && ruleValue !== \"between\") ||\n (datePickerType === \"date\" && ruleValue === \"between\")\n ) {\n updateValue = \"\";\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: ruleValue,\n value: updateValue,\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = dates => {\n if (isEmpty(dates) || isNil(dates)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const value =\n datePickerType === \"range\"\n ? dates.map(date => date.toISOString())\n : dates;\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: selectedRule,\n value,\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ label }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter-rule`}\n defaultValue={SINGLE_DATE_OPTIONS[0].value}\n options={SINGLE_DATE_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleRuleChange}\n />\n <DatePicker\n {...{ autoFocus, value }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n getPopupContainer={prop(\"parentNode\")}\n type={datePickerType}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default SingleDatetime;\n","import { useEffect, useState } from \"react\";\n\nimport { Select, TimePicker } from \"@bigbinary/neeto-atoms\";\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\n\nimport { SINGLE_TIME_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport {\n areCustomTimeRangeValuesNotValid,\n buildHelpIconProps,\n getOtherProps,\n hasInvalidTimes,\n} from \"./utils\";\n\nconst SingleTime = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n}) => {\n const [selectedRule, setSelectedRule] = useState(\n () =>\n (\n findBy({ value: filter?.rule }, SINGLE_TIME_OPTIONS) ||\n SINGLE_TIME_OPTIONS[0]\n ).value\n );\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const timePickerType = selectedRule === \"between\" ? \"range\" : \"time\";\n const value = filter?.value;\n\n useEffect(() => {\n if (!isEmpty(filters)) return;\n setSelectedRule(SINGLE_TIME_OPTIONS[0].value);\n }, [filters]);\n\n const handleRuleChange = ruleValue => {\n setSelectedRule(ruleValue);\n\n // Clear value if switched between incompatible types\n let updateValue = value;\n if (\n (timePickerType === \"range\" && ruleValue !== \"between\") ||\n (timePickerType === \"time\" && ruleValue === \"between\")\n ) {\n updateValue = \"\";\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: ruleValue,\n value: updateValue,\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = times => {\n if (hasInvalidTimes(times)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n if (timePickerType === \"range\" && areCustomTimeRangeValuesNotValid(times)) {\n return;\n }\n\n const value =\n timePickerType === \"range\"\n ? times?.map(time => time.toISOString())\n : times?.toISOString();\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: selectedRule,\n value,\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ label }}\n defaultValue={SINGLE_TIME_OPTIONS[0].value}\n options={SINGLE_TIME_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleRuleChange}\n />\n <TimePicker\n {...{ autoFocus, value }}\n className=\"w-full\"\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n format={TIME_FORMAT}\n type={timePickerType}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default SingleTime;\n","// type: text, number, decimal\nimport { useEffect, useState } from \"react\";\n\nimport { Input, Select } from \"@bigbinary/neeto-atoms\";\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { equals, isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n buildRuleOptions,\n buildUpdatedFilter,\n isUndefinedOrEmpty,\n} from \"components/utils\";\n\nimport { buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst Text = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n onClose,\n}) => {\n const {\n key,\n defaultType = column.type,\n label,\n showRuleSelector = false,\n helpIconProps = {},\n } = column;\n const otherProps = getOtherProps(column);\n const ruleOptions = buildRuleOptions({ defaultType });\n const inputType =\n defaultType === \"text\" || defaultType === \"custom.text\" ? \"text\" : \"number\";\n\n const [inputValue, setInputValue] = useState(filter?.value);\n const [selectedRule, setSelectedRule] = useState(\n () => (findBy({ value: filter?.rule }, ruleOptions) || ruleOptions[0]).value\n );\n const debouncedInputValue = useDebounce(inputValue);\n const { t } = useTranslation();\n\n const handleUpdateAndApplyFilter = (\n value = debouncedInputValue,\n ruleValue = selectedRule\n ) => {\n if (equals(filter?.value, value) && equals(selectedRule, ruleValue)) return;\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: ruleValue,\n value: value.trim(),\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleKeydown = e => {\n if (!(e.key === \"Enter\")) return;\n handleUpdateAndApplyFilter(inputValue);\n onClose();\n };\n\n const handleRuleChange = ruleValue => {\n setSelectedRule(ruleValue);\n if (!debouncedInputValue) return;\n handleUpdateAndApplyFilter(debouncedInputValue, ruleValue);\n };\n\n // Reset states when \"Clear filters\" button is clicked.\n useEffect(() => {\n (isEmpty(filters) || isNil(filter)) && setInputValue(\"\");\n }, [filter]);\n\n useEffect(() => {\n if (!debouncedInputValue) {\n !isUndefinedOrEmpty(filter) && handleApplyFilter({ _delete: true });\n\n return;\n }\n\n handleUpdateAndApplyFilter();\n }, [debouncedInputValue]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter-rule`}\n defaultValue={ruleOptions[0].value}\n options={ruleOptions}\n strategy=\"fixed\"\n value={selectedRule}\n onChange={handleRuleChange}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n />\n )}\n <Input\n {...{ autoFocus }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n label={!showRuleSelector && label}\n type={inputType}\n value={inputValue}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n placeholder={t(\"neetoFilters.messages.enterResource\", {\n resource: label,\n })}\n onChange={event => setInputValue(event.target.value)}\n onKeyDown={handleKeydown}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default Text;\n","// type: time\n\nimport { memo } from \"react\";\n\nimport { Select, TimePicker } from \"@bigbinary/neeto-atoms\";\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TIME_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter, isCustomTimeRange } from \"components/utils\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport {\n areCustomTimeRangeValuesNotValid,\n buildHelpIconProps,\n getOtherProps,\n hasInvalidTimes,\n} from \"./utils\";\n\nconst Time = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const value = filter?.value ?? null;\n const isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);\n\n const { t } = useTranslation();\n\n const handleChange = selectedValue => {\n if (isEmpty(selectedValue) || isNil(selectedValue)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const option = findBy({ value: selectedValue }, TIME_OPTIONS);\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n const handleTimeRangeChange = times => {\n if (hasInvalidTimes(times)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: { value: times.map(time => time.toISOString()) },\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label, value }}\n isClearable\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n options={TIME_OPTIONS}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n />\n {isCustomTimeRangeShown && (\n <TimePicker\n className=\"w-full\"\n data-testid={`neeto-filters-${hyphenate(key)}-date-range`}\n format={TIME_FORMAT}\n type=\"range\"\n value={filter.value}\n onChange={handleTimeRangeChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Time);\n","// type: tree_select\n\nimport { memo, useState } from \"react\";\n\nimport {\n Select,\n TreeSelect as NeetoUITreeSelect,\n} from \"@bigbinary/neeto-atoms\";\nimport { findBy, hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { TREE_SELECT_RULES } from \"./constants\";\nimport { buildHelpIconProps, getOtherProps, isRuleEmpty } from \"./utils\";\n\nconst TreeSelect = ({ autoFocus, column, filter, handleApplyFilter }) => {\n const {\n key,\n label,\n defaultType = column.type,\n defaultValue,\n helpIconProps = {},\n isClearable = true,\n showRuleSelector = false,\n values: options,\n } = column;\n\n const initialRule = (\n findBy({ value: filter?.rule }, TREE_SELECT_RULES) ?? TREE_SELECT_RULES[0]\n ).value;\n const [selectedRule, setSelectedRule] = useState(initialRule);\n\n const { t } = useTranslation();\n\n const selectedOption = filter?.value ?? [];\n\n const handleChange = option => {\n if (isNotPresent(option)) return handleApplyFilter({ _delete: true });\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option,\n rule: selectedRule,\n });\n\n return handleApplyFilter(updatedFilter);\n };\n\n const handleRuleChange = ruleValue => {\n const isPreviousRuleEmpty = isRuleEmpty(selectedRule);\n const isNewRuleEmpty = isRuleEmpty(ruleValue);\n setSelectedRule(ruleValue);\n\n if (\n isPreviousRuleEmpty ||\n (!isNewRuleEmpty && isNotPresent(filter?.value))\n ) {\n return handleApplyFilter({ _delete: true });\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: isNewRuleEmpty ? [options[0]] : selectedOption,\n rule: ruleValue,\n });\n\n return handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n defaultValue={TREE_SELECT_RULES[0].value}\n options={TREE_SELECT_RULES}\n value={selectedRule}\n onChange={handleRuleChange}\n />\n )}\n {!isRuleEmpty(selectedRule) && (\n // eslint-disable-next-line @bigbinary/neeto/merge-spread-attributes\n <NeetoUITreeSelect\n {...{ autoFocus }}\n multiple\n showSearch\n treeDataSimpleMode\n allowClear={!defaultValue && isClearable}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n label={!showRuleSelector && label}\n treeData={options}\n value={selectedOption}\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n onChange={handleChange}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n {...getOtherProps(column)}\n />\n )}\n </div>\n );\n};\n\nexport default memo(TreeSelect);\n","import { useMemo } from \"react\";\n\nimport { findBy, removeBy, replaceBy, noop } from \"neetocist\";\nimport { append } from \"ramda\";\n\nimport Boolean from \"./Boolean\";\nimport Datetime from \"./Datetime\";\nimport Dropdown from \"./Dropdown\";\nimport SingleDatetime from \"./SingleDatetime\";\nimport SingleTime from \"./SingleTime\";\nimport Text from \"./Text\";\nimport Time from \"./Time\";\nimport TreeSelect from \"./TreeSelect\";\n\nimport {\n isBoolean,\n isCheckbox,\n isDate,\n isDigit,\n isSingleDate,\n isSingleTime,\n isText,\n isTime,\n isTreeSelect,\n} from \"../../utils\";\n\nconst Item = ({ column, filters, onChange, autoFocus, onClose = noop }) => {\n const { key, defaultType = column.type } = column;\n\n const filter = useMemo(() => findBy({ key }, filters), [filters, key]);\n\n const handleApplyFilter = updatedFilter => {\n if (updatedFilter._delete) onChange(removeBy({ key }, filters));\n else if (!filter) onChange(append(updatedFilter, filters));\n else onChange(replaceBy({ key }, updatedFilter, filters));\n };\n\n if (isText(defaultType) || isDigit(defaultType)) {\n return (\n <Text\n {...{ autoFocus, column, filter, filters, handleApplyFilter, onClose }}\n />\n );\n }\n\n if (isDate(defaultType)) {\n return <Datetime {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n if (isTime(defaultType)) {\n return <Time {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n if (isSingleDate(defaultType)) {\n return (\n <SingleDatetime\n {...{ autoFocus, column, filter, filters, handleApplyFilter }}\n />\n );\n }\n\n if (isSingleTime(defaultType)) {\n return (\n <SingleTime\n {...{ autoFocus, column, filter, filters, handleApplyFilter }}\n />\n );\n }\n\n if (isBoolean(defaultType) || isCheckbox(defaultType)) {\n return (\n <Boolean\n {...{ autoFocus, column, defaultType, filter, handleApplyFilter }}\n />\n );\n }\n\n if (isTreeSelect(defaultType)) {\n return <TreeSelect {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n return (\n <Dropdown {...{ autoFocus, column, filter, filters, handleApplyFilter }} />\n );\n};\n\nexport default Item;\n"],"names":["getOtherProps","props","omit","buildDropdownOptions","_ref3","defaultType","filter","_ref3$options","options","isEmpty","isDateRange","DATE_RANGE_OPTIONS","isTimeRange","TIME_RANGE_OPTIONS","map","modify","value","toString","isMulti","selectedOptions","findBy","toLabelAndValue","nonSelectedOptions","option","includes","concat","append","initializeDateRule","DATE_OPTIONS","findDateOption","getDateValue","rule","isNil","dayjs","add","subtract","isBeforeOrAfter","diff","not","last","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","Boolean","_ref","_filter$value","column","handleApplyFilter","autoFocus","key","_column$defaultType","type","label","values","_column$helpIconProps","isCheckbox","CHECKBOX_OPTIONS","DEFAULT_BOOLEAN_OPTIONS","otherProps","_useTranslation","useTranslation","t","handleChange","selectedValue","_delete","updatedFilter","buildUpdatedFilter","_jsx","className","children","Select","_objectSpread","isClearable","isNotEmpty","labelProps","hyphenate","strategy","placeholder","resource","onChange","memo","Datetime","_useState","useState","_initializeDateRule$v","_initializeDateRule","_useState2","_slicedToArray","setSelectedRule","isDatePickerShown","isCustomDateRange","handleDateRangeChange","date","toISOString","useEffect","_jsxs","DatePicker","getPopupContainer","prop","Dropdown","_filter$value2","filters","defaultValue","_column$showRuleSelec","showRuleSelector","_column$isClearable","dropdownRules","MULTI_DROPDOWN_RULES","SINGLE_DROPDOWN_RULES","getOption","isSelectedRuleEmpty","o","handleRuleChange","ruleValue","isPreviousRuleEmpty","isNewRuleEmpty","SingleDatetime","SINGLE_DATE_OPTIONS","datePickerType","updateValue","SingleTime","SINGLE_TIME_OPTIONS","timePickerType","TimePicker","format","TIME_FORMAT","Text","onClose","ruleOptions","buildRuleOptions","inputType","inputValue","setInputValue","_useState3","_useState4","debouncedInputValue","useDebounce","handleUpdateAndApplyFilter","arguments","length","undefined","trim","handleKeydown","e","isUndefinedOrEmpty","Input","event","target","onKeyDown","Time","isCustomTimeRangeShown","isCustomTimeRange","TIME_OPTIONS","handleTimeRangeChange","TreeSelect","_findBy","initialRule","TREE_SELECT_RULES","selectedOption","NeetoUITreeSelect","multiple","showSearch","treeDataSimpleMode","allowClear","treeData","Item","_ref$onClose","noop","useMemo","removeBy","replaceBy","isText","isDigit","isDate","isTime","isSingleDate","isSingleTime","isBoolean","isTreeSelect"],"mappings":"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"}
@@ -0,0 +1,301 @@
1
+ 'use strict';
2
+
3
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
6
+ var formik = require('@bigbinary/neeto-atoms/formik');
7
+ var lucideReact = require('lucide-react');
8
+ var neetoCist = require('@bigbinary/neeto-cist');
9
+ var HelpPopover = require('@bigbinary/neeto-molecules/v2/HelpPopover');
10
+ var ramda = require('ramda');
11
+ var reactI18next = require('react-i18next');
12
+ var reactRouterDom = require('react-router-dom');
13
+ var utils = require('./utils-CzRCzZ3I.js');
14
+ var utils$1 = require('./utils-Cj2MY2tu.js');
15
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
16
+ var react = require('react');
17
+ var index = require('./index-BD5y7_BW.js');
18
+ var jsxRuntime = require('react/jsx-runtime');
19
+
20
+ var STEPS = {
21
+ ADD: "add",
22
+ COLUMN: "column",
23
+ VALUE: "value"
24
+ };
25
+
26
+ var _AddFilter = function AddFilter(_ref) {
27
+ var _findBy;
28
+ var columns = _ref.columns,
29
+ filters = _ref.filters,
30
+ handleChange = _ref.handleChange,
31
+ handleClearFilter = _ref.handleClearFilter,
32
+ _ref$disabled = _ref.disabled,
33
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
34
+ var _useTranslation = reactI18next.useTranslation(),
35
+ t = _useTranslation.t;
36
+ var _useState = react.useState({
37
+ step: STEPS.ADD,
38
+ column: {}
39
+ }),
40
+ _useState2 = _slicedToArray(_useState, 2),
41
+ selectedColumn = _useState2[0],
42
+ setSelectedColumn = _useState2[1];
43
+
44
+ // Disable the add button when
45
+ // 1. No value is entered for previous filter
46
+ // 2. There are no more columns
47
+ var disableAddButton = selectedColumn.step !== STEPS.ADD && neetoCist.isNotPresent((_findBy = neetoCist.findBy({
48
+ key: selectedColumn.column.key
49
+ }, filters)) === null || _findBy === void 0 ? void 0 : _findBy.value) || ramda.isEmpty(columns);
50
+ var columnOptions = columns.map(function (_ref2) {
51
+ var label = _ref2.label,
52
+ key = _ref2.key;
53
+ return {
54
+ label: label,
55
+ value: key
56
+ };
57
+ });
58
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
59
+ children: selectedColumn.step !== STEPS.ADD ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
60
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
61
+ className: "flex w-full gap-4",
62
+ children: [selectedColumn.step === STEPS.COLUMN && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Select, {
63
+ isSearchable: true,
64
+ label: t("neetoFilters.views.newFilter"),
65
+ options: columnOptions,
66
+ placeholder: t("neetoFilters.views.selectFilter"),
67
+ onChange: function onChange(value) {
68
+ var column = neetoCist.findBy({
69
+ key: value
70
+ }, columns);
71
+ setSelectedColumn({
72
+ step: STEPS.VALUE,
73
+ column: column
74
+ });
75
+ }
76
+ }), selectedColumn.step === STEPS.VALUE && /*#__PURE__*/jsxRuntime.jsx(index.Item, {
77
+ filters: filters,
78
+ autoFocus: true,
79
+ column: selectedColumn.column,
80
+ onChange: handleChange
81
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
82
+ className: "mt-6 self-center",
83
+ icon: lucideReact.Trash2Icon,
84
+ size: "icon",
85
+ variant: "ghost",
86
+ onClick: function onClick() {
87
+ handleClearFilter(selectedColumn.column);
88
+ setSelectedColumn(ramda.assoc("step", STEPS.ADD));
89
+ }
90
+ })]
91
+ }), /*#__PURE__*/jsxRuntime.jsx(_AddFilter, {
92
+ filters: filters,
93
+ handleChange: handleChange,
94
+ handleClearFilter: handleClearFilter,
95
+ columns: columns.filter(function (_ref3) {
96
+ var key = _ref3.key;
97
+ return !neetoCist.existsBy({
98
+ key: key
99
+ }, filters);
100
+ }),
101
+ disabled: disableAddButton
102
+ })]
103
+ }) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
104
+ disabled: disabled,
105
+ className: "self-start",
106
+ "data-testid": "neeto-filters-add-filter-button",
107
+ icon: lucideReact.PlusIcon,
108
+ iconPosition: "left",
109
+ label: t("neetoFilters.views.addFilter"),
110
+ variant: "link",
111
+ onClick: function onClick() {
112
+ return setSelectedColumn(ramda.assoc("step", STEPS.COLUMN));
113
+ }
114
+ })
115
+ });
116
+ };
117
+
118
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
119
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
120
+ var SegmentForm = function SegmentForm(_ref) {
121
+ var _ref$isEdit = _ref.isEdit,
122
+ isEdit = _ref$isEdit === void 0 ? false : _ref$isEdit,
123
+ segmentFormInitialRef = _ref.segmentFormInitialRef,
124
+ isOpen = _ref.isOpen,
125
+ onClose = _ref.onClose,
126
+ isSubmitting = _ref.isSubmitting,
127
+ handleSubmit = _ref.handleSubmit,
128
+ defaultSegmentName = _ref.defaultSegmentName,
129
+ initialValues = _ref.initialValues,
130
+ customFilters = _ref.customFilters,
131
+ columns = _ref.columns,
132
+ filters = _ref.filters,
133
+ childrenKeys = _ref.childrenKeys,
134
+ segmentHelpPopoverProps = _ref.segmentHelpPopoverProps;
135
+ var history = reactRouterDom.useHistory();
136
+ var _useTranslation = reactI18next.useTranslation(),
137
+ t = _useTranslation.t;
138
+ var _buildFilteredColumns = utils.buildFilteredColumns({
139
+ searchTerm: "",
140
+ columns: columns
141
+ }),
142
+ _buildFilteredColumns2 = _buildFilteredColumns.groupedColumns,
143
+ groupedColumns = _buildFilteredColumns2 === void 0 ? [] : _buildFilteredColumns2,
144
+ _buildFilteredColumns3 = _buildFilteredColumns.ungroupedColumns,
145
+ ungroupedColumns = _buildFilteredColumns3 === void 0 ? [] : _buildFilteredColumns3;
146
+ var handleChange = function handleChange(newFilters) {
147
+ var isClearAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
148
+ var params = utils.buildUrlFromFilters(_objectSpread({
149
+ columns: columns,
150
+ filters: newFilters
151
+ }, isClearAll && {
152
+ isClearAll: true,
153
+ childrenKeys: childrenKeys
154
+ }));
155
+ history.push({
156
+ search: params
157
+ });
158
+ };
159
+ var handleClearFilter = function handleClearFilter(column, values, setFieldValue) {
160
+ var formState = [{
161
+ conditions: neetoCist.removeBy({
162
+ key: column.key
163
+ }, values.filters[0].conditions)
164
+ }];
165
+ var globalState = neetoCist.removeBy({
166
+ key: column.key
167
+ }, filters);
168
+ setFieldValue("filters", formState);
169
+ handleChange(globalState);
170
+ };
171
+ return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet, {
172
+ isOpen: isOpen,
173
+ onClose: onClose,
174
+ initialFocusRef: segmentFormInitialRef,
175
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
176
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
177
+ className: "flex items-center gap-2",
178
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
179
+ variant: "h2",
180
+ weight: "semibold",
181
+ children: isEdit ? t("neetoFilters.views.editView") : t("neetoFilters.views.addNewView")
182
+ }), neetoCist.isPresent(segmentHelpPopoverProps) && /*#__PURE__*/jsxRuntime.jsx(HelpPopover, _objectSpread({}, segmentHelpPopoverProps))]
183
+ })
184
+ }), /*#__PURE__*/jsxRuntime.jsx(formik.Form, {
185
+ className: "w-full",
186
+ formProps: {
187
+ noValidate: true
188
+ },
189
+ formikProps: {
190
+ initialValues: initialValues,
191
+ validateOnChange: true,
192
+ validateOnBlur: true,
193
+ validationSchema: utils$1.buildSegmentsValidationSchema(defaultSegmentName),
194
+ onSubmit: handleSubmit
195
+ },
196
+ children: function children(_ref2) {
197
+ var errors = _ref2.errors,
198
+ values = _ref2.values,
199
+ setFieldValue = _ref2.setFieldValue;
200
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
201
+ children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Body, {
202
+ children: [/*#__PURE__*/jsxRuntime.jsx(formik.Input, {
203
+ className: "w-full grow-0",
204
+ error: errors.name,
205
+ label: t("neetoFilters.views.name"),
206
+ name: "name",
207
+ placeholder: t("neetoFilters.views.viewName"),
208
+ ref: segmentFormInitialRef
209
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
210
+ className: "mb-2 mt-4",
211
+ variant: "h4",
212
+ children: t("neetoFilters.common.filters")
213
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
214
+ className: "neeto-filters-pane-filter__body flex w-full flex-col gap-5",
215
+ children: [ungroupedColumns.filter(function (_ref3) {
216
+ var key = _ref3.key;
217
+ return neetoCist._existsBy({
218
+ key: key
219
+ }, values.filters[0].conditions);
220
+ }).map(function (column) {
221
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
222
+ className: "flex w-full gap-4",
223
+ children: [/*#__PURE__*/jsxRuntime.jsx(index.Item, {
224
+ column: column,
225
+ filters: filters,
226
+ autoFocus: column.key === isOpen,
227
+ onChange: function onChange(filters) {
228
+ setFieldValue("filters", [{
229
+ conditions: filters
230
+ }]);
231
+ handleChange(filters);
232
+ }
233
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
234
+ className: "mt-6 self-center",
235
+ icon: lucideReact.Trash2Icon,
236
+ size: "icon",
237
+ variant: "ghost",
238
+ onClick: function onClick() {
239
+ return handleClearFilter(column, values, setFieldValue);
240
+ }
241
+ })]
242
+ }, column.key);
243
+ }), neetoCist.isPresent(groupedColumns) && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Accordion, {
244
+ children: groupedColumns.map(function (_ref4) {
245
+ var group = _ref4.group,
246
+ columns = _ref4.columns;
247
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Accordion.Item, {
248
+ className: "accordion_item",
249
+ title: group,
250
+ children: columns.map(function (column) {
251
+ return /*#__PURE__*/react.createElement(index.Item, {
252
+ column: column,
253
+ filters: filters,
254
+ autoFocus: column.key === isOpen,
255
+ key: column.key,
256
+ onChange: handleChange
257
+ });
258
+ })
259
+ }, group);
260
+ })
261
+ }), ramda.isEmpty([].concat(_toConsumableArray(groupedColumns), _toConsumableArray(ungroupedColumns))) && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
262
+ variant: "body2",
263
+ children: t("neetoFilters.messages.noResourcesFound", {
264
+ resources: t("neetoFilters.common.columns")
265
+ })
266
+ }), customFilters, /*#__PURE__*/jsxRuntime.jsx(_AddFilter, {
267
+ filters: filters,
268
+ handleChange: handleChange,
269
+ columns: ungroupedColumns.filter(function (_ref5) {
270
+ var key = _ref5.key;
271
+ return !neetoCist.existsBy({
272
+ key: key
273
+ }, filters);
274
+ }),
275
+ handleClearFilter: function handleClearFilter(_ref6) {
276
+ var key = _ref6.key;
277
+ return handleChange(neetoCist.removeBy({
278
+ key: key
279
+ }, filters));
280
+ }
281
+ })]
282
+ })]
283
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Footer, {
284
+ children: /*#__PURE__*/jsxRuntime.jsx(formik.ActionBlock, {
285
+ isSubmitting: isSubmitting,
286
+ cancelButtonProps: {
287
+ onClick: onClose
288
+ },
289
+ submitButtonProps: {
290
+ disabled: isSubmitting || ramda.isEmpty(filters)
291
+ }
292
+ })
293
+ })]
294
+ });
295
+ }
296
+ })]
297
+ });
298
+ };
299
+
300
+ exports.SegmentForm = SegmentForm;
301
+ //# sourceMappingURL=index-BxEtpFbP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BxEtpFbP.js","sources":["../app/javascript/src/components/v2/common/SegmentForm/constants.js","../app/javascript/src/components/v2/common/SegmentForm/AddFilter.jsx","../app/javascript/src/components/v2/common/SegmentForm/index.jsx"],"sourcesContent":["export const STEPS = { ADD: \"add\", COLUMN: \"column\", VALUE: \"value\" };\n","import { useState } from \"react\";\n\nimport { Button, Select } from \"@bigbinary/neeto-atoms\";\nimport { PlusIcon, Trash2Icon } from \"lucide-react\";\nimport { existsBy, findBy, isNotPresent } from \"neetocist\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STEPS } from \"./constants\";\n\nimport Item from \"../../Pane/Item\";\n\nconst AddFilter = ({\n columns,\n filters,\n handleChange,\n handleClearFilter,\n disabled = false,\n}) => {\n const { t } = useTranslation();\n const [selectedColumn, setSelectedColumn] = useState({\n step: STEPS.ADD,\n column: {},\n });\n\n // Disable the add button when\n // 1. No value is entered for previous filter\n // 2. There are no more columns\n const disableAddButton =\n (selectedColumn.step !== STEPS.ADD &&\n isNotPresent(\n findBy({ key: selectedColumn.column.key }, filters)?.value\n )) ||\n isEmpty(columns);\n\n const columnOptions = columns.map(({ label, key }) => ({\n label,\n value: key,\n }));\n\n return (\n <>\n {selectedColumn.step !== STEPS.ADD ? (\n <>\n <div className=\"flex w-full gap-4\">\n {selectedColumn.step === STEPS.COLUMN && (\n <Select\n isSearchable\n label={t(\"neetoFilters.views.newFilter\")}\n options={columnOptions}\n placeholder={t(\"neetoFilters.views.selectFilter\")}\n onChange={value => {\n const column = findBy({ key: value }, columns);\n setSelectedColumn({ step: STEPS.VALUE, column });\n }}\n />\n )}\n {selectedColumn.step === STEPS.VALUE && (\n <Item\n {...{ filters }}\n autoFocus\n column={selectedColumn.column}\n onChange={handleChange}\n />\n )}\n <Button\n className=\"mt-6 self-center\"\n icon={Trash2Icon}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => {\n handleClearFilter(selectedColumn.column);\n setSelectedColumn(assoc(\"step\", STEPS.ADD));\n }}\n />\n </div>\n <AddFilter\n {...{ filters, handleChange, handleClearFilter }}\n columns={columns.filter(({ key }) => !existsBy({ key }, filters))}\n disabled={disableAddButton}\n />\n </>\n ) : (\n <Button\n {...{ disabled }}\n className=\"self-start\"\n data-testid=\"neeto-filters-add-filter-button\"\n icon={PlusIcon}\n iconPosition=\"left\"\n label={t(\"neetoFilters.views.addFilter\")}\n variant=\"link\"\n onClick={() => setSelectedColumn(assoc(\"step\", STEPS.COLUMN))}\n />\n )}\n </>\n );\n};\n\nexport default AddFilter;\n","import { Accordion, Button, Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { Trash2Icon } from \"lucide-react\";\nimport { _existsBy, existsBy, isPresent, removeBy } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { buildFilteredColumns, buildUrlFromFilters } from \"components/utils\";\nimport { buildSegmentsValidationSchema } from \"src/common/utils\";\n\nimport AddFilter from \"./AddFilter\";\n\nimport Item from \"../../Pane/Item\";\n\nconst SegmentForm = ({\n isEdit = false,\n segmentFormInitialRef,\n isOpen,\n onClose,\n isSubmitting,\n handleSubmit,\n defaultSegmentName,\n initialValues,\n customFilters,\n columns,\n filters,\n childrenKeys,\n segmentHelpPopoverProps,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n\n const { groupedColumns = [], ungroupedColumns = [] } = buildFilteredColumns({\n searchTerm: \"\",\n columns,\n });\n\n const handleChange = (newFilters, isClearAll = false) => {\n const params = buildUrlFromFilters({\n columns,\n filters: newFilters,\n ...(isClearAll && { isClearAll: true, childrenKeys }),\n });\n\n history.push({ search: params });\n };\n\n const handleClearFilter = (column, values, setFieldValue) => {\n const formState = [\n {\n conditions: removeBy({ key: column.key }, values.filters[0].conditions),\n },\n ];\n const globalState = removeBy({ key: column.key }, filters);\n setFieldValue(\"filters\", formState);\n handleChange(globalState);\n };\n\n return (\n <Sheet {...{ isOpen, onClose }} initialFocusRef={segmentFormInitialRef}>\n <Sheet.Header>\n <div className=\"flex items-center gap-2\">\n <Typography variant=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoFilters.views.editView\")\n : t(\"neetoFilters.views.addNewView\")}\n </Typography>\n {isPresent(segmentHelpPopoverProps) && (\n <HelpPopover {...segmentHelpPopoverProps} />\n )}\n </div>\n </Sheet.Header>\n <Form\n className=\"w-full\"\n formProps={{ noValidate: true }}\n formikProps={{\n initialValues,\n validateOnChange: true,\n validateOnBlur: true,\n validationSchema: buildSegmentsValidationSchema(defaultSegmentName),\n onSubmit: handleSubmit,\n }}\n >\n {({ errors, values, setFieldValue }) => (\n <>\n <Sheet.Body>\n <Input\n className=\"w-full grow-0\"\n error={errors.name}\n label={t(\"neetoFilters.views.name\")}\n name=\"name\"\n placeholder={t(\"neetoFilters.views.viewName\")}\n ref={segmentFormInitialRef}\n />\n <Typography className=\"mb-2 mt-4\" variant=\"h4\">\n {t(\"neetoFilters.common.filters\")}\n </Typography>\n <div className=\"neeto-filters-pane-filter__body flex w-full flex-col gap-5\">\n {ungroupedColumns\n .filter(({ key }) =>\n _existsBy({ key }, values.filters[0].conditions)\n )\n .map(column => (\n <div className=\"flex w-full gap-4\" key={column.key}>\n <Item\n {...{ column, filters }}\n autoFocus={column.key === isOpen}\n onChange={filters => {\n setFieldValue(\"filters\", [{ conditions: filters }]);\n handleChange(filters);\n }}\n />\n <Button\n className=\"mt-6 self-center\"\n icon={Trash2Icon}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() =>\n handleClearFilter(column, values, setFieldValue)\n }\n />\n </div>\n ))}\n {isPresent(groupedColumns) && (\n <Accordion>\n {groupedColumns.map(({ group, columns }) => (\n <Accordion.Item\n className=\"accordion_item\"\n key={group}\n title={group}\n >\n {columns.map(column => (\n <Item\n {...{ column, filters }}\n autoFocus={column.key === isOpen}\n key={column.key}\n onChange={handleChange}\n />\n ))}\n </Accordion.Item>\n ))}\n </Accordion>\n )}\n {isEmpty([...groupedColumns, ...ungroupedColumns]) && (\n <Typography variant=\"body2\">\n {t(\"neetoFilters.messages.noResourcesFound\", {\n resources: t(\"neetoFilters.common.columns\"),\n })}\n </Typography>\n )}\n {customFilters}\n <AddFilter\n {...{ filters, handleChange }}\n columns={ungroupedColumns.filter(\n ({ key }) => !existsBy({ key }, filters)\n )}\n handleClearFilter={({ key }) =>\n handleChange(removeBy({ key }, filters))\n }\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{\n disabled: isSubmitting || isEmpty(filters),\n }}\n />\n </Sheet.Footer>\n </>\n )}\n </Form>\n </Sheet>\n );\n};\n\nexport default SegmentForm;\n"],"names":["STEPS","ADD","COLUMN","VALUE","AddFilter","_ref","_findBy","columns","filters","handleChange","handleClearFilter","_ref$disabled","disabled","_useTranslation","useTranslation","t","_useState","useState","step","column","_useState2","_slicedToArray","selectedColumn","setSelectedColumn","disableAddButton","isNotPresent","findBy","key","value","isEmpty","columnOptions","map","_ref2","label","_jsx","_Fragment","children","_jsxs","className","Select","isSearchable","options","placeholder","onChange","Item","autoFocus","Button","icon","Trash2Icon","size","variant","onClick","assoc","_AddFilter","filter","_ref3","existsBy","PlusIcon","iconPosition","SegmentForm","_ref$isEdit","isEdit","segmentFormInitialRef","isOpen","onClose","isSubmitting","handleSubmit","defaultSegmentName","initialValues","customFilters","childrenKeys","segmentHelpPopoverProps","history","useHistory","_buildFilteredColumns","buildFilteredColumns","searchTerm","_buildFilteredColumns2","groupedColumns","_buildFilteredColumns3","ungroupedColumns","newFilters","isClearAll","arguments","length","undefined","params","buildUrlFromFilters","_objectSpread","push","search","values","setFieldValue","formState","conditions","removeBy","globalState","Sheet","initialFocusRef","Header","Typography","weight","isPresent","HelpPopover","Form","formProps","noValidate","formikProps","validateOnChange","validateOnBlur","validationSchema","buildSegmentsValidationSchema","onSubmit","errors","Body","Input","error","name","ref","_existsBy","Accordion","_ref4","group","title","_createElement","concat","_toConsumableArray","resources","_ref5","_ref6","Footer","ActionBlock","cancelButtonProps","submitButtonProps"],"mappings":"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"}