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

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 (42) hide show
  1. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  2. package/dist/components/auth/SolidLogin.js +2 -2
  3. package/dist/components/auth/SolidLogin.js.map +1 -1
  4. package/dist/components/auth/SolidLogin.tsx +3 -0
  5. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  6. package/dist/components/auth/SolidRegister.js +4 -4
  7. package/dist/components/auth/SolidRegister.js.map +1 -1
  8. package/dist/components/auth/SolidRegister.tsx +7 -0
  9. package/dist/components/core/common/dndCompat.d.ts +8 -0
  10. package/dist/components/core/common/dndCompat.d.ts.map +1 -0
  11. package/dist/components/core/common/dndCompat.js +5 -0
  12. package/dist/components/core/common/dndCompat.js.map +1 -0
  13. package/dist/components/core/common/dndCompat.ts +9 -0
  14. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  15. package/dist/components/core/kanban/KanbanCard.js +2 -2
  16. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  17. package/dist/components/core/kanban/KanbanCard.tsx +4 -3
  18. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  19. package/dist/components/core/kanban/KanbanColumn.js +3 -3
  20. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  21. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  22. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  23. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +4 -3
  24. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  25. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +13 -12
  26. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  27. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +1 -1
  28. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  29. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +6 -0
  30. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  31. package/dist/components/layout/AdminTopHeader.js +25 -1
  32. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  33. package/dist/components/layout/AdminTopHeader.tsx +38 -1
  34. package/dist/components/shad-cn-ui/SolidTabs.js +1 -1
  35. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  36. package/dist/components/shad-cn-ui/SolidTabs.tsx +1 -1
  37. package/dist/resources/shadcn-base.css +5 -1
  38. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  39. package/dist/routes/guards/AuthGuard.js +4 -1
  40. package/dist/routes/guards/AuthGuard.js.map +1 -1
  41. package/dist/routes/guards/AuthGuard.tsx +6 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanCard.js","sourceRoot":"","sources":["../../../../src/components/core/kanban/KanbanCard.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React from \"react\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { Draggable, DraggableProvided } from \"@hello-pangea/dnd\";\nimport {\n SolidDropdownMenu,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuTrigger,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\n// Define the types for the data and props\ninterface Data {\n id: string;\n title: string;\n content: string;\n}\n\ninterface KanbanCardProps {\n data: Data;\n solidKanbanViewMetaData: any;\n index: number;\n isDragDisabled?: boolean;\n setLightboxUrls?: any;\n setOpenLightbox?: any;\n editButtonUrl?: string;\n groupByFieldName?: string;\n group?: any;\n cardNode?: any;\n DynamicCardWidget?: any;\n}\n\nconst KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData, index, isDragDisabled = false, setLightboxUrls, setOpenLightbox, editButtonUrl, groupByFieldName, group, cardNode, DynamicCardWidget }) => {\n const router = useRouter()\n const openRecord = () => {\n if (typeof window !== \"undefined\") {\n sessionStorage.setItem(\"fromView\", \"kanban\");\n }\n router.push(`${editButtonUrl}/${data?.id}`);\n };\n\n const openEdit = () => {\n router.push(`${editButtonUrl}/${data?.id}`);\n };\n\n const renderKanbanAction = (data) => {\n return (\n <div className=\"solid-kanban-action\" onClick={(e) => e.stopPropagation()}>\n <SolidDropdownMenu>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-header-cog-trigger solid-kanban-action-trigger\"\n aria-label=\"Open card actions\"\n >\n <SolidIcon name=\"si-ellipsis-v\" aria-hidden />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"solid-custom-overlay\" align=\"end\">\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => router.push(`${editButtonUrl}/${data?.id}`)}\n >\n <SolidIcon name=\"si-pencil\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Edit</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n </div>\n )\n }\n\n return (\n <Draggable draggableId={String(data.id)} index={index} isDragDisabled={isDragDisabled}>\n {(provided: DraggableProvided, snapshot) => (\n <div\n className=\"\"\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...(!isDragDisabled ? provided.dragHandleProps : {})}\n style={{ marginTop: \"1rem\", ...provided.draggableProps.style }}\n className=\"kanban-card-container\"\n >\n {/* <p className=\"kanban-card-heading\">{data.title}</p> */}\n {/* <p className=\"kanban-card-content\">{data.content}</p> */}\n <div\n style={{\n opacity: snapshot.isDragging ? 0.9 : 1,\n transform: snapshot.isDragging ? \"rotate(-2deg)\" : \"\",\n cursor: isDragDisabled ? \"pointer\" : \"grab\"\n }}\n elevation={snapshot.isDragging ? 3 : 1}\n className=\"solid-kanban-card\"\n onClick={openRecord}\n >\n {renderKanbanAction(data)}\n {DynamicCardWidget ? (\n <DynamicCardWidget\n rowData={data}\n solidKanbanViewMetaData={solidKanbanViewMetaData}\n solidView={solidKanbanViewMetaData?.solidView}\n solidFieldsMetadata={solidKanbanViewMetaData?.solidFieldsMetadata}\n card={cardNode}\n layoutAttrs={solidKanbanViewMetaData?.solidView?.layout?.attrs || {}}\n groupedView={true}\n groupByFieldName={groupByFieldName}\n group={group}\n editButtonUrl={editButtonUrl}\n setLightboxUrls={setLightboxUrls}\n setOpenLightbox={setOpenLightbox}\n openRecord={openRecord}\n openEdit={openEdit}\n />\n ) : null}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default KanbanCard;\n"]}
1
+ {"version":3,"file":"KanbanCard.js","sourceRoot":"","sources":["../../../../src/components/core/kanban/KanbanCard.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React from \"react\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { DraggableProvided } from \"@hello-pangea/dnd\";\nimport { CompatibleDraggable } from \"../common/dndCompat\";\nimport {\n SolidDropdownMenu,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuTrigger,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\n// Define the types for the data and props\ninterface Data {\n id: string;\n title: string;\n content: string;\n}\n\ninterface KanbanCardProps {\n data: Data;\n solidKanbanViewMetaData: any;\n index: number;\n isDragDisabled?: boolean;\n setLightboxUrls?: any;\n setOpenLightbox?: any;\n editButtonUrl?: string;\n groupByFieldName?: string;\n group?: any;\n cardNode?: any;\n DynamicCardWidget?: any;\n}\n\nconst KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData, index, isDragDisabled = false, setLightboxUrls, setOpenLightbox, editButtonUrl, groupByFieldName, group, cardNode, DynamicCardWidget }) => {\n const router = useRouter()\n const openRecord = () => {\n if (typeof window !== \"undefined\") {\n sessionStorage.setItem(\"fromView\", \"kanban\");\n }\n router.push(`${editButtonUrl}/${data?.id}`);\n };\n\n const openEdit = () => {\n router.push(`${editButtonUrl}/${data?.id}`);\n };\n\n const renderKanbanAction = (data) => {\n return (\n <div className=\"solid-kanban-action\" onClick={(e) => e.stopPropagation()}>\n <SolidDropdownMenu>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-header-cog-trigger solid-kanban-action-trigger\"\n aria-label=\"Open card actions\"\n >\n <SolidIcon name=\"si-ellipsis-v\" aria-hidden />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"solid-custom-overlay\" align=\"end\">\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => router.push(`${editButtonUrl}/${data?.id}`)}\n >\n <SolidIcon name=\"si-pencil\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Edit</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n </div>\n )\n }\n\n return (\n <CompatibleDraggable draggableId={String(data.id)} index={index} isDragDisabled={isDragDisabled}>\n {(provided: DraggableProvided, snapshot) => (\n <div\n className=\"\"\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...(!isDragDisabled ? provided.dragHandleProps : {})}\n style={{ marginTop: \"1rem\", ...provided.draggableProps.style }}\n className=\"kanban-card-container\"\n >\n {/* <p className=\"kanban-card-heading\">{data.title}</p> */}\n {/* <p className=\"kanban-card-content\">{data.content}</p> */}\n <div\n style={{\n opacity: snapshot.isDragging ? 0.9 : 1,\n transform: snapshot.isDragging ? \"rotate(-2deg)\" : \"\",\n cursor: isDragDisabled ? \"pointer\" : \"grab\"\n }}\n elevation={snapshot.isDragging ? 3 : 1}\n className=\"solid-kanban-card\"\n onClick={openRecord}\n >\n {renderKanbanAction(data)}\n {DynamicCardWidget ? (\n <DynamicCardWidget\n rowData={data}\n solidKanbanViewMetaData={solidKanbanViewMetaData}\n solidView={solidKanbanViewMetaData?.solidView}\n solidFieldsMetadata={solidKanbanViewMetaData?.solidFieldsMetadata}\n card={cardNode}\n layoutAttrs={solidKanbanViewMetaData?.solidView?.layout?.attrs || {}}\n groupedView={true}\n groupByFieldName={groupByFieldName}\n group={group}\n editButtonUrl={editButtonUrl}\n setLightboxUrls={setLightboxUrls}\n setOpenLightbox={setOpenLightbox}\n openRecord={openRecord}\n openEdit={openEdit}\n />\n ) : null}\n </div>\n </div>\n )}\n </CompatibleDraggable>\n );\n};\n\nexport default KanbanCard;\n"]}
@@ -1,7 +1,8 @@
1
1
  // @ts-nocheck
2
2
  import React from "react";
3
3
  import { useRouter } from "../../../hooks/useRouter";
4
- import { Draggable, DraggableProvided } from "@hello-pangea/dnd";
4
+ import { DraggableProvided } from "@hello-pangea/dnd";
5
+ import { CompatibleDraggable } from "../common/dndCompat";
5
6
  import {
6
7
  SolidDropdownMenu,
7
8
  SolidDropdownMenuContent,
@@ -72,7 +73,7 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData,
72
73
  }
73
74
 
