@bigbinary/neeto-filters-frontend 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/Bar.js +7 -2
- package/dist/Bar.js.map +1 -1
- package/dist/Segments.js +7 -2
- package/dist/Segments.js.map +1 -1
- package/dist/cjs/Bar.js +7 -2
- package/dist/cjs/Bar.js.map +1 -1
- package/dist/cjs/Segments.js +7 -2
- package/dist/cjs/Segments.js.map +1 -1
- package/package.json +5 -5
- package/types.d.ts +2 -0
package/README.md
CHANGED
|
@@ -127,6 +127,7 @@ export default App;
|
|
|
127
127
|
- `entity`: The entity associated with the filters.
|
|
128
128
|
- `defaultSegmentName`: The name of segment which results all entities without applying any filter. Default name is "All results".
|
|
129
129
|
- `customFilters`: To specify the custom components specific to the host application. This should be same as `children` passed to the `Filters` component.
|
|
130
|
+
- `segmentsBaseUrl`: The base url to which the segments will be appended after creating the segment. by default the current path will be used.
|
|
130
131
|
|
|
131
132
|
All these props must be same as that passed to the `Filters` component. The
|
|
132
133
|
option to save filters as segments will be enabled only when the entity prop is
|
|
@@ -187,6 +188,7 @@ export default App;
|
|
|
187
188
|
- `defaultSegmentName`: The name of segment which results all entities without applying any filter. Default name is "All results".
|
|
188
189
|
- `customFilters`: To specify the custom components specific to the host application. This should be same as `children` passed to the `Filters` component.
|
|
189
190
|
- `childrenKeys`: The list of keys which has to be cleared from url during clear filters operation.
|
|
191
|
+
- `baseUrl`: The base url to which the segments will be appended. by default the current path will be used.
|
|
190
192
|
|
|
191
193
|
The "columns" prop must be same as that passed to the `Filters` component.
|
|
192
194
|
|
package/dist/Bar.js
CHANGED
|
@@ -363,7 +363,8 @@ var useSegment = function useSegment(_ref) {
|
|
|
363
363
|
var entity = _ref.entity,
|
|
364
364
|
keyword = _ref.keyword,
|
|
365
365
|
columns = _ref.columns,
|
|
366
|
-
childrenKeys = _ref.childrenKeys
|
|
366
|
+
childrenKeys = _ref.childrenKeys,
|
|
367
|
+
segmentsBaseUrl = _ref.segmentsBaseUrl;
|
|
367
368
|
var history = useHistory();
|
|
368
369
|
var _useTranslation = useTranslation(),
|
|
369
370
|
t = _useTranslation.t;
|
|
@@ -433,6 +434,7 @@ var useSegment = function useSegment(_ref) {
|
|
|
433
434
|
id = _ref2$segment.id,
|
|
434
435
|
filters = _ref2$segment.filters;
|
|
435
436
|
history.push({
|
|
437
|
+
pathname: segmentsBaseUrl,
|
|
436
438
|
search: buildUrlFromSegment({
|
|
437
439
|
columns: columns,
|
|
438
440
|
filters: (_filters$ = filters[0]) === null || _filters$ === void 0 ? void 0 : _filters$.conditions,
|
|
@@ -595,6 +597,8 @@ var Bar = function Bar(_ref) {
|
|
|
595
597
|
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
|
|
596
598
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
597
599
|
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
|
|
600
|
+
_ref$segmentsBaseUrl = _ref.segmentsBaseUrl,
|
|
601
|
+
segmentsBaseUrl = _ref$segmentsBaseUrl === void 0 ? window.location.pathname : _ref$segmentsBaseUrl,
|
|
598
602
|
customFilters = _ref.customFilters;
|
|
599
603
|
var queryClient = useQueryClient();
|
|
600
604
|
var _useQueryParams = useQueryParams(),
|
|
@@ -604,7 +608,8 @@ var Bar = function Bar(_ref) {
|
|
|
604
608
|
entity: entity,
|
|
605
609
|
keyword: keyword,
|
|
606
610
|
columns: columns,
|
|
607
|
-
childrenKeys: childrenKeys
|
|
611
|
+
childrenKeys: childrenKeys,
|
|
612
|
+
segmentsBaseUrl: segmentsBaseUrl
|
|
608
613
|
}),
|
|
609
614
|
isEdit = _useSegment.isEdit,
|
|
610
615
|
filters = _useSegment.filters,
|
package/dist/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bar.js","sources":["../app/javascript/src/components/Bar/constants.js","../app/javascript/src/constants/keyboardShortcuts.js","../app/javascript/src/components/Bar/utils.js","../app/javascript/src/components/Bar/Block.jsx","../app/javascript/src/components/Bar/ChildBlock.jsx","../app/javascript/src/components/Bar/FilterBar.jsx","../app/javascript/src/components/Bar/hooks/useSegment.js","../app/javascript/src/components/Bar/SegmentBar.jsx","../app/javascript/src/components/Bar/index.jsx"],"sourcesContent":["export const DEFAULT_SEGMENTS_CACHE = { segments: [] };\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", CREATE: \"create\" };\n","import { t } from \"i18next\";\n\nexport const SHORTCUTS = {\n closePane: {\n sequence: \"escape\",\n description: t(\"neetoFilters.shortcuts.closePane\"),\n },\n deleteBlock: {\n sequence: \"backspace\",\n description: t(\"neetoFilters.shortcuts.deleteBlock\"),\n },\n openFilterPane: {\n sequence: \"enter\",\n description: t(\"neetoFilters.shortcuts.openFilterPane\"),\n },\n};\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { findBy, humanize, removeBy } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { modify, project, prop, reject, sortBy } from \"ramda\";\n\nimport {\n SEARCH_TERM_KEY,\n SINGLE_DATE_OPTIONS,\n SINGLE_TIME_OPTIONS,\n} from \"common/constants\";\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\n\nimport { NUMBER_RULES, TEXT_RULES } from \"../Pane/Item/constants\";\nimport {\n getLabelFromBool,\n isBoolean,\n isCustomDateRange,\n isCustomTimeRange,\n isDate,\n isDigit,\n isMulti,\n isSingle,\n isSingleDate,\n isSingleTime,\n isText,\n isTime,\n isTreeSelect,\n} from \"../utils\";\n\nconst buildCustomDateValue = value => {\n const isBeforeOrAfter =\n Math.abs(dayjs(value[1]).diff(dayjs(value[0]), \"year\")) >= 90;\n if (isBeforeOrAfter) {\n const currentMoment = dayjs();\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 ? `after-${dateFormat.date(dayjs(value[0]).subtract(1, \"day\"))}`\n : `before-${dateFormat.date(dayjs(value[1]).add(1, \"day\"))}`;\n }\n\n return value.map(dateFormat.date).join(\" - \");\n};\n\nexport const buildFilterValue = filter => {\n const {\n defaultType = filter.type,\n value,\n rule,\n values: initialValues = [],\n } = filter;\n const values = initialValues.map(modify(\"value\", value => value.toString()));\n\n if (isDate(defaultType) && isCustomDateRange(value)) {\n return buildCustomDateValue(value);\n } else if (isTime(defaultType) && isCustomTimeRange(value)) {\n return value.map(dateFormat.time).join(\" - \");\n } else if (isDate(defaultType) || isTime(defaultType)) {\n return humanize(value);\n } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return value\n .map(value => findBy({ value }, values)?.label || value)\n .join(\", \");\n } else if (isSingleDate(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.date).join(\" - \")\n : dateFormat.date(value);\n } else if (isSingleTime(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.time).join(\" - \")\n : dateFormat.time(value);\n } else if (isBoolean(defaultType)) {\n return getLabelFromBool({ value, values });\n }\n\n return findBy({ value }, values)?.label || value;\n};\n\nexport const buildRuleValue = ({ rule, defaultType }) => {\n if (isText(defaultType)) {\n return findBy({ value: rule }, TEXT_RULES).label;\n } else if (isDigit(defaultType)) {\n return findBy({ value: rule }, NUMBER_RULES).label;\n } else if (isSingleDate(defaultType)) {\n return findBy({ value: rule }, SINGLE_DATE_OPTIONS).label;\n } else if (isSingleTime(defaultType)) {\n return findBy({ value: rule }, SINGLE_TIME_OPTIONS).label;\n } else if (\n isMulti(defaultType) ||\n isSingle(defaultType) ||\n isTreeSelect(defaultType)\n ) {\n return isRuleEmpty(rule) ? t(\"neetoFilters.rules.isEmpty\") : \"\";\n }\n\n return \"\";\n};\n\nexport const hasOnlyKeywordFilter = filters =>\n filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;\n\nexport const deepCompare = (segments, filters) => {\n const comparisonHelper = filters =>\n sortBy(\n prop(\"key\"),\n removeBy(\n { key: SEARCH_TERM_KEY },\n project([\"key\", \"rule\", \"value\", \"label\"], filters)\n )\n );\n\n return reject(filters => {\n const segment = findBy({ key: filters.key }, segments);\n\n return segment && segment.value === filters.value;\n }, comparisonHelper(filters));\n};\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nimport { buildFilterValue, buildRuleValue } from \"./utils\";\n\nconst Block = ({ filter, handleDelete, setIsPaneOpen }) => {\n const { key, defaultType = filter.type, label, rule, defaultValue } = filter;\n const filterValue = buildFilterValue(filter);\n const ruleContent = buildRuleValue({ rule, defaultType });\n const blockLength = label.length + ruleContent.length + filterValue.length;\n const toolTipDisabled = blockLength <= 50;\n const blockContent = !toolTipDisabled\n ? `${filterValue.slice(0, 50 - blockLength)}...`\n : filterValue;\n\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(key),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(key),\n { mode: \"scoped\" }\n );\n\n return (\n <Tooltip\n content={filterValue}\n disabled={toolTipDisabled}\n position=\"bottom\"\n theme=\"light\"\n >\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(key)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(key)}\n >\n <Typography style=\"body2\">{label}:</Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {ruleContent}\n </Typography>\n {!isRuleEmpty(rule) && (\n <Typography style=\"body2\">{blockContent}</Typography>\n )}\n {!defaultValue && (\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(key)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(key);\n }}\n />\n </div>\n )}\n </div>\n </Tooltip>\n );\n};\n\nexport default Block;\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nconst ChildBlock = ({ childKey, setIsPaneOpen, handleDelete }) => {\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(childKey),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(childKey),\n { mode: \"scoped\" }\n );\n\n return (\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(childKey)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(childKey)}\n >\n <Typography style=\"body2\" weight=\"medium\">\n {childKey}\n </Typography>\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(childKey)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(childKey);\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default ChildBlock;\n","import React from \"react\";\n\nimport { isPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport { has, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport Block from \"./Block\";\nimport ChildBlock from \"./ChildBlock\";\nimport { SEGMENT_ACTIONS } from \"./constants\";\nimport { hasOnlyKeywordFilter } from \"./utils\";\n\nimport { getSnakeCasedQueryParams, isKeywordFilterPresent } from \"../utils\";\n\nconst FilterBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n childrenKeys,\n nonHiddenFilters,\n childrenFiltersApplied,\n keywordFilter,\n handleApplyFilters,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const searchParams = useQueryParams({ toCamelCase: false });\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const handleClearAll = () => {\n const params = isKeywordFilterPresent(keywordFilter)\n ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams())\n : getSnakeCasedQueryParams();\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n handleApplyFilters([], true);\n };\n\n const hideClearButton =\n nonHiddenFilters.every(\n ({ defaultValue, isClearable }) => defaultValue && !isClearable\n ) && !childrenFiltersApplied;\n\n return (\n <>\n {nonHiddenFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n {childrenKeys\n .filter(childKey => has(childKey, searchParams))\n .map(childKey => (\n <React.Fragment key={childKey}>\n <ChildBlock {...{ childKey, handleDelete, setIsPaneOpen }} />\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n <div className=\"flex items-center gap-x-2\">\n {isPresent(entity) && !hasOnlyKeywordFilter(filters) && (\n <Button\n data-cy=\"save-segment-button\"\n label={t(\"neetoFilters.segments.saveAsNewSegment\")}\n style=\"secondary\"\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n />\n )}\n {!hideClearButton && (\n <Button\n data-cy=\"neeto-filters-bar-clear-btn\"\n label={t(\"neetoFilters.common.clearFilters\")}\n style=\"text\"\n onClick={handleClearAll}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default FilterBar;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { isNotEmpty, noop, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { has } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n getSearchTermFromUrl,\n isKeywordFilterPresent,\n} from \"components/utils\";\nimport {\n useCreateSegment,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegment = ({ entity, keyword, columns, childrenKeys }) => {\n const history = useHistory();\n const { t } = useTranslation();\n const initialRenderRef = useRef(true);\n const { segmentId } = useQueryParams();\n\n const [isSavePaneOpen, setIsSavePaneOpen] = useState({ action: undefined });\n\n const { mutate: createSegment, isPending: isCreating } = useCreateSegment();\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n const isSubmitting = isCreating || isUpdating;\n\n const searchParams = useQueryParams({ toCamelCase: false });\n const keywordValue = searchParams[SEARCH_TERM_KEY] || \"\";\n const isEdit = isSavePaneOpen.action === SEGMENT_ACTIONS.EDIT;\n\n const keywordFilter = {\n type: \"text\",\n rule: \"contains\",\n label: t(\"neetoFilters.common.searchTerm\"),\n ...keyword,\n key: SEARCH_TERM_KEY,\n value: keywordValue,\n };\n\n const filters = buildFiltersFromSearchParams(\n isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue)\n ? [keywordFilter, ...columns]\n : columns\n );\n\n const nonHiddenFilters = removeBy({ hidden: true }, filters);\n\n const handleApplyFilters = (newFilters, isClearAll) => {\n const params = buildUrlFromFilters({\n columns,\n filters:\n isKeywordFilterPresent(keywordFilter) &&\n isNotEmpty(getSearchTermFromUrl())\n ? [...newFilters, keywordFilter]\n : newFilters,\n ...(isClearAll && { isClearAll: true, childrenKeys }),\n });\n\n history.push({ search: params });\n };\n\n const childrenFiltersApplied = childrenKeys.some(key =>\n has(key, searchParams)\n );\n\n useEffect(() => {\n if (initialRenderRef.current) {\n initialRenderRef.current = false;\n\n return noop;\n }\n\n const handler = setTimeout(() => {\n handleApplyFilters(filters);\n }, 500);\n\n return () => clearTimeout(handler);\n }, [keywordValue]);\n\n const handleCreateSuccess = ({ segment: { id, filters } }) => {\n history.push({\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n };\n\n const handleCreate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n createSegment(\n { name, entity, filters: filtersPayload },\n {\n onSuccess: handleCreateSuccess,\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n { id: segmentId, payload: { name, filters: filtersPayload } },\n {\n onSuccess: () => {\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n return {\n isEdit,\n filters,\n keywordFilter,\n isSubmitting,\n nonHiddenFilters,\n isSavePaneOpen,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n handleSubmit: isEdit ? handleUpdate : handleCreate,\n };\n};\n\nexport default useSegment;\n","import React from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { findById, isNotEmpty, isNotPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getSnakeCasedQueryParams } from \"components/utils\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_SEGMENTS_CACHE, SEGMENT_ACTIONS } from \"./constants\";\nimport { deepCompare } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst SegmentBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n handleApplyFilters,\n childrenKeys,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = useQueryParams();\n const queryClient = useQueryClient();\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isNotPresent(segment)) return null;\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const changedFilters = deepCompare(segment.filters[0].conditions, filters);\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-600 mr-4 px-2\"\n data-cy=\"neeto-filters-segment-name\"\n style=\"h4\"\n >\n {segment.name}\n </Typography>\n {isNotEmpty(changedFilters) && (\n <>\n <Dropdown\n buttonProps={{ className: \"mr-2\" }}\n buttonStyle=\"secondary\"\n label={t(\"neetoFilters.segments.updateSegment\")}\n >\n <Menu>\n <MenuItem.Button\n onClick={() =>\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.EDIT })\n }\n >\n {t(\"neetoFilters.segments.updateSegment\")}\n </MenuItem.Button>\n <MenuItem.Button\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n >\n {t(\"neetoFilters.segments.saveAsNewSegment\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n {changedFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n </>\n )}\n </>\n );\n};\n\nexport default SegmentBar;\n","import React, { useRef } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { findById, isPresent, noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { assoc, identity, isEmpty } from \"ramda\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport { DEFAULT_SEGMENTS_CACHE } from \"./constants\";\nimport FilterBar from \"./FilterBar\";\nimport useSegment from \"./hooks/useSegment\";\nimport SegmentBar from \"./SegmentBar\";\n\nconst Bar = ({\n entity,\n className,\n columns = [],\n keyword = { node: \"\", value: \"\", setValue: noop },\n setIsPaneOpen = identity,\n childrenKeys = [],\n // eslint-disable-next-line @bigbinary/neeto/use-translation-hook-in-components\n defaultSegmentName = t(\"neetoFilters.common.allResults\"),\n customFilters,\n}) => {\n const queryClient = useQueryClient();\n const { segmentId } = useQueryParams();\n const segmentFormInitialRef = useRef(null);\n const {\n isEdit,\n filters,\n handleSubmit,\n isSubmitting,\n keywordFilter,\n isSavePaneOpen,\n nonHiddenFilters,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n } = useSegment({ entity, keyword, columns, childrenKeys });\n\n const BarComponent = segmentId ? SegmentBar : FilterBar;\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;\n\n return (\n <>\n <div\n className={classnames(\"neeto-filters-bar\", { [className]: className })}\n >\n <BarComponent\n {...{\n childrenFiltersApplied,\n childrenKeys,\n entity,\n filters,\n handleApplyFilters,\n keywordFilter,\n nonHiddenFilters,\n setIsPaneOpen,\n setIsSavePaneOpen,\n }}\n />\n </div>\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n handleSubmit,\n isEdit,\n isSubmitting,\n keywordFilter,\n segmentFormInitialRef,\n }}\n isOpen={isPresent(isSavePaneOpen.action)}\n initialValues={\n isEdit\n ? assoc(\"filters\", [{ conditions: filters }], segment)\n : { name: \"\", filters: [{ conditions: filters }] }\n }\n onClose={() => setIsSavePaneOpen({ action: undefined })}\n />\n </>\n );\n};\n\nexport default Bar;\n"],"names":["DEFAULT_SEGMENTS_CACHE","segments","SEGMENT_ACTIONS","EDIT","CREATE","SHORTCUTS","closePane","sequence","description","t","deleteBlock","openFilterPane","buildCustomDateValue","value","isBeforeOrAfter","Math","abs","dayjs","diff","currentMoment","diffWithStart","diffWithEnd","concat","dateFormat","date","subtract","add","map","join","buildFilterValue","filter","_findBy2","_filter$defaultType","defaultType","type","rule","_filter$values","values","initialValues","modify","toString","isDate","isCustomDateRange","isTime","isCustomTimeRange","time","humanize","isMulti","isTreeSelect","_findBy","findBy","label","isSingleDate","isSingleTime","isBoolean","getLabelFromBool","buildRuleValue","_ref","isText","TEXT_RULES","isDigit","NUMBER_RULES","SINGLE_DATE_OPTIONS","SINGLE_TIME_OPTIONS","isSingle","isRuleEmpty","hasOnlyKeywordFilter","filters","length","key","SEARCH_TERM_KEY","deepCompare","comparisonHelper","sortBy","prop","removeBy","project","reject","segment","Block","handleDelete","setIsPaneOpen","defaultValue","filterValue","ruleContent","blockLength","toolTipDisabled","blockContent","slice","deleteBlockHotKeyRef","useHotkeys","mode","openFilterPaneHotKeyRef","_jsx","Tooltip","content","disabled","position","theme","children","_jsxs","className","hyphenate","tabIndex","ref","node","current","onClick","Typography","style","Close","size","strokeWidth","event","stopPropagation","ChildBlock","childKey","weight","FilterBar","entity","setIsSavePaneOpen","childrenKeys","nonHiddenFilters","childrenFiltersApplied","keywordFilter","handleApplyFilters","_useTranslation","useTranslation","history","useHistory","searchParams","useQueryParams","toCamelCase","params","omit","getSnakeCasedQueryParams","pathname","window","location","push","buildUrl","includes","newFilters","handleClearAll","isKeywordFilterPresent","hideClearButton","every","_ref2","isClearable","_Fragment","_filter$suffixCompone","React","Fragment","suffixComponent","call","has","isPresent","Button","action","useSegment","keyword","columns","initialRenderRef","useRef","_useQueryParams","segmentId","_useState","useState","undefined","_useState2","_slicedToArray","isSavePaneOpen","_useCreateSegment","useCreateSegment","createSegment","mutate","isCreating","isPending","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","isSubmitting","keywordValue","isEdit","_objectSpread","buildFiltersFromSearchParams","isNotEmpty","_toConsumableArray","hidden","isClearAll","buildUrlFromFilters","getSearchTermFromUrl","search","some","useEffect","noop","handler","setTimeout","clearTimeout","handleCreateSuccess","_filters$","_ref2$segment","id","buildUrlFromSegment","conditions","showThumbsUpToastr","handleCreate","_ref3","_ref4","name","setFieldError","filtersPayload","buildSegmentsPayload","onSuccess","onError","error","response","data","handleUpdate","_ref5","_ref6","payload","handleSubmit","Menu","Dropdown","MenuItem","SegmentBar","queryClient","useQueryClient","cachedSegments","getQueryData","QUERY_KEYS","SEGMENTS_LIST","findById","isNotPresent","changedFilters","buttonProps","buttonStyle","Bar","_ref$columns","_ref$keyword","setValue","_ref$setIsPaneOpen","identity","_ref$childrenKeys","_ref$defaultSegmentNa","defaultSegmentName","customFilters","segmentFormInitialRef","_useSegment","BarComponent","isEmpty","classnames","_defineProperty","SegmentForm","isOpen","assoc","onClose"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bar.js","sources":["../app/javascript/src/components/Bar/constants.js","../app/javascript/src/constants/keyboardShortcuts.js","../app/javascript/src/components/Bar/utils.js","../app/javascript/src/components/Bar/Block.jsx","../app/javascript/src/components/Bar/ChildBlock.jsx","../app/javascript/src/components/Bar/FilterBar.jsx","../app/javascript/src/components/Bar/hooks/useSegment.js","../app/javascript/src/components/Bar/SegmentBar.jsx","../app/javascript/src/components/Bar/index.jsx"],"sourcesContent":["export const DEFAULT_SEGMENTS_CACHE = { segments: [] };\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", CREATE: \"create\" };\n","import { t } from \"i18next\";\n\nexport const SHORTCUTS = {\n closePane: {\n sequence: \"escape\",\n description: t(\"neetoFilters.shortcuts.closePane\"),\n },\n deleteBlock: {\n sequence: \"backspace\",\n description: t(\"neetoFilters.shortcuts.deleteBlock\"),\n },\n openFilterPane: {\n sequence: \"enter\",\n description: t(\"neetoFilters.shortcuts.openFilterPane\"),\n },\n};\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { findBy, humanize, removeBy } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { modify, project, prop, reject, sortBy } from \"ramda\";\n\nimport {\n SEARCH_TERM_KEY,\n SINGLE_DATE_OPTIONS,\n SINGLE_TIME_OPTIONS,\n} from \"common/constants\";\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\n\nimport { NUMBER_RULES, TEXT_RULES } from \"../Pane/Item/constants\";\nimport {\n getLabelFromBool,\n isBoolean,\n isCustomDateRange,\n isCustomTimeRange,\n isDate,\n isDigit,\n isMulti,\n isSingle,\n isSingleDate,\n isSingleTime,\n isText,\n isTime,\n isTreeSelect,\n} from \"../utils\";\n\nconst buildCustomDateValue = value => {\n const isBeforeOrAfter =\n Math.abs(dayjs(value[1]).diff(dayjs(value[0]), \"year\")) >= 90;\n if (isBeforeOrAfter) {\n const currentMoment = dayjs();\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 ? `after-${dateFormat.date(dayjs(value[0]).subtract(1, \"day\"))}`\n : `before-${dateFormat.date(dayjs(value[1]).add(1, \"day\"))}`;\n }\n\n return value.map(dateFormat.date).join(\" - \");\n};\n\nexport const buildFilterValue = filter => {\n const {\n defaultType = filter.type,\n value,\n rule,\n values: initialValues = [],\n } = filter;\n const values = initialValues.map(modify(\"value\", value => value.toString()));\n\n if (isDate(defaultType) && isCustomDateRange(value)) {\n return buildCustomDateValue(value);\n } else if (isTime(defaultType) && isCustomTimeRange(value)) {\n return value.map(dateFormat.time).join(\" - \");\n } else if (isDate(defaultType) || isTime(defaultType)) {\n return humanize(value);\n } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return value\n .map(value => findBy({ value }, values)?.label || value)\n .join(\", \");\n } else if (isSingleDate(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.date).join(\" - \")\n : dateFormat.date(value);\n } else if (isSingleTime(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.time).join(\" - \")\n : dateFormat.time(value);\n } else if (isBoolean(defaultType)) {\n return getLabelFromBool({ value, values });\n }\n\n return findBy({ value }, values)?.label || value;\n};\n\nexport const buildRuleValue = ({ rule, defaultType }) => {\n if (isText(defaultType)) {\n return findBy({ value: rule }, TEXT_RULES).label;\n } else if (isDigit(defaultType)) {\n return findBy({ value: rule }, NUMBER_RULES).label;\n } else if (isSingleDate(defaultType)) {\n return findBy({ value: rule }, SINGLE_DATE_OPTIONS).label;\n } else if (isSingleTime(defaultType)) {\n return findBy({ value: rule }, SINGLE_TIME_OPTIONS).label;\n } else if (\n isMulti(defaultType) ||\n isSingle(defaultType) ||\n isTreeSelect(defaultType)\n ) {\n return isRuleEmpty(rule) ? t(\"neetoFilters.rules.isEmpty\") : \"\";\n }\n\n return \"\";\n};\n\nexport const hasOnlyKeywordFilter = filters =>\n filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;\n\nexport const deepCompare = (segments, filters) => {\n const comparisonHelper = filters =>\n sortBy(\n prop(\"key\"),\n removeBy(\n { key: SEARCH_TERM_KEY },\n project([\"key\", \"rule\", \"value\", \"label\"], filters)\n )\n );\n\n return reject(filters => {\n const segment = findBy({ key: filters.key }, segments);\n\n return segment && segment.value === filters.value;\n }, comparisonHelper(filters));\n};\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nimport { buildFilterValue, buildRuleValue } from \"./utils\";\n\nconst Block = ({ filter, handleDelete, setIsPaneOpen }) => {\n const { key, defaultType = filter.type, label, rule, defaultValue } = filter;\n const filterValue = buildFilterValue(filter);\n const ruleContent = buildRuleValue({ rule, defaultType });\n const blockLength = label.length + ruleContent.length + filterValue.length;\n const toolTipDisabled = blockLength <= 50;\n const blockContent = !toolTipDisabled\n ? `${filterValue.slice(0, 50 - blockLength)}...`\n : filterValue;\n\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(key),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(key),\n { mode: \"scoped\" }\n );\n\n return (\n <Tooltip\n content={filterValue}\n disabled={toolTipDisabled}\n position=\"bottom\"\n theme=\"light\"\n >\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(key)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(key)}\n >\n <Typography style=\"body2\">{label}:</Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {ruleContent}\n </Typography>\n {!isRuleEmpty(rule) && (\n <Typography style=\"body2\">{blockContent}</Typography>\n )}\n {!defaultValue && (\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(key)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(key);\n }}\n />\n </div>\n )}\n </div>\n </Tooltip>\n );\n};\n\nexport default Block;\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nconst ChildBlock = ({ childKey, setIsPaneOpen, handleDelete }) => {\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(childKey),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(childKey),\n { mode: \"scoped\" }\n );\n\n return (\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(childKey)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(childKey)}\n >\n <Typography style=\"body2\" weight=\"medium\">\n {childKey}\n </Typography>\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(childKey)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(childKey);\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default ChildBlock;\n","import React from \"react\";\n\nimport { isPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport { has, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport Block from \"./Block\";\nimport ChildBlock from \"./ChildBlock\";\nimport { SEGMENT_ACTIONS } from \"./constants\";\nimport { hasOnlyKeywordFilter } from \"./utils\";\n\nimport { getSnakeCasedQueryParams, isKeywordFilterPresent } from \"../utils\";\n\nconst FilterBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n childrenKeys,\n nonHiddenFilters,\n childrenFiltersApplied,\n keywordFilter,\n handleApplyFilters,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const searchParams = useQueryParams({ toCamelCase: false });\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const handleClearAll = () => {\n const params = isKeywordFilterPresent(keywordFilter)\n ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams())\n : getSnakeCasedQueryParams();\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n handleApplyFilters([], true);\n };\n\n const hideClearButton =\n nonHiddenFilters.every(\n ({ defaultValue, isClearable }) => defaultValue && !isClearable\n ) && !childrenFiltersApplied;\n\n return (\n <>\n {nonHiddenFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n {childrenKeys\n .filter(childKey => has(childKey, searchParams))\n .map(childKey => (\n <React.Fragment key={childKey}>\n <ChildBlock {...{ childKey, handleDelete, setIsPaneOpen }} />\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n <div className=\"flex items-center gap-x-2\">\n {isPresent(entity) && !hasOnlyKeywordFilter(filters) && (\n <Button\n data-cy=\"save-segment-button\"\n label={t(\"neetoFilters.segments.saveAsNewSegment\")}\n style=\"secondary\"\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n />\n )}\n {!hideClearButton && (\n <Button\n data-cy=\"neeto-filters-bar-clear-btn\"\n label={t(\"neetoFilters.common.clearFilters\")}\n style=\"text\"\n onClick={handleClearAll}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default FilterBar;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { isNotEmpty, noop, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { has } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n getSearchTermFromUrl,\n isKeywordFilterPresent,\n} from \"components/utils\";\nimport {\n useCreateSegment,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegment = ({\n entity,\n keyword,\n columns,\n childrenKeys,\n segmentsBaseUrl,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const initialRenderRef = useRef(true);\n const { segmentId } = useQueryParams();\n\n const [isSavePaneOpen, setIsSavePaneOpen] = useState({ action: undefined });\n\n const { mutate: createSegment, isPending: isCreating } = useCreateSegment();\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n const isSubmitting = isCreating || isUpdating;\n\n const searchParams = useQueryParams({ toCamelCase: false });\n const keywordValue = searchParams[SEARCH_TERM_KEY] || \"\";\n const isEdit = isSavePaneOpen.action === SEGMENT_ACTIONS.EDIT;\n\n const keywordFilter = {\n type: \"text\",\n rule: \"contains\",\n label: t(\"neetoFilters.common.searchTerm\"),\n ...keyword,\n key: SEARCH_TERM_KEY,\n value: keywordValue,\n };\n\n const filters = buildFiltersFromSearchParams(\n isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue)\n ? [keywordFilter, ...columns]\n : columns\n );\n\n const nonHiddenFilters = removeBy({ hidden: true }, filters);\n\n const handleApplyFilters = (newFilters, isClearAll) => {\n const params = buildUrlFromFilters({\n columns,\n filters:\n isKeywordFilterPresent(keywordFilter) &&\n isNotEmpty(getSearchTermFromUrl())\n ? [...newFilters, keywordFilter]\n : newFilters,\n ...(isClearAll && { isClearAll: true, childrenKeys }),\n });\n\n history.push({ search: params });\n };\n\n const childrenFiltersApplied = childrenKeys.some(key =>\n has(key, searchParams)\n );\n\n useEffect(() => {\n if (initialRenderRef.current) {\n initialRenderRef.current = false;\n\n return noop;\n }\n\n const handler = setTimeout(() => {\n handleApplyFilters(filters);\n }, 500);\n\n return () => clearTimeout(handler);\n }, [keywordValue]);\n\n const handleCreateSuccess = ({ segment: { id, filters } }) => {\n history.push({\n pathname: segmentsBaseUrl,\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n };\n\n const handleCreate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n createSegment(\n { name, entity, filters: filtersPayload },\n {\n onSuccess: handleCreateSuccess,\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n { id: segmentId, payload: { name, filters: filtersPayload } },\n {\n onSuccess: () => {\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n return {\n isEdit,\n filters,\n keywordFilter,\n isSubmitting,\n nonHiddenFilters,\n isSavePaneOpen,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n handleSubmit: isEdit ? handleUpdate : handleCreate,\n };\n};\n\nexport default useSegment;\n","import React from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { findById, isNotEmpty, isNotPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getSnakeCasedQueryParams } from \"components/utils\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_SEGMENTS_CACHE, SEGMENT_ACTIONS } from \"./constants\";\nimport { deepCompare } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst SegmentBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n handleApplyFilters,\n childrenKeys,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = useQueryParams();\n const queryClient = useQueryClient();\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isNotPresent(segment)) return null;\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const changedFilters = deepCompare(segment.filters[0].conditions, filters);\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-600 mr-4 px-2\"\n data-cy=\"neeto-filters-segment-name\"\n style=\"h4\"\n >\n {segment.name}\n </Typography>\n {isNotEmpty(changedFilters) && (\n <>\n <Dropdown\n buttonProps={{ className: \"mr-2\" }}\n buttonStyle=\"secondary\"\n label={t(\"neetoFilters.segments.updateSegment\")}\n >\n <Menu>\n <MenuItem.Button\n onClick={() =>\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.EDIT })\n }\n >\n {t(\"neetoFilters.segments.updateSegment\")}\n </MenuItem.Button>\n <MenuItem.Button\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n >\n {t(\"neetoFilters.segments.saveAsNewSegment\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n {changedFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n </>\n )}\n </>\n );\n};\n\nexport default SegmentBar;\n","import React, { useRef } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { findById, isPresent, noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { assoc, identity, isEmpty } from \"ramda\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport { DEFAULT_SEGMENTS_CACHE } from \"./constants\";\nimport FilterBar from \"./FilterBar\";\nimport useSegment from \"./hooks/useSegment\";\nimport SegmentBar from \"./SegmentBar\";\n\nconst Bar = ({\n entity,\n className,\n columns = [],\n keyword = { node: \"\", value: \"\", setValue: noop },\n setIsPaneOpen = identity,\n childrenKeys = [],\n // eslint-disable-next-line @bigbinary/neeto/use-translation-hook-in-components\n defaultSegmentName = t(\"neetoFilters.common.allResults\"),\n segmentsBaseUrl = window.location.pathname,\n customFilters,\n}) => {\n const queryClient = useQueryClient();\n const { segmentId } = useQueryParams();\n const segmentFormInitialRef = useRef(null);\n const {\n isEdit,\n filters,\n handleSubmit,\n isSubmitting,\n keywordFilter,\n isSavePaneOpen,\n nonHiddenFilters,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n } = useSegment({ entity, keyword, columns, childrenKeys, segmentsBaseUrl });\n\n const BarComponent = segmentId ? SegmentBar : FilterBar;\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;\n\n return (\n <>\n <div\n className={classnames(\"neeto-filters-bar\", { [className]: className })}\n >\n <BarComponent\n {...{\n childrenFiltersApplied,\n childrenKeys,\n entity,\n filters,\n handleApplyFilters,\n keywordFilter,\n nonHiddenFilters,\n setIsPaneOpen,\n setIsSavePaneOpen,\n }}\n />\n </div>\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n handleSubmit,\n isEdit,\n isSubmitting,\n keywordFilter,\n segmentFormInitialRef,\n }}\n isOpen={isPresent(isSavePaneOpen.action)}\n initialValues={\n isEdit\n ? assoc(\"filters\", [{ conditions: filters }], segment)\n : { name: \"\", filters: [{ conditions: filters }] }\n }\n onClose={() => setIsSavePaneOpen({ action: undefined })}\n />\n </>\n );\n};\n\nexport default Bar;\n"],"names":["DEFAULT_SEGMENTS_CACHE","segments","SEGMENT_ACTIONS","EDIT","CREATE","SHORTCUTS","closePane","sequence","description","t","deleteBlock","openFilterPane","buildCustomDateValue","value","isBeforeOrAfter","Math","abs","dayjs","diff","currentMoment","diffWithStart","diffWithEnd","concat","dateFormat","date","subtract","add","map","join","buildFilterValue","filter","_findBy2","_filter$defaultType","defaultType","type","rule","_filter$values","values","initialValues","modify","toString","isDate","isCustomDateRange","isTime","isCustomTimeRange","time","humanize","isMulti","isTreeSelect","_findBy","findBy","label","isSingleDate","isSingleTime","isBoolean","getLabelFromBool","buildRuleValue","_ref","isText","TEXT_RULES","isDigit","NUMBER_RULES","SINGLE_DATE_OPTIONS","SINGLE_TIME_OPTIONS","isSingle","isRuleEmpty","hasOnlyKeywordFilter","filters","length","key","SEARCH_TERM_KEY","deepCompare","comparisonHelper","sortBy","prop","removeBy","project","reject","segment","Block","handleDelete","setIsPaneOpen","defaultValue","filterValue","ruleContent","blockLength","toolTipDisabled","blockContent","slice","deleteBlockHotKeyRef","useHotkeys","mode","openFilterPaneHotKeyRef","_jsx","Tooltip","content","disabled","position","theme","children","_jsxs","className","hyphenate","tabIndex","ref","node","current","onClick","Typography","style","Close","size","strokeWidth","event","stopPropagation","ChildBlock","childKey","weight","FilterBar","entity","setIsSavePaneOpen","childrenKeys","nonHiddenFilters","childrenFiltersApplied","keywordFilter","handleApplyFilters","_useTranslation","useTranslation","history","useHistory","searchParams","useQueryParams","toCamelCase","params","omit","getSnakeCasedQueryParams","pathname","window","location","push","buildUrl","includes","newFilters","handleClearAll","isKeywordFilterPresent","hideClearButton","every","_ref2","isClearable","_Fragment","_filter$suffixCompone","React","Fragment","suffixComponent","call","has","isPresent","Button","action","useSegment","keyword","columns","segmentsBaseUrl","initialRenderRef","useRef","_useQueryParams","segmentId","_useState","useState","undefined","_useState2","_slicedToArray","isSavePaneOpen","_useCreateSegment","useCreateSegment","createSegment","mutate","isCreating","isPending","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","isSubmitting","keywordValue","isEdit","_objectSpread","buildFiltersFromSearchParams","isNotEmpty","_toConsumableArray","hidden","isClearAll","buildUrlFromFilters","getSearchTermFromUrl","search","some","useEffect","noop","handler","setTimeout","clearTimeout","handleCreateSuccess","_filters$","_ref2$segment","id","buildUrlFromSegment","conditions","showThumbsUpToastr","handleCreate","_ref3","_ref4","name","setFieldError","filtersPayload","buildSegmentsPayload","onSuccess","onError","error","response","data","handleUpdate","_ref5","_ref6","payload","handleSubmit","Menu","Dropdown","MenuItem","SegmentBar","queryClient","useQueryClient","cachedSegments","getQueryData","QUERY_KEYS","SEGMENTS_LIST","findById","isNotPresent","changedFilters","buttonProps","buttonStyle","Bar","_ref$columns","_ref$keyword","setValue","_ref$setIsPaneOpen","identity","_ref$childrenKeys","_ref$defaultSegmentNa","defaultSegmentName","_ref$segmentsBaseUrl","customFilters","segmentFormInitialRef","_useSegment","BarComponent","isEmpty","classnames","_defineProperty","SegmentForm","isOpen","assoc","onClose"],"mappings":"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"}
|
package/dist/Segments.js
CHANGED
|
@@ -110,7 +110,8 @@ var reorderList = function reorderList(list, startIndex, endIndex) {
|
|
|
110
110
|
var useSegments = function useSegments(_ref) {
|
|
111
111
|
var entity = _ref.entity,
|
|
112
112
|
columns = _ref.columns,
|
|
113
|
-
childrenKeys = _ref.childrenKeys
|
|
113
|
+
childrenKeys = _ref.childrenKeys,
|
|
114
|
+
baseUrl = _ref.baseUrl;
|
|
114
115
|
var _useTranslation = useTranslation(),
|
|
115
116
|
t = _useTranslation.t;
|
|
116
117
|
var history = useHistory();
|
|
@@ -167,6 +168,7 @@ var useSegments = function useSegments(_ref) {
|
|
|
167
168
|
var id = _ref3.id,
|
|
168
169
|
filters = _ref3.filters;
|
|
169
170
|
history.push({
|
|
171
|
+
pathname: baseUrl,
|
|
170
172
|
search: buildUrlFromSegment({
|
|
171
173
|
columns: columns,
|
|
172
174
|
filters: (_filters$3 = filters[0]) === null || _filters$3 === void 0 ? void 0 : _filters$3.conditions,
|
|
@@ -439,6 +441,8 @@ var SidebarBlock = function SidebarBlock(_ref) {
|
|
|
439
441
|
var Segments = function Segments(_ref) {
|
|
440
442
|
var entity = _ref.entity,
|
|
441
443
|
columns = _ref.columns,
|
|
444
|
+
_ref$baseUrl = _ref.baseUrl,
|
|
445
|
+
baseUrl = _ref$baseUrl === void 0 ? window.location.pathname : _ref$baseUrl,
|
|
442
446
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
443
447
|
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? ALL_RESULTS : _ref$defaultSegmentNa,
|
|
444
448
|
customFilters = _ref.customFilters,
|
|
@@ -454,7 +458,8 @@ var Segments = function Segments(_ref) {
|
|
|
454
458
|
var _useSegments = useSegments({
|
|
455
459
|
entity: entity,
|
|
456
460
|
columns: columns,
|
|
457
|
-
childrenKeys: childrenKeys
|
|
461
|
+
childrenKeys: childrenKeys,
|
|
462
|
+
baseUrl: baseUrl
|
|
458
463
|
}),
|
|
459
464
|
_useSegments$segments = _useSegments.segments,
|
|
460
465
|
segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
|
package/dist/Segments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Segments.js","sources":["../app/javascript/src/components/Segments/constants.js","../app/javascript/src/components/Segments/Delete.jsx","../app/javascript/src/components/Segments/hooks/utils.js","../app/javascript/src/components/Segments/hooks/useSegments.jsx","../app/javascript/src/components/Segments/Segment.jsx","../app/javascript/src/components/Segments/MenuBlocks.jsx","../app/javascript/src/components/Segments/SidebarBlock.jsx","../app/javascript/src/components/Segments/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const ITEMS_MAX_COUNT = 20;\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", DELETE: \"delete\" };\n\nexport const ALL_RESULTS = t(\"neetoFilters.common.allResults\");\n","import React from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { buildUrlFromFilters } from \"components/utils\";\nimport { useDestroySegment } from \"hooks/reactQuery/useSegmentsApi\";\n\nconst Delete = ({ isOpen, onClose, segment = {}, columns = [] }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = getQueryParams();\n\n const { mutate: deleteSegment, isPending: isDeleting } = useDestroySegment();\n\n const handleClearAll = () => {\n const params = buildUrlFromFilters({\n columns,\n filters: [],\n isClearAll: true,\n });\n history.push({ search: params });\n };\n\n const handleDelete = () => {\n equals(segment.id, segmentId) && handleClearAll();\n deleteSegment(segment.id, { onSuccess: onClose });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoFilters.common.delete\")}\n title={t(\"neetoFilters.segments.deleteAlertTitle\")}\n message={\n <Trans\n i18nKey=\"neetoFilters.segments.deleteAlertMessage\"\n values={{ entity: segment.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","export const reorderList = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildFiltersFromURL,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n} from \"components/utils\";\nimport {\n useFetchSegments,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\n\nimport { reorderList } from \"./utils\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegments = ({ entity, columns, childrenKeys }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const appliedFilters = buildFiltersFromURL(columns);\n\n const { data: fetchedSegments, isLoading } = useFetchSegments({ entity });\n\n const [segments, setSegments] = useState(fetchedSegments);\n\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n\n const [confirmAction, setConfirmAction] = useState({\n action: \"\",\n segment: undefined,\n });\n\n const handleSegmentsReorder = ({ source, destination }) => {\n if (!destination || source.index === destination.index) return;\n\n const reorderedSegments = reorderList(\n segments,\n source.index,\n destination.index\n );\n\n updateSegment({\n id: segments[source.index].id,\n payload: { position: destination.index + 1 },\n showToastr: false,\n });\n setSegments(reorderedSegments);\n };\n\n const clearAppliedFilters = (filters = appliedFilters) => {\n history.push({\n search: buildUrlFromFilters({\n columns,\n filters: [],\n isClearAll: true,\n childrenKeys:\n filters[0]?.conditions &&\n pluck(\"key\", filterBy({ node: \"children\" }, filters[0]?.conditions)),\n }),\n });\n };\n\n const handleSelectSegment = ({ id, filters }) => {\n history.push({\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n };\n\n useEffect(() => {\n setSegments(fetchedSegments);\n }, [fetchedSegments]);\n\n if (isLoading) {\n return <Spinner />;\n }\n\n if (isEmpty(segments)) {\n return (\n <Typography style=\"body2\">\n {t(\"neetoFilters.segments.noSegmentsFound\")}\n </Typography>\n );\n }\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n {\n id: confirmAction.segment.id,\n payload: { name, filters: filtersPayload },\n showToastr: false,\n },\n {\n onSuccess: () => {\n showThumbsUpToastr();\n setConfirmAction({ action: \"\", segment: undefined });\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const filters = buildFiltersFromSearchParams(columns);\n\n return {\n appliedFilters,\n segments,\n clearAppliedFilters,\n handleSelectSegment,\n handleSegmentsReorder,\n setConfirmAction,\n isUpdating,\n handleUpdate,\n filters,\n onClose: () => setConfirmAction({ action: \"\", segment: undefined }),\n selectedSegment: confirmAction.segment,\n isDeleteAlertOpen: confirmAction.action === SEGMENT_ACTIONS.DELETE,\n isEditPaneOpen: confirmAction.action === SEGMENT_ACTIONS.EDIT,\n };\n};\n\nexport default useSegments;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { findById, hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEGMENT_ACTIONS } from \"./constants\";\n\nconst Segment = ({\n id,\n isActive,\n label,\n onClick,\n shouldShowDropdown = false,\n segments,\n setConfirmAction,\n}) => {\n const { t } = useTranslation();\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoFilters.common.edit\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.EDIT,\n segment: findById(id, segments),\n }),\n },\n {\n key: \"delete\",\n label: t(\"neetoFilters.common.delete\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.DELETE,\n segment: findById(id, segments),\n }),\n },\n ];\n\n return (\n <div\n {...{ onClick }}\n data-cy={`neeto-filters-segment-block-${hyphenate(label)}`}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n { \"neeto-filters-segment--active\": isActive }\n )}\n >\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-cy=\"new-element-field\"\n >\n <Typography\n className=\"truncate leading-snug\"\n data-cy={hyphenate(label)}\n style=\"body2\"\n >\n {label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n className: \"min-h-0 flex-shrink-0\",\n \"data-cy\": `${hyphenate(label)}-more-dropdown`,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Segment;\n","import React, { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { Down } from \"neetoicons\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport { Button, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ITEMS_MAX_COUNT } from \"./constants\";\nimport Segment from \"./Segment\";\n\nconst MenuBlocks = ({\n entity,\n segments,\n segmentId,\n isUpdating,\n appliedFilters,\n setConfirmAction,\n defaultSegmentName,\n handleSelectSegment,\n clearAppliedFilters,\n handleSegmentsReorder,\n}) => {\n const { t } = useTranslation();\n\n const [showAll, setShowAll] = useState(false);\n\n return (\n <>\n <MenuBar.SubTitle>\n <Typography\n component=\"h4\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {t(\"neetoFilters.common.segments\")}\n </Typography>\n </MenuBar.SubTitle>\n {segments.length > ITEMS_MAX_COUNT && (\n <Button\n icon={Down}\n style=\"link\"\n label={\n showAll\n ? t(\"neetoFilters.segments.showLess\")\n : t(\"neetoFilters.segments.showMoreNumbers\", {\n entity: segments.length - ITEMS_MAX_COUNT,\n })\n }\n onClick={() => setShowAll(open => !open)}\n />\n )}\n <Segment\n isActive={isEmpty(appliedFilters)}\n label={defaultSegmentName}\n onClick={clearAppliedFilters}\n />\n <DragDropContext onDragEnd={handleSegmentsReorder}>\n <Droppable droppableId={`neeto-filters-segments-${entity}`}>\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {segments\n .slice(0, showAll ? segments.length : ITEMS_MAX_COUNT)\n .map((segment, index) => (\n <Draggable\n {...{ index }}\n draggableId={segment.id.toString()}\n isDragDisabled={isUpdating}\n key={segment.id.toString()}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <Segment\n {...{ segments, setConfirmAction }}\n shouldShowDropdown\n id={segment.id}\n isActive={segment.id === segmentId}\n key={segment.id}\n label={segment.name}\n onClick={() => handleSelectSegment(segment)}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </>\n );\n};\n\nexport default React.memo(MenuBlocks);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { findById, hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEGMENT_ACTIONS } from \"./constants\";\n\nconst SidebarBlock = ({\n id,\n isActive,\n label,\n onClick,\n segments,\n setConfirmAction,\n}) => {\n const { t } = useTranslation();\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoFilters.common.edit\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.EDIT,\n segment: findById(id, segments),\n }),\n },\n {\n key: \"delete\",\n label: t(\"neetoFilters.common.delete\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.DELETE,\n segment: findById(id, segments),\n }),\n },\n ];\n\n const dataCyPrefix = hyphenate(label);\n\n return (\n <button\n {...{ onClick }}\n data-cy={`${dataCyPrefix}-segment-link`}\n className={classNames(\n \"neeto-molecules-sidebar-segment neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none mb-0 w-full py-1\",\n { active: isActive }\n )}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-molecules-sidebar-segment__label neeto-ui-flex-grow min-w-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n \"data-testid\": `segment-more-menu-${dataCyPrefix}`,\n className: \"flex-shrink-0\",\n size: \"small\",\n style: \"secondary\",\n }}\n dropdownProps={{\n position: \"bottom-end\",\n strategy: \"fixed\",\n autoWidth: true,\n }}\n />\n </button>\n );\n};\n\nexport default SidebarBlock;\n","import React, { useRef } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\n\nimport { ALL_RESULTS } from \"./constants\";\nimport Delete from \"./Delete\";\nimport useSegments from \"./hooks/useSegments\";\nimport MenuBlocks from \"./MenuBlocks\";\nimport SidebarBlock from \"./SidebarBlock\";\n\nconst Segments = ({\n entity,\n columns,\n defaultSegmentName = ALL_RESULTS,\n customFilters,\n childrenKeys = [],\n isIndependent = true,\n}) => {\n const { t } = useTranslation();\n\n const { segmentId } = useQueryParams();\n\n const segmentFormInitialRef = useRef(null);\n\n const {\n segments = [],\n clearAppliedFilters,\n handleSelectSegment,\n handleSegmentsReorder,\n onClose,\n setConfirmAction,\n selectedSegment,\n isDeleteAlertOpen,\n isEditPaneOpen,\n isUpdating,\n handleUpdate,\n filters,\n appliedFilters,\n } = useSegments({ entity, columns, childrenKeys });\n\n return (\n <div data-testid=\"neeto-filters-segments\">\n {isIndependent ? (\n <MenuBlocks\n {...{\n appliedFilters,\n clearAppliedFilters,\n defaultSegmentName,\n entity,\n handleSegmentsReorder,\n handleSelectSegment,\n isUpdating,\n segmentId,\n segments,\n setConfirmAction,\n }}\n />\n ) : (\n <>\n {isNotEmpty(segments) && (\n <Typography\n style=\"body3\"\n weight=\"semibold\"\n className=\"neeto-molecules-sidebar-segments-header neeto-ui-text-transform-capitalize\n neeto-ui-text-gray-600 py-2 uppercase\"\n >\n {t(\"neetoFilters.segments.segment\", PLURAL)}\n </Typography>\n )}\n {segments.map(segment => (\n <SidebarBlock\n {...{ segments, setConfirmAction }}\n id={segment.id}\n isActive={segment.id === segmentId}\n key={segment.id}\n label={segment.name}\n onClick={() => handleSelectSegment(segment)}\n />\n ))}\n </>\n )}\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n onClose,\n segmentFormInitialRef,\n }}\n isEdit\n handleSubmit={handleUpdate}\n initialValues={selectedSegment}\n isOpen={isEditPaneOpen}\n isSubmitting={isUpdating}\n />\n <Delete\n {...{ columns, onClose }}\n isOpen={isDeleteAlertOpen}\n segment={selectedSegment}\n />\n </div>\n );\n};\n\nexport default React.memo(Segments);\n"],"names":["ITEMS_MAX_COUNT","SEGMENT_ACTIONS","EDIT","DELETE","ALL_RESULTS","t","Delete","_ref","isOpen","onClose","_ref$segment","segment","_ref$columns","columns","_useTranslation","useTranslation","history","useHistory","_getQueryParams","getQueryParams","segmentId","_useDestroySegment","useDestroySegment","deleteSegment","mutate","isDeleting","isPending","handleClearAll","params","buildUrlFromFilters","filters","isClearAll","push","search","handleDelete","equals","id","onSuccess","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","entity","name","onSubmit","reorderList","list","startIndex","endIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","useSegments","childrenKeys","appliedFilters","buildFiltersFromURL","_useFetchSegments","useFetchSegments","fetchedSegments","data","isLoading","_useState","useState","_useState2","segments","setSegments","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","_useState3","action","undefined","_useState4","confirmAction","setConfirmAction","handleSegmentsReorder","_ref2","source","destination","index","reorderedSegments","payload","position","showToastr","clearAppliedFilters","_filters$","_filters$2","arguments","length","conditions","pluck","filterBy","node","handleSelectSegment","_ref3","_filters$3","buildUrlFromSegment","useEffect","Spinner","isEmpty","Typography","style","children","handleUpdate","_ref4","_ref5","setFieldError","filtersPayload","buildSegmentsPayload","showThumbsUpToastr","onError","error","response","buildFiltersFromSearchParams","selectedSegment","isDeleteAlertOpen","isEditPaneOpen","Segment","isActive","label","onClick","_ref$shouldShowDropdo","shouldShowDropdown","menuItems","key","findById","_jsxs","concat","hyphenate","className","classnames","MoreDropdown","dropdownButtonProps","MenuBlocks","defaultSegmentName","showAll","setShowAll","_Fragment","MenuBar","SubTitle","component","textTransform","weight","Button","icon","Down","open","DragDropContext","onDragEnd","Droppable","droppableId","innerRef","droppableProps","placeholder","_objectSpread","ref","slice","map","_createElement","Draggable","draggableId","toString","isDragDisabled","draggableProps","dragHandleProps","React","memo","SidebarBlock","dataCyPrefix","classNames","active","size","dropdownProps","strategy","autoWidth","Segments","_ref$defaultSegmentNa","customFilters","_ref$childrenKeys","_ref$isIndependent","isIndependent","_useQueryParams","useQueryParams","segmentFormInitialRef","useRef","_useSegments","_useSegments$segments","isNotEmpty","PLURAL","SegmentForm","isEdit","handleSubmit","initialValues"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,eAAe,GAAG,EAAE,CAAA;AAE1B,IAAMC,eAAe,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,MAAM,EAAE,QAAA;AAAS,CAAC,CAAA;AAE1D,IAAMC,WAAW,GAAGC,CAAC,CAAC,gCAAgC,CAAC;;ACK9D,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAwD;AAAA,EAAA,IAAlDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IAAAC,YAAA,GAAAH,IAAA,CAAEI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,YAAA,GAAAL,IAAA,CAAEM,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA,CAAA;AAC3D,EAAA,IAAAE,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC,CAAA;AACT,EAAA,IAAMW,OAAO,GAAGC,UAAU,EAAE,CAAA;AAE5B,EAAA,IAAAC,eAAA,GAAsBC,cAAc,EAAE;IAA9BC,SAAS,GAAAF,eAAA,CAATE,SAAS,CAAA;AAEjB,EAAA,IAAAC,kBAAA,GAAyDC,iBAAiB,EAAE;IAA5DC,aAAa,GAAAF,kBAAA,CAArBG,MAAM;IAA4BC,UAAU,GAAAJ,kBAAA,CAArBK,SAAS,CAAA;AAExC,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,GAAS;IAC3B,IAAMC,MAAM,GAAGC,mBAAmB,CAAC;AACjChB,MAAAA,OAAO,EAAPA,OAAO;AACPiB,MAAAA,OAAO,EAAE,EAAE;AACXC,MAAAA,UAAU,EAAE,IAAA;AACd,KAAC,CAAC,CAAA;IACFf,OAAO,CAACgB,IAAI,CAAC;AAAEC,MAAAA,MAAM,EAAEL,MAAAA;AAAO,KAAC,CAAC,CAAA;GACjC,CAAA;AAED,EAAA,IAAMM,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBC,MAAM,CAACxB,OAAO,CAACyB,EAAE,EAAEhB,SAAS,CAAC,IAAIO,cAAc,EAAE,CAAA;AACjDJ,IAAAA,aAAa,CAACZ,OAAO,CAACyB,EAAE,EAAE;AAAEC,MAAAA,SAAS,EAAE5B,OAAAA;AAAQ,KAAC,CAAC,CAAA;GAClD,CAAA;EAED,oBACE6B,GAAA,CAACC,KAAK,EAAA;AACE/B,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACrB+B,IAAAA,YAAY,EAAEf,UAAW;AACzBgB,IAAAA,iBAAiB,EAAEpC,CAAC,CAAC,4BAA4B,CAAE;AACnDqC,IAAAA,KAAK,EAAErC,CAAC,CAAC,wCAAwC,CAAE;IACnDsC,OAAO,eACLL,GAAA,CAACM,KAAK,EAAA;AACJC,MAAAA,OAAO,EAAC,0CAA0C;AAClDC,MAAAA,MAAM,EAAE;QAAEC,MAAM,EAAEpC,OAAO,CAACqC,IAAAA;AAAK,OAAA;AAAE,KAClC,CACF;AACDC,IAAAA,QAAQ,EAAEf,YAAAA;AAAa,GACxB,CAAC,CAAA;AAEN,CAAC;;AChDM,IAAMgB,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,EAAK;AACzD,EAAA,IAAMC,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACL,IAAI,CAAC,CAAA;EAC/B,IAAAM,cAAA,GAAkBH,MAAM,CAACI,MAAM,CAACN,UAAU,EAAE,CAAC,CAAC;IAAAO,eAAA,GAAAC,cAAA,CAAAH,cAAA,EAAA,CAAA,CAAA;AAAvCI,IAAAA,OAAO,GAAAF,eAAA,CAAA,CAAA,CAAA,CAAA;EACdL,MAAM,CAACI,MAAM,CAACL,QAAQ,EAAE,CAAC,EAAEQ,OAAO,CAAC,CAAA;AAEnC,EAAA,OAAOP,MAAM,CAAA;AACf,CAAC;;ACmBD,IAAMQ,WAAW,GAAG,SAAdA,WAAWA,CAAAvD,IAAA,EAA0C;AAAA,EAAA,IAApCwC,MAAM,GAAAxC,IAAA,CAANwC,MAAM;IAAElC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAAEkD,YAAY,GAAAxD,IAAA,CAAZwD,YAAY,CAAA;AAClD,EAAA,IAAAjD,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC,CAAA;AACT,EAAA,IAAMW,OAAO,GAAGC,UAAU,EAAE,CAAA;AAE5B,EAAA,IAAM+C,cAAc,GAAGC,mBAAmB,CAACpD,OAAO,CAAC,CAAA;EAEnD,IAAAqD,iBAAA,GAA6CC,gBAAgB,CAAC;AAAEpB,MAAAA,MAAM,EAANA,MAAAA;AAAO,KAAC,CAAC;IAA3DqB,eAAe,GAAAF,iBAAA,CAArBG,IAAI;IAAmBC,SAAS,GAAAJ,iBAAA,CAATI,SAAS,CAAA;AAExC,EAAA,IAAAC,SAAA,GAAgCC,QAAQ,CAACJ,eAAe,CAAC;IAAAK,UAAA,GAAAb,cAAA,CAAAW,SAAA,EAAA,CAAA,CAAA;AAAlDG,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAAG,iBAAA,GAAyDC,gBAAgB,EAAE;IAA3DC,aAAa,GAAAF,iBAAA,CAArBpD,MAAM;IAA4BuD,UAAU,GAAAH,iBAAA,CAArBlD,SAAS,CAAA;EAExC,IAAAsD,UAAA,GAA0CR,QAAQ,CAAC;AACjDS,MAAAA,MAAM,EAAE,EAAE;AACVtE,MAAAA,OAAO,EAAEuE,SAAAA;AACX,KAAC,CAAC;IAAAC,UAAA,GAAAvB,cAAA,CAAAoB,UAAA,EAAA,CAAA,CAAA;AAHKI,IAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAKtC,EAAA,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAAgC;AAAA,IAAA,IAA1BC,MAAM,GAAAD,KAAA,CAANC,MAAM;MAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW,CAAA;IAClD,IAAI,CAACA,WAAW,IAAID,MAAM,CAACE,KAAK,KAAKD,WAAW,CAACC,KAAK,EAAE,OAAA;AAExD,IAAA,IAAMC,iBAAiB,GAAGzC,WAAW,CACnCwB,QAAQ,EACRc,MAAM,CAACE,KAAK,EACZD,WAAW,CAACC,KACd,CAAC,CAAA;AAEDZ,IAAAA,aAAa,CAAC;MACZ1C,EAAE,EAAEsC,QAAQ,CAACc,MAAM,CAACE,KAAK,CAAC,CAACtD,EAAE;AAC7BwD,MAAAA,OAAO,EAAE;AAAEC,QAAAA,QAAQ,EAAEJ,WAAW,CAACC,KAAK,GAAG,CAAA;OAAG;AAC5CI,MAAAA,UAAU,EAAE,KAAA;AACd,KAAC,CAAC,CAAA;IACFnB,WAAW,CAACgB,iBAAiB,CAAC,CAAA;GAC/B,CAAA;AAED,EAAA,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAiC;IAAA,IAAAC,SAAA,EAAAC,UAAA,CAAA;AAAA,IAAA,IAA7BnE,OAAO,GAAAoE,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAhB,SAAA,GAAAgB,SAAA,CAAA,CAAA,CAAA,GAAGlC,cAAc,CAAA;IACnDhD,OAAO,CAACgB,IAAI,CAAC;MACXC,MAAM,EAAEJ,mBAAmB,CAAC;AAC1BhB,QAAAA,OAAO,EAAPA,OAAO;AACPiB,QAAAA,OAAO,EAAE,EAAE;AACXC,QAAAA,UAAU,EAAE,IAAI;QAChBgC,YAAY,EACV,EAAAiC,SAAA,GAAAlE,OAAO,CAAC,CAAC,CAAC,MAAAkE,IAAAA,IAAAA,SAAA,uBAAVA,SAAA,CAAYI,UAAU,KACtBC,KAAK,CAAC,KAAK,EAAEC,QAAQ,CAAC;AAAEC,UAAAA,IAAI,EAAE,UAAA;AAAW,SAAC,EAAAN,CAAAA,UAAA,GAAEnE,OAAO,CAAC,CAAC,CAAC,MAAA,IAAA,IAAAmE,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAA,CAAYG,UAAU,CAAC,CAAA;OACtE,CAAA;AACH,KAAC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAAwB;AAAA,IAAA,IAAAC,UAAA,CAAA;AAAA,IAAA,IAAlBtE,EAAE,GAAAqE,KAAA,CAAFrE,EAAE;MAAEN,OAAO,GAAA2E,KAAA,CAAP3E,OAAO,CAAA;IACxCd,OAAO,CAACgB,IAAI,CAAC;MACXC,MAAM,EAAE0E,mBAAmB,CAAC;AAC1B9F,QAAAA,OAAO,EAAPA,OAAO;AACPiB,QAAAA,OAAO,EAAA4E,CAAAA,UAAA,GAAE5E,OAAO,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA4E,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAA,CAAYN,UAAU;AAC/BhE,QAAAA,EAAE,EAAFA,EAAAA;OACD,CAAA;AACH,KAAC,CAAC,CAAA;GACH,CAAA;AAEDwE,EAAAA,SAAS,CAAC,YAAM;IACdjC,WAAW,CAACP,eAAe,CAAC,CAAA;AAC9B,GAAC,EAAE,CAACA,eAAe,CAAC,CAAC,CAAA;AAErB,EAAA,IAAIE,SAAS,EAAE;AACb,IAAA,oBAAOhC,GAAA,CAACuE,OAAO,EAAA,EAAE,CAAC,CAAA;AACpB,GAAA;AAEA,EAAA,IAAIC,OAAO,CAACpC,QAAQ,CAAC,EAAE;IACrB,oBACEpC,GAAA,CAACyE,UAAU,EAAA;AAACC,MAAAA,KAAK,EAAC,OAAO;MAAAC,QAAA,EACtB5G,CAAC,CAAC,uCAAuC,CAAA;AAAC,KACjC,CAAC,CAAA;AAEjB,GAAA;EAEA,IAAM6G,YAAY,GAAG,SAAfA,YAAYA,CAAAC,KAAA,EAAAC,KAAA,EAAoC;AAAA,IAAA,IAA9BpE,IAAI,GAAAmE,KAAA,CAAJnE,IAAI,CAAA;AAAA,IAAA,IAAMqE,aAAa,GAAAD,KAAA,CAAbC,aAAa,CAAA;AAC7C,IAAA,IAAMC,cAAc,GAAGC,oBAAoB,CAACzF,OAAO,EAAEiC,YAAY,CAAC,CAAA;AAClEe,IAAAA,aAAa,CACX;AACE1C,MAAAA,EAAE,EAAEgD,aAAa,CAACzE,OAAO,CAACyB,EAAE;AAC5BwD,MAAAA,OAAO,EAAE;AAAE5C,QAAAA,IAAI,EAAJA,IAAI;AAAElB,QAAAA,OAAO,EAAEwF,cAAAA;OAAgB;AAC1CxB,MAAAA,UAAU,EAAE,KAAA;AACd,KAAC,EACD;MACEzD,SAAS,EAAE,SAAAA,SAAAA,GAAM;AACfmF,QAAAA,kBAAkB,EAAE,CAAA;AACpBnC,QAAAA,gBAAgB,CAAC;AAAEJ,UAAAA,MAAM,EAAE,EAAE;AAAEtE,UAAAA,OAAO,EAAEuE,SAAAA;AAAU,SAAC,CAAC,CAAA;OACrD;MACDuC,OAAO,EAAE,SAAAA,OAAAA,CAAAC,KAAK,EAAA;QAAA,OAAIL,aAAa,CAAC,MAAM,EAAEK,KAAK,CAACC,QAAQ,CAACtD,IAAI,CAACqD,KAAK,CAAC,CAAA;AAAA,OAAA;AACpE,KACF,CAAC,CAAA;GACF,CAAA;AAED,EAAA,IAAM5F,OAAO,GAAG8F,4BAA4B,CAAC/G,OAAO,CAAC,CAAA;EAErD,OAAO;AACLmD,IAAAA,cAAc,EAAdA,cAAc;AACdU,IAAAA,QAAQ,EAARA,QAAQ;AACRqB,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBS,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBlB,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBD,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBN,IAAAA,UAAU,EAAVA,UAAU;AACVmC,IAAAA,YAAY,EAAZA,YAAY;AACZpF,IAAAA,OAAO,EAAPA,OAAO;IACPrB,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAM4E,gBAAgB,CAAC;AAAEJ,QAAAA,MAAM,EAAE,EAAE;AAAEtE,QAAAA,OAAO,EAAEuE,SAAAA;AAAU,OAAC,CAAC,CAAA;AAAA,KAAA;IACnE2C,eAAe,EAAEzC,aAAa,CAACzE,OAAO;AACtCmH,IAAAA,iBAAiB,EAAE1C,aAAa,CAACH,MAAM,KAAKhF,eAAe,CAACE,MAAM;AAClE4H,IAAAA,cAAc,EAAE3C,aAAa,CAACH,MAAM,KAAKhF,eAAe,CAACC,IAAAA;GAC1D,CAAA;AACH,CAAC;;AC3HD,IAAM8H,OAAO,GAAG,SAAVA,OAAOA,CAAAzH,IAAA,EAQP;AAAA,EAAA,IAPJ6B,EAAE,GAAA7B,IAAA,CAAF6B,EAAE;IACF6F,QAAQ,GAAA1H,IAAA,CAAR0H,QAAQ;IACRC,KAAK,GAAA3H,IAAA,CAAL2H,KAAK;IACLC,OAAO,GAAA5H,IAAA,CAAP4H,OAAO;IAAAC,qBAAA,GAAA7H,IAAA,CACP8H,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAC1B1D,QAAQ,GAAAnE,IAAA,CAARmE,QAAQ;IACRW,gBAAgB,GAAA9E,IAAA,CAAhB8E,gBAAgB,CAAA;AAEhB,EAAA,IAAAvE,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC,CAAA;EAET,IAAMiI,SAAS,GAAG,CAChB;AACEC,IAAAA,GAAG,EAAE,MAAM;AACXL,IAAAA,KAAK,EAAE7H,CAAC,CAAC,0BAA0B,CAAC;IACpC8H,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OACP9C,gBAAgB,CAAC;QACfJ,MAAM,EAAEhF,eAAe,CAACC,IAAI;AAC5BS,QAAAA,OAAO,EAAE6H,QAAQ,CAACpG,EAAE,EAAEsC,QAAQ,CAAA;AAChC,OAAC,CAAC,CAAA;AAAA,KAAA;AACN,GAAC,EACD;AACE6D,IAAAA,GAAG,EAAE,QAAQ;AACbL,IAAAA,KAAK,EAAE7H,CAAC,CAAC,4BAA4B,CAAC;IACtC8H,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OACP9C,gBAAgB,CAAC;QACfJ,MAAM,EAAEhF,eAAe,CAACE,MAAM;AAC9BQ,QAAAA,OAAO,EAAE6H,QAAQ,CAACpG,EAAE,EAAEsC,QAAQ,CAAA;AAChC,OAAC,CAAC,CAAA;AAAA,KAAA;AACN,GAAC,CACF,CAAA;AAED,EAAA,oBACE+D,IAAA,CAAA,KAAA,EAAA;AACQN,IAAAA,OAAO,EAAPA,OAAO;AACb,IAAA,SAAA,EAAA,8BAAA,CAAAO,MAAA,CAAwCC,SAAS,CAACT,KAAK,CAAC,CAAG;AAC3DU,IAAAA,SAAS,EAAEC,UAAU,CACnB,+LAA+L,EAC/L;AAAE,MAAA,+BAA+B,EAAEZ,QAAAA;AAAS,KAC9C,CAAE;AAAAhB,IAAAA,QAAA,gBAEF3E,GAAA,CAAA,KAAA,EAAA;AACEsG,MAAAA,SAAS,EAAC,mDAAmD;AAC7D,MAAA,SAAA,EAAQ,mBAAmB;MAAA3B,QAAA,eAE3B3E,GAAA,CAACyE,UAAU,EAAA;AACT6B,QAAAA,SAAS,EAAC,uBAAuB;QACjC,SAASD,EAAAA,SAAS,CAACT,KAAK,CAAE;AAC1BlB,QAAAA,KAAK,EAAC,OAAO;AAAAC,QAAAA,QAAA,EAEZiB,KAAAA;OACS,CAAA;AAAC,KACV,CAAC,EACLG,kBAAkB,iBACjB/F,GAAA,CAACwG,YAAY,EAAA;AACLR,MAAAA,SAAS,EAATA,SAAS;AACfS,MAAAA,mBAAmB,EAAE;AACnBH,QAAAA,SAAS,EAAE,uBAAuB;AAClC,QAAA,SAAS,KAAAF,MAAA,CAAKC,SAAS,CAACT,KAAK,CAAC,EAAA,gBAAA,CAAA;AAChC,OAAA;AAAE,KACH,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;;;AC9DD,IAAMc,UAAU,GAAG,SAAbA,UAAUA,CAAAzI,IAAA,EAWV;AAAA,EAAA,IAVJwC,MAAM,GAAAxC,IAAA,CAANwC,MAAM;IACN2B,QAAQ,GAAAnE,IAAA,CAARmE,QAAQ;IACRtD,SAAS,GAAAb,IAAA,CAATa,SAAS;IACT2D,UAAU,GAAAxE,IAAA,CAAVwE,UAAU;IACVf,cAAc,GAAAzD,IAAA,CAAdyD,cAAc;IACdqB,gBAAgB,GAAA9E,IAAA,CAAhB8E,gBAAgB;IAChB4D,kBAAkB,GAAA1I,IAAA,CAAlB0I,kBAAkB;IAClBzC,mBAAmB,GAAAjG,IAAA,CAAnBiG,mBAAmB;IACnBT,mBAAmB,GAAAxF,IAAA,CAAnBwF,mBAAmB;IACnBT,qBAAqB,GAAA/E,IAAA,CAArB+E,qBAAqB,CAAA;AAErB,EAAA,IAAAxE,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC,CAAA;AAET,EAAA,IAAAkE,SAAA,GAA8BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAb,cAAA,CAAAW,SAAA,EAAA,CAAA,CAAA;AAAtC2E,IAAAA,OAAO,GAAAzE,UAAA,CAAA,CAAA,CAAA;AAAE0E,IAAAA,UAAU,GAAA1E,UAAA,CAAA,CAAA,CAAA,CAAA;EAE1B,oBACEgE,IAAA,CAAAW,QAAA,EAAA;AAAAnC,IAAAA,QAAA,EACE3E,cAAAA,GAAA,CAAC+G,OAAO,CAACC,QAAQ,EAAA;MAAArC,QAAA,eACf3E,GAAA,CAACyE,UAAU,EAAA;AACTwC,QAAAA,SAAS,EAAC,IAAI;AACdvC,QAAAA,KAAK,EAAC,IAAI;AACVwC,QAAAA,aAAa,EAAC,WAAW;AACzBC,QAAAA,MAAM,EAAC,MAAM;QAAAxC,QAAA,EAEZ5G,CAAC,CAAC,8BAA8B,CAAA;OACvB,CAAA;KACI,CAAC,EAClBqE,QAAQ,CAACyB,MAAM,GAAGnG,eAAe,iBAChCsC,GAAA,CAACoH,MAAM,EAAA;AACLC,MAAAA,IAAI,EAAEC,IAAK;AACX5C,MAAAA,KAAK,EAAC,MAAM;MACZkB,KAAK,EACHgB,OAAO,GACH7I,CAAC,CAAC,gCAAgC,CAAC,GACnCA,CAAC,CAAC,uCAAuC,EAAE;AACzC0C,QAAAA,MAAM,EAAE2B,QAAQ,CAACyB,MAAM,GAAGnG,eAAAA;AAC5B,OAAC,CACN;MACDmI,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMgB,UAAU,CAAC,UAAAU,IAAI,EAAA;AAAA,UAAA,OAAI,CAACA,IAAI,CAAA;SAAC,CAAA,CAAA;AAAA,OAAA;AAAC,KAC1C,CACF,eACDvH,GAAA,CAAC0F,OAAO,EAAA;AACNC,MAAAA,QAAQ,EAAEnB,OAAO,CAAC9C,cAAc,CAAE;AAClCkE,MAAAA,KAAK,EAAEe,kBAAmB;AAC1Bd,MAAAA,OAAO,EAAEpC,mBAAAA;AAAoB,KAC9B,CAAC,eACFzD,GAAA,CAACwH,eAAe,EAAA;AAACC,MAAAA,SAAS,EAAEzE,qBAAsB;MAAA2B,QAAA,eAChD3E,GAAA,CAAC0H,SAAS,EAAA;AAACC,QAAAA,WAAW,EAAAvB,yBAAAA,CAAAA,MAAA,CAA4B3F,MAAM,CAAG;QAAAkE,QAAA,EACxD,SAAAA,QAAAA,CAAA1B,KAAA,EAAA;AAAA,UAAA,IAAG2E,QAAQ,GAAA3E,KAAA,CAAR2E,QAAQ;YAAEC,cAAc,GAAA5E,KAAA,CAAd4E,cAAc;YAAEC,WAAW,GAAA7E,KAAA,CAAX6E,WAAW,CAAA;AAAA,UAAA,oBACvC3B,IAAA,CAAA,KAAA,EAAA4B,aAAA,CAAAA,aAAA,CAAA;AAAKC,YAAAA,GAAG,EAAEJ,QAAAA;AAAS,WAAA,EAAKC,cAAc,CAAA,EAAA,EAAA,EAAA;YAAAlD,QAAA,EAAA,CACnCvC,QAAQ,CACN6F,KAAK,CAAC,CAAC,EAAErB,OAAO,GAAGxE,QAAQ,CAACyB,MAAM,GAAGnG,eAAe,CAAC,CACrDwK,GAAG,CAAC,UAAC7J,OAAO,EAAE+E,KAAK,EAAA;cAAA,oBAClB+E,aAAA,CAACC,SAAS,EAAA;AACFhF,gBAAAA,KAAK,EAALA,KAAK;AACXiF,gBAAAA,WAAW,EAAEhK,OAAO,CAACyB,EAAE,CAACwI,QAAQ,EAAG;AACnCC,gBAAAA,cAAc,EAAE9F,UAAW;AAC3BwD,gBAAAA,GAAG,EAAE5H,OAAO,CAACyB,EAAE,CAACwI,QAAQ,EAAC;AAAE,eAAA,EAE1B,UAAAnE,KAAA,EAAA;AAAA,gBAAA,IAAGyD,QAAQ,GAAAzD,KAAA,CAARyD,QAAQ;kBAAEY,cAAc,GAAArE,KAAA,CAAdqE,cAAc;kBAAEC,eAAe,GAAAtE,KAAA,CAAfsE,eAAe,CAAA;AAAA,gBAAA,oBAC3CzI,GAAA,CAAA+H,KAAAA,EAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACEC,kBAAAA,GAAG,EAAEJ,QAAAA;iBACDY,EAAAA,cAAc,GACdC,eAAe,CAAA,EAAA,EAAA,EAAA;kBAAA9D,QAAA,eAEnBwD,aAAA,CAACzC,OAAO,EAAA;AACAtD,oBAAAA,QAAQ,EAARA,QAAQ;AAAEW,oBAAAA,gBAAgB,EAAhBA,gBAAgB;oBAChCgD,kBAAkB,EAAA,IAAA;oBAClBjG,EAAE,EAAEzB,OAAO,CAACyB,EAAG;AACf6F,oBAAAA,QAAQ,EAAEtH,OAAO,CAACyB,EAAE,KAAKhB,SAAU;oBACnCmH,GAAG,EAAE5H,OAAO,CAACyB,EAAG;oBAChB8F,KAAK,EAAEvH,OAAO,CAACqC,IAAK;oBACpBmF,OAAO,EAAE,SAAAA,OAAA,GAAA;sBAAA,OAAM3B,mBAAmB,CAAC7F,OAAO,CAAC,CAAA;AAAA,qBAAA;mBAC5C,CAAA;AAAC,iBAAA,CACC,CAAC,CAAA;AAAA,eAEC,CAAC,CAAA;aACb,CAAC,EACHyJ,WAAW,CAAA;AAAA,WAAA,CACT,CAAC,CAAA;AAAA,SAAA;OAEC,CAAA;AAAC,KACG,CAAC,CAAA;AAAA,GAClB,CAAC,CAAA;AAEP,CAAC,CAAA;AAED,mBAAA,aAAeY,KAAK,CAACC,IAAI,CAACjC,UAAU,CAAC;;AC1FrC,IAAMkC,YAAY,GAAG,SAAfA,YAAYA,CAAA3K,IAAA,EAOZ;AAAA,EAAA,IANJ6B,EAAE,GAAA7B,IAAA,CAAF6B,EAAE;IACF6F,QAAQ,GAAA1H,IAAA,CAAR0H,QAAQ;IACRC,KAAK,GAAA3H,IAAA,CAAL2H,KAAK;IACLC,OAAO,GAAA5H,IAAA,CAAP4H,OAAO;IACPzD,QAAQ,GAAAnE,IAAA,CAARmE,QAAQ;IACRW,gBAAgB,GAAA9E,IAAA,CAAhB8E,gBAAgB,CAAA;AAEhB,EAAA,IAAAvE,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC,CAAA;EAET,IAAMiI,SAAS,GAAG,CAChB;AACEC,IAAAA,GAAG,EAAE,MAAM;AACXL,IAAAA,KAAK,EAAE7H,CAAC,CAAC,0BAA0B,CAAC;IACpC8H,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OACP9C,gBAAgB,CAAC;QACfJ,MAAM,EAAEhF,eAAe,CAACC,IAAI;AAC5BS,QAAAA,OAAO,EAAE6H,QAAQ,CAACpG,EAAE,EAAEsC,QAAQ,CAAA;AAChC,OAAC,CAAC,CAAA;AAAA,KAAA;AACN,GAAC,EACD;AACE6D,IAAAA,GAAG,EAAE,QAAQ;AACbL,IAAAA,KAAK,EAAE7H,CAAC,CAAC,4BAA4B,CAAC;IACtC8H,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OACP9C,gBAAgB,CAAC;QACfJ,MAAM,EAAEhF,eAAe,CAACE,MAAM;AAC9BQ,QAAAA,OAAO,EAAE6H,QAAQ,CAACpG,EAAE,EAAEsC,QAAQ,CAAA;AAChC,OAAC,CAAC,CAAA;AAAA,KAAA;AACN,GAAC,CACF,CAAA;AAED,EAAA,IAAMyG,YAAY,GAAGxC,SAAS,CAACT,KAAK,CAAC,CAAA;AAErC,EAAA,oBACEO,IAAA,CAAA,QAAA,EAAA;AACQN,IAAAA,OAAO,EAAPA,OAAO;IACb,SAAAO,EAAAA,EAAAA,CAAAA,MAAA,CAAYyC,YAAY,EAAgB,eAAA,CAAA;AACxCvC,IAAAA,SAAS,EAAEwC,UAAU,CACnB,4IAA4I,EAC5I;AAAEC,MAAAA,MAAM,EAAEpD,QAAAA;AAAS,KACrB,CAAE;IAAAhB,QAAA,EAAA,cAEF3E,GAAA,CAACyE,UAAU,EAAA;AACT6B,MAAAA,SAAS,EAAC,2GAA2G;AACrHW,MAAAA,SAAS,EAAC,MAAM;MAChB,SAAAb,EAAAA,EAAAA,CAAAA,MAAA,CAAYyC,YAAY,EAAkB,iBAAA,CAAA;AAC1CnE,MAAAA,KAAK,EAAC,OAAO;AAAAC,MAAAA,QAAA,EAEZiB,KAAAA;AAAK,KACI,CAAC,eACb5F,GAAA,CAACwG,YAAY,EAAA;AACLR,MAAAA,SAAS,EAATA,SAAS;AACfS,MAAAA,mBAAmB,EAAE;AACnB,QAAA,aAAa,EAAAL,oBAAAA,CAAAA,MAAA,CAAuByC,YAAY,CAAE;AAClDvC,QAAAA,SAAS,EAAE,eAAe;AAC1B0C,QAAAA,IAAI,EAAE,OAAO;AACbtE,QAAAA,KAAK,EAAE,WAAA;OACP;AACFuE,MAAAA,aAAa,EAAE;AACb1F,QAAAA,QAAQ,EAAE,YAAY;AACtB2F,QAAAA,QAAQ,EAAE,OAAO;AACjBC,QAAAA,SAAS,EAAE,IAAA;AACb,OAAA;AAAE,KACH,CAAC,CAAA;AAAA,GACI,CAAC,CAAA;AAEb,CAAC;;AC5DD,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAnL,IAAA,EAOR;AAAA,EAAA,IANJwC,MAAM,GAAAxC,IAAA,CAANwC,MAAM;IACNlC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAAA8K,qBAAA,GAAApL,IAAA,CACP0I,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAA0C,qBAAA,KAAGvL,KAAAA,CAAAA,GAAAA,WAAW,GAAAuL,qBAAA;IAChCC,aAAa,GAAArL,IAAA,CAAbqL,aAAa;IAAAC,iBAAA,GAAAtL,IAAA,CACbwD,YAAY;AAAZA,IAAAA,YAAY,GAAA8H,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IAAAC,kBAAA,GAAAvL,IAAA,CACjBwL,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,kBAAA,CAAA;AAEpB,EAAA,IAAAhL,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC,CAAA;AAET,EAAA,IAAA2L,eAAA,GAAsBC,cAAc,EAAE;IAA9B7K,SAAS,GAAA4K,eAAA,CAAT5K,SAAS,CAAA;AAEjB,EAAA,IAAM8K,qBAAqB,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;EAE1C,IAAAC,YAAA,GAcItI,WAAW,CAAC;AAAEf,MAAAA,MAAM,EAANA,MAAM;AAAElC,MAAAA,OAAO,EAAPA,OAAO;AAAEkD,MAAAA,YAAY,EAAZA,YAAAA;AAAa,KAAC,CAAC;IAAAsI,qBAAA,GAAAD,YAAA,CAbhD1H,QAAQ;AAARA,IAAAA,QAAQ,GAAA2H,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACbtG,mBAAmB,GAAAqG,YAAA,CAAnBrG,mBAAmB;IACnBS,mBAAmB,GAAA4F,YAAA,CAAnB5F,mBAAmB;IACnBlB,qBAAqB,GAAA8G,YAAA,CAArB9G,qBAAqB;IACrB7E,OAAO,GAAA2L,YAAA,CAAP3L,OAAO;IACP4E,gBAAgB,GAAA+G,YAAA,CAAhB/G,gBAAgB;IAChBwC,eAAe,GAAAuE,YAAA,CAAfvE,eAAe;IACfC,iBAAiB,GAAAsE,YAAA,CAAjBtE,iBAAiB;IACjBC,cAAc,GAAAqE,YAAA,CAAdrE,cAAc;IACdhD,UAAU,GAAAqH,YAAA,CAAVrH,UAAU;IACVmC,YAAY,GAAAkF,YAAA,CAAZlF,YAAY;IACZpF,OAAO,GAAAsK,YAAA,CAAPtK,OAAO;IACPkC,cAAc,GAAAoI,YAAA,CAAdpI,cAAc,CAAA;AAGhB,EAAA,oBACEyE,IAAA,CAAA,KAAA,EAAA;AAAK,IAAA,aAAA,EAAY,wBAAwB;AAAAxB,IAAAA,QAAA,EACtC8E,CAAAA,aAAa,gBACZzJ,GAAA,CAAC0G,YAAU,EAAA;AAEPhF,MAAAA,cAAc,EAAdA,cAAc;AACd+B,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBkD,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBlG,MAAAA,MAAM,EAANA,MAAM;AACNuC,MAAAA,qBAAqB,EAArBA,qBAAqB;AACrBkB,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBzB,MAAAA,UAAU,EAAVA,UAAU;AACV3D,MAAAA,SAAS,EAATA,SAAS;AACTsD,MAAAA,QAAQ,EAARA,QAAQ;AACRW,MAAAA,gBAAgB,EAAhBA,gBAAAA;AAAgB,KAEnB,CAAC,gBAEFoD,IAAA,CAAAW,QAAA,EAAA;MAAAnC,QAAA,EAAA,CACGqF,UAAU,CAAC5H,QAAQ,CAAC,iBACnBpC,GAAA,CAACyE,UAAU,EAAA;AACTC,QAAAA,KAAK,EAAC,OAAO;AACbyC,QAAAA,MAAM,EAAC,UAAU;AACjBb,QAAAA,SAAS,EAAC,kHAC4B;AAAA3B,QAAAA,QAAA,EAErC5G,CAAC,CAAC,+BAA+B,EAAEkM,MAAM,CAAA;AAAC,OACjC,CACb,EACA7H,QAAQ,CAAC8F,GAAG,CAAC,UAAA7J,OAAO,EAAA;QAAA,oBACnB8J,aAAA,CAACS,YAAY,EAAA;AACLxG,UAAAA,QAAQ,EAARA,QAAQ;AAAEW,UAAAA,gBAAgB,EAAhBA,gBAAgB;UAChCjD,EAAE,EAAEzB,OAAO,CAACyB,EAAG;AACf6F,UAAAA,QAAQ,EAAEtH,OAAO,CAACyB,EAAE,KAAKhB,SAAU;UACnCmH,GAAG,EAAE5H,OAAO,CAACyB,EAAG;UAChB8F,KAAK,EAAEvH,OAAO,CAACqC,IAAK;UACpBmF,OAAO,EAAE,SAAAA,OAAA,GAAA;YAAA,OAAM3B,mBAAmB,CAAC7F,OAAO,CAAC,CAAA;AAAA,WAAA;AAAC,SAC7C,CAAC,CAAA;AAAA,OACH,CAAC,CAAA;AAAA,KACF,CACH,eACD2B,GAAA,CAACkK,WAAW,EAAA;AAERzI,MAAAA,YAAY,EAAZA,YAAY;AACZlD,MAAAA,OAAO,EAAPA,OAAO;AACP+K,MAAAA,aAAa,EAAbA,aAAa;AACb3C,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBnH,MAAAA,OAAO,EAAPA,OAAO;AACPrB,MAAAA,OAAO,EAAPA,OAAO;AACPyL,MAAAA,qBAAqB,EAArBA,qBAAqB;MAEvBO,MAAM,EAAA,IAAA;AACNC,MAAAA,YAAY,EAAExF,YAAa;AAC3ByF,MAAAA,aAAa,EAAE9E,eAAgB;AAC/BrH,MAAAA,MAAM,EAAEuH,cAAe;AACvBvF,MAAAA,YAAY,EAAEuC,UAAAA;AAAW,KAC1B,CAAC,eACFzC,GAAA,CAAChC,MAAM,EAAA;AACCO,MAAAA,OAAO,EAAPA,OAAO;AAAEJ,MAAAA,OAAO,EAAPA,OAAO;AACtBD,MAAAA,MAAM,EAAEsH,iBAAkB;AAC1BnH,MAAAA,OAAO,EAAEkH,eAAAA;AAAgB,KAC1B,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,YAAA,aAAemD,KAAK,CAACC,IAAI,CAACS,QAAQ,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"Segments.js","sources":["../app/javascript/src/components/Segments/constants.js","../app/javascript/src/components/Segments/Delete.jsx","../app/javascript/src/components/Segments/hooks/utils.js","../app/javascript/src/components/Segments/hooks/useSegments.jsx","../app/javascript/src/components/Segments/Segment.jsx","../app/javascript/src/components/Segments/MenuBlocks.jsx","../app/javascript/src/components/Segments/SidebarBlock.jsx","../app/javascript/src/components/Segments/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const ITEMS_MAX_COUNT = 20;\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", DELETE: \"delete\" };\n\nexport const ALL_RESULTS = t(\"neetoFilters.common.allResults\");\n","import React from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { buildUrlFromFilters } from \"components/utils\";\nimport { useDestroySegment } from \"hooks/reactQuery/useSegmentsApi\";\n\nconst Delete = ({ isOpen, onClose, segment = {}, columns = [] }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = getQueryParams();\n\n const { mutate: deleteSegment, isPending: isDeleting } = useDestroySegment();\n\n const handleClearAll = () => {\n const params = buildUrlFromFilters({\n columns,\n filters: [],\n isClearAll: true,\n });\n history.push({ search: params });\n };\n\n const handleDelete = () => {\n equals(segment.id, segmentId) && handleClearAll();\n deleteSegment(segment.id, { onSuccess: onClose });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoFilters.common.delete\")}\n title={t(\"neetoFilters.segments.deleteAlertTitle\")}\n message={\n <Trans\n i18nKey=\"neetoFilters.segments.deleteAlertMessage\"\n values={{ entity: segment.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","export const reorderList = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildFiltersFromURL,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n} from \"components/utils\";\nimport {\n useFetchSegments,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\n\nimport { reorderList } from \"./utils\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegments = ({ entity, columns, childrenKeys, baseUrl }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const appliedFilters = buildFiltersFromURL(columns);\n\n const { data: fetchedSegments, isLoading } = useFetchSegments({ entity });\n\n const [segments, setSegments] = useState(fetchedSegments);\n\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n\n const [confirmAction, setConfirmAction] = useState({\n action: \"\",\n segment: undefined,\n });\n\n const handleSegmentsReorder = ({ source, destination }) => {\n if (!destination || source.index === destination.index) return;\n\n const reorderedSegments = reorderList(\n segments,\n source.index,\n destination.index\n );\n\n updateSegment({\n id: segments[source.index].id,\n payload: { position: destination.index + 1 },\n showToastr: false,\n });\n setSegments(reorderedSegments);\n };\n\n const clearAppliedFilters = (filters = appliedFilters) => {\n history.push({\n search: buildUrlFromFilters({\n columns,\n filters: [],\n isClearAll: true,\n childrenKeys:\n filters[0]?.conditions &&\n pluck(\"key\", filterBy({ node: \"children\" }, filters[0]?.conditions)),\n }),\n });\n };\n\n const handleSelectSegment = ({ id, filters }) => {\n history.push({\n pathname: baseUrl,\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n };\n\n useEffect(() => {\n setSegments(fetchedSegments);\n }, [fetchedSegments]);\n\n if (isLoading) {\n return <Spinner />;\n }\n\n if (isEmpty(segments)) {\n return (\n <Typography style=\"body2\">\n {t(\"neetoFilters.segments.noSegmentsFound\")}\n </Typography>\n );\n }\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n {\n id: confirmAction.segment.id,\n payload: { name, filters: filtersPayload },\n showToastr: false,\n },\n {\n onSuccess: () => {\n showThumbsUpToastr();\n setConfirmAction({ action: \"\", segment: undefined });\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const filters = buildFiltersFromSearchParams(columns);\n\n return {\n appliedFilters,\n segments,\n clearAppliedFilters,\n handleSelectSegment,\n handleSegmentsReorder,\n setConfirmAction,\n isUpdating,\n handleUpdate,\n filters,\n onClose: () => setConfirmAction({ action: \"\", segment: undefined }),\n selectedSegment: confirmAction.segment,\n isDeleteAlertOpen: confirmAction.action === SEGMENT_ACTIONS.DELETE,\n isEditPaneOpen: confirmAction.action === SEGMENT_ACTIONS.EDIT,\n };\n};\n\nexport default useSegments;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { findById, hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEGMENT_ACTIONS } from \"./constants\";\n\nconst Segment = ({\n id,\n isActive,\n label,\n onClick,\n shouldShowDropdown = false,\n segments,\n setConfirmAction,\n}) => {\n const { t } = useTranslation();\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoFilters.common.edit\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.EDIT,\n segment: findById(id, segments),\n }),\n },\n {\n key: \"delete\",\n label: t(\"neetoFilters.common.delete\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.DELETE,\n segment: findById(id, segments),\n }),\n },\n ];\n\n return (\n <div\n {...{ onClick }}\n data-cy={`neeto-filters-segment-block-${hyphenate(label)}`}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n { \"neeto-filters-segment--active\": isActive }\n )}\n >\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-cy=\"new-element-field\"\n >\n <Typography\n className=\"truncate leading-snug\"\n data-cy={hyphenate(label)}\n style=\"body2\"\n >\n {label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n className: \"min-h-0 flex-shrink-0\",\n \"data-cy\": `${hyphenate(label)}-more-dropdown`,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Segment;\n","import React, { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { Down } from \"neetoicons\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport { Button, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ITEMS_MAX_COUNT } from \"./constants\";\nimport Segment from \"./Segment\";\n\nconst MenuBlocks = ({\n entity,\n segments,\n segmentId,\n isUpdating,\n appliedFilters,\n setConfirmAction,\n defaultSegmentName,\n handleSelectSegment,\n clearAppliedFilters,\n handleSegmentsReorder,\n}) => {\n const { t } = useTranslation();\n\n const [showAll, setShowAll] = useState(false);\n\n return (\n <>\n <MenuBar.SubTitle>\n <Typography\n component=\"h4\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {t(\"neetoFilters.common.segments\")}\n </Typography>\n </MenuBar.SubTitle>\n {segments.length > ITEMS_MAX_COUNT && (\n <Button\n icon={Down}\n style=\"link\"\n label={\n showAll\n ? t(\"neetoFilters.segments.showLess\")\n : t(\"neetoFilters.segments.showMoreNumbers\", {\n entity: segments.length - ITEMS_MAX_COUNT,\n })\n }\n onClick={() => setShowAll(open => !open)}\n />\n )}\n <Segment\n isActive={isEmpty(appliedFilters)}\n label={defaultSegmentName}\n onClick={clearAppliedFilters}\n />\n <DragDropContext onDragEnd={handleSegmentsReorder}>\n <Droppable droppableId={`neeto-filters-segments-${entity}`}>\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {segments\n .slice(0, showAll ? segments.length : ITEMS_MAX_COUNT)\n .map((segment, index) => (\n <Draggable\n {...{ index }}\n draggableId={segment.id.toString()}\n isDragDisabled={isUpdating}\n key={segment.id.toString()}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <Segment\n {...{ segments, setConfirmAction }}\n shouldShowDropdown\n id={segment.id}\n isActive={segment.id === segmentId}\n key={segment.id}\n label={segment.name}\n onClick={() => handleSelectSegment(segment)}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </>\n );\n};\n\nexport default React.memo(MenuBlocks);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { findById, hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEGMENT_ACTIONS } from \"./constants\";\n\nconst SidebarBlock = ({\n id,\n isActive,\n label,\n onClick,\n segments,\n setConfirmAction,\n}) => {\n const { t } = useTranslation();\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoFilters.common.edit\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.EDIT,\n segment: findById(id, segments),\n }),\n },\n {\n key: \"delete\",\n label: t(\"neetoFilters.common.delete\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.DELETE,\n segment: findById(id, segments),\n }),\n },\n ];\n\n const dataCyPrefix = hyphenate(label);\n\n return (\n <button\n {...{ onClick }}\n data-cy={`${dataCyPrefix}-segment-link`}\n className={classNames(\n \"neeto-molecules-sidebar-segment neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none mb-0 w-full py-1\",\n { active: isActive }\n )}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-molecules-sidebar-segment__label neeto-ui-flex-grow min-w-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n \"data-testid\": `segment-more-menu-${dataCyPrefix}`,\n className: \"flex-shrink-0\",\n size: \"small\",\n style: \"secondary\",\n }}\n dropdownProps={{\n position: \"bottom-end\",\n strategy: \"fixed\",\n autoWidth: true,\n }}\n />\n </button>\n );\n};\n\nexport default SidebarBlock;\n","import React, { useRef } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\n\nimport { ALL_RESULTS } from \"./constants\";\nimport Delete from \"./Delete\";\nimport useSegments from \"./hooks/useSegments\";\nimport MenuBlocks from \"./MenuBlocks\";\nimport SidebarBlock from \"./SidebarBlock\";\n\nconst Segments = ({\n entity,\n columns,\n baseUrl = window.location.pathname,\n defaultSegmentName = ALL_RESULTS,\n customFilters,\n childrenKeys = [],\n isIndependent = true,\n}) => {\n const { t } = useTranslation();\n\n const { segmentId } = useQueryParams();\n\n const segmentFormInitialRef = useRef(null);\n\n const {\n segments = [],\n clearAppliedFilters,\n handleSelectSegment,\n handleSegmentsReorder,\n onClose,\n setConfirmAction,\n selectedSegment,\n isDeleteAlertOpen,\n isEditPaneOpen,\n isUpdating,\n handleUpdate,\n filters,\n appliedFilters,\n } = useSegments({ entity, columns, childrenKeys, baseUrl });\n\n return (\n <div data-testid=\"neeto-filters-segments\">\n {isIndependent ? (\n <MenuBlocks\n {...{\n appliedFilters,\n clearAppliedFilters,\n defaultSegmentName,\n entity,\n handleSegmentsReorder,\n handleSelectSegment,\n isUpdating,\n segmentId,\n segments,\n setConfirmAction,\n }}\n />\n ) : (\n <>\n {isNotEmpty(segments) && (\n <Typography\n style=\"body3\"\n weight=\"semibold\"\n className=\"neeto-molecules-sidebar-segments-header neeto-ui-text-transform-capitalize\n neeto-ui-text-gray-600 py-2 uppercase\"\n >\n {t(\"neetoFilters.segments.segment\", PLURAL)}\n </Typography>\n )}\n {segments.map(segment => (\n <SidebarBlock\n {...{ segments, setConfirmAction }}\n id={segment.id}\n isActive={segment.id === segmentId}\n key={segment.id}\n label={segment.name}\n onClick={() => handleSelectSegment(segment)}\n />\n ))}\n </>\n )}\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n onClose,\n segmentFormInitialRef,\n }}\n isEdit\n handleSubmit={handleUpdate}\n initialValues={selectedSegment}\n isOpen={isEditPaneOpen}\n isSubmitting={isUpdating}\n />\n <Delete\n {...{ columns, onClose }}\n isOpen={isDeleteAlertOpen}\n segment={selectedSegment}\n />\n </div>\n );\n};\n\nexport default React.memo(Segments);\n"],"names":["ITEMS_MAX_COUNT","SEGMENT_ACTIONS","EDIT","DELETE","ALL_RESULTS","t","Delete","_ref","isOpen","onClose","_ref$segment","segment","_ref$columns","columns","_useTranslation","useTranslation","history","useHistory","_getQueryParams","getQueryParams","segmentId","_useDestroySegment","useDestroySegment","deleteSegment","mutate","isDeleting","isPending","handleClearAll","params","buildUrlFromFilters","filters","isClearAll","push","search","handleDelete","equals","id","onSuccess","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","entity","name","onSubmit","reorderList","list","startIndex","endIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","useSegments","childrenKeys","baseUrl","appliedFilters","buildFiltersFromURL","_useFetchSegments","useFetchSegments","fetchedSegments","data","isLoading","_useState","useState","_useState2","segments","setSegments","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","_useState3","action","undefined","_useState4","confirmAction","setConfirmAction","handleSegmentsReorder","_ref2","source","destination","index","reorderedSegments","payload","position","showToastr","clearAppliedFilters","_filters$","_filters$2","arguments","length","conditions","pluck","filterBy","node","handleSelectSegment","_ref3","_filters$3","pathname","buildUrlFromSegment","useEffect","Spinner","isEmpty","Typography","style","children","handleUpdate","_ref4","_ref5","setFieldError","filtersPayload","buildSegmentsPayload","showThumbsUpToastr","onError","error","response","buildFiltersFromSearchParams","selectedSegment","isDeleteAlertOpen","isEditPaneOpen","Segment","isActive","label","onClick","_ref$shouldShowDropdo","shouldShowDropdown","menuItems","key","findById","_jsxs","concat","hyphenate","className","classnames","MoreDropdown","dropdownButtonProps","MenuBlocks","defaultSegmentName","showAll","setShowAll","_Fragment","MenuBar","SubTitle","component","textTransform","weight","Button","icon","Down","open","DragDropContext","onDragEnd","Droppable","droppableId","innerRef","droppableProps","placeholder","_objectSpread","ref","slice","map","_createElement","Draggable","draggableId","toString","isDragDisabled","draggableProps","dragHandleProps","React","memo","SidebarBlock","dataCyPrefix","classNames","active","size","dropdownProps","strategy","autoWidth","Segments","_ref$baseUrl","window","location","_ref$defaultSegmentNa","customFilters","_ref$childrenKeys","_ref$isIndependent","isIndependent","_useQueryParams","useQueryParams","segmentFormInitialRef","useRef","_useSegments","_useSegments$segments","isNotEmpty","PLURAL","SegmentForm","isEdit","handleSubmit","initialValues"],"mappings":"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"}
|
package/dist/cjs/Bar.js
CHANGED
|
@@ -377,7 +377,8 @@ var useSegment = function useSegment(_ref) {
|
|
|
377
377
|
var entity = _ref.entity,
|
|
378
378
|
keyword = _ref.keyword,
|
|
379
379
|
columns = _ref.columns,
|
|
380
|
-
childrenKeys = _ref.childrenKeys
|
|
380
|
+
childrenKeys = _ref.childrenKeys,
|
|
381
|
+
segmentsBaseUrl = _ref.segmentsBaseUrl;
|
|
381
382
|
var history = reactRouterDom.useHistory();
|
|
382
383
|
var _useTranslation = reactI18next.useTranslation(),
|
|
383
384
|
t = _useTranslation.t;
|
|
@@ -447,6 +448,7 @@ var useSegment = function useSegment(_ref) {
|
|
|
447
448
|
id = _ref2$segment.id,
|
|
448
449
|
filters = _ref2$segment.filters;
|
|
449
450
|
history.push({
|
|
451
|
+
pathname: segmentsBaseUrl,
|
|
450
452
|
search: utils.buildUrlFromSegment({
|
|
451
453
|
columns: columns,
|
|
452
454
|
filters: (_filters$ = filters[0]) === null || _filters$ === void 0 ? void 0 : _filters$.conditions,
|
|
@@ -609,6 +611,8 @@ var Bar = function Bar(_ref) {
|
|
|
609
611
|
childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
|
|
610
612
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
611
613
|
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? i18next.t("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
|
|
614
|
+
_ref$segmentsBaseUrl = _ref.segmentsBaseUrl,
|
|
615
|
+
segmentsBaseUrl = _ref$segmentsBaseUrl === void 0 ? window.location.pathname : _ref$segmentsBaseUrl,
|
|
612
616
|
customFilters = _ref.customFilters;
|
|
613
617
|
var queryClient = reactQuery.useQueryClient();
|
|
614
618
|
var _useQueryParams = reactUtils.useQueryParams(),
|
|
@@ -618,7 +622,8 @@ var Bar = function Bar(_ref) {
|
|
|
618
622
|
entity: entity,
|
|
619
623
|
keyword: keyword,
|
|
620
624
|
columns: columns,
|
|
621
|
-
childrenKeys: childrenKeys
|
|
625
|
+
childrenKeys: childrenKeys,
|
|
626
|
+
segmentsBaseUrl: segmentsBaseUrl
|
|
622
627
|
}),
|
|
623
628
|
isEdit = _useSegment.isEdit,
|
|
624
629
|
filters = _useSegment.filters,
|
package/dist/cjs/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bar.js","sources":["../../app/javascript/src/components/Bar/constants.js","../../app/javascript/src/constants/keyboardShortcuts.js","../../app/javascript/src/components/Bar/utils.js","../../app/javascript/src/components/Bar/Block.jsx","../../app/javascript/src/components/Bar/ChildBlock.jsx","../../app/javascript/src/components/Bar/FilterBar.jsx","../../app/javascript/src/components/Bar/hooks/useSegment.js","../../app/javascript/src/components/Bar/SegmentBar.jsx","../../app/javascript/src/components/Bar/index.jsx"],"sourcesContent":["export const DEFAULT_SEGMENTS_CACHE = { segments: [] };\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", CREATE: \"create\" };\n","import { t } from \"i18next\";\n\nexport const SHORTCUTS = {\n closePane: {\n sequence: \"escape\",\n description: t(\"neetoFilters.shortcuts.closePane\"),\n },\n deleteBlock: {\n sequence: \"backspace\",\n description: t(\"neetoFilters.shortcuts.deleteBlock\"),\n },\n openFilterPane: {\n sequence: \"enter\",\n description: t(\"neetoFilters.shortcuts.openFilterPane\"),\n },\n};\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { findBy, humanize, removeBy } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { modify, project, prop, reject, sortBy } from \"ramda\";\n\nimport {\n SEARCH_TERM_KEY,\n SINGLE_DATE_OPTIONS,\n SINGLE_TIME_OPTIONS,\n} from \"common/constants\";\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\n\nimport { NUMBER_RULES, TEXT_RULES } from \"../Pane/Item/constants\";\nimport {\n getLabelFromBool,\n isBoolean,\n isCustomDateRange,\n isCustomTimeRange,\n isDate,\n isDigit,\n isMulti,\n isSingle,\n isSingleDate,\n isSingleTime,\n isText,\n isTime,\n isTreeSelect,\n} from \"../utils\";\n\nconst buildCustomDateValue = value => {\n const isBeforeOrAfter =\n Math.abs(dayjs(value[1]).diff(dayjs(value[0]), \"year\")) >= 90;\n if (isBeforeOrAfter) {\n const currentMoment = dayjs();\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 ? `after-${dateFormat.date(dayjs(value[0]).subtract(1, \"day\"))}`\n : `before-${dateFormat.date(dayjs(value[1]).add(1, \"day\"))}`;\n }\n\n return value.map(dateFormat.date).join(\" - \");\n};\n\nexport const buildFilterValue = filter => {\n const {\n defaultType = filter.type,\n value,\n rule,\n values: initialValues = [],\n } = filter;\n const values = initialValues.map(modify(\"value\", value => value.toString()));\n\n if (isDate(defaultType) && isCustomDateRange(value)) {\n return buildCustomDateValue(value);\n } else if (isTime(defaultType) && isCustomTimeRange(value)) {\n return value.map(dateFormat.time).join(\" - \");\n } else if (isDate(defaultType) || isTime(defaultType)) {\n return humanize(value);\n } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return value\n .map(value => findBy({ value }, values)?.label || value)\n .join(\", \");\n } else if (isSingleDate(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.date).join(\" - \")\n : dateFormat.date(value);\n } else if (isSingleTime(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.time).join(\" - \")\n : dateFormat.time(value);\n } else if (isBoolean(defaultType)) {\n return getLabelFromBool({ value, values });\n }\n\n return findBy({ value }, values)?.label || value;\n};\n\nexport const buildRuleValue = ({ rule, defaultType }) => {\n if (isText(defaultType)) {\n return findBy({ value: rule }, TEXT_RULES).label;\n } else if (isDigit(defaultType)) {\n return findBy({ value: rule }, NUMBER_RULES).label;\n } else if (isSingleDate(defaultType)) {\n return findBy({ value: rule }, SINGLE_DATE_OPTIONS).label;\n } else if (isSingleTime(defaultType)) {\n return findBy({ value: rule }, SINGLE_TIME_OPTIONS).label;\n } else if (\n isMulti(defaultType) ||\n isSingle(defaultType) ||\n isTreeSelect(defaultType)\n ) {\n return isRuleEmpty(rule) ? t(\"neetoFilters.rules.isEmpty\") : \"\";\n }\n\n return \"\";\n};\n\nexport const hasOnlyKeywordFilter = filters =>\n filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;\n\nexport const deepCompare = (segments, filters) => {\n const comparisonHelper = filters =>\n sortBy(\n prop(\"key\"),\n removeBy(\n { key: SEARCH_TERM_KEY },\n project([\"key\", \"rule\", \"value\", \"label\"], filters)\n )\n );\n\n return reject(filters => {\n const segment = findBy({ key: filters.key }, segments);\n\n return segment && segment.value === filters.value;\n }, comparisonHelper(filters));\n};\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nimport { buildFilterValue, buildRuleValue } from \"./utils\";\n\nconst Block = ({ filter, handleDelete, setIsPaneOpen }) => {\n const { key, defaultType = filter.type, label, rule, defaultValue } = filter;\n const filterValue = buildFilterValue(filter);\n const ruleContent = buildRuleValue({ rule, defaultType });\n const blockLength = label.length + ruleContent.length + filterValue.length;\n const toolTipDisabled = blockLength <= 50;\n const blockContent = !toolTipDisabled\n ? `${filterValue.slice(0, 50 - blockLength)}...`\n : filterValue;\n\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(key),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(key),\n { mode: \"scoped\" }\n );\n\n return (\n <Tooltip\n content={filterValue}\n disabled={toolTipDisabled}\n position=\"bottom\"\n theme=\"light\"\n >\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(key)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(key)}\n >\n <Typography style=\"body2\">{label}:</Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {ruleContent}\n </Typography>\n {!isRuleEmpty(rule) && (\n <Typography style=\"body2\">{blockContent}</Typography>\n )}\n {!defaultValue && (\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(key)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(key);\n }}\n />\n </div>\n )}\n </div>\n </Tooltip>\n );\n};\n\nexport default Block;\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nconst ChildBlock = ({ childKey, setIsPaneOpen, handleDelete }) => {\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(childKey),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(childKey),\n { mode: \"scoped\" }\n );\n\n return (\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(childKey)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(childKey)}\n >\n <Typography style=\"body2\" weight=\"medium\">\n {childKey}\n </Typography>\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(childKey)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(childKey);\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default ChildBlock;\n","import React from \"react\";\n\nimport { isPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport { has, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport Block from \"./Block\";\nimport ChildBlock from \"./ChildBlock\";\nimport { SEGMENT_ACTIONS } from \"./constants\";\nimport { hasOnlyKeywordFilter } from \"./utils\";\n\nimport { getSnakeCasedQueryParams, isKeywordFilterPresent } from \"../utils\";\n\nconst FilterBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n childrenKeys,\n nonHiddenFilters,\n childrenFiltersApplied,\n keywordFilter,\n handleApplyFilters,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const searchParams = useQueryParams({ toCamelCase: false });\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const handleClearAll = () => {\n const params = isKeywordFilterPresent(keywordFilter)\n ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams())\n : getSnakeCasedQueryParams();\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n handleApplyFilters([], true);\n };\n\n const hideClearButton =\n nonHiddenFilters.every(\n ({ defaultValue, isClearable }) => defaultValue && !isClearable\n ) && !childrenFiltersApplied;\n\n return (\n <>\n {nonHiddenFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n {childrenKeys\n .filter(childKey => has(childKey, searchParams))\n .map(childKey => (\n <React.Fragment key={childKey}>\n <ChildBlock {...{ childKey, handleDelete, setIsPaneOpen }} />\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n <div className=\"flex items-center gap-x-2\">\n {isPresent(entity) && !hasOnlyKeywordFilter(filters) && (\n <Button\n data-cy=\"save-segment-button\"\n label={t(\"neetoFilters.segments.saveAsNewSegment\")}\n style=\"secondary\"\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n />\n )}\n {!hideClearButton && (\n <Button\n data-cy=\"neeto-filters-bar-clear-btn\"\n label={t(\"neetoFilters.common.clearFilters\")}\n style=\"text\"\n onClick={handleClearAll}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default FilterBar;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { isNotEmpty, noop, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { has } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n getSearchTermFromUrl,\n isKeywordFilterPresent,\n} from \"components/utils\";\nimport {\n useCreateSegment,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegment = ({ entity, keyword, columns, childrenKeys }) => {\n const history = useHistory();\n const { t } = useTranslation();\n const initialRenderRef = useRef(true);\n const { segmentId } = useQueryParams();\n\n const [isSavePaneOpen, setIsSavePaneOpen] = useState({ action: undefined });\n\n const { mutate: createSegment, isPending: isCreating } = useCreateSegment();\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n const isSubmitting = isCreating || isUpdating;\n\n const searchParams = useQueryParams({ toCamelCase: false });\n const keywordValue = searchParams[SEARCH_TERM_KEY] || \"\";\n const isEdit = isSavePaneOpen.action === SEGMENT_ACTIONS.EDIT;\n\n const keywordFilter = {\n type: \"text\",\n rule: \"contains\",\n label: t(\"neetoFilters.common.searchTerm\"),\n ...keyword,\n key: SEARCH_TERM_KEY,\n value: keywordValue,\n };\n\n const filters = buildFiltersFromSearchParams(\n isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue)\n ? [keywordFilter, ...columns]\n : columns\n );\n\n const nonHiddenFilters = removeBy({ hidden: true }, filters);\n\n const handleApplyFilters = (newFilters, isClearAll) => {\n const params = buildUrlFromFilters({\n columns,\n filters:\n isKeywordFilterPresent(keywordFilter) &&\n isNotEmpty(getSearchTermFromUrl())\n ? [...newFilters, keywordFilter]\n : newFilters,\n ...(isClearAll && { isClearAll: true, childrenKeys }),\n });\n\n history.push({ search: params });\n };\n\n const childrenFiltersApplied = childrenKeys.some(key =>\n has(key, searchParams)\n );\n\n useEffect(() => {\n if (initialRenderRef.current) {\n initialRenderRef.current = false;\n\n return noop;\n }\n\n const handler = setTimeout(() => {\n handleApplyFilters(filters);\n }, 500);\n\n return () => clearTimeout(handler);\n }, [keywordValue]);\n\n const handleCreateSuccess = ({ segment: { id, filters } }) => {\n history.push({\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n };\n\n const handleCreate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n createSegment(\n { name, entity, filters: filtersPayload },\n {\n onSuccess: handleCreateSuccess,\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n { id: segmentId, payload: { name, filters: filtersPayload } },\n {\n onSuccess: () => {\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n return {\n isEdit,\n filters,\n keywordFilter,\n isSubmitting,\n nonHiddenFilters,\n isSavePaneOpen,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n handleSubmit: isEdit ? handleUpdate : handleCreate,\n };\n};\n\nexport default useSegment;\n","import React from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { findById, isNotEmpty, isNotPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getSnakeCasedQueryParams } from \"components/utils\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_SEGMENTS_CACHE, SEGMENT_ACTIONS } from \"./constants\";\nimport { deepCompare } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst SegmentBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n handleApplyFilters,\n childrenKeys,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = useQueryParams();\n const queryClient = useQueryClient();\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isNotPresent(segment)) return null;\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const changedFilters = deepCompare(segment.filters[0].conditions, filters);\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-600 mr-4 px-2\"\n data-cy=\"neeto-filters-segment-name\"\n style=\"h4\"\n >\n {segment.name}\n </Typography>\n {isNotEmpty(changedFilters) && (\n <>\n <Dropdown\n buttonProps={{ className: \"mr-2\" }}\n buttonStyle=\"secondary\"\n label={t(\"neetoFilters.segments.updateSegment\")}\n >\n <Menu>\n <MenuItem.Button\n onClick={() =>\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.EDIT })\n }\n >\n {t(\"neetoFilters.segments.updateSegment\")}\n </MenuItem.Button>\n <MenuItem.Button\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n >\n {t(\"neetoFilters.segments.saveAsNewSegment\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n {changedFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n </>\n )}\n </>\n );\n};\n\nexport default SegmentBar;\n","import React, { useRef } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { findById, isPresent, noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { assoc, identity, isEmpty } from \"ramda\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport { DEFAULT_SEGMENTS_CACHE } from \"./constants\";\nimport FilterBar from \"./FilterBar\";\nimport useSegment from \"./hooks/useSegment\";\nimport SegmentBar from \"./SegmentBar\";\n\nconst Bar = ({\n entity,\n className,\n columns = [],\n keyword = { node: \"\", value: \"\", setValue: noop },\n setIsPaneOpen = identity,\n childrenKeys = [],\n // eslint-disable-next-line @bigbinary/neeto/use-translation-hook-in-components\n defaultSegmentName = t(\"neetoFilters.common.allResults\"),\n customFilters,\n}) => {\n const queryClient = useQueryClient();\n const { segmentId } = useQueryParams();\n const segmentFormInitialRef = useRef(null);\n const {\n isEdit,\n filters,\n handleSubmit,\n isSubmitting,\n keywordFilter,\n isSavePaneOpen,\n nonHiddenFilters,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n } = useSegment({ entity, keyword, columns, childrenKeys });\n\n const BarComponent = segmentId ? SegmentBar : FilterBar;\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;\n\n return (\n <>\n <div\n className={classnames(\"neeto-filters-bar\", { [className]: className })}\n >\n <BarComponent\n {...{\n childrenFiltersApplied,\n childrenKeys,\n entity,\n filters,\n handleApplyFilters,\n keywordFilter,\n nonHiddenFilters,\n setIsPaneOpen,\n setIsSavePaneOpen,\n }}\n />\n </div>\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n handleSubmit,\n isEdit,\n isSubmitting,\n keywordFilter,\n segmentFormInitialRef,\n }}\n isOpen={isPresent(isSavePaneOpen.action)}\n initialValues={\n isEdit\n ? assoc(\"filters\", [{ conditions: filters }], segment)\n : { name: \"\", filters: [{ conditions: filters }] }\n }\n onClose={() => setIsSavePaneOpen({ action: undefined })}\n />\n </>\n );\n};\n\nexport default Bar;\n"],"names":["DEFAULT_SEGMENTS_CACHE","segments","SEGMENT_ACTIONS","EDIT","CREATE","SHORTCUTS","closePane","sequence","description","t","deleteBlock","openFilterPane","buildCustomDateValue","value","isBeforeOrAfter","Math","abs","dayjs","diff","currentMoment","diffWithStart","diffWithEnd","concat","dateFormat","date","subtract","add","map","join","buildFilterValue","filter","_findBy2","_filter$defaultType","defaultType","type","rule","_filter$values","values","initialValues","modify","toString","isDate","isCustomDateRange","isTime","isCustomTimeRange","time","humanize","isMulti","isTreeSelect","_findBy","findBy","label","isSingleDate","isSingleTime","isBoolean","getLabelFromBool","buildRuleValue","_ref","isText","TEXT_RULES","isDigit","NUMBER_RULES","SINGLE_DATE_OPTIONS","SINGLE_TIME_OPTIONS","isSingle","isRuleEmpty","hasOnlyKeywordFilter","filters","length","key","SEARCH_TERM_KEY","deepCompare","comparisonHelper","sortBy","prop","removeBy","project","reject","segment","Block","handleDelete","setIsPaneOpen","defaultValue","filterValue","ruleContent","blockLength","toolTipDisabled","blockContent","slice","deleteBlockHotKeyRef","useHotkeys","mode","openFilterPaneHotKeyRef","_jsx","Tooltip","content","disabled","position","theme","children","_jsxs","className","hyphenate","tabIndex","ref","node","current","onClick","Typography","style","Close","size","strokeWidth","event","stopPropagation","ChildBlock","childKey","weight","FilterBar","entity","setIsSavePaneOpen","childrenKeys","nonHiddenFilters","childrenFiltersApplied","keywordFilter","handleApplyFilters","_useTranslation","useTranslation","history","useHistory","searchParams","useQueryParams","toCamelCase","params","omit","getSnakeCasedQueryParams","pathname","window","location","push","buildUrl","includes","newFilters","handleClearAll","isKeywordFilterPresent","hideClearButton","every","_ref2","isClearable","_Fragment","_filter$suffixCompone","React","Fragment","suffixComponent","call","has","isPresent","Button","action","useSegment","keyword","columns","initialRenderRef","useRef","_useQueryParams","segmentId","_useState","useState","undefined","_useState2","_slicedToArray","isSavePaneOpen","_useCreateSegment","useCreateSegment","createSegment","mutate","isCreating","isPending","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","isSubmitting","keywordValue","isEdit","_objectSpread","buildFiltersFromSearchParams","isNotEmpty","_toConsumableArray","hidden","isClearAll","buildUrlFromFilters","getSearchTermFromUrl","search","some","useEffect","noop","handler","setTimeout","clearTimeout","handleCreateSuccess","_filters$","_ref2$segment","id","buildUrlFromSegment","conditions","showThumbsUpToastr","handleCreate","_ref3","_ref4","name","setFieldError","filtersPayload","buildSegmentsPayload","onSuccess","onError","error","response","data","handleUpdate","_ref5","_ref6","payload","handleSubmit","Menu","Dropdown","MenuItem","SegmentBar","queryClient","useQueryClient","cachedSegments","getQueryData","QUERY_KEYS","SEGMENTS_LIST","findById","isNotPresent","changedFilters","buttonProps","buttonStyle","Bar","_ref$columns","_ref$keyword","setValue","_ref$setIsPaneOpen","identity","_ref$childrenKeys","_ref$defaultSegmentNa","defaultSegmentName","customFilters","segmentFormInitialRef","_useSegment","BarComponent","isEmpty","classnames","_defineProperty","SegmentForm","isOpen","assoc","onClose"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bar.js","sources":["../../app/javascript/src/components/Bar/constants.js","../../app/javascript/src/constants/keyboardShortcuts.js","../../app/javascript/src/components/Bar/utils.js","../../app/javascript/src/components/Bar/Block.jsx","../../app/javascript/src/components/Bar/ChildBlock.jsx","../../app/javascript/src/components/Bar/FilterBar.jsx","../../app/javascript/src/components/Bar/hooks/useSegment.js","../../app/javascript/src/components/Bar/SegmentBar.jsx","../../app/javascript/src/components/Bar/index.jsx"],"sourcesContent":["export const DEFAULT_SEGMENTS_CACHE = { segments: [] };\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", CREATE: \"create\" };\n","import { t } from \"i18next\";\n\nexport const SHORTCUTS = {\n closePane: {\n sequence: \"escape\",\n description: t(\"neetoFilters.shortcuts.closePane\"),\n },\n deleteBlock: {\n sequence: \"backspace\",\n description: t(\"neetoFilters.shortcuts.deleteBlock\"),\n },\n openFilterPane: {\n sequence: \"enter\",\n description: t(\"neetoFilters.shortcuts.openFilterPane\"),\n },\n};\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { findBy, humanize, removeBy } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { modify, project, prop, reject, sortBy } from \"ramda\";\n\nimport {\n SEARCH_TERM_KEY,\n SINGLE_DATE_OPTIONS,\n SINGLE_TIME_OPTIONS,\n} from \"common/constants\";\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\n\nimport { NUMBER_RULES, TEXT_RULES } from \"../Pane/Item/constants\";\nimport {\n getLabelFromBool,\n isBoolean,\n isCustomDateRange,\n isCustomTimeRange,\n isDate,\n isDigit,\n isMulti,\n isSingle,\n isSingleDate,\n isSingleTime,\n isText,\n isTime,\n isTreeSelect,\n} from \"../utils\";\n\nconst buildCustomDateValue = value => {\n const isBeforeOrAfter =\n Math.abs(dayjs(value[1]).diff(dayjs(value[0]), \"year\")) >= 90;\n if (isBeforeOrAfter) {\n const currentMoment = dayjs();\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 ? `after-${dateFormat.date(dayjs(value[0]).subtract(1, \"day\"))}`\n : `before-${dateFormat.date(dayjs(value[1]).add(1, \"day\"))}`;\n }\n\n return value.map(dateFormat.date).join(\" - \");\n};\n\nexport const buildFilterValue = filter => {\n const {\n defaultType = filter.type,\n value,\n rule,\n values: initialValues = [],\n } = filter;\n const values = initialValues.map(modify(\"value\", value => value.toString()));\n\n if (isDate(defaultType) && isCustomDateRange(value)) {\n return buildCustomDateValue(value);\n } else if (isTime(defaultType) && isCustomTimeRange(value)) {\n return value.map(dateFormat.time).join(\" - \");\n } else if (isDate(defaultType) || isTime(defaultType)) {\n return humanize(value);\n } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return value\n .map(value => findBy({ value }, values)?.label || value)\n .join(\", \");\n } else if (isSingleDate(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.date).join(\" - \")\n : dateFormat.date(value);\n } else if (isSingleTime(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.time).join(\" - \")\n : dateFormat.time(value);\n } else if (isBoolean(defaultType)) {\n return getLabelFromBool({ value, values });\n }\n\n return findBy({ value }, values)?.label || value;\n};\n\nexport const buildRuleValue = ({ rule, defaultType }) => {\n if (isText(defaultType)) {\n return findBy({ value: rule }, TEXT_RULES).label;\n } else if (isDigit(defaultType)) {\n return findBy({ value: rule }, NUMBER_RULES).label;\n } else if (isSingleDate(defaultType)) {\n return findBy({ value: rule }, SINGLE_DATE_OPTIONS).label;\n } else if (isSingleTime(defaultType)) {\n return findBy({ value: rule }, SINGLE_TIME_OPTIONS).label;\n } else if (\n isMulti(defaultType) ||\n isSingle(defaultType) ||\n isTreeSelect(defaultType)\n ) {\n return isRuleEmpty(rule) ? t(\"neetoFilters.rules.isEmpty\") : \"\";\n }\n\n return \"\";\n};\n\nexport const hasOnlyKeywordFilter = filters =>\n filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;\n\nexport const deepCompare = (segments, filters) => {\n const comparisonHelper = filters =>\n sortBy(\n prop(\"key\"),\n removeBy(\n { key: SEARCH_TERM_KEY },\n project([\"key\", \"rule\", \"value\", \"label\"], filters)\n )\n );\n\n return reject(filters => {\n const segment = findBy({ key: filters.key }, segments);\n\n return segment && segment.value === filters.value;\n }, comparisonHelper(filters));\n};\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nimport { buildFilterValue, buildRuleValue } from \"./utils\";\n\nconst Block = ({ filter, handleDelete, setIsPaneOpen }) => {\n const { key, defaultType = filter.type, label, rule, defaultValue } = filter;\n const filterValue = buildFilterValue(filter);\n const ruleContent = buildRuleValue({ rule, defaultType });\n const blockLength = label.length + ruleContent.length + filterValue.length;\n const toolTipDisabled = blockLength <= 50;\n const blockContent = !toolTipDisabled\n ? `${filterValue.slice(0, 50 - blockLength)}...`\n : filterValue;\n\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(key),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(key),\n { mode: \"scoped\" }\n );\n\n return (\n <Tooltip\n content={filterValue}\n disabled={toolTipDisabled}\n position=\"bottom\"\n theme=\"light\"\n >\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(key)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(key)}\n >\n <Typography style=\"body2\">{label}:</Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {ruleContent}\n </Typography>\n {!isRuleEmpty(rule) && (\n <Typography style=\"body2\">{blockContent}</Typography>\n )}\n {!defaultValue && (\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(key)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(key);\n }}\n />\n </div>\n )}\n </div>\n </Tooltip>\n );\n};\n\nexport default Block;\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nconst ChildBlock = ({ childKey, setIsPaneOpen, handleDelete }) => {\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(childKey),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(childKey),\n { mode: \"scoped\" }\n );\n\n return (\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(childKey)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(childKey)}\n >\n <Typography style=\"body2\" weight=\"medium\">\n {childKey}\n </Typography>\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(childKey)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(childKey);\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default ChildBlock;\n","import React from \"react\";\n\nimport { isPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport { has, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport Block from \"./Block\";\nimport ChildBlock from \"./ChildBlock\";\nimport { SEGMENT_ACTIONS } from \"./constants\";\nimport { hasOnlyKeywordFilter } from \"./utils\";\n\nimport { getSnakeCasedQueryParams, isKeywordFilterPresent } from \"../utils\";\n\nconst FilterBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n childrenKeys,\n nonHiddenFilters,\n childrenFiltersApplied,\n keywordFilter,\n handleApplyFilters,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const searchParams = useQueryParams({ toCamelCase: false });\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const handleClearAll = () => {\n const params = isKeywordFilterPresent(keywordFilter)\n ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams())\n : getSnakeCasedQueryParams();\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n handleApplyFilters([], true);\n };\n\n const hideClearButton =\n nonHiddenFilters.every(\n ({ defaultValue, isClearable }) => defaultValue && !isClearable\n ) && !childrenFiltersApplied;\n\n return (\n <>\n {nonHiddenFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n {childrenKeys\n .filter(childKey => has(childKey, searchParams))\n .map(childKey => (\n <React.Fragment key={childKey}>\n <ChildBlock {...{ childKey, handleDelete, setIsPaneOpen }} />\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n <div className=\"flex items-center gap-x-2\">\n {isPresent(entity) && !hasOnlyKeywordFilter(filters) && (\n <Button\n data-cy=\"save-segment-button\"\n label={t(\"neetoFilters.segments.saveAsNewSegment\")}\n style=\"secondary\"\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n />\n )}\n {!hideClearButton && (\n <Button\n data-cy=\"neeto-filters-bar-clear-btn\"\n label={t(\"neetoFilters.common.clearFilters\")}\n style=\"text\"\n onClick={handleClearAll}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default FilterBar;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { isNotEmpty, noop, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { has } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n getSearchTermFromUrl,\n isKeywordFilterPresent,\n} from \"components/utils\";\nimport {\n useCreateSegment,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegment = ({\n entity,\n keyword,\n columns,\n childrenKeys,\n segmentsBaseUrl,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const initialRenderRef = useRef(true);\n const { segmentId } = useQueryParams();\n\n const [isSavePaneOpen, setIsSavePaneOpen] = useState({ action: undefined });\n\n const { mutate: createSegment, isPending: isCreating } = useCreateSegment();\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n const isSubmitting = isCreating || isUpdating;\n\n const searchParams = useQueryParams({ toCamelCase: false });\n const keywordValue = searchParams[SEARCH_TERM_KEY] || \"\";\n const isEdit = isSavePaneOpen.action === SEGMENT_ACTIONS.EDIT;\n\n const keywordFilter = {\n type: \"text\",\n rule: \"contains\",\n label: t(\"neetoFilters.common.searchTerm\"),\n ...keyword,\n key: SEARCH_TERM_KEY,\n value: keywordValue,\n };\n\n const filters = buildFiltersFromSearchParams(\n isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue)\n ? [keywordFilter, ...columns]\n : columns\n );\n\n const nonHiddenFilters = removeBy({ hidden: true }, filters);\n\n const handleApplyFilters = (newFilters, isClearAll) => {\n const params = buildUrlFromFilters({\n columns,\n filters:\n isKeywordFilterPresent(keywordFilter) &&\n isNotEmpty(getSearchTermFromUrl())\n ? [...newFilters, keywordFilter]\n : newFilters,\n ...(isClearAll && { isClearAll: true, childrenKeys }),\n });\n\n history.push({ search: params });\n };\n\n const childrenFiltersApplied = childrenKeys.some(key =>\n has(key, searchParams)\n );\n\n useEffect(() => {\n if (initialRenderRef.current) {\n initialRenderRef.current = false;\n\n return noop;\n }\n\n const handler = setTimeout(() => {\n handleApplyFilters(filters);\n }, 500);\n\n return () => clearTimeout(handler);\n }, [keywordValue]);\n\n const handleCreateSuccess = ({ segment: { id, filters } }) => {\n history.push({\n pathname: segmentsBaseUrl,\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n };\n\n const handleCreate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n createSegment(\n { name, entity, filters: filtersPayload },\n {\n onSuccess: handleCreateSuccess,\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n { id: segmentId, payload: { name, filters: filtersPayload } },\n {\n onSuccess: () => {\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n return {\n isEdit,\n filters,\n keywordFilter,\n isSubmitting,\n nonHiddenFilters,\n isSavePaneOpen,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n handleSubmit: isEdit ? handleUpdate : handleCreate,\n };\n};\n\nexport default useSegment;\n","import React from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { findById, isNotEmpty, isNotPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getSnakeCasedQueryParams } from \"components/utils\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_SEGMENTS_CACHE, SEGMENT_ACTIONS } from \"./constants\";\nimport { deepCompare } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst SegmentBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n handleApplyFilters,\n childrenKeys,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = useQueryParams();\n const queryClient = useQueryClient();\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isNotPresent(segment)) return null;\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const changedFilters = deepCompare(segment.filters[0].conditions, filters);\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-600 mr-4 px-2\"\n data-cy=\"neeto-filters-segment-name\"\n style=\"h4\"\n >\n {segment.name}\n </Typography>\n {isNotEmpty(changedFilters) && (\n <>\n <Dropdown\n buttonProps={{ className: \"mr-2\" }}\n buttonStyle=\"secondary\"\n label={t(\"neetoFilters.segments.updateSegment\")}\n >\n <Menu>\n <MenuItem.Button\n onClick={() =>\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.EDIT })\n }\n >\n {t(\"neetoFilters.segments.updateSegment\")}\n </MenuItem.Button>\n <MenuItem.Button\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n >\n {t(\"neetoFilters.segments.saveAsNewSegment\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n {changedFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n </>\n )}\n </>\n );\n};\n\nexport default SegmentBar;\n","import React, { useRef } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { findById, isPresent, noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { assoc, identity, isEmpty } from \"ramda\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport { DEFAULT_SEGMENTS_CACHE } from \"./constants\";\nimport FilterBar from \"./FilterBar\";\nimport useSegment from \"./hooks/useSegment\";\nimport SegmentBar from \"./SegmentBar\";\n\nconst Bar = ({\n entity,\n className,\n columns = [],\n keyword = { node: \"\", value: \"\", setValue: noop },\n setIsPaneOpen = identity,\n childrenKeys = [],\n // eslint-disable-next-line @bigbinary/neeto/use-translation-hook-in-components\n defaultSegmentName = t(\"neetoFilters.common.allResults\"),\n segmentsBaseUrl = window.location.pathname,\n customFilters,\n}) => {\n const queryClient = useQueryClient();\n const { segmentId } = useQueryParams();\n const segmentFormInitialRef = useRef(null);\n const {\n isEdit,\n filters,\n handleSubmit,\n isSubmitting,\n keywordFilter,\n isSavePaneOpen,\n nonHiddenFilters,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n } = useSegment({ entity, keyword, columns, childrenKeys, segmentsBaseUrl });\n\n const BarComponent = segmentId ? SegmentBar : FilterBar;\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;\n\n return (\n <>\n <div\n className={classnames(\"neeto-filters-bar\", { [className]: className })}\n >\n <BarComponent\n {...{\n childrenFiltersApplied,\n childrenKeys,\n entity,\n filters,\n handleApplyFilters,\n keywordFilter,\n nonHiddenFilters,\n setIsPaneOpen,\n setIsSavePaneOpen,\n }}\n />\n </div>\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n handleSubmit,\n isEdit,\n isSubmitting,\n keywordFilter,\n segmentFormInitialRef,\n }}\n isOpen={isPresent(isSavePaneOpen.action)}\n initialValues={\n isEdit\n ? assoc(\"filters\", [{ conditions: filters }], segment)\n : { name: \"\", filters: [{ conditions: filters }] }\n }\n onClose={() => setIsSavePaneOpen({ action: undefined })}\n />\n </>\n );\n};\n\nexport default Bar;\n"],"names":["DEFAULT_SEGMENTS_CACHE","segments","SEGMENT_ACTIONS","EDIT","CREATE","SHORTCUTS","closePane","sequence","description","t","deleteBlock","openFilterPane","buildCustomDateValue","value","isBeforeOrAfter","Math","abs","dayjs","diff","currentMoment","diffWithStart","diffWithEnd","concat","dateFormat","date","subtract","add","map","join","buildFilterValue","filter","_findBy2","_filter$defaultType","defaultType","type","rule","_filter$values","values","initialValues","modify","toString","isDate","isCustomDateRange","isTime","isCustomTimeRange","time","humanize","isMulti","isTreeSelect","_findBy","findBy","label","isSingleDate","isSingleTime","isBoolean","getLabelFromBool","buildRuleValue","_ref","isText","TEXT_RULES","isDigit","NUMBER_RULES","SINGLE_DATE_OPTIONS","SINGLE_TIME_OPTIONS","isSingle","isRuleEmpty","hasOnlyKeywordFilter","filters","length","key","SEARCH_TERM_KEY","deepCompare","comparisonHelper","sortBy","prop","removeBy","project","reject","segment","Block","handleDelete","setIsPaneOpen","defaultValue","filterValue","ruleContent","blockLength","toolTipDisabled","blockContent","slice","deleteBlockHotKeyRef","useHotkeys","mode","openFilterPaneHotKeyRef","_jsx","Tooltip","content","disabled","position","theme","children","_jsxs","className","hyphenate","tabIndex","ref","node","current","onClick","Typography","style","Close","size","strokeWidth","event","stopPropagation","ChildBlock","childKey","weight","FilterBar","entity","setIsSavePaneOpen","childrenKeys","nonHiddenFilters","childrenFiltersApplied","keywordFilter","handleApplyFilters","_useTranslation","useTranslation","history","useHistory","searchParams","useQueryParams","toCamelCase","params","omit","getSnakeCasedQueryParams","pathname","window","location","push","buildUrl","includes","newFilters","handleClearAll","isKeywordFilterPresent","hideClearButton","every","_ref2","isClearable","_Fragment","_filter$suffixCompone","React","Fragment","suffixComponent","call","has","isPresent","Button","action","useSegment","keyword","columns","segmentsBaseUrl","initialRenderRef","useRef","_useQueryParams","segmentId","_useState","useState","undefined","_useState2","_slicedToArray","isSavePaneOpen","_useCreateSegment","useCreateSegment","createSegment","mutate","isCreating","isPending","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","isSubmitting","keywordValue","isEdit","_objectSpread","buildFiltersFromSearchParams","isNotEmpty","_toConsumableArray","hidden","isClearAll","buildUrlFromFilters","getSearchTermFromUrl","search","some","useEffect","noop","handler","setTimeout","clearTimeout","handleCreateSuccess","_filters$","_ref2$segment","id","buildUrlFromSegment","conditions","showThumbsUpToastr","handleCreate","_ref3","_ref4","name","setFieldError","filtersPayload","buildSegmentsPayload","onSuccess","onError","error","response","data","handleUpdate","_ref5","_ref6","payload","handleSubmit","Menu","Dropdown","MenuItem","SegmentBar","queryClient","useQueryClient","cachedSegments","getQueryData","QUERY_KEYS","SEGMENTS_LIST","findById","isNotPresent","changedFilters","buttonProps","buttonStyle","Bar","_ref$columns","_ref$keyword","setValue","_ref$setIsPaneOpen","identity","_ref$childrenKeys","_ref$defaultSegmentNa","defaultSegmentName","_ref$segmentsBaseUrl","customFilters","segmentFormInitialRef","_useSegment","BarComponent","isEmpty","classnames","_defineProperty","SegmentForm","isOpen","assoc","onClose"],"mappings":"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"}
|
package/dist/cjs/Segments.js
CHANGED
|
@@ -124,7 +124,8 @@ var reorderList = function reorderList(list, startIndex, endIndex) {
|
|
|
124
124
|
var useSegments = function useSegments(_ref) {
|
|
125
125
|
var entity = _ref.entity,
|
|
126
126
|
columns = _ref.columns,
|
|
127
|
-
childrenKeys = _ref.childrenKeys
|
|
127
|
+
childrenKeys = _ref.childrenKeys,
|
|
128
|
+
baseUrl = _ref.baseUrl;
|
|
128
129
|
var _useTranslation = reactI18next.useTranslation(),
|
|
129
130
|
t = _useTranslation.t;
|
|
130
131
|
var history = reactRouterDom.useHistory();
|
|
@@ -181,6 +182,7 @@ var useSegments = function useSegments(_ref) {
|
|
|
181
182
|
var id = _ref3.id,
|
|
182
183
|
filters = _ref3.filters;
|
|
183
184
|
history.push({
|
|
185
|
+
pathname: baseUrl,
|
|
184
186
|
search: utils$1.buildUrlFromSegment({
|
|
185
187
|
columns: columns,
|
|
186
188
|
filters: (_filters$3 = filters[0]) === null || _filters$3 === void 0 ? void 0 : _filters$3.conditions,
|
|
@@ -453,6 +455,8 @@ var SidebarBlock = function SidebarBlock(_ref) {
|
|
|
453
455
|
var Segments = function Segments(_ref) {
|
|
454
456
|
var entity = _ref.entity,
|
|
455
457
|
columns = _ref.columns,
|
|
458
|
+
_ref$baseUrl = _ref.baseUrl,
|
|
459
|
+
baseUrl = _ref$baseUrl === void 0 ? window.location.pathname : _ref$baseUrl,
|
|
456
460
|
_ref$defaultSegmentNa = _ref.defaultSegmentName,
|
|
457
461
|
defaultSegmentName = _ref$defaultSegmentNa === void 0 ? ALL_RESULTS : _ref$defaultSegmentNa,
|
|
458
462
|
customFilters = _ref.customFilters,
|
|
@@ -468,7 +472,8 @@ var Segments = function Segments(_ref) {
|
|
|
468
472
|
var _useSegments = useSegments({
|
|
469
473
|
entity: entity,
|
|
470
474
|
columns: columns,
|
|
471
|
-
childrenKeys: childrenKeys
|
|
475
|
+
childrenKeys: childrenKeys,
|
|
476
|
+
baseUrl: baseUrl
|
|
472
477
|
}),
|
|
473
478
|
_useSegments$segments = _useSegments.segments,
|
|
474
479
|
segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
|
package/dist/cjs/Segments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Segments.js","sources":["../../app/javascript/src/components/Segments/constants.js","../../app/javascript/src/components/Segments/Delete.jsx","../../app/javascript/src/components/Segments/hooks/utils.js","../../app/javascript/src/components/Segments/hooks/useSegments.jsx","../../app/javascript/src/components/Segments/Segment.jsx","../../app/javascript/src/components/Segments/MenuBlocks.jsx","../../app/javascript/src/components/Segments/SidebarBlock.jsx","../../app/javascript/src/components/Segments/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const ITEMS_MAX_COUNT = 20;\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", DELETE: \"delete\" };\n\nexport const ALL_RESULTS = t(\"neetoFilters.common.allResults\");\n","import React from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { buildUrlFromFilters } from \"components/utils\";\nimport { useDestroySegment } from \"hooks/reactQuery/useSegmentsApi\";\n\nconst Delete = ({ isOpen, onClose, segment = {}, columns = [] }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = getQueryParams();\n\n const { mutate: deleteSegment, isPending: isDeleting } = useDestroySegment();\n\n const handleClearAll = () => {\n const params = buildUrlFromFilters({\n columns,\n filters: [],\n isClearAll: true,\n });\n history.push({ search: params });\n };\n\n const handleDelete = () => {\n equals(segment.id, segmentId) && handleClearAll();\n deleteSegment(segment.id, { onSuccess: onClose });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoFilters.common.delete\")}\n title={t(\"neetoFilters.segments.deleteAlertTitle\")}\n message={\n <Trans\n i18nKey=\"neetoFilters.segments.deleteAlertMessage\"\n values={{ entity: segment.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","export const reorderList = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildFiltersFromURL,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n} from \"components/utils\";\nimport {\n useFetchSegments,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\n\nimport { reorderList } from \"./utils\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegments = ({ entity, columns, childrenKeys }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const appliedFilters = buildFiltersFromURL(columns);\n\n const { data: fetchedSegments, isLoading } = useFetchSegments({ entity });\n\n const [segments, setSegments] = useState(fetchedSegments);\n\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n\n const [confirmAction, setConfirmAction] = useState({\n action: \"\",\n segment: undefined,\n });\n\n const handleSegmentsReorder = ({ source, destination }) => {\n if (!destination || source.index === destination.index) return;\n\n const reorderedSegments = reorderList(\n segments,\n source.index,\n destination.index\n );\n\n updateSegment({\n id: segments[source.index].id,\n payload: { position: destination.index + 1 },\n showToastr: false,\n });\n setSegments(reorderedSegments);\n };\n\n const clearAppliedFilters = (filters = appliedFilters) => {\n history.push({\n search: buildUrlFromFilters({\n columns,\n filters: [],\n isClearAll: true,\n childrenKeys:\n filters[0]?.conditions &&\n pluck(\"key\", filterBy({ node: \"children\" }, filters[0]?.conditions)),\n }),\n });\n };\n\n const handleSelectSegment = ({ id, filters }) => {\n history.push({\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n };\n\n useEffect(() => {\n setSegments(fetchedSegments);\n }, [fetchedSegments]);\n\n if (isLoading) {\n return <Spinner />;\n }\n\n if (isEmpty(segments)) {\n return (\n <Typography style=\"body2\">\n {t(\"neetoFilters.segments.noSegmentsFound\")}\n </Typography>\n );\n }\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n {\n id: confirmAction.segment.id,\n payload: { name, filters: filtersPayload },\n showToastr: false,\n },\n {\n onSuccess: () => {\n showThumbsUpToastr();\n setConfirmAction({ action: \"\", segment: undefined });\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const filters = buildFiltersFromSearchParams(columns);\n\n return {\n appliedFilters,\n segments,\n clearAppliedFilters,\n handleSelectSegment,\n handleSegmentsReorder,\n setConfirmAction,\n isUpdating,\n handleUpdate,\n filters,\n onClose: () => setConfirmAction({ action: \"\", segment: undefined }),\n selectedSegment: confirmAction.segment,\n isDeleteAlertOpen: confirmAction.action === SEGMENT_ACTIONS.DELETE,\n isEditPaneOpen: confirmAction.action === SEGMENT_ACTIONS.EDIT,\n };\n};\n\nexport default useSegments;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { findById, hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEGMENT_ACTIONS } from \"./constants\";\n\nconst Segment = ({\n id,\n isActive,\n label,\n onClick,\n shouldShowDropdown = false,\n segments,\n setConfirmAction,\n}) => {\n const { t } = useTranslation();\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoFilters.common.edit\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.EDIT,\n segment: findById(id, segments),\n }),\n },\n {\n key: \"delete\",\n label: t(\"neetoFilters.common.delete\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.DELETE,\n segment: findById(id, segments),\n }),\n },\n ];\n\n return (\n <div\n {...{ onClick }}\n data-cy={`neeto-filters-segment-block-${hyphenate(label)}`}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n { \"neeto-filters-segment--active\": isActive }\n )}\n >\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-cy=\"new-element-field\"\n >\n <Typography\n className=\"truncate leading-snug\"\n data-cy={hyphenate(label)}\n style=\"body2\"\n >\n {label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n className: \"min-h-0 flex-shrink-0\",\n \"data-cy\": `${hyphenate(label)}-more-dropdown`,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Segment;\n","import React, { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { Down } from \"neetoicons\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport { Button, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ITEMS_MAX_COUNT } from \"./constants\";\nimport Segment from \"./Segment\";\n\nconst MenuBlocks = ({\n entity,\n segments,\n segmentId,\n isUpdating,\n appliedFilters,\n setConfirmAction,\n defaultSegmentName,\n handleSelectSegment,\n clearAppliedFilters,\n handleSegmentsReorder,\n}) => {\n const { t } = useTranslation();\n\n const [showAll, setShowAll] = useState(false);\n\n return (\n <>\n <MenuBar.SubTitle>\n <Typography\n component=\"h4\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {t(\"neetoFilters.common.segments\")}\n </Typography>\n </MenuBar.SubTitle>\n {segments.length > ITEMS_MAX_COUNT && (\n <Button\n icon={Down}\n style=\"link\"\n label={\n showAll\n ? t(\"neetoFilters.segments.showLess\")\n : t(\"neetoFilters.segments.showMoreNumbers\", {\n entity: segments.length - ITEMS_MAX_COUNT,\n })\n }\n onClick={() => setShowAll(open => !open)}\n />\n )}\n <Segment\n isActive={isEmpty(appliedFilters)}\n label={defaultSegmentName}\n onClick={clearAppliedFilters}\n />\n <DragDropContext onDragEnd={handleSegmentsReorder}>\n <Droppable droppableId={`neeto-filters-segments-${entity}`}>\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {segments\n .slice(0, showAll ? segments.length : ITEMS_MAX_COUNT)\n .map((segment, index) => (\n <Draggable\n {...{ index }}\n draggableId={segment.id.toString()}\n isDragDisabled={isUpdating}\n key={segment.id.toString()}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <Segment\n {...{ segments, setConfirmAction }}\n shouldShowDropdown\n id={segment.id}\n isActive={segment.id === segmentId}\n key={segment.id}\n label={segment.name}\n onClick={() => handleSelectSegment(segment)}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </>\n );\n};\n\nexport default React.memo(MenuBlocks);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { findById, hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEGMENT_ACTIONS } from \"./constants\";\n\nconst SidebarBlock = ({\n id,\n isActive,\n label,\n onClick,\n segments,\n setConfirmAction,\n}) => {\n const { t } = useTranslation();\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoFilters.common.edit\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.EDIT,\n segment: findById(id, segments),\n }),\n },\n {\n key: \"delete\",\n label: t(\"neetoFilters.common.delete\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.DELETE,\n segment: findById(id, segments),\n }),\n },\n ];\n\n const dataCyPrefix = hyphenate(label);\n\n return (\n <button\n {...{ onClick }}\n data-cy={`${dataCyPrefix}-segment-link`}\n className={classNames(\n \"neeto-molecules-sidebar-segment neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none mb-0 w-full py-1\",\n { active: isActive }\n )}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-molecules-sidebar-segment__label neeto-ui-flex-grow min-w-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n \"data-testid\": `segment-more-menu-${dataCyPrefix}`,\n className: \"flex-shrink-0\",\n size: \"small\",\n style: \"secondary\",\n }}\n dropdownProps={{\n position: \"bottom-end\",\n strategy: \"fixed\",\n autoWidth: true,\n }}\n />\n </button>\n );\n};\n\nexport default SidebarBlock;\n","import React, { useRef } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\n\nimport { ALL_RESULTS } from \"./constants\";\nimport Delete from \"./Delete\";\nimport useSegments from \"./hooks/useSegments\";\nimport MenuBlocks from \"./MenuBlocks\";\nimport SidebarBlock from \"./SidebarBlock\";\n\nconst Segments = ({\n entity,\n columns,\n defaultSegmentName = ALL_RESULTS,\n customFilters,\n childrenKeys = [],\n isIndependent = true,\n}) => {\n const { t } = useTranslation();\n\n const { segmentId } = useQueryParams();\n\n const segmentFormInitialRef = useRef(null);\n\n const {\n segments = [],\n clearAppliedFilters,\n handleSelectSegment,\n handleSegmentsReorder,\n onClose,\n setConfirmAction,\n selectedSegment,\n isDeleteAlertOpen,\n isEditPaneOpen,\n isUpdating,\n handleUpdate,\n filters,\n appliedFilters,\n } = useSegments({ entity, columns, childrenKeys });\n\n return (\n <div data-testid=\"neeto-filters-segments\">\n {isIndependent ? (\n <MenuBlocks\n {...{\n appliedFilters,\n clearAppliedFilters,\n defaultSegmentName,\n entity,\n handleSegmentsReorder,\n handleSelectSegment,\n isUpdating,\n segmentId,\n segments,\n setConfirmAction,\n }}\n />\n ) : (\n <>\n {isNotEmpty(segments) && (\n <Typography\n style=\"body3\"\n weight=\"semibold\"\n className=\"neeto-molecules-sidebar-segments-header neeto-ui-text-transform-capitalize\n neeto-ui-text-gray-600 py-2 uppercase\"\n >\n {t(\"neetoFilters.segments.segment\", PLURAL)}\n </Typography>\n )}\n {segments.map(segment => (\n <SidebarBlock\n {...{ segments, setConfirmAction }}\n id={segment.id}\n isActive={segment.id === segmentId}\n key={segment.id}\n label={segment.name}\n onClick={() => handleSelectSegment(segment)}\n />\n ))}\n </>\n )}\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n onClose,\n segmentFormInitialRef,\n }}\n isEdit\n handleSubmit={handleUpdate}\n initialValues={selectedSegment}\n isOpen={isEditPaneOpen}\n isSubmitting={isUpdating}\n />\n <Delete\n {...{ columns, onClose }}\n isOpen={isDeleteAlertOpen}\n segment={selectedSegment}\n />\n </div>\n );\n};\n\nexport default React.memo(Segments);\n"],"names":["ITEMS_MAX_COUNT","SEGMENT_ACTIONS","EDIT","DELETE","ALL_RESULTS","t","Delete","_ref","isOpen","onClose","_ref$segment","segment","_ref$columns","columns","_useTranslation","useTranslation","history","useHistory","_getQueryParams","getQueryParams","segmentId","_useDestroySegment","useDestroySegment","deleteSegment","mutate","isDeleting","isPending","handleClearAll","params","buildUrlFromFilters","filters","isClearAll","push","search","handleDelete","equals","id","onSuccess","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","entity","name","onSubmit","reorderList","list","startIndex","endIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","useSegments","childrenKeys","appliedFilters","buildFiltersFromURL","_useFetchSegments","useFetchSegments","fetchedSegments","data","isLoading","_useState","useState","_useState2","segments","setSegments","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","_useState3","action","undefined","_useState4","confirmAction","setConfirmAction","handleSegmentsReorder","_ref2","source","destination","index","reorderedSegments","payload","position","showToastr","clearAppliedFilters","_filters$","_filters$2","arguments","length","conditions","pluck","filterBy","node","handleSelectSegment","_ref3","_filters$3","buildUrlFromSegment","useEffect","Spinner","isEmpty","Typography","style","children","handleUpdate","_ref4","_ref5","setFieldError","filtersPayload","buildSegmentsPayload","showThumbsUpToastr","onError","error","response","buildFiltersFromSearchParams","selectedSegment","isDeleteAlertOpen","isEditPaneOpen","Segment","isActive","label","onClick","_ref$shouldShowDropdo","shouldShowDropdown","menuItems","key","findById","_jsxs","concat","hyphenate","className","classnames","MoreDropdown","dropdownButtonProps","MenuBlocks","defaultSegmentName","showAll","setShowAll","_Fragment","MenuBar","SubTitle","component","textTransform","weight","Button","icon","Down","open","DragDropContext","onDragEnd","Droppable","droppableId","innerRef","droppableProps","placeholder","_objectSpread","ref","slice","map","_createElement","Draggable","draggableId","toString","isDragDisabled","draggableProps","dragHandleProps","React","memo","SidebarBlock","dataCyPrefix","classNames","active","size","dropdownProps","strategy","autoWidth","Segments","_ref$defaultSegmentNa","customFilters","_ref$childrenKeys","_ref$isIndependent","isIndependent","_useQueryParams","useQueryParams","segmentFormInitialRef","useRef","_useSegments","_useSegments$segments","isNotEmpty","PLURAL","SegmentForm","isEdit","handleSubmit","initialValues"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Segments.js","sources":["../../app/javascript/src/components/Segments/constants.js","../../app/javascript/src/components/Segments/Delete.jsx","../../app/javascript/src/components/Segments/hooks/utils.js","../../app/javascript/src/components/Segments/hooks/useSegments.jsx","../../app/javascript/src/components/Segments/Segment.jsx","../../app/javascript/src/components/Segments/MenuBlocks.jsx","../../app/javascript/src/components/Segments/SidebarBlock.jsx","../../app/javascript/src/components/Segments/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const ITEMS_MAX_COUNT = 20;\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", DELETE: \"delete\" };\n\nexport const ALL_RESULTS = t(\"neetoFilters.common.allResults\");\n","import React from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { buildUrlFromFilters } from \"components/utils\";\nimport { useDestroySegment } from \"hooks/reactQuery/useSegmentsApi\";\n\nconst Delete = ({ isOpen, onClose, segment = {}, columns = [] }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = getQueryParams();\n\n const { mutate: deleteSegment, isPending: isDeleting } = useDestroySegment();\n\n const handleClearAll = () => {\n const params = buildUrlFromFilters({\n columns,\n filters: [],\n isClearAll: true,\n });\n history.push({ search: params });\n };\n\n const handleDelete = () => {\n equals(segment.id, segmentId) && handleClearAll();\n deleteSegment(segment.id, { onSuccess: onClose });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoFilters.common.delete\")}\n title={t(\"neetoFilters.segments.deleteAlertTitle\")}\n message={\n <Trans\n i18nKey=\"neetoFilters.segments.deleteAlertMessage\"\n values={{ entity: segment.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","export const reorderList = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildFiltersFromURL,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n} from \"components/utils\";\nimport {\n useFetchSegments,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\n\nimport { reorderList } from \"./utils\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegments = ({ entity, columns, childrenKeys, baseUrl }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const appliedFilters = buildFiltersFromURL(columns);\n\n const { data: fetchedSegments, isLoading } = useFetchSegments({ entity });\n\n const [segments, setSegments] = useState(fetchedSegments);\n\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n\n const [confirmAction, setConfirmAction] = useState({\n action: \"\",\n segment: undefined,\n });\n\n const handleSegmentsReorder = ({ source, destination }) => {\n if (!destination || source.index === destination.index) return;\n\n const reorderedSegments = reorderList(\n segments,\n source.index,\n destination.index\n );\n\n updateSegment({\n id: segments[source.index].id,\n payload: { position: destination.index + 1 },\n showToastr: false,\n });\n setSegments(reorderedSegments);\n };\n\n const clearAppliedFilters = (filters = appliedFilters) => {\n history.push({\n search: buildUrlFromFilters({\n columns,\n filters: [],\n isClearAll: true,\n childrenKeys:\n filters[0]?.conditions &&\n pluck(\"key\", filterBy({ node: \"children\" }, filters[0]?.conditions)),\n }),\n });\n };\n\n const handleSelectSegment = ({ id, filters }) => {\n history.push({\n pathname: baseUrl,\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n };\n\n useEffect(() => {\n setSegments(fetchedSegments);\n }, [fetchedSegments]);\n\n if (isLoading) {\n return <Spinner />;\n }\n\n if (isEmpty(segments)) {\n return (\n <Typography style=\"body2\">\n {t(\"neetoFilters.segments.noSegmentsFound\")}\n </Typography>\n );\n }\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n {\n id: confirmAction.segment.id,\n payload: { name, filters: filtersPayload },\n showToastr: false,\n },\n {\n onSuccess: () => {\n showThumbsUpToastr();\n setConfirmAction({ action: \"\", segment: undefined });\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const filters = buildFiltersFromSearchParams(columns);\n\n return {\n appliedFilters,\n segments,\n clearAppliedFilters,\n handleSelectSegment,\n handleSegmentsReorder,\n setConfirmAction,\n isUpdating,\n handleUpdate,\n filters,\n onClose: () => setConfirmAction({ action: \"\", segment: undefined }),\n selectedSegment: confirmAction.segment,\n isDeleteAlertOpen: confirmAction.action === SEGMENT_ACTIONS.DELETE,\n isEditPaneOpen: confirmAction.action === SEGMENT_ACTIONS.EDIT,\n };\n};\n\nexport default useSegments;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { findById, hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEGMENT_ACTIONS } from \"./constants\";\n\nconst Segment = ({\n id,\n isActive,\n label,\n onClick,\n shouldShowDropdown = false,\n segments,\n setConfirmAction,\n}) => {\n const { t } = useTranslation();\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoFilters.common.edit\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.EDIT,\n segment: findById(id, segments),\n }),\n },\n {\n key: \"delete\",\n label: t(\"neetoFilters.common.delete\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.DELETE,\n segment: findById(id, segments),\n }),\n },\n ];\n\n return (\n <div\n {...{ onClick }}\n data-cy={`neeto-filters-segment-block-${hyphenate(label)}`}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n { \"neeto-filters-segment--active\": isActive }\n )}\n >\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-cy=\"new-element-field\"\n >\n <Typography\n className=\"truncate leading-snug\"\n data-cy={hyphenate(label)}\n style=\"body2\"\n >\n {label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n className: \"min-h-0 flex-shrink-0\",\n \"data-cy\": `${hyphenate(label)}-more-dropdown`,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Segment;\n","import React, { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { Down } from \"neetoicons\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport { Button, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ITEMS_MAX_COUNT } from \"./constants\";\nimport Segment from \"./Segment\";\n\nconst MenuBlocks = ({\n entity,\n segments,\n segmentId,\n isUpdating,\n appliedFilters,\n setConfirmAction,\n defaultSegmentName,\n handleSelectSegment,\n clearAppliedFilters,\n handleSegmentsReorder,\n}) => {\n const { t } = useTranslation();\n\n const [showAll, setShowAll] = useState(false);\n\n return (\n <>\n <MenuBar.SubTitle>\n <Typography\n component=\"h4\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {t(\"neetoFilters.common.segments\")}\n </Typography>\n </MenuBar.SubTitle>\n {segments.length > ITEMS_MAX_COUNT && (\n <Button\n icon={Down}\n style=\"link\"\n label={\n showAll\n ? t(\"neetoFilters.segments.showLess\")\n : t(\"neetoFilters.segments.showMoreNumbers\", {\n entity: segments.length - ITEMS_MAX_COUNT,\n })\n }\n onClick={() => setShowAll(open => !open)}\n />\n )}\n <Segment\n isActive={isEmpty(appliedFilters)}\n label={defaultSegmentName}\n onClick={clearAppliedFilters}\n />\n <DragDropContext onDragEnd={handleSegmentsReorder}>\n <Droppable droppableId={`neeto-filters-segments-${entity}`}>\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {segments\n .slice(0, showAll ? segments.length : ITEMS_MAX_COUNT)\n .map((segment, index) => (\n <Draggable\n {...{ index }}\n draggableId={segment.id.toString()}\n isDragDisabled={isUpdating}\n key={segment.id.toString()}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <Segment\n {...{ segments, setConfirmAction }}\n shouldShowDropdown\n id={segment.id}\n isActive={segment.id === segmentId}\n key={segment.id}\n label={segment.name}\n onClick={() => handleSelectSegment(segment)}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </>\n );\n};\n\nexport default React.memo(MenuBlocks);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { findById, hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEGMENT_ACTIONS } from \"./constants\";\n\nconst SidebarBlock = ({\n id,\n isActive,\n label,\n onClick,\n segments,\n setConfirmAction,\n}) => {\n const { t } = useTranslation();\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoFilters.common.edit\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.EDIT,\n segment: findById(id, segments),\n }),\n },\n {\n key: \"delete\",\n label: t(\"neetoFilters.common.delete\"),\n onClick: () =>\n setConfirmAction({\n action: SEGMENT_ACTIONS.DELETE,\n segment: findById(id, segments),\n }),\n },\n ];\n\n const dataCyPrefix = hyphenate(label);\n\n return (\n <button\n {...{ onClick }}\n data-cy={`${dataCyPrefix}-segment-link`}\n className={classNames(\n \"neeto-molecules-sidebar-segment neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none mb-0 w-full py-1\",\n { active: isActive }\n )}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-molecules-sidebar-segment__label neeto-ui-flex-grow min-w-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n \"data-testid\": `segment-more-menu-${dataCyPrefix}`,\n className: \"flex-shrink-0\",\n size: \"small\",\n style: \"secondary\",\n }}\n dropdownProps={{\n position: \"bottom-end\",\n strategy: \"fixed\",\n autoWidth: true,\n }}\n />\n </button>\n );\n};\n\nexport default SidebarBlock;\n","import React, { useRef } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\n\nimport { ALL_RESULTS } from \"./constants\";\nimport Delete from \"./Delete\";\nimport useSegments from \"./hooks/useSegments\";\nimport MenuBlocks from \"./MenuBlocks\";\nimport SidebarBlock from \"./SidebarBlock\";\n\nconst Segments = ({\n entity,\n columns,\n baseUrl = window.location.pathname,\n defaultSegmentName = ALL_RESULTS,\n customFilters,\n childrenKeys = [],\n isIndependent = true,\n}) => {\n const { t } = useTranslation();\n\n const { segmentId } = useQueryParams();\n\n const segmentFormInitialRef = useRef(null);\n\n const {\n segments = [],\n clearAppliedFilters,\n handleSelectSegment,\n handleSegmentsReorder,\n onClose,\n setConfirmAction,\n selectedSegment,\n isDeleteAlertOpen,\n isEditPaneOpen,\n isUpdating,\n handleUpdate,\n filters,\n appliedFilters,\n } = useSegments({ entity, columns, childrenKeys, baseUrl });\n\n return (\n <div data-testid=\"neeto-filters-segments\">\n {isIndependent ? (\n <MenuBlocks\n {...{\n appliedFilters,\n clearAppliedFilters,\n defaultSegmentName,\n entity,\n handleSegmentsReorder,\n handleSelectSegment,\n isUpdating,\n segmentId,\n segments,\n setConfirmAction,\n }}\n />\n ) : (\n <>\n {isNotEmpty(segments) && (\n <Typography\n style=\"body3\"\n weight=\"semibold\"\n className=\"neeto-molecules-sidebar-segments-header neeto-ui-text-transform-capitalize\n neeto-ui-text-gray-600 py-2 uppercase\"\n >\n {t(\"neetoFilters.segments.segment\", PLURAL)}\n </Typography>\n )}\n {segments.map(segment => (\n <SidebarBlock\n {...{ segments, setConfirmAction }}\n id={segment.id}\n isActive={segment.id === segmentId}\n key={segment.id}\n label={segment.name}\n onClick={() => handleSelectSegment(segment)}\n />\n ))}\n </>\n )}\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n onClose,\n segmentFormInitialRef,\n }}\n isEdit\n handleSubmit={handleUpdate}\n initialValues={selectedSegment}\n isOpen={isEditPaneOpen}\n isSubmitting={isUpdating}\n />\n <Delete\n {...{ columns, onClose }}\n isOpen={isDeleteAlertOpen}\n segment={selectedSegment}\n />\n </div>\n );\n};\n\nexport default React.memo(Segments);\n"],"names":["ITEMS_MAX_COUNT","SEGMENT_ACTIONS","EDIT","DELETE","ALL_RESULTS","t","Delete","_ref","isOpen","onClose","_ref$segment","segment","_ref$columns","columns","_useTranslation","useTranslation","history","useHistory","_getQueryParams","getQueryParams","segmentId","_useDestroySegment","useDestroySegment","deleteSegment","mutate","isDeleting","isPending","handleClearAll","params","buildUrlFromFilters","filters","isClearAll","push","search","handleDelete","equals","id","onSuccess","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","entity","name","onSubmit","reorderList","list","startIndex","endIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","useSegments","childrenKeys","baseUrl","appliedFilters","buildFiltersFromURL","_useFetchSegments","useFetchSegments","fetchedSegments","data","isLoading","_useState","useState","_useState2","segments","setSegments","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","_useState3","action","undefined","_useState4","confirmAction","setConfirmAction","handleSegmentsReorder","_ref2","source","destination","index","reorderedSegments","payload","position","showToastr","clearAppliedFilters","_filters$","_filters$2","arguments","length","conditions","pluck","filterBy","node","handleSelectSegment","_ref3","_filters$3","pathname","buildUrlFromSegment","useEffect","Spinner","isEmpty","Typography","style","children","handleUpdate","_ref4","_ref5","setFieldError","filtersPayload","buildSegmentsPayload","showThumbsUpToastr","onError","error","response","buildFiltersFromSearchParams","selectedSegment","isDeleteAlertOpen","isEditPaneOpen","Segment","isActive","label","onClick","_ref$shouldShowDropdo","shouldShowDropdown","menuItems","key","findById","_jsxs","concat","hyphenate","className","classnames","MoreDropdown","dropdownButtonProps","MenuBlocks","defaultSegmentName","showAll","setShowAll","_Fragment","MenuBar","SubTitle","component","textTransform","weight","Button","icon","Down","open","DragDropContext","onDragEnd","Droppable","droppableId","innerRef","droppableProps","placeholder","_objectSpread","ref","slice","map","_createElement","Draggable","draggableId","toString","isDragDisabled","draggableProps","dragHandleProps","React","memo","SidebarBlock","dataCyPrefix","classNames","active","size","dropdownProps","strategy","autoWidth","Segments","_ref$baseUrl","window","location","_ref$defaultSegmentNa","customFilters","_ref$childrenKeys","_ref$isIndependent","isIndependent","_useQueryParams","useQueryParams","segmentFormInitialRef","useRef","_useSegments","_useSegments$segments","isNotEmpty","PLURAL","SegmentForm","isEdit","handleSubmit","initialValues"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-filters-frontend",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.1",
|
|
4
4
|
"description": "Manage filters across neeto products.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-filters-nano",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"@bigbinary/eslint-plugin-neeto": "1.5.2",
|
|
64
64
|
"@bigbinary/neeto-audit-frontend": "2.0.12",
|
|
65
65
|
"@bigbinary/neeto-cist": "1.0.11",
|
|
66
|
-
"@bigbinary/neeto-commons-frontend": "4.3.
|
|
67
|
-
"@bigbinary/neeto-filters-frontend": "4.0
|
|
66
|
+
"@bigbinary/neeto-commons-frontend": "4.3.4",
|
|
67
|
+
"@bigbinary/neeto-filters-frontend": "4.1.0",
|
|
68
68
|
"@bigbinary/neeto-hotkeys": "^1.0.1",
|
|
69
69
|
"@bigbinary/neeto-icons": "1.20.0",
|
|
70
70
|
"@bigbinary/neeto-molecules": "3.3.4",
|
|
@@ -169,8 +169,8 @@
|
|
|
169
169
|
},
|
|
170
170
|
"peerDependencies": {
|
|
171
171
|
"@bigbinary/neeto-cist": "latest",
|
|
172
|
-
"@bigbinary/neeto-commons-frontend": "4.3.
|
|
173
|
-
"@bigbinary/neeto-filters-frontend": "4.0
|
|
172
|
+
"@bigbinary/neeto-commons-frontend": "4.3.4",
|
|
173
|
+
"@bigbinary/neeto-filters-frontend": "4.1.0",
|
|
174
174
|
"@bigbinary/neeto-hotkeys": "^1.0.1",
|
|
175
175
|
"@bigbinary/neeto-icons": "1.20.0",
|
|
176
176
|
"@bigbinary/neeto-molecules": "3.3.4",
|
package/types.d.ts
CHANGED
|
@@ -122,6 +122,7 @@ export function Bar(props: {
|
|
|
122
122
|
onSelectorsChange?: (selectors: selectors) => void;
|
|
123
123
|
childrenKeys?: string[];
|
|
124
124
|
defaultSegmentName?: string;
|
|
125
|
+
segmentsBaseUrl?: string;
|
|
125
126
|
customFilters?: React.ReactNode;
|
|
126
127
|
[otherProps: string]: any;
|
|
127
128
|
}): JSX.Element;
|
|
@@ -133,6 +134,7 @@ export function Segments(props: {
|
|
|
133
134
|
customFilters?: React.ReactNode;
|
|
134
135
|
childrenKeys?: string[];
|
|
135
136
|
isIndependent?: boolean;
|
|
137
|
+
segmentsUrl?: string;
|
|
136
138
|
}): JSX.Element;
|
|
137
139
|
|
|
138
140
|
export function buildFiltersFromURL(
|