@erpsquad/common 1.7.4 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/components/action-bar/action-bar/index.esm.js +1 -1
  2. package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
  3. package/dist/components/action-bar/action-bar/index.js +1 -1
  4. package/dist/components/action-bar/action-bar/index.js.map +1 -1
  5. package/dist/components/filter/filter/index.esm.js +1 -1
  6. package/dist/components/filter/filter/index.esm.js.map +1 -1
  7. package/dist/components/filter/filter/index.js +1 -1
  8. package/dist/components/filter/filter/index.js.map +1 -1
  9. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  10. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  11. package/dist/components/header/redux/actionCreator/index.js +1 -1
  12. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  13. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  14. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  15. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  16. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
  17. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  18. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  19. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  20. package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
  21. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  22. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  23. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  24. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  25. package/dist/components/upload/upload/index.esm.js +2 -2
  26. package/dist/components/upload/upload/index.esm.js.map +1 -1
  27. package/dist/components/upload/upload/index.js +2 -2
  28. package/dist/components/upload/upload/index.js.map +1 -1
  29. package/dist/contexts/AuthContext/index.esm.js +1 -1
  30. package/dist/contexts/AuthContext/index.esm.js.map +1 -1
  31. package/dist/contexts/AuthContext/index.js +1 -1
  32. package/dist/contexts/AuthContext/index.js.map +1 -1
  33. package/dist/contexts/languageContext/index.esm.js +1 -1
  34. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  35. package/dist/contexts/languageContext/index.js +1 -1
  36. package/dist/contexts/languageContext/index.js.map +1 -1
  37. package/dist/{node_modules/ckeditor5/dist/ckeditor5.css → style.css} +161 -0
  38. package/dist/utils/api/index.esm.js +4 -4
  39. package/dist/utils/api/index.esm.js.map +1 -1
  40. package/dist/utils/api/index.js +1 -1
  41. package/dist/utils/api/index.js.map +1 -1
  42. package/dist/utils/common/index.esm.js +6 -6
  43. package/dist/utils/common/index.esm.js.map +1 -1
  44. package/dist/utils/common/index.js +1 -1
  45. package/dist/utils/common/index.js.map +1 -1
  46. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -1
  47. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  48. package/dist/views/template-editor/components/EditorSidebar/index.js +1 -1
  49. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  50. package/dist/views/template-editor/templates/index.esm.js +1 -1
  51. package/dist/views/template-editor/templates/index.esm.js.map +1 -1
  52. package/dist/views/template-editor/templates/index.js +1 -1
  53. package/dist/views/template-editor/templates/index.js.map +1 -1
  54. package/package.json +1 -1
  55. package/dist/components/Dashboard/dashboard.css +0 -1
  56. package/dist/components/action-bar/action-bar.css +0 -1
  57. package/dist/components/activity-tag/activity-tag.css +0 -1
  58. package/dist/components/activityArea/activityArea.css +0 -1
  59. package/dist/components/activityLog/activity-log.css +0 -1
  60. package/dist/components/avatar/avatar.css +0 -1
  61. package/dist/components/board/board.css +0 -1
  62. package/dist/components/calculation-summary/calculation-summary.css +0 -1
  63. package/dist/components/calendar/calendar.css +0 -1
  64. package/dist/components/card-wrapper/card-wrapper.css +0 -1
  65. package/dist/components/charts/barLineChart/barLineChart.css +0 -1
  66. package/dist/components/charts/chartLegend.css +0 -1
  67. package/dist/components/charts/donut-chart/donut-chart.css +0 -1
  68. package/dist/components/charts/donutChart/donut-chart.css +0 -1
  69. package/dist/components/confirm-modal/confirm-modal.css +0 -1
  70. package/dist/components/country-select/index.css +0 -1
  71. package/dist/components/custom-snackbar/custom-snackbar.css +0 -1
  72. package/dist/components/date-picker/date-picker.css +0 -1
  73. package/dist/components/date-range-picker/date-range-picker.css +0 -1
  74. package/dist/components/editor/custom-editor.css +0 -1
  75. package/dist/components/expandable-summary-wrapper/expandable-summary-wrapper.css +0 -1
  76. package/dist/components/fallback/fallback.css +0 -1
  77. package/dist/components/filter/filter.css +0 -1
  78. package/dist/components/footer/footer.css +0 -1
  79. package/dist/components/form-control/form-builder/form-builder-element/element.css +0 -1
  80. package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/location-add-modal.css +0 -1
  81. package/dist/components/form-control/form-parser/form-parser.css +0 -1
  82. package/dist/components/form-header/form-header.css +0 -1
  83. package/dist/components/gantt/gantt.css +0 -1
  84. package/dist/components/grid/grid-wrapper/grid-wrapper.css +0 -1
  85. package/dist/components/header/header.css +0 -1
  86. package/dist/components/header-card/header-card.css +0 -1
  87. package/dist/components/hr-line/hr-line.css +0 -1
  88. package/dist/components/info-card/info-card.css +0 -1
  89. package/dist/components/inventory-reports-title-bar/component/reportFilter.css +0 -1
  90. package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar.css +0 -1
  91. package/dist/components/inventory-reports-title-bar/report-buttons/report-buttons.css +0 -1
  92. package/dist/components/material-table/material-table.css +0 -1
  93. package/dist/components/module-button/module-button.css +0 -1
  94. package/dist/components/mulitline/multiline.css +0 -1
  95. package/dist/components/multi-select/multi-select.css +0 -1
  96. package/dist/components/page-navigator/components/shared-page-modal.css +0 -1
  97. package/dist/components/page-navigator/page-navigator.css +0 -1
  98. package/dist/components/pagination/pagination.css +0 -1
  99. package/dist/components/parties-modal/parties-modal.css +0 -1
  100. package/dist/components/quick-approval-modal/quick-approval-modal.css +0 -1
  101. package/dist/components/reports/dynamic-report/dynamic-report.css +0 -1
  102. package/dist/components/reports-title-bar/reports-title-bar.css +0 -1
  103. package/dist/components/schedule-report/schedule-report-modal.css +0 -1
  104. package/dist/components/schedule-report/schedule-report.css +0 -1
  105. package/dist/components/search-bar/search-bar.css +0 -1
  106. package/dist/components/select/controller/controller-select.css +0 -1
  107. package/dist/components/share-modal/share-modal.css +0 -1
  108. package/dist/components/sidebar/sidebar.css +0 -1
  109. package/dist/components/sub-header-doc/sub-header-doc.css +0 -1
  110. package/dist/components/tab-bar-ui/tab-bar-ui.css +0 -1
  111. package/dist/components/tabs/tabs.css +0 -1
  112. package/dist/components/text-field/text-field.css +0 -1
  113. package/dist/components/time-picker/time-picker.css +0 -1
  114. package/dist/components/time-range-picker/time-range-picker.css +0 -1
  115. package/dist/components/toast/toast.css +0 -1
  116. package/dist/components/toggle/toggle.css +0 -1
  117. package/dist/components/upload/upload.css +0 -1
  118. package/dist/components/upload-excel/upload-excel.css +0 -1
  119. package/dist/components/user-dropdown/user-dropdown.css +0 -1
  120. package/dist/components/value-field/value-field.css +0 -1
  121. package/dist/components/view-modal/view-modal.css +0 -1
  122. package/dist/node_modules/@asseinfo/react-kanban/dist/styles.css +0 -1
  123. package/dist/node_modules/@glideapps/glide-data-grid/dist/index.css +0 -1
  124. package/dist/node_modules/gantt-task-react/dist/index.css +0 -1
  125. package/dist/node_modules/normalize.css/normalize.css +0 -1
  126. package/dist/styles/sass/_animations.css +0 -1
  127. package/dist/styles/sass/_utils.css +0 -1
  128. package/dist/views/afterAuth/dashboard/dashboard.css +0 -1
  129. package/dist/views/beforeAuth/components/index.css +0 -1
  130. package/dist/views/beforeAuth/landing/landing.css +0 -1
  131. package/dist/views/template-editor/add-template/add-template.css +0 -1
  132. package/dist/views/template-editor/company-selection-modal/company-selection-modal.css +0 -1
  133. package/dist/views/template-editor/edit-section-modal/edit-section-modal.css +0 -1
  134. package/dist/views/template-editor/templates.css +0 -1
