@solidxai/core-ui 0.1.8-beta.4 → 0.1.8-beta.6

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 (87) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +19 -16
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +14 -12
  5. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  6. package/dist/components/auth/SolidForgotPassword.js +1 -1
  7. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  8. package/dist/components/auth/SolidForgotPassword.tsx +1 -0
  9. package/dist/components/common/SolidAdmin.js +1 -1
  10. package/dist/components/common/SolidAdmin.js.map +1 -1
  11. package/dist/components/common/SolidAdmin.tsx +1 -1
  12. package/dist/components/common/solidModuleHome.module.css +1 -2
  13. package/dist/components/core/card/SolidCardView.js +1 -1
  14. package/dist/components/core/card/SolidCardView.js.map +1 -1
  15. package/dist/components/core/card/SolidCardView.tsx +1 -1
  16. package/dist/components/core/chatter/chatter.module.css +3 -3
  17. package/dist/components/core/common/PDFViewer.js +1 -1
  18. package/dist/components/core/common/PDFViewer.js.map +1 -1
  19. package/dist/components/core/common/PDFViewer.tsx +2 -2
  20. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +1 -1
  21. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +3 -4
  22. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -2
  23. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  24. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +2 -2
  25. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -2
  26. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  27. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +2 -2
  28. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js +1 -1
  29. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -1
  30. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +1 -1
  31. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js +1 -1
  32. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -1
  33. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +1 -1
  34. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js +1 -1
  35. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js.map +1 -1
  36. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx +1 -1
  37. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js +1 -1
  38. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js.map +1 -1
  39. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.tsx +1 -1
  40. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  41. package/dist/components/core/form/fields/SolidDateTimeField.js +7 -1
  42. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  43. package/dist/components/core/form/fields/SolidDateTimeField.tsx +7 -1
  44. package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
  45. package/dist/components/core/form/fields/SolidEmailField.js +5 -4
  46. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  47. package/dist/components/core/form/fields/SolidEmailField.tsx +17 -15
  48. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  49. package/dist/components/core/form/fields/SolidIntegerField.js +5 -4
  50. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  51. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -1
  52. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  53. package/dist/components/core/form/fields/SolidShortTextField.js +8 -6
  54. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  55. package/dist/components/core/form/fields/SolidShortTextField.tsx +7 -1
  56. package/dist/components/core/form/fields/solidFields.module.css +0 -3
  57. package/dist/components/core/kanban/SolidKanbanView.js +1 -1
  58. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  59. package/dist/components/core/kanban/SolidKanbanView.tsx +1 -1
  60. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  61. package/dist/components/core/list/SolidListView.js +2 -1
  62. package/dist/components/core/list/SolidListView.js.map +1 -1
  63. package/dist/components/core/list/SolidListView.tsx +2 -1
  64. package/dist/components/core/solid-ai/SolidAiChat.module.css +3 -3
  65. package/dist/components/core/tree/SolidTreeView.js +1 -1
  66. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  67. package/dist/components/core/tree/SolidTreeView.tsx +1 -1
  68. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  69. package/dist/components/shad-cn-ui/SolidDatePicker.js +12 -2
  70. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  71. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +13 -2
  72. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  73. package/dist/components/shad-cn-ui/SolidTabs.js +6 -3
  74. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  75. package/dist/components/shad-cn-ui/SolidTabs.tsx +53 -25
  76. package/dist/resources/globals.css +7 -7
  77. package/dist/resources/images/Background.svg +3 -5
  78. package/dist/resources/images/Navigation/SolidSettinsIcon.svg +3 -5
  79. package/dist/resources/images/errors/error.svg +12 -14
  80. package/dist/resources/shadcn-base.css +43 -39
  81. package/dist/resources/themes/solid-dark-purple/theme.css +23 -33
  82. package/dist/resources/themes/solid-light-purple/theme.css +31 -31
  83. package/dist/routes/SolidLayoutRegistry.d.ts.map +1 -1
  84. package/dist/routes/SolidLayoutRegistry.js +3 -1
  85. package/dist/routes/SolidLayoutRegistry.js.map +1 -1
  86. package/dist/routes/SolidLayoutRegistry.tsx +3 -1
  87. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SolidCardView.js","sourceRoot":"","sources":["../../../../src/components/core/card/SolidCardView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { permissionExpression } from \"../../../helpers/permissions\";\nimport { createSolidEntityApi } from \"../../../redux/api/solidEntityApi\";\nimport { useGetSolidViewLayoutQuery } from \"../../../redux/api/solidViewApi\";\nimport { useLazyCheckIfPermissionExistsQuery } from \"../../../redux/api/userApi\";\nimport qs from \"qs\";\nimport { ChangeEvent, useEffect, useRef, useState } from \"react\";\nimport { SolidLightbox } from \"../../shad-cn-ui/SolidLightbox\";\nimport type { SolidLightboxSlide } from \"../../shad-cn-ui/SolidLightbox\";\nimport { getMediaTypeFromUrl } from \"../../../helpers/mediaType\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { showNavbar, toggleNavbar } from \"../../../redux/features/navbarSlice\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { SolidHeaderRequestStatus } from \"../../common/SolidHeaderRequestStatus\";\nimport { SolidCreateButton } from \"../common/SolidCreateButton\";\nimport { SolidGlobalSearchElement } from \"../common/SolidGlobalSearchElement\";\nimport { SolidEmptyListViewPlaceholder } from \"../list/SolidEmptyListViewPlaceholder\";\nimport { getFilterObjectFromLocalStorage, setFilterObjectToLocalStorage } from \"../list/SolidListView\";\nimport { normalizeSolidListTreeKanbanActionPath } from \"../../../helpers/routePaths\";\nimport { SolidCardViewConfigure } from \"./SolidCardViewConfigure\";\nimport { CardGrid } from \"./CardGrid\";\nimport { CardUserViewLayout } from \"./CardUserViewLayout\";\nimport {\n SolidButton,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\ntype SolidCardViewParams = {\n moduleName: string;\n modelName: string;\n embeded: boolean;\n};\n\nconst deriveCardViewConfig = (solidCardViewMetaData: any) => {\n const solidView = solidCardViewMetaData?.data?.solidView;\n const solidFieldsMetadata = solidCardViewMetaData?.data?.solidFieldsMetadata || {};\n const layoutAttrs = solidView?.layout?.attrs || {};\n const toPopulate: string[] = [];\n const toPopulateMedia: string[] = [];\n\n const findCardNode = (nodes: any[] = []): any => {\n for (const node of nodes) {\n if (!node) continue;\n if (node.type === \"card\") return node;\n if (Array.isArray(node.children) && node.children.length > 0) {\n const nestedCard = findCardNode(node.children);\n if (nestedCard) return nestedCard;\n }\n }\n\n return null;\n };\n\n const extractFields = (nodes: any, result: any[] = []) => {\n if (!nodes) return result;\n\n if (Array.isArray(nodes)) {\n nodes.forEach((node: any) => extractFields(node, result));\n return result;\n }\n\n if (nodes.type === \"field\") {\n result.push(nodes);\n }\n if (Array.isArray(nodes.children)) {\n nodes.children.forEach((child: any) => extractFields(child, result));\n }\n return result;\n };\n\n const cardNode = findCardNode(solidView?.layout?.children || []);\n const fieldSource = cardNode?.children?.length ? cardNode.children : solidView?.layout?.children || [];\n const layoutFields = extractFields(fieldSource);\n layoutFields.forEach((column: any) => {\n const fieldMetadata = solidFieldsMetadata[column?.attrs?.name];\n if (!fieldMetadata) return;\n\n if (fieldMetadata.type === \"relation\") {\n toPopulate.push(fieldMetadata.name);\n }\n if (fieldMetadata.type === \"mediaSingle\" || fieldMetadata.type === \"mediaMultiple\") {\n toPopulateMedia.push(fieldMetadata.name);\n }\n });\n\n return {\n rows: layoutAttrs.pageSize || 24,\n pageSizeOptions: layoutAttrs.pageSizeOptions || [12, 24, 48],\n toPopulate,\n toPopulateMedia,\n };\n};\n\nexport const SolidCardView = (params: SolidCardViewParams) => {\n const visibleNavbar = useSelector((state: any) => state.navbarState?.visibleNavbar);\n const dispatch = useDispatch();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const solidGlobalSearchElementRef = useRef<any>();\n\n const [actionsAllowed, setActionsAllowed] = useState<string[]>([]);\n const [showGlobalSearchElement, setShowGlobalSearchElement] = useState(false);\n const [viewModes, setViewModes] = useState<any[]>([]);\n const [filters, setFilters] = useState<any>({ $and: [] });\n const [cards, setCards] = useState<any[]>([]);\n const [toPopulate, setToPopulate] = useState<string[]>([]);\n const [toPopulateMedia, setToPopulateMedia] = useState<string[]>([]);\n const [rows, setRows] = useState(24);\n const [rowsPerPageOptions, setRowsPerPageOptions] = useState<any[]>([12, 24, 48]);\n const [first, setFirst] = useState(0);\n const [totalRecords, setTotalRecords] = useState(0);\n const [loading, setLoading] = useState(true);\n const [showSaveFilterPopup, setShowSaveFilterPopup] = useState(false);\n const [createButtonUrl, setCreateButtonUrl] = useState<string>();\n const [editButtonUrl, setEditButtonUrl] = useState<string>();\n const [createActionQueryParams, setCreateActionQueryParams] = useState<Record<string, string>>({});\n const [openLightbox, setOpenLightbox] = useState(false);\n const [lightboxUrls, setLightboxUrls] = useState<any[]>([]);\n const [isLayoutDialogVisible, setLayoutDialogVisible] = useState(false);\n const [queryDataLoaded, setQueryDataLoaded] = useState(false);\n const [solidCardViewMetaData, setSolidCardViewMetaData] = useState<any>();\n const [triggerCheckIfPermissionExists] = useLazyCheckIfPermissionExistsQuery();\n\n const lightboxSlides: SolidLightboxSlide[] = Array.isArray(lightboxUrls)\n ? lightboxUrls\n .map((item: any) => {\n const src = item?.src || item?.downloadUrl || \"\";\n if (!src) {\n return null;\n }\n const mediaType = getMediaTypeFromUrl(src);\n const slide: SolidLightboxSlide = { src };\n if (mediaType !== \"image\") {\n slide.type = mediaType;\n }\n return slide;\n })\n .filter((slide): slide is SolidLightboxSlide => !!slide)\n : [];\n\n const entityApi = createSolidEntityApi(params.modelName);\n const { useLazyGetSolidEntitiesQuery } = entityApi;\n const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();\n\n const menuItemId = searchParams.get(\"menuItemId\");\n const menuItemName = searchParams.get(\"menuItemName\");\n const actionId = searchParams.get(\"actionId\");\n const actionName = searchParams.get(\"actionName\");\n\n const cardViewMetaDataQs = qs.stringify(\n {\n modelName: params.modelName,\n moduleName: params.moduleName,\n viewType: \"card\",\n menuItemId,\n menuItemName,\n actionId,\n actionName,\n },\n {\n encodeValuesOnly: true,\n }\n );\n\n const { data: solidCardViewMetaDataResponse } = useGetSolidViewLayoutQuery(cardViewMetaDataQs);\n\n const editBaseUrl = normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || \"form\");\n const rowsOptions = rowsPerPageOptions && rowsPerPageOptions.length > 0 ? rowsPerPageOptions : [12, 24, 48];\n const paginationStart = totalRecords === 0 ? 0 : first + 1;\n const paginationEnd = Math.min(first + rows, totalRecords);\n const totalPages = rows > 0 ? Math.max(1, Math.ceil(totalRecords / rows)) : 1;\n const currentPage = rows > 0 ? Math.floor(first / rows) + 1 : 1;\n const paginationReport = `${paginationStart} - ${paginationEnd} of ${totalRecords}`;\n const canGoPrev = currentPage > 1;\n const canGoNext = currentPage < totalPages;\n\n const handleRowsChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const nextRows = Number(event.target.value);\n setRows(nextRows);\n setFirst(0);\n };\n\n const handlePrevPage = () => {\n if (!canGoPrev) return;\n setFirst(Math.max(0, first - rows));\n };\n\n const handleNextPage = () => {\n if (!canGoNext) return;\n setFirst(Math.min((totalPages - 1) * rows, first + rows));\n };\n\n useEffect(() => {\n const fetchPermissions = async () => {\n if (!params.modelName) return;\n\n const permissionNames = [\n permissionExpression(params.modelName, \"create\"),\n permissionExpression(params.modelName, \"update\"),\n permissionExpression(params.modelName, \"findMany\"),\n permissionExpression(\"importTransaction\", \"create\"),\n permissionExpression(\"exportTransaction\", \"create\"),\n permissionExpression(\"userViewMetadata\", \"create\"),\n permissionExpression(\"savedFilters\", \"create\"),\n ];\n\n const queryString = qs.stringify(\n { permissionNames },\n { encodeValuesOnly: true }\n );\n const response = await triggerCheckIfPermissionExists(queryString);\n setActionsAllowed(response.data?.data || []);\n };\n\n fetchPermissions();\n }, [params.modelName]);\n\n useEffect(() => {\n if (!solidCardViewMetaDataResponse) return;\n\n setSolidCardViewMetaData(solidCardViewMetaDataResponse);\n setViewModes(solidCardViewMetaDataResponse?.data?.viewModes || []);\n\n const { rows, pageSizeOptions, toPopulate, toPopulateMedia } = deriveCardViewConfig(solidCardViewMetaDataResponse);\n const persistedFilterObject = typeof window !== \"undefined\" ? getFilterObjectFromLocalStorage() : null;\n const restoredFilter = { $and: [] as any[] };\n\n if (persistedFilterObject?.custom_filter_predicate) {\n restoredFilter.$and.push(persistedFilterObject.custom_filter_predicate);\n }\n if (persistedFilterObject?.search_predicate) {\n restoredFilter.$and.push(persistedFilterObject.search_predicate);\n }\n if (persistedFilterObject?.saved_filter_predicate) {\n restoredFilter.$and.push(persistedFilterObject.saved_filter_predicate);\n }\n if (persistedFilterObject?.predefined_search_predicate) {\n restoredFilter.$and.push(persistedFilterObject.predefined_search_predicate);\n }\n\n setRows(Number(persistedFilterObject?.limit) || rows);\n setRowsPerPageOptions(pageSizeOptions);\n setFirst(Number(persistedFilterObject?.offset) || 0);\n setToPopulate(toPopulate);\n setToPopulateMedia(toPopulateMedia);\n setFilters(restoredFilter.$and.length > 0 ? restoredFilter : { $and: [] });\n setQueryDataLoaded(true);\n\n const layoutAttrs = solidCardViewMetaDataResponse?.data?.solidView?.layout?.attrs;\n const createActionUrl = layoutAttrs?.createAction && layoutAttrs?.createAction?.type === \"custom\"\n ? layoutAttrs?.createAction?.customComponent\n : \"form/new\";\n const editActionUrl = layoutAttrs?.editAction && layoutAttrs?.editAction?.type === \"custom\"\n ? layoutAttrs?.editAction?.customComponent\n : \"form\";\n\n if (layoutAttrs?.createAction) {\n setCreateActionQueryParams({\n actionName: layoutAttrs.createAction.name,\n actionType: layoutAttrs.createAction.type,\n actionContext: layoutAttrs.createAction.context,\n });\n }\n\n setCreateButtonUrl(createActionUrl);\n setEditButtonUrl(editActionUrl);\n }, [solidCardViewMetaDataResponse]);\n\n useEffect(() => {\n const fetchCards = async () => {\n if (!queryDataLoaded || !solidCardViewMetaDataResponse) return;\n\n setLoading(true);\n\n const queryData = {\n offset: first,\n limit: rows,\n populate: toPopulate,\n populateMedia: toPopulateMedia,\n filters,\n };\n\n try {\n const data: any = await triggerGetSolidEntities(\n qs.stringify(queryData, { encodeValuesOnly: true })\n ).unwrap();\n\n setCards(data?.records || []);\n setTotalRecords(data?.meta?.totalRecords || 0);\n } finally {\n setLoading(false);\n }\n };\n\n fetchCards();\n }, [queryDataLoaded, first, rows, toPopulate, toPopulateMedia, filters, solidCardViewMetaDataResponse]);\n\n const handleApplyCustomFilter = async (filterPredicates: any) => {\n const updatedFilter = { $and: [] as any[] };\n\n if (filterPredicates.custom_filter_predicate) {\n updatedFilter.$and.push(filterPredicates.custom_filter_predicate);\n }\n if (filterPredicates.search_predicate) {\n updatedFilter.$and.push(filterPredicates.search_predicate);\n }\n if (filterPredicates.saved_filter_predicate) {\n updatedFilter.$and.push(filterPredicates.saved_filter_predicate);\n }\n if (filterPredicates.predefined_search_predicate) {\n updatedFilter.$and.push(filterPredicates.predefined_search_predicate);\n }\n\n setFirst(0);\n setFilters(updatedFilter);\n setFilterObjectToLocalStorage({\n offset: 0,\n limit: rows,\n custom_filter_predicate: filterPredicates.custom_filter_predicate || {},\n search_predicate: filterPredicates.search_predicate || {},\n saved_filter_predicate: filterPredicates.saved_filter_predicate || {},\n predefined_search_predicate: filterPredicates.predefined_search_predicate || {},\n });\n };\n\n const handleFetchUpdatedRecords = () => {\n setQueryDataLoaded((current) => !current);\n };\n\n const toggleBothSidebars = () => {\n if (visibleNavbar) {\n dispatch(toggleNavbar());\n } else {\n dispatch(showNavbar());\n }\n };\n\n const cardViewTitle = solidCardViewMetaDataResponse?.data?.solidView?.displayName;\n const enableGlobalSearch = solidCardViewMetaDataResponse?.data?.solidView?.layout?.attrs?.enableGlobalSearch === true;\n const showEmptyState = !loading && cards.length === 0;\n const headerRequestStatusLabel = loading || !queryDataLoaded ? \"Loading...\" : null;\n\n return (\n <div className=\"page-parent-wrapper solid-list-page-wrapper flex h-full min-h-0 overflow-hidden\">\n <div className=\"solid-list-content h-full flex flex-column flex-grow-1\">\n <div className=\"solid-list-surface solid-card-surface flex flex-column flex-1 min-h-0\">\n <div className=\"page-header solid-list-toolbar solid-card-toolbar flex-column lg:flex-row\">\n <div className=\"flex justify-content-between w-full solid-list-toolbar-row\">\n <div className=\"flex gap-3 align-items-center w-full solid-list-toolbar-left\">\n {params.embeded !== true && (\n <div className=\"apps-icon block md:hidden cursor-pointer\" onClick={toggleBothSidebars}>\n <SolidIcon name=\"si-th-large\" aria-hidden />\n </div>\n )}\n <p className=\"m-0 view-title solid-text-wrapper\">{cardViewTitle}</p>\n {enableGlobalSearch && (\n <div className=\"hidden lg:flex\">\n <SolidGlobalSearchElement\n viewType=\"card\"\n showSaveFilterPopup={showSaveFilterPopup}\n setShowSaveFilterPopup={setShowSaveFilterPopup}\n ref={solidGlobalSearchElementRef}\n viewData={solidCardViewMetaDataResponse}\n handleApplyCustomFilter={handleApplyCustomFilter}\n />\n </div>\n )}\n </div>\n\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-list-toolbar-actions\">\n <SolidHeaderRequestStatus label={headerRequestStatusLabel} />\n {enableGlobalSearch && (\n <div className=\"flex lg:hidden\">\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={() => setShowGlobalSearchElement(!showGlobalSearchElement)}\n aria-label=\"Toggle search\"\n leftIcon={<SolidIcon name=\"si-search\" aria-hidden />}\n />\n </div>\n )}\n\n {actionsAllowed.includes(`${permissionExpression(params.modelName, \"create\")}`) &&\n solidCardViewMetaDataResponse?.data?.solidView?.layout?.attrs?.create !== false && (\n <SolidCreateButton\n createButtonUrl={createButtonUrl}\n createActionQueryParams={createActionQueryParams}\n responsiveIconOnly={true}\n />\n )}\n\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={() => handleFetchUpdatedRecords()}\n aria-label=\"Refresh cards\"\n leftIcon={<SolidIcon name=\"si-refresh\" aria-hidden />}\n />\n\n <SolidCardViewConfigure\n solidCardViewMetaData={solidCardViewMetaDataResponse}\n modelName={params.modelName}\n actionsAllowed={actionsAllowed}\n viewModes={viewModes}\n setLayoutDialogVisible={setLayoutDialogVisible}\n setShowSaveFilterPopup={setShowSaveFilterPopup}\n filters={filters}\n handleRefreshView={handleFetchUpdatedRecords}\n />\n </div>\n </div>\n\n {enableGlobalSearch && showGlobalSearchElement && (\n <div className=\"flex lg:hidden\">\n <SolidGlobalSearchElement\n viewType=\"card\"\n showSaveFilterPopup={showSaveFilterPopup}\n setShowSaveFilterPopup={setShowSaveFilterPopup}\n ref={solidGlobalSearchElementRef}\n viewData={solidCardViewMetaDataResponse}\n handleApplyCustomFilter={handleApplyCustomFilter}\n />\n </div>\n )}\n </div>\n\n <div className=\"solid-card-view-content\">\n <div className=\"solid-card-view-body\">\n {showEmptyState ? (\n <SolidEmptyListViewPlaceholder\n createButtonUrl={createButtonUrl}\n createActionQueryParams={createActionQueryParams}\n actionsAllowed={actionsAllowed}\n params={params}\n solidListViewMetaData={solidCardViewMetaDataResponse}\n handleFetchUpdatedRecords={handleFetchUpdatedRecords}\n />\n ) : (\n <CardGrid\n records={cards}\n solidCardViewMetaData={solidCardViewMetaDataResponse?.data}\n editButtonUrl={editBaseUrl}\n setLightboxUrls={setLightboxUrls}\n setOpenLightbox={setOpenLightbox}\n />\n )}\n </div>\n\n {totalRecords > 0 && (\n <div className=\"solid-card-view-pagination\">\n <div className=\"solid-card-view-pagination-bar solid-table-paginator flex items-center justify-center gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background\">\n <div className=\"solid-paginator-meta flex items-center gap-2\">\n <span className=\"solid-paginator-label\">Records</span>\n <select\n value={rows}\n onChange={handleRowsChange}\n className=\"solid-paginator-select\"\n >\n {rowsOptions.map((option) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n <span className=\"solid-paginator-report\">{paginationReport}</span>\n </div>\n <div className=\"solid-paginator-actions flex items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={handlePrevPage}\n disabled={!canGoPrev}\n >\n Previous\n </button>\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={handleNextPage}\n disabled={!canGoNext}\n >\n Next\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n\n {openLightbox && (\n <SolidLightbox\n open={openLightbox}\n slides={lightboxSlides}\n onClose={() => setOpenLightbox(false)}\n />\n )}\n\n <SolidDialog\n open={isLayoutDialogVisible}\n onOpenChange={setLayoutDialogVisible}\n className=\"solid-kanban-layout-dialog\"\n style={{ width: \"min(800px, calc(100vw - 32px))\" }}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Change Card Layout</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator />\n <SolidDialogBody className=\"solid-kanban-layout-dialog-body\">\n <CardUserViewLayout solidCardViewMetaData={solidCardViewMetaDataResponse} setLayoutDialogVisible={setLayoutDialogVisible} />\n </SolidDialogBody>\n </SolidDialog>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidCardView.js","sourceRoot":"","sources":["../../../../src/components/core/card/SolidCardView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { permissionExpression } from \"../../../helpers/permissions\";\nimport { createSolidEntityApi } from \"../../../redux/api/solidEntityApi\";\nimport { useGetSolidViewLayoutQuery } from \"../../../redux/api/solidViewApi\";\nimport { useLazyCheckIfPermissionExistsQuery } from \"../../../redux/api/userApi\";\nimport qs from \"qs\";\nimport { ChangeEvent, useEffect, useRef, useState } from \"react\";\nimport { SolidLightbox } from \"../../shad-cn-ui/SolidLightbox\";\nimport type { SolidLightboxSlide } from \"../../shad-cn-ui/SolidLightbox\";\nimport { getMediaTypeFromUrl } from \"../../../helpers/mediaType\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { showNavbar, toggleNavbar } from \"../../../redux/features/navbarSlice\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { SolidHeaderRequestStatus } from \"../../common/SolidHeaderRequestStatus\";\nimport { SolidCreateButton } from \"../common/SolidCreateButton\";\nimport { SolidGlobalSearchElement } from \"../common/SolidGlobalSearchElement\";\nimport { SolidEmptyListViewPlaceholder } from \"../list/SolidEmptyListViewPlaceholder\";\nimport { getFilterObjectFromLocalStorage, setFilterObjectToLocalStorage } from \"../list/SolidListView\";\nimport { normalizeSolidListTreeKanbanActionPath } from \"../../../helpers/routePaths\";\nimport { SolidCardViewConfigure } from \"./SolidCardViewConfigure\";\nimport { CardGrid } from \"./CardGrid\";\nimport { CardUserViewLayout } from \"./CardUserViewLayout\";\nimport {\n SolidButton,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\ntype SolidCardViewParams = {\n moduleName: string;\n modelName: string;\n embeded: boolean;\n};\n\nconst deriveCardViewConfig = (solidCardViewMetaData: any) => {\n const solidView = solidCardViewMetaData?.data?.solidView;\n const solidFieldsMetadata = solidCardViewMetaData?.data?.solidFieldsMetadata || {};\n const layoutAttrs = solidView?.layout?.attrs || {};\n const toPopulate: string[] = [];\n const toPopulateMedia: string[] = [];\n\n const findCardNode = (nodes: any[] = []): any => {\n for (const node of nodes) {\n if (!node) continue;\n if (node.type === \"card\") return node;\n if (Array.isArray(node.children) && node.children.length > 0) {\n const nestedCard = findCardNode(node.children);\n if (nestedCard) return nestedCard;\n }\n }\n\n return null;\n };\n\n const extractFields = (nodes: any, result: any[] = []) => {\n if (!nodes) return result;\n\n if (Array.isArray(nodes)) {\n nodes.forEach((node: any) => extractFields(node, result));\n return result;\n }\n\n if (nodes.type === \"field\") {\n result.push(nodes);\n }\n if (Array.isArray(nodes.children)) {\n nodes.children.forEach((child: any) => extractFields(child, result));\n }\n return result;\n };\n\n const cardNode = findCardNode(solidView?.layout?.children || []);\n const fieldSource = cardNode?.children?.length ? cardNode.children : solidView?.layout?.children || [];\n const layoutFields = extractFields(fieldSource);\n layoutFields.forEach((column: any) => {\n const fieldMetadata = solidFieldsMetadata[column?.attrs?.name];\n if (!fieldMetadata) return;\n\n if (fieldMetadata.type === \"relation\") {\n toPopulate.push(fieldMetadata.name);\n }\n if (fieldMetadata.type === \"mediaSingle\" || fieldMetadata.type === \"mediaMultiple\") {\n toPopulateMedia.push(fieldMetadata.name);\n }\n });\n\n return {\n rows: layoutAttrs.pageSize || 24,\n pageSizeOptions: layoutAttrs.pageSizeOptions || [12, 24, 48],\n toPopulate,\n toPopulateMedia,\n };\n};\n\nexport const SolidCardView = (params: SolidCardViewParams) => {\n const visibleNavbar = useSelector((state: any) => state.navbarState?.visibleNavbar);\n const dispatch = useDispatch();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const solidGlobalSearchElementRef = useRef<any>();\n\n const [actionsAllowed, setActionsAllowed] = useState<string[]>([]);\n const [showGlobalSearchElement, setShowGlobalSearchElement] = useState(false);\n const [viewModes, setViewModes] = useState<any[]>([]);\n const [filters, setFilters] = useState<any>({ $and: [] });\n const [cards, setCards] = useState<any[]>([]);\n const [toPopulate, setToPopulate] = useState<string[]>([]);\n const [toPopulateMedia, setToPopulateMedia] = useState<string[]>([]);\n const [rows, setRows] = useState(24);\n const [rowsPerPageOptions, setRowsPerPageOptions] = useState<any[]>([12, 24, 48]);\n const [first, setFirst] = useState(0);\n const [totalRecords, setTotalRecords] = useState(0);\n const [loading, setLoading] = useState(true);\n const [showSaveFilterPopup, setShowSaveFilterPopup] = useState(false);\n const [createButtonUrl, setCreateButtonUrl] = useState<string>();\n const [editButtonUrl, setEditButtonUrl] = useState<string>();\n const [createActionQueryParams, setCreateActionQueryParams] = useState<Record<string, string>>({});\n const [openLightbox, setOpenLightbox] = useState(false);\n const [lightboxUrls, setLightboxUrls] = useState<any[]>([]);\n const [isLayoutDialogVisible, setLayoutDialogVisible] = useState(false);\n const [queryDataLoaded, setQueryDataLoaded] = useState(false);\n const [solidCardViewMetaData, setSolidCardViewMetaData] = useState<any>();\n const [triggerCheckIfPermissionExists] = useLazyCheckIfPermissionExistsQuery();\n\n const lightboxSlides: SolidLightboxSlide[] = Array.isArray(lightboxUrls)\n ? lightboxUrls\n .map((item: any) => {\n const src = item?.src || item?.downloadUrl || \"\";\n if (!src) {\n return null;\n }\n const mediaType = getMediaTypeFromUrl(src);\n const slide: SolidLightboxSlide = { src };\n if (mediaType !== \"image\") {\n slide.type = mediaType;\n }\n return slide;\n })\n .filter((slide): slide is SolidLightboxSlide => !!slide)\n : [];\n\n const entityApi = createSolidEntityApi(params.modelName);\n const { useLazyGetSolidEntitiesQuery } = entityApi;\n const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();\n\n const menuItemId = searchParams.get(\"menuItemId\");\n const menuItemName = searchParams.get(\"menuItemName\");\n const actionId = searchParams.get(\"actionId\");\n const actionName = searchParams.get(\"actionName\");\n\n const cardViewMetaDataQs = qs.stringify(\n {\n modelName: params.modelName,\n moduleName: params.moduleName,\n viewType: \"card\",\n menuItemId,\n menuItemName,\n actionId,\n actionName,\n },\n {\n encodeValuesOnly: true,\n }\n );\n\n const { data: solidCardViewMetaDataResponse } = useGetSolidViewLayoutQuery(cardViewMetaDataQs);\n\n const editBaseUrl = normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || \"form\");\n const rowsOptions = rowsPerPageOptions && rowsPerPageOptions.length > 0 ? rowsPerPageOptions : [12, 24, 48];\n const paginationStart = totalRecords === 0 ? 0 : first + 1;\n const paginationEnd = Math.min(first + rows, totalRecords);\n const totalPages = rows > 0 ? Math.max(1, Math.ceil(totalRecords / rows)) : 1;\n const currentPage = rows > 0 ? Math.floor(first / rows) + 1 : 1;\n const paginationReport = `${paginationStart} - ${paginationEnd} of ${totalRecords}`;\n const canGoPrev = currentPage > 1;\n const canGoNext = currentPage < totalPages;\n\n const handleRowsChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const nextRows = Number(event.target.value);\n setRows(nextRows);\n setFirst(0);\n };\n\n const handlePrevPage = () => {\n if (!canGoPrev) return;\n setFirst(Math.max(0, first - rows));\n };\n\n const handleNextPage = () => {\n if (!canGoNext) return;\n setFirst(Math.min((totalPages - 1) * rows, first + rows));\n };\n\n useEffect(() => {\n const fetchPermissions = async () => {\n if (!params.modelName) return;\n\n const permissionNames = [\n permissionExpression(params.modelName, \"create\"),\n permissionExpression(params.modelName, \"update\"),\n permissionExpression(params.modelName, \"findMany\"),\n permissionExpression(\"importTransaction\", \"create\"),\n permissionExpression(\"exportTransaction\", \"create\"),\n permissionExpression(\"userViewMetadata\", \"create\"),\n permissionExpression(\"savedFilters\", \"create\"),\n ];\n\n const queryString = qs.stringify(\n { permissionNames },\n { encodeValuesOnly: true }\n );\n const response = await triggerCheckIfPermissionExists(queryString);\n setActionsAllowed(response.data?.data || []);\n };\n\n fetchPermissions();\n }, [params.modelName]);\n\n useEffect(() => {\n if (!solidCardViewMetaDataResponse) return;\n\n setSolidCardViewMetaData(solidCardViewMetaDataResponse);\n setViewModes(solidCardViewMetaDataResponse?.data?.viewModes || []);\n\n const { rows, pageSizeOptions, toPopulate, toPopulateMedia } = deriveCardViewConfig(solidCardViewMetaDataResponse);\n const persistedFilterObject = typeof window !== \"undefined\" ? getFilterObjectFromLocalStorage() : null;\n const restoredFilter = { $and: [] as any[] };\n\n if (persistedFilterObject?.custom_filter_predicate) {\n restoredFilter.$and.push(persistedFilterObject.custom_filter_predicate);\n }\n if (persistedFilterObject?.search_predicate) {\n restoredFilter.$and.push(persistedFilterObject.search_predicate);\n }\n if (persistedFilterObject?.saved_filter_predicate) {\n restoredFilter.$and.push(persistedFilterObject.saved_filter_predicate);\n }\n if (persistedFilterObject?.predefined_search_predicate) {\n restoredFilter.$and.push(persistedFilterObject.predefined_search_predicate);\n }\n\n setRows(Number(persistedFilterObject?.limit) || rows);\n setRowsPerPageOptions(pageSizeOptions);\n setFirst(Number(persistedFilterObject?.offset) || 0);\n setToPopulate(toPopulate);\n setToPopulateMedia(toPopulateMedia);\n setFilters(restoredFilter.$and.length > 0 ? restoredFilter : { $and: [] });\n setQueryDataLoaded(true);\n\n const layoutAttrs = solidCardViewMetaDataResponse?.data?.solidView?.layout?.attrs;\n const createActionUrl = layoutAttrs?.createAction && layoutAttrs?.createAction?.type === \"custom\"\n ? layoutAttrs?.createAction?.customComponent\n : \"form/new\";\n const editActionUrl = layoutAttrs?.editAction && layoutAttrs?.editAction?.type === \"custom\"\n ? layoutAttrs?.editAction?.customComponent\n : \"form\";\n\n if (layoutAttrs?.createAction) {\n setCreateActionQueryParams({\n actionName: layoutAttrs.createAction.name,\n actionType: layoutAttrs.createAction.type,\n actionContext: layoutAttrs.createAction.context,\n });\n }\n\n setCreateButtonUrl(createActionUrl);\n setEditButtonUrl(editActionUrl);\n }, [solidCardViewMetaDataResponse]);\n\n useEffect(() => {\n const fetchCards = async () => {\n if (!queryDataLoaded || !solidCardViewMetaDataResponse) return;\n\n setLoading(true);\n\n const queryData = {\n offset: first,\n limit: rows,\n populate: toPopulate,\n populateMedia: toPopulateMedia,\n filters,\n };\n\n try {\n const data: any = await triggerGetSolidEntities(\n qs.stringify(queryData, { encodeValuesOnly: true })\n ).unwrap();\n\n setCards(data?.records || []);\n setTotalRecords(data?.meta?.totalRecords || 0);\n } finally {\n setLoading(false);\n }\n };\n\n fetchCards();\n }, [queryDataLoaded, first, rows, toPopulate, toPopulateMedia, filters, solidCardViewMetaDataResponse]);\n\n const handleApplyCustomFilter = async (filterPredicates: any) => {\n const updatedFilter = { $and: [] as any[] };\n\n if (filterPredicates.custom_filter_predicate) {\n updatedFilter.$and.push(filterPredicates.custom_filter_predicate);\n }\n if (filterPredicates.search_predicate) {\n updatedFilter.$and.push(filterPredicates.search_predicate);\n }\n if (filterPredicates.saved_filter_predicate) {\n updatedFilter.$and.push(filterPredicates.saved_filter_predicate);\n }\n if (filterPredicates.predefined_search_predicate) {\n updatedFilter.$and.push(filterPredicates.predefined_search_predicate);\n }\n\n setFirst(0);\n setFilters(updatedFilter);\n setFilterObjectToLocalStorage({\n offset: 0,\n limit: rows,\n custom_filter_predicate: filterPredicates.custom_filter_predicate || {},\n search_predicate: filterPredicates.search_predicate || {},\n saved_filter_predicate: filterPredicates.saved_filter_predicate || {},\n predefined_search_predicate: filterPredicates.predefined_search_predicate || {},\n });\n };\n\n const handleFetchUpdatedRecords = () => {\n setQueryDataLoaded((current) => !current);\n };\n\n const toggleBothSidebars = () => {\n if (visibleNavbar) {\n dispatch(toggleNavbar());\n } else {\n dispatch(showNavbar());\n }\n };\n\n const cardViewTitle = solidCardViewMetaDataResponse?.data?.solidView?.displayName;\n const enableGlobalSearch = solidCardViewMetaDataResponse?.data?.solidView?.layout?.attrs?.enableGlobalSearch === true;\n const showEmptyState = !loading && cards.length === 0;\n const headerRequestStatusLabel = loading || !queryDataLoaded ? \"Loading...\" : null;\n\n return (\n <div className=\"page-parent-wrapper solid-list-page-wrapper flex h-full min-h-0 overflow-hidden\">\n <div className=\"solid-list-content h-full flex flex-column flex-grow-1\">\n <div className=\"solid-list-surface solid-card-surface flex flex-column flex-1 min-h-0\">\n <div className=\"page-header solid-list-toolbar solid-card-toolbar flex-column lg:flex-row\">\n <div className=\"flex justify-content-between w-full\">\n <div className=\"flex gap-3 align-items-center w-full solid-list-toolbar-left\">\n {params.embeded !== true && (\n <div className=\"apps-icon block md:hidden cursor-pointer\" onClick={toggleBothSidebars}>\n <SolidIcon name=\"si-th-large\" aria-hidden />\n </div>\n )}\n <p className=\"m-0 view-title solid-text-wrapper\">{cardViewTitle}</p>\n {enableGlobalSearch && (\n <div className=\"hidden lg:flex\">\n <SolidGlobalSearchElement\n viewType=\"card\"\n showSaveFilterPopup={showSaveFilterPopup}\n setShowSaveFilterPopup={setShowSaveFilterPopup}\n ref={solidGlobalSearchElementRef}\n viewData={solidCardViewMetaDataResponse}\n handleApplyCustomFilter={handleApplyCustomFilter}\n />\n </div>\n )}\n </div>\n\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-list-toolbar-actions\">\n <SolidHeaderRequestStatus label={headerRequestStatusLabel} />\n {enableGlobalSearch && (\n <div className=\"flex lg:hidden\">\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={() => setShowGlobalSearchElement(!showGlobalSearchElement)}\n aria-label=\"Toggle search\"\n leftIcon={<SolidIcon name=\"si-search\" aria-hidden />}\n />\n </div>\n )}\n\n {actionsAllowed.includes(`${permissionExpression(params.modelName, \"create\")}`) &&\n solidCardViewMetaDataResponse?.data?.solidView?.layout?.attrs?.create !== false && (\n <SolidCreateButton\n createButtonUrl={createButtonUrl}\n createActionQueryParams={createActionQueryParams}\n responsiveIconOnly={true}\n />\n )}\n\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={() => handleFetchUpdatedRecords()}\n aria-label=\"Refresh cards\"\n leftIcon={<SolidIcon name=\"si-refresh\" aria-hidden />}\n />\n\n <SolidCardViewConfigure\n solidCardViewMetaData={solidCardViewMetaDataResponse}\n modelName={params.modelName}\n actionsAllowed={actionsAllowed}\n viewModes={viewModes}\n setLayoutDialogVisible={setLayoutDialogVisible}\n setShowSaveFilterPopup={setShowSaveFilterPopup}\n filters={filters}\n handleRefreshView={handleFetchUpdatedRecords}\n />\n </div>\n </div>\n\n {enableGlobalSearch && showGlobalSearchElement && (\n <div className=\"flex lg:hidden\">\n <SolidGlobalSearchElement\n viewType=\"card\"\n showSaveFilterPopup={showSaveFilterPopup}\n setShowSaveFilterPopup={setShowSaveFilterPopup}\n ref={solidGlobalSearchElementRef}\n viewData={solidCardViewMetaDataResponse}\n handleApplyCustomFilter={handleApplyCustomFilter}\n />\n </div>\n )}\n </div>\n\n <div className=\"solid-card-view-content\">\n <div className=\"solid-card-view-body\">\n {showEmptyState ? (\n <SolidEmptyListViewPlaceholder\n createButtonUrl={createButtonUrl}\n createActionQueryParams={createActionQueryParams}\n actionsAllowed={actionsAllowed}\n params={params}\n solidListViewMetaData={solidCardViewMetaDataResponse}\n handleFetchUpdatedRecords={handleFetchUpdatedRecords}\n />\n ) : (\n <CardGrid\n records={cards}\n solidCardViewMetaData={solidCardViewMetaDataResponse?.data}\n editButtonUrl={editBaseUrl}\n setLightboxUrls={setLightboxUrls}\n setOpenLightbox={setOpenLightbox}\n />\n )}\n </div>\n\n {totalRecords > 0 && (\n <div className=\"solid-card-view-pagination\">\n <div className=\"solid-card-view-pagination-bar solid-table-paginator flex items-center justify-center gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background\">\n <div className=\"solid-paginator-meta flex items-center gap-2\">\n <span className=\"solid-paginator-label\">Records</span>\n <select\n value={rows}\n onChange={handleRowsChange}\n className=\"solid-paginator-select\"\n >\n {rowsOptions.map((option) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n <span className=\"solid-paginator-report\">{paginationReport}</span>\n </div>\n <div className=\"solid-paginator-actions flex items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={handlePrevPage}\n disabled={!canGoPrev}\n >\n Previous\n </button>\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={handleNextPage}\n disabled={!canGoNext}\n >\n Next\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n\n {openLightbox && (\n <SolidLightbox\n open={openLightbox}\n slides={lightboxSlides}\n onClose={() => setOpenLightbox(false)}\n />\n )}\n\n <SolidDialog\n open={isLayoutDialogVisible}\n onOpenChange={setLayoutDialogVisible}\n className=\"solid-kanban-layout-dialog\"\n style={{ width: \"min(800px, calc(100vw - 32px))\" }}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Change Card Layout</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator />\n <SolidDialogBody className=\"solid-kanban-layout-dialog-body\">\n <CardUserViewLayout solidCardViewMetaData={solidCardViewMetaDataResponse} setLayoutDialogVisible={setLayoutDialogVisible} />\n </SolidDialogBody>\n </SolidDialog>\n </div>\n );\n};\n"]}
