@bigbinary/neeto-fields-frontend 4.0.5 → 4.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/FieldsDashboard.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { noop, capitalize, isPresent } from '@bigbinary/neeto-cist';
|
|
2
|
+
import { noop, isNotPresent, capitalize, isPresent } from '@bigbinary/neeto-cist';
|
|
3
3
|
import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
4
4
|
import { buildUrl, getQueryParams, hasPermission } from '@bigbinary/neeto-commons-frontend/utils';
|
|
5
5
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
@@ -324,7 +324,8 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
324
324
|
t = _useTranslation.t;
|
|
325
325
|
var showNoDataScreen = isFetched && isEmpty(rowData);
|
|
326
326
|
var _getQueryParams = getQueryParams(),
|
|
327
|
-
state = _getQueryParams.state
|
|
327
|
+
state = _getQueryParams.state,
|
|
328
|
+
searchTerm = _getQueryParams.searchTerm;
|
|
328
329
|
title = title.toLocaleLowerCase();
|
|
329
330
|
var page = pageProps.page,
|
|
330
331
|
pageSize = pageProps.pageSize;
|
|
@@ -338,7 +339,7 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
338
339
|
if (helpDocUrl) {
|
|
339
340
|
noDataProps.helpText = renderNoDataHelpText(title, helpDocUrl);
|
|
340
341
|
}
|
|
341
|
-
if (FIELD_STATES.active === state && canManageFields) {
|
|
342
|
+
if (isNotPresent(searchTerm) && FIELD_STATES.active === state && canManageFields) {
|
|
342
343
|
noDataProps.primaryButtonProps = {
|
|
343
344
|
label: t("neetoFields.labels.addField"),
|
|
344
345
|
onClick: function onClick() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldsDashboard.js","sources":["../app/javascript/src/apis/configs.js","../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../app/javascript/src/hooks/useFieldsDashboard.js","../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../app/javascript/src/components/FieldsDashBoard/Header.jsx","../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../app/javascript/src/components/FieldsDashBoard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery({\n queryKey: [QUERY_KEYS.CONFIGS],\n queryFn: configsApi.fetchConfigs,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { keepPreviousData } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { handleMetaClick, useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { FIELD_STATES } from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n canManageFields,\n onDeleteSuccess = noop,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [pageProps, setPageProps] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { searchTerm, resource, state } = useQueryParams();\n const history = useHistory();\n const { t } = useTranslation();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const filters = useMemo(\n () => buildFiltersFromURL([searchKeywordProps]),\n [searchTerm]\n );\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n pageProps,\n filters,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n placeholderData: keepPreviousData,\n });\n\n const { mutate: deleteField, isPending: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n onDeleteSuccess?.();\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n canManageFields,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased\n ? menuItems?.[0]?.id\n : menuItems?.[0]?.value;\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchInputProps = {\n placeholder: t(\"neetoFields.placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n const isSearchBarNeeded =\n state === FIELD_STATES.active\n ? activeFieldsCount > 0\n : inactiveFieldsCount > 0;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources, resource, state]);\n\n useEffect(() => {\n setPageProps({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps: isSearchBarNeeded ? searchInputProps : null,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Spinner, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FIELD_STATES } from \"./constants\";\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n showStateFilter,\n canManageFields,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n const { state } = getQueryParams();\n title = title.toLocaleLowerCase();\n const { page, pageSize } = pageProps;\n const noDataProps = {};\n\n if (!isFetched && isEmpty(rowData)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (helpDocUrl) {\n noDataProps.helpText = renderNoDataHelpText(title, helpDocUrl);\n }\n\n if (FIELD_STATES.active === state && canManageFields) {\n noDataProps.primaryButtonProps = {\n label: t(\"neetoFields.labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n };\n }\n\n return (\n <>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n showStateFilter\n ? t(\"neetoFields.messages.noFieldsWithState\", { title, state })\n : t(\"neetoFields.messages.noFields\", { title })\n }\n {...noDataProps}\n />\n </div>\n ) : (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, rowData, totalCount }}\n fixedHeight\n allowRowClick={false}\n currentPageNumber={page}\n defaultPageSize={pageSize}\n handlePageChange={page => setPageProps({ ...pageProps, page })}\n loading={isFetching}\n />\n </TableWrapper>\n )}\n </>\n );\n};\n\nexport default FieldsTable;\n","import { withT } from \"neetocommons/react-utils\";\nimport NeetoUIHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\n\nconst Header = withT(\n ({\n searchInputProps,\n breadcrumbs,\n title,\n helpDocUrl,\n helpDescription,\n size,\n setIsPaneOpen,\n t,\n canManageFields,\n }) => (\n <NeetoUIHeader\n {...{ breadcrumbs, size, title }}\n searchProps={searchInputProps}\n actionBlock={\n canManageFields && (\n <Button\n data-testid=\"neeto-fields-add-button\"\n label={t(\"neetoFields.labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n )\n }\n titleHelpPopoverProps={\n (helpDocUrl || helpDescription) && {\n title,\n description: helpDescription,\n helpLinkProps: helpDocUrl && { href: helpDocUrl },\n }\n }\n />\n )\n);\n\nexport default Header;\n","import NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { memo } from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index }) => {\n const { attributes, listeners, setNodeRef, transform, isDragging } =\n useSortable({ id: field.id, data: { index } });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n {...{ style, ...attributes, ...listeners }}\n className=\"nf-reorder-field neeto-ui-text-gray-800 mb-3 flex w-full items-center gap-x-3 font-medium\"\n data-testid=\"reorder-field-block\"\n >\n <div\n className={classNames(\"cursor-grab\", { \"cursor-grabbing\": isDragging })}\n >\n <Reorder />\n </div>\n <div className=\"nf-reorder-field__name neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex grow items-center border border-solid p-3 transition-all duration-300 ease-in-out\">\n <div data-testid=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default memo(FieldBlock);\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { noop } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/custom_field.css\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId, onReorderSuccess = noop }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isPending: isSubmitting } = useReorderFields({\n onSuccess: onReorderSuccess,\n });\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n { enabled: !!resource && isOpen }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n useEffect(() => {\n if (isEmpty(allFields)) return;\n setFields(allFields);\n initialStateRef.current = allFields;\n }, [allFields]);\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-testid=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoFields.titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-testid=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"neetoFields.messages.reorderFields\")}\n </Typography>\n <div className=\"flex w-full flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-testid=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"neetoFields.labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-testid=\"cancel-button\"\n label={t(\"neetoFields.labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import { Bar as FilterBar } from \"neetofilters\";\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({\n count = 0,\n reorderable,\n searchKeywordProps,\n setIsReorderPaneOpen,\n showSubheader,\n}) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n showSubheader && (\n <>\n <Typography\n className=\"neeto-ui-gray-800 me-4 font-semibold\"\n data-testid=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"neetoFields.titles.fieldWithCount\", { count })}\n </Typography>\n <FilterBar className=\"mb-0\" keyword={searchKeywordProps} />\n </>\n )\n }\n rightActionBlock={\n reorderable && (\n <Button\n data-testid=\"neeto-fields-reorder-button\"\n label={t(\"neetoFields.titles.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Subheader;\n","import { capitalize, isPresent, noop } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { hasPermission } from \"neetocommons/utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n helpDescription,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n headerSize = \"small\",\n canManageFields,\n onDeleteSuccess = noop,\n onReorderSuccess = noop,\n}) => {\n const { t } = useTranslation();\n\n const isAllowedToManageFields =\n canManageFields ?? hasPermission(\"neeto_fields_engine.manage_fields\");\n\n const title = capitalize(\n headerTitle || t(\"neetoFields.titles.field\", PLURAL)\n );\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n onDeleteSuccess,\n showStateFilter,\n canManageFields: isAllowedToManageFields,\n });\n\n const headerProps = {\n breadcrumbs,\n helpDocUrl,\n helpDescription,\n searchInputProps,\n setIsPaneOpen,\n title: headerDisplayTitle,\n size: headerSize,\n canManageFields: isAllowedToManageFields,\n };\n\n const showSubheader =\n showCountSubheader || isPresent(searchKeywordProps.value);\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showStateFilter && stateFilterTabs}\n <Subheader\n {...{\n count,\n searchKeywordProps,\n setIsReorderPaneOpen,\n showSubheader,\n }}\n reorderable={reorderable && isAllowedToManageFields}\n />\n {isScreenLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <FieldsTable\n {...{\n columnData,\n helpDescription,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n showStateFilter,\n title,\n }}\n canManageFields={isAllowedToManageFields}\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n />\n )}\n <FieldsPane\n {...{ allowedKinds, selectedField }}\n additionalValidations={paneProps?.validations}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n {...{ onReorderSuccess }}\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n"],"names":["fetchConfigs","axios","get","CONFIGS_URL","configsApi","useFetchConfigs","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","CONFIGS","queryFn","staleTime","DEFAULT_STALE_TIME","useFieldsDashboard","_ref","buildColumnData","isOwnerBased","fieldStatesTaxonomy","nameAliases","title","resources","showStateFilter","canManageFields","_ref$onDeleteSuccess","onDeleteSuccess","noop","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","selectedField","setSelectedField","_useState9","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","_useState10","pageProps","setPageProps","_useQueryParams","useQueryParams","searchTerm","resource","state","history","useHistory","_useTranslation","useTranslation","t","searchKeywordProps","key","node","value","ownerId","undefined","_useFetchConfigs","enabled","_useFetchConfigs$data","data","_useFetchConfigs$data2","_useFetchConfigs$data3","owners","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","isLoading","filters","useMemo","buildFiltersFromURL","fieldParams","resourceType","FIELD_STATES","active","_useFetchFields","useFetchFields","placeholderData","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","fields","count","activeFieldsCount","inactiveFieldsCount","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","useDestroyField","onSuccess","deleteField","mutate","isDeleting","isPending","handleDelete","fieldId","id","handleClosePane","handleEditButtonClick","field","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","buildDefaultColumns","onDeleteClick","onEditClick","columnData","handleBlockClick","params","handleMetaClick","buildUrl","menuItems","handleURLWithDefaultValues","queryParams","isNil","_menuItems$","_menuItems$2","any","replace","isScreenLoading","showCountSubheader","searchInputProps","placeholder","className","isSingleResource","length","isMenuBarNeeded","isSearchBarNeeded","resourceName","getResourceName","selectedVal","headerDisplayTitle","getDashBoardTitle","stateFilterTabs","renderStateFilterTabs","selectedState","menuBarItems","renderMenuBarItems","items","selectedMenu","useEffect","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","isEmpty","_getQueryParams","getQueryParams","toLocaleLowerCase","noDataProps","_jsx","children","Spinner","helpText","renderNoDataHelpText","primaryButtonProps","label","onClick","_Fragment","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","loading","Header","withT","breadcrumbs","helpDescription","size","NeetoUIHeader","searchProps","actionBlock","Button","titleHelpPopoverProps","description","helpLinkProps","href","Menubar","NeetoUIMenuBar","showMenu","FieldBlock","index","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","isDragging","style","CSS","Transform","toString","_jsxs","ref","classNames","Reorder","name","memo","ReorderPane","isOpen","onClose","_ref$onReorderSuccess","onReorderSuccess","setFields","initialStateRef","useRef","_useReorderFields","useReorderFields","reorderField","isSubmitting","allFields","handleDragEnd","_ref2","over","arrayMove","current","handleReorderSave","map","push","displayOrder","Pane","Typography","weight","Body","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","strategy","verticalListSortingStrategy","isSystem","_createElement","Footer","disabled","Subheader","_ref$count","showSubheader","NeetoUISubHeader","leftActionBlock","FilterBar","keyword","rightActionBlock","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","_ref$resourceType","_ref$allowedKinds","allowedKinds","ALL_KINDS","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","DEFAULT_FIELD_STATE_TAXONOMY","_ref$nameAliases","headerTitle","_ref$headerSize","headerSize","isAllowedToManageFields","hasPermission","capitalize","PLURAL","_useFieldsDashboard","headerProps","isPresent","Container","FieldsPane","additionalValidations","validations","hideRequiredSwitch","initialValues","onMutationSuccess","DeleteAlert","resourceTypeName"],"mappings":"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","x_google_ignoreList":[6]}
|
|
1
|
+
{"version":3,"file":"FieldsDashboard.js","sources":["../app/javascript/src/apis/configs.js","../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../app/javascript/src/hooks/useFieldsDashboard.js","../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../app/javascript/src/components/FieldsDashBoard/Header.jsx","../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../app/javascript/src/components/FieldsDashBoard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery({\n queryKey: [QUERY_KEYS.CONFIGS],\n queryFn: configsApi.fetchConfigs,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { keepPreviousData } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { handleMetaClick, useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { FIELD_STATES } from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n canManageFields,\n onDeleteSuccess = noop,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [pageProps, setPageProps] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { searchTerm, resource, state } = useQueryParams();\n const history = useHistory();\n const { t } = useTranslation();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const filters = useMemo(\n () => buildFiltersFromURL([searchKeywordProps]),\n [searchTerm]\n );\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n pageProps,\n filters,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n placeholderData: keepPreviousData,\n });\n\n const { mutate: deleteField, isPending: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n onDeleteSuccess?.();\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n canManageFields,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased\n ? menuItems?.[0]?.id\n : menuItems?.[0]?.value;\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchInputProps = {\n placeholder: t(\"neetoFields.placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n const isSearchBarNeeded =\n state === FIELD_STATES.active\n ? activeFieldsCount > 0\n : inactiveFieldsCount > 0;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources, resource, state]);\n\n useEffect(() => {\n setPageProps({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps: isSearchBarNeeded ? searchInputProps : null,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import { isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Spinner, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FIELD_STATES } from \"./constants\";\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n showStateFilter,\n canManageFields,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n const { state, searchTerm } = getQueryParams();\n title = title.toLocaleLowerCase();\n const { page, pageSize } = pageProps;\n const noDataProps = {};\n\n if (!isFetched && isEmpty(rowData)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (helpDocUrl) {\n noDataProps.helpText = renderNoDataHelpText(title, helpDocUrl);\n }\n\n if (\n isNotPresent(searchTerm) &&\n FIELD_STATES.active === state &&\n canManageFields\n ) {\n noDataProps.primaryButtonProps = {\n label: t(\"neetoFields.labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n };\n }\n\n return (\n <>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n showStateFilter\n ? t(\"neetoFields.messages.noFieldsWithState\", { title, state })\n : t(\"neetoFields.messages.noFields\", { title })\n }\n {...noDataProps}\n />\n </div>\n ) : (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, rowData, totalCount }}\n fixedHeight\n allowRowClick={false}\n currentPageNumber={page}\n defaultPageSize={pageSize}\n handlePageChange={page => setPageProps({ ...pageProps, page })}\n loading={isFetching}\n />\n </TableWrapper>\n )}\n </>\n );\n};\n\nexport default FieldsTable;\n","import { withT } from \"neetocommons/react-utils\";\nimport NeetoUIHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\n\nconst Header = withT(\n ({\n searchInputProps,\n breadcrumbs,\n title,\n helpDocUrl,\n helpDescription,\n size,\n setIsPaneOpen,\n t,\n canManageFields,\n }) => (\n <NeetoUIHeader\n {...{ breadcrumbs, size, title }}\n searchProps={searchInputProps}\n actionBlock={\n canManageFields && (\n <Button\n data-testid=\"neeto-fields-add-button\"\n label={t(\"neetoFields.labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n )\n }\n titleHelpPopoverProps={\n (helpDocUrl || helpDescription) && {\n title,\n description: helpDescription,\n helpLinkProps: helpDocUrl && { href: helpDocUrl },\n }\n }\n />\n )\n);\n\nexport default Header;\n","import NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { memo } from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index }) => {\n const { attributes, listeners, setNodeRef, transform, isDragging } =\n useSortable({ id: field.id, data: { index } });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n {...{ style, ...attributes, ...listeners }}\n className=\"nf-reorder-field neeto-ui-text-gray-800 mb-3 flex w-full items-center gap-x-3 font-medium\"\n data-testid=\"reorder-field-block\"\n >\n <div\n className={classNames(\"cursor-grab\", { \"cursor-grabbing\": isDragging })}\n >\n <Reorder />\n </div>\n <div className=\"nf-reorder-field__name neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex grow items-center border border-solid p-3 transition-all duration-300 ease-in-out\">\n <div data-testid=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default memo(FieldBlock);\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { noop } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/custom_field.css\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId, onReorderSuccess = noop }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isPending: isSubmitting } = useReorderFields({\n onSuccess: onReorderSuccess,\n });\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n { enabled: !!resource && isOpen }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n useEffect(() => {\n if (isEmpty(allFields)) return;\n setFields(allFields);\n initialStateRef.current = allFields;\n }, [allFields]);\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-testid=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoFields.titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-testid=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"neetoFields.messages.reorderFields\")}\n </Typography>\n <div className=\"flex w-full flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-testid=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"neetoFields.labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-testid=\"cancel-button\"\n label={t(\"neetoFields.labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import { Bar as FilterBar } from \"neetofilters\";\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({\n count = 0,\n reorderable,\n searchKeywordProps,\n setIsReorderPaneOpen,\n showSubheader,\n}) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n showSubheader && (\n <>\n <Typography\n className=\"neeto-ui-gray-800 me-4 font-semibold\"\n data-testid=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"neetoFields.titles.fieldWithCount\", { count })}\n </Typography>\n <FilterBar className=\"mb-0\" keyword={searchKeywordProps} />\n </>\n )\n }\n rightActionBlock={\n reorderable && (\n <Button\n data-testid=\"neeto-fields-reorder-button\"\n label={t(\"neetoFields.titles.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Subheader;\n","import { capitalize, isPresent, noop } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { hasPermission } from \"neetocommons/utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n helpDescription,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n headerSize = \"small\",\n canManageFields,\n onDeleteSuccess = noop,\n onReorderSuccess = noop,\n}) => {\n const { t } = useTranslation();\n\n const isAllowedToManageFields =\n canManageFields ?? hasPermission(\"neeto_fields_engine.manage_fields\");\n\n const title = capitalize(\n headerTitle || t(\"neetoFields.titles.field\", PLURAL)\n );\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n onDeleteSuccess,\n showStateFilter,\n canManageFields: isAllowedToManageFields,\n });\n\n const headerProps = {\n breadcrumbs,\n helpDocUrl,\n helpDescription,\n searchInputProps,\n setIsPaneOpen,\n title: headerDisplayTitle,\n size: headerSize,\n canManageFields: isAllowedToManageFields,\n };\n\n const showSubheader =\n showCountSubheader || isPresent(searchKeywordProps.value);\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showStateFilter && stateFilterTabs}\n <Subheader\n {...{\n count,\n searchKeywordProps,\n setIsReorderPaneOpen,\n showSubheader,\n }}\n reorderable={reorderable && isAllowedToManageFields}\n />\n {isScreenLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <FieldsTable\n {...{\n columnData,\n helpDescription,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n showStateFilter,\n title,\n }}\n canManageFields={isAllowedToManageFields}\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n />\n )}\n <FieldsPane\n {...{ allowedKinds, selectedField }}\n additionalValidations={paneProps?.validations}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n {...{ onReorderSuccess }}\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n"],"names":["fetchConfigs","axios","get","CONFIGS_URL","configsApi","useFetchConfigs","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","CONFIGS","queryFn","staleTime","DEFAULT_STALE_TIME","useFieldsDashboard","_ref","buildColumnData","isOwnerBased","fieldStatesTaxonomy","nameAliases","title","resources","showStateFilter","canManageFields","_ref$onDeleteSuccess","onDeleteSuccess","noop","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","selectedField","setSelectedField","_useState9","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","_useState10","pageProps","setPageProps","_useQueryParams","useQueryParams","searchTerm","resource","state","history","useHistory","_useTranslation","useTranslation","t","searchKeywordProps","key","node","value","ownerId","undefined","_useFetchConfigs","enabled","_useFetchConfigs$data","data","_useFetchConfigs$data2","_useFetchConfigs$data3","owners","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","isLoading","filters","useMemo","buildFiltersFromURL","fieldParams","resourceType","FIELD_STATES","active","_useFetchFields","useFetchFields","placeholderData","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","fields","count","activeFieldsCount","inactiveFieldsCount","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","useDestroyField","onSuccess","deleteField","mutate","isDeleting","isPending","handleDelete","fieldId","id","handleClosePane","handleEditButtonClick","field","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","buildDefaultColumns","onDeleteClick","onEditClick","columnData","handleBlockClick","params","handleMetaClick","buildUrl","menuItems","handleURLWithDefaultValues","queryParams","isNil","_menuItems$","_menuItems$2","any","replace","isScreenLoading","showCountSubheader","searchInputProps","placeholder","className","isSingleResource","length","isMenuBarNeeded","isSearchBarNeeded","resourceName","getResourceName","selectedVal","headerDisplayTitle","getDashBoardTitle","stateFilterTabs","renderStateFilterTabs","selectedState","menuBarItems","renderMenuBarItems","items","selectedMenu","useEffect","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","isEmpty","_getQueryParams","getQueryParams","toLocaleLowerCase","noDataProps","_jsx","children","Spinner","helpText","renderNoDataHelpText","isNotPresent","primaryButtonProps","label","onClick","_Fragment","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","loading","Header","withT","breadcrumbs","helpDescription","size","NeetoUIHeader","searchProps","actionBlock","Button","titleHelpPopoverProps","description","helpLinkProps","href","Menubar","NeetoUIMenuBar","showMenu","FieldBlock","index","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","isDragging","style","CSS","Transform","toString","_jsxs","ref","classNames","Reorder","name","memo","ReorderPane","isOpen","onClose","_ref$onReorderSuccess","onReorderSuccess","setFields","initialStateRef","useRef","_useReorderFields","useReorderFields","reorderField","isSubmitting","allFields","handleDragEnd","_ref2","over","arrayMove","current","handleReorderSave","map","push","displayOrder","Pane","Typography","weight","Body","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","strategy","verticalListSortingStrategy","isSystem","_createElement","Footer","disabled","Subheader","_ref$count","showSubheader","NeetoUISubHeader","leftActionBlock","FilterBar","keyword","rightActionBlock","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","_ref$resourceType","_ref$allowedKinds","allowedKinds","ALL_KINDS","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","DEFAULT_FIELD_STATE_TAXONOMY","_ref$nameAliases","headerTitle","_ref$headerSize","headerSize","isAllowedToManageFields","hasPermission","capitalize","PLURAL","_useFieldsDashboard","headerProps","isPresent","Container","FieldsPane","additionalValidations","validations","hideRequiredSwitch","initialValues","onMutationSuccess","DeleteAlert","resourceTypeName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,GAAA;AAAA,EAAA,OAASC,KAAK,CAACC,GAAG,CAACC,WAAW,CAAC;AAAA,CAAA;AAEjD,IAAMC,UAAU,GAAG;AAAEJ,EAAAA,YAAY,EAAZA;AAAa,CAAC;;;;ACD5B,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,OAAO,EAAA;EAAA,OACpCC,QAAQ,CAAAC,eAAA,CAAA;AACNC,IAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,OAAO,CAAC;IAC9BC,OAAO,EAAER,UAAU,CAACJ,YAAY;AAChCa,IAAAA,SAAS,EAAEC;GACRR,EAAAA,OAAO,CACX,CAAC;AAAA,CAAA;;;;ACaG,IAAMS,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAUzB;AAAA,EAAA,IATJC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IACfC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,mBAAmB,GAAAH,IAAA,CAAnBG,mBAAmB;IACnBC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,KAAK,GAAAL,IAAA,CAALK,KAAK;IACLC,SAAS,GAAAN,IAAA,CAATM,SAAS;IACTC,eAAe,GAAAP,IAAA,CAAfO,eAAe;IACfC,eAAe,GAAAR,IAAA,CAAfQ,eAAe;IAAAC,oBAAA,GAAAT,IAAA,CACfU,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,oBAAA;AAEtB,EAAA,IAAAG,SAAA,GAAoCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5CI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAI,UAAA,GAAkDL,QAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAAkDT,QAAQ,CAAC,KAAK,CAAC;IAAAU,UAAA,GAAAR,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAA0Cb,QAAQ,CAAC,EAAE,CAAC;IAAAc,UAAA,GAAAZ,cAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAA/CE,IAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA;EACtC,IAAAG,UAAA,GAAkCjB,QAAQ,CAAC;AACzCkB,MAAAA,IAAI,EAAEC,kBAAkB;AACxBC,MAAAA,QAAQ,EAAEC;AACZ,KAAC,CAAC;IAAAC,WAAA,GAAApB,cAAA,CAAAe,UAAA,EAAA,CAAA,CAAA;AAHKM,IAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,WAAA,CAAA,CAAA,CAAA;AAK9B,EAAA,IAAAG,eAAA,GAAwCC,cAAc,EAAE;IAAhDC,UAAU,GAAAF,eAAA,CAAVE,UAAU;IAAEC,QAAQ,GAAAH,eAAA,CAARG,QAAQ;IAAEC,KAAK,GAAAJ,eAAA,CAALI,KAAK;AACnC,EAAA,IAAMC,OAAO,GAAGC,UAAU,EAAE;AAC5B,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMC,kBAAkB,GAAG;AACzBC,IAAAA,GAAG,EAAE,aAAa;AAClBC,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,KAAK,EAAEX;GACR;AAED,EAAA,IAAMY,OAAO,GAAGlD,YAAY,GAAGuC,QAAQ,GAAGY,SAAS;EAEnD,IAAAC,gBAAA,GAGIjE,eAAe,CAAC;AAAEkE,MAAAA,OAAO,EAAE,CAACjD;AAAU,KAAC,CAAC;IAAAkD,qBAAA,GAAAF,gBAAA,CAF1CG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,KAAA,CAAA,GAAwC,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAAtCE,MAAM;AAANA,IAAAA,MAAM,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAEI,aAAa;AAAbA,IAAAA,aAAa,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAC5BE,gBAAgB,GAAAT,gBAAA,CAA3BU,SAAS;EAGX,IAAMC,OAAO,GAAGC,OAAO,CACrB,YAAA;AAAA,IAAA,OAAMC,mBAAmB,CAAC,CAACnB,kBAAkB,CAAC,CAAC;GAC/C,EAAA,CAACR,UAAU,CACb,CAAC;AAED,EAAA,IAAM4B,WAAW,GAAG;AAClBC,IAAAA,YAAY,EAAE,CAACnE,YAAY,GAAGuC,QAAQ,GAAGY,SAAS;AAClDD,IAAAA,OAAO,EAAPA,OAAO;AACPV,IAAAA,KAAK,EAAEA,KAAK,IAAI4B,YAAY,CAACC,MAAM;AACnCnC,IAAAA,SAAS,EAATA,SAAS;AACT6B,IAAAA,OAAO,EAAPA;GACD;AAED,EAAA,IAAAO,eAAA,GAWIC,cAAc,CAACL,WAAW,EAAE;MAC9Bb,OAAO,EAAE,CAAC,CAACd,QAAQ;AACnBiC,MAAAA,eAAe,EAAEC;AACnB,KAAC,CAAC;IAAAC,oBAAA,GAAAJ,eAAA,CAbAf,IAAI;AAAAoB,IAAAA,qBAAA,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAMA,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAAD,qBAAA,CALJE,MAAM;AAANA,IAAAA,MAAM,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACXE,KAAK,GAAAH,qBAAA,CAALG,KAAK;IACLC,iBAAiB,GAAAJ,qBAAA,CAAjBI,iBAAiB;IACjBC,mBAAmB,GAAAL,qBAAA,CAAnBK,mBAAmB;IACnBC,WAAW,GAAAN,qBAAA,CAAXM,WAAW;IAEFC,eAAe,GAAAZ,eAAA,CAA1BR,SAAS;IACGqB,gBAAgB,GAAAb,eAAA,CAA5Bc,UAAU;IACCC,eAAe,GAAAf,eAAA,CAA1BgB,SAAS;EAMX,IAAAC,gBAAA,GAAuDC,eAAe,CAAC;AACrEC,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACftE,oBAAoB,CAAC,KAAK,CAAC;QAC3BQ,gBAAgB,CAAC,EAAE,CAAC;AACpBnB,QAAAA,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,KAAAA,CAAAA,IAAAA,eAAe,EAAI;AACrB;AACF,KAAC,CAAC;IANckF,WAAW,GAAAH,gBAAA,CAAnBI,MAAM;IAA0BC,UAAU,GAAAL,gBAAA,CAArBM,SAAS;AAQtC,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzBJ,IAAAA,WAAW,CAAC;MAAEK,OAAO,EAAErE,aAAa,CAACsE,EAAE;AAAE9C,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACpD;AAED,EAAA,IAAM+C,eAAe,GAAG,SAAlBA,eAAeA,GAAS;IAC5BlF,aAAa,CAAC,KAAK,CAAC;IACpBY,gBAAgB,CAAC,EAAE,CAAC;GACrB;AAED,EAAA,IAAMuE,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,KAAK,EAAI;IACrCxE,gBAAgB,CAACwE,KAAK,CAAC;IACvBpF,aAAa,CAAC,IAAI,CAAC;GACpB;AAED,EAAA,IAAMqF,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGD,KAAK,EAAI;IACvCxE,gBAAgB,CAACwE,KAAK,CAAC;IACvBhF,oBAAoB,CAAC,IAAI,CAAC;GAC3B;AAED,EAAA,IAAMkF,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;IAC7BlF,oBAAoB,CAAC,KAAK,CAAC;IAC3BQ,gBAAgB,CAAC,EAAE,CAAC;GACrB;AAED,EAAA,IAAM2E,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAS;IACnC/E,oBAAoB,CAAC,KAAK,CAAC;GAC5B;EAED,IAAMgF,cAAc,GAAGC,mBAAmB,CAAC;AACzCC,IAAAA,aAAa,EAAEL,uBAAuB;AACtCM,IAAAA,WAAW,EAAER,qBAAqB;AAClC5F,IAAAA,eAAe,EAAfA;AACF,GAAC,CAAC;EAEF,IAAMqG,UAAU,GAAG5G,eAAe,CAAC;AACjC2G,IAAAA,WAAW,EAAER,qBAAqB;AAClCO,IAAAA,aAAa,EAAEL,uBAAuB;AACtCG,IAAAA,cAAc,EAAdA;AACF,GAAC,CAAC;AAEF,EAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,MAAM,EAAA;IAAA,OAC7BC,eAAe,CAACrE,OAAO,EAAEsE,QAAQ,CAAC,EAAE,EAAAzH,eAAA,CAAA;AAAIiD,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,KAAK,EAALA;KAAUqE,EAAAA,MAAM,CAAE,CAAC,CAAC;AAAA,GAAA;EAExE,IAAMG,SAAS,GAAG5G,SAAS,KAAKJ,YAAY,GAAG0D,MAAM,GAAGE,aAAa,CAAC;AAEtE,EAAA,IAAMqD,0BAA0B,GAAG,SAA7BA,0BAA0BA,GAAS;AACvC,IAAA,IAAMC,WAAW,GAAG;AAAE3E,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,KAAK,EAALA;KAAO;AACvC,IAAA,IAAI,CAACqB,gBAAgB,IAAIsD,KAAK,CAAC5E,QAAQ,CAAC,EAAE;MAAA,IAAA6E,WAAA,EAAAC,YAAA;AACxCH,MAAAA,WAAW,CAAC3E,QAAQ,GAAGvC,YAAY,GAC/BgH,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAAAI,KAAAA,CAAAA,IAAAA,CAAAA,WAAA,GAATJ,SAAS,CAAG,CAAC,CAAC,cAAAI,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,WAAA,CAAgBpB,EAAE,GAClBgB,SAAS,KAATA,IAAAA,IAAAA,SAAS,gBAAAK,YAAA,GAATL,SAAS,CAAG,CAAC,CAAC,MAAA,IAAA,IAAAK,YAAA,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAgBpE,KAAK;AAC3B;AAEA,IAAA,IAAI,CAACY,gBAAgB,IAAIsD,KAAK,CAAC3E,KAAK,CAAC,EAAE;AACrC0E,MAAAA,WAAW,CAAC1E,KAAK,GAAG4B,YAAY,CAACC,MAAM;AACzC;AAEA,IAAA,IAAI,CAACR,gBAAgB,IAAIyD,GAAG,CAACH,KAAK,CAAC,CAAC,CAAC5E,QAAQ,EAAEC,KAAK,CAAC,CAAC,EAAE;MACtDC,OAAO,CAAC8E,OAAO,CAACR,QAAQ,CAAC,EAAE,EAAEG,WAAW,CAAC,CAAC;AAC5C;GACD;AAED,EAAA,IAAMM,eAAe,GAAGtC,eAAe,IAAIrB,gBAAgB;AAC3D,EAAA,IAAM4D,kBAAkB,GAAG3C,KAAK,GAAG,CAAC,IAAI,CAACzE,eAAe;AAExD,EAAA,IAAMqH,gBAAgB,GAAG;AACvBC,IAAAA,WAAW,EAAE9E,CAAC,CAAC,uCAAuC,CAAC;AACvD+E,IAAAA,SAAS,EAAE;GACZ;AAED,EAAA,IAAMC,gBAAgB,GAAGb,SAAS,CAACc,MAAM,KAAK,CAAC;AAC/C,EAAA,IAAMC,eAAe,GAAG,CAACF,gBAAgB,IAAI,CAAChE,gBAAgB;AAC9D,EAAA,IAAMmE,iBAAiB,GACrBxF,KAAK,KAAK4B,YAAY,CAACC,MAAM,GACzBU,iBAAiB,GAAG,CAAC,GACrBC,mBAAmB,GAAG,CAAC;EAE7B,IAAMiD,YAAY,GAAGjE,OAAO,CAC1B,YAAA;AAAA,IAAA,OACEkE,eAAe,CAAC;AACdlI,MAAAA,YAAY,EAAZA,YAAY;AACZE,MAAAA,WAAW,EAAXA,WAAW;AACX8G,MAAAA,SAAS,EAATA,SAAS;AACTmB,MAAAA,WAAW,EAAE5F;AACf,KAAC,CAAC;AAAA,GAAA,EACJ,CAACyE,SAAS,EAAEzE,QAAQ,CACtB,CAAC;EAED,IAAM6F,kBAAkB,GAAGpE,OAAO,CAChC,YAAA;AAAA,IAAA,OAAMqE,iBAAiB,CAAC;AAAEJ,MAAAA,YAAY,EAAZA,YAAY;AAAEJ,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAAE1H,MAAAA,KAAK,EAALA;AAAM,KAAC,CAAC;AAAA,GAAA,EAClE,CAACqC,KAAK,EAAEqF,gBAAgB,EAAEI,YAAY,CACxC,CAAC;EAED,IAAMK,eAAe,GAAGtE,OAAO,CAC7B,YAAA;AAAA,IAAA,OACEuE,qBAAqB,CAAC;AACpBC,MAAAA,aAAa,EAAEhG,KAAK;AACpBvC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB8E,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB4B,MAAAA,gBAAgB,EAAhBA;AACF,KAAC,CAAC;AAAA,GAAA,EACJ,CAAC7B,iBAAiB,EAAEC,mBAAmB,EAAExC,KAAK,CAChD,CAAC;EAED,IAAMiG,YAAY,GAAGzE,OAAO,CAC1B,YAAA;AAAA,IAAA,OACE0E,kBAAkB,CAAC;AACjB1I,MAAAA,YAAY,EAAZA,YAAY;AACZ2I,MAAAA,KAAK,EAAE3B,SAAS;AAChB4B,MAAAA,YAAY,EAAErG,QAAQ;AACtBqE,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB1G,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,KAAK,EAALA;AACF,KAAC,CAAC;AAAA,GAAA,EACJ,CAAC6G,SAAS,EAAEzE,QAAQ,CACtB,CAAC;AAEDsG,EAAAA,SAAS,CAAC,YAAM;AACd5B,IAAAA,0BAA0B,EAAE;GAC7B,EAAE,CAACpD,gBAAgB,EAAEzD,SAAS,EAAEmC,QAAQ,EAAEC,KAAK,CAAC,CAAC;AAElDqG,EAAAA,SAAS,CAAC,YAAM;AACd1G,IAAAA,YAAY,CAAC;AACXN,MAAAA,IAAI,EAAEC,kBAAkB;AACxBC,MAAAA,QAAQ,EAAEC;AACZ,KAAC,CAAC;GACH,EAAE,CAACM,UAAU,EAAEE,KAAK,EAAED,QAAQ,CAAC,CAAC;EAEjC,OAAO;AACLzB,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,aAAa,EAAbA,aAAa;AACbG,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBI,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,IAAAA,oBAAoB,EAApBA,oBAAoB;AACpBsD,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,KAAK,EAALA,KAAK;AACL6B,IAAAA,UAAU,EAAVA,UAAU;AACVjF,IAAAA,aAAa,EAAbA,aAAa;AACbkH,IAAAA,YAAY,EAAErG,QAAQ;AAAE;AACxBW,IAAAA,OAAO,EAAPA,OAAO;AACP0C,IAAAA,UAAU,EAAVA,UAAU;AACVT,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBE,IAAAA,eAAe,EAAfA,eAAe;AACfmC,IAAAA,eAAe,EAAfA,eAAe;AACfO,IAAAA,eAAe,EAAfA,eAAe;AACfN,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB3B,IAAAA,YAAY,EAAZA,YAAY;AACZO,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBJ,IAAAA,eAAe,EAAfA,eAAe;AACfK,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBoB,IAAAA,gBAAgB,EAAEM,iBAAiB,GAAGN,gBAAgB,GAAG,IAAI;AAC7D5E,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBwF,IAAAA,eAAe,EAAfA,eAAe;AACfG,IAAAA,YAAY,EAAZA,YAAY;AACZxD,IAAAA,WAAW,EAAXA,WAAW;AACXmD,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBlG,IAAAA,SAAS,EAATA,SAAS;AACTC,IAAAA,YAAY,EAAZA;GACD;AACH,CAAC;;;;ACvPD,IAAM2G,WAAW,GAAG,SAAdA,WAAWA,CAAAhJ,IAAA,EAaX;AAAA,EAAA,IAZJiJ,UAAU,GAAAjJ,IAAA,CAAViJ,UAAU;IACVzD,SAAS,GAAAxF,IAAA,CAATwF,SAAS;IACTF,UAAU,GAAAtF,IAAA,CAAVsF,UAAU;IACV4D,OAAO,GAAAlJ,IAAA,CAAPkJ,OAAO;IACPrC,UAAU,GAAA7G,IAAA,CAAV6G,UAAU;IACV5F,aAAa,GAAAjB,IAAA,CAAbiB,aAAa;IACbkI,UAAU,GAAAnJ,IAAA,CAAVmJ,UAAU;IACV9I,KAAK,GAAAL,IAAA,CAALK,KAAK;IACL+B,SAAS,GAAApC,IAAA,CAAToC,SAAS;IACTC,YAAY,GAAArC,IAAA,CAAZqC,YAAY;IACZ9B,eAAe,GAAAP,IAAA,CAAfO,eAAe;IACfC,eAAe,GAAAR,IAAA,CAAfQ,eAAe;AAEf,EAAA,IAAAqC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAMqG,gBAAgB,GAAG5D,SAAS,IAAI6D,OAAO,CAACH,OAAO,CAAC;AACtD,EAAA,IAAAI,eAAA,GAA8BC,cAAc,EAAE;IAAtC7G,KAAK,GAAA4G,eAAA,CAAL5G,KAAK;IAAEF,UAAU,GAAA8G,eAAA,CAAV9G,UAAU;AACzBnC,EAAAA,KAAK,GAAGA,KAAK,CAACmJ,iBAAiB,EAAE;AACjC,EAAA,IAAQzH,IAAI,GAAeK,SAAS,CAA5BL,IAAI;IAAEE,QAAQ,GAAKG,SAAS,CAAtBH,QAAQ;EACtB,IAAMwH,WAAW,GAAG,EAAE;AAEtB,EAAA,IAAI,CAACjE,SAAS,IAAI6D,OAAO,CAACH,OAAO,CAAC,EAAE;AAClC,IAAA,oBACEQ,GAAA,CAAA,KAAA,EAAA;AAAK5B,MAAAA,SAAS,EAAC,gDAAgD;AAAA6B,MAAAA,QAAA,eAC7DD,GAAA,CAACE,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;AAEA,EAAA,IAAIT,UAAU,EAAE;IACdM,WAAW,CAACI,QAAQ,GAAGC,oBAAoB,CAACzJ,KAAK,EAAE8I,UAAU,CAAC;AAChE;AAEA,EAAA,IACEY,YAAY,CAACvH,UAAU,CAAC,IACxB8B,YAAY,CAACC,MAAM,KAAK7B,KAAK,IAC7BlC,eAAe,EACf;IACAiJ,WAAW,CAACO,kBAAkB,GAAG;AAC/BC,MAAAA,KAAK,EAAElH,CAAC,CAAC,6BAA6B,CAAC;MACvCmH,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQjJ,aAAa,CAAC,IAAI,CAAC;AAAA;KACnC;AACH;EAEA,oBACEyI,GAAA,CAAAS,QAAA,EAAA;IAAAR,QAAA,EACGP,gBAAgB,gBACfM,GAAA,CAAA,KAAA,EAAA;AAAK5B,MAAAA,SAAS,EAAC,gDAAgD;AAAA6B,MAAAA,QAAA,eAC7DD,GAAA,CAACU,MAAM,EAAA5K,eAAA,CAAA;AACLa,QAAAA,KAAK,EACHE,eAAe,GACXwC,CAAC,CAAC,wCAAwC,EAAE;AAAE1C,UAAAA,KAAK,EAALA,KAAK;AAAEqC,UAAAA,KAAK,EAALA;AAAM,SAAC,CAAC,GAC7DK,CAAC,CAAC,+BAA+B,EAAE;AAAE1C,UAAAA,KAAK,EAALA;SAAO;AACjD,OAAA,EACGoJ,WAAW,CAChB;AAAC,KACC,CAAC,gBAENC,GAAA,CAACW,YAAY,EAAA;MAACC,aAAa,EAAErB,UAAU,GAAG/G,iBAAkB;MAAAyH,QAAA,eAC1DD,GAAA,CAACa,KAAK,EAAA;AACE1D,QAAAA,UAAU,EAAVA,UAAU;AAAEqC,QAAAA,OAAO,EAAPA,OAAO;AAAED,QAAAA,UAAU,EAAVA,UAAU;QACrCuB,WAAW,EAAA,IAAA;AACXC,QAAAA,aAAa,EAAE,KAAM;AACrBC,QAAAA,iBAAiB,EAAE3I,IAAK;AACxB4I,QAAAA,eAAe,EAAE1I,QAAS;AAC1B2I,QAAAA,gBAAgB,EAAE,SAAlBA,gBAAgBA,CAAE7I,IAAI,EAAA;AAAA,UAAA,OAAIM,YAAY,CAAA7C,eAAA,CAAAA,eAAA,KAAM4C,SAAS,CAAA,EAAA,EAAA,EAAA;AAAEL,YAAAA,IAAI,EAAJA;AAAI,WAAA,CAAE,CAAC;SAAC;AAC/D8I,QAAAA,OAAO,EAAEvF;OACV;KACW;AACf,GACD,CAAC;AAEP,CAAC;;AC/ED,IAAMwF,MAAM,GAAGC,KAAK,CAClB,UAAA/K,IAAA,EAAA;AAAA,EAAA,IACE4H,gBAAgB,GAAA5H,IAAA,CAAhB4H,gBAAgB;IAChBoD,WAAW,GAAAhL,IAAA,CAAXgL,WAAW;IACX3K,KAAK,GAAAL,IAAA,CAALK,KAAK;IACL8I,UAAU,GAAAnJ,IAAA,CAAVmJ,UAAU;IACV8B,eAAe,GAAAjL,IAAA,CAAfiL,eAAe;IACfC,IAAI,GAAAlL,IAAA,CAAJkL,IAAI;IACJjK,aAAa,GAAAjB,IAAA,CAAbiB,aAAa;IACb8B,CAAC,GAAA/C,IAAA,CAAD+C,CAAC;IACDvC,eAAe,GAAAR,IAAA,CAAfQ,eAAe;EAAA,oBAEfkJ,GAAA,CAACyB,aAAa,EAAA;AACNH,IAAAA,WAAW,EAAXA,WAAW;AAAEE,IAAAA,IAAI,EAAJA,IAAI;AAAE7K,IAAAA,KAAK,EAALA,KAAK;AAC9B+K,IAAAA,WAAW,EAAExD,gBAAiB;AAC9ByD,IAAAA,WAAW,EACT7K,eAAe,iBACbkJ,GAAA,CAAC4B,MAAM,EAAA;AACL,MAAA,aAAA,EAAY,yBAAyB;AACrCrB,MAAAA,KAAK,EAAElH,CAAC,CAAC,6BAA6B,CAAE;MACxCmH,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQjJ,aAAa,CAAC,IAAI,CAAC;AAAA;AAAC,KACpC,CAEJ;AACDsK,IAAAA,qBAAqB,EACnB,CAACpC,UAAU,IAAI8B,eAAe,KAAK;AACjC5K,MAAAA,KAAK,EAALA,KAAK;AACLmL,MAAAA,WAAW,EAAEP,eAAe;MAC5BQ,aAAa,EAAEtC,UAAU,IAAI;AAAEuC,QAAAA,IAAI,EAAEvC;AAAW;AAClD;AACD,GACF,CAAC;AAAA,CAEN,CAAC;;ACnCD,IAAMwC,OAAO,GAAG,SAAVA,OAAOA,CAAA3L,IAAA,EAAA;AAAA,EAAA,IAAM2I,YAAY,GAAA3I,IAAA,CAAZ2I,YAAY;IAAEtI,KAAK,GAAAL,IAAA,CAALK,KAAK;EAAA,oBACpCqJ,GAAA,CAACkC,OAAc,EAAA;IAACC,QAAQ,EAAA,IAAA;AAAOxL,IAAAA,KAAK,EAALA,KAAK;AAAAsJ,IAAAA,QAAA,EACjChB;AAAY,GACC,CAAC;AAAA,CAClB;;;;;ACwQD,MAAM,GAAG,gBAAgB,MAAM,CAAC,MAAM,CAAC;AACvC,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ;AACR;;AAEA,MAAM,MAAM;AACZ,QAAQ,CAAC;AACT,QAAQ;AACR,OAAO,GAAG,SAAS;AACnB,MAAM,OAAO,cAAc,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ;AACnG;;AAEA,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ;AACR;;AAEA,MAAM,MAAM;AACZ,QAAQ,MAAM;AACd,QAAQ;AACR,OAAO,GAAG,SAAS;AACnB,MAAM,OAAO,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,GAAG;AAC5D;;AAEA,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ;AACR;;AAEA,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACzF;;AAEA,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,QAAQ,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI;AACV,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ;AACR,OAAO,GAAG,IAAI;AACd,MAAM,OAAO,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM;AACvD;;AAEA;AACA,CAAC,CAAC;;;;ACzTF,IAAMmD,UAAU,GAAG,SAAbA,UAAUA,CAAA9L,IAAA,EAAyB;AAAA,EAAA,IAAnBqG,KAAK,GAAArG,IAAA,CAALqG,KAAK;IAAE0F,KAAK,GAAA/L,IAAA,CAAL+L,KAAK;EAChC,IAAAC,YAAA,GACEC,WAAW,CAAC;MAAE/F,EAAE,EAAEG,KAAK,CAACH,EAAE;AAAEzC,MAAAA,IAAI,EAAE;AAAEsI,QAAAA,KAAK,EAALA;AAAM;AAAE,KAAC,CAAC;IADxCG,UAAU,GAAAF,YAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,YAAA,CAATG,SAAS;IAAEC,UAAU,GAAAJ,YAAA,CAAVI,UAAU;IAAEC,SAAS,GAAAL,YAAA,CAATK,SAAS;IAAEC,UAAU,GAAAN,YAAA,CAAVM,UAAU;AAGhE,EAAA,IAAMC,KAAK,GAAG;AAAEF,IAAAA,SAAS,EAAEG,GAAG,CAACC,SAAS,CAACC,QAAQ,CAACL,SAAS;GAAG;AAE9D,EAAA,oBACEM,IAAA,CAAA,KAAA,EAAAnN,eAAA,CAAAA,eAAA,CAAA;AACEoN,IAAAA,GAAG,EAAER;GAAW5M,EAAAA,eAAA,CAAAA,eAAA,CAAA;AACV+M,IAAAA,KAAK,EAALA;GAAUL,EAAAA,UAAU,GAAKC,SAAS,CAAA,CAAA,EAAA,EAAA,EAAA;AACxCrE,IAAAA,SAAS,EAAC,2FAA2F;AACrG,IAAA,aAAA,EAAY,qBAAqB;AAAA6B,IAAAA,QAAA,gBAEjCD,GAAA,CAAA,KAAA,EAAA;AACE5B,MAAAA,SAAS,EAAE+E,UAAU,CAAC,aAAa,EAAE;AAAE,QAAA,iBAAiB,EAAEP;AAAW,OAAC,CAAE;AAAA3C,MAAAA,QAAA,eAExED,GAAA,CAACoD,OAAO,EAAE,EAAA;KACP,CAAC,eACNpD,GAAA,CAAA,KAAA,EAAA;AAAK5B,MAAAA,SAAS,EAAC,6KAA6K;AAAA6B,MAAAA,QAAA,eAC1LD,GAAA,CAAA,KAAA,EAAA;AAAK,QAAA,aAAA,EAAY,0BAA0B;QAAAC,QAAA,EAAEtD,KAAK,CAAC0G;OAAU;AAAC,KAC3D,CAAC;AAAA,GAAA,CACH,CAAC;AAEV,CAAC;AAED,mBAAeC,aAAAA,IAAI,CAAClB,UAAU,CAAC;;ACP/B,IAAMmB,WAAW,GAAG,SAAdA,WAAWA,CAAAjN,IAAA,EAA8D;AAAA,EAAA,IAAxDkN,MAAM,GAAAlN,IAAA,CAANkN,MAAM;IAAEC,OAAO,GAAAnN,IAAA,CAAPmN,OAAO;IAAE/J,OAAO,GAAApD,IAAA,CAAPoD,OAAO;IAAAgK,qBAAA,GAAApN,IAAA,CAAEqN,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAGzM,KAAAA,CAAAA,GAAAA,IAAI,GAAAyM,qBAAA;AACtE,EAAA,IAAAxM,SAAA,GAA4BC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjCmE,IAAAA,MAAM,GAAAjE,UAAA,CAAA,CAAA,CAAA;AAAEwM,IAAAA,SAAS,GAAAxM,UAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAMyM,eAAe,GAAGC,MAAM,CAAC,EAAE,CAAC;AAElC,EAAA,IAAA3K,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAAuG,eAAA,GAAqBC,cAAc,EAAE;IAA7B9G,QAAQ,GAAA6G,eAAA,CAAR7G,QAAQ;EAEhB,IAAAgL,iBAAA,GAA0DC,gBAAgB,CAAC;AACzE/H,MAAAA,SAAS,EAAE0H;AACb,KAAC,CAAC;IAFcM,YAAY,GAAAF,iBAAA,CAApB5H,MAAM;IAA2B+H,YAAY,GAAAH,iBAAA,CAAvB1H,SAAS;AAIvC,EAAA,IAAM3B,WAAW,GAAG;IAClBC,YAAY,EAAEgF,OAAO,CAACjG,OAAO,CAAC,GAAGX,QAAQ,GAAGY,SAAS;AACrDD,IAAAA,OAAO,EAAPA,OAAO;IACPV,KAAK,EAAE4B,YAAY,CAACC,MAAM;AAC1B/B,IAAAA,UAAU,EAAE;GACb;AAED,EAAA,IAAAgC,eAAA,GAAkDC,cAAc,CAC9DL,WAAW,EACX;AAAEb,MAAAA,OAAO,EAAE,CAAC,CAACd,QAAQ,IAAIyK;AAAO,KAClC,CAAC;IAAAtI,oBAAA,GAAAJ,eAAA,CAHOf,IAAI;AAAAoB,IAAAA,qBAAA,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAA+B,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAAD,qBAAA,CAA7BE,MAAM;AAAE8I,IAAAA,SAAS,GAAA/I,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;AAKtC,EAAA,IAAMgJ,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAAyB;AAAA,IAAA,IAAnBxJ,MAAM,GAAAwJ,KAAA,CAANxJ,MAAM;MAAEyJ,IAAI,GAAAD,KAAA,CAAJC,IAAI;AACnC,IAAA,IAAIzJ,MAAM,CAAC2B,EAAE,KAAK8H,IAAI,CAAC9H,EAAE,EAAE;MACzBoH,SAAS,CAAC,UAAAvI,MAAM,EAAA;AAAA,QAAA,OACdkJ,SAAS,CAAClJ,MAAM,EAAER,MAAM,CAACd,IAAI,CAACyK,OAAO,CAACnC,KAAK,EAAEiC,IAAI,CAACvK,IAAI,CAACyK,OAAO,CAACnC,KAAK,CAAC;AAAA,OACvE,CAAC;AACH;GACD;AAED,EAAA,IAAMoC,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;IAC9B,IAAMpH,MAAM,GAAG,EAAE;AACjBhC,IAAAA,MAAM,CAACqJ,GAAG,CACR,UAAC/H,KAAK,EAAE0F,KAAK,EAAA;AAAA,MAAA,OACX1F,KAAK,CAACH,EAAE,KAAK2H,SAAS,CAAC9B,KAAK,CAAC,CAAC7F,EAAE,IAChCa,MAAM,CAACsH,IAAI,CAAC;QAAEnI,EAAE,EAAEG,KAAK,CAACH,EAAE;QAAEoI,YAAY,EAAEvC,KAAK,GAAG;AAAE,OAAC,CAAC;AAAA,KAC1D,CAAC;AAED4B,IAAAA,YAAY,CACV;MAAEvK,OAAO,EAAEiG,OAAO,CAACjG,OAAO,CAAC,GAAGC,SAAS,GAAGD,OAAO;AAAE2B,MAAAA,MAAM,EAAEgC;AAAO,KAAC,EACnE;AAAEpB,MAAAA,SAAS,EAAEwH;AAAQ,KACvB,CAAC;GACF;AAEDpE,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIM,OAAO,CAACwE,SAAS,CAAC,EAAE;IACxBP,SAAS,CAACO,SAAS,CAAC;IACpBN,eAAe,CAACW,OAAO,GAAGL,SAAS;AACrC,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,oBACElB,IAAA,CAAC4B,IAAI,EAAA;AAAOrB,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AAAAxD,IAAAA,QAAA,EACzBD,cAAAA,GAAA,CAAC6E,IAAI,CAACzD,MAAM,EAAA;MAAAnB,QAAA,eACVD,GAAA,CAAC8E,UAAU,EAAA;AAAC,QAAA,aAAA,EAAY,qBAAqB;AAACjC,QAAAA,KAAK,EAAC,IAAI;AAACkC,QAAAA,MAAM,EAAC,UAAU;QAAA9E,QAAA,EACvE5G,CAAC,CAAC,kCAAkC;OAC3B;AAAC,KACF,CAAC,eACd4J,IAAA,CAAC4B,IAAI,CAACG,IAAI,EAAA;MAAA/E,QAAA,EAAA,cACRD,GAAA,CAAC8E,UAAU,EAAA;AACT1G,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,aAAA,EAAY,sBAAsB;AAClCyE,QAAAA,KAAK,EAAC,OAAO;QAAA5C,QAAA,EAEZ5G,CAAC,CAAC,oCAAoC;OAC7B,CAAC,eACb2G,GAAA,CAAA,KAAA,EAAA;AAAK5B,QAAAA,SAAS,EAAC,mCAAmC;QAAA6B,QAAA,eAChDD,GAAA,CAACiF,UAAU,EAAA;AACTC,UAAAA,kBAAkB,EAAEC,aAAc;AAClCC,UAAAA,SAAS,EAAEhB,aAAc;UAAAnE,QAAA,eAEzBD,GAAA,CAACqF,eAAe,EAAA;AACdlG,YAAAA,KAAK,EAAE9D,MAAO;AACdiK,YAAAA,QAAQ,EAAEC,2BAA4B;YAAAtF,QAAA,EAErC5E,MAAM,CAACqJ,GAAG,CAAC,UAAC/H,KAAK,EAAE0F,KAAK,EAAK;AAC5B,cAAA,IAAI1F,KAAK,CAAC6I,QAAQ,EAAE,OAAO,IAAI;cAE/B,oBAAOC,aAAA,CAACrD,YAAU,EAAA;AAAOzF,gBAAAA,KAAK,EAALA,KAAK;AAAE0F,gBAAAA,KAAK,EAALA,KAAK;AAAI9I,gBAAAA,GAAG,EAAE8I;AAAM,eAAE,CAAC;aACxD;WACc;SACP;AAAC,OACV,CAAC;AAAA,KACG,CAAC,eACZY,IAAA,CAAC4B,IAAI,CAACa,MAAM,EAAA;AAACtH,MAAAA,SAAS,EAAC,6BAA6B;MAAA6B,QAAA,EAAA,cAClDD,GAAA,CAAC4B,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,qBAAqB;AACjC+D,QAAAA,QAAQ,EAAE9B,eAAe,CAACW,OAAO,KAAKnJ,MAAO;AAC7CkF,QAAAA,KAAK,EAAElH,CAAC,CAAC,gCAAgC,CAAE;AAC3C8H,QAAAA,OAAO,EAAE+C,YAAa;AACtB1D,QAAAA,OAAO,EAAEiE;AAAkB,OAC5B,CAAC,eACFzE,GAAA,CAAC4B,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,eAAe;AAC3BrB,QAAAA,KAAK,EAAElH,CAAC,CAAC,2BAA2B,CAAE;AACtCwJ,QAAAA,KAAK,EAAC,MAAM;AACZrC,QAAAA,OAAO,EAAEiD;AAAQ,OAClB,CAAC;AAAA,KACS,CAAC;AAAA,GACV,CAAC;AAEX,CAAC;;ACxHD,IAAMmC,SAAS,GAAG,SAAZA,SAASA,CAAAtP,IAAA,EAMT;AAAA,EAAA,IAAAuP,UAAA,GAAAvP,IAAA,CALJgF,KAAK;AAALA,IAAAA,KAAK,GAAAuK,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA;IACTpK,WAAW,GAAAnF,IAAA,CAAXmF,WAAW;IACXnC,kBAAkB,GAAAhD,IAAA,CAAlBgD,kBAAkB;IAClBvB,oBAAoB,GAAAzB,IAAA,CAApByB,oBAAoB;IACpB+N,aAAa,GAAAxP,IAAA,CAAbwP,aAAa;AAEb,EAAA,IAAA3M,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,oBACE2G,GAAA,CAAC+F,gBAAgB,EAAA;AACfC,IAAAA,eAAe,EACbF,aAAa,iBACX7C,IAAA,CAAAxC,QAAA,EAAA;MAAAR,QAAA,EAAA,cACED,GAAA,CAAC8E,UAAU,EAAA;AACT1G,QAAAA,SAAS,EAAC,sCAAsC;AAChD,QAAA,aAAA,EAAY,6BAA6B;AACzCyE,QAAAA,KAAK,EAAC,IAAI;AAAA5C,QAAAA,QAAA,EAET5G,CAAC,CAAC,mCAAmC,EAAE;AAAEiC,UAAAA,KAAK,EAALA;SAAO;AAAC,OACxC,CAAC,eACb0E,GAAA,CAACiG,SAAS,EAAA;AAAC7H,QAAAA,SAAS,EAAC,MAAM;AAAC8H,QAAAA,OAAO,EAAE5M;AAAmB,OAAE,CAAC;AAAA,KAC3D,CAEL;AACD6M,IAAAA,gBAAgB,EACd1K,WAAW,iBACTuE,GAAA,CAAC4B,MAAM,EAAA;AACL,MAAA,aAAA,EAAY,6BAA6B;AACzCrB,MAAAA,KAAK,EAAElH,CAAC,CAAC,4BAA4B,CAAE;AACvCwJ,MAAAA,KAAK,EAAC,WAAW;MACjBrC,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQzI,oBAAoB,CAAC,IAAI,CAAC;AAAA;KAC1C;AAEJ,GACF,CAAC;AAEN,CAAC;;;;ACtBD,IAAMqO,eAAe,GAAG,SAAlBA,eAAeA,CAAA9P,IAAA,EAmBf;AAAA,EAAA,IAAA+P,YAAA,GAAA/P,IAAA,CAlBJkJ,OAAO;AAAPA,IAAAA,OAAO,GAAA6G,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAAC,qBAAA,GAAAhQ,IAAA,CACZiQ,gBAAgB;AAAE/P,IAAAA,YAAY,GAAA8P,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,iBAAA,GAAAlQ,IAAA,CACtCqE,YAAY;AAAZA,IAAAA,YAAY,GAAA6L,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IAAAC,iBAAA,GAAAnQ,IAAA,CACjBoQ,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAGE,KAAAA,CAAAA,GAAAA,SAAS,GAAAF,iBAAA;IACxBG,SAAS,GAAAtQ,IAAA,CAATsQ,SAAS;IAAAC,oBAAA,GAAAvQ,IAAA,CACTC,eAAe;AAAfA,IAAAA,eAAe,GAAAsQ,oBAAA,KAAG,KAAA,CAAA,GAAA,UAAAxC,KAAA,EAAA;AAAA,MAAA,IAAAyC,oBAAA,GAAAzC,KAAA,CAAGtH,cAAc;AAAdA,QAAAA,cAAc,GAAA+J,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;AAAA,MAAA,OAAO/J,cAAc;AAAA,KAAA,GAAA8J,oBAAA;IAAAE,gBAAA,GAAAzQ,IAAA,CAC7DgL,WAAW;AAAXA,IAAAA,WAAW,GAAAyF,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAC,oBAAA,GAAA1Q,IAAA,CAChBO,eAAe;AAAfA,IAAAA,eAAe,GAAAmQ,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;IAAAC,qBAAA,GAAA3Q,IAAA,CACtBG,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAwQ,qBAAA,KAAGC,KAAAA,CAAAA,GAAAA,4BAA4B,GAAAD,qBAAA;IAClDxH,UAAU,GAAAnJ,IAAA,CAAVmJ,UAAU;IACV8B,eAAe,GAAAjL,IAAA,CAAfiL,eAAe;IAAA4F,gBAAA,GAAA7Q,IAAA,CACfI,WAAW;AAAXA,IAAAA,WAAW,GAAAyQ,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAChBC,WAAW,GAAA9Q,IAAA,CAAX8Q,WAAW;IACXxQ,SAAS,GAAAN,IAAA,CAATM,SAAS;IAAAyQ,eAAA,GAAA/Q,IAAA,CACTgR,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,eAAA;IACpBvQ,eAAe,GAAAR,IAAA,CAAfQ,eAAe;IAAAC,oBAAA,GAAAT,IAAA,CACfU,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,oBAAA;IAAA2M,qBAAA,GAAApN,IAAA,CACtBqN,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAGzM,KAAAA,CAAAA,GAAAA,IAAI,GAAAyM,qBAAA;AAEvB,EAAA,IAAAvK,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,IAAMkO,uBAAuB,GAC3BzQ,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,eAAe,GAAI0Q,aAAa,CAAC,mCAAmC,CAAC;AAEvE,EAAA,IAAM7Q,KAAK,GAAG8Q,UAAU,CACtBL,WAAW,IAAI/N,CAAC,CAAC,0BAA0B,EAAEqO,MAAM,CACrD,CAAC;EAED,IAAAC,mBAAA,GA8BItR,kBAAkB,CAAC;AACrBE,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,KAAK,EAALA,KAAK;AACLC,MAAAA,SAAS,EAATA,SAAS;AACTI,MAAAA,eAAe,EAAfA,eAAe;AACfH,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,eAAe,EAAEyQ;AACnB,KAAC,CAAC;IAvCAjQ,UAAU,GAAAqQ,mBAAA,CAAVrQ,UAAU;IACVC,aAAa,GAAAoQ,mBAAA,CAAbpQ,aAAa;IACbG,iBAAiB,GAAAiQ,mBAAA,CAAjBjQ,iBAAiB;IACjBI,iBAAiB,GAAA6P,mBAAA,CAAjB7P,iBAAiB;IACjBC,oBAAoB,GAAA4P,mBAAA,CAApB5P,oBAAoB;IACpBsD,MAAM,GAAAsM,mBAAA,CAANtM,MAAM;IACNC,KAAK,GAAAqM,mBAAA,CAALrM,KAAK;IACL6B,UAAU,GAAAwK,mBAAA,CAAVxK,UAAU;IACVjF,aAAa,GAAAyP,mBAAA,CAAbzP,aAAa;IACbkH,YAAY,GAAAuI,mBAAA,CAAZvI,YAAY;IACZ1F,OAAO,GAAAiO,mBAAA,CAAPjO,OAAO;IACPiC,gBAAgB,GAAAgM,mBAAA,CAAhBhM,gBAAgB;IAChBE,eAAe,GAAA8L,mBAAA,CAAf9L,eAAe;IACfO,UAAU,GAAAuL,mBAAA,CAAVvL,UAAU;IACV4B,eAAe,GAAA2J,mBAAA,CAAf3J,eAAe;IACfO,eAAe,GAAAoJ,mBAAA,CAAfpJ,eAAe;IACfN,kBAAkB,GAAA0J,mBAAA,CAAlB1J,kBAAkB;IAClB3B,YAAY,GAAAqL,mBAAA,CAAZrL,YAAY;IACZO,gBAAgB,GAAA8K,mBAAA,CAAhB9K,gBAAgB;IAChBJ,eAAe,GAAAkL,mBAAA,CAAflL,eAAe;IACfK,sBAAsB,GAAA6K,mBAAA,CAAtB7K,sBAAsB;IACtBoB,gBAAgB,GAAAyJ,mBAAA,CAAhBzJ,gBAAgB;IAChB5E,kBAAkB,GAAAqO,mBAAA,CAAlBrO,kBAAkB;IAClBwF,eAAe,GAAA6I,mBAAA,CAAf7I,eAAe;IACfG,YAAY,GAAA0I,mBAAA,CAAZ1I,YAAY;IACZxD,WAAW,GAAAkM,mBAAA,CAAXlM,WAAW;IACXmD,kBAAkB,GAAA+I,mBAAA,CAAlB/I,kBAAkB;IAClBlG,SAAS,GAAAiP,mBAAA,CAATjP,SAAS;IACTC,YAAY,GAAAgP,mBAAA,CAAZhP,YAAY;AAad,EAAA,IAAMiP,WAAW,GAAG;AAClBtG,IAAAA,WAAW,EAAXA,WAAW;AACX7B,IAAAA,UAAU,EAAVA,UAAU;AACV8B,IAAAA,eAAe,EAAfA,eAAe;AACfrD,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB3G,IAAAA,aAAa,EAAbA,aAAa;AACbZ,IAAAA,KAAK,EAAEiI,kBAAkB;AACzB4C,IAAAA,IAAI,EAAE8F,UAAU;AAChBxQ,IAAAA,eAAe,EAAEyQ;GAClB;EAED,IAAMzB,aAAa,GACjB7H,kBAAkB,IAAI4J,SAAS,CAACvO,kBAAkB,CAACG,KAAK,CAAC;EAE3D,oBACEwJ,IAAA,CAAAxC,QAAA,EAAA;AAAAR,IAAAA,QAAA,EACG1B,CAAAA,eAAe,iBAAIyB,GAAA,CAACiC,OAAO,EAAA;AAAOhD,MAAAA,YAAY,EAAZA,YAAY;AAAEtI,MAAAA,KAAK,EAALA;AAAK,KAAK,CAAC,eAC5DsM,IAAA,CAAC6E,SAAS,EAAA;AAAA7H,MAAAA,QAAA,gBACRD,GAAA,CAACoB,MAAM,EAAAtL,aAAA,CAAK8R,EAAAA,EAAAA,WAAW,CAAG,CAAC,EAC1B/Q,eAAe,IAAIiI,eAAe,eACnCkB,GAAA,CAAC4F,SAAS,EAAA;AAENtK,QAAAA,KAAK,EAALA,KAAK;AACLhC,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBvB,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpB+N,QAAAA,aAAa,EAAbA,aAAa;QAEfrK,WAAW,EAAEA,WAAW,IAAI8L;AAAwB,OACrD,CAAC,EACDvJ,eAAe,gBACdgC,GAAA,CAAA,KAAA,EAAA;AAAK5B,QAAAA,SAAS,EAAC,gDAAgD;AAAA6B,QAAAA,QAAA,eAC7DD,GAAA,CAACE,OAAO,EAAE,EAAA;AAAC,OACR,CAAC,gBAENF,GAAA,CAACV,WAAW,EAAA;AAERnC,QAAAA,UAAU,EAAVA,UAAU;AACVoE,QAAAA,eAAe,EAAfA,eAAe;AACf9B,QAAAA,UAAU,EAAVA,UAAU;AACV/G,QAAAA,SAAS,EAATA,SAAS;AACTnB,QAAAA,aAAa,EAAbA,aAAa;AACboB,QAAAA,YAAY,EAAZA,YAAY;AACZ9B,QAAAA,eAAe,EAAfA,eAAe;AACfF,QAAAA,KAAK,EAALA,KAAK;AAEPG,QAAAA,eAAe,EAAEyQ,uBAAwB;AACzCzL,QAAAA,SAAS,EAAED,eAAgB;AAC3BD,QAAAA,UAAU,EAAED,gBAAiB;QAC7B6D,OAAO,EAAEG,OAAO,CAACH,OAAO,CAAC,GAAGnE,MAAM,GAAGmE,OAAQ;AAC7CD,QAAAA,UAAU,EAAEjE;AAAM,OACnB,CACF,eACD0E,GAAA,CAAC+H,UAAU,EAAA;AACHrB,QAAAA,YAAY,EAAZA,YAAY;AAAExO,QAAAA,aAAa,EAAbA,aAAa;AACjC8P,QAAAA,qBAAqB,EAAEpB,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEqB,WAAY;AAC9CC,QAAAA,kBAAkB,EAAEtB,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEsB,kBAAmB;AAClDC,QAAAA,aAAa,EAAEvB,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEuB,aAAc;AACxC3E,QAAAA,MAAM,EAAElM,UAAW;AACnBoC,QAAAA,OAAO,EAAElD,YAAY,GAAG4I,YAAY,GAAG,EAAG;AAC1CzE,QAAAA,YAAY,EAAEnE,YAAY,GAAGmE,YAAY,GAAGyE,YAAa;AACzDqE,QAAAA,OAAO,EAAEhH,eAAgB;AACzB2L,QAAAA,iBAAiB,EAAExB,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEwB,iBAAkB;AAAAnI,QAAAA,QAAA,EAE/C2G,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAE3G;AAAQ,OACV,CAAC;AAAA,KACJ,CAAC,eACZD,GAAA,CAACuD,WAAW,EAAA;AACJI,MAAAA,gBAAgB,EAAhBA,gBAAgB;AACtBH,MAAAA,MAAM,EAAE1L,iBAAkB;AAC1B4B,MAAAA,OAAO,EAAElD,YAAY,GAAG4I,YAAY,GAAG,EAAG;AAC1CqE,MAAAA,OAAO,EAAE3G;AAAuB,KACjC,CAAC,eACFkD,GAAA,CAACqI,WAAW,EAAA;AAERxL,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBP,MAAAA,YAAY,EAAZA,YAAY;AACZ5E,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB0E,MAAAA,UAAU,EAAVA,UAAU;AACV1C,MAAAA,OAAO,EAAPA,OAAO;AACPxB,MAAAA,aAAa,EAAbA,aAAa;AAEfoQ,MAAAA,gBAAgB,EAAE9R,YAAY,GAAGmE,YAAY,GAAGyE;AAAa,KAC9D,CAAC;AAAA,GACF,CAAC;AAEP;;;;","x_google_ignoreList":[6]}
|
|
@@ -326,7 +326,8 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
326
326
|
t = _useTranslation.t;
|
|
327
327
|
var showNoDataScreen = isFetched && ramda.isEmpty(rowData);
|
|
328
328
|
var _getQueryParams = utils$1.getQueryParams(),
|
|
329
|
-
state = _getQueryParams.state
|
|
329
|
+
state = _getQueryParams.state,
|
|
330
|
+
searchTerm = _getQueryParams.searchTerm;
|
|
330
331
|
title = title.toLocaleLowerCase();
|
|
331
332
|
var page = pageProps.page,
|
|
332
333
|
pageSize = pageProps.pageSize;
|
|
@@ -340,7 +341,7 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
340
341
|
if (helpDocUrl) {
|
|
341
342
|
noDataProps.helpText = FieldDeleteAlert.renderNoDataHelpText(title, helpDocUrl);
|
|
342
343
|
}
|
|
343
|
-
if (constants$1.FIELD_STATES.active === state && canManageFields) {
|
|
344
|
+
if (neetoCist.isNotPresent(searchTerm) && constants$1.FIELD_STATES.active === state && canManageFields) {
|
|
344
345
|
noDataProps.primaryButtonProps = {
|
|
345
346
|
label: t("neetoFields.labels.addField"),
|
|
346
347
|
onClick: function onClick() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldsDashboard.js","sources":["../../app/javascript/src/apis/configs.js","../../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../../app/javascript/src/hooks/useFieldsDashboard.js","../../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../../app/javascript/src/components/FieldsDashBoard/Header.jsx","../../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../../app/javascript/src/components/FieldsDashBoard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery({\n queryKey: [QUERY_KEYS.CONFIGS],\n queryFn: configsApi.fetchConfigs,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { keepPreviousData } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { handleMetaClick, useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { FIELD_STATES } from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n canManageFields,\n onDeleteSuccess = noop,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [pageProps, setPageProps] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { searchTerm, resource, state } = useQueryParams();\n const history = useHistory();\n const { t } = useTranslation();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const filters = useMemo(\n () => buildFiltersFromURL([searchKeywordProps]),\n [searchTerm]\n );\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n pageProps,\n filters,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n placeholderData: keepPreviousData,\n });\n\n const { mutate: deleteField, isPending: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n onDeleteSuccess?.();\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n canManageFields,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased\n ? menuItems?.[0]?.id\n : menuItems?.[0]?.value;\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchInputProps = {\n placeholder: t(\"neetoFields.placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n const isSearchBarNeeded =\n state === FIELD_STATES.active\n ? activeFieldsCount > 0\n : inactiveFieldsCount > 0;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources, resource, state]);\n\n useEffect(() => {\n setPageProps({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps: isSearchBarNeeded ? searchInputProps : null,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Spinner, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FIELD_STATES } from \"./constants\";\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n showStateFilter,\n canManageFields,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n const { state } = getQueryParams();\n title = title.toLocaleLowerCase();\n const { page, pageSize } = pageProps;\n const noDataProps = {};\n\n if (!isFetched && isEmpty(rowData)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (helpDocUrl) {\n noDataProps.helpText = renderNoDataHelpText(title, helpDocUrl);\n }\n\n if (FIELD_STATES.active === state && canManageFields) {\n noDataProps.primaryButtonProps = {\n label: t(\"neetoFields.labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n };\n }\n\n return (\n <>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n showStateFilter\n ? t(\"neetoFields.messages.noFieldsWithState\", { title, state })\n : t(\"neetoFields.messages.noFields\", { title })\n }\n {...noDataProps}\n />\n </div>\n ) : (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, rowData, totalCount }}\n fixedHeight\n allowRowClick={false}\n currentPageNumber={page}\n defaultPageSize={pageSize}\n handlePageChange={page => setPageProps({ ...pageProps, page })}\n loading={isFetching}\n />\n </TableWrapper>\n )}\n </>\n );\n};\n\nexport default FieldsTable;\n","import { withT } from \"neetocommons/react-utils\";\nimport NeetoUIHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\n\nconst Header = withT(\n ({\n searchInputProps,\n breadcrumbs,\n title,\n helpDocUrl,\n helpDescription,\n size,\n setIsPaneOpen,\n t,\n canManageFields,\n }) => (\n <NeetoUIHeader\n {...{ breadcrumbs, size, title }}\n searchProps={searchInputProps}\n actionBlock={\n canManageFields && (\n <Button\n data-testid=\"neeto-fields-add-button\"\n label={t(\"neetoFields.labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n )\n }\n titleHelpPopoverProps={\n (helpDocUrl || helpDescription) && {\n title,\n description: helpDescription,\n helpLinkProps: helpDocUrl && { href: helpDocUrl },\n }\n }\n />\n )\n);\n\nexport default Header;\n","import NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { memo } from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index }) => {\n const { attributes, listeners, setNodeRef, transform, isDragging } =\n useSortable({ id: field.id, data: { index } });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n {...{ style, ...attributes, ...listeners }}\n className=\"nf-reorder-field neeto-ui-text-gray-800 mb-3 flex w-full items-center gap-x-3 font-medium\"\n data-testid=\"reorder-field-block\"\n >\n <div\n className={classNames(\"cursor-grab\", { \"cursor-grabbing\": isDragging })}\n >\n <Reorder />\n </div>\n <div className=\"nf-reorder-field__name neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex grow items-center border border-solid p-3 transition-all duration-300 ease-in-out\">\n <div data-testid=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default memo(FieldBlock);\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { noop } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/custom_field.css\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId, onReorderSuccess = noop }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isPending: isSubmitting } = useReorderFields({\n onSuccess: onReorderSuccess,\n });\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n { enabled: !!resource && isOpen }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n useEffect(() => {\n if (isEmpty(allFields)) return;\n setFields(allFields);\n initialStateRef.current = allFields;\n }, [allFields]);\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-testid=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoFields.titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-testid=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"neetoFields.messages.reorderFields\")}\n </Typography>\n <div className=\"flex w-full flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-testid=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"neetoFields.labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-testid=\"cancel-button\"\n label={t(\"neetoFields.labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import { Bar as FilterBar } from \"neetofilters\";\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({\n count = 0,\n reorderable,\n searchKeywordProps,\n setIsReorderPaneOpen,\n showSubheader,\n}) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n showSubheader && (\n <>\n <Typography\n className=\"neeto-ui-gray-800 me-4 font-semibold\"\n data-testid=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"neetoFields.titles.fieldWithCount\", { count })}\n </Typography>\n <FilterBar className=\"mb-0\" keyword={searchKeywordProps} />\n </>\n )\n }\n rightActionBlock={\n reorderable && (\n <Button\n data-testid=\"neeto-fields-reorder-button\"\n label={t(\"neetoFields.titles.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Subheader;\n","import { capitalize, isPresent, noop } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { hasPermission } from \"neetocommons/utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n helpDescription,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n headerSize = \"small\",\n canManageFields,\n onDeleteSuccess = noop,\n onReorderSuccess = noop,\n}) => {\n const { t } = useTranslation();\n\n const isAllowedToManageFields =\n canManageFields ?? hasPermission(\"neeto_fields_engine.manage_fields\");\n\n const title = capitalize(\n headerTitle || t(\"neetoFields.titles.field\", PLURAL)\n );\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n onDeleteSuccess,\n showStateFilter,\n canManageFields: isAllowedToManageFields,\n });\n\n const headerProps = {\n breadcrumbs,\n helpDocUrl,\n helpDescription,\n searchInputProps,\n setIsPaneOpen,\n title: headerDisplayTitle,\n size: headerSize,\n canManageFields: isAllowedToManageFields,\n };\n\n const showSubheader =\n showCountSubheader || isPresent(searchKeywordProps.value);\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showStateFilter && stateFilterTabs}\n <Subheader\n {...{\n count,\n searchKeywordProps,\n setIsReorderPaneOpen,\n showSubheader,\n }}\n reorderable={reorderable && isAllowedToManageFields}\n />\n {isScreenLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <FieldsTable\n {...{\n columnData,\n helpDescription,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n showStateFilter,\n title,\n }}\n canManageFields={isAllowedToManageFields}\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n />\n )}\n <FieldsPane\n {...{ allowedKinds, selectedField }}\n additionalValidations={paneProps?.validations}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n {...{ onReorderSuccess }}\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n"],"names":["fetchConfigs","axios","get","CONFIGS_URL","configsApi","useFetchConfigs","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","CONFIGS","queryFn","staleTime","DEFAULT_STALE_TIME","useFieldsDashboard","_ref","buildColumnData","isOwnerBased","fieldStatesTaxonomy","nameAliases","title","resources","showStateFilter","canManageFields","_ref$onDeleteSuccess","onDeleteSuccess","noop","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","selectedField","setSelectedField","_useState9","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","_useState10","pageProps","setPageProps","_useQueryParams","useQueryParams","searchTerm","resource","state","history","useHistory","_useTranslation","useTranslation","t","searchKeywordProps","key","node","value","ownerId","undefined","_useFetchConfigs","enabled","_useFetchConfigs$data","data","_useFetchConfigs$data2","_useFetchConfigs$data3","owners","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","isLoading","filters","useMemo","buildFiltersFromURL","fieldParams","resourceType","FIELD_STATES","active","_useFetchFields","useFetchFields","placeholderData","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","fields","count","activeFieldsCount","inactiveFieldsCount","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","useDestroyField","onSuccess","deleteField","mutate","isDeleting","isPending","handleDelete","fieldId","id","handleClosePane","handleEditButtonClick","field","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","buildDefaultColumns","onDeleteClick","onEditClick","columnData","handleBlockClick","params","handleMetaClick","buildUrl","menuItems","handleURLWithDefaultValues","queryParams","isNil","_menuItems$","_menuItems$2","any","replace","isScreenLoading","showCountSubheader","searchInputProps","placeholder","className","isSingleResource","length","isMenuBarNeeded","isSearchBarNeeded","resourceName","getResourceName","selectedVal","headerDisplayTitle","getDashBoardTitle","stateFilterTabs","renderStateFilterTabs","selectedState","menuBarItems","renderMenuBarItems","items","selectedMenu","useEffect","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","isEmpty","_getQueryParams","getQueryParams","toLocaleLowerCase","noDataProps","_jsx","children","Spinner","helpText","renderNoDataHelpText","primaryButtonProps","label","onClick","_Fragment","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","loading","Header","withT","breadcrumbs","helpDescription","size","NeetoUIHeader","searchProps","actionBlock","Button","titleHelpPopoverProps","description","helpLinkProps","href","Menubar","NeetoUIMenuBar","showMenu","FieldBlock","index","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","isDragging","style","CSS","Transform","toString","_jsxs","ref","classNames","Reorder","name","memo","ReorderPane","isOpen","onClose","_ref$onReorderSuccess","onReorderSuccess","setFields","initialStateRef","useRef","_useReorderFields","useReorderFields","reorderField","isSubmitting","allFields","handleDragEnd","_ref2","over","arrayMove","current","handleReorderSave","map","push","displayOrder","Pane","Typography","weight","Body","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","strategy","verticalListSortingStrategy","isSystem","_createElement","Footer","disabled","Subheader","_ref$count","showSubheader","NeetoUISubHeader","leftActionBlock","FilterBar","keyword","rightActionBlock","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","_ref$resourceType","_ref$allowedKinds","allowedKinds","ALL_KINDS","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","DEFAULT_FIELD_STATE_TAXONOMY","_ref$nameAliases","headerTitle","_ref$headerSize","headerSize","isAllowedToManageFields","hasPermission","capitalize","PLURAL","_useFieldsDashboard","headerProps","isPresent","Container","FieldsPane","additionalValidations","validations","hideRequiredSwitch","initialValues","onMutationSuccess","DeleteAlert","resourceTypeName"],"mappings":"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","x_google_ignoreList":[6]}
|
|
1
|
+
{"version":3,"file":"FieldsDashboard.js","sources":["../../app/javascript/src/apis/configs.js","../../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../../app/javascript/src/hooks/useFieldsDashboard.js","../../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../../app/javascript/src/components/FieldsDashBoard/Header.jsx","../../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../../app/javascript/src/components/FieldsDashBoard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery({\n queryKey: [QUERY_KEYS.CONFIGS],\n queryFn: configsApi.fetchConfigs,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { keepPreviousData } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { handleMetaClick, useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { FIELD_STATES } from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n canManageFields,\n onDeleteSuccess = noop,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [pageProps, setPageProps] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { searchTerm, resource, state } = useQueryParams();\n const history = useHistory();\n const { t } = useTranslation();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const filters = useMemo(\n () => buildFiltersFromURL([searchKeywordProps]),\n [searchTerm]\n );\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n pageProps,\n filters,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n placeholderData: keepPreviousData,\n });\n\n const { mutate: deleteField, isPending: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n onDeleteSuccess?.();\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n canManageFields,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased\n ? menuItems?.[0]?.id\n : menuItems?.[0]?.value;\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchInputProps = {\n placeholder: t(\"neetoFields.placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n const isSearchBarNeeded =\n state === FIELD_STATES.active\n ? activeFieldsCount > 0\n : inactiveFieldsCount > 0;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources, resource, state]);\n\n useEffect(() => {\n setPageProps({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps: isSearchBarNeeded ? searchInputProps : null,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import { isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Spinner, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FIELD_STATES } from \"./constants\";\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n showStateFilter,\n canManageFields,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n const { state, searchTerm } = getQueryParams();\n title = title.toLocaleLowerCase();\n const { page, pageSize } = pageProps;\n const noDataProps = {};\n\n if (!isFetched && isEmpty(rowData)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (helpDocUrl) {\n noDataProps.helpText = renderNoDataHelpText(title, helpDocUrl);\n }\n\n if (\n isNotPresent(searchTerm) &&\n FIELD_STATES.active === state &&\n canManageFields\n ) {\n noDataProps.primaryButtonProps = {\n label: t(\"neetoFields.labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n };\n }\n\n return (\n <>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n showStateFilter\n ? t(\"neetoFields.messages.noFieldsWithState\", { title, state })\n : t(\"neetoFields.messages.noFields\", { title })\n }\n {...noDataProps}\n />\n </div>\n ) : (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, rowData, totalCount }}\n fixedHeight\n allowRowClick={false}\n currentPageNumber={page}\n defaultPageSize={pageSize}\n handlePageChange={page => setPageProps({ ...pageProps, page })}\n loading={isFetching}\n />\n </TableWrapper>\n )}\n </>\n );\n};\n\nexport default FieldsTable;\n","import { withT } from \"neetocommons/react-utils\";\nimport NeetoUIHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\n\nconst Header = withT(\n ({\n searchInputProps,\n breadcrumbs,\n title,\n helpDocUrl,\n helpDescription,\n size,\n setIsPaneOpen,\n t,\n canManageFields,\n }) => (\n <NeetoUIHeader\n {...{ breadcrumbs, size, title }}\n searchProps={searchInputProps}\n actionBlock={\n canManageFields && (\n <Button\n data-testid=\"neeto-fields-add-button\"\n label={t(\"neetoFields.labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n )\n }\n titleHelpPopoverProps={\n (helpDocUrl || helpDescription) && {\n title,\n description: helpDescription,\n helpLinkProps: helpDocUrl && { href: helpDocUrl },\n }\n }\n />\n )\n);\n\nexport default Header;\n","import NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { memo } from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index }) => {\n const { attributes, listeners, setNodeRef, transform, isDragging } =\n useSortable({ id: field.id, data: { index } });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n {...{ style, ...attributes, ...listeners }}\n className=\"nf-reorder-field neeto-ui-text-gray-800 mb-3 flex w-full items-center gap-x-3 font-medium\"\n data-testid=\"reorder-field-block\"\n >\n <div\n className={classNames(\"cursor-grab\", { \"cursor-grabbing\": isDragging })}\n >\n <Reorder />\n </div>\n <div className=\"nf-reorder-field__name neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex grow items-center border border-solid p-3 transition-all duration-300 ease-in-out\">\n <div data-testid=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default memo(FieldBlock);\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { noop } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/custom_field.css\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId, onReorderSuccess = noop }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isPending: isSubmitting } = useReorderFields({\n onSuccess: onReorderSuccess,\n });\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n { enabled: !!resource && isOpen }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n useEffect(() => {\n if (isEmpty(allFields)) return;\n setFields(allFields);\n initialStateRef.current = allFields;\n }, [allFields]);\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-testid=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoFields.titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-testid=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"neetoFields.messages.reorderFields\")}\n </Typography>\n <div className=\"flex w-full flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-testid=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"neetoFields.labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-testid=\"cancel-button\"\n label={t(\"neetoFields.labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import { Bar as FilterBar } from \"neetofilters\";\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({\n count = 0,\n reorderable,\n searchKeywordProps,\n setIsReorderPaneOpen,\n showSubheader,\n}) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n showSubheader && (\n <>\n <Typography\n className=\"neeto-ui-gray-800 me-4 font-semibold\"\n data-testid=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"neetoFields.titles.fieldWithCount\", { count })}\n </Typography>\n <FilterBar className=\"mb-0\" keyword={searchKeywordProps} />\n </>\n )\n }\n rightActionBlock={\n reorderable && (\n <Button\n data-testid=\"neeto-fields-reorder-button\"\n label={t(\"neetoFields.titles.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Subheader;\n","import { capitalize, isPresent, noop } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { hasPermission } from \"neetocommons/utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n helpDescription,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n headerSize = \"small\",\n canManageFields,\n onDeleteSuccess = noop,\n onReorderSuccess = noop,\n}) => {\n const { t } = useTranslation();\n\n const isAllowedToManageFields =\n canManageFields ?? hasPermission(\"neeto_fields_engine.manage_fields\");\n\n const title = capitalize(\n headerTitle || t(\"neetoFields.titles.field\", PLURAL)\n );\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n onDeleteSuccess,\n showStateFilter,\n canManageFields: isAllowedToManageFields,\n });\n\n const headerProps = {\n breadcrumbs,\n helpDocUrl,\n helpDescription,\n searchInputProps,\n setIsPaneOpen,\n title: headerDisplayTitle,\n size: headerSize,\n canManageFields: isAllowedToManageFields,\n };\n\n const showSubheader =\n showCountSubheader || isPresent(searchKeywordProps.value);\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showStateFilter && stateFilterTabs}\n <Subheader\n {...{\n count,\n searchKeywordProps,\n setIsReorderPaneOpen,\n showSubheader,\n }}\n reorderable={reorderable && isAllowedToManageFields}\n />\n {isScreenLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <FieldsTable\n {...{\n columnData,\n helpDescription,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n showStateFilter,\n title,\n }}\n canManageFields={isAllowedToManageFields}\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n />\n )}\n <FieldsPane\n {...{ allowedKinds, selectedField }}\n additionalValidations={paneProps?.validations}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n {...{ onReorderSuccess }}\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n"],"names":["fetchConfigs","axios","get","CONFIGS_URL","configsApi","useFetchConfigs","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","CONFIGS","queryFn","staleTime","DEFAULT_STALE_TIME","useFieldsDashboard","_ref","buildColumnData","isOwnerBased","fieldStatesTaxonomy","nameAliases","title","resources","showStateFilter","canManageFields","_ref$onDeleteSuccess","onDeleteSuccess","noop","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","selectedField","setSelectedField","_useState9","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","_useState10","pageProps","setPageProps","_useQueryParams","useQueryParams","searchTerm","resource","state","history","useHistory","_useTranslation","useTranslation","t","searchKeywordProps","key","node","value","ownerId","undefined","_useFetchConfigs","enabled","_useFetchConfigs$data","data","_useFetchConfigs$data2","_useFetchConfigs$data3","owners","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","isLoading","filters","useMemo","buildFiltersFromURL","fieldParams","resourceType","FIELD_STATES","active","_useFetchFields","useFetchFields","placeholderData","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","fields","count","activeFieldsCount","inactiveFieldsCount","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","useDestroyField","onSuccess","deleteField","mutate","isDeleting","isPending","handleDelete","fieldId","id","handleClosePane","handleEditButtonClick","field","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","buildDefaultColumns","onDeleteClick","onEditClick","columnData","handleBlockClick","params","handleMetaClick","buildUrl","menuItems","handleURLWithDefaultValues","queryParams","isNil","_menuItems$","_menuItems$2","any","replace","isScreenLoading","showCountSubheader","searchInputProps","placeholder","className","isSingleResource","length","isMenuBarNeeded","isSearchBarNeeded","resourceName","getResourceName","selectedVal","headerDisplayTitle","getDashBoardTitle","stateFilterTabs","renderStateFilterTabs","selectedState","menuBarItems","renderMenuBarItems","items","selectedMenu","useEffect","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","isEmpty","_getQueryParams","getQueryParams","toLocaleLowerCase","noDataProps","_jsx","children","Spinner","helpText","renderNoDataHelpText","isNotPresent","primaryButtonProps","label","onClick","_Fragment","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","loading","Header","withT","breadcrumbs","helpDescription","size","NeetoUIHeader","searchProps","actionBlock","Button","titleHelpPopoverProps","description","helpLinkProps","href","Menubar","NeetoUIMenuBar","showMenu","FieldBlock","index","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","isDragging","style","CSS","Transform","toString","_jsxs","ref","classNames","Reorder","name","memo","ReorderPane","isOpen","onClose","_ref$onReorderSuccess","onReorderSuccess","setFields","initialStateRef","useRef","_useReorderFields","useReorderFields","reorderField","isSubmitting","allFields","handleDragEnd","_ref2","over","arrayMove","current","handleReorderSave","map","push","displayOrder","Pane","Typography","weight","Body","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","strategy","verticalListSortingStrategy","isSystem","_createElement","Footer","disabled","Subheader","_ref$count","showSubheader","NeetoUISubHeader","leftActionBlock","FilterBar","keyword","rightActionBlock","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","_ref$resourceType","_ref$allowedKinds","allowedKinds","ALL_KINDS","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","DEFAULT_FIELD_STATE_TAXONOMY","_ref$nameAliases","headerTitle","_ref$headerSize","headerSize","isAllowedToManageFields","hasPermission","capitalize","PLURAL","_useFieldsDashboard","headerProps","isPresent","Container","FieldsPane","additionalValidations","validations","hideRequiredSwitch","initialValues","onMutationSuccess","DeleteAlert","resourceTypeName"],"mappings":"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","x_google_ignoreList":[6]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-fields-frontend",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.7",
|
|
4
4
|
"description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-fields-nano",
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
"@babel/preset-typescript": "7.26.0",
|
|
61
61
|
"@babel/runtime": "7.26.10",
|
|
62
62
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
63
|
-
"@bigbinary/eslint-plugin-neeto": "1.8.
|
|
63
|
+
"@bigbinary/eslint-plugin-neeto": "1.8.1",
|
|
64
64
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
65
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
66
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
67
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
68
|
-
"@bigbinary/neeto-molecules": "4.
|
|
69
|
-
"@bigbinary/neetoui": "8.3.
|
|
65
|
+
"@bigbinary/neeto-commons-frontend": "4.13.103",
|
|
66
|
+
"@bigbinary/neeto-filters-frontend": "4.3.31",
|
|
67
|
+
"@bigbinary/neeto-icons": "1.20.80",
|
|
68
|
+
"@bigbinary/neeto-molecules": "4.1.10",
|
|
69
|
+
"@bigbinary/neetoui": "8.3.75",
|
|
70
70
|
"@dnd-kit/core": "6.3.1",
|
|
71
71
|
"@dnd-kit/sortable": "10.0.0",
|
|
72
72
|
"@emotion/is-prop-valid": "1.2.0",
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
"@tailwindcss/postcss": "^4.1.17",
|
|
85
85
|
"@tanstack/react-query": "5.59.20",
|
|
86
86
|
"@tanstack/react-query-devtools": "5.59.20",
|
|
87
|
-
"antd": "5.22.
|
|
87
|
+
"antd": "5.22.1",
|
|
88
88
|
"autoprefixer": "^10.4.5",
|
|
89
|
-
"axios": "1.
|
|
89
|
+
"axios": "1.13.5",
|
|
90
90
|
"babel-loader": "^8.2.5",
|
|
91
91
|
"babel-plugin-istanbul": "^6.1.1",
|
|
92
92
|
"babel-plugin-js-logger": "1.0.17",
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
"prettier": "3",
|
|
141
141
|
"prettier-plugin-tailwindcss": "^0.7.1",
|
|
142
142
|
"process": "^0.11.10",
|
|
143
|
-
"qs": "
|
|
143
|
+
"qs": "6.14.2",
|
|
144
144
|
"ramda": "0.29.0",
|
|
145
145
|
"react": "18.3.1",
|
|
146
146
|
"react-dom": "18.3.1",
|
|
@@ -158,7 +158,6 @@
|
|
|
158
158
|
"rollup-plugin-styles": "4.0.0",
|
|
159
159
|
"sass": "1.89.0",
|
|
160
160
|
"sass-loader": "^13.0.2",
|
|
161
|
-
"shakapacker": "^6.6.0",
|
|
162
161
|
"source-map-loader": "4.0.1",
|
|
163
162
|
"stream-browserify": "^3.0.0",
|
|
164
163
|
"stream-http": "3.2.0",
|
|
@@ -178,11 +177,11 @@
|
|
|
178
177
|
"peerDependencies": {
|
|
179
178
|
"@babel/runtime": "7.26.10",
|
|
180
179
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
181
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
182
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
183
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
184
|
-
"@bigbinary/neeto-molecules": "4.
|
|
185
|
-
"@bigbinary/neetoui": "8.3.
|
|
180
|
+
"@bigbinary/neeto-commons-frontend": "4.13.103",
|
|
181
|
+
"@bigbinary/neeto-filters-frontend": "4.3.31",
|
|
182
|
+
"@bigbinary/neeto-icons": "1.20.80",
|
|
183
|
+
"@bigbinary/neeto-molecules": "4.1.10",
|
|
184
|
+
"@bigbinary/neetoui": "8.3.75",
|
|
186
185
|
"@dnd-kit/core": "6.3.1",
|
|
187
186
|
"@dnd-kit/sortable": "10.0.0",
|
|
188
187
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -190,8 +189,8 @@
|
|
|
190
189
|
"@tailwindcss/container-queries": "^0.1.1",
|
|
191
190
|
"@tanstack/react-query": "5.59.20",
|
|
192
191
|
"@tanstack/react-query-devtools": "5.59.20",
|
|
193
|
-
"antd": "5.22.
|
|
194
|
-
"axios": "1.
|
|
192
|
+
"antd": "5.22.1",
|
|
193
|
+
"axios": "1.13.5",
|
|
195
194
|
"buffer": "^6.0.3",
|
|
196
195
|
"classnames": "2.5.1",
|
|
197
196
|
"crypto-browserify": "3.12.1",
|
|
@@ -204,7 +203,7 @@
|
|
|
204
203
|
"mixpanel-browser": "^2.45.0",
|
|
205
204
|
"os-browserify": "0.3.0",
|
|
206
205
|
"path-browserify": "^1.0.1",
|
|
207
|
-
"qs": "
|
|
206
|
+
"qs": "6.14.2",
|
|
208
207
|
"ramda": "0.29.0",
|
|
209
208
|
"react": "18.3.1",
|
|
210
209
|
"react-dom": "18.3.1",
|