@@ -42,7 +42,7 @@ import { DocumentDownload } from "../../icons/document-download/index.esm.js";
42
42
  import { Import } from "../../icons/import/index.esm.js";
43
43
  import { Search } from "../../icons/search/index.esm.js";
44
44
  import { FolderSave } from "../../icons/folder-save/index.esm.js";
45
- setBaseUrl(`${"http://127.0.0.1:4011"}/system-feature`);
45
+ setBaseUrl(`${"https://apidev.erpforce.co"}/system-feature`);
46
46
  const ActionBar = React__default.memo((props) => {
47
47
  var _a;
48
48
  const token = localStorage.getItem(auth.storageTokenKeyName) || void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.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":["React","savedFilters","filterQuery","data","selectedIds","title","_a","FilterIcon","AddIcon","Filter"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.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":["React","savedFilters","filterQuery","data","selectedIds","title","_a","FilterIcon","AddIcon","Filter"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=,/* empty css */i=;/* empty css */;/* empty css */var l=,/* empty css */r=,/* empty css */a=,/* empty css */n=,/* empty css */s=require("react"),o=,/* empty css */d=,/* empty css */c=,/* empty css */u=,/* empty css */m=,/* empty css */x=,/* empty css */h=,/* empty css */p=,/* empty css */f=,/* empty css */j=,/* empty css */g=,/* empty css */v=,/* empty css */y=,/* empty css */b=,/* empty css */S=,/* empty css */q=,/* empty css */w=require("react-router-dom"),k=,/* empty css */C=,/* empty css */T=require("react-i18next"),I=,/* empty css */F=,/* empty css */M=,/* empty css */N=,/* empty css */R=,/* empty css */B=,/* empty css */D=,/* empty css */_=,/* empty css */z=,/* empty css */L=,/* empty css */E=,/* empty css */A=,/* empty css */Q=,/* empty css */U=,/* empty css */V=;/* empty css */function O(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var P=/* @__PURE__ */O(s);x.setBaseUrl("http://127.0.0.1:4011/system-feature");const $=P.default.memo(O=>{var P;const $=localStorage.getItem(h.auth.storageTokenKeyName)||void 0,H=w.useLocation(),{title:K,data:W,setData:G,active:J,setActive:X,handleAddButton:Y,handleSearch:Z,button:ee=!0,disabledViews:te,isDropdownMenuButton:ie=!1,itemListingDropdownOptions:le=[],isTitleMenu:re=!1,titleMenus:ae=[],type:ne,fields:se=[],applyFilter:oe,isToggleButton:de=!1,handleToggleButton:ce,showSearch:ue=!0,showFilter:me=!0,showView:xe=!0,customButtons:he,pageName:pe,actionBtn:fe,importModuleName:je,selectedIds:ge,searchText:ve}=O;j.useAppDispatch();const[ye,be]=s.useState(!1),[Se,qe]=s.useState(!1),[we,ke]=s.useState(!1),[Ce,Te]=s.useState(""),[Ie,Fe]=s.useState(!1),[Me,Ne]=s.useState(null),[Re,Be]=s.useState(!1),[De,_e]=s.useState([]),[ze,Le]=s.useState(""),{t:Ee}=T.useTranslation(),Ae=I.default(),Qe=F.default(Ae.breakpoints.up("xl")),{activePage:Ue,updatePageInfo:Ve,schemaFields:Oe,setActivePage:Pe}=b.usePages(),{filters:$e}=Ue,He=s.useMemo(()=>k.routeToResourceMap[H.pathname]||null,[H.pathname]),{filterBar:Ke,filterQuery:We}=j.useAppSelector(e=>null==e?void 0:e.drive);s.useEffect(()=>{Ge()},[]);const Ge=async()=>{(null==He?void 0:He.pageResource)||(null==He?void 0:He.fieldResource)?x.getV1FilterResource({...g.getToken(),resource:(null==He?void 0:He.pageResource)||(null==He?void 0:He.fieldResource)}).then(e=>{const t=e.data.result.map(e=>({id:e._id,name:e.name,query:e.data}));null==_e||_e(t)}).catch(e=>{}):_e([])},Je=()=>{(null==$e?void 0:$e.rules)&&Fe(!0)},Xe=[];!pe||je&&!ge||Xe.push({label:"Export Excel",handleAction:e=>(async(e,t,i,l)=>{const r=await g.getExcelExportTemplate({"x-token":$,activePage:Ue,filterQueryString:t,selectedIds:i,title:l});if(r){const t=await r.blob(),i=document.createElement("a"),l=window.URL.createObjectURL(t);i.href=l,i.download=`${e}.xlsx`,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(l)}})(e,Ue.filterQueryString,ge,K),icon:/* @__PURE__ */e.jsx(E.Export,{fontSize:"small"})}),pe&&je&&Xe.push({label:"Download Template ",handleAction:e=>(async e=>{const t=await g.getExcelTemplateGenerateTemplate({"x-token":$,resource:e});if(t){const i=await t.blob(),l=document.createElement("a"),r=window.URL.createObjectURL(i);l.href=r,l.download=`${e}.xlsx`,document.body.appendChild(l),l.click(),document.body.removeChild(l),window.URL.revokeObjectURL(r)}})(e),icon:/* @__PURE__ */e.jsx(A.DocumentDownload,{fontSize:"small"})},{label:"Import Template",handleAction:e=>{Be(!0)},icon:/* @__PURE__ */e.jsx(Q.Import,{fontSize:"small"})});const Ye=t=>{var l,r;t={...t,field:null==(l=t.field)?void 0:l.replace("__replaceKey","")};let a=(null==(r=Oe.find(e=>e.key===t.field))?void 0:r.label)||t.field;a=q.formatLabel(null==a?void 0:a.replace("_id"," "));const n=g.getOperatorLabel(t,Oe);let s=t.value;return Array.isArray(t.value)&&(t.value=t.value.map(e=>q.formatLabel("object"==typeof e?e.label:e)),s=t.value.join(", ")),/* @__PURE__ */e.jsxs(D.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=,/* empty css */i=;/* empty css */;/* empty css */var l=,/* empty css */r=,/* empty css */a=,/* empty css */n=,/* empty css */s=require("react"),o=,/* empty css */d=,/* empty css */c=,/* empty css */u=,/* empty css */m=,/* empty css */x=,/* empty css */h=,/* empty css */p=,/* empty css */f=,/* empty css */j=,/* empty css */g=,/* empty css */v=,/* empty css */y=,/* empty css */b=,/* empty css */S=,/* empty css */q=,/* empty css */w=require("react-router-dom"),k=,/* empty css */C=,/* empty css */T=require("react-i18next"),I=,/* empty css */F=,/* empty css */M=,/* empty css */N=,/* empty css */R=,/* empty css */B=,/* empty css */D=,/* empty css */_=,/* empty css */z=,/* empty css */L=,/* empty css */E=,/* empty css */A=,/* empty css */Q=,/* empty css */U=,/* empty css */V=;/* empty css */function O(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var P=/* @__PURE__ */O(s);x.setBaseUrl("https://apidev.erpforce.co/system-feature");const $=P.default.memo(O=>{var P;const $=localStorage.getItem(h.auth.storageTokenKeyName)||void 0,H=w.useLocation(),{title:K,data:W,setData:G,active:J,setActive:X,handleAddButton:Y,handleSearch:Z,button:ee=!0,disabledViews:te,isDropdownMenuButton:ie=!1,itemListingDropdownOptions:le=[],isTitleMenu:re=!1,titleMenus:ae=[],type:ne,fields:se=[],applyFilter:oe,isToggleButton:de=!1,handleToggleButton:ce,showSearch:ue=!0,showFilter:me=!0,showView:xe=!0,customButtons:he,pageName:pe,actionBtn:fe,importModuleName:je,selectedIds:ge,searchText:ve}=O;j.useAppDispatch();const[ye,be]=s.useState(!1),[Se,qe]=s.useState(!1),[we,ke]=s.useState(!1),[Ce,Te]=s.useState(""),[Ie,Fe]=s.useState(!1),[Me,Ne]=s.useState(null),[Re,Be]=s.useState(!1),[De,_e]=s.useState([]),[ze,Le]=s.useState(""),{t:Ee}=T.useTranslation(),Ae=I.default(),Qe=F.default(Ae.breakpoints.up("xl")),{activePage:Ue,updatePageInfo:Ve,schemaFields:Oe,setActivePage:Pe}=b.usePages(),{filters:$e}=Ue,He=s.useMemo(()=>k.routeToResourceMap[H.pathname]||null,[H.pathname]),{filterBar:Ke,filterQuery:We}=j.useAppSelector(e=>null==e?void 0:e.drive);s.useEffect(()=>{Ge()},[]);const Ge=async()=>{(null==He?void 0:He.pageResource)||(null==He?void 0:He.fieldResource)?x.getV1FilterResource({...g.getToken(),resource:(null==He?void 0:He.pageResource)||(null==He?void 0:He.fieldResource)}).then(e=>{const t=e.data.result.map(e=>({id:e._id,name:e.name,query:e.data}));null==_e||_e(t)}).catch(e=>{}):_e([])},Je=()=>{(null==$e?void 0:$e.rules)&&Fe(!0)},Xe=[];!pe||je&&!ge||Xe.push({label:"Export Excel",handleAction:e=>(async(e,t,i,l)=>{const r=await g.getExcelExportTemplate({"x-token":$,activePage:Ue,filterQueryString:t,selectedIds:i,title:l});if(r){const t=await r.blob(),i=document.createElement("a"),l=window.URL.createObjectURL(t);i.href=l,i.download=`${e}.xlsx`,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(l)}})(e,Ue.filterQueryString,ge,K),icon:/* @__PURE__ */e.jsx(E.Export,{fontSize:"small"})}),pe&&je&&Xe.push({label:"Download Template ",handleAction:e=>(async e=>{const t=await g.getExcelTemplateGenerateTemplate({"x-token":$,resource:e});if(t){const i=await t.blob(),l=document.createElement("a"),r=window.URL.createObjectURL(i);l.href=r,l.download=`${e}.xlsx`,document.body.appendChild(l),l.click(),document.body.removeChild(l),window.URL.revokeObjectURL(r)}})(e),icon:/* @__PURE__ */e.jsx(A.DocumentDownload,{fontSize:"small"})},{label:"Import Template",handleAction:e=>{Be(!0)},icon:/* @__PURE__ */e.jsx(Q.Import,{fontSize:"small"})});const Ye=t=>{var l,r;t={...t,field:null==(l=t.field)?void 0:l.replace("__replaceKey","")};let a=(null==(r=Oe.find(e=>e.key===t.field))?void 0:r.label)||t.field;a=q.formatLabel(null==a?void 0:a.replace("_id"," "));const n=g.getOperatorLabel(t,Oe);let s=t.value;return Array.isArray(t.value)&&(t.value=t.value.map(e=>q.formatLabel("object"==typeof e?e.label:e)),s=t.value.join(", ")),/* @__PURE__ */e.jsxs(D.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[
2
2
  /* @__PURE__ */e.jsx(i.Typography,{type:"s5",color:"theme.secondary.800",weight:"medium",children:a}),
3
3
  /* @__PURE__ */e.jsx(L.default,{orientation:"vertical",flexItem:!0}),
4
4
  /* @__PURE__ */e.jsxs(i.Typography,{type:"s5",color:"theme.primary.800",weight:"medium",children:[q.default(n)," ",s]})]})},Ze=(t,i)=>/* @__PURE__ */e.jsx(S.default,{label:Ye(t),variant:"outlined",active:!0,sx:({palette:e})=>({backgroundColor:"grey.200",borderColor:`${e.grey[300]} !important`,opacity:.8,"&:hover":{backgroundColor:`${e.grey[200]} !important`},flexDirection:"row-reverse",alignItems:"center",gap:.75,cursor:"unset"}),deleteIcon:/* @__PURE__ */e.jsx(z.default,{sx:{fontSize:"1rem !important",color:"#919294 !important",marginRight:"auto !important",marginLeft:"0 !important","&:hover":{color:"inherit !important"}}}),onDelete:()=>et(i),clickable:!1}),et=e=>{const t=$e.rules.filter((t,i)=>i!==e),i={...$e,rules:t},l=g.generateQueryString(i);Ve({filters:i,filterQueryString:l})},[tt,it]=s.useState(null);return s.useEffect(()=>{(null==Ue?void 0:Ue.search)&&Le(null==Ue?void 0:Ue.search)},[null==Ue?void 0:Ue.search]),s.useEffect(()=>{ze&&(null==Z||Z(ze),Ve({search:ze}))},[ze]),/* @__PURE__ */e.jsxs("div",{children:[
@@ -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\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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"}
@@ -38,7 +38,7 @@ import DialogContent from "../../../node_modules/@mui/material/DialogContent/Dia
38
38
  import Alert from "../../../node_modules/@mui/material/Alert/Alert/index.esm.js";
39
39
  import DialogActions from "../../../node_modules/@mui/material/DialogActions/DialogActions/index.esm.js";
40
40
  import { Trash } from "../../icons/trash/index.esm.js";
41
- setBaseUrl(`${"http://127.0.0.1:4011"}/system-feature`);
41
+ setBaseUrl(`${"https://apidev.erpforce.co"}/system-feature`);
42
42
  const initialQuery = { combinator: "and", rules: [] };
43
43
  const Filter = ({
44
44
  open,
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\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 { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields,setActivePage } = usePages()\n\n fields = schemaFields.length ? generateFields(schemaFields) : fields\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const {isRtl}=useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear:boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if(isInvalid){\n setErrorMessage(\"Invalid filter\")\n return\n }\n if(clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n \n\n // Always set the query, regardless of validity\n setQuery({...q, rules: updatedRules});\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else{\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n\t\t\tif(error instanceof Error) {\n m = getErrorMessage(error.message)\n\t\t\t}\n\t\t\tenqueueSnackbar(m, {variant: 'error'})\n\t\t\treturn false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if(selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n \n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters:{\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n \n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", {variant:'error'}));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n \n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if(!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques:string[]=[]\n rule?.rules?.forEach((r: any) => {\n if(uniques.includes(r.field)&& rule.combinator=='and'){\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n \n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n \n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog \n open={open} \n onClose={onClose} \n maxWidth='md' \n fullWidth={true} \n PaperProps={{\n sx:{ borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) =>{\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'}/>\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\"/>\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px:1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl?'remove-filters_rtl':'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent:selectedFilter ? 'space-between' : 'flex-end', width:'100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}> \n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{display: 'flex', gap:1}}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["selectedFilter"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\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 { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields,setActivePage } = usePages()\n\n fields = schemaFields.length ? generateFields(schemaFields) : fields\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const {isRtl}=useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear:boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if(isInvalid){\n setErrorMessage(\"Invalid filter\")\n return\n }\n if(clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n \n\n // Always set the query, regardless of validity\n setQuery({...q, rules: updatedRules});\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else{\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n\t\t\tif(error instanceof Error) {\n m = getErrorMessage(error.message)\n\t\t\t}\n\t\t\tenqueueSnackbar(m, {variant: 'error'})\n\t\t\treturn false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if(selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n \n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters:{\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n \n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", {variant:'error'}));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n \n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if(!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques:string[]=[]\n rule?.rules?.forEach((r: any) => {\n if(uniques.includes(r.field)&& rule.combinator=='and'){\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n \n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n \n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog \n open={open} \n onClose={onClose} \n maxWidth='md' \n fullWidth={true} \n PaperProps={{\n sx:{ borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) =>{\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'}/>\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\"/>\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px:1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl?'remove-filters_rtl':'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent:selectedFilter ? 'space-between' : 'flex-end', width:'100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}> \n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{display: 'flex', gap:1}}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["selectedFilter"],"mappings":"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"}