@@ -351,7 +351,7 @@ export const SolidCardView = (params: SolidCardViewParams) => {
351
351
  <div className="solid-list-content h-full flex flex-column flex-grow-1">
352
352
  <div className="solid-list-surface solid-card-surface flex flex-column flex-1 min-h-0">
353
353
  <div className="page-header solid-list-toolbar solid-card-toolbar flex-column lg:flex-row">
354
- <div className="flex justify-content-between w-full solid-list-toolbar-row">
354
+ <div className="flex justify-content-between w-full">
355
355
  <div className="flex gap-3 align-items-center w-full solid-list-toolbar-left">
356
356
  {params.embeded !== true && (
357
357
  <div className="apps-icon block md:hidden cursor-pointer" onClick={toggleBothSidebars}>
@@ -250,9 +250,9 @@
250
250
  }
251
251
 
252
252
  .solidChatterBadge.custom {
253
- color: #2563eb;
254
- border-color: rgba(37, 99, 235, 0.2);
255
- background: rgba(37, 99, 235, 0.08);
253
+ color: #722ED1;
254
+ border-color: rgba(114, 46, 209, 0.2);
255
+ background: rgba(114, 46, 209, 0.08);
256
256
  }
257
257
 
258
258
  :global(.solid-chatter-body) {
@@ -93,6 +93,6 @@ export default function PDFViewer(_a) {
93
93
  if (!url) {
94
94
  return (_jsx("div", { className: "flex items-center justify-center h-96 bg-gray-100 rounded-lg", children: _jsx("p", { className: "text-gray-500", children: "No PDF URL provided" }) }));
95
95
  }
96
- return (_jsxs("div", { className: "flex flex-col items-center space-y-4 p-4", children: [loading && (_jsx("div", { className: "flex items-center justify-center h-96 bg-gray-100 rounded-lg w-full", children: _jsx("p", { className: "text-gray-600", children: "Loading PDF..." }) })), error && (_jsx("div", { className: "flex items-center justify-center h-96 bg-red-50 rounded-lg w-full", children: _jsx("p", { className: "text-red-600", children: error }) })), blobUrl && !loading && !error && (_jsx(Document, { file: blobUrl, onLoadSuccess: onDocumentLoadSuccess, onLoadError: onDocumentLoadError, className: "border border-gray-300 rounded-lg shadow-lg", children: _jsx(Page, { pageNumber: pageNumber, renderTextLayer: true, renderAnnotationLayer: true }) })), numPages && (_jsxs("div", { className: "flex items-center space-x-4 bg-white p-4 rounded-lg shadow-md", children: [_jsx("button", { onClick: goToPrevPage, disabled: pageNumber <= 1, className: "px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-300 disabled:cursor-not-allowed", children: "Previous" }), _jsxs("span", { className: "text-gray-700 font-medium", children: ["Page ", pageNumber, " of ", numPages] }), _jsx("button", { onClick: goToNextPage, disabled: pageNumber >= numPages, className: "px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-300 disabled:cursor-not-allowed", children: "Next" })] }))] }));
96
+ return (_jsxs("div", { className: "flex flex-col items-center space-y-4 p-4", children: [loading && (_jsx("div", { className: "flex items-center justify-center h-96 bg-gray-100 rounded-lg w-full", children: _jsx("p", { className: "text-gray-600", children: "Loading PDF..." }) })), error && (_jsx("div", { className: "flex items-center justify-center h-96 bg-red-50 rounded-lg w-full", children: _jsx("p", { className: "text-red-600", children: error }) })), blobUrl && !loading && !error && (_jsx(Document, { file: blobUrl, onLoadSuccess: onDocumentLoadSuccess, onLoadError: onDocumentLoadError, className: "border border-gray-300 rounded-lg shadow-lg", children: _jsx(Page, { pageNumber: pageNumber, renderTextLayer: true, renderAnnotationLayer: true }) })), numPages && (_jsxs("div", { className: "flex items-center space-x-4 bg-white p-4 rounded-lg shadow-md", children: [_jsx("button", { onClick: goToPrevPage, disabled: pageNumber <= 1, className: "px-4 py-2 bg-primary text-white rounded hover:opacity-90 disabled:bg-gray-300 disabled:cursor-not-allowed", children: "Previous" }), _jsxs("span", { className: "text-gray-700 font-medium", children: ["Page ", pageNumber, " of ", numPages] }), _jsx("button", { onClick: goToNextPage, disabled: pageNumber >= numPages, className: "px-4 py-2 bg-primary text-white rounded hover:opacity-90 disabled:bg-gray-300 disabled:cursor-not-allowed", children: "Next" })] }))] }));
97
97
  }
98
98
  //# sourceMappingURL=PDFViewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PDFViewer.js","sourceRoot":"","sources":["../../../../src/components/core/common/PDFViewer.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { useEffect, useState } from 'react';\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport 'react-pdf/dist/esm/Page/AnnotationLayer.css';\nimport 'react-pdf/dist/esm/Page/TextLayer.css';\n\n// Local worker recommended (avoids CORS)\npdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.js`;\n\nexport default function PDFViewer({ url }: any) {\n const [numPages, setNumPages] = useState<any>(null);\n const [pageNumber, setPageNumber] = useState(1);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<any>(null);\n const [blobUrl, setBlobUrl] = useState<string | null>(null);\n\n // Convert signed URL → Blob → Object URL\n useEffect(() => {\n if (!url) return;\n\n setLoading(true);\n setError(null);\n\n fetch(url)\n .then(async (res) => {\n if (!res.ok) throw new Error(\"Failed to fetch PDF\");\n\n const blob = await res.blob();\n const blobUrl = URL.createObjectURL(blob);\n setBlobUrl(blobUrl);\n setLoading(false);\n })\n .catch((err) => {\n console.error(\"Blob fetch error:\", err);\n setError(\"Failed to load PDF\");\n setLoading(false);\n });\n }, [url]);\n\n function onDocumentLoadSuccess({ numPages }: any) {\n setNumPages(numPages);\n setError(null);\n }\n\n function onDocumentLoadError(err: any) {\n console.error(\"PDF load error:\", err);\n setError(\"Failed to render PDF\");\n }\n\n const goToPrevPage = () => setPageNumber((p) => Math.max(p - 1, 1));\n const goToNextPage = () => setPageNumber((p) => Math.min(p + 1, numPages));\n\n if (!url) {\n return (\n <div className=\"flex items-center justify-center h-96 bg-gray-100 rounded-lg\">\n <p className=\"text-gray-500\">No PDF URL provided</p>\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col items-center space-y-4 p-4\">\n {loading && (\n <div className=\"flex items-center justify-center h-96 bg-gray-100 rounded-lg w-full\">\n <p className=\"text-gray-600\">Loading PDF...</p>\n </div>\n )}\n\n {error && (\n <div className=\"flex items-center justify-center h-96 bg-red-50 rounded-lg w-full\">\n <p className=\"text-red-600\">{error}</p>\n </div>\n )}\n\n {/* Render only after Blob URL is created */}\n {blobUrl && !loading && !error && (\n <Document\n file={blobUrl}\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={onDocumentLoadError}\n className=\"border border-gray-300 rounded-lg shadow-lg\"\n >\n <Page\n pageNumber={pageNumber}\n renderTextLayer={true}\n renderAnnotationLayer={true}\n />\n </Document>\n )}\n\n {numPages && (\n <div className=\"flex items-center space-x-4 bg-white p-4 rounded-lg shadow-md\">\n <button\n onClick={goToPrevPage}\n disabled={pageNumber <= 1}\n className=\"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-300 disabled:cursor-not-allowed\"\n >\n Previous\n </button>\n\n <span className=\"text-gray-700 font-medium\">\n Page {pageNumber} of {numPages}\n </span>\n\n <button\n onClick={goToNextPage}\n disabled={pageNumber >= numPages}\n className=\"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-300 disabled:cursor-not-allowed\"\n >\n Next\n </button>\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"PDFViewer.js","sourceRoot":"","sources":["../../../../src/components/core/common/PDFViewer.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { useEffect, useState } from 'react';\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport 'react-pdf/dist/esm/Page/AnnotationLayer.css';\nimport 'react-pdf/dist/esm/Page/TextLayer.css';\n\n// Local worker recommended (avoids CORS)\npdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.js`;\n\nexport default function PDFViewer({ url }: any) {\n const [numPages, setNumPages] = useState<any>(null);\n const [pageNumber, setPageNumber] = useState(1);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<any>(null);\n const [blobUrl, setBlobUrl] = useState<string | null>(null);\n\n // Convert signed URL → Blob → Object URL\n useEffect(() => {\n if (!url) return;\n\n setLoading(true);\n setError(null);\n\n fetch(url)\n .then(async (res) => {\n if (!res.ok) throw new Error(\"Failed to fetch PDF\");\n\n const blob = await res.blob();\n const blobUrl = URL.createObjectURL(blob);\n setBlobUrl(blobUrl);\n setLoading(false);\n })\n .catch((err) => {\n console.error(\"Blob fetch error:\", err);\n setError(\"Failed to load PDF\");\n setLoading(false);\n });\n }, [url]);\n\n function onDocumentLoadSuccess({ numPages }: any) {\n setNumPages(numPages);\n setError(null);\n }\n\n function onDocumentLoadError(err: any) {\n console.error(\"PDF load error:\", err);\n setError(\"Failed to render PDF\");\n }\n\n const goToPrevPage = () => setPageNumber((p) => Math.max(p - 1, 1));\n const goToNextPage = () => setPageNumber((p) => Math.min(p + 1, numPages));\n\n if (!url) {\n return (\n <div className=\"flex items-center justify-center h-96 bg-gray-100 rounded-lg\">\n <p className=\"text-gray-500\">No PDF URL provided</p>\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col items-center space-y-4 p-4\">\n {loading && (\n <div className=\"flex items-center justify-center h-96 bg-gray-100 rounded-lg w-full\">\n <p className=\"text-gray-600\">Loading PDF...</p>\n </div>\n )}\n\n {error && (\n <div className=\"flex items-center justify-center h-96 bg-red-50 rounded-lg w-full\">\n <p className=\"text-red-600\">{error}</p>\n </div>\n )}\n\n {/* Render only after Blob URL is created */}\n {blobUrl && !loading && !error && (\n <Document\n file={blobUrl}\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={onDocumentLoadError}\n className=\"border border-gray-300 rounded-lg shadow-lg\"\n >\n <Page\n pageNumber={pageNumber}\n renderTextLayer={true}\n renderAnnotationLayer={true}\n />\n </Document>\n )}\n\n {numPages && (\n <div className=\"flex items-center space-x-4 bg-white p-4 rounded-lg shadow-md\">\n <button\n onClick={goToPrevPage}\n disabled={pageNumber <= 1}\n className=\"px-4 py-2 bg-primary text-white rounded hover:opacity-90 disabled:bg-gray-300 disabled:cursor-not-allowed\"\n >\n Previous\n </button>\n\n <span className=\"text-gray-700 font-medium\">\n Page {pageNumber} of {numPages}\n </span>\n\n <button\n onClick={goToNextPage}\n disabled={pageNumber >= numPages}\n className=\"px-4 py-2 bg-primary text-white rounded hover:opacity-90 disabled:bg-gray-300 disabled:cursor-not-allowed\"\n >\n Next\n </button>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -94,7 +94,7 @@ export default function PDFViewer({ url }: any) {
94
94
  <button
95
95
  onClick={goToPrevPage}
96
96
  disabled={pageNumber <= 1}
97
- className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-300 disabled:cursor-not-allowed"
97
+ className="px-4 py-2 bg-primary text-white rounded hover:opacity-90 disabled:bg-gray-300 disabled:cursor-not-allowed"
98
98
  >
99
99
  Previous
100
100
  </button>
@@ -106,7 +106,7 @@ export default function PDFViewer({ url }: any) {
106
106
  <button
107
107
  onClick={goToNextPage}
108
108
  disabled={pageNumber >= numPages}
109
- className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-300 disabled:cursor-not-allowed"
109
+ className="px-4 py-2 bg-primary text-white rounded hover:opacity-90 disabled:bg-gray-300 disabled:cursor-not-allowed"
110
110
  >
111
111
  Next
112
112
  </button>
@@ -320,7 +320,7 @@
320
320
 
321
321
  .input:focus-visible {
322
322
  outline: none;
323
- box-shadow: 0 0 0 3px var(--ring);
323
+ border-color: var(--primary);
324
324
  }
325
325
 
326
326
  .roleBox {
@@ -75,12 +75,12 @@
75
75
  }
76
76
 
77
77
  :global(.solid-import-stepper-item:hover:not(:disabled)) {
78
- box-shadow: 0 0 0 3px var(--ring);
78
+ background-color: color-mix(in srgb, var(--card) 90%, white 10%);
79
79
  }
80
80
 
81
81
  :global(.solid-import-stepper-item:focus-visible) {
82
82
  outline: none;
83
- box-shadow: 0 0 0 3px var(--ring);
83
+ border-color: var(--primary);
84
84
  }
85
85
 
86
86
  :global(.solid-import-stepper-item:disabled) {
@@ -327,7 +327,6 @@
327
327
 
328
328
  :global(.solid-import-dropzone-shell:hover) {
329
329
  border-color: color-mix(in srgb, var(--primary) 52%, var(--border));
330
- box-shadow: 0 0 0 3px var(--ring);
331
330
  }
332
331
 
333
332
  :global(.solid-import-dropzone-copy) {
@@ -568,7 +567,7 @@
568
567
 
569
568
  :global(.solid-import-mapping-remove:focus-visible) {
570
569
  outline: none;
571
- box-shadow: 0 0 0 3px var(--ring);
570
+ border-color: #dc2626;
572
571
  }
573
572
 
574
573
  :global(.solid-import-mapping-remove-placeholder) {
@@ -4,8 +4,8 @@ export var SolidDashboardFilterRequired = function () {
4
4
  return (_jsx("div", { className: "flex align-items-center justify-content-center", style: { minHeight: '400px', padding: '2rem' }, children: _jsxs("div", { className: "flex flex-column align-items-center gap-3 text-center", style: { maxWidth: '500px' }, children: [_jsx("div", { className: "flex align-items-center justify-content-center border-circle", style: {
5
5
  width: '80px',
6
6
  height: '80px',
7
- backgroundColor: 'var(--blue-50)',
8
- color: 'var(--blue-500)'
7
+ backgroundColor: 'var(--primary-50)',
8
+ color: 'var(--primary-500)'
9
9
  }, children: _jsx(SolidIcon, { name: "si-filter", style: { color: "var(--primary-color)", fontSize: '2.5rem' }, "aria-hidden": true }) }), _jsx("div", { children: _jsxs("div", { className: "flex flex-column gap-2", children: [_jsx("h3", { className: "m-0", style: { color: 'var(--text-color)', fontSize: '1.25rem', fontWeight: 600 }, children: "Filters Required" }), _jsx("p", { className: "m-0", style: { color: 'var(--text-color-secondary)', fontSize: '0.95rem', lineHeight: '1.5' }, children: "Please select the required filters to render your dashboard." })] }) })] }) }));
10
10
  };
11
11
  //# sourceMappingURL=SolidDashboardFilterRequired.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDashboardFilterRequired.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboardFilterRequired.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,MAAM,CAAC,IAAM,4BAA4B,GAAG;IAC1C,OAAO,CACL,cAAK,SAAS,EAAC,gDAAgD,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAC5G,eAAK,SAAS,EAAC,uDAAuD,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aACjG,cACE,SAAS,EAAC,8DAA8D,EACxE,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,eAAe,EAAE,gBAAgB;wBACjC,KAAK,EAAE,iBAAiB;qBACzB,YAED,KAAC,SAAS,IAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAgB,GACpG,EACN,wBACE,eAAK,SAAS,EAAC,wBAAwB,aACrC,aAAI,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,iCAAuB,EACtH,YAAG,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,6EAEtG,IACA,GACF,IACF,GACF,CACP,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { SolidIcon } from \"../../shad-cn-ui\";\nexport const SolidDashboardFilterRequired = () => {\n return (\n <div className=\"flex align-items-center justify-content-center\" style={{ minHeight: '400px', padding: '2rem' }}>\n <div className=\"flex flex-column align-items-center gap-3 text-center\" style={{ maxWidth: '500px' }}>\n <div\n className=\"flex align-items-center justify-content-center border-circle\"\n style={{\n width: '80px',\n height: '80px',\n backgroundColor: 'var(--blue-50)',\n color: 'var(--blue-500)'\n }}\n >\n <SolidIcon name=\"si-filter\" style={{ color: \"var(--primary-color)\", fontSize: '2.5rem' }} aria-hidden />\n </div>\n <div>\n <div className=\"flex flex-column gap-2\">\n <h3 className=\"m-0\" style={{ color: 'var(--text-color)', fontSize: '1.25rem', fontWeight: 600 }}>Filters Required</h3>\n <p className=\"m-0\" style={{ color: 'var(--text-color-secondary)', fontSize: '0.95rem', lineHeight: '1.5' }}>\n Please select the required filters to render your dashboard.\n </p>\n </div>\n </div>\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidDashboardFilterRequired.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboardFilterRequired.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,MAAM,CAAC,IAAM,4BAA4B,GAAG;IAC1C,OAAO,CACL,cAAK,SAAS,EAAC,gDAAgD,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAC5G,eAAK,SAAS,EAAC,uDAAuD,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aACjG,cACE,SAAS,EAAC,8DAA8D,EACxE,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,eAAe,EAAE,mBAAmB;wBACpC,KAAK,EAAE,oBAAoB;qBAC5B,YAED,KAAC,SAAS,IAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAgB,GACpG,EACN,wBACE,eAAK,SAAS,EAAC,wBAAwB,aACrC,aAAI,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,iCAAuB,EACtH,YAAG,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,6EAEtG,IACA,GACF,IACF,GACF,CACP,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { SolidIcon } from \"../../shad-cn-ui\";\nexport const SolidDashboardFilterRequired = () => {\n return (\n <div className=\"flex align-items-center justify-content-center\" style={{ minHeight: '400px', padding: '2rem' }}>\n <div className=\"flex flex-column align-items-center gap-3 text-center\" style={{ maxWidth: '500px' }}>\n <div\n className=\"flex align-items-center justify-content-center border-circle\"\n style={{\n width: '80px',\n height: '80px',\n backgroundColor: 'var(--primary-50)',\n color: 'var(--primary-500)'\n }}\n >\n <SolidIcon name=\"si-filter\" style={{ color: \"var(--primary-color)\", fontSize: '2.5rem' }} aria-hidden />\n </div>\n <div>\n <div className=\"flex flex-column gap-2\">\n <h3 className=\"m-0\" style={{ color: 'var(--text-color)', fontSize: '1.25rem', fontWeight: 600 }}>Filters Required</h3>\n <p className=\"m-0\" style={{ color: 'var(--text-color-secondary)', fontSize: '0.95rem', lineHeight: '1.5' }}>\n Please select the required filters to render your dashboard.\n </p>\n </div>\n </div>\n </div>\n </div>\n )\n}\n"]}
@@ -8,8 +8,8 @@ export const SolidDashboardFilterRequired = () => {
8
8
  style={{
9
9
  width: '80px',
10
10
  height: '80px',
11
- backgroundColor: 'var(--blue-50)',
12
- color: 'var(--blue-500)'
11
+ backgroundColor: 'var(--primary-50)',
12
+ color: 'var(--primary-500)'
13
13
  }}
14
14
  >
15
15
  <SolidIcon name="si-filter" style={{ color: "var(--primary-color)", fontSize: '2.5rem' }} aria-hidden />
@@ -4,8 +4,8 @@ var SolidDashboardNotAvailable = function () {
4
4
  return (_jsx("div", { className: "flex align-items-center justify-content-center", style: { minHeight: '400px', padding: '2rem' }, children: _jsxs("div", { className: "flex flex-column align-items-center gap-3 text-center", style: { maxWidth: '500px' }, children: [_jsx("div", { className: "flex align-items-center justify-content-center border-circle", style: {
5
5
  width: '80px',
6
6
  height: '80px',
7
- backgroundColor: 'var(--blue-50)',
8
- color: 'var(--blue-500)'
7
+ backgroundColor: 'var(--primary-50)',
8
+ color: 'var(--primary-500)'
9
9
  }, children: _jsx(SolidIcon, { name: "si-chart-bar", style: { fontSize: '2.5rem' }, "aria-hidden": true }) }), _jsxs("div", { className: "flex flex-column gap-2", children: [_jsx("h3", { className: "m-0", style: { color: 'var(--text-color)', fontSize: '1.25rem', fontWeight: 600 }, children: "Dashboard Not Available" }), _jsx("p", { className: "m-0", style: { color: 'var(--text-color-secondary)', fontSize: '0.95rem', lineHeight: '1.5' }, children: "This dashboard has not been configured yet or does not exist. Please check the dashboard settings or contact your administrator." })] })] }) }));
10
10
  };
11
11
  export default SolidDashboardNotAvailable;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidDashboardNotAvailable.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboardNotAvailable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,IAAM,0BAA0B,GAAG;IACjC,OAAO,CACL,cAAK,SAAS,EAAC,gDAAgD,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAC5G,eAAK,SAAS,EAAC,uDAAuD,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aACjG,cACE,SAAS,EAAC,8DAA8D,EACxE,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,eAAe,EAAE,gBAAgB;wBACjC,KAAK,EAAE,iBAAiB;qBACzB,YAED,KAAC,SAAS,IAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAgB,GACxE,EAEN,eAAK,SAAS,EAAC,wBAAwB,aACrC,aAAI,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,wCAE1F,EACL,YAAG,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,iJAEtG,IACA,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC","sourcesContent":["import { SolidIcon } from \"../../shad-cn-ui\";\n\nconst SolidDashboardNotAvailable = () => {\n return (\n <div className=\"flex align-items-center justify-content-center\" style={{ minHeight: '400px', padding: '2rem' }}>\n <div className=\"flex flex-column align-items-center gap-3 text-center\" style={{ maxWidth: '500px' }}>\n <div \n className=\"flex align-items-center justify-content-center border-circle\"\n style={{\n width: '80px',\n height: '80px',\n backgroundColor: 'var(--blue-50)',\n color: 'var(--blue-500)'\n }}\n >\n <SolidIcon name=\"si-chart-bar\" style={{ fontSize: '2.5rem' }} aria-hidden />\n </div>\n \n <div className=\"flex flex-column gap-2\">\n <h3 className=\"m-0\" style={{ color: 'var(--text-color)', fontSize: '1.25rem', fontWeight: 600 }}>\n Dashboard Not Available\n </h3>\n <p className=\"m-0\" style={{ color: 'var(--text-color-secondary)', fontSize: '0.95rem', lineHeight: '1.5' }}>\n This dashboard has not been configured yet or does not exist. Please check the dashboard settings or contact your administrator.\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport default SolidDashboardNotAvailable;\n"]}
1
+ {"version":3,"file":"SolidDashboardNotAvailable.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboardNotAvailable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,IAAM,0BAA0B,GAAG;IACjC,OAAO,CACL,cAAK,SAAS,EAAC,gDAAgD,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAC5G,eAAK,SAAS,EAAC,uDAAuD,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aACjG,cACE,SAAS,EAAC,8DAA8D,EACxE,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,eAAe,EAAE,mBAAmB;wBACpC,KAAK,EAAE,oBAAoB;qBAC5B,YAED,KAAC,SAAS,IAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAgB,GACxE,EAEN,eAAK,SAAS,EAAC,wBAAwB,aACrC,aAAI,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,wCAE1F,EACL,YAAG,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,iJAEtG,IACA,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC","sourcesContent":["import { SolidIcon } from \"../../shad-cn-ui\";\n\nconst SolidDashboardNotAvailable = () => {\n return (\n <div className=\"flex align-items-center justify-content-center\" style={{ minHeight: '400px', padding: '2rem' }}>\n <div className=\"flex flex-column align-items-center gap-3 text-center\" style={{ maxWidth: '500px' }}>\n <div \n className=\"flex align-items-center justify-content-center border-circle\"\n style={{\n width: '80px',\n height: '80px',\n backgroundColor: 'var(--primary-50)',\n color: 'var(--primary-500)'\n }}\n >\n <SolidIcon name=\"si-chart-bar\" style={{ fontSize: '2.5rem' }} aria-hidden />\n </div>\n \n <div className=\"flex flex-column gap-2\">\n <h3 className=\"m-0\" style={{ color: 'var(--text-color)', fontSize: '1.25rem', fontWeight: 600 }}>\n Dashboard Not Available\n </h3>\n <p className=\"m-0\" style={{ color: 'var(--text-color-secondary)', fontSize: '0.95rem', lineHeight: '1.5' }}>\n This dashboard has not been configured yet or does not exist. Please check the dashboard settings or contact your administrator.\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport default SolidDashboardNotAvailable;\n"]}
@@ -9,8 +9,8 @@ const SolidDashboardNotAvailable = () => {
9
9
  style={{
10
10
  width: '80px',
11
11
  height: '80px',
12
- backgroundColor: 'var(--blue-50)',
13
- color: 'var(--blue-500)'
12
+ backgroundColor: 'var(--primary-50)',
13
+ color: 'var(--primary-500)'
14
14
  }}
15
15
  >
16
16
  <SolidIcon name="si-chart-bar" style={{ fontSize: '2.5rem' }} aria-hidden />
@@ -85,7 +85,7 @@ export var SolidChatterMessageCoModelEntityIdFormViewWidget = function (_a) {
85
85
  gap: '6px',
86
86
  textDecoration: 'none',
87
87
  fontSize: '12px',
88
- color: '#2563eb',
88
+ color: '#722ED1',
89
89
  fontWeight: 500
90
90
  }, children: [_jsxs("span", { children: [value, " (", modelUserKey || modelDisplayName || coModelName, ")"] }), _jsx(ExternalLink, { size: 16 })] })) : (_jsx("span", { className: "text-muted", children: "\u2014" })) })] }));