74
75
  return (
75
- <Draggable draggableId={String(data.id)} index={index} isDragDisabled={isDragDisabled}>
76
+ <CompatibleDraggable draggableId={String(data.id)} index={index} isDragDisabled={isDragDisabled}>
76
77
  {(provided: DraggableProvided, snapshot) => (
77
78
  <div
78
79
  className=""
@@ -116,7 +117,7 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData,
116
117
  </div>
117
118
  </div>
118
119
  )}
119
- </Draggable>
120
+ </CompatibleDraggable>
120
121
  );
121
122
  };
122
123
 
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/core/kanban/KanbanColumn.tsx"],"names":[],"mappings":"AAaA,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC;IACrB,eAAe,EAAE,GAAG,CAAA;CACrB;AAGD,QAAA,MAAM,YAAY,+LAAuM,iBAAiB,4CA0EzO,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"KanbanColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/core/kanban/KanbanColumn.tsx"],"names":[],"mappings":"AAcA,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC;IACrB,eAAe,EAAE,GAAG,CAAA;CACrB;AAGD,QAAA,MAAM,YAAY,+LAAuM,iBAAiB,4CA0EzO,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -10,8 +10,8 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { Droppable } from "@hello-pangea/dnd";
14
13
  import KanbanCard from "./KanbanCard";
14
+ import { asCompatibleReactNode, CompatibleDroppable } from "../common/dndCompat";
15
15
  import { SolidButton, SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuTrigger, SolidIcon, } from "../../shad-cn-ui";
16
16
  // @ts-ignore
17
17
  var KanbanColumn = function (_a) {
@@ -19,9 +19,9 @@ var KanbanColumn = function (_a) {
19
19
  return (_jsxs("div", { className: group.folded ? "kanban-column kanban-column-folded" : "kanban-column", children: [_jsxs("div", { className: "kaban-heading-area", children: [group.folded &&
20
20
  _jsx("a", { onClick: function (e) { return toggleFold(groupByField); }, children: _jsxs("div", { className: "flex align-items-center", children: [_jsxs("div", { className: "kanban-arrow-icon-container", children: [_jsx(SolidIcon, { name: "si-sort-up-fill", "aria-hidden": true }), _jsx(SolidIcon, { name: "si-sort-down-fill", "aria-hidden": true })] }), _jsxs("p", { className: "kanban-group-heading", children: ["".concat(group.label), _jsx("span", { className: "kanban-count-badge", children: group.count })] })] }) }), !group.folded &&
21
21
  _jsx("div", { className: "flex align-items-center", children: _jsxs("p", { className: "kanban-group-heading", children: ["".concat(group.label), _jsx("span", { className: "kanban-count-badge", children: group.count })] }) }), !group.folded &&
22
- _jsxs(SolidDropdownMenu, { children: [_jsx(SolidDropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "solid-header-cog-trigger kanban-column-cogwheel", "aria-label": "Open ".concat(group.label, " lane options"), children: _jsx(SolidIcon, { name: "si-cog", "aria-hidden": true }) }) }), _jsx(SolidDropdownMenuContent, { className: "solid-custom-overlay kanban-options-panel", align: "start", children: _jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item kanban-fold-action-button", onSelect: function () { return toggleFold(groupByField); }, children: [_jsx(SolidIcon, { name: "si-angle-double-left", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Fold" })] }) })] })] }), !group.folded && (_jsx(Droppable, { droppableId: groupByField, isDropDisabled: !isKanbanDragEnabled, children: function (provided) { return (_jsxs("div", __assign({ ref: provided.innerRef }, provided.droppableProps, { style: { minHeight: "100px" }, children: [groupData.map(function (data, index) { return (
22
+ _jsxs(SolidDropdownMenu, { children: [_jsx(SolidDropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "solid-header-cog-trigger kanban-column-cogwheel", "aria-label": "Open ".concat(group.label, " lane options"), children: _jsx(SolidIcon, { name: "si-cog", "aria-hidden": true }) }) }), _jsx(SolidDropdownMenuContent, { className: "solid-custom-overlay kanban-options-panel", align: "start", children: _jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item kanban-fold-action-button", onSelect: function () { return toggleFold(groupByField); }, children: [_jsx(SolidIcon, { name: "si-angle-double-left", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Fold" })] }) })] })] }), !group.folded && (_jsx(CompatibleDroppable, { droppableId: groupByField, isDropDisabled: !isKanbanDragEnabled, children: function (provided) { return (_jsxs("div", __assign({ ref: provided.innerRef }, provided.droppableProps, { style: { minHeight: "100px" }, children: [groupData.map(function (data, index) { return (
23
23
  // @ts-ignore
24
- _jsx(KanbanCard, { data: data, solidKanbanViewMetaData: solidKanbanViewMetaData, index: index, isDragDisabled: !isKanbanDragEnabled, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, editButtonUrl: editButtonUrl, groupByFieldName: groupByField, group: group, cardNode: cardNode, DynamicCardWidget: DynamicCardWidget }, data.id)); }), provided.placeholder, group.count > 0 && (group.count > (group.limit * group.currentPage)) &&
24
+ _jsx(KanbanCard, { data: data, solidKanbanViewMetaData: solidKanbanViewMetaData, index: index, isDragDisabled: !isKanbanDragEnabled, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, editButtonUrl: editButtonUrl, groupByFieldName: groupByField, group: group, cardNode: cardNode, DynamicCardWidget: DynamicCardWidget }, data.id)); }), asCompatibleReactNode(provided.placeholder), group.count > 0 && (group.count > (group.limit * group.currentPage)) &&
25
25
  _jsx(SolidButton, { type: "button", variant: "ghost", size: "sm", className: "kaban-load-more", onClick: function () { return handleLoadMore(groupByField); }, children: "Load more data... (".concat(group.count - (group.limit * group.currentPage), " remaining)") })] }))); } }))] }));
26
26
  };
27
27
  export default KanbanColumn;
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanColumn.js","sourceRoot":"","sources":["../../../../src/components/core/kanban/KanbanColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { Droppable, DroppableProvided } from \"@hello-pangea/dnd\";\nimport KanbanCard from \"./KanbanCard\";\nimport {\n SolidButton,\n SolidDropdownMenu,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuTrigger,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\n// Define types for props\ninterface Group {\n label: string;\n count: number;\n folded: boolean;\n limit: number;\n currentPage: number;\n}\n\ninterface GroupData {\n id: string;\n title: string;\n groupByField: string;\n}\n\ninterface KanbanColumnProps {\n groupByField: string;\n group: Group;\n groupData: GroupData[];\n isKanbanDragEnabled?: boolean;\n cardNode?: any;\n DynamicCardWidget?: any;\n toggleFold: (groupByField: string) => void;\n handleLoadMore: (groupByField: string) => void;\n setLightboxUrls: any,\n setOpenLightbox: any\n}\n\n// @ts-ignore\nconst KanbanColumn = ({ groupByField, solidKanbanViewMetaData, group, groupData, isKanbanDragEnabled = true, cardNode, DynamicCardWidget, toggleFold, handleLoadMore, setLightboxUrls, setOpenLightbox, editButtonUrl }: KanbanColumnProps) => {\n return (\n <div className={group.folded ? \"kanban-column kanban-column-folded\" : \"kanban-column\"}>\n <div className=\"kaban-heading-area\">\n {group.folded &&\n <a onClick={e => toggleFold(groupByField)}>\n <div className=\"flex align-items-center\">\n <div className=\"kanban-arrow-icon-container\">\n <SolidIcon name=\"si-sort-up-fill\" aria-hidden />\n <SolidIcon name=\"si-sort-down-fill\" aria-hidden />\n </div>\n <p className=\"kanban-group-heading\">{`${group.label}`}<span className=\"kanban-count-badge\">{group.count}</span></p>\n </div>\n </a>\n }\n\n {!group.folded &&\n <div className=\"flex align-items-center\">\n <p className=\"kanban-group-heading\">{`${group.label}`}<span className=\"kanban-count-badge\">{group.count}</span></p>\n </div>\n }\n {!group.folded &&\n <SolidDropdownMenu>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-header-cog-trigger kanban-column-cogwheel\"\n aria-label={`Open ${group.label} lane options`}\n >\n <SolidIcon name=\"si-cog\" aria-hidden />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"solid-custom-overlay kanban-options-panel\" align=\"start\">\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item kanban-fold-action-button\"\n onSelect={() => toggleFold(groupByField)}\n >\n <SolidIcon name=\"si-angle-double-left\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Fold</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n }\n </div>\n {!group.folded && (\n <Droppable droppableId={groupByField} isDropDisabled={!isKanbanDragEnabled}>\n {(provided: DroppableProvided) => (\n <div\n ref={provided.innerRef}\n {...provided.droppableProps}\n style={{ minHeight: \"100px\" }}\n >\n {groupData.map((data, index) => (\n // @ts-ignore\n <KanbanCard key={data.id} data={data} solidKanbanViewMetaData={solidKanbanViewMetaData} index={index} isDragDisabled={!isKanbanDragEnabled} setLightboxUrls={setLightboxUrls} setOpenLightbox={setOpenLightbox} editButtonUrl={editButtonUrl} groupByFieldName={groupByField} group={group} cardNode={cardNode} DynamicCardWidget={DynamicCardWidget} />\n ))}\n {provided.placeholder}\n {group.count > 0 && (group.count > (group.limit * group.currentPage)) &&\n <SolidButton\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"kaban-load-more\"\n onClick={() => handleLoadMore(groupByField)}\n >\n {`Load more data... (${group.count - (group.limit * group.currentPage)} remaining)`}\n </SolidButton>\n }\n </div>\n )}\n </Droppable>\n )}\n </div>\n );\n};\n\nexport default KanbanColumn;\n"]}
1
+ {"version":3,"file":"KanbanColumn.js","sourceRoot":"","sources":["../../../../src/components/core/kanban/KanbanColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { DroppableProvided } from \"@hello-pangea/dnd\";\nimport KanbanCard from \"./KanbanCard\";\nimport { asCompatibleReactNode, CompatibleDroppable } from \"../common/dndCompat\";\nimport {\n SolidButton,\n SolidDropdownMenu,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuTrigger,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\n// Define types for props\ninterface Group {\n label: string;\n count: number;\n folded: boolean;\n limit: number;\n currentPage: number;\n}\n\ninterface GroupData {\n id: string;\n title: string;\n groupByField: string;\n}\n\ninterface KanbanColumnProps {\n groupByField: string;\n group: Group;\n groupData: GroupData[];\n isKanbanDragEnabled?: boolean;\n cardNode?: any;\n DynamicCardWidget?: any;\n toggleFold: (groupByField: string) => void;\n handleLoadMore: (groupByField: string) => void;\n setLightboxUrls: any,\n setOpenLightbox: any\n}\n\n// @ts-ignore\nconst KanbanColumn = ({ groupByField, solidKanbanViewMetaData, group, groupData, isKanbanDragEnabled = true, cardNode, DynamicCardWidget, toggleFold, handleLoadMore, setLightboxUrls, setOpenLightbox, editButtonUrl }: KanbanColumnProps) => {\n return (\n <div className={group.folded ? \"kanban-column kanban-column-folded\" : \"kanban-column\"}>\n <div className=\"kaban-heading-area\">\n {group.folded &&\n <a onClick={e => toggleFold(groupByField)}>\n <div className=\"flex align-items-center\">\n <div className=\"kanban-arrow-icon-container\">\n <SolidIcon name=\"si-sort-up-fill\" aria-hidden />\n <SolidIcon name=\"si-sort-down-fill\" aria-hidden />\n </div>\n <p className=\"kanban-group-heading\">{`${group.label}`}<span className=\"kanban-count-badge\">{group.count}</span></p>\n </div>\n </a>\n }\n\n {!group.folded &&\n <div className=\"flex align-items-center\">\n <p className=\"kanban-group-heading\">{`${group.label}`}<span className=\"kanban-count-badge\">{group.count}</span></p>\n </div>\n }\n {!group.folded &&\n <SolidDropdownMenu>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-header-cog-trigger kanban-column-cogwheel\"\n aria-label={`Open ${group.label} lane options`}\n >\n <SolidIcon name=\"si-cog\" aria-hidden />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"solid-custom-overlay kanban-options-panel\" align=\"start\">\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item kanban-fold-action-button\"\n onSelect={() => toggleFold(groupByField)}\n >\n <SolidIcon name=\"si-angle-double-left\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Fold</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n }\n </div>\n {!group.folded && (\n <CompatibleDroppable droppableId={groupByField} isDropDisabled={!isKanbanDragEnabled}>\n {(provided: DroppableProvided) => (\n <div\n ref={provided.innerRef}\n {...provided.droppableProps}\n style={{ minHeight: \"100px\" }}\n >\n {groupData.map((data, index) => (\n // @ts-ignore\n <KanbanCard key={data.id} data={data} solidKanbanViewMetaData={solidKanbanViewMetaData} index={index} isDragDisabled={!isKanbanDragEnabled} setLightboxUrls={setLightboxUrls} setOpenLightbox={setOpenLightbox} editButtonUrl={editButtonUrl} groupByFieldName={groupByField} group={group} cardNode={cardNode} DynamicCardWidget={DynamicCardWidget} />\n ))}\n {asCompatibleReactNode(provided.placeholder)}\n {group.count > 0 && (group.count > (group.limit * group.currentPage)) &&\n <SolidButton\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"kaban-load-more\"\n onClick={() => handleLoadMore(groupByField)}\n >\n {`Load more data... (${group.count - (group.limit * group.currentPage)} remaining)`}\n </SolidButton>\n }\n </div>\n )}\n </CompatibleDroppable>\n )}\n </div>\n );\n};\n\nexport default KanbanColumn;\n"]}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
- import { Droppable, DroppableProvided } from "@hello-pangea/dnd";
2
+ import { DroppableProvided } from "@hello-pangea/dnd";
3
3
  import KanbanCard from "./KanbanCard";
