@erpsquad/common 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/action-bar/action-bar.tsx"],"sourcesContent":["import Button from '../button/button';\nimport Typography from '../typography/typography';\n/* eslint-disable no-mixed-spaces-and-tabs */\nimport './action-bar.scss';\nimport {\n\t/* IconButton, */ Box,\n\tDivider,\n\tIconButton,\n\tMenu,\n\tMenuItem,\n\tuseMediaQuery,\n\tuseTheme\n} from '@mui/material';\nimport AddIcon from '@mui/icons-material/Add';\nimport ViewModal from '../view-modal/view-modal';\nimport HeaderCard from '../header-card/header-card';\nimport SearchBar from '../search-bar/search-bar';\nimport { useEffect, useMemo, useState } from 'react';\nimport images from '../../assets/images';\nimport Toggle from '../toggle/toggle';\nimport Filter from '../filter/filter';\nimport Select from '../select/select';\nimport { RuleGroupType } from 'react-querybuilder';\nimport SaveFilterModal from '../save-filter-modal/save-filter-modal';\nimport {\n\tsetBaseUrl,\n\tpostV1Filter,\n\tgetV1FilterResource\n} from '../../api-client/api.system-feature/api';\nimport type * as Types from '../../api-client/api.system-feature/api-types';\nimport { auth } from '../../constants/auth';\nimport DropdownButton from '../dropdown-button/dropdown-button';\nimport TitleDropdownButton from '../title-dropdown-button/title-dropdown-button';\nimport { useAppDispatch, useAppSelector } from '../../redux/hooks';\nimport { getToken } from '../../utils/common';\nimport React from 'react';\nimport UploadExcel from '../upload-excel/upload-excel';\nimport { generateQueryString, getErrorMessage, getExcelTemplateGenerateTemplate, getOperatorLabel, getExcelExportTemplate } from '../../utils/common';\nimport { initialFilter, ViewType } from '../../contexts/page-context';\nimport { usePages } from '../../hooks/use-pages';\nimport Chip from '../chip/chip';\nimport formatText, { formatLabel } from '../../utils/format-text';\nimport { Cancel } from '@mui/icons-material';\nimport { useLocation } from 'react-router-dom';\nimport { IResources, routeToResourceMap } from '../../constants/route-page-map';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { FilterRemove, Filter as FilterIcon, Search, FolderSave, Export, Import, DocumentDownload } from '../icons';\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\ninterface ActionBarPropsType {\n\ttitle: string;\n\tdata: ActionData[];\n\tsetData: React.Dispatch<React.SetStateAction<ActionData[]>>;\n\tactive: string;\n\tsetActive: (view: ViewType) => void;\n\thandleAddButton?: (e?: any) => void;\n\tbutton?: boolean;\n\thandleSearch?: (value: string) => void;\n\tfilters?: string;\n\tdisabledViews?: string[];\n\tisDropdownMenuButton?: boolean;\n\titemListingDropdownOptions?: any;\n\tisTitleMenu?: boolean;\n\ttitleMenus?: any;\n\tfolderData?: any;\n\ttype?: any;\n\tfields?: any;\n\tapplyFilter?: any;\n\tsavedFilters?: SavedFilter;\n\tsetSavedFilters?: (view: SavedFilter) => void;\n\tisToggleButton?: boolean;\n\thandleToggleButton?: (e?: any) => void;\n\tshowView?: boolean;\n\tshowSearch?: boolean;\n\tshowFilter?: boolean;\n\tcustomButtons?: React.ReactNode[] | JSX.Element[];\n\tactionBtn?: React.ReactNode[] | JSX.Element[];\n\tpageName?: string;\n\timportModuleName?: string;\n\tsearchText?:string;\n\tselectedIds?:any;\n\n}\n\ninterface SavedFilter {\n\tid: string;\n\tname: string;\n\tquery: RuleGroupType;\n}\n\nconst ActionBar = React.memo((props: ActionBarPropsType) => {\n\tconst token = localStorage.getItem(auth.storageTokenKeyName) || undefined;\n\tconst location = useLocation();\n\n\tconst {\n\t\ttitle,\n\t\tdata,\n\t\tsetData,\n\t\tactive,\n\t\tsetActive,\n\t\thandleAddButton,\n\t\thandleSearch,\n\t\tbutton = true,\n\t\tdisabledViews,\n\t\tisDropdownMenuButton = false,\n\t\titemListingDropdownOptions = [],\n\t\tisTitleMenu = false,\n\t\ttitleMenus = [],\n\t\ttype,\n\t\tfields = [],\n\t\tapplyFilter,\n\t\t// setSavedFilters,\n\t\t// savedFilters,\n\t\tisToggleButton = false,\n\t\thandleToggleButton,\n\t\tshowSearch = true,\n\t\tshowFilter = true,\n\t\tshowView = true,\n\t\tcustomButtons,\n\t\tpageName,\n\t\tactionBtn,\n\t\timportModuleName,\n\t\tselectedIds,\n searchText\n\t} = props;\n\tconst dispatch = useAppDispatch();\n\tconst [isToggled, setIsToggled] = useState<boolean>(false);\n\tconst [isToggledForItem, setIsToggledForItem] = useState<boolean>(false);\n\tconst [openFilterPopup, setOpenFilterPopup] = useState<boolean>(false);\n\tconst [status, setStatus] = useState<string>('');\n\tconst [openSaveFilter, setIsOpenSaveFilter] = useState<boolean>(false);\n\tconst [rowAnchorEl, setRowAnchorEl] = useState<null | HTMLElement>(null);\n\tconst [isUploadModalOpen, setIsUploadModalOpen] = useState(false);\n\tconst [savedFilters, setSavedFilters] = useState<any[]>([]);\n\t// const [selectedSavedFilter, setSelectedSavedFilter] = useState<any>(null);\n\tconst [searchedText, setSearchedText] = useState<string>(\"\");\n const {t}=useTranslation();\n\tconst theme = useTheme();\n const isLgUp = useMediaQuery(theme.breakpoints.up('xl'));\n\tconst { activePage, updatePageInfo, schemaFields,setActivePage } = usePages();\n\tconst { filters } = activePage;\n\n\tconst resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n\tconst { filterBar, filterQuery } = useAppSelector((store) => {\n\t\treturn store?.drive;\n\t});\n\t\n\n\n\tuseEffect(() => {\n\t\tfetchSavedFilters();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\t\tif(resources?.pageResource || resources?.fieldResource) {\n\t\t\tgetV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\t\t\t\t.then((response: any) => {\n\t\t\t\t\tconst savedFilters = response.data.result.map((e: any) => {\n\t\t\t\t\t\treturn { id: e._id, name: e.name, query: e.data };\n\t\t\t\t\t});\n\t\n\t\t\t\t\tsetSavedFilters?.(savedFilters);\n\t\t\t\t})\n\t\t\t\t.catch((err: any) => console.log('Error fetching saved filters:', err));\n\t\t} else{\n\t\t\tsetSavedFilters([])\n\t\t}\n\t};\n\n\n\tconst handleFilterHide = () => {\n\t\t// dispatch(setFilterBar(false));\n\t\treturn\n\t};\n\n\tconst handleStatusChange = (event: any) => {\n\t\tsetStatus(event.target.value);\n\t};\n\n\tconst handleSaveFilterClick = () => {\n\t\tif (filters?.rules) {\n\t\t\tsetIsOpenSaveFilter(true);\n\t\t}\n\t};\n\n\tconst handleImportClick = (event: any) => {\n\t\tsetRowAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleActionsClose = () => {\n\t\tsetRowAnchorEl(null);\n\t};\n\n\tconst handleSaveFilter = (query: RuleGroupType) => {\n\t\t// dispatch(setFilterQuery(query));\n\t\treturn \n\t};\n\n\tconst handleSave = async (name: string, filterQuery: RuleGroupType) => {\n\t\t\n\t\t// dispatch(setFilterBar(false));\n\t\t\n\t\tconst postFilterRequest: Types.PostV1FilterRequest = {\n\t\t\t'x-token': token,\n\t\t\tmodule: resources?.pageResource || resources?.fieldResource || 'erp-common',\n\t\t\tname: name,\n\t\t\tis_applied: true,\n\t\t\tdata: filterQuery\n\t\t};\n\t\ttry {\n\t\t\tawait postV1Filter(postFilterRequest)\n\t\t\tenqueueSnackbar('Filters saved successfully.')\n\t\t\tsetActivePage((prev: any) => ({\n\t\t\t\t...prev,\n\t\t\t\tfilters: {\n\t\t\t\t\t...prev.filters,\n\t\t\t\t\tname,\n\t\t\t\t\trules: filterQuery.rules\n\t\t\t\t},\n\t\t\t\tfilterQueryString: generateQueryString(filterQuery)\n\t\t\t}));\n\t\t\tsetIsOpenSaveFilter(false);\n\t\t} catch (error) {\n\t\t\tlet m: string = 'Something went wrong on saving filters'\n\t\t\tif(error instanceof Error) {\n\t\t\t\tm = getErrorMessage(error.message)\n\t\t\t}\n\t\t\tenqueueSnackbar(m, {variant: 'error'})\n\t\t\treturn false\n\t\t}\n\t\treturn true\n\t};\n\n\tconst handleToggle = () => {\n\t\tsetIsToggled((prev) => !prev);\n\t\talert('Toggled');\n\t};\n\n\tconst handleChangeToggleButton = () => {\n\t\tsetIsToggledForItem((prev) => !prev);\n\t\thandleToggleButton?.();\n\t};\n\n\tconst handleCloseFilter = () => {\n\t\tsetOpenFilterPopup(false);\n\t};\n\n\tconst handleActiveHeaderCard = (data: ActionData) => {\n\t\tsetActive(data?.label);\n\t};\n\n\tconst downloadTemplate = async (moduleName: string) => {\n\t\tconst templateURL: any = await getExcelTemplateGenerateTemplate({\n\t\t\t'x-token': token,\n\t\t\tresource: moduleName\n\t\t});\n\t\tif (templateURL) {\n\t\t\tconst blob = await templateURL.blob();\n\n\t\t\tconst link = document.createElement('a');\n\n\t\t\tconst url = window.URL.createObjectURL(blob);\n\n\t\t\tlink.href = url;\n\t\t\tlink.download = `${moduleName}.xlsx`;\n\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t\twindow.URL.revokeObjectURL(url);\n\t\t}\n\t};\n\n\tconst exportExcel = async (moduleName: string,filterQueryString: string,selectedIds: any,title: string) => {\n\t\tconst templateURL: any = await getExcelExportTemplate({\n\t\t\t'x-token': token,\n\t\t\tactivePage: activePage,\n\t\t\tfilterQueryString: filterQueryString,\n\t\t\tselectedIds: selectedIds,\n\t\t\ttitle: title\n\t\t});\n\t\tif (templateURL) {\n\t\t\tconst blob = await templateURL.blob();\n\n\t\t\tconst link = document.createElement('a');\n\n\t\t\tconst url = window.URL.createObjectURL(blob);\n\n\t\t\tlink.href = url;\n\t\t\tlink.download = `${moduleName}.xlsx`;\n\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t\twindow.URL.revokeObjectURL(url);\n\t\t}\n\t};\n\n\tconst openImportTemplate = () => {\n\t\tsetIsUploadModalOpen(true);\n\t};\n\tconst rowActionMenu = [];\n\tif(pageName && (!importModuleName || selectedIds)){\n\t\trowActionMenu.push({\n\t\t\tlabel: 'Export Excel',\n\t\t\thandleAction: (moduleName: string) => exportExcel(moduleName,activePage.filterQueryString,selectedIds,title),\n\t\t\ticon: <Export fontSize='small'/>\n\t\t})\n\t}\n\tif(pageName && importModuleName){ {\n\t\trowActionMenu.push({\n\t\t\tlabel: 'Download Template ',\n\t\t\thandleAction: (moduleName: string) => downloadTemplate(moduleName),\n\t\t\ticon: <DocumentDownload fontSize='small'/>\n\t\t},\n\t\t{\n\t\t\tlabel: 'Import Template',\n\t\t\thandleAction: (moduleName: string) => openImportTemplate(moduleName),\n\t\t\ticon: <Import fontSize='small'/>\n\t\t})\n\t}}\n\n\tconst getFilterChipLabels = (rule: any) => {\n\t\trule = {...rule, field:rule.field?.replace(\"__replaceKey\", '')}\n\t\tlet label = schemaFields.find((f: any) => f.key === rule.field)?.label || rule.field;\n\t\tlabel = formatLabel(label?.replace('_id', ' '));\n\t\tconst opLabel = getOperatorLabel(rule, schemaFields);\n\n\t\tlet value = rule.value;\n\t\tif (Array.isArray(rule.value)) {\n\t\t\trule.value = rule.value.map(rv => formatLabel(typeof rv === 'object' ? (rv.label) : rv))\n\t\t\tvalue = rule.value.join(', ');\n\t\t}\n\n\t\treturn <Box sx={{display:'flex', alignItems:'center', gap:1}}>\n\t\t\t<Typography type='s5' color='theme.secondary.800' weight='medium'>{label}</Typography>\n\t\t\t\t<Divider orientation='vertical' flexItem />\n\t\t\t<Typography type='s5' color='theme.primary.800' weight='medium'>{formatText(opLabel)} {value}</Typography>\n\t\t</Box>\n\t\t// `${label}: ${value}`;\n\t};\n\n\tconst getFilterChip=(rr: any,index:any) => {\n\t\treturn (\n\t\t\t\t<Chip\n\t\t\t\t\t\t\t\tlabel={getFilterChipLabels(rr)}\n\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\tactive\n\t\t\t\t\t\t\t\tsx={({palette}) => ({\n\t\t\t\t\t\t\t\t\tbackgroundColor: 'grey.200',\n\t\t\t\t\t\t\t\t\tborderColor: `${palette.grey[300]} !important`,\n\t\t\t\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t\t\t\t\t'&:hover': { backgroundColor: `${palette.grey[200]} !important` },\n\t\t\t\t\t\t\t\t\tflexDirection: 'row-reverse',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tgap: 0.75,\n\t\t\t\t\t\t\t\t\tcursor: 'unset'\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tdeleteIcon={\n\t\t\t\t\t\t\t\t\t<Cancel\n\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\tfontSize: '1rem !important',\n\t\t\t\t\t\t\t\t\t\t\tcolor: '#919294 !important',\n\t\t\t\t\t\t\t\t\t\t\tmarginRight: 'auto !important',\n\t\t\t\t\t\t\t\t\t\t\tmarginLeft: `0 !important`,\n\t\t\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\t\t\tcolor:'inherit !important'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDelete={() => removeSignleFilter(index)}\n\t\t\t\t\t\t\t\tclickable={false}\n\t\t\t\t\t\t\t/>\n\t\t)\n\t}\n\n const removeSignleFilter = (ruleIndex: number) => {\n\t\tconst uRules: any[] = filters.rules.filter(\n\t\t\t(_, index) => index !== ruleIndex\n\t\t);\n\t\tconst uFilters = { ...filters, rules: uRules };\n\t\tconst filterQueryString = generateQueryString(uFilters);\n\n\t\tupdatePageInfo({\n\t\t\tfilters: uFilters,\n\t\t\tfilterQueryString\n\t\t});\n\t};\n\n\tconst isFilterApplied = (flt: any): boolean => Boolean(flt?.rules?.length);\n\tconst [searchAnchorEl, setSearchAnchorEl] = useState<HTMLElement | null>(null);\n\t// useEffect(() => {\n\t// \tif(activePage?.active_view ){\n\t// \t\tconst updateViews=activePage?.views?.length?activePage.views:[{\n\t// \t\t\tlabel:activePage?.active_view,\n\t// \t\t\tposition:0\n\t// \t\t}]\n\t// \t\tsetData(updateViews)\n\t// \t}\t\t\n\t// \t//eslint-disable-next-line\n\t// },[isCreatePage,activePage?.active_view])\n\n\tuseEffect(()=>{\t\n\t\tif(activePage?.search){\n\t\t\tsetSearchedText(activePage?.search)\n\t\t}\n\t},[activePage?.search])\n\n\tuseEffect(() => {\n\t\tif(searchedText){\n\t\t\thandleSearch?.(searchedText);\n\t\t\tupdatePageInfo({ search: searchedText });\n\t\t}\n\t\t//eslint-disable-next-line\n\t},[searchedText])\n\treturn (\n\t\t<div>\n\t\t\t<div className='action-bar'>\n\t\t\t\t<div className='action-bar--LeftContent'>\n\t\t\t\t\t{isTitleMenu ? (\n\t\t\t\t\t\t<div style={{ zIndex: 999 }}>\n\t\t\t\t\t\t\t<TitleDropdownButton\n\t\t\t\t\t\t\t\tonClick={handleAddButton}\n\t\t\t\t\t\t\t\toptions={titleMenus}\n\t\t\t\t\t\t\t\tisMenuThirdItemDisabled={true}\n\t\t\t\t\t\t\t\tcurrentTitle={title}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</TitleDropdownButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Typography type='h3' weight='medium' color='theme.secondary.1000'>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className='action-bar--HeaderCard'>\n\t\t\t\t\t\t{Boolean(data) &&\n\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t\t\t.map((ele) => ele)\n\t\t\t\t\t\t\t\t.sort((a, b) => a.position - b.position)\n\t\t\t\t\t\t\t\t.map((item: ActionData) => (\n\t\t\t\t\t\t\t\t\t<HeaderCard\n\t\t\t\t\t\t\t\t\t\tkey={item?.position}\n\t\t\t\t\t\t\t\t\t\ttitle={item?.label}\n\t\t\t\t\t\t\t\t\t\tactive={active}\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleActiveHeaderCard(item)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{showView && (\n\t\t\t\t\t\t\t<ViewModal\n\t\t\t\t\t\t\t\tsetData={setData}\n\t\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\t\tsetActive={setActive}\n\t\t\t\t\t\t\t\tdisabledViews={disabledViews}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className='action-bar--RightContent' style={{gap: isLgUp ? `1rem` : `0.5rem`}}>\n\t\t\t\t\t{isToggleButton && (\n\t\t\t\t\t\t<div className='item--VariantDisplay'>\n\t\t\t\t\t\t\t<div className='item--VariantHeading'>Variant:</div>\n\t\t\t\t\t\t\t<div className='item--VariantToggal'>\n\t\t\t\t\t\t\t\t<Toggle\n\t\t\t\t\t\t\t\t\tchecked={isToggledForItem}\n\t\t\t\t\t\t\t\t\tonChange={handleChangeToggleButton}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{showSearch && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t{isLgUp ? \n\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\tplaceholder='Search'\n\t\t\t\t\t\t\t\thandleSearch={(e) => {\n\t\t\t\t\t\t\t\t\tsetSearchedText(e);\n\t\t\t\t\t\t\t\t\thandleSearch?.(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdebounceTime={1000}\n\t\t\t\t\t\t\t\tisDrivePage={true}\n\t\t\t\t\t\t\t\tsearchText={searchedText}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<IconButton size='small' onClick={(e) => setSearchAnchorEl(e.currentTarget)}><Search fontSize='small' color='grey.1000'/> </IconButton>\n\t\t\t\t\t\t\t\t<Menu \n\t\t\t\t\t\t\t\t\tanchorEl={searchAnchorEl} \n\t\t\t\t\t\t\t\t\topen={Boolean(searchAnchorEl)} \n\t\t\t\t\t\t\t\t\tonClose={() => setSearchAnchorEl(null)}\n\t\t\t\t\t\t\t\t\tanchorOrigin={{\n\t\t\t\t\t\t\t\t\t\tvertical: 'top',\n\t\t\t\t\t\t\t\t\t\thorizontal: 'right',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttransformOrigin={{\n\t\t\t\t\t\t\t\t\t\tvertical: 'top',\n\t\t\t\t\t\t\t\t\t\thorizontal: 'right',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsx={{ '& ul': { p: 0 }, '& .MuiMenu-paper' :{boxShadow:`0px 4px 6px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.06);`} }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\t\t\tplaceholder='Search'\n\t\t\t\t\t\t\t\t\t\thandleSearch={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tsetSearchedText(e);\n\t\t\t\t\t\t\t\t\t\t\thandleSearch?.(e);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdebounceTime={1000}\n\t\t\t\t\t\t\t\t\t\tisDrivePage={true}\n\t\t\t\t\t\t\t\t\t\tsearchText={searchText ||searchedText}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Menu>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{showFilter && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{isLgUp ?\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t// sx={{display:\"none\"}}\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tstartIcon={<FilterIcon fontSize='small'/>}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetOpenFilterPopup(true);\n\t\t\t\t\t\t\t\tfetchSavedFilters();\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{t('common.filter')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t:\n\t\t\t\t\t\t<IconButton onClick={() => {\n\t\t\t\t\t\t\tsetOpenFilterPopup(true);\n\t\t\t\t\t\t\tfetchSavedFilters();\n\t\t\t\t\t\t}} size='small'>\n\t\t\t\t\t\t\t<FilterIcon fontSize='small' color='grey.1000'/>\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t{customButtons}\n\t\t\t\t\t{actionBtn}\n\t\t\t\t\t{button && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\t\tstartIcon={<AddIcon />}\n\t\t\t\t\t\t\tonClick={handleAddButton}>\n\t\t\t\t\t\t\t{t('common.add')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t\t{isDropdownMenuButton && (\n\t\t\t\t\t\t<div style={{ zIndex: 999 }}>\n\t\t\t\t\t\t\t<DropdownButton\n\t\t\t\t\t\t\t\tonClick={handleAddButton}\n\t\t\t\t\t\t\t\toptions={itemListingDropdownOptions}\n\t\t\t\t\t\t\t\tstartIcon={<AddIcon />}\n\t\t\t\t\t\t\t\tisMenuThirdItemDisabled={true}>\n\t\t\t\t\t\t\t\t{t('common.add')}\n\t\t\t\t\t\t\t</DropdownButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{pageName ? (\n\t\t\t\t\t\t<IconButton onClick={(e) => handleImportClick(e)}>\n\t\t\t\t\t\t\t<img src={images.more} alt='More Icon' />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Menu\n\t\t\t\t\t\tanchorEl={rowAnchorEl}\n\t\t\t\t\t\topen={Boolean(rowAnchorEl)}\n\t\t\t\t\t\tonClose={handleActionsClose}>\n\t\t\t\t\t\t{rowActionMenu?.map((option: any) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\toption.handleAction(pageName);\n\t\t\t\t\t\t\t\t\t\tsetRowAnchorEl(null);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsx={{ alignItems: 'center', gap: 0.5 }}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\ttypeof option.disabled === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? option.disabled()\n\t\t\t\t\t\t\t\t\t\t\t: Boolean(option.disabled)\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t{option?.icon}\n\t\t\t\t\t\t\t\t\t<Typography type='s4' color='inherit'>\n\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Menu>\n\n\t\t\t\t\t<Filter\n\t\t\t\t\t\topen={openFilterPopup}\n\t\t\t\t\t\tonClose={handleCloseFilter}\n\t\t\t\t\t\tactiveView={active}\n\t\t\t\t\t\tsavedFilters={savedFilters}\n\t\t\t\t\t\tfetchSavedFilters={fetchSavedFilters}\n\t\t\t\t\t\tonSaveFilter={handleSaveFilter}\n\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\tfields={fields}\n\t\t\t\t\t\tonSelectedFilter={f => setSelectedSavedFilter(f)}\n\t\t\t\t\t\tapplyFilter={applyFilter}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Applied Filters view (Start) */}\n\t\t\t{isFilterApplied(filters) && (\n\t\t\t\t<Box\n\t\t\t\t\tmb={1}\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\tjustifyContent: 'space-between'\n\t\t\t\t\t}}>\n\t\t\t\t\t<Box\n\t\t\t\t\t\tmb={1}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\tgap: 1,\n\t\t\t\t\t\t\tmaxWidth: 400\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<Typography type='s3' weight='medium' color='theme.secondary.1000'>\n\t\t\t\t\t\t\t{t('common.filters')}:{' '}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\n\t\t\t\t\t\t{filters?.rules?.map((r, rIndex) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{r?.rules?.length ? (\n\t\t\t\t\t\t\t\tr?.rules?.map((rr, rrIndex) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{getFilterChip(rr,rrIndex)}\n\t\t\t\t\t\t\t </>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t):\t<>\n\t\t\t\t\t\t\t {getFilterChip(r,rIndex)}\n\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t }\n\t\t\t\t\t\t</>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Box>\n\t\t\t\t\t<Box>\n <Button\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tclassName='enable-filter-btn'\n\t\t\t\t\t\t\tstartIcon={<FolderSave fontSize='small'/>}\n\t\t\t\t\t\t\tonClick={handleSaveFilterClick}>\n\t\t\t\t\t\t\t<span> {t('common.saveFilter')}</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{/* {selectedSavedFilter && \n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tclassName='enable-filter-btn'\n\t\t\t\t\t\t\tstartIcon={<img src={images.common.saveFilterIcon} alt='Add Icon' />}\n\t\t\t\t\t\t\tonClick={handleSaveFilterClick}>\n\t\t\t\t\t\t\t\t<Typography type='s3' color=\"theme.secondary.1000\" weight='medium'>\n\t\t\t\t\t\t\t\t\tUpdate Filter <Typography type='s3' weight='medium'>{`(${selectedSavedFilter.name})`}</Typography>\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t} */}\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tstartIcon={<FilterRemove fontSize='small'/>}\n\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\tupdatePageInfo({\n\t\t\t\t\t\t\t\t\tfilters: initialFilter,\n\t\t\t\t\t\t\t\t\tfilterQueryString: ''\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t{t('common.clearFilter')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t\t{/* Applied Filters view (End) */}\n\n\t\t\t{filterBar && (\n\t\t\t\t<div className='filter-bar'>\n\t\t\t\t\t<div className='filter-bar--LeftContent'>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\tfullWidth\n\t\t\t\t\t\t\t\tplaceholder='Placeholder'\n\t\t\t\t\t\t\t\tsize={'small'}\n\t\t\t\t\t\t\t\tclassName='status-changes-drp'\n\t\t\t\t\t\t\t\tvalue={status}\n\t\t\t\t\t\t\t\tonChange={handleStatusChange}\n\t\t\t\t\t\t\t\tvariant='outlined'>\n\t\t\t\t\t\t\t\t<MenuItem value={'Status'}>{t('common.status')}</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem value={'Show'}>{t('common.show')}</MenuItem>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Typography className='subtask-switch' variant='h6'>\n\t\t\t\t\t\t\t{t('common.subtask')}\n\t\t\t\t\t\t\t<Toggle checked={isToggled} onChange={handleToggle} />\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t|\n\t\t\t\t\t\t<Button className='hide-btn' onClick={handleFilterHide}>\n\t\t\t\t\t\t\t{t('common.hide')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='filter-bar--RightContent'>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tclassName='enable-filter-btn'\n\t\t\t\t\t\t\tonClick={handleSaveFilterClick}>\n\t\t\t\t\t\t\t<img src={images.common.saveFilterIcon} alt='Add Icon' />\n\t\t\t\t\t\t\t<span>{t('common.saveFilter')}</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<SaveFilterModal\n\t\t\t\topen={openSaveFilter}\n\t\t\t\tonClose={() => setIsOpenSaveFilter(false)}\n\t\t\t\thandleSubmit={(name: any) =>\n\t\t\t\t\thandleSave(name, filterQuery as RuleGroupType)\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<UploadExcel\n\t\t\t\topen={isUploadModalOpen}\n\t\t\t\tshowCameraButton={false}\n\t\t\t\tonClose={() => setIsUploadModalOpen(false)}\n\t\t\t\tonConfirm={() => setIsUploadModalOpen(true)}\n\t\t\t\ttitle='Upload'\n\t\t\t\tmultiple={false}\n\t\t\t\timportModuleName={importModuleName}\n\t\t\t\tpageName={importModuleName}\n\t\t\t\taccept='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nexport default ActionBar;\n"],"names":["setBaseUrl","ActionBar","React","memo","props","token","localStorage","getItem","auth","storageTokenKeyName","location","useLocation","title","data","setData","active","setActive","handleAddButton","handleSearch","button","disabledViews","isDropdownMenuButton","itemListingDropdownOptions","isTitleMenu","titleMenus","type","fields","applyFilter","isToggleButton","handleToggleButton","showSearch","showFilter","showView","customButtons","pageName","actionBtn","importModuleName","selectedIds","searchText","useAppDispatch","isToggled","setIsToggled","useState","isToggledForItem","setIsToggledForItem","openFilterPopup","setOpenFilterPopup","status","setStatus","openSaveFilter","setIsOpenSaveFilter","rowAnchorEl","setRowAnchorEl","isUploadModalOpen","setIsUploadModalOpen","savedFilters","setSavedFilters","searchedText","setSearchedText","t","useTranslation","theme","useTheme","isLgUp","useMediaQuery","breakpoints","up","activePage","updatePageInfo","schemaFields","setActivePage","usePages","filters","resources","useMemo","routeToResourceMap","pathname","filterBar","filterQuery","useAppSelector","store","drive","useEffect","fetchSavedFilters","async","pageResource","fieldResource","getV1FilterResource","getToken","resource","then","response","result","map","e","id","_id","name","query","catch","err","handleSaveFilterClick","rules","rowActionMenu","push","label","handleAction","moduleName","filterQueryString","templateURL","getExcelExportTemplate","blob","link","document","createElement","url","window","URL","createObjectURL","href","download","body","appendChild","click","removeChild","revokeObjectURL","exportExcel","icon","jsx","Export","fontSize","getExcelTemplateGenerateTemplate","downloadTemplate","DocumentDownload","Import","getFilterChipLabels","rule","field","_a","replace","_b","find","f","key","formatLabel","opLabel","getOperatorLabel","value","Array","isArray","rv","join","jsxs","Box","sx","display","alignItems","gap","children","Typography","color","weight","Divider","orientation","flexItem","formatText","getFilterChip","rr","index","Chip","variant","palette","backgroundColor","borderColor","grey","opacity","flexDirection","cursor","deleteIcon","Cancel","marginRight","marginLeft","onDelete","removeSignleFilter","clickable","ruleIndex","uRules","filter","_","uFilters","generateQueryString","searchAnchorEl","setSearchAnchorEl","search","className","style","zIndex","TitleDropdownButton","onClick","options","isMenuThirdItemDisabled","currentTitle","Boolean","ele","sort","a","b","position","item","HeaderCard","ViewModal","Toggle","checked","onChange","prev","SearchBar","placeholder","debounceTime","isDrivePage","Fragment","IconButton","size","currentTarget","Search","Menu","anchorEl","open","onClose","anchorOrigin","vertical","horizontal","transformOrigin","p","boxShadow","Button","startIcon","FilterIcon","AddIcon","DropdownButton","src","images","more","alt","option","MenuItem","disabled","Filter","activeView","onSaveFilter","onSelectedFilter","setSelectedSavedFilter","flt","length","isFilterApplied","mb","justifyContent","maxWidth","r","rIndex","rrIndex","FolderSave","FilterRemove","initialFilter","Select","fullWidth","event","target","alert","common","saveFilterIcon","SaveFilterModal","handleSubmit","postFilterRequest","module","is_applied","postV1Filter","enqueueSnackbar","error","m","Error","getErrorMessage","message","handleSave","UploadExcel","showCameraButton","onConfirm","multiple","accept"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/action-bar/action-bar.tsx"],"sourcesContent":["import Button from '../button/button';\nimport Typography from '../typography/typography';\n/* eslint-disable no-mixed-spaces-and-tabs */\nimport './action-bar.scss';\nimport {\n\t/* IconButton, */ Box,\n\tDivider,\n\tIconButton,\n\tMenu,\n\tMenuItem,\n\tuseMediaQuery,\n\tuseTheme\n} from '@mui/material';\nimport AddIcon from '@mui/icons-material/Add';\nimport ViewModal from '../view-modal/view-modal';\nimport HeaderCard from '../header-card/header-card';\nimport SearchBar from '../search-bar/search-bar';\nimport { useEffect, useMemo, useState } from 'react';\nimport images from '../../assets/images';\nimport Toggle from '../toggle/toggle';\nimport Filter from '../filter/filter';\nimport Select from '../select/select';\nimport { RuleGroupType } from 'react-querybuilder';\nimport SaveFilterModal from '../save-filter-modal/save-filter-modal';\nimport {\n\tsetBaseUrl,\n\tpostV1Filter,\n\tgetV1FilterResource\n} from '../../api-client/api.system-feature/api';\nimport type * as Types from '../../api-client/api.system-feature/api-types';\nimport { auth } from '../../constants/auth';\nimport DropdownButton from '../dropdown-button/dropdown-button';\nimport TitleDropdownButton from '../title-dropdown-button/title-dropdown-button';\nimport { useAppDispatch, useAppSelector } from '../../redux/hooks';\nimport { getToken } from '../../utils/common';\nimport React from 'react';\nimport UploadExcel from '../upload-excel/upload-excel';\nimport { generateQueryString, getErrorMessage, getExcelTemplateGenerateTemplate, getOperatorLabel, getExcelExportTemplate } from '../../utils/common';\nimport { initialFilter, ViewType } from '../../contexts/page-context';\nimport { usePages } from '../../hooks/use-pages';\nimport Chip from '../chip/chip';\nimport formatText, { formatLabel } from '../../utils/format-text';\nimport { Cancel } from '@mui/icons-material';\nimport { useLocation } from 'react-router-dom';\nimport { IResources, routeToResourceMap } from '../../constants/route-page-map';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { FilterRemove, Filter as FilterIcon, Search, FolderSave, Export, Import, DocumentDownload } from '../icons';\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\ninterface ActionBarPropsType {\n\ttitle: string;\n\tdata: ActionData[];\n\tsetData: React.Dispatch<React.SetStateAction<ActionData[]>>;\n\tactive: string;\n\tsetActive: (view: ViewType) => void;\n\thandleAddButton?: (e?: any) => void;\n\tbutton?: boolean;\n\thandleSearch?: (value: string) => void;\n\tfilters?: string;\n\tdisabledViews?: string[];\n\tisDropdownMenuButton?: boolean;\n\titemListingDropdownOptions?: any;\n\tisTitleMenu?: boolean;\n\ttitleMenus?: any;\n\tfolderData?: any;\n\ttype?: any;\n\tfields?: any;\n\tapplyFilter?: any;\n\tsavedFilters?: SavedFilter;\n\tsetSavedFilters?: (view: SavedFilter) => void;\n\tisToggleButton?: boolean;\n\thandleToggleButton?: (e?: any) => void;\n\tshowView?: boolean;\n\tshowSearch?: boolean;\n\tshowFilter?: boolean;\n\tcustomButtons?: React.ReactNode[] | JSX.Element[];\n\tactionBtn?: React.ReactNode[] | JSX.Element[];\n\tpageName?: string;\n\timportModuleName?: string;\n\tsearchText?:string;\n\tselectedIds?:any;\n\n}\n\ninterface SavedFilter {\n\tid: string;\n\tname: string;\n\tquery: RuleGroupType;\n}\n\nconst ActionBar = React.memo((props: ActionBarPropsType) => {\n\tconst token = localStorage.getItem(auth.storageTokenKeyName) || undefined;\n\tconst location = useLocation();\n\n\tconst {\n\t\ttitle,\n\t\tdata,\n\t\tsetData,\n\t\tactive,\n\t\tsetActive,\n\t\thandleAddButton,\n\t\thandleSearch,\n\t\tbutton = true,\n\t\tdisabledViews,\n\t\tisDropdownMenuButton = false,\n\t\titemListingDropdownOptions = [],\n\t\tisTitleMenu = false,\n\t\ttitleMenus = [],\n\t\ttype,\n\t\tfields = [],\n\t\tapplyFilter,\n\t\t// setSavedFilters,\n\t\t// savedFilters,\n\t\tisToggleButton = false,\n\t\thandleToggleButton,\n\t\tshowSearch = true,\n\t\tshowFilter = true,\n\t\tshowView = true,\n\t\tcustomButtons,\n\t\tpageName,\n\t\tactionBtn,\n\t\timportModuleName,\n\t\tselectedIds,\n searchText\n\t} = props;\n\tconst dispatch = useAppDispatch();\n\tconst [isToggled, setIsToggled] = useState<boolean>(false);\n\tconst [isToggledForItem, setIsToggledForItem] = useState<boolean>(false);\n\tconst [openFilterPopup, setOpenFilterPopup] = useState<boolean>(false);\n\tconst [status, setStatus] = useState<string>('');\n\tconst [openSaveFilter, setIsOpenSaveFilter] = useState<boolean>(false);\n\tconst [rowAnchorEl, setRowAnchorEl] = useState<null | HTMLElement>(null);\n\tconst [isUploadModalOpen, setIsUploadModalOpen] = useState(false);\n\tconst [savedFilters, setSavedFilters] = useState<any[]>([]);\n\t// const [selectedSavedFilter, setSelectedSavedFilter] = useState<any>(null);\n\tconst [searchedText, setSearchedText] = useState<string>(\"\");\n const {t}=useTranslation();\n\tconst theme = useTheme();\n const isLgUp = useMediaQuery(theme.breakpoints.up('xl'));\n\tconst { activePage, updatePageInfo, schemaFields,setActivePage } = usePages();\n\tconst { filters } = activePage;\n\n\tconst resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n\t// const { filterBar, filterQuery } = useAppSelector((store) => {\n\t// \treturn store?.drive;\n\t// });\n\t\n\n\n\tuseEffect(() => {\n\t\tfetchSavedFilters();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\t\tif(resources?.pageResource || resources?.fieldResource) {\n\t\t\tgetV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\t\t\t\t.then((response: any) => {\n\t\t\t\t\tconst savedFilters = response.data.result.map((e: any) => {\n\t\t\t\t\t\treturn { id: e._id, name: e.name, query: e.data };\n\t\t\t\t\t});\n\t\n\t\t\t\t\tsetSavedFilters?.(savedFilters);\n\t\t\t\t})\n\t\t\t\t.catch((err: any) => console.log('Error fetching saved filters:', err));\n\t\t} else{\n\t\t\tsetSavedFilters([])\n\t\t}\n\t};\n\n\n\tconst handleFilterHide = () => {\n\t\t// dispatch(setFilterBar(false));\n\t\treturn\n\t};\n\n\tconst handleStatusChange = (event: any) => {\n\t\tsetStatus(event.target.value);\n\t};\n\n\tconst handleSaveFilterClick = () => {\n\t\tif (filters?.rules) {\n\t\t\tsetIsOpenSaveFilter(true);\n\t\t}\n\t};\n\n\tconst handleImportClick = (event: any) => {\n\t\tsetRowAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleActionsClose = () => {\n\t\tsetRowAnchorEl(null);\n\t};\n\n\tconst handleSaveFilter = (query: RuleGroupType) => {\n\t\t// dispatch(setFilterQuery(query));\n\t\treturn \n\t};\n\n\tconst handleSave = async (name: string, filterQuery: RuleGroupType) => {\n\t\t\n\t\t// dispatch(setFilterBar(false));\n\t\t\n\t\tconst postFilterRequest: Types.PostV1FilterRequest = {\n\t\t\t'x-token': token,\n\t\t\tmodule: resources?.pageResource || resources?.fieldResource || 'erp-common',\n\t\t\tname: name,\n\t\t\tis_applied: true,\n\t\t\tdata: filterQuery\n\t\t};\n\t\ttry {\n\t\t\tawait postV1Filter(postFilterRequest)\n\t\t\tenqueueSnackbar('Filters saved successfully.')\n\t\t\tsetActivePage((prev: any) => ({\n\t\t\t\t...prev,\n\t\t\t\tfilters: {\n\t\t\t\t\t...prev.filters,\n\t\t\t\t\tname,\n\t\t\t\t\trules: filterQuery.rules\n\t\t\t\t},\n\t\t\t\tfilterQueryString: generateQueryString(filterQuery)\n\t\t\t}));\n\t\t\tsetIsOpenSaveFilter(false);\n\t\t} catch (error) {\n\t\t\tlet m: string = 'Something went wrong on saving filters'\n\t\t\tif(error instanceof Error) {\n\t\t\t\tm = getErrorMessage(error.message)\n\t\t\t}\n\t\t\tenqueueSnackbar(m, {variant: 'error'})\n\t\t\treturn false\n\t\t}\n\t\treturn true\n\t};\n\n\tconst handleToggle = () => {\n\t\tsetIsToggled((prev) => !prev);\n\t\talert('Toggled');\n\t};\n\n\tconst handleChangeToggleButton = () => {\n\t\tsetIsToggledForItem((prev) => !prev);\n\t\thandleToggleButton?.();\n\t};\n\n\tconst handleCloseFilter = () => {\n\t\tsetOpenFilterPopup(false);\n\t};\n\n\tconst handleActiveHeaderCard = (data: ActionData) => {\n\t\tsetActive(data?.label);\n\t};\n\n\tconst downloadTemplate = async (moduleName: string) => {\n\t\tconst templateURL: any = await getExcelTemplateGenerateTemplate({\n\t\t\t'x-token': token,\n\t\t\tresource: moduleName\n\t\t});\n\t\tif (templateURL) {\n\t\t\tconst blob = await templateURL.blob();\n\n\t\t\tconst link = document.createElement('a');\n\n\t\t\tconst url = window.URL.createObjectURL(blob);\n\n\t\t\tlink.href = url;\n\t\t\tlink.download = `${moduleName}.xlsx`;\n\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t\twindow.URL.revokeObjectURL(url);\n\t\t}\n\t};\n\n\tconst exportExcel = async (moduleName: string,filterQueryString: string,selectedIds: any,title: string) => {\n\t\tconst templateURL: any = await getExcelExportTemplate({\n\t\t\t'x-token': token,\n\t\t\tactivePage: activePage,\n\t\t\tfilterQueryString: filterQueryString,\n\t\t\tselectedIds: selectedIds,\n\t\t\ttitle: title\n\t\t});\n\t\tif (templateURL) {\n\t\t\tconst blob = await templateURL.blob();\n\n\t\t\tconst link = document.createElement('a');\n\n\t\t\tconst url = window.URL.createObjectURL(blob);\n\n\t\t\tlink.href = url;\n\t\t\tlink.download = `${moduleName}.xlsx`;\n\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t\twindow.URL.revokeObjectURL(url);\n\t\t}\n\t};\n\n\tconst openImportTemplate = () => {\n\t\tsetIsUploadModalOpen(true);\n\t};\n\tconst rowActionMenu = [];\n\tif(pageName && (!importModuleName || selectedIds)){\n\t\trowActionMenu.push({\n\t\t\tlabel: 'Export Excel',\n\t\t\thandleAction: (moduleName: string) => exportExcel(moduleName,activePage.filterQueryString,selectedIds,title),\n\t\t\ticon: <Export fontSize='small'/>\n\t\t})\n\t}\n\tif(pageName && importModuleName){ {\n\t\trowActionMenu.push({\n\t\t\tlabel: 'Download Template ',\n\t\t\thandleAction: (moduleName: string) => downloadTemplate(moduleName),\n\t\t\ticon: <DocumentDownload fontSize='small'/>\n\t\t},\n\t\t{\n\t\t\tlabel: 'Import Template',\n\t\t\thandleAction: (moduleName: string) => openImportTemplate(moduleName),\n\t\t\ticon: <Import fontSize='small'/>\n\t\t})\n\t}}\n\n\tconst getFilterChipLabels = (rule: any) => {\n\t\trule = {...rule, field:rule.field?.replace(\"__replaceKey\", '')}\n\t\tlet label = schemaFields.find((f: any) => f.key === rule.field)?.label || rule.field;\n\t\tlabel = formatLabel(label?.replace('_id', ' '));\n\t\tconst opLabel = getOperatorLabel(rule, schemaFields);\n\n\t\tlet value = rule.value;\n\t\tif (Array.isArray(rule.value)) {\n\t\t\trule.value = rule.value.map(rv => formatLabel(typeof rv === 'object' ? (rv.label) : rv))\n\t\t\tvalue = rule.value.join(', ');\n\t\t}\n\n\t\treturn <Box sx={{display:'flex', alignItems:'center', gap:1}}>\n\t\t\t<Typography type='s5' color='theme.secondary.800' weight='medium'>{label}</Typography>\n\t\t\t\t<Divider orientation='vertical' flexItem />\n\t\t\t<Typography type='s5' color='theme.primary.800' weight='medium'>{formatText(opLabel)} {value}</Typography>\n\t\t</Box>\n\t\t// `${label}: ${value}`;\n\t};\n\n\tconst getFilterChip=(rr: any,index:any) => {\n\t\treturn (\n\t\t\t\t<Chip\n\t\t\t\t\t\t\t\tlabel={getFilterChipLabels(rr)}\n\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\tactive\n\t\t\t\t\t\t\t\tsx={({palette}) => ({\n\t\t\t\t\t\t\t\t\tbackgroundColor: 'grey.200',\n\t\t\t\t\t\t\t\t\tborderColor: `${palette.grey[300]} !important`,\n\t\t\t\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t\t\t\t\t'&:hover': { backgroundColor: `${palette.grey[200]} !important` },\n\t\t\t\t\t\t\t\t\tflexDirection: 'row-reverse',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tgap: 0.75,\n\t\t\t\t\t\t\t\t\tcursor: 'unset'\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tdeleteIcon={\n\t\t\t\t\t\t\t\t\t<Cancel\n\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\tfontSize: '1rem !important',\n\t\t\t\t\t\t\t\t\t\t\tcolor: '#919294 !important',\n\t\t\t\t\t\t\t\t\t\t\tmarginRight: 'auto !important',\n\t\t\t\t\t\t\t\t\t\t\tmarginLeft: `0 !important`,\n\t\t\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\t\t\tcolor:'inherit !important'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDelete={() => removeSignleFilter(index)}\n\t\t\t\t\t\t\t\tclickable={false}\n\t\t\t\t\t\t\t/>\n\t\t)\n\t}\n\n const removeSignleFilter = (ruleIndex: number) => {\n\t\tconst uRules: any[] = filters.rules.filter(\n\t\t\t(_, index) => index !== ruleIndex\n\t\t);\n\t\tconst uFilters = { ...filters, rules: uRules };\n\t\tconst filterQueryString = generateQueryString(uFilters);\n\n\t\tupdatePageInfo({\n\t\t\tfilters: uFilters,\n\t\t\tfilterQueryString\n\t\t});\n\t};\n\n\tconst isFilterApplied = (flt: any): boolean => Boolean(flt?.rules?.length);\n\tconst [searchAnchorEl, setSearchAnchorEl] = useState<HTMLElement | null>(null);\n\t// useEffect(() => {\n\t// \tif(activePage?.active_view ){\n\t// \t\tconst updateViews=activePage?.views?.length?activePage.views:[{\n\t// \t\t\tlabel:activePage?.active_view,\n\t// \t\t\tposition:0\n\t// \t\t}]\n\t// \t\tsetData(updateViews)\n\t// \t}\t\t\n\t// \t//eslint-disable-next-line\n\t// },[isCreatePage,activePage?.active_view])\n\n\tuseEffect(()=>{\t\n\t\tif(activePage?.search){\n\t\t\tsetSearchedText(activePage?.search)\n\t\t}\n\t},[activePage?.search])\n\n\tuseEffect(() => {\n\t\tif(searchedText){\n\t\t\thandleSearch?.(searchedText);\n\t\t\tupdatePageInfo({ search: searchedText });\n\t\t}\n\t\t//eslint-disable-next-line\n\t},[searchedText])\n\treturn (\n\t\t<div>\n\t\t\t<div className='action-bar'>\n\t\t\t\t<div className='action-bar--LeftContent'>\n\t\t\t\t\t{isTitleMenu ? (\n\t\t\t\t\t\t<div style={{ zIndex: 999 }}>\n\t\t\t\t\t\t\t<TitleDropdownButton\n\t\t\t\t\t\t\t\tonClick={handleAddButton}\n\t\t\t\t\t\t\t\toptions={titleMenus}\n\t\t\t\t\t\t\t\tisMenuThirdItemDisabled={true}\n\t\t\t\t\t\t\t\tcurrentTitle={title}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</TitleDropdownButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Typography type='h3' weight='medium' color='theme.secondary.1000'>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className='action-bar--HeaderCard'>\n\t\t\t\t\t\t{Boolean(data) &&\n\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t\t\t.map((ele) => ele)\n\t\t\t\t\t\t\t\t.sort((a, b) => a.position - b.position)\n\t\t\t\t\t\t\t\t.map((item: ActionData) => (\n\t\t\t\t\t\t\t\t\t<HeaderCard\n\t\t\t\t\t\t\t\t\t\tkey={item?.position}\n\t\t\t\t\t\t\t\t\t\ttitle={item?.label}\n\t\t\t\t\t\t\t\t\t\tactive={active}\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleActiveHeaderCard(item)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{showView && (\n\t\t\t\t\t\t\t<ViewModal\n\t\t\t\t\t\t\t\tsetData={setData}\n\t\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\t\tsetActive={setActive}\n\t\t\t\t\t\t\t\tdisabledViews={disabledViews}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className='action-bar--RightContent' style={{gap: isLgUp ? `1rem` : `0.5rem`}}>\n\t\t\t\t\t{isToggleButton && (\n\t\t\t\t\t\t<div className='item--VariantDisplay'>\n\t\t\t\t\t\t\t<div className='item--VariantHeading'>Variant:</div>\n\t\t\t\t\t\t\t<div className='item--VariantToggal'>\n\t\t\t\t\t\t\t\t<Toggle\n\t\t\t\t\t\t\t\t\tchecked={isToggledForItem}\n\t\t\t\t\t\t\t\t\tonChange={handleChangeToggleButton}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{showSearch && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t{isLgUp ? \n\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\tplaceholder='Search'\n\t\t\t\t\t\t\t\thandleSearch={(e) => {\n\t\t\t\t\t\t\t\t\tsetSearchedText(e);\n\t\t\t\t\t\t\t\t\thandleSearch?.(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdebounceTime={1000}\n\t\t\t\t\t\t\t\tisDrivePage={true}\n\t\t\t\t\t\t\t\tsearchText={searchedText}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<IconButton size='small' onClick={(e) => setSearchAnchorEl(e.currentTarget)}><Search fontSize='small' color='grey.1000'/> </IconButton>\n\t\t\t\t\t\t\t\t<Menu \n\t\t\t\t\t\t\t\t\tanchorEl={searchAnchorEl} \n\t\t\t\t\t\t\t\t\topen={Boolean(searchAnchorEl)} \n\t\t\t\t\t\t\t\t\tonClose={() => setSearchAnchorEl(null)}\n\t\t\t\t\t\t\t\t\tanchorOrigin={{\n\t\t\t\t\t\t\t\t\t\tvertical: 'top',\n\t\t\t\t\t\t\t\t\t\thorizontal: 'right',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttransformOrigin={{\n\t\t\t\t\t\t\t\t\t\tvertical: 'top',\n\t\t\t\t\t\t\t\t\t\thorizontal: 'right',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsx={{ '& ul': { p: 0 }, '& .MuiMenu-paper' :{boxShadow:`0px 4px 6px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.06);`} }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\t\t\tplaceholder='Search'\n\t\t\t\t\t\t\t\t\t\thandleSearch={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tsetSearchedText(e);\n\t\t\t\t\t\t\t\t\t\t\thandleSearch?.(e);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdebounceTime={1000}\n\t\t\t\t\t\t\t\t\t\tisDrivePage={true}\n\t\t\t\t\t\t\t\t\t\tsearchText={searchText ||searchedText}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Menu>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{showFilter && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{isLgUp ?\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t// sx={{display:\"none\"}}\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tstartIcon={<FilterIcon fontSize='small'/>}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetOpenFilterPopup(true);\n\t\t\t\t\t\t\t\tfetchSavedFilters();\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{t('common.filter')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t:\n\t\t\t\t\t\t<IconButton onClick={() => {\n\t\t\t\t\t\t\tsetOpenFilterPopup(true);\n\t\t\t\t\t\t\tfetchSavedFilters();\n\t\t\t\t\t\t}} size='small'>\n\t\t\t\t\t\t\t<FilterIcon fontSize='small' color='grey.1000'/>\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t{customButtons}\n\t\t\t\t\t{actionBtn}\n\t\t\t\t\t{button && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\t\tstartIcon={<AddIcon />}\n\t\t\t\t\t\t\tonClick={handleAddButton}>\n\t\t\t\t\t\t\t{t('common.add')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t\t{isDropdownMenuButton && (\n\t\t\t\t\t\t<div style={{ zIndex: 999 }}>\n\t\t\t\t\t\t\t<DropdownButton\n\t\t\t\t\t\t\t\tonClick={handleAddButton}\n\t\t\t\t\t\t\t\toptions={itemListingDropdownOptions}\n\t\t\t\t\t\t\t\tstartIcon={<AddIcon />}\n\t\t\t\t\t\t\t\tisMenuThirdItemDisabled={true}>\n\t\t\t\t\t\t\t\t{t('common.add')}\n\t\t\t\t\t\t\t</DropdownButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{pageName ? (\n\t\t\t\t\t\t<IconButton onClick={(e) => handleImportClick(e)}>\n\t\t\t\t\t\t\t<img src={images.more} alt='More Icon' />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Menu\n\t\t\t\t\t\tanchorEl={rowAnchorEl}\n\t\t\t\t\t\topen={Boolean(rowAnchorEl)}\n\t\t\t\t\t\tonClose={handleActionsClose}>\n\t\t\t\t\t\t{rowActionMenu?.map((option: any) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\toption.handleAction(pageName);\n\t\t\t\t\t\t\t\t\t\tsetRowAnchorEl(null);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsx={{ alignItems: 'center', gap: 0.5 }}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\ttypeof option.disabled === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? option.disabled()\n\t\t\t\t\t\t\t\t\t\t\t: Boolean(option.disabled)\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t{option?.icon}\n\t\t\t\t\t\t\t\t\t<Typography type='s4' color='inherit'>\n\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Menu>\n\n\t\t\t\t\t<Filter\n\t\t\t\t\t\topen={openFilterPopup}\n\t\t\t\t\t\tonClose={handleCloseFilter}\n\t\t\t\t\t\tactiveView={active}\n\t\t\t\t\t\tsavedFilters={savedFilters}\n\t\t\t\t\t\tfetchSavedFilters={fetchSavedFilters}\n\t\t\t\t\t\tonSaveFilter={handleSaveFilter}\n\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\tfields={fields}\n\t\t\t\t\t\tonSelectedFilter={f => setSelectedSavedFilter(f)}\n\t\t\t\t\t\tapplyFilter={applyFilter}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Applied Filters view (Start) */}\n\t\t\t{isFilterApplied(filters) && (\n\t\t\t\t<Box\n\t\t\t\t\tmb={1}\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\tjustifyContent: 'space-between'\n\t\t\t\t\t}}>\n\t\t\t\t\t<Box\n\t\t\t\t\t\tmb={1}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\tgap: 1,\n\t\t\t\t\t\t\tmaxWidth: 400\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<Typography type='s3' weight='medium' color='theme.secondary.1000'>\n\t\t\t\t\t\t\t{t('common.filters')}:{' '}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\n\t\t\t\t\t\t{filters?.rules?.map((r, rIndex) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{r?.rules?.length ? (\n\t\t\t\t\t\t\t\tr?.rules?.map((rr, rrIndex) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{getFilterChip(rr,rrIndex)}\n\t\t\t\t\t\t\t </>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t):\t<>\n\t\t\t\t\t\t\t {getFilterChip(r,rIndex)}\n\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t }\n\t\t\t\t\t\t</>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Box>\n\t\t\t\t\t<Box>\n <Button\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tclassName='enable-filter-btn'\n\t\t\t\t\t\t\tstartIcon={<FolderSave fontSize='small'/>}\n\t\t\t\t\t\t\tonClick={handleSaveFilterClick}>\n\t\t\t\t\t\t\t<span> {t('common.saveFilter')}</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{/* {selectedSavedFilter && \n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tclassName='enable-filter-btn'\n\t\t\t\t\t\t\tstartIcon={<img src={images.common.saveFilterIcon} alt='Add Icon' />}\n\t\t\t\t\t\t\tonClick={handleSaveFilterClick}>\n\t\t\t\t\t\t\t\t<Typography type='s3' color=\"theme.secondary.1000\" weight='medium'>\n\t\t\t\t\t\t\t\t\tUpdate Filter <Typography type='s3' weight='medium'>{`(${selectedSavedFilter.name})`}</Typography>\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t} */}\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tstartIcon={<FilterRemove fontSize='small'/>}\n\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\tupdatePageInfo({\n\t\t\t\t\t\t\t\t\tfilters: initialFilter,\n\t\t\t\t\t\t\t\t\tfilterQueryString: ''\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t{t('common.clearFilter')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t\t{/* Applied Filters view (End) */}\n\n\t\t\t{/* {filterBar && (\n\t\t\t\t<div className='filter-bar'>\n\t\t\t\t\t<div className='filter-bar--LeftContent'>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\tfullWidth\n\t\t\t\t\t\t\t\tplaceholder='Placeholder'\n\t\t\t\t\t\t\t\tsize={'small'}\n\t\t\t\t\t\t\t\tclassName='status-changes-drp'\n\t\t\t\t\t\t\t\tvalue={status}\n\t\t\t\t\t\t\t\tonChange={handleStatusChange}\n\t\t\t\t\t\t\t\tvariant='outlined'>\n\t\t\t\t\t\t\t\t<MenuItem value={'Status'}>{t('common.status')}</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem value={'Show'}>{t('common.show')}</MenuItem>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Typography className='subtask-switch' variant='h6'>\n\t\t\t\t\t\t\t{t('common.subtask')}\n\t\t\t\t\t\t\t<Toggle checked={isToggled} onChange={handleToggle} />\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t|\n\t\t\t\t\t\t<Button className='hide-btn' onClick={handleFilterHide}>\n\t\t\t\t\t\t\t{t('common.hide')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='filter-bar--RightContent'>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='text'\n\t\t\t\t\t\t\tclassName='enable-filter-btn'\n\t\t\t\t\t\t\tonClick={handleSaveFilterClick}>\n\t\t\t\t\t\t\t<img src={images.common.saveFilterIcon} alt='Add Icon' />\n\t\t\t\t\t\t\t<span>{t('common.saveFilter')}</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)} */}\n\t\t\t<SaveFilterModal\n\t\t\t\topen={openSaveFilter}\n\t\t\t\tonClose={() => setIsOpenSaveFilter(false)}\n\t\t\t\thandleSubmit={(name: any) =>\n\t\t\t\t\thandleSave(name, filterQuery as RuleGroupType)\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<UploadExcel\n\t\t\t\topen={isUploadModalOpen}\n\t\t\t\tshowCameraButton={false}\n\t\t\t\tonClose={() => setIsUploadModalOpen(false)}\n\t\t\t\tonConfirm={() => setIsUploadModalOpen(true)}\n\t\t\t\ttitle='Upload'\n\t\t\t\tmultiple={false}\n\t\t\t\timportModuleName={importModuleName}\n\t\t\t\tpageName={importModuleName}\n\t\t\t\taccept='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nexport default ActionBar;\n"],"names":["setBaseUrl","ActionBar","React","memo","props","token","localStorage","getItem","auth","storageTokenKeyName","location","useLocation","title","data","setData","active","setActive","handleAddButton","handleSearch","button","disabledViews","isDropdownMenuButton","itemListingDropdownOptions","isTitleMenu","titleMenus","type","fields","applyFilter","isToggleButton","handleToggleButton","showSearch","showFilter","showView","customButtons","pageName","actionBtn","importModuleName","selectedIds","searchText","useAppDispatch","useState","isToggledForItem","setIsToggledForItem","openFilterPopup","setOpenFilterPopup","openSaveFilter","setIsOpenSaveFilter","rowAnchorEl","setRowAnchorEl","isUploadModalOpen","setIsUploadModalOpen","savedFilters","setSavedFilters","searchedText","setSearchedText","t","useTranslation","theme","useTheme","isLgUp","useMediaQuery","breakpoints","up","activePage","updatePageInfo","schemaFields","setActivePage","usePages","filters","resources","useMemo","routeToResourceMap","pathname","useEffect","fetchSavedFilters","async","pageResource","fieldResource","getV1FilterResource","getToken","resource","then","response","result","map","e","id","_id","name","query","catch","err","rowActionMenu","push","label","handleAction","moduleName","filterQueryString","templateURL","getExcelExportTemplate","blob","link","document","createElement","url","window","URL","createObjectURL","href","download","body","appendChild","click","removeChild","revokeObjectURL","exportExcel","icon","jsx","Export","fontSize","getExcelTemplateGenerateTemplate","downloadTemplate","DocumentDownload","Import","getFilterChipLabels","rule","field","_a","replace","_b","find","f","key","formatLabel","opLabel","getOperatorLabel","value","Array","isArray","rv","join","jsxs","Box","sx","display","alignItems","gap","children","Typography","color","weight","Divider","orientation","flexItem","formatText","getFilterChip","rr","index","Chip","variant","palette","backgroundColor","borderColor","grey","opacity","flexDirection","cursor","deleteIcon","Cancel","marginRight","marginLeft","onDelete","removeSignleFilter","clickable","ruleIndex","uRules","rules","filter","_","uFilters","generateQueryString","searchAnchorEl","setSearchAnchorEl","search","className","style","zIndex","TitleDropdownButton","onClick","options","isMenuThirdItemDisabled","currentTitle","Boolean","ele","sort","a","b","position","item","HeaderCard","ViewModal","Toggle","checked","onChange","prev","SearchBar","placeholder","debounceTime","isDrivePage","Fragment","IconButton","size","currentTarget","Search","Menu","anchorEl","open","onClose","anchorOrigin","vertical","horizontal","transformOrigin","p","boxShadow","Button","startIcon","FilterIcon","AddIcon","DropdownButton","src","images","more","alt","option","MenuItem","disabled","Filter","activeView","onSaveFilter","onSelectedFilter","setSelectedSavedFilter","flt","length","isFilterApplied","mb","justifyContent","maxWidth","r","rIndex","rrIndex","FolderSave","FilterRemove","initialFilter","SaveFilterModal","handleSubmit","filterQuery","postFilterRequest","module","is_applied","postV1Filter","enqueueSnackbar","error","m","Error","getErrorMessage","message","handleSave","UploadExcel","showCameraButton","onConfirm","multiple","accept"],"mappings":"w3EAiDAA,EAAAA,WAAW,6CA+CX,MAAMC,EAAYC,EAAAA,QAAMC,KAAMC,UAC7B,MAAMC,EAAQC,aAAaC,QAAQC,EAAAA,KAAKC,2BAAwB,EAC1DC,EAAWC,EAAAA,eAEXC,MACLA,EAAAC,KACAA,EAAAC,QACAA,EAAAC,OACAA,EAAAC,UACAA,EAAAC,gBACAA,EAAAC,aACAA,EAAAC,OACAA,GAAS,EAAAC,cACTA,GAAAC,qBACAA,IAAuB,EAAAC,2BACvBA,GAA6B,GAAAC,YAC7BA,IAAc,EAAAC,WACdA,GAAa,GAAAC,KACbA,GAAAC,OACAA,GAAS,GAAAC,YACTA,GAAAC,eAGAA,IAAiB,EAAAC,mBACjBA,GAAAC,WACAA,IAAa,EAAAC,WACbA,IAAa,EAAAC,SACbA,IAAW,EAAAC,cACXA,GAAAC,SACAA,GAAAC,UACAA,GAAAC,iBACAA,GAAAC,YACAA,GAAAC,WACEA,IACClC,EACamC,EAAAA,iBACiBC,EAAAA,UAAkB,GACpD,MAAOC,GAAkBC,IAAuBF,EAAAA,UAAkB,IAC3DG,GAAiBC,IAAsBJ,EAAAA,UAAkB,GACpCA,EAAAA,SAAiB,IAC7C,MAAOK,GAAgBC,IAAuBN,EAAAA,UAAkB,IACzDO,GAAaC,IAAkBR,EAAAA,SAA6B,OAC5DS,GAAmBC,IAAwBV,EAAAA,UAAS,IACpDW,GAAcC,IAAmBZ,EAAAA,SAAgB,KAEjDa,GAAcC,IAAmBd,EAAAA,SAAiB,KACjDe,EAACA,IAAGC,mBACNC,GAAQC,EAAAA,UACPC,GAASC,EAAAA,QAAcH,GAAMI,YAAYC,GAAG,QAC7CC,WAAEA,GAAAC,eAAYA,GAAAC,aAAgBA,iBAAaC,IAAkBC,EAAAA,YAC7DC,QAAEA,IAAYL,GAEdM,GAAwBC,EAAAA,QAAQ,IAAMC,EAAAA,mBAAmB7D,EAAS8D,WAAa,KAAM,CAAC9D,EAAS8D,WAQrGC,EAAAA,UAAU,KACTC,MAEE,IAEH,MAAMA,GAAoBC,WACtB,MAAAN,QAAA,EAAAA,GAAWO,gBAAgB,MAAAP,QAAA,EAAAA,GAAWQ,eACxCC,EAAAA,oBAAoB,IAAKC,aAAYC,UAAU,MAAAX,QAAA,EAAAA,GAAWO,sBAAgBP,aAAWQ,iBACnFI,KAAMC,IACN,MAAM/B,EAAe+B,EAASrE,KAAKsE,OAAOC,IAAKC,IACvC,CAAEC,GAAID,EAAEE,IAAKC,KAAMH,EAAEG,KAAMC,MAAOJ,EAAExE,QAG5C,MAAAuC,IAAAA,GAAkBD,KAElBuC,MAAOC,OAETvC,GAAgB,KAwIZwC,GAAgB,IACnB1D,IAAcE,KAAoBC,IACpCuD,GAAcC,KAAK,CAClBC,MAAO,eACPC,aAAeC,GAhCGrB,OAAOqB,EAAmBC,EAA0B5D,EAAiBzB,KACxF,MAAMsF,QAAyBC,yBAAuB,CACrD,UAAW9F,EACX0D,cACAkC,oBACA5D,YAAaA,EACbzB,MAAOA,IAER,GAAIsF,EAAa,CAChB,MAAME,QAAaF,EAAYE,OAEzBC,EAAOC,SAASC,cAAc,KAE9BC,EAAMC,OAAOC,IAAIC,gBAAgBP,GAEvCC,EAAKO,KAAOJ,EACZH,EAAKQ,SAAW,GAAGb,SAEnBM,SAASQ,KAAKC,YAAYV,GAC1BA,EAAKW,QACLV,SAASQ,KAAKG,YAAYZ,GAC1BI,OAAOC,IAAIQ,gBAAgBV,EAC5B,GAUuCW,CAAYnB,EAAWjC,GAAWkC,kBAAkB5D,GAAYzB,GACtGwG,sBAAMC,IAACC,EAAAA,OAAA,CAAOC,SAAS,YAGtBrF,IAAYE,IACdwD,GAAcC,KAAK,CAClBC,MAAO,qBACPC,aAAeC,GA7DQrB,OAAOqB,IAC/B,MAAME,QAAyBsB,mCAAiC,CAC/D,UAAWnH,EACX2E,SAAUgB,IAEX,GAAIE,EAAa,CAChB,MAAME,QAAaF,EAAYE,OAEzBC,EAAOC,SAASC,cAAc,KAE9BC,EAAMC,OAAOC,IAAIC,gBAAgBP,GAEvCC,EAAKO,KAAOJ,EACZH,EAAKQ,SAAW,GAAGb,SAEnBM,SAASQ,KAAKC,YAAYV,GAC1BA,EAAKW,QACLV,SAASQ,KAAKG,YAAYZ,GAC1BI,OAAOC,IAAIQ,gBAAgBV,EAC5B,GA0CuCiB,CAAiBzB,GACvDoB,sBAAMC,IAACK,EAAAA,iBAAA,CAAiBH,SAAS,WAElC,CACCzB,MAAO,kBACPC,aAAeC,IAlBhB9C,IAAqB,IAmBpBkE,sBAAMC,IAACM,EAAAA,OAAA,CAAOJ,SAAS,YAIzB,MAAMK,GAAuBC,YAC5BA,EAAO,IAAIA,EAAMC,MAAM,OAAAC,EAAAF,EAAKC,YAAL,EAAAC,EAAYC,QAAQ,eAAgB,KAC3D,IAAIlC,GAAQ,OAAAmC,EAAAhE,GAAaiE,KAAMC,GAAWA,EAAEC,MAAQP,EAAKC,aAA7C,EAAAG,EAAqDnC,QAAS+B,EAAKC,MAC/EhC,EAAQuC,EAAAA,YAAY,MAAAvC,OAAA,EAAAA,EAAOkC,QAAQ,MAAO,MAC1C,MAAMM,EAAUC,EAAAA,iBAAiBV,EAAM5D,IAEvC,IAAIuE,EAAQX,EAAKW,MAMjB,OALIC,MAAMC,QAAQb,EAAKW,SACtBX,EAAKW,MAAQX,EAAKW,MAAMpD,IAAIuD,GAAMN,cAA0B,iBAAPM,EAAmBA,EAAG7C,MAAS6C,IACpFH,EAAQX,EAAKW,MAAMI,KAAK,sBAGlBC,OAACC,EAAAA,QAAA,CAAIC,GAAI,CAACC,QAAQ,OAAQC,WAAW,SAAUC,IAAI,GACzDC,SAAA;eAAA9B,EAAAA,IAAC+B,EAAAA,YAAW3H,KAAK,KAAK4H,MAAM,sBAAsBC,OAAO,SAAUH,SAAArD;qBACjEyD,EAAAA,QAAA,CAAQC,YAAY,WAAWC,UAAQ;sBACxCL,EAAAA,WAAA,CAAW3H,KAAK,KAAK4H,MAAM,oBAAoBC,OAAO,SAAUH,SAAA,CAAAO,EAAAA,QAAWpB,GAAS,IAAEE,SAKnFmB,GAAc,CAACC,EAAQC,mBAE1BxC,EAAAA,IAACyC,EAAAA,QAAA,CACGhE,MAAO8B,GAAoBgC,GAC3BG,QAAQ,WACRhJ,QAAM,EACNgI,GAAI,EAAEiB,eACLC,gBAAiB,WACjBC,YAAa,GAAGF,EAAQG,KAAK,kBAC7BC,QAAS,GACT,UAAW,CAAEH,gBAAiB,GAAGD,EAAQG,KAAK,mBAC9CE,cAAe,cACfpB,WAAY,SACZC,IAAK,IACLoB,OAAQ,UAETC,0BACClD,EAAAA,IAACmD,EAAAA,QAAA,CACAzB,GAAI,CACHxB,SAAU,kBACV8B,MAAO,qBACPoB,YAAa,kBACbC,WAAY,eACZ,UAAW,CACVrB,MAAM,yBAKVsB,SAAU,IAAMC,GAAmBf,GACnCgB,WAAW,IAKXD,GAAsBE,IAC5B,MAAMC,EAAgB3G,GAAQ4G,MAAMC,OACnC,CAACC,EAAGrB,IAAUA,IAAUiB,GAEnBK,EAAW,IAAK/G,GAAS4G,MAAOD,GAChC9E,EAAoBmF,EAAAA,oBAAoBD,GAE9CnH,GAAe,CACdI,QAAS+G,EACTlF,wBAKKoF,GAAgBC,IAAqB9I,EAAAA,SAA6B,MAyBzE,OAbAiC,EAAAA,UAAU,YACNV,aAAYwH,SACdjI,SAAgBS,aAAYwH,SAE5B,CAAC,MAAAxH,QAAA,EAAAA,GAAYwH,SAEf9G,EAAAA,UAAU,KACNpB,KACF,MAAAnC,GAAAA,EAAemC,IACfW,GAAe,CAAEuH,OAAQlI,OAGzB,CAACA,2BAED,MAAA,CACA8F,SAAA;iBAAAN,KAAC,MAAA,CAAI2C,UAAU,aACdrC,SAAA;iBAAAN,KAAC,MAAA,CAAI2C,UAAU,0BACbrC,SAAA,CAAA5H,wBACC,MAAA,CAAIkK,MAAO,CAAEC,OAAQ,KACrBvC,wBAAA9B,EAAAA,IAACsE,EAAAA,QAAA,CACAC,QAAS3K,EACT4K,QAASrK,GACTsK,yBAAyB,EACzBC,aAAcnL,EAEbuI,SAAAvI,qBAIHyG,EAAAA,IAAC+B,aAAA,CAAW3H,KAAK,KAAK6H,OAAO,SAASD,MAAM,uBAC1CF,SAAAvI;iBAGHiI,KAAC,MAAA,CAAI2C,UAAU,yBACbrC,SAAA,CAAA6C,QAAQnL,IACRA,EACEuE,IAAK6G,GAAQA,GACbC,KAAK,CAACC,EAAGC,IAAMD,EAAEE,SAAWD,EAAEC,UAC9BjH,IAAKkH,kBACLjF,EAAAA,IAACkF,EAAAA,QAAA,CAEA3L,MAAO,MAAA0L,OAAA,EAAAA,EAAMxG,MACb/E,SACA6K,QAAS,KAvMa,IAAC/K,EAC/BG,SAD+BH,EAuMeyL,YAtM9BxG,SAmMH,MAAAwG,OAAA,EAAAA,EAAMD,WAMdrK,mBACAqF,EAAAA,IAACmF,EAAAA,QAAA,CACA1L,UACAD,OACAG,YACAI;eAMJyH,EAAAA,KAAC,MAAA,CAAI2C,UAAU,2BAA2BC,MAAO,CAACvC,IAAKvF,GAAS,OAAS,UACvEwF,SAAA,CAAAvH,mBACAiH,EAAAA,KAAC,MAAA,CAAI2C,UAAU,uBACdrC,SAAA;qBAAC,MAAA,CAAIqC,UAAU,uBAAuBrC,SAAA;iBACtC9B,IAAC,MAAA,CAAImE,UAAU,sBACdrC,wBAAA9B,EAAAA,IAACoF,EAAAA,QAAA,CACAC,QAASjK,GACTkK,SArOyB,KAChCjK,GAAqBkK,IAAUA,GAC/B,MAAA/K,IAAAA,aAwOIC,qCAECqH,SAAAxF,kBACA0D,EAAAA,IAACwF,EAAAA,QAAA,CACAC,YAAY,SACZ5L,aAAemE,IACd/B,GAAgB+B,GAChB,MAAAnE,GAAAA,EAAemE,IAEhB0H,aAAc,IACdC,aAAa,EACb1K,WAAYe,oBAGbwF,EAAAA,KAAAoE,WAAA,CACC9D,SAAA;eAAAN,EAAAA,KAACqE,EAAAA,QAAA,CAAWC,KAAK,QAAQvB,QAAUvG,GAAMiG,GAAkBjG,EAAE+H,eAAgBjE,SAAA;qBAACkE,EAAAA,OAAA,CAAO9F,SAAS,QAAQ8B,MAAM,cAAa;eACzHhC,EAAAA,IAACiG,EAAAA,QAAA,CACAC,SAAUlC,GACVmC,KAAMxB,QAAQX,IACdoC,QAAS,IAAMnC,GAAkB,MACjCoC,aAAc,CACbC,SAAU,MACVC,WAAY,SAEbC,gBAAiB,CAChBF,SAAU,MACVC,WAAY,SAEb7E,GAAI,CAAE,OAAQ,CAAE+E,EAAG,GAAK,mBAAoB,CAACC,UAAU,qEAEvD5E,wBAAA9B,EAAAA,IAACwF,EAAAA,QAAA,CACAC,YAAY,SACZ5L,aAAemE,IACd/B,GAAgB+B,GAChB,MAAAnE,GAAAA,EAAemE,IAEhB0H,aAAc,IACdC,aAAa,EACb1K,WAAYA,IAAae,YAO7BtB,qCAEEoH,SAAAxF,kBACF0D,EAAAA,IAAC2G,EAAAA,QAAA,CAEAjE,QAAQ,OACRkE,2BAAW5G,IAAC6G,EAAAA,OAAA,CAAW3G,SAAS,UAChCqE,QAAS,KACRhJ,IAAmB,GACnB8B,MAEAyE,YAAE,kCAGJ9B,MAAC6F,EAAAA,QAAA,CAAWtB,QAAS,KACpBhJ,IAAmB,GACnB8B,MACEyI,KAAK,QACPhE,8BAAC+E,EAAAA,OAAA,CAAW3G,SAAS,QAAQ8B,MAAM,kBAMpCpH,GACAE,GACAhB,kBACAkG,EAAAA,IAAC2G,EAAAA,QAAA,CACAjE,QAAQ,YACRkE,+BAAYE,EAAAA,QAAA,IACZvC,QAAS3K,EACRkI,YAAE,gBAGJ9H,yBACC,MAAA,CAAIoK,MAAO,CAAEC,OAAQ,KACrBvC,wBAAA9B,EAAAA,IAAC+G,EAAAA,QAAA,CACAxC,QAAS3K,EACT4K,QAASvK,GACT2M,+BAAYE,EAAAA,QAAA,IACZrC,yBAAyB,EACxB3C,YAAE,kBAKLjH,wBACCgL,EAAAA,QAAA,CAAWtB,QAAUvG,IA1X1BrC,GA0XkDqC,EA1X7B+H,gBA2XhBjE,8BAAC,OAAIkF,IAAKC,SAAOC,KAAMC,IAAI,gBAG5B;eAGDnH,EAAAA,IAACiG,EAAAA,QAAA,CACAC,SAAUxK,GACVyK,KAAMxB,QAAQjJ,IACd0K,QAjYsB,KAC1BzK,GAAe,OAiYVmG,SAAA,MAAAvD,QAAA,EAAAA,GAAeR,IAAKqJ,kBAEnB5F,EAAAA,KAAC6F,EAAAA,QAAA,CACA9C,QAAS,KACR6C,EAAO1I,aAAa7D,IACpBc,GAAe,OAEhB+F,GAAI,CAAEE,WAAY,SAAUC,IAAK,IACjCyF,SAC4B,mBAApBF,EAAOE,SACXF,EAAOE,WACP3C,QAAQyC,EAAOE,UAElBxF,SAAA,CAAA,MAAAsF,OAAA,EAAAA,EAAQrH;qBACRgC,EAAAA,WAAA,CAAW3H,KAAK,KAAK4H,MAAM,UAC1BF,WAAOrD;eAObuB,EAAAA,IAACuH,EAAAA,QAAA,CACApB,KAAM7K,GACN8K,QApWqB,KACzB7K,IAAmB,IAoWfiM,WAAY9N,EACZoC,gBACAuB,qBACAoK,aA1ZqBrJ,MA2ZrBhE,QACAC,UACAqN,iBAAkB5G,GAAM6G,uBAAuB7G,GAC/CxG,uBAzNmB,CAACsN,UAAsB,OAAAjD,QAAQ,OAAAjE,EAAA,MAAAkH,OAAA,EAAAA,EAAKjE,YAAL,EAAAjD,EAAYmH,SA+NhEC,CAAgB/K,oBAChByE,EAAAA,KAACC,EAAAA,QAAA,CACAsG,GAAI,EACJrG,GAAI,CACHC,QAAS,OACTC,WAAY,SACZoG,eAAgB,iBAEjBlG,SAAA;eAAAN,EAAAA,KAACC,EAAAA,QAAA,CACAsG,GAAI,EACJrG,GAAI,CACHC,QAAS,OACTC,WAAY,SACZC,IAAK,EACLoG,SAAU,KAEXnG,SAAA;eAAAN,OAACO,EAAAA,YAAW3H,KAAK,KAAK6H,OAAO,SAASD,MAAM,uBAC1CF,SAAA,CAAA5F,GAAE,kBAAkB,IAAE,OAGvB,OAAAwE,qBAASiD,YAAT,EAAAjD,EAAgB3C,IAAI,CAACmK,EAAGC;aACxBvC,WAAA,CACC9D,UAAA,OAAApB,QAAAwH,WAAGvE,YAAH,EAAAjD,EAAUmH,QACV,OAAAjH,EAAA,MAAAsH,OAAA,EAAAA,EAAGvE,YAAH,EAAA/C,EAAU7C,IAAI,CAACwE,EAAI6F,qBAClBpI,IAAA4F,EAAAA,SAAA,CACC9D,SAAAQ,GAAcC,EAAG6F,qBAGjBpI,EAAAA,IAAA4F,EAAAA,SAAA,CACA9D,SAAAQ,GAAc4F,EAAEC;sBAOpB1G,EAAAA,QAAA,CACMK,SAAA;eAAA9B,EAAAA,IAAC2G,EAAAA,QAAA,CACNjE,QAAQ,OACRyB,UAAU,oBACVyC,2BAAW5G,IAACqI,EAAAA,WAAA,CAAWnI,SAAS,UAChCqE,QA3dwB,YACzBxH,aAAS4G,QACZlI,IAAoB,IA0dhBqG,+BAAC,OAAA,CAAKA,SAAA,CAAA,IAAE5F,GAAE;eAaX8D,EAAAA,IAAC2G,EAAAA,QAAA,CACAjE,QAAQ,OACRkE,2BAAW5G,IAACsI,EAAAA,aAAA,CAAapI,SAAS,UAClCqE,QAAS,IACR5H,GAAe,CACdI,QAASwL,EAAAA,cACT3J,kBAAmB,KAGpBkD,YAAE;eA2CP9B,EAAAA,IAACwI,EAAAA,QAAA,CACArC,KAAM3K,GACN4K,QAAS,IAAM3K,IAAoB,GACnCgN,aAAetK,GA7gBCb,OAAOa,EAAcuK,KAIvC,MAAMC,EAA+C,CACpD,UAAW3P,EACX4P,QAAQ,MAAA5L,QAAA,EAAAA,GAAWO,gBAAgB,MAAAP,QAAA,EAAAA,GAAWQ,gBAAiB,aAC/DW,OACA0K,YAAY,EACZrP,KAAMkP,GAEP,UACOI,EAAAA,aAAaH,GACnBI,EAAAA,gBAAgB,+BAChBlM,GAAe0I,IAAA,IACXA,EACHxI,QAAS,IACLwI,EAAKxI,QACRoB,OACAwF,MAAO+E,EAAY/E,OAEpB/E,kBAAmBmF,EAAAA,oBAAoB2E,MAExCjN,IAAoB,EACrB,OAASuN,GACR,IAAIC,EAAY,yCAKhB,OAJGD,aAAiBE,QACnBD,EAAIE,EAAAA,gBAAgBH,EAAMI,UAE3BL,EAAAA,gBAAgBE,EAAG,CAACvG,QAAS,WACtB,CACR,CACA,OAAO,GA8eJ2G,CAAWlL,EAAMuK;eAGnB1I,EAAAA,IAACsJ,EAAAA,QAAA,CACAnD,KAAMvK,GACN2N,kBAAkB,EAClBnD,QAAS,IAAMvK,IAAqB,GACpC2N,UAAW,IAAM3N,IAAqB,GACtCtC,MAAM,SACNkQ,UAAU,EACV1O,oBACAF,SAAUE,GACV2O,OAAO"}
package/dist/index.esm.js CHANGED
@@ -279,29 +279,30 @@ import { default as default257, LanguageProvider } from "./contexts/languageCont
279
279
  import { themeVariant, getTheme, themeVariant as themeVariant2 } from "./theme/themeSelector/index.esm.js";
280
280
  import { default as default258 } from "./theme/themeWrapper/index.esm.js";
281
281
  import { convertTableColumns, default as default259 } from "./utils/form-builder-deconversion/index.esm.js";
282
- import { default as default260 } from "./layout/fullScreen/fullScreen/index.esm.js";
283
- import { default as default261 } from "./layout/sidebarScreen/sidebarScreen/index.esm.js";
284
- import { default as default262 } from "./views/template-editor/templates/index.esm.js";
285
- import { default as default263 } from "./views/template-editor/add-template/add-template/index.esm.js";
286
- import { default as default264 } from "./views/template-editor/template-modal/template-modal/index.esm.js";
287
- import { default as default265 } from "./views/template-editor/template-modal/html-thumbnail-preview/index.esm.js";
288
- import { default as default266 } from "./views/template-editor/company-selection-modal/company-selection-modal/index.esm.js";
289
- import { default as default267 } from "./views/template-editor/edit-section-modal/edit-section-modal/index.esm.js";
290
- import { default as default268 } from "./views/template-editor/template-name-modal/template-name-modal/index.esm.js";
291
- import { default as default269 } from "./views/template-editor/components/EditorCanvas/index.esm.js";
292
- import { default as default270 } from "./views/template-editor/components/EditorHeader/index.esm.js";
293
- import { default as default271 } from "./views/template-editor/components/EditorSection/index.esm.js";
294
- import { default as default272 } from "./views/template-editor/components/EditorSidebar/index.esm.js";
295
- import { default as default273 } from "./views/template-editor/components/SectionFlowEditor/index.esm.js";
296
- import { default as default274 } from "./views/template-editor/components/SectionFormatPanel/index.esm.js";
297
- import { default as default275 } from "./views/template-editor/components/controllers/AlignmentControl/index.esm.js";
298
- import { default as default276 } from "./views/template-editor/components/controllers/border-control/index.esm.js";
299
- import { default as default277 } from "./views/template-editor/components/controllers/ButtonControls/index.esm.js";
300
- import { default as default278 } from "./views/template-editor/components/controllers/CodeControls/index.esm.js";
301
- import { default as default279 } from "./views/template-editor/components/controllers/DividerControls/index.esm.js";
302
- import { default as default280 } from "./views/template-editor/components/controllers/ImageControls/index.esm.js";
303
- import { default as default281 } from "./views/template-editor/components/controllers/SignatureControls/index.esm.js";
304
- import { default as default282 } from "./views/template-editor/components/controllers/TableControls/index.esm.js";
282
+ import { convertToUnderscore, formatLabel, default as default260 } from "./utils/format-text/index.esm.js";
283
+ import { default as default261 } from "./layout/fullScreen/fullScreen/index.esm.js";
284
+ import { default as default262 } from "./layout/sidebarScreen/sidebarScreen/index.esm.js";
285
+ import { default as default263 } from "./views/template-editor/templates/index.esm.js";
286
+ import { default as default264 } from "./views/template-editor/add-template/add-template/index.esm.js";
287
+ import { default as default265 } from "./views/template-editor/template-modal/template-modal/index.esm.js";
288
+ import { default as default266 } from "./views/template-editor/template-modal/html-thumbnail-preview/index.esm.js";
289
+ import { default as default267 } from "./views/template-editor/company-selection-modal/company-selection-modal/index.esm.js";
290
+ import { default as default268 } from "./views/template-editor/edit-section-modal/edit-section-modal/index.esm.js";
291
+ import { default as default269 } from "./views/template-editor/template-name-modal/template-name-modal/index.esm.js";
292
+ import { default as default270 } from "./views/template-editor/components/EditorCanvas/index.esm.js";
293
+ import { default as default271 } from "./views/template-editor/components/EditorHeader/index.esm.js";
294
+ import { default as default272 } from "./views/template-editor/components/EditorSection/index.esm.js";
295
+ import { default as default273 } from "./views/template-editor/components/EditorSidebar/index.esm.js";
296
+ import { default as default274 } from "./views/template-editor/components/SectionFlowEditor/index.esm.js";
297
+ import { default as default275 } from "./views/template-editor/components/SectionFormatPanel/index.esm.js";
298
+ import { default as default276 } from "./views/template-editor/components/controllers/AlignmentControl/index.esm.js";
299
+ import { default as default277 } from "./views/template-editor/components/controllers/border-control/index.esm.js";
300
+ import { default as default278 } from "./views/template-editor/components/controllers/ButtonControls/index.esm.js";
301
+ import { default as default279 } from "./views/template-editor/components/controllers/CodeControls/index.esm.js";
302
+ import { default as default280 } from "./views/template-editor/components/controllers/DividerControls/index.esm.js";
303
+ import { default as default281 } from "./views/template-editor/components/controllers/ImageControls/index.esm.js";
304
+ import { default as default282 } from "./views/template-editor/components/controllers/SignatureControls/index.esm.js";
305
+ import { default as default283 } from "./views/template-editor/components/controllers/TableControls/index.esm.js";
305
306
  import { ClickAwayListener } from "./node_modules/@mui/material/ClickAwayListener/ClickAwayListener/index.esm.js";
306
307
  import { RecgtangleIcon } from "./components/icons/rectangle/index.esm.js";
307
308
  import { RectangleFilledIcon } from "./components/icons/rectangle-filled/index.esm.js";
@@ -376,15 +377,15 @@ import { useLanguage } from "./hooks/useLangauge/index.esm.js";
376
377
  import { useAuth } from "./hooks/useAuth/index.esm.js";
377
378
  import { usePages } from "./hooks/use-pages/index.esm.js";
378
379
  import { usePermissions } from "./hooks/use-permissions/index.esm.js";
379
- import { default as default283 } from "./hooks/use-material-calculations/index.esm.js";
380
- import { default as default284 } from "./hooks/useLanguageFallback/index.esm.js";
381
- import { default as default285 } from "./hooks/useLocationFilter/index.esm.js";
380
+ import { default as default284 } from "./hooks/use-material-calculations/index.esm.js";
381
+ import { default as default285 } from "./hooks/useLanguageFallback/index.esm.js";
382
+ import { default as default286 } from "./hooks/useLocationFilter/index.esm.js";
382
383
  import { apiType, capitalizeWords, convertEmptyToNull, defaultUserCurrency, formatNumber, formatTime, formateDate, recursiveSort, removeExtraKeys, sortData, valueWithCurrency } from "./hooks/common/index.esm.js";
383
384
  import { AuthContext, AuthProvider } from "./contexts/AuthContext/index.esm.js";
384
385
  import { PageContext, PageProvider, defaultPageState, initialFilter } from "./contexts/page-context/index.esm.js";
385
386
  import { PermissionsContext, PermissionsProvider } from "./contexts/permission-context/index.esm.js";
386
387
  import { createDarkTheme, createLightTheme, createLightTheme as createLightTheme2, themes } from "./theme/theme-impl/index.esm.js";
387
- import { default as default286 } from "dayjs";
388
+ import { default as default287 } from "dayjs";
388
389
  import { closeSnackbar, enqueueSnackbar, useSnackbar } from "./node_modules/notistack/notistack.esm/index.esm.js";
389
390
  import { apiConfigurations, fetchApi, getCurrency, getItems, getOptions } from "./utils/api/index.esm.js";
390
391
  import { calculateEntries } from "./utils/calculation/index.esm.js";
@@ -396,7 +397,6 @@ import { UTCDateFormat, formatDataTime, formatDate, formatOnlyTime, formatUtcDat
396
397
  import { RANGE, handleCompareDateRange, handleCompareDateRangeSync } from "./utils/date-range/index.esm.js";
397
398
  import { COMMON_DATE_VALIDATIONS, anyDateValidation, businessDateValidation, conditionalDateValidation, createCustomMessages, createDateValidation, dateRangeValidation, dateTimeValidation, dateValidation, futureDateValidation, pastDateValidation } from "./utils/dateValidation/index.esm.js";
398
399
  import { specificFilters, subModuleMappings } from "./utils/export-filters/index.esm.js";
399
- import { convertToUnderscore, formatLabel } from "./utils/format-text/index.esm.js";
400
400
  import { createParameterizedNavigationHandler, migrateRoutesToUseParams, migrateToPathWithId, updateTableConfigForParameterizedNavigation } from "./utils/migration-utils/index.esm.js";
401
401
  import { getEntityId, navigateWithId } from "./utils/navigation-utils/index.esm.js";
402
402
  import { convertRoutesToUseIdParams, generateRouteWithId, navigateToRouteWithId, updatePathnameWithIdParams } from "./utils/route-utils/index.esm.js";
@@ -409,11 +409,11 @@ import { setBaseUrl as setBaseUrl3 } from "./api-client/api.system-feature/api/i
409
409
  import { loadModuleTranslations } from "./utils/translations/index.esm.js";
410
410
  import { MenuFilter, MenuFilterService, ModuleAccessService, StorageUtils } from "./utils/menu-filter/index.esm.js";
411
411
  export * from "react-i18next";
412
- import { getAllUserAndDepartmentDropdown, resetState, setDepartments, setError, setLoading, setUsers, sharePage, default as default287 } from "./redux/slices/shareSlice/index.esm.js";
413
- import { default as default288, resetHeaderState, resetLanguagesState, setCurrentLanguage, setLanguages, setLanguagesData } from "./redux/slices/headerSlice/index.esm.js";
414
- import { fetchCompanies, default as default289, resetReportsTitleBarState, setCompanies, setError as setError2, setLoading as setLoading2 } from "./redux/slices/reportsTitleBarSlice/index.esm.js";
415
- import { fetchBom, default as default290, resetInventoryReportsTitleBarState, setAssemblyItems, setBomData, setCompanies as setCompanies2, setError as setError3, setLoading as setLoading3, setItems, setWarehouseLocations } from "./redux/slices/inventoryReportsTitleBarSlice/index.esm.js";
416
- import { changeCurrentPage, dashBoardDrive, default as default291, pinToDashboardList, setGrid, setPages, setPaginationModel, setSharedPage, setUserName } from "./views/afterAuth/dashboard/redux/reducer/index.esm.js";
412
+ import { getAllUserAndDepartmentDropdown, resetState, setDepartments, setError, setLoading, setUsers, sharePage, default as default288 } from "./redux/slices/shareSlice/index.esm.js";
413
+ import { default as default289, resetHeaderState, resetLanguagesState, setCurrentLanguage, setLanguages, setLanguagesData } from "./redux/slices/headerSlice/index.esm.js";
414
+ import { fetchCompanies, default as default290, resetReportsTitleBarState, setCompanies, setError as setError2, setLoading as setLoading2 } from "./redux/slices/reportsTitleBarSlice/index.esm.js";
415
+ import { fetchBom, default as default291, resetInventoryReportsTitleBarState, setAssemblyItems, setBomData, setCompanies as setCompanies2, setError as setError3, setLoading as setLoading3, setItems, setWarehouseLocations } from "./redux/slices/inventoryReportsTitleBarSlice/index.esm.js";
416
+ import { changeCurrentPage, dashBoardDrive, default as default292, pinToDashboardList, setGrid, setPages, setPaginationModel, setSharedPage, setUserName } from "./views/afterAuth/dashboard/redux/reducer/index.esm.js";
417
417
  import { UsersFetchAction } from "./views/afterAuth/dashboard/redux/actionCreator/index.esm.js";
418
418
  import { createLibraryStore, getLibrarySlices, libraryReducers } from "./redux/store/index.esm.js";
419
419
  import { API_METHOD_GROUPS, createConfiguredApiClient, validateApiClient } from "./redux/apiConfig/index.esm.js";
@@ -436,7 +436,7 @@ import * as apiTypes_d$7 from "./api-client/api.system-feature/api-types.d/index
436
436
  import * as api$9 from "./api-client/api.user/api/index.esm.js";
437
437
  import * as apiTypes_d$8 from "./api-client/api.user/api-types.d/index.esm.js";
438
438
  import { templateEditorRoutes } from "./views/template-editor/routes/index.esm.js";
439
- import { default as default292 } from "./views/template-editor/components/controllers/TextControls/index.esm.js";
439
+ import { default as default293 } from "./views/template-editor/components/controllers/TextControls/index.esm.js";
440
440
  import { TEMPLATE_EDITOR_PATHS, initialStyles } from "./views/template-editor/utils/constant/index.esm.js";
441
441
  import { extractStyles, generateEmailPreview, generateHeaderFooterPreview, generateInlineStyles, getInitialSectionData, templateRoutes } from "./views/template-editor/utils/common/index.esm.js";
442
442
  export {
@@ -453,12 +453,12 @@ export {
453
453
  AddCircle,
454
454
  default47 as AddPage,
455
455
  default48 as AddPageModal,
456
- default263 as AddTemplate,
456
+ default264 as AddTemplate,
457
457
  default89 as AdvancedBarChart,
458
458
  default92 as AdvancedDonutChart,
459
459
  default5 as Alert,
460
460
  default103 as AlertTitle,
461
- default275 as AlignmentControl,
461
+ default276 as AlignmentControl,
462
462
  default70 as AndroidSwitch,
463
463
  AppBarWrapper as AppBar,
464
464
  ApprovalWrapper,
@@ -484,14 +484,14 @@ export {
484
484
  BlankCircle,
485
485
  BlockFiled,
486
486
  BoardWrapper as Board,
487
- default276 as BorderControl,
487
+ default277 as BorderControl,
488
488
  default108 as BottomNavigation,
489
489
  default109 as BottomNavigationAction,
490
490
  default110 as Box,
491
491
  default6 as BreadCrumb,
492
492
  default7 as Button,
493
493
  default112 as ButtonBase,
494
- default277 as ButtonControls,
494
+ default278 as ButtonControls,
495
495
  default113 as ButtonGroup,
496
496
  COMMON_DATE_VALIDATIONS,
497
497
  default8 as CalculationSummary,
@@ -516,11 +516,11 @@ export {
516
516
  ClickAwayListener,
517
517
  Clock,
518
518
  Close,
519
- default278 as CodeControls,
519
+ default279 as CodeControls,
520
520
  CoinOutline,
521
521
  default121 as Collapse,
522
522
  default14 as ColorPickerInput,
523
- default266 as CompanySelectionModal,
523
+ default267 as CompanySelectionModal,
524
524
  default15 as ConfirmModal,
525
525
  default122 as Container,
526
526
  Copy,
@@ -542,7 +542,7 @@ export {
542
542
  default126 as DialogContentText,
543
543
  default127 as DialogTitle,
544
544
  default128 as Divider,
545
- default279 as DividerControls,
545
+ default280 as DividerControls,
546
546
  Document,
547
547
  DocumentDownload,
548
548
  DollarCircle,
@@ -577,12 +577,12 @@ export {
577
577
  default249 as DynamicToggleButton,
578
578
  ERPUIProvider,
579
579
  Edit,
580
- default267 as EditSectionModal,
580
+ default268 as EditSectionModal,
581
581
  default25 as Editor,
582
- default269 as EditorCanvas,
583
- default270 as EditorHeader,
584
- default271 as EditorSection,
585
- default272 as EditorSidebar,
582
+ default270 as EditorCanvas,
583
+ default271 as EditorHeader,
584
+ default272 as EditorSection,
585
+ default273 as EditorSidebar,
586
586
  Email,
587
587
  default26 as EntityViewWrapper,
588
588
  default224 as ErpLoader,
@@ -608,7 +608,7 @@ export {
608
608
  default137 as FormLabel,
609
609
  default225 as FormLoader,
610
610
  default228 as FormParser,
611
- default260 as FullScreenLayout,
611
+ default261 as FullScreenLayout,
612
612
  default32 as Gantt,
613
613
  default138 as GlobalStyles,
614
614
  default139 as Grid,
@@ -622,7 +622,7 @@ export {
622
622
  default34 as HeaderCard,
623
623
  default141 as Hidden,
624
624
  default35 as HrLine,
625
- default265 as HtmlThumbnailPreview,
625
+ default266 as HtmlThumbnailPreview,
626
626
  INVENTORY_ADD_MODE_DISABLED_FIELDS,
627
627
  INVENTORY_ALWAYS_DISABLED_FIELDS,
628
628
  INVENTORY_EDIT_MODE_DISABLED_FIELDS,
@@ -633,7 +633,7 @@ export {
633
633
  default142 as Icon,
634
634
  default143 as IconButton,
635
635
  Image,
636
- default280 as ImageControls,
636
+ default281 as ImageControls,
637
637
  default144 as ImageList,
638
638
  default145 as ImageListItem,
639
639
  default146 as ImageListItemBar,
@@ -767,8 +767,8 @@ export {
767
767
  default64 as SearchBar,
768
768
  SearchStatus,
769
769
  default65 as SearchableSelect,
770
- default273 as SectionFlowEditor,
771
- default274 as SectionFormatPanel,
770
+ default274 as SectionFlowEditor,
771
+ default275 as SectionFormatPanel,
772
772
  default66 as Select,
773
773
  SettingsFallback,
774
774
  SettingsFallbackIcon,
@@ -776,8 +776,8 @@ export {
776
776
  default50 as SharedPageModal,
777
777
  default51 as SharedPageView,
778
778
  Sidebar,
779
- default261 as SidebarLayout,
780
- default281 as SignatureControls,
779
+ default262 as SidebarLayout,
780
+ default282 as SignatureControls,
781
781
  default174 as Slider,
782
782
  default68 as Snackbar,
783
783
  default175 as SnackbarContent,
@@ -806,18 +806,18 @@ export {
806
806
  default190 as TableBody,
807
807
  default191 as TableCell,
808
808
  default192 as TableContainer,
809
- default282 as TableControls,
809
+ default283 as TableControls,
810
810
  default193 as TableFooter,
811
811
  default194 as TableHead,
812
812
  default195 as TablePagination,
813
813
  default196 as TableRow,
814
814
  default197 as TableSortLabel,
815
815
  default72 as Tabs,
816
- default264 as TemplateModal,
817
- default268 as TemplateNameModal,
818
- default262 as Templates,
816
+ default265 as TemplateModal,
817
+ default269 as TemplateNameModal,
818
+ default263 as Templates,
819
819
  default73 as TextArea,
820
- default292 as TextControls,
820
+ default293 as TextControls,
821
821
  default74 as TextField,
822
822
  default198 as TextareaAutosize,
823
823
  themeVariant as ThemeSelector,
@@ -883,11 +883,11 @@ export {
883
883
  createLightTheme2 as createTheme,
884
884
  createdOnAndBy,
885
885
  dashBoardDrive,
886
- default291 as dashboardSlice,
886
+ default292 as dashboardSlice,
887
887
  dateRangeValidation,
888
888
  dateTimeValidation,
889
889
  dateValidation,
890
- default286 as dayjs,
890
+ default287 as dayjs,
891
891
  defaultCompany,
892
892
  defaultCurrencyFormat,
893
893
  defaultCurrencySymbol,
@@ -925,6 +925,7 @@ export {
925
925
  formatOnlyTime,
926
926
  formatResponseDatesToDayJS,
927
927
  formatResponseOnlyDatesToDayJS,
928
+ default260 as formatText,
928
929
  formatTime,
929
930
  formatTimeForPayload,
930
931
  formatUtcDate,
@@ -976,11 +977,11 @@ export {
976
977
  handleCompareDateRangeSync,
977
978
  handleRegularUpload,
978
979
  hasValue,
979
- default288 as headerSlice,
980
+ default289 as headerSlice,
980
981
  images,
981
982
  initialFilter,
982
983
  initialStyles,
983
- default290 as inventoryReportsTitleBarSlice,
984
+ default291 as inventoryReportsTitleBarSlice,
984
985
  isBetweenTheDates,
985
986
  isJSONString,
986
987
  isJsonParse,
@@ -1008,7 +1009,7 @@ export {
1008
1009
  removeIdStaticIdsFromMongoObject,
1009
1010
  renderEmptyRowsFallback,
1010
1011
  renderValueField,
1011
- default289 as reportsTitleBarSlice,
1012
+ default290 as reportsTitleBarSlice,
1012
1013
  resetHeaderState,
1013
1014
  resetInventoryReportsTitleBarState,
1014
1015
  resetLanguagesState,
@@ -1042,7 +1043,7 @@ export {
1042
1043
  setUsers,
1043
1044
  setWarehouseLocations,
1044
1045
  sharePage,
1045
- default287 as shareSlice,
1046
+ default288 as shareSlice,
1046
1047
  showSnackBar,
1047
1048
  skuGenerator,
1048
1049
  sortData,
@@ -1068,11 +1069,11 @@ export {
1068
1069
  default252 as useDeepMemo,
1069
1070
  useERPUI,
1070
1071
  useLanguage,
1071
- default284 as useLanguageFallback,
1072
+ default285 as useLanguageFallback,
1072
1073
  useLibraryDispatch,
1073
1074
  useLibrarySelector,
1074
- default285 as useLocationFilter,
1075
- default283 as useMaterialCalculations,
1075
+ default286 as useLocationFilter,
1076
+ default284 as useMaterialCalculations,
1076
1077
  default202 as useMediaQuery,
1077
1078
  usePages,
1078
1079
  usePermissions,