@solidstarters/solid-core-ui 1.1.44 → 1.1.45

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 (76) hide show
  1. package/dist/components/common/SolidModuleHome.d.ts +1 -5
  2. package/dist/components/common/SolidModuleHome.d.ts.map +1 -1
  3. package/dist/components/common/SolidModuleHome.js +2 -8
  4. package/dist/components/common/SolidModuleHome.js.map +1 -1
  5. package/dist/components/common/SolidThemeProvider.d.ts +2 -0
  6. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -0
  7. package/dist/components/common/SolidThemeProvider.js +38 -0
  8. package/dist/components/common/SolidThemeProvider.js.map +1 -0
  9. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  10. package/dist/components/core/kanban/KanbanBoard.js +11 -11
  11. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  12. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  13. package/dist/components/core/kanban/KanbanCard.js +33 -7
  14. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  15. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  16. package/dist/components/core/kanban/KanbanColumn.js +4 -3
  17. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  18. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  19. package/dist/components/core/kanban/SolidKanbanView.js +34 -33
  20. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  21. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +1 -1
  22. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -1
  23. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +1 -1
  24. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -1
  25. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +1 -1
  26. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -1
  27. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +1 -1
  28. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -1
  29. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +1 -1
  30. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -1
  31. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +1 -1
  32. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -1
  33. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  34. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +39 -15
  35. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  36. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  37. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +17 -7
  38. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  39. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +1 -1
  40. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -1
  41. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +1 -1
  42. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -1
  43. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  44. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +8 -8
  45. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  46. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +1 -1
  47. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -1
  48. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  49. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  50. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  51. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +20 -19
  52. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  53. package/dist/resources/globals.css +71 -22
  54. package/package.json +1 -1
  55. package/publish.js +3 -0
  56. package/src/components/common/SolidModuleHome.tsx +52 -59
  57. package/src/components/common/SolidThemeProvider.tsx +44 -0
  58. package/src/components/core/kanban/KanbanBoard.tsx +36 -34
  59. package/src/components/core/kanban/KanbanCard.tsx +37 -24
  60. package/src/components/core/kanban/KanbanColumn.tsx +10 -5
  61. package/src/components/core/kanban/SolidKanbanView.tsx +30 -42
  62. package/src/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +1 -1
  63. package/src/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +1 -1
  64. package/src/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +1 -1
  65. package/src/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +1 -1
  66. package/src/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +1 -1
  67. package/src/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +1 -1
  68. package/src/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +106 -38
  69. package/src/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +61 -16
  70. package/src/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +1 -1
  71. package/src/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +1 -1
  72. package/src/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +14 -13
  73. package/src/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +1 -1
  74. package/src/components/core/list/SolidListViewConfigure.tsx +1 -1
  75. package/src/components/core/list/columns/SolidMediaSingleColumn.tsx +43 -33
  76. package/src/resources/globals.css +71 -22
@@ -1529,21 +1529,14 @@ li.header-li-px {
1529
1529
  font-size: 0.8rem;
1530
1530
  }
1531
1531
 
1532
- .kanban-options-panel .p-overlaypanel-content {
1533
- padding: 0 !important;
1534
- }
1535
-
1536
- .kanban-options-panel .p-overlaypanel-content span {
1537
- padding: 0 !important;
1538
- font-size: 1rem;
1539
- }
1540
-
1541
1532
  .kanban-column {
1542
1533
  flex: 1;
1543
- max-width: 350px;
1544
- background: #f0f0f5;
1534
+ min-width: 270px;
1535
+ width: 100%;
1536
+ max-width: 270px;
1537
+ /* background: #f0f0f5;
1545
1538
  border: 8px;
1546
- padding: 0.2rem;
1539
+ padding: 0.2rem; */
1547
1540
  }
1548
1541
 