91
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidChatterMessageCoModelEntityIdFormViewWidget.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from \"react\";\nimport { SolidFormFieldWidgetProps } from \"../../../../../../types/solid-core\";\nimport { ExternalLink } from \"lucide-react\";\nimport { solidGet } from \"../../../../../../http/solidHttp\";\nimport { snakeCase } from \"lodash\";\n\nexport const SolidChatterMessageCoModelEntityIdFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldName = fieldLayoutInfo?.attrs?.name;\n\n const [redirectUrl, setRedirectUrl] = useState<string>('#');\n const value = formik.values?.[fieldName];\n\n const coModelName = fieldContext?.data?.coModelName;\n const modelDisplayName = fieldContext?.data?.modelDisplayName;\n const modelUserKey = fieldContext?.data?.modelUserKey;\n\n useEffect(() => {\n if (coModelName) {\n const fetchModel = async () => {\n const qs = `offset=0&limit=25&filters[$and][0][$or][0][singularName][$eq]=${coModelName}&populate[0]=module&locale=en&sort[0]=id%3Adesc`;\n const res = await solidGet(`/model-metadata?${qs}`);\n if (res?.data?.data?.records?.length > 0) {\n const model = res?.data?.data?.records[0];\n const module = model?.module;\n const moduleName = module?.name;\n const modelSingularName = model?.singularName;\n const modelSlug = snakeCase(model?.singularName).replace(/_/g, '-');\n const redirectUrl = `/admin/core/${moduleName}/${modelSlug}/form/${value}`;\n setRedirectUrl(redirectUrl);\n }\n }\n fetchModel();\n }\n }, [coModelName]);\n\n return (\n <div>\n <label className=\"form-field-label\">{fieldLabel}</label>\n <div className=\"mt-2\">\n {value ? (\n <a\n href={redirectUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '6px',\n textDecoration: 'none',\n fontSize: '12px',\n color: '#2563eb',\n fontWeight: 500\n }}\n >\n <span>{value} ({modelUserKey || modelDisplayName || coModelName})</span>\n <ExternalLink size={16} />\n </a>\n ) : (\n <span className=\"text-muted\">—</span>\n )}\n </div>\n </div>\n );\n};"]}
1
+ {"version":3,"file":"SolidChatterMessageCoModelEntityIdFormViewWidget.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from \"react\";\nimport { SolidFormFieldWidgetProps } from \"../../../../../../types/solid-core\";\nimport { ExternalLink } from \"lucide-react\";\nimport { solidGet } from \"../../../../../../http/solidHttp\";\nimport { snakeCase } from \"lodash\";\n\nexport const SolidChatterMessageCoModelEntityIdFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldName = fieldLayoutInfo?.attrs?.name;\n\n const [redirectUrl, setRedirectUrl] = useState<string>('#');\n const value = formik.values?.[fieldName];\n\n const coModelName = fieldContext?.data?.coModelName;\n const modelDisplayName = fieldContext?.data?.modelDisplayName;\n const modelUserKey = fieldContext?.data?.modelUserKey;\n\n useEffect(() => {\n if (coModelName) {\n const fetchModel = async () => {\n const qs = `offset=0&limit=25&filters[$and][0][$or][0][singularName][$eq]=${coModelName}&populate[0]=module&locale=en&sort[0]=id%3Adesc`;\n const res = await solidGet(`/model-metadata?${qs}`);\n if (res?.data?.data?.records?.length > 0) {\n const model = res?.data?.data?.records[0];\n const module = model?.module;\n const moduleName = module?.name;\n const modelSingularName = model?.singularName;\n const modelSlug = snakeCase(model?.singularName).replace(/_/g, '-');\n const redirectUrl = `/admin/core/${moduleName}/${modelSlug}/form/${value}`;\n setRedirectUrl(redirectUrl);\n }\n }\n fetchModel();\n }\n }, [coModelName]);\n\n return (\n <div>\n <label className=\"form-field-label\">{fieldLabel}</label>\n <div className=\"mt-2\">\n {value ? (\n <a\n href={redirectUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '6px',\n textDecoration: 'none',\n fontSize: '12px',\n color: '#722ED1',\n fontWeight: 500\n }}\n >\n <span>{value} ({modelUserKey || modelDisplayName || coModelName})</span>\n <ExternalLink size={16} />\n </a>\n ) : (\n <span className=\"text-muted\">—</span>\n )}\n </div>\n </div>\n );\n};"]}
@@ -52,7 +52,7 @@ export const SolidChatterMessageCoModelEntityIdFormViewWidget = ({ formik, field
52
52
  gap: '6px',
53
53
  textDecoration: 'none',
54
54
  fontSize: '12px',
55
- color: '#2563eb',
55
+ color: '#722ED1',
56
56
  fontWeight: 500
57
57
  }}