4
+ import { asCompatibleReactNode, CompatibleDroppable } from "../common/dndCompat";
4
5
  import {
5
6
  SolidButton,
6
7
  SolidDropdownMenu,
@@ -84,7 +85,7 @@ const KanbanColumn = ({ groupByField, solidKanbanViewMetaData, group, groupData,
84
85
  }
85
86
  </div>
86
87
  {!group.folded && (
87
- <Droppable droppableId={groupByField} isDropDisabled={!isKanbanDragEnabled}>
88
+ <CompatibleDroppable droppableId={groupByField} isDropDisabled={!isKanbanDragEnabled}>
88
89
  {(provided: DroppableProvided) => (
89
90
  <div
90
91
  ref={provided.innerRef}
@@ -95,7 +96,7 @@ const KanbanColumn = ({ groupByField, solidKanbanViewMetaData, group, groupData,
95
96
  // @ts-ignore
96
97
  <KanbanCard key={data.id} data={data} solidKanbanViewMetaData={solidKanbanViewMetaData} index={index} isDragDisabled={!isKanbanDragEnabled} setLightboxUrls={setLightboxUrls} setOpenLightbox={setOpenLightbox} editButtonUrl={editButtonUrl} groupByFieldName={groupByField} group={group} cardNode={cardNode} DynamicCardWidget={DynamicCardWidget} />
97
98
  ))}
98
- {provided.placeholder}
99
+ {asCompatibleReactNode(provided.placeholder)}
99
100
  {group.count > 0 && (group.count > (group.limit * group.currentPage)) &&
100
101
  <SolidButton
101
102
  type="button"
@@ -109,7 +110,7 @@ const KanbanColumn = ({ groupByField, solidKanbanViewMetaData, group, groupData,
109
110
  }
110
111
  </div>
111
112
  )}
112
- </Droppable>
113
+ </CompatibleDroppable>
113
114
  )}
114
115
  </div>
115
116
  );
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListColumnSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx"],"names":[],"mappings":"AAkBA,eAAO,MAAM,uBAAuB,kCAAmC,GAAG,wDAuMzE,CAAA"}
1
+ {"version":3,"file":"SolidListColumnSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,uBAAuB,kCAAmC,GAAG,wDAuMzE,CAAA"}
@@ -59,10 +59,11 @@ import { useFormik } from 'formik';
59
59
  import { useState } from 'react';
60
60
  import { useDispatch } from 'react-redux';
61
61
  import { createSolidEntityApi } from '../../../../redux/api/solidEntityApi';
62
- import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
62
+ import { DragDropContext } from '@hello-pangea/dnd';
63
63
  import styles from './SolidListColumnSelector.module.css';
64
64
  import { ERROR_MESSAGES } from '../../../../constants/error-messages';
65
65
  import { showToast } from '../../../../redux/features/toastSlice';
66
+ import { asCompatibleReactNode, CompatibleDraggable, CompatibleDroppable } from '../../common/dndCompat';
66
67
  export var SolidListColumnSelector = function (_a) {
67
68
  var _b, _c;
68
69
  var listViewMetaData = _a.listViewMetaData, onClose = _a.onClose;
@@ -190,12 +191,12 @@ export var SolidListColumnSelector = function (_a) {
190
191
  reordered.splice(result.destination.index, 0, moved);
191
192
  setFields(reordered);
192
193
  };
193
- return (_jsx(_Fragment, { children: _jsxs("form", { onSubmit: formik.handleSubmit, className: "flex flex-column gap-1 px-0", children: [_jsx(DragDropContext, { onDragEnd: onDragEnd, onDragStart: function () { return setIsDragging(true); }, children: _jsx(Droppable, { droppableId: "columns", children: function (provided) { return (_jsxs("div", __assign({}, provided.droppableProps, { ref: provided.innerRef, className: "flex flex-column cogwheel-column-filter px-0 ".concat(isDragging ? styles.SolidColumnDragContextActive : ''), style: { maxHeight: 400, overflowY: 'auto' }, children: [fields.map(function (column, index) { return (_jsx(Draggable, { draggableId: column.key, index: index, children: function (provided, snapshot) { return (_jsxs("div", __assign({ ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps, { className: "flex align-items-center justify-content-between gap-3 px-2 py-2 ".concat(snapshot.isDragging ? styles.SolidColumnDraggedActiveElement : ''), style: __assign({}, provided.draggableProps.style), children: [_jsxs("label", { htmlFor: column.key, className: 'solid-column-selector-item-main', children: [_jsx("input", { id: column.key, type: "checkbox", name: "selectedColumns", className: "solid-column-selector-checkbox", checked: formik.values.selectedColumns.some(function (item) { return item.key === column.key; }), onChange: function () {
194
+ return (_jsx(_Fragment, { children: _jsxs("form", { onSubmit: formik.handleSubmit, className: "flex flex-column gap-1 px-0", children: [_jsx(DragDropContext, { onDragEnd: onDragEnd, onDragStart: function () { return setIsDragging(true); }, children: _jsx(CompatibleDroppable, { droppableId: "columns", children: function (provided) { return (_jsxs("div", __assign({}, provided.droppableProps, { ref: provided.innerRef, className: "flex flex-column cogwheel-column-filter px-0 ".concat(isDragging ? styles.SolidColumnDragContextActive : ''), style: { maxHeight: 400, overflowY: 'auto' }, children: [fields.map(function (column, index) { return (_jsx(CompatibleDraggable, { draggableId: column.key, index: index, children: function (provided, snapshot) { return (_jsxs("div", __assign({ ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps, { className: "flex align-items-center justify-content-between gap-3 px-2 py-2 ".concat(snapshot.isDragging ? styles.SolidColumnDraggedActiveElement : ''), style: __assign({}, provided.draggableProps.style), children: [_jsxs("label", { htmlFor: column.key, className: 'solid-column-selector-item-main', children: [_jsx("input", { id: column.key, type: "checkbox", name: "selectedColumns", className: "solid-column-selector-checkbox", checked: formik.values.selectedColumns.some(function (item) { return item.key === column.key; }), onChange: function () {
194
195
  var isChecked = formik.values.selectedColumns.some(function (item) { return item.key === column.key; });
195
196
  formik.setFieldValue("selectedColumns", isChecked
196
197
  ? formik.values.selectedColumns.filter(function (item) { return item.key !== column.key; })
197
198
  : __spreadArray(__spreadArray([], formik.values.selectedColumns, true), [column], false));
198
- } }), _jsx("span", { className: "solid-column-selector-label", children: column.name })] }), _jsx(DragActive, { active: snapshot.isDragging })] }))); } }, column.key)); }), provided.placeholder] }))); } }) }), _jsxs("div", { className: "solid-column-selector-actions", children: [_jsx("button", { type: 'submit', className: "solid-compact-action-button solid-compact-action-button-primary", children: "Apply" }), _jsx("button", { type: 'button', className: "solid-compact-action-button", onClick: function () { return onClose === null || onClose === void 0 ? void 0 : onClose(); }, children: "Cancel" })] })] }) }));
199
+ } }), _jsx("span", { className: "solid-column-selector-label", children: column.name })] }), _jsx(DragActive, { active: snapshot.isDragging })] }))); } }, column.key)); }), asCompatibleReactNode(provided.placeholder)] }))); } }) }), _jsxs("div", { className: "solid-column-selector-actions", children: [_jsx("button", { type: 'submit', className: "solid-compact-action-button solid-compact-action-button-primary", children: "Apply" }), _jsx("button", { type: 'button', className: "solid-compact-action-button", onClick: function () { return onClose === null || onClose === void 0 ? void 0 : onClose(); }, children: "Cancel" })] })] }) }));
199
200
  };
200
201
  var DragActive = function (_a) {
201
202
  var active = _a.active;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListColumnSelector.js","sourceRoot":"","sources":["../../../../../src/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useFormik } from 'formik';\nimport React, { useState } from 'react'\nimport { useDispatch } from 'react-redux';\nimport { createSolidEntityApi } from '../../../../redux/api/solidEntityApi';\nimport { DragDropContext, Droppable, Draggable, DropResult } from '@hello-pangea/dnd';\nimport styles from './SolidListColumnSelector.module.css'\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { showToast } from '../../../../redux/features/toastSlice';\n\ninterface FieldMetadata {\n displayName: string;\n}\n\ninterface FilterColumns {\n name: string;\n key: string;\n}\n\nexport const SolidListColumnSelector = ({ listViewMetaData, onClose }: any) => {\n const dispatch = useDispatch();\n const [isDragging, setIsDragging] = useState(false);\n const entityApi = createSolidEntityApi('userViewMetadata');\n const {\n useUpsertSolidEntityMutation\n } = entityApi;\n\n const [upsertUserView, { isLoading, error: viewCreateError, isSuccess, data: data }] = useUpsertSolidEntityMutation();\n\n if (!listViewMetaData) {\n return;\n }\n if (!listViewMetaData.data) {\n return;\n }\n\n const solidView = listViewMetaData?.data?.solidView;\n\n // This is a key value map of field name vs field metadata.\n const solidFieldsMetadata = listViewMetaData?.data?.solidFieldsMetadata as Record<string, FieldMetadata>;\n\n\n if (!solidView || !solidFieldsMetadata) {\n return;\n }\n\n const checkedFieldNames = new Set(solidView.layout.children.map((col: { attrs: { name: string } }) => col.attrs.name));\n\n const solidListColumns: FilterColumns[] = Object.entries(solidFieldsMetadata).map(([key, field]) => ({\n name: field.displayName,\n key,\n }));\n\n const [fields, setFields] = useState<FilterColumns[]>(() => {\n const selectedOrder = solidView.layout.children.map((child: any) => child.attrs.name);\n\n const allColumns: FilterColumns[] = Object.entries(solidFieldsMetadata).map(([key, field]) => ({\n name: field.displayName,\n key,\n }));\n\n const selectedFields: FilterColumns[] = [];\n const remainingFields: FilterColumns[] = [];\n\n const usedKeys = new Set<string>();\n\n // First, add selected fields in the order of solidView\n for (const key of selectedOrder) {\n const column = allColumns.find(col => col.key === key);\n if (column) {\n selectedFields.push(column);\n usedKeys.add(key);\n }\n }\n\n // Then, add remaining fields that are not selected\n for (const col of allColumns) {\n if (!usedKeys.has(col.key)) {\n remainingFields.push(col);\n }\n }\n\n return [...selectedFields, ...remainingFields];\n });\n\n const formik = useFormik({\n initialValues: {\n selectedColumns: solidListColumns.filter(col => checkedFieldNames.has(col.key)),\n },\n onSubmit: async (values) => {\n const selectedKeys = values.selectedColumns.map(col => col.key);\n\n // Step 1: Extract current children\n const currentChildren = solidView.layout.children;\n\n // Step 2: Create a map of all available metadata\n const allFieldMeta = solidFieldsMetadata;\n\n // Step 3: Filter children to include only selected keys\n const newChildren = fields\n .filter(col => selectedKeys.includes(col.key))\n .map(({ key }) => {\n const existingChild = currentChildren.find((child: any) => child.attrs.name === key);\n if (existingChild) return existingChild;\n \n // @ts-ignore\n const fieldType = allFieldMeta[key]?.type;\n const isTextType = fieldType === \"shortText\" || fieldType === \"longText\" || fieldType ===\"selectionStatic\" || fieldType ===\"selectionDynamic\";\n \n return {\n type: 'field',\n attrs: {\n name: key,\n label: allFieldMeta[key]?.displayName || key,\n ...(isTextType ? { isSearchable: true } : {}),\n },\n };\n });\n \n // Now build updated solidView\n const updatedView = {\n layout: {\n ...solidView.layout,\n children: newChildren\n }\n };\n\n try {\n if (listViewMetaData?.data?.solidView?.id) {\n // Update existing user view\n const response = await upsertUserView({\n viewMetadataId: listViewMetaData?.data?.solidView?.id,\n layout: JSON.stringify(updatedView.layout),\n }).unwrap();\n if (response.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LAYOUT, detail: ERROR_MESSAGES.FORM_LAYOUT_UPDATE }));\n window.location.reload();\n }\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.UPDATING_USER, error);\n }\n },\n });\n\n const onDragEnd = (result: DropResult) => {\n setIsDragging(false);\n if (!result.destination) return;\n const reordered = [...fields];\n const [moved] = reordered.splice(result.source.index, 1);\n reordered.splice(result.destination.index, 0, moved);\n setFields(reordered);\n };\n\n return (\n <>\n <form onSubmit={formik.handleSubmit} className=\"flex flex-column gap-1 px-0\">\n <DragDropContext onDragEnd={onDragEnd} onDragStart={() => setIsDragging(true)}>\n <Droppable droppableId=\"columns\">\n {(provided): React.ReactElement => (\n <div\n {...provided.droppableProps}\n ref={provided.innerRef}\n className={`flex flex-column cogwheel-column-filter px-0 ${isDragging ? styles.SolidColumnDragContextActive : ''}`}\n style={{ maxHeight: 400, overflowY: 'auto' }}\n >\n {fields.map((column, index) => (\n <Draggable key={column.key} draggableId={column.key} index={index}>\n {(provided, snapshot): React.ReactElement => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n className={`flex align-items-center justify-content-between gap-3 px-2 py-2 ${snapshot.isDragging ? styles.SolidColumnDraggedActiveElement : ''}`}\n style={{\n ...provided.draggableProps.style,\n }}\n >\n <label htmlFor={column.key} className='solid-column-selector-item-main'>\n <input\n id={column.key}\n type=\"checkbox\"\n name=\"selectedColumns\"\n className=\"solid-column-selector-checkbox\"\n checked={formik.values.selectedColumns.some(item => item.key === column.key)}\n onChange={() => {\n const isChecked = formik.values.selectedColumns.some(item => item.key === column.key);\n formik.setFieldValue(\n \"selectedColumns\",\n isChecked\n ? formik.values.selectedColumns.filter(item => item.key !== column.key)\n : [...formik.values.selectedColumns, column]\n );\n }}\n />\n <span className=\"solid-column-selector-label\">\n {column.name}\n </span>\n </label>\n <DragActive active={snapshot.isDragging} />\n </div>\n )}\n </Draggable>\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n <div className=\"solid-column-selector-actions\">\n <button type='submit' className=\"solid-compact-action-button solid-compact-action-button-primary\">Apply</button>\n <button type='button' className=\"solid-compact-action-button\" onClick={() => onClose?.()}>\n Cancel\n </button>\n </div>\n </form>\n </>\n )\n}\n\nconst DragActive = ({ active }: any) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M7.46354 11.7331C7.46354 12.0997 7.33299 12.4136 7.07187 12.6747C6.81076 12.9359 6.49687 13.0664 6.13021 13.0664C5.76354 13.0664 5.44965 12.9359 5.18854 12.6747C4.92743 12.4136 4.79688 12.0997 4.79688 11.7331C4.79688 11.3664 4.92743 11.0525 5.18854 10.7914C5.44965 10.5303 5.76354 10.3997 6.13021 10.3997C6.49687 10.3997 6.81076 10.5303 7.07187 10.7914C7.33299 11.0525 7.46354 11.3664 7.46354 11.7331ZM7.46354 7.73307C7.46354 8.09974 7.33299 8.41363 7.07187 8.67474C6.81076 8.93585 6.49687 9.06641 6.13021 9.06641C5.76354 9.06641 5.44965 8.93585 5.18854 8.67474C4.92743 8.41363 4.79688 8.09974 4.79688 7.73307C4.79688 7.36641 4.92743 7.05252 5.18854 6.79141C5.44965 6.5303 5.76354 6.39974 6.13021 6.39974C6.49687 6.39974 6.81076 6.5303 7.07187 6.79141C7.33299 7.05252 7.46354 7.36641 7.46354 7.73307ZM7.46354 3.73307C7.46354 4.09974 7.33299 4.41363 7.07187 4.67474C6.81076 4.93585 6.49687 5.06641 6.13021 5.06641C5.76354 5.06641 5.44965 4.93585 5.18854 4.67474C4.92743 4.41363 4.79688 4.09974 4.79688 3.73307C4.79688 3.36641 4.92743 3.05252 5.18854 2.79141C5.44965 2.5303 5.76354 2.39974 6.13021 2.39974C6.49687 2.39974 6.81076 2.5303 7.07187 2.79141C7.33299 3.05252 7.46354 3.36641 7.46354 3.73307Z\" fill=\"var(--icon-color)\" fill-opacity={active ? \"0.75\" : \"0.25\"} />\n <path d=\"M11.737 11.7331C11.737 12.0997 11.6064 12.4136 11.3453 12.6747C11.0842 12.9359 10.7703 13.0664 10.4036 13.0664C10.037 13.0664 9.72309 12.9359 9.46198 12.6747C9.20087 12.4136 9.07031 12.0997 9.07031 11.7331C9.07031 11.3664 9.20087 11.0525 9.46198 10.7914C9.72309 10.5303 10.037 10.3997 10.4036 10.3997C10.7703 10.3997 11.0842 10.5303 11.3453 10.7914C11.6064 11.0525 11.737 11.3664 11.737 11.7331ZM11.737 7.73307C11.737 8.09974 11.6064 8.41363 11.3453 8.67474C11.0842 8.93585 10.7703 9.06641 10.4036 9.06641C10.037 9.06641 9.72309 8.93585 9.46198 8.67474C9.20087 8.41363 9.07031 8.09974 9.07031 7.73307C9.07031 7.36641 9.20087 7.05252 9.46198 6.79141C9.72309 6.5303 10.037 6.39974 10.4036 6.39974C10.7703 6.39974 11.0842 6.5303 11.3453 6.79141C11.6064 7.05252 11.737 7.36641 11.737 7.73307ZM11.737 3.73307C11.737 4.09974 11.6064 4.41363 11.3453 4.67474C11.0842 4.93585 10.7703 5.06641 10.4036 5.06641C10.037 5.06641 9.72309 4.93585 9.46198 4.67474C9.20087 4.41363 9.07031 4.09974 9.07031 3.73307C9.07031 3.36641 9.20087 3.05252 9.46198 2.79141C9.72309 2.5303 10.037 2.39974 10.4036 2.39974C10.7703 2.39974 11.0842 2.5303 11.3453 2.79141C11.6064 3.05252 11.737 3.36641 11.737 3.73307Z\" fill=\"var(--icon-color)\" fill-opacity={active ? \"0.75\" : \"0.25\"} />\n </svg>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidListColumnSelector.js","sourceRoot":"","sources":["../../../../../src/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useFormik } from 'formik';\nimport React, { useState } from 'react'\nimport { useDispatch } from 'react-redux';\nimport { createSolidEntityApi } from '../../../../redux/api/solidEntityApi';\nimport { DragDropContext, DropResult } from '@hello-pangea/dnd';\nimport styles from './SolidListColumnSelector.module.css'\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport { asCompatibleReactNode, CompatibleDraggable, CompatibleDroppable } from '../../common/dndCompat';\n\ninterface FieldMetadata {\n displayName: string;\n}\n\ninterface FilterColumns {\n name: string;\n key: string;\n}\n\nexport const SolidListColumnSelector = ({ listViewMetaData, onClose }: any) => {\n const dispatch = useDispatch();\n const [isDragging, setIsDragging] = useState(false);\n const entityApi = createSolidEntityApi('userViewMetadata');\n const {\n useUpsertSolidEntityMutation\n } = entityApi;\n\n const [upsertUserView, { isLoading, error: viewCreateError, isSuccess, data: data }] = useUpsertSolidEntityMutation();\n\n if (!listViewMetaData) {\n return;\n }\n if (!listViewMetaData.data) {\n return;\n }\n\n const solidView = listViewMetaData?.data?.solidView;\n\n // This is a key value map of field name vs field metadata.\n const solidFieldsMetadata = listViewMetaData?.data?.solidFieldsMetadata as Record<string, FieldMetadata>;\n\n\n if (!solidView || !solidFieldsMetadata) {\n return;\n }\n\n const checkedFieldNames = new Set(solidView.layout.children.map((col: { attrs: { name: string } }) => col.attrs.name));\n\n const solidListColumns: FilterColumns[] = Object.entries(solidFieldsMetadata).map(([key, field]) => ({\n name: field.displayName,\n key,\n }));\n\n const [fields, setFields] = useState<FilterColumns[]>(() => {\n const selectedOrder = solidView.layout.children.map((child: any) => child.attrs.name);\n\n const allColumns: FilterColumns[] = Object.entries(solidFieldsMetadata).map(([key, field]) => ({\n name: field.displayName,\n key,\n }));\n\n const selectedFields: FilterColumns[] = [];\n const remainingFields: FilterColumns[] = [];\n\n const usedKeys = new Set<string>();\n\n // First, add selected fields in the order of solidView\n for (const key of selectedOrder) {\n const column = allColumns.find(col => col.key === key);\n if (column) {\n selectedFields.push(column);\n usedKeys.add(key);\n }\n }\n\n // Then, add remaining fields that are not selected\n for (const col of allColumns) {\n if (!usedKeys.has(col.key)) {\n remainingFields.push(col);\n }\n }\n\n return [...selectedFields, ...remainingFields];\n });\n\n const formik = useFormik({\n initialValues: {\n selectedColumns: solidListColumns.filter(col => checkedFieldNames.has(col.key)),\n },\n onSubmit: async (values) => {\n const selectedKeys = values.selectedColumns.map(col => col.key);\n\n // Step 1: Extract current children\n const currentChildren = solidView.layout.children;\n\n // Step 2: Create a map of all available metadata\n const allFieldMeta = solidFieldsMetadata;\n\n // Step 3: Filter children to include only selected keys\n const newChildren = fields\n .filter(col => selectedKeys.includes(col.key))\n .map(({ key }) => {\n const existingChild = currentChildren.find((child: any) => child.attrs.name === key);\n if (existingChild) return existingChild;\n\n // @ts-ignore\n const fieldType = allFieldMeta[key]?.type;\n const isTextType = fieldType === \"shortText\" || fieldType === \"longText\" || fieldType === \"selectionStatic\" || fieldType === \"selectionDynamic\";\n\n return {\n type: 'field',\n attrs: {\n name: key,\n label: allFieldMeta[key]?.displayName || key,\n ...(isTextType ? { isSearchable: true } : {}),\n },\n };\n });\n\n // Now build updated solidView\n const updatedView = {\n layout: {\n ...solidView.layout,\n children: newChildren\n }\n };\n\n try {\n if (listViewMetaData?.data?.solidView?.id) {\n // Update existing user view\n const response = await upsertUserView({\n viewMetadataId: listViewMetaData?.data?.solidView?.id,\n layout: JSON.stringify(updatedView.layout),\n }).unwrap();\n if (response.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LAYOUT, detail: ERROR_MESSAGES.FORM_LAYOUT_UPDATE }));\n window.location.reload();\n }\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.UPDATING_USER, error);\n }\n },\n });\n\n const onDragEnd = (result: DropResult) => {\n setIsDragging(false);\n if (!result.destination) return;\n const reordered = [...fields];\n const [moved] = reordered.splice(result.source.index, 1);\n reordered.splice(result.destination.index, 0, moved);\n setFields(reordered);\n };\n\n return (\n <>\n <form onSubmit={formik.handleSubmit} className=\"flex flex-column gap-1 px-0\">\n <DragDropContext onDragEnd={onDragEnd} onDragStart={() => setIsDragging(true)}>\n <CompatibleDroppable droppableId=\"columns\">\n {(provided): any => (\n <div\n {...provided.droppableProps}\n ref={provided.innerRef}\n className={`flex flex-column cogwheel-column-filter px-0 ${isDragging ? styles.SolidColumnDragContextActive : ''}`}\n style={{ maxHeight: 400, overflowY: 'auto' }}\n >\n {fields.map((column, index) => (\n <CompatibleDraggable key={column.key} draggableId={column.key} index={index}>\n {(provided, snapshot): any => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n className={`flex align-items-center justify-content-between gap-3 px-2 py-2 ${snapshot.isDragging ? styles.SolidColumnDraggedActiveElement : ''}`}\n style={{\n ...provided.draggableProps.style,\n }}\n >\n <label htmlFor={column.key} className='solid-column-selector-item-main'>\n <input\n id={column.key}\n type=\"checkbox\"\n name=\"selectedColumns\"\n className=\"solid-column-selector-checkbox\"\n checked={formik.values.selectedColumns.some(item => item.key === column.key)}\n onChange={() => {\n const isChecked = formik.values.selectedColumns.some(item => item.key === column.key);\n formik.setFieldValue(\n \"selectedColumns\",\n isChecked\n ? formik.values.selectedColumns.filter(item => item.key !== column.key)\n : [...formik.values.selectedColumns, column]\n );\n }}\n />\n <span className=\"solid-column-selector-label\">\n {column.name}\n </span>\n </label>\n <DragActive active={snapshot.isDragging} />\n </div>\n )}\n </CompatibleDraggable>\n ))}\n {asCompatibleReactNode(provided.placeholder)}\n </div>\n )}\n </CompatibleDroppable>\n </DragDropContext>\n <div className=\"solid-column-selector-actions\">\n <button type='submit' className=\"solid-compact-action-button solid-compact-action-button-primary\">Apply</button>\n <button type='button' className=\"solid-compact-action-button\" onClick={() => onClose?.()}>\n Cancel\n </button>\n </div>\n </form>\n </>\n )\n}\n\nconst DragActive = ({ active }: any) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M7.46354 11.7331C7.46354 12.0997 7.33299 12.4136 7.07187 12.6747C6.81076 12.9359 6.49687 13.0664 6.13021 13.0664C5.76354 13.0664 5.44965 12.9359 5.18854 12.6747C4.92743 12.4136 4.79688 12.0997 4.79688 11.7331C4.79688 11.3664 4.92743 11.0525 5.18854 10.7914C5.44965 10.5303 5.76354 10.3997 6.13021 10.3997C6.49687 10.3997 6.81076 10.5303 7.07187 10.7914C7.33299 11.0525 7.46354 11.3664 7.46354 11.7331ZM7.46354 7.73307C7.46354 8.09974 7.33299 8.41363 7.07187 8.67474C6.81076 8.93585 6.49687 9.06641 6.13021 9.06641C5.76354 9.06641 5.44965 8.93585 5.18854 8.67474C4.92743 8.41363 4.79688 8.09974 4.79688 7.73307C4.79688 7.36641 4.92743 7.05252 5.18854 6.79141C5.44965 6.5303 5.76354 6.39974 6.13021 6.39974C6.49687 6.39974 6.81076 6.5303 7.07187 6.79141C7.33299 7.05252 7.46354 7.36641 7.46354 7.73307ZM7.46354 3.73307C7.46354 4.09974 7.33299 4.41363 7.07187 4.67474C6.81076 4.93585 6.49687 5.06641 6.13021 5.06641C5.76354 5.06641 5.44965 4.93585 5.18854 4.67474C4.92743 4.41363 4.79688 4.09974 4.79688 3.73307C4.79688 3.36641 4.92743 3.05252 5.18854 2.79141C5.44965 2.5303 5.76354 2.39974 6.13021 2.39974C6.49687 2.39974 6.81076 2.5303 7.07187 2.79141C7.33299 3.05252 7.46354 3.36641 7.46354 3.73307Z\" fill=\"var(--icon-color)\" fill-opacity={active ? \"0.75\" : \"0.25\"} />\n <path d=\"M11.737 11.7331C11.737 12.0997 11.6064 12.4136 11.3453 12.6747C11.0842 12.9359 10.7703 13.0664 10.4036 13.0664C10.037 13.0664 9.72309 12.9359 9.46198 12.6747C9.20087 12.4136 9.07031 12.0997 9.07031 11.7331C9.07031 11.3664 9.20087 11.0525 9.46198 10.7914C9.72309 10.5303 10.037 10.3997 10.4036 10.3997C10.7703 10.3997 11.0842 10.5303 11.3453 10.7914C11.6064 11.0525 11.737 11.3664 11.737 11.7331ZM11.737 7.73307C11.737 8.09974 11.6064 8.41363 11.3453 8.67474C11.0842 8.93585 10.7703 9.06641 10.4036 9.06641C10.037 9.06641 9.72309 8.93585 9.46198 8.67474C9.20087 8.41363 9.07031 8.09974 9.07031 7.73307C9.07031 7.36641 9.20087 7.05252 9.46198 6.79141C9.72309 6.5303 10.037 6.39974 10.4036 6.39974C10.7703 6.39974 11.0842 6.5303 11.3453 6.79141C11.6064 7.05252 11.737 7.36641 11.737 7.73307ZM11.737 3.73307C11.737 4.09974 11.6064 4.41363 11.3453 4.67474C11.0842 4.93585 10.7703 5.06641 10.4036 5.06641C10.037 5.06641 9.72309 4.93585 9.46198 4.67474C9.20087 4.41363 9.07031 4.09974 9.07031 3.73307C9.07031 3.36641 9.20087 3.05252 9.46198 2.79141C9.72309 2.5303 10.037 2.39974 10.4036 2.39974C10.7703 2.39974 11.0842 2.5303 11.3453 2.79141C11.6064 3.05252 11.737 3.36641 11.737 3.73307Z\" fill=\"var(--icon-color)\" fill-opacity={active ? \"0.75\" : \"0.25\"} />\n </svg>\n )\n}\n"]}
@@ -2,10 +2,11 @@ import { useFormik } from 'formik';
2
2
  import React, { useState } from 'react'
3
3
  import { useDispatch } from 'react-redux';
4
4
  import { createSolidEntityApi } from '../../../../redux/api/solidEntityApi';
5
- import { DragDropContext, Droppable, Draggable, DropResult } from '@hello-pangea/dnd';
5
+ import { DragDropContext, DropResult } from '@hello-pangea/dnd';
6
6
  import styles from './SolidListColumnSelector.module.css'
7
7
  import { ERROR_MESSAGES } from '../../../../constants/error-messages';
8
8
  import { showToast } from '../../../../redux/features/toastSlice';
9
+ import { asCompatibleReactNode, CompatibleDraggable, CompatibleDroppable } from '../../common/dndCompat';
9
10
 
10
11
  interface FieldMetadata {
11
12
  displayName: string;
@@ -101,11 +102,11 @@ export const SolidListColumnSelector = ({ listViewMetaData, onClose }: any) => {
101
102
  .map(({ key }) => {
102
103
  const existingChild = currentChildren.find((child: any) => child.attrs.name === key);
103
104
  if (existingChild) return existingChild;
104
-
105
+
105
106
  // @ts-ignore
106
107
  const fieldType = allFieldMeta[key]?.type;
107
- const isTextType = fieldType === "shortText" || fieldType === "longText" || fieldType ==="selectionStatic" || fieldType ==="selectionDynamic";
108
-
108
+ const isTextType = fieldType === "shortText" || fieldType === "longText" || fieldType === "selectionStatic" || fieldType === "selectionDynamic";
109
+
109
110
  return {
110
111
  type: 'field',
111
112
  attrs: {
@@ -115,7 +116,7 @@ export const SolidListColumnSelector = ({ listViewMetaData, onClose }: any) => {
115
116
  },
116
117
  };
117
118
  });
118
-
119
+
119
120
  // Now build updated solidView
120
121
  const updatedView = {
121
122
  layout: {
@@ -155,8 +156,8 @@ export const SolidListColumnSelector = ({ listViewMetaData, onClose }: any) => {
155
156
  <>
156
157
  <form onSubmit={formik.handleSubmit} className="flex flex-column gap-1 px-0">
157
158
  <DragDropContext onDragEnd={onDragEnd} onDragStart={() => setIsDragging(true)}>
158
- <Droppable droppableId="columns">
159
- {(provided): React.ReactElement => (
159
+ <CompatibleDroppable droppableId="columns">
160
+ {(provided): any => (
160
161
  <div
161
162
  {...provided.droppableProps}
162
163
  ref={provided.innerRef}
@@ -164,8 +165,8 @@ export const SolidListColumnSelector = ({ listViewMetaData, onClose }: any) => {
164
165
  style={{ maxHeight: 400, overflowY: 'auto' }}
165
166
  >
166
167
  {fields.map((column, index) => (
167
- <Draggable key={column.key} draggableId={column.key} index={index}>
168
- {(provided, snapshot): React.ReactElement => (
168
+ <CompatibleDraggable key={column.key} draggableId={column.key} index={index}>
169
+ {(provided, snapshot): any => (
169
170
  <div
170
171
  ref={provided.innerRef}
171
172
  {...provided.draggableProps}
@@ -199,12 +200,12 @@ export const SolidListColumnSelector = ({ listViewMetaData, onClose }: any) => {
199
200
  <DragActive active={snapshot.isDragging} />
200
201
  </div>
201
202
  )}
202
- </Draggable>
203
+ </CompatibleDraggable>
203
204
  ))}
204
- {provided.placeholder}
205
+ {asCompatibleReactNode(provided.placeholder)}
205
206
  </div>
206
207
  )}
207
- </Droppable>
208
+ </CompatibleDroppable>
208
209
  </DragDropContext>
209
210
  <div className="solid-column-selector-actions">
210
211
  <button type='submit' className="solid-compact-action-button solid-compact-action-button-primary">Apply</button>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidEmptyListViewPlaceholder.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidEmptyListViewPlaceholder.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,6BAA6B,4HAOvC,GAAG,4CAgIL,CAAC"}
1
+ {"version":3,"file":"SolidEmptyListViewPlaceholder.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidEmptyListViewPlaceholder.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,6BAA6B,4HAOvC,GAAG,4CAsIL,CAAC"}
@@ -60,6 +60,6 @@ export var SolidEmptyListViewPlaceholder = function (_a) {
60
60
  }, children: button.attrs.label }, ((_j = button === null || button === void 0 ? void 0 : button.attrs) === null || _j === void 0 ? void 0 : _j.name) || ((_k = button === null || button === void 0 ? void 0 : button.attrs) === null || _k === void 0 ? void 0 : _k.label)));
61
61
  }) }));
62
62
  };
63
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: 'solid-empty-listview-placeholder-container', children: _jsxs("div", { className: "solid-empty-listview-placeholder-panel", children: [_jsxs("div", { className: "solid-empty-listview-header", children: [_jsx("div", { className: "solid-empty-listview-header-title", children: displayName }), _jsx("div", { className: "solid-empty-listview-header-subtitle", children: noDataText })] }), _jsxs("div", { className: "solid-empty-listview-body", children: [_jsxs("div", { className: "solid-empty-listview-actions", children: [canCreate && (_jsx("div", { className: "solid-empty-listview-create-action", children: _jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, title: (_s = (_r = solidListViewMetaData === null || solidListViewMetaData === void 0 ? void 0 : solidListViewMetaData.data) === null || _r === void 0 ? void 0 : _r.solidView) === null || _s === void 0 ? void 0 : _s.displayName }) })), canImport && (_jsx(SolidButton, { type: "button", variant: "outline", leftIcon: _jsx(Download, { size: 14 }), className: "solid-empty-listview-import-button", onClick: function () { return setOpenImportDialog(true); }, children: "Import" }))] }), _jsxs("div", { className: "solid-empty-listview-description", children: ["Click Create or Import to add ", entityName, " entities."] }), _jsx(CustomActionButtons, {})] })] }) }), openImportDialog && (_jsx(SolidGenericImport, { openImportDialog: openImportDialog, setOpenImportDialog: setOpenImportDialog, listViewMetaData: solidListViewMetaData, handleFetchUpdatedRecords: handleFetchUpdatedRecords }))] }));
63
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: 'solid-empty-listview-placeholder-container', children: _jsxs("div", { className: "solid-empty-listview-placeholder-panel", children: [_jsxs("div", { className: "solid-empty-listview-header", children: [_jsx("div", { className: "solid-empty-listview-header-title", children: displayName }), _jsx("div", { className: "solid-empty-listview-header-subtitle", children: noDataText })] }), _jsxs("div", { className: "solid-empty-listview-body", children: [_jsxs("div", { className: "solid-empty-listview-actions", children: [canCreate && (_jsx("div", { className: "solid-empty-listview-create-action", children: _jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, title: (_s = (_r = solidListViewMetaData === null || solidListViewMetaData === void 0 ? void 0 : solidListViewMetaData.data) === null || _r === void 0 ? void 0 : _r.solidView) === null || _s === void 0 ? void 0 : _s.displayName }) })), canImport && (_jsx(SolidButton, { type: "button", variant: "outline", leftIcon: _jsx(Download, { size: 14 }), className: "solid-empty-listview-import-button", onClick: function () { return setOpenImportDialog(true); }, children: "Import" }))] }), _jsxs("div", { className: "solid-empty-listview-description", children: ["Click Create or Import to add ", entityName, " entities."] }), _jsx(CustomActionButtons, {}), (canCreate || canImport) && (_jsxs("div", { className: "solid-empty-listview-description", children: ["Click Create or Import to add ", entityName, " entities."] }))] })] }) }), openImportDialog && (_jsx(SolidGenericImport, { openImportDialog: openImportDialog, setOpenImportDialog: setOpenImportDialog, listViewMetaData: solidListViewMetaData, handleFetchUpdatedRecords: handleFetchUpdatedRecords }))] }));
64
64
  };