1549
1542
  .kanban-card {
@@ -1565,19 +1558,15 @@ li.header-li-px {
1565
1558
  color: #4b4d52;
1566
1559
  }
1567
1560
 
1568
- .kanban-group-heading {
1569
- font-size: 1rem;
1570
- font-weight: 600;
1571
- letter-spacing: 2px;
1572
- }
1573
-
1574
1561
  .kanban-column-folded {
1575
1562
  flex-grow: 0;
1576
- background: #f0f0f5;
1563
+ background: #F4F4F4;
1577
1564
  border: 8px;
1578
1565
  padding: 5px;
1579
1566
  height: 100%;
1580
- font-size: 1rem;
1567
+ min-width:fit-content;
1568
+ width: 100%;
1569
+ max-width:fit-content;
1581
1570
  }
1582
1571
 
1583
1572
  .kaban-heading-area {
@@ -2902,6 +2891,66 @@ li.header-li-px {
2902
2891
  max-width: calc(20% - 10px);
2903
2892
  }
2904
2893
 
2905
- .image-preview{
2906
- max-width: 100px;
2894
+ .solid-kanban-card {
2895
+ box-shadow: none;
2896
+ border-radius: 0.5rem;
2897
+ border: 1px solid rgba(216, 226, 234, 0.60);
2898
+ background: #FFF;
2899
+ padding: 9px;
2900
+ }
2901
+
2902
+ .kanban-group-heading {
2903
+ font-weight: 600;
2904
+ display: flex;
2905
+ align-items: center;
2906
+ gap: 10px;
2907
+ }
2908
+
2909
+ .kanban-count-badge {
2910
+ display: flex;
2911
+ width: 1.5rem;
2912
+ height: 1.5rem;
2913
+ padding: 0.125rem;
2914
+ justify-content: center;
2915
+ align-items: center;
2916
+ flex-shrink: 0;
2917
+ border-radius: 6.25rem;
2918
+ background: #F6FAFF;
2919
+ font-size: 0.75rem;
2920
+ font-weight: 600;
2921
+ color: var(--primary-color);
2922
+ }
2923
+
2924
+ .kanban-image-preview {
2925
+ /* width: 100px; */
2926
+ /* width: 240px;
2927
+ height: 120px;
2928
+ flex-shrink: 0; */
2929
+ width: 100%;
2930
+ border-radius: 8px;
2931
+ max-height: 120px;
2932
+ }
2933
+
2934
+ .solid-kanban-board-wrapper {
2935
+ border-top: 1px solid #CED0D6;
2936
+ overflow: hidden;
2937
+ height: calc(100vh - 64px) !important;
2938
+ }
2939
+
2940
+ .solid-kanban-board-scroll-context {
2941
+ overflow: auto;
2942
+ height: 100%;
2943
+ }
2944
+
2945
+ .kanban-column-cogwheel.p-button.p-button-icon-only.p-button-rounded {
2946
+ height: 2rem;
2947
+ width: 2rem;
2948
+ }
2949
+
2950
+ .kanban-column-cogwheel.p-button.p-button-secondary.p-button-text:not(:disabled):active {
2951
+ background: transparent;
2952
+ }
2953
+
2954
+ .kanban-column-cogwheel.p-button.p-button-secondary.p-button-text:not(:disabled):hover {
2955
+ background: transparent;
2907
2956
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-core-ui",
3
- "version": "1.1.44",
3
+ "version": "1.1.45",
4
4
  "scripts": {
5
5
  "prebuild": "npm run copy-styles",
6
6
  "build": "tsc && tsc-alias",
package/publish.js CHANGED
@@ -6,6 +6,9 @@ try {
6
6
  console.log(`🔄 Updating package version (${versionType})...`);
7
7
  execSync(`npm version ${versionType}`, { stdio: "inherit" });
8
8
 
9
+ console.log("📦 Pushing to git ...");
10
+ execSync("git push", { stdio: "inherit" });
11
+
9
12
  console.log("📦 Publishing package...");
10
13
  execSync("npm publish", { stdio: "inherit" });
11
14
 
@@ -1,65 +1,58 @@
1
1
  "use client"
2
- import { Card } from "primereact/card"
3
- type SolidModuleParams = {
4
- moduleName: string;
5
- }
6
- export const SolidModuleHome = (params: SolidModuleParams) => {
7
- const formatName = (moduleName: string) => {
8
- return moduleName
9
- .split('-')
10
- .map(word => word.charAt(0).toUpperCase() + word.slice(1)) // Capitalize each word
11
- .join(' ');
12
- };
2
+
3
+ export const SolidModuleHome = () => {
13
4
  return (
14
- <div className="page-parent-wrapper">
15
- <div className="surface-0 text-center">
16
- <div className="mb-3 font-bold text-3xl">
17
- <span className="text-900">One Product, </span>
18
- <span className="text-blue-600">Many Solutions</span>
19
- </div>
20
- <div className="text-700 mb-6">Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna.</div>
21
- <div className="grid">
22
- <div className="col-12 md:col-4 mb-4 px-5">
23
- <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
24
- <i className="pi pi-desktop text-4xl text-blue-500"></i>
25
- </span>
26
- <div className="text-900 text-xl mb-3 font-medium">Built for Developers</div>
27
- <span className="text-700 line-height-3">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</span>
28
- </div>
29
- <div className="col-12 md:col-4 mb-4 px-5">
30
- <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
31
- <i className="pi pi-lock text-4xl text-blue-500"></i>
32
- </span>
33
- <div className="text-900 text-xl mb-3 font-medium">End-to-End Encryption</div>
34
- <span className="text-700 line-height-3">Risus nec feugiat in fermentum posuere urna nec. Posuere sollicitudin aliquam ultrices sagittis.</span>
35
- </div>
36
- <div className="col-12 md:col-4 mb-4 px-5">
37
- <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
38
- <i className="pi pi-check-circle text-4xl text-blue-500"></i>
39
- </span>
40
- <div className="text-900 text-xl mb-3 font-medium">Easy to Use</div>
41
- <span className="text-700 line-height-3">Ornare suspendisse sed nisi lacus sed viverra tellus. Neque volutpat ac tincidunt vitae semper.</span>
42
- </div>
43
- <div className="col-12 md:col-4 mb-4 px-5">
44
- <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
45
- <i className="pi pi-globe text-4xl text-blue-500"></i>
46
- </span>
47
- <div className="text-900 text-xl mb-3 font-medium">Fast & Global Support</div>
48
- <span className="text-700 line-height-3">Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum tellus.</span>
49
- </div>
50
- <div className="col-12 md:col-4 mb-4 px-5">
51
- <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
52
- <i className="pi pi-github text-4xl text-blue-500"></i>
53
- </span>
54
- <div className="text-900 text-xl mb-3 font-medium">Open Source</div>
55
- <span className="text-700 line-height-3">Nec tincidunt praesent semper feugiat. Sed adipiscing diam donec adipiscing tristique risus nec feugiat. </span>
5
+ <div className="h-screen surface-0 text-center p-5">
6
+ <div className="row">
7
+ <div className="col-11 mx-auto">
8
+ <div className="mb-3 font-bold text-3xl">
9
+ <span className="text-900">One Product, </span>
10
+ <span className="text-primary">Many Solutions</span>
56
11
  </div>
57
- <div className="col-12 md:col-4 md:mb-4 mb-0 px-3">
58
- <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
59
- <i className="pi pi-shield text-4xl text-blue-500"></i>
60
- </span>
61
- <div className="text-900 text-xl mb-3 font-medium">Trusted Securitty</div>
62
- <span className="text-700 line-height-3">Mattis rhoncus urna neque viverra justo nec ultrices. Id cursus metus aliquam eleifend.</span>
12
+ <div className="text-700 mb-6">Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna.</div>
13
+ <div className="grid">
14
+ <div className="col-12 md:col-4 mb-4 px-5">
15
+ <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
16
+ <i className="pi pi-desktop text-4xl text-primary"></i>
17
+ </span>
18
+ <div className="text-900 text-xl mb-3 font-medium">Built for Developers</div>
19
+ <span className="text-700 line-height-3">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</span>
20
+ </div>
21
+ <div className="col-12 md:col-4 mb-4 px-5">
22
+ <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
23
+ <i className="pi pi-lock text-4xl text-primary"></i>
24
+ </span>
25
+ <div className="text-900 text-xl mb-3 font-medium">End-to-End Encryption</div>
26
+ <span className="text-700 line-height-3">Risus nec feugiat in fermentum posuere urna nec. Posuere sollicitudin aliquam ultrices sagittis.</span>
27
+ </div>
28
+ <div className="col-12 md:col-4 mb-4 px-5">
29
+ <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
30
+ <i className="pi pi-check-circle text-4xl text-primary"></i>
31
+ </span>
32
+ <div className="text-900 text-xl mb-3 font-medium">Easy to Use</div>
33
+ <span className="text-700 line-height-3">Ornare suspendisse sed nisi lacus sed viverra tellus. Neque volutpat ac tincidunt vitae semper.</span>
34
+ </div>
35
+ <div className="col-12 md:col-4 mb-4 px-5">
36
+ <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
37
+ <i className="pi pi-globe text-4xl text-primary"></i>
38
+ </span>
39
+ <div className="text-900 text-xl mb-3 font-medium">Fast & Global Support</div>
40
+ <span className="text-700 line-height-3">Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum tellus.</span>
41
+ </div>
42
+ <div className="col-12 md:col-4 mb-4 px-5">
43
+ <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
44
+ <i className="pi pi-github text-4xl text-primary"></i>
45
+ </span>
46
+ <div className="text-900 text-xl mb-3 font-medium">Open Source</div>
47
+ <span className="text-700 line-height-3">Nec tincidunt praesent semper feugiat. Sed adipiscing diam donec adipiscing tristique risus nec feugiat. </span>
48
+ </div>
49
+ <div className="col-12 md:col-4 md:mb-4 mb-0 px-3">
50
+ <span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
51
+ <i className="pi pi-shield text-4xl text-primary"></i>
52
+ </span>
53
+ <div className="text-900 text-xl mb-3 font-medium">Trusted Securitty</div>
54
+ <span className="text-700 line-height-3">Mattis rhoncus urna neque viverra justo nec ultrices. Id cursus metus aliquam eleifend.</span>
55
+ </div>
63
56
  </div>
64
57
  </div>
65
58
  </div>
@@ -0,0 +1,44 @@
1
+ "use client";
2
+
3
+ import { useEffect, useState } from "react";
4
+ import { usePathname } from "next/navigation";
5
+ import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
6
+
7
+ export const SolidThemeProvider = () => {
8
+ const pathname = usePathname();
9
+ const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()
10
+ const [theme, setTheme] = useState("solid-light-purple");
11
+
12
+ useEffect(() => {
13
+ if (pathname.includes("/auth")) {
14
+ trigger("");
15
+ }
16
+ }, [pathname, trigger]);
17
+
18
+ useEffect(() => {
19
+ if (pathname.includes("/auth") && solidSettingsData?.data?.authPagesTheme) {
20
+ const selectedTheme =
21
+ solidSettingsData.data.authPagesTheme === "dark" ? "solid-dark-purple" : "solid-light-purple";
22
+ setTheme(selectedTheme);
23
+ } else {
24
+ setTheme("solid-light-purple");
25
+ }
26
+ }, [pathname, solidSettingsData]);
27
+
28
+ useEffect(() => {
29
+ // Find or create <link> element
30
+ let themeLink = document.getElementById("theme-css") as HTMLLinkElement;
31
+
32
+ // if (!themeLink) {
33
+ // themeLink = document.createElement("link");
34
+ // themeLink.id = "theme-css";
35
+ // themeLink.rel = "stylesheet";
36
+ // document.head.appendChild(themeLink);
37
+ // }
38
+
39
+ // Update theme link dynamically
40
+ themeLink.href = `/themes/${theme}/theme.css`;
41
+ }, [theme]);
42
+
43
+ return null;
44
+ }
@@ -24,7 +24,7 @@ interface ApiResponse {
24
24
  };
25
25
  }
26
26
 
27
- export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaData, setKanbanViewData, handleLoadMore, onDragEnd, handleSwimLinPagination ,setLightboxUrls, setOpenLightbox }: any) => {
27
+ export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaData, setKanbanViewData, handleLoadMore, onDragEnd, handleSwimLinPagination, setLightboxUrls, setOpenLightbox }: any) => {
28
28
  const [loading, setLoading] = useState<boolean>(true);
29
29
  // State to manage the folded status of each column
30
30
  const [foldedStates, setFoldedStates] = useState<Record<string, boolean>>({});
@@ -70,9 +70,10 @@ export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaDa
70
70
  // Render the Kanban board
71
71
  return (
72
72
  //@ts-ignore
73
- <DragDropContext onDragEnd={onDragEnd}>
74
- <div style={{ display: "flex", gap: "1rem", background: "#f0f0f5", padding: "20px" }}>
75
- {/* {Object.entries(kanbanViewData).map(([groupVal, data]) => {
73
+ <div className="solid-kanban-board-wrapper">
74
+ <DragDropContext onDragEnd={onDragEnd}>
75
+ <div className="flex gap-4 px-5 py-4 solid-kanban-board-scroll-context">
76
+ {/* {Object.entries(kanbanViewData).map(([groupVal, data]) => {
76
77
  const group = {
77
78
  label: groupVal,
78
79
  count: data.count,
@@ -90,36 +91,37 @@ export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaDa
90
91
  />
91
92
  );
92
93
  })} */}
93
- {kanbanViewData.map((data) => {
94
- const group = {
95
- label: data.groupName,
96
- count: data.groupData.meta.totalRecords,
97
- limit: data.groupData.meta.perPage,
98
- currentPage: data.groupData.meta.currentPage,
99
- folded: foldedStates[data.groupName] || false,
100
- };
101
-
102
- return (
103
- <KanbanColumn
104
- key={data.groupName}
105
- groupedView={groupedView}
106
- groupByField={data.groupName}
107
- group={group}
108
- solidKanbanViewMetaData={solidKanbanViewMetaData}
109
- groupData={data.groupData.records}
110
- toggleFold={toggleFold}
111
- handleLoadMore={handleLoadMore}
112
- setLightboxUrls={setLightboxUrls}
113
- setOpenLightbox={setOpenLightbox}
114
- />
115
- );
116
- })}
117
- {groupedView !== false &&
118
- <div className="kanban-load-more-folded">
119
- <a className="kaban-load-more" onClick={handleSwimLinPagination}>load More</a></div>
120
- }
121
- </div>
122
- </DragDropContext>
94
+ {kanbanViewData.map((data) => {
95
+ const group = {
96
+ label: data.groupName,
97
+ count: data.groupData.meta.totalRecords,
98
+ limit: data.groupData.meta.perPage,
99
+ currentPage: data.groupData.meta.currentPage,
100
+ folded: foldedStates[data.groupName] || false,
101
+ };
102
+
103
+ return (
104
+ <KanbanColumn
105
+ key={data.groupName}
106
+ groupedView={groupedView}
107
+ groupByField={data.groupName}
108
+ group={group}
109
+ solidKanbanViewMetaData={solidKanbanViewMetaData}
110
+ groupData={data.groupData.records}
111
+ toggleFold={toggleFold}
112
+ handleLoadMore={handleLoadMore}
113
+ setLightboxUrls={setLightboxUrls}
114
+ setOpenLightbox={setOpenLightbox}
115
+ />
116
+ );
117
+ })}
118
+ {groupedView !== false &&
119
+ <div className="kanban-load-more-folded">
120
+ <a className="kaban-load-more" onClick={handleSwimLinPagination}>load More</a></div>
121
+ }
122
+ </div>
123
+ </DragDropContext>
124
+ </div>
123
125
  );
124
126
  }
125
127
 
@@ -49,41 +49,53 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData,
49
49
  const SolidRow = ({ children, attrs }: any) => {
50
50
  const className = attrs.className;
51
51
  return (
52
- <div className={`row ${className}`}>
53
- <div className="s_group">
54
- <div>
55
- {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
56
- <div className="grid">{children}</div>
57
- </div>
52
+ // <div className={`row ${className}`}>
53
+ // <div className="s_group">
54
+ // <div>
55
+ // {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
56
+ // <div className="grid">{children}</div>
57
+ // </div>
58
+ // </div>
59
+ // </div>
60
+ <>
61
+ {attrs.label && <p className="">{attrs.label}</p>}
62
+ <div className={`row ${className}`}>
63
+ {children}
58
64
  </div>
59
- </div>
65
+ </>
60
66
  );
61
67
  };
62
68
  const SolidColumn = ({ children, attrs }: any) => {
63
69
  const className = attrs.className;
64
70
  return (
71
+ // <div className={`${className}`}>
72
+ // <div className="s_group">
73
+ // <div>
74
+ // {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
75
+ // <div className="grid">{children}</div>
76
+ // </div>
77
+ // </div>
78
+ // </div>
65
79
  <div className={`${className}`}>
66
- <div className="s_group">
67
- <div>
68
- {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
69
- <div className="grid">{children}</div>
70
- </div>
71
- </div>
72
-
80
+ {attrs.label && <p className="">{attrs.label}</p>}
81
+ {children}
73
82
  </div>
74
83
  );
75
84
  };
76
85
  const SolidImage = ({ children, attrs }: any) => {
77
86
  const className = attrs.className;
78
87
  return (
88
+ // <div className={`${className}`}>
89
+ // <div className="s_group">
90
+ // <div>
91
+ // {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
92
+ // <div className="grid">{children}</div>
93
+ // </div>
94
+ // </div>
95
+ // </div>
79
96
  <div className={`${className}`}>
80
- <div className="s_group">
81
- <div>
82
- {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
83
- <div className="grid">{children}</div>
84
- </div>
85
- </div>
86
-
97
+ {attrs.label && <p className="">{attrs.label}</p>}
98
+ {children}
87
99
  </div>
88
100
  );
89
101
  };
@@ -157,17 +169,18 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData,
157
169
  ref={provided.innerRef}
158
170
  {...provided.draggableProps}
159
171
  {...provided.dragHandleProps}
160
- style={{ marginBottom: "1rem", ...provided.draggableProps.style }}
172
+ style={{ marginTop: "1rem", ...provided.draggableProps.style }}
161
173
  className="kanban-card-container"
162
174
  >
163
175
  {/* <p className="kanban-card-heading">{data.title}</p> */}
164
176
  {/* <p className="kanban-card-content">{data.content}</p> */}
165
- <Card
177
+ <div
166
178
  style={{
167
179
  opacity: snapshot.isDragging ? 0.9 : 1,
168
180
  transform: snapshot.isDragging ? "rotate(-2deg)" : "",
169
181
  }}
170
182
  elevation={snapshot.isDragging ? 3 : 1}
183
+ className="solid-kanban-card"
171
184
  >
172
185
  {renderFormDynamically(solidKanbanViewMetaData)}
173
186
 
@@ -177,7 +190,7 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData,
177
190
  ))
178
191
  } */}
179
192
  {/* <p className="kanban-card-content">{data.content}</p> */}
180
- </Card>
193
+ </div>
181
194
  </div>
182
195
  )}
183
196
  </Draggable>
@@ -49,20 +49,25 @@ const KanbanColumn = ({ groupedView, groupByField, solidKanbanViewMetaData, grou
49
49
  <i className="pi pi-sort-up-fill"></i>
50
50
  <i className="pi pi-sort-down-fill"></i>
51
51
  </div>
52
- <p className="kanban-group-heading">{`${group.label}`}<span className="count">{group.count}</span></p>
52
+ <p className="kanban-group-heading">{`${group.label}`}<span className="kanban-count-badge">{group.count}</span></p>
53
53
  </div>
54
54
  </a>
55
55
  }
56
56
 
57
57
  {!group.folded &&
58
58
  <div className="flex align-items-center">
59
- <p className="kanban-group-heading">{`${group.label}`}<span className="count">{group.count}</span></p>
59
+ <p className="kanban-group-heading">{`${group.label}`}<span className="kanban-count-badge">{group.count}</span></p>
60
60
  </div>
61
61
  }
62
62
  {!group.folded &&
63
- <a onClick={(e: any) => op?.current?.toggle(e)}>
64
- < i className="pi pi-cog" />
65
- </a>
63
+ <Button
64
+ onClick={(e: any) => op?.current?.toggle(e)}
65
+ icon='pi pi-cog'
66
+ text
67
+ className="p-0 kanban-column-cogwheel"
68
+ rounded
69
+ severity="secondary"
70
+ />
66
71
  }
67
72
  <OverlayPanel ref={op} className="kanban-options-panel">
68
73
 
@@ -165,7 +165,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
165
165
  if (fieldMetadata.type === 'relation' && fieldMetadata.relationType === 'many-to-one') {
166
166
  toPopulate.push(fieldMetadata.name);
167
167
  }
168
- if (fieldMetadata.type === 'mediaSingle' || fieldMetadata.relationType === 'mediaMultiple') {
168
+ if (fieldMetadata.type === 'mediaSingle' || fieldMetadata.type === 'mediaMultiple') {
169
169
  toPopulateMedia.push(fieldMetadata.name);
170
170
  }
171
171
  }
@@ -267,7 +267,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
267
267
 
268
268
 
269
269
  const columnsToLoadCount = solidKanbanViewMetaData?.data.solidView?.layout?.attrs?.swimlanesCount || 5;
270
- if (groupByFieldName &&( toPopulate || toPopulateMedia)) {
270
+ if (groupByFieldName && (toPopulate || toPopulateMedia)) {
271
271
 
272
272
  const queryData = {
273
273
  offset: 0,
@@ -294,7 +294,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
294
294
  setSelectedRecords([]);
295
295
  }
296
296
  }
297
- }, [isDeleteSolidEntitiesSucess, toPopulate, groupByFieldName,solidKanbanViewMetaData]);
297
+ }, [isDeleteSolidEntitiesSucess, toPopulate, groupByFieldName, solidKanbanViewMetaData]);
298
298
 