58
58
  >
@@ -80,7 +80,7 @@ export var SolidChatterMessageCoModelEntityIdListViewWidget = function (_a) {
80
80
  gap: '6px',
81
81
  textDecoration: 'none',
82
82
  fontSize: '12px',
83
- color: '#2563eb',
83
+ color: '#722ED1',
84
84
  fontWeight: 500
85
85
  }, children: [_jsxs("span", { children: [value, " (", modelUserKey || modelDisplayName || coModelName, ")"] }), _jsx(ExternalLink, { size: 16 })] })) : (_jsx("span", { className: "text-muted", children: "\u2014" })) }) }));
86
86
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidChatterMessageCoModelEntityIdListViewWidget.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { ExternalLink } from \"lucide-react\";\nimport { SolidListFieldWidgetProps } from \"../../../../../../types/solid-core\";\nimport { useEffect, useState } from \"react\";\nimport { solidGet } from \"../../../../../../http/solidHttp\";\nimport { snakeCase } from \"lodash\";\n\n\nexport const SolidChatterMessageCoModelEntityIdListViewWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n\n const value = fieldMetadata && fieldMetadata.name && rowData[fieldMetadata.name] ? rowData[fieldMetadata.name] : \"\"\n\n const [redirectUrl, setRedirectUrl] = useState('#');\n\n\n const coModelName = rowData?.coModelName;\n const modelDisplayName = rowData?.modelDisplayName;\n const modelUserKey = rowData?.modelUserKey;\n\n useEffect(() => {\n if (coModelName) {\n const fetchModel = async () => {\n const qs = `offset=0&limit=25&filters[$and][0][$or][0][singularName][$eq]=${coModelName}&populate[0]=module&locale=en&sort[0]=id%3Adesc`;\n const res = await solidGet(`/model-metadata?${qs}`);\n if (res?.data?.data?.records?.length > 0) {\n const model = res?.data?.data?.records[0];\n const module = model?.module;\n const moduleName = module?.name;\n const modelSingularName = model?.singularName;\n const modelSlug = snakeCase(model?.singularName).replace(/_/g, '-');\n const redirectUrl = `/admin/core/${moduleName}/${modelSlug}/form/${value}`;\n setRedirectUrl(redirectUrl);\n }\n }\n fetchModel();\n }\n }, [coModelName, value]);\n\n return (\n <div style={{ textAlign: \"left\" }}>\n\n <div className=\"mt-2\">\n {value ? (\n <a\n href={redirectUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '6px',\n textDecoration: 'none',\n fontSize: '12px',\n color: '#2563eb',\n fontWeight: 500\n }}\n >\n <span>{value} ({modelUserKey || modelDisplayName || coModelName})</span>\n\n <ExternalLink size={16} />\n </a>\n ) : (\n <span className=\"text-muted\">—</span>\n )}\n </div>\n </div>\n );\n};\n\n"]}
1
+ {"version":3,"file":"SolidChatterMessageCoModelEntityIdListViewWidget.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { ExternalLink } from \"lucide-react\";\nimport { SolidListFieldWidgetProps } from \"../../../../../../types/solid-core\";\nimport { useEffect, useState } from \"react\";\nimport { solidGet } from \"../../../../../../http/solidHttp\";\nimport { snakeCase } from \"lodash\";\n\n\nexport const SolidChatterMessageCoModelEntityIdListViewWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n\n const value = fieldMetadata && fieldMetadata.name && rowData[fieldMetadata.name] ? rowData[fieldMetadata.name] : \"\"\n\n const [redirectUrl, setRedirectUrl] = useState('#');\n\n\n const coModelName = rowData?.coModelName;\n const modelDisplayName = rowData?.modelDisplayName;\n const modelUserKey = rowData?.modelUserKey;\n\n useEffect(() => {\n if (coModelName) {\n const fetchModel = async () => {\n const qs = `offset=0&limit=25&filters[$and][0][$or][0][singularName][$eq]=${coModelName}&populate[0]=module&locale=en&sort[0]=id%3Adesc`;\n const res = await solidGet(`/model-metadata?${qs}`);\n if (res?.data?.data?.records?.length > 0) {\n const model = res?.data?.data?.records[0];\n const module = model?.module;\n const moduleName = module?.name;\n const modelSingularName = model?.singularName;\n const modelSlug = snakeCase(model?.singularName).replace(/_/g, '-');\n const redirectUrl = `/admin/core/${moduleName}/${modelSlug}/form/${value}`;\n setRedirectUrl(redirectUrl);\n }\n }\n fetchModel();\n }\n }, [coModelName, value]);\n\n return (\n <div style={{ textAlign: \"left\" }}>\n\n <div className=\"mt-2\">\n {value ? (\n <a\n href={redirectUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '6px',\n textDecoration: 'none',\n fontSize: '12px',\n color: '#722ED1',\n fontWeight: 500\n }}\n >\n <span>{value} ({modelUserKey || modelDisplayName || coModelName})</span>\n\n <ExternalLink size={16} />\n </a>\n ) : (\n <span className=\"text-muted\">—</span>\n )}\n </div>\n </div>\n );\n};\n\n"]}
@@ -52,7 +52,7 @@ export const SolidChatterMessageCoModelEntityIdListViewWidget = ({ rowData, soli
52
52
  gap: '6px',
53
53
  textDecoration: 'none',
54
54
  fontSize: '12px',
55
- color: '#2563eb',
55
+ color: '#722ED1',
56
56
  fontWeight: 500
57
57
  }}