65
65
  //# sourceMappingURL=SolidEmptyListViewPlaceholder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidEmptyListViewPlaceholder.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidEmptyListViewPlaceholder.tsx"],"names":[],"mappings":"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","sourcesContent":["import { permissionExpression } from '../../../helpers/permissions'\nimport { SolidCreateButton } from '../common/SolidCreateButton'\nimport { useHandleListCustomButtonClick } from '../../../components/common/useHandleListCustomButtonClick'\nimport { hasAnyRole } from '../../../helpers/rolesHelper'\nimport { env } from \"../../../adapters/env\";\nimport { useSession } from \"../../../hooks/useSession\";\nimport { useState } from \"react\";\nimport { Download, SquarePen } from \"lucide-react\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\nexport const SolidEmptyListViewPlaceholder = ({\n createButtonUrl,\n createActionQueryParams,\n actionsAllowed,\n params,\n solidListViewMetaData,\n handleFetchUpdatedRecords,\n}: any) => {\n const [openImportDialog, setOpenImportDialog] = useState(false);\n const { data: session } = useSession();\n const user = session?.user;\n\n const layoutAttrs = solidListViewMetaData?.data?.solidView?.layout?.attrs ?? {};\n const displayName = solidListViewMetaData?.data?.solidView?.displayName ?? \"records\";\n const entityName = displayName.toLowerCase();\n const noDataText = solidListViewMetaData?.data?.solidView?.layout?.attrs?.listViewNoDataHelperText\n ?? (env(\"NEXT_PUBLIC_DEFAULT_LIST_VIEW_NODATA_HELPER_TEXT\") && solidListViewMetaData?.data?.solidView?.displayName\n ? `${env(\"NEXT_PUBLIC_DEFAULT_LIST_VIEW_NODATA_HELPER_TEXT\")} ${solidListViewMetaData.data.solidView.displayName}`\n : `There are no ${entityName} records yet.`);\n\n const handleCustomButtonClick = useHandleListCustomButtonClick();\n\n const normalizeAction = (value: boolean | string[] | undefined) => {\n if (value === true || value === undefined) return { enabled: true, roles: [] as string[] };\n if (value === false) return { enabled: false, roles: [] as string[] };\n if (Array.isArray(value)) return { enabled: true, roles: value };\n return { enabled: true, roles: [] as string[] };\n };\n\n const importAction = normalizeAction(layoutAttrs.import);\n const canCreate =\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n layoutAttrs?.create !== false &&\n params.embeded !== true &&\n layoutAttrs.showDefaultAddButton !== false;\n const canImport =\n params.embeded !== true &&\n importAction.enabled &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n actionsAllowed.includes(`${permissionExpression('importTransaction', 'create')}`) &&\n (importAction.roles.length === 0 || hasAnyRole(user?.roles, importAction.roles));\n\n const CustomActionButtons = () => {\n const headerButtons = layoutAttrs?.headerButtons ?? [];\n if (layoutAttrs.showDefaultAddButton !== false || !headerButtons.length) return null;\n\n return (\n <div className=\"solid-empty-listview-custom-actions\">\n {headerButtons.map((button: any) => {\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n if (!hasRole) return null;\n\n return (\n <SolidButton\n key={button?.attrs?.name || button?.attrs?.label}\n type=\"button\"\n className={`solid-empty-listview-secondary-action ${button?.attrs?.className ?? ''}`}\n variant={button?.attrs?.showText === false ? \"primary\" : \"ghost\"}\n size=\"small\"\n icon={button?.attrs?.icon}\n leftIcon={!button?.attrs?.icon ? <SquarePen size={14} /> : undefined}\n onClick={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data\n };\n handleCustomButtonClick(button.attrs, event);\n }}\n >\n {button.attrs.label}\n </SolidButton>\n );\n })}\n </div>\n );\n };\n\n return (\n <>\n <div className='solid-empty-listview-placeholder-container'>\n <div className=\"solid-empty-listview-placeholder-panel\">\n <div className=\"solid-empty-listview-header\">\n <div className=\"solid-empty-listview-header-title\">{displayName}</div>\n <div className=\"solid-empty-listview-header-subtitle\">{noDataText}</div>\n </div>\n\n <div className=\"solid-empty-listview-body\">\n {/* <div className=\"solid-empty-listview-icon-wrap\">\n <FolderOpen className=\"solid-empty-listview-icon\" aria-hidden=\"true\" />\n </div>\n <div className=\"solid-empty-listview-title\">\n No {displayName} Data Available\n </div> */}\n\n <div className=\"solid-empty-listview-actions\">\n {canCreate && (\n <div className=\"solid-empty-listview-create-action\">\n <SolidCreateButton\n createButtonUrl={createButtonUrl}\n createActionQueryParams={createActionQueryParams}\n title={solidListViewMetaData?.data?.solidView?.displayName}\n />\n </div>\n )}\n {canImport && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n leftIcon={<Download size={14} />}\n className=\"solid-empty-listview-import-button\"\n onClick={() => setOpenImportDialog(true)}\n >\n Import\n </SolidButton>\n )}\n </div>\n\n <div className=\"solid-empty-listview-description\">\n Click Create or Import to add {entityName} entities.\n </div>\n\n <CustomActionButtons />\n </div>\n </div>\n </div>\n {openImportDialog && (\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={solidListViewMetaData}\n handleFetchUpdatedRecords={handleFetchUpdatedRecords}\n />\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidEmptyListViewPlaceholder.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidEmptyListViewPlaceholder.tsx"],"names":[],"mappings":"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","sourcesContent":["import { permissionExpression } from '../../../helpers/permissions'\nimport { SolidCreateButton } from '../common/SolidCreateButton'\nimport { useHandleListCustomButtonClick } from '../../../components/common/useHandleListCustomButtonClick'\nimport { hasAnyRole } from '../../../helpers/rolesHelper'\nimport { env } from \"../../../adapters/env\";\nimport { useSession } from \"../../../hooks/useSession\";\nimport { useState } from \"react\";\nimport { Download, SquarePen } from \"lucide-react\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\nexport const SolidEmptyListViewPlaceholder = ({\n createButtonUrl,\n createActionQueryParams,\n actionsAllowed,\n params,\n solidListViewMetaData,\n handleFetchUpdatedRecords,\n}: any) => {\n const [openImportDialog, setOpenImportDialog] = useState(false);\n const { data: session } = useSession();\n const user = session?.user;\n\n const layoutAttrs = solidListViewMetaData?.data?.solidView?.layout?.attrs ?? {};\n const displayName = solidListViewMetaData?.data?.solidView?.displayName ?? \"records\";\n const entityName = displayName.toLowerCase();\n const noDataText = solidListViewMetaData?.data?.solidView?.layout?.attrs?.listViewNoDataHelperText\n ?? (env(\"NEXT_PUBLIC_DEFAULT_LIST_VIEW_NODATA_HELPER_TEXT\") && solidListViewMetaData?.data?.solidView?.displayName\n ? `${env(\"NEXT_PUBLIC_DEFAULT_LIST_VIEW_NODATA_HELPER_TEXT\")} ${solidListViewMetaData.data.solidView.displayName}`\n : `There are no ${entityName} records yet.`);\n\n const handleCustomButtonClick = useHandleListCustomButtonClick();\n\n const normalizeAction = (value: boolean | string[] | undefined) => {\n if (value === true || value === undefined) return { enabled: true, roles: [] as string[] };\n if (value === false) return { enabled: false, roles: [] as string[] };\n if (Array.isArray(value)) return { enabled: true, roles: value };\n return { enabled: true, roles: [] as string[] };\n };\n\n const importAction = normalizeAction(layoutAttrs.import);\n const canCreate =\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n layoutAttrs?.create !== false &&\n params.embeded !== true &&\n layoutAttrs.showDefaultAddButton !== false;\n const canImport =\n params.embeded !== true &&\n importAction.enabled &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n actionsAllowed.includes(`${permissionExpression('importTransaction', 'create')}`) &&\n (importAction.roles.length === 0 || hasAnyRole(user?.roles, importAction.roles));\n\n const CustomActionButtons = () => {\n const headerButtons = layoutAttrs?.headerButtons ?? [];\n if (layoutAttrs.showDefaultAddButton !== false || !headerButtons.length) return null;\n\n return (\n <div className=\"solid-empty-listview-custom-actions\">\n {headerButtons.map((button: any) => {\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n if (!hasRole) return null;\n\n return (\n <SolidButton\n key={button?.attrs?.name || button?.attrs?.label}\n type=\"button\"\n className={`solid-empty-listview-secondary-action ${button?.attrs?.className ?? ''}`}\n variant={button?.attrs?.showText === false ? \"primary\" : \"ghost\"}\n size=\"small\"\n icon={button?.attrs?.icon}\n leftIcon={!button?.attrs?.icon ? <SquarePen size={14} /> : undefined}\n onClick={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data\n };\n handleCustomButtonClick(button.attrs, event);\n }}\n >\n {button.attrs.label}\n </SolidButton>\n );\n })}\n </div>\n );\n };\n\n return (\n <>\n <div className='solid-empty-listview-placeholder-container'>\n <div className=\"solid-empty-listview-placeholder-panel\">\n <div className=\"solid-empty-listview-header\">\n <div className=\"solid-empty-listview-header-title\">{displayName}</div>\n <div className=\"solid-empty-listview-header-subtitle\">{noDataText}</div>\n </div>\n\n <div className=\"solid-empty-listview-body\">\n {/* <div className=\"solid-empty-listview-icon-wrap\">\n <FolderOpen className=\"solid-empty-listview-icon\" aria-hidden=\"true\" />\n </div>\n <div className=\"solid-empty-listview-title\">\n No {displayName} Data Available\n </div> */}\n\n <div className=\"solid-empty-listview-actions\">\n {canCreate && (\n <div className=\"solid-empty-listview-create-action\">\n <SolidCreateButton\n createButtonUrl={createButtonUrl}\n createActionQueryParams={createActionQueryParams}\n title={solidListViewMetaData?.data?.solidView?.displayName}\n />\n </div>\n )}\n {canImport && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n leftIcon={<Download size={14} />}\n className=\"solid-empty-listview-import-button\"\n onClick={() => setOpenImportDialog(true)}\n >\n Import\n </SolidButton>\n )}\n </div>\n\n <div className=\"solid-empty-listview-description\">\n Click Create or Import to add {entityName} entities.\n </div>\n\n <CustomActionButtons />\n\n {(canCreate || canImport) && (\n <div className=\"solid-empty-listview-description\">\n Click Create or Import to add {entityName} entities.\n </div>\n )}\n </div>\n </div>\n </div>\n {openImportDialog && (\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={solidListViewMetaData}\n handleFetchUpdatedRecords={handleFetchUpdatedRecords}\n />\n )}\n </>\n );\n};\n"]}
