@bigbinary/neeto-filters-frontend 4.3.35 → 4.3.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.ready +1 -1
- package/dist/cjs/v2/Bar.js +9 -7
- package/dist/cjs/v2/Bar.js.map +1 -1
- package/dist/cjs/v2/Filters.js +6 -5
- package/dist/cjs/v2/Filters.js.map +1 -1
- package/dist/cjs/v2/Segments.js +13 -13
- package/dist/cjs/v2/Segments.js.map +1 -1
- package/dist/cjs/v2/hooks.js +16 -0
- package/dist/cjs/v2/hooks.js.map +1 -0
- package/dist/cjs/v2/index.js +7 -5
- package/dist/cjs/v2/index.js.map +1 -1
- package/dist/cjs/v2/utils.js +3 -2
- package/dist/cjs/v2/utils.js.map +1 -1
- package/dist/{index-C4AC0OfA.js → index-BKZg5qSF.js} +3 -3
- package/dist/index-BKZg5qSF.js.map +1 -0
- package/dist/{index-CpgjbwJP.js → index-CYxhPqEn.js} +3 -3
- package/dist/index-CYxhPqEn.js.map +1 -0
- package/dist/{index-BxEtpFbP.js → index-D5k7J243.js} +7 -7
- package/dist/index-D5k7J243.js.map +1 -0
- package/dist/{index-BD5y7_BW.js → index-Lu1qjZRh.js} +3 -3
- package/dist/index-Lu1qjZRh.js.map +1 -0
- package/dist/{utils-BUFBOQlR.js → utils-85mpVq5c.js} +4 -3
- package/dist/utils-85mpVq5c.js.map +1 -0
- package/dist/{utils-ClTYBS1C.js → utils-ZTtO0yGb.js} +28 -27
- package/dist/utils-ZTtO0yGb.js.map +1 -0
- package/dist/v2/Bar.js +9 -7
- package/dist/v2/Bar.js.map +1 -1
- package/dist/v2/Filters.js +6 -5
- package/dist/v2/Filters.js.map +1 -1
- package/dist/v2/Segments.js +13 -13
- package/dist/v2/Segments.js.map +1 -1
- package/dist/v2/hooks.js +8 -0
- package/dist/v2/hooks.js.map +1 -0
- package/dist/v2/index.js +7 -5
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/utils.js +3 -2
- package/dist/v2/utils.js.map +1 -1
- package/package.json +10 -10
- package/dist/index-BD5y7_BW.js.map +0 -1
- package/dist/index-BxEtpFbP.js.map +0 -1
- package/dist/index-C4AC0OfA.js.map +0 -1
- package/dist/index-CpgjbwJP.js.map +0 -1
- package/dist/utils-BUFBOQlR.js.map +0 -1
- package/dist/utils-ClTYBS1C.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-C4AC0OfA.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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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-CpgjbwJP.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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"}
|