58
58
  >
@@ -46,7 +46,7 @@ import { Chart as ChartJS, CategoryScale, LinearScale, BarElement, Tooltip, Lege
46
46
  import { Bar } from "react-chartjs-2";
47
47
  ChartJS.register(CategoryScale, LinearScale, BarElement, Tooltip, Legend);
48
48
  var CHART_COLORS = [
49
- "#3b82f6",
49
+ "#722ED1",
50
50
  "#22c55e",
51
51
  "#f59e0b",
52
52
  "#ef4444",
@@ -1 +1 @@
1
- {"version":3,"file":"SolidMqMessagesSummarizeListHeaderAction.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SolidListFieldWidgetProps } from \"../../../../../../types/solid-core\";\nimport { useState } from \"react\";\nimport { solidGet } from \"../../../../../../http/solidHttp\";\nimport { SolidButton } from \"../../../../../shad-cn-ui\";\nimport { useDispatch } from \"react-redux\";\nimport { closePopup } from \"../../../../../../redux/features/popupSlice\";\nimport { X } from \"lucide-react\";\n\n// Chart.js imports\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n BarElement,\n Tooltip,\n Legend\n} from \"chart.js\";\nimport { Bar } from \"react-chartjs-2\";\n\nChartJS.register(CategoryScale, LinearScale, BarElement, Tooltip, Legend);\n\nconst CHART_COLORS = [\n \"#3b82f6\",\n \"#22c55e\",\n \"#f59e0b\",\n \"#ef4444\",\n \"#8b5cf6\",\n \"#14b8a6\"\n];\n\nconst getColor = (index: number) => CHART_COLORS[index % CHART_COLORS.length];\n\n// =========================\n// Pivot Transform\n// =========================\nconst transformToPivot = (groupMeta: any[]) => {\n const pivot: Record<string, Record<string, number>> = {};\n const stageSet = new Set<string>();\n\n groupMeta.forEach((item: any) => {\n const groupValue = item.groupValue || \"\";\n const count = item.id_count || 0;\n\n const parts = groupValue.split(\"_\");\n const stage = parts.pop();\n const broker = parts.join(\"_\");\n\n if (!broker || !stage) return;\n\n stageSet.add(stage);\n if (!pivot[broker]) pivot[broker] = {};\n pivot[broker][stage] = count;\n });\n\n const stages = Array.from(stageSet);\n\n Object.keys(pivot).forEach((broker) => {\n stages.forEach((stage) => {\n if (pivot[broker][stage] === undefined) {\n pivot[broker][stage] = 0;\n }\n });\n });\n\n return { pivot, stages };\n};\n\ntype PivotData = ReturnType<typeof transformToPivot>;\n\n// =========================\n// Chart Component\n// =========================\nconst PivotChart = ({ data }: { data: PivotData }) => {\n const { pivot, stages } = data;\n\n const queues = Object.keys(pivot).sort((a, b) => {\n const sum = (q: string) =>\n stages.reduce((acc, s) => acc + (pivot[q]?.[s] || 0), 0);\n return sum(b) - sum(a);\n });\n\n const chartData = {\n labels: queues,\n datasets: stages.map((stage, index) => ({\n label: stage,\n data: queues.map((q) => pivot[q]?.[stage] || 0),\n backgroundColor: getColor(index)\n }))\n };\n\n const options: any = {\n responsive: true,\n plugins: { legend: { position: \"top\" } },\n scales: {\n x: { stacked: true },\n y: { stacked: true, beginAtZero: true }\n }\n };\n\n return <Bar data={chartData} options={options} />;\n};\n\n// =========================\n// Widget\n// =========================\nexport const SolidMqMessagesSummarizeListHeaderAction = ({\n solidListViewMetaData\n}: SolidListFieldWidgetProps) => {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(false);\n const [pivotData, setPivotData] = useState<PivotData | null>(null);\n\n const handleContinue = async () => {\n setLoading(true);\n\n const selectedRows = solidListViewMetaData?.selectedRows || [];\n\n const filters = selectedRows\n .map(\n (row: any, index: number) =>\n `filters[$and][0][$or][${index}][id][$eq]=${row.id}`\n )\n .join(\"&\");\n\n const qs = [\n \"offset=0\",\n \"limit=100\",\n \"groupBy[0]=messageBroker\",\n \"groupBy[1]=stage\",\n \"aggregates[0]=id:count\",\n filters || null\n ]\n .filter(Boolean)\n .join(\"&\");\n\n const res = await solidGet(`/mq-message?${qs}`);\n setPivotData(transformToPivot(res?.data?.data?.groupMeta ?? []));\n setLoading(false);\n };\n\n return (\n <div>\n <div className=\"solid-filter-dialog-head\">\n <div>\n <h3 className=\"solid-filter-dialog-title\">MQ Message Summary</h3>\n </div>\n <button\n className=\"solid-radix-dialog-close\"\n aria-label=\"Close\"\n onClick={() => dispatch(closePopup())}\n >\n <X size={16} />\n </button>\n </div>\n\n <div className=\"solid-filter-dialog-sep\" />\n\n <div className=\"solid-filter-dialog-body\">\n <div style={{ textAlign: \"center\",marginBottom:\"10px\",marginTop:\"10px\" }}>\n\n <p style={{ textAlign: \"center\", fontSize: \"13px\", marginBottom: \"0\" }}>\n You can summarize based on selected records or the full dataset.\n <br />\n Click <strong>Continue</strong> to load the summary.\n </p>\n <SolidButton\n size=\"small\"\n loading={loading}\n onClick={handleContinue}\n >\n Continue\n </SolidButton>\n\n </div>\n {pivotData && (\n <div style={{ marginTop: \"20px\" }}>\n <PivotChart data={pivotData} />\n </div>\n )}\n </div>\n\n\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidMqMessagesSummarizeListHeaderAction.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SolidListFieldWidgetProps } from \"../../../../../../types/solid-core\";\nimport { useState } from \"react\";\nimport { solidGet } from \"../../../../../../http/solidHttp\";\nimport { SolidButton } from \"../../../../../shad-cn-ui\";\nimport { useDispatch } from \"react-redux\";\nimport { closePopup } from \"../../../../../../redux/features/popupSlice\";\nimport { X } from \"lucide-react\";\n\n// Chart.js imports\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n BarElement,\n Tooltip,\n Legend\n} from \"chart.js\";\nimport { Bar } from \"react-chartjs-2\";\n\nChartJS.register(CategoryScale, LinearScale, BarElement, Tooltip, Legend);\n\nconst CHART_COLORS = [\n \"#722ED1\",\n \"#22c55e\",\n \"#f59e0b\",\n \"#ef4444\",\n \"#8b5cf6\",\n \"#14b8a6\"\n];\n\nconst getColor = (index: number) => CHART_COLORS[index % CHART_COLORS.length];\n\n// =========================\n// Pivot Transform\n// =========================\nconst transformToPivot = (groupMeta: any[]) => {\n const pivot: Record<string, Record<string, number>> = {};\n const stageSet = new Set<string>();\n\n groupMeta.forEach((item: any) => {\n const groupValue = item.groupValue || \"\";\n const count = item.id_count || 0;\n\n const parts = groupValue.split(\"_\");\n const stage = parts.pop();\n const broker = parts.join(\"_\");\n\n if (!broker || !stage) return;\n\n stageSet.add(stage);\n if (!pivot[broker]) pivot[broker] = {};\n pivot[broker][stage] = count;\n });\n\n const stages = Array.from(stageSet);\n\n Object.keys(pivot).forEach((broker) => {\n stages.forEach((stage) => {\n if (pivot[broker][stage] === undefined) {\n pivot[broker][stage] = 0;\n }\n });\n });\n\n return { pivot, stages };\n};\n\ntype PivotData = ReturnType<typeof transformToPivot>;\n\n// =========================\n// Chart Component\n// =========================\nconst PivotChart = ({ data }: { data: PivotData }) => {\n const { pivot, stages } = data;\n\n const queues = Object.keys(pivot).sort((a, b) => {\n const sum = (q: string) =>\n stages.reduce((acc, s) => acc + (pivot[q]?.[s] || 0), 0);\n return sum(b) - sum(a);\n });\n\n const chartData = {\n labels: queues,\n datasets: stages.map((stage, index) => ({\n label: stage,\n data: queues.map((q) => pivot[q]?.[stage] || 0),\n backgroundColor: getColor(index)\n }))\n };\n\n const options: any = {\n responsive: true,\n plugins: { legend: { position: \"top\" } },\n scales: {\n x: { stacked: true },\n y: { stacked: true, beginAtZero: true }\n }\n };\n\n return <Bar data={chartData} options={options} />;\n};\n\n// =========================\n// Widget\n// =========================\nexport const SolidMqMessagesSummarizeListHeaderAction = ({\n solidListViewMetaData\n}: SolidListFieldWidgetProps) => {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(false);\n const [pivotData, setPivotData] = useState<PivotData | null>(null);\n\n const handleContinue = async () => {\n setLoading(true);\n\n const selectedRows = solidListViewMetaData?.selectedRows || [];\n\n const filters = selectedRows\n .map(\n (row: any, index: number) =>\n `filters[$and][0][$or][${index}][id][$eq]=${row.id}`\n )\n .join(\"&\");\n\n const qs = [\n \"offset=0\",\n \"limit=100\",\n \"groupBy[0]=messageBroker\",\n \"groupBy[1]=stage\",\n \"aggregates[0]=id:count\",\n filters || null\n ]\n .filter(Boolean)\n .join(\"&\");\n\n const res = await solidGet(`/mq-message?${qs}`);\n setPivotData(transformToPivot(res?.data?.data?.groupMeta ?? []));\n setLoading(false);\n };\n\n return (\n <div>\n <div className=\"solid-filter-dialog-head\">\n <div>\n <h3 className=\"solid-filter-dialog-title\">MQ Message Summary</h3>\n </div>\n <button\n className=\"solid-radix-dialog-close\"\n aria-label=\"Close\"\n onClick={() => dispatch(closePopup())}\n >\n <X size={16} />\n </button>\n </div>\n\n <div className=\"solid-filter-dialog-sep\" />\n\n <div className=\"solid-filter-dialog-body\">\n <div style={{ textAlign: \"center\",marginBottom:\"10px\",marginTop:\"10px\" }}>\n\n <p style={{ textAlign: \"center\", fontSize: \"13px\", marginBottom: \"0\" }}>\n You can summarize based on selected records or the full dataset.\n <br />\n Click <strong>Continue</strong> to load the summary.\n </p>\n <SolidButton\n size=\"small\"\n loading={loading}\n onClick={handleContinue}\n >\n Continue\n </SolidButton>\n\n </div>\n {pivotData && (\n <div style={{ marginTop: \"20px\" }}>\n <PivotChart data={pivotData} />\n </div>\n )}\n </div>\n\n\n </div>\n );\n};\n"]}