@@ -131,6 +131,12 @@ export const SolidEmptyListViewPlaceholder = ({
131
131
  </div>
132
132
 
133
133
  <CustomActionButtons />
134
+
135
+ {(canCreate || canImport) && (
136
+ <div className="solid-empty-listview-description">
137
+ Click Create or Import to add {entityName} entities.
138
+ </div>
139
+ )}
134
140
  </div>
135
141
  </div>
136
142
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"AdminTopHeader.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AdminTopHeader.tsx"],"names":[],"mappings":"AA0BA,eAAO,MAAM,cAAc,+CA0I1B,CAAC"}
1
+ {"version":3,"file":"AdminTopHeader.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AdminTopHeader.tsx"],"names":[],"mappings":"AA0BA,eAAO,MAAM,cAAc,+CA+K1B,CAAC"}
@@ -75,6 +75,30 @@ export var AdminTopHeader = function () {
75
75
  var triggerSidebar = function () {
76
76
  window.dispatchEvent(new CustomEvent(SIDEBAR_TOGGLE_EVENT));
77
77
  };
78
- return (_jsx("header", { className: "solid-admin-header", children: _jsxs("div", { className: "solid-admin-header-inner", children: [_jsx("button", { type: "button", className: "solid-admin-sidebar-trigger", onClick: triggerSidebar, "aria-label": "Toggle sidebar", children: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [_jsx("rect", { x: "1.5", y: "2", width: "13", height: "12", rx: "2", stroke: "currentColor" }), _jsx("path", { d: "M5.5 2V14", stroke: "currentColor" }), _jsx("rect", { x: "8", y: "5.25", width: "4.5", height: "5.5", rx: "0.9", stroke: "currentColor" })] }) }), _jsx("div", { className: "solid-admin-header-sep" }), _jsx("nav", { className: "solid-admin-breadcrumbs", "aria-label": "Breadcrumb", children: crumbs.map(function (crumb, index) { return (_jsxs("span", { className: "solid-admin-crumb", children: [index > 0 && _jsx("span", { className: "solid-admin-crumb-sep", children: "\u203A" }), _jsx("span", { children: crumb })] }, "".concat(crumb, "-").concat(index))); }) }), _jsxs("div", { className: "solid-admin-header-actions", children: [isAdmin && isDev && !isStudioMode && (_jsxs("button", { type: "button", className: "solid-studio-trigger-btn", onClick: function () { dispatch(enterStudioMode()); router.push("/studio"); }, title: "Enter SolidX Studio", children: [_jsx(StudioSparkleIcon, {}), "Studio"] })), _jsxs("button", { type: "button", className: "solid-admin-theme-toggle", onClick: toggleThemeMode, "aria-label": "Toggle theme", title: "Toggle theme", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [_jsx("path", { d: "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 3l0 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 9l4.65 -4.65", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 14.3l7.37 -7.37", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 19.6l8.85 -8.85", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { className: "solid-sr-only", children: "Toggle theme" })] }), showBack && (_jsx("button", { type: "button", className: "solid-admin-back-btn", onClick: function () { return router.back(); }, "aria-label": "Go back", children: "Back" }))] })] }) }));
78
+ var handleBreadcrumbClick = function (crumbIndex) {
79
+ // When on a form view, clicking the model name (second crumb) should navigate back to list
80
+ // Index 1 is the model name in a breadcrumb like: Module > Model > Action
81
+ if (crumbIndex === 1 && showBack) {
82
+ if (typeof window !== "undefined") {
83
+ // First, try to use the full stored URL (preserves all query params)
84
+ var storedFullUrl = sessionStorage.getItem("fromViewUrl");
85
+ if (storedFullUrl) {
86
+ router.push(storedFullUrl);
87
+ return;
88
+ }
89
+ }
90
+ // Fallback: construct URL from current path and stored view
91
+ var segments = pathname.split("/").filter(Boolean);
92
+ if (segments[0] === "admin" && segments[1] === "core") {
93
+ var moduleName = segments[2];
94
+ var modelName = segments[3];
95
+ var fromView = typeof window !== "undefined"
96
+ ? sessionStorage.getItem("fromView") || "list"
97
+ : "list";
98
+ router.push("/admin/core/".concat(moduleName, "/").concat(modelName, "/").concat(fromView));
99
+ }
100
+ }
101
+ };
102
+ return (_jsx("header", { className: "solid-admin-header", children: _jsxs("div", { className: "solid-admin-header-inner", children: [_jsx("button", { type: "button", className: "solid-admin-sidebar-trigger", onClick: triggerSidebar, "aria-label": "Toggle sidebar", children: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [_jsx("rect", { x: "1.5", y: "2", width: "13", height: "12", rx: "2", stroke: "currentColor" }), _jsx("path", { d: "M5.5 2V14", stroke: "currentColor" }), _jsx("rect", { x: "8", y: "5.25", width: "4.5", height: "5.5", rx: "0.9", stroke: "currentColor" })] }) }), _jsx("div", { className: "solid-admin-header-sep" }), _jsx("nav", { className: "solid-admin-breadcrumbs", "aria-label": "Breadcrumb", children: crumbs.map(function (crumb, index) { return (_jsxs("span", { className: "solid-admin-crumb", children: [index > 0 && _jsx("span", { className: "solid-admin-crumb-sep", children: "\u203A" }), index === 1 && showBack ? (_jsx("button", { type: "button", className: "solid-admin-crumb-link", onClick: function () { return handleBreadcrumbClick(index); }, style: { background: "none", border: "none", cursor: "pointer", color: "inherit", textDecoration: "underline" }, children: crumb })) : (_jsx("span", { children: crumb }))] }, "".concat(crumb, "-").concat(index))); }) }), _jsxs("div", { className: "solid-admin-header-actions", children: [isAdmin && isDev && !isStudioMode && (_jsxs("button", { type: "button", className: "solid-studio-trigger-btn", onClick: function () { dispatch(enterStudioMode()); router.push("/studio"); }, title: "Enter SolidX Studio", children: [_jsx(StudioSparkleIcon, {}), "Studio"] })), _jsxs("button", { type: "button", className: "solid-admin-theme-toggle", onClick: toggleThemeMode, "aria-label": "Toggle theme", title: "Toggle theme", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [_jsx("path", { d: "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 3l0 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 9l4.65 -4.65", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 14.3l7.37 -7.37", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 19.6l8.85 -8.85", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { className: "solid-sr-only", children: "Toggle theme" })] }), showBack && (_jsx("button", { type: "button", className: "solid-admin-back-btn", onClick: function () { return router.back(); }, "aria-label": "Go back", children: "Back" }))] })] }) }));
79
103
  };
80
104
  //# sourceMappingURL=AdminTopHeader.js.map