299
299
 
300
300
 
@@ -393,7 +393,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
393
393
  const queryData = {
394
394
  offset: offset + limit,
395
395
  limit: limit,
396
- populate:toPopulate,
396
+ populate: toPopulate,
397
397
  populateMedia: toPopulateMedia,
398
398
  populateGroup: true,
399
399
  filters: {
@@ -628,13 +628,20 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
628
628
  // }
629
629
  }
630
630
 
631
-
631
+ const kanbanViewTitle = solidKanbanViewMetaData?.data?.solidView?.displayName
632
632
 
633
633
  return (
634
- <>
635
- <div className="flex gap-3 mb-4 align-items-center justify-content-between kanban-view">
636
- <div className="flex gap-3 mb-4 align-items-center" >
634
+ <div className="page-parent-wrapper">
635
+ <div className="page-header">
636
+ <div className="flex gap-3 align-items-center">
637
+ <p className="m-0 view-title">{kanbanViewTitle}</p>
638
+ {solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true &&
639
+ // <SolidGlobalSearchElement viewData={solidKanbanViewMetaData} handleApplyCustomFilter={handleApplyCustomFilter} ></SolidGlobalSearchElement>
640
+ <SolidGlobalSearchElement ref={solidGlobalSearchElementRef} viewData={solidKanbanViewMetaData} handleApplyCustomFilter={handleApplyCustomFilter} ></SolidGlobalSearchElement>
637
641
 
642
+ }
643
+ </div>
644
+ <div className="flex align-items-center gap-3">
638
645
  {actionsAllowed.includes(`${createPermission(params.modelName)}`) && solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.create !== false &&
639
646
  <SolidCreateButton url={createButtonUrl} />
640
647
  }
@@ -647,40 +654,21 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
647
654
  className="small-button"
648
655
  severity="danger"
649
656
  />}
650
- {/* {isFilterApplied &&
651
- <Button
652
- type="button"
653
- icon="pi pi-filter-slash"
654
- label="Clear"
655
- size="small"
656
- outlined
657
- onClick={clearFilter}
658
- className="small-button"
659
- />
660
- } */}
661
-
662
- {solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true &&
663
- // <SolidGlobalSearchElement viewData={solidKanbanViewMetaData} handleApplyCustomFilter={handleApplyCustomFilter} ></SolidGlobalSearchElement>
664
- <SolidGlobalSearchElement ref={solidGlobalSearchElementRef} viewData={solidKanbanViewMetaData} handleApplyCustomFilter={handleApplyCustomFilter} ></SolidGlobalSearchElement>
665
-
666
- }
657
+ {/* <SolidListViewConfigure
658
+ setShowArchived={setShowArchived}
659
+ showArchived={showArchived}
660
+ viewData={solidKanbanViewMetaData}
661
+ sizeOptions={sizeOptions}
662
+ setSize={setSize}
663
+ size={size}
664
+ viewModes={viewModes}
665
+ params={params}
666
+ actionsAllowed={actionsAllowed}
667
+ selectedRecords={selectedRecords}
668
+ setDialogVisible={setDialogVisible}
669
+ ></SolidListViewConfigure> */}
670
+ {/* <SolidConfigureLayoutElement></SolidConfigureLayoutElement> */}
667
671
  </div>
668
-
669
- {/* <SolidListViewConfigure
670
- setShowArchived={setShowArchived}
671
- showArchived={showArchived}
672
- viewData={solidKanbanViewMetaData}
673
- sizeOptions={sizeOptions}
674
- setSize={setSize}
675
- size={size}
676
- viewModes={viewModes}
677
- params={params}
678
- actionsAllowed={actionsAllowed}
679
- selectedRecords={selectedRecords}
680
- setDialogVisible={setDialogVisible}
681
- ></SolidListViewConfigure> */}
682
- {/* <SolidConfigureLayoutElement></SolidConfigureLayoutElement> */}
683
-
684
672
  </div>
685
673
  <style>{`.p-datatable .p-datatable-loading-overlay {background-color: rgba(0, 0, 0, 0.0);}`}</style>
686
674
  {solidKanbanViewMetaData && kanbanViewData &&
@@ -709,7 +697,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
709
697
  slides={lightboxUrls}
710
698
  />
711
699
  }
712
- </>
700
+ </div>
713
701
  );
714
702
  };
715
703