@solidxai/core-ui 0.1.13-beta.0 → 0.1.13-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/adapters/auth/sessionInvalidation.d.ts +3 -0
  2. package/dist/adapters/auth/sessionInvalidation.d.ts.map +1 -0
  3. package/dist/adapters/auth/sessionInvalidation.js +70 -0
  4. package/dist/adapters/auth/sessionInvalidation.js.map +1 -0
  5. package/dist/adapters/auth/sessionInvalidation.ts +22 -0
  6. package/dist/adapters/auth/signOut.d.ts.map +1 -1
  7. package/dist/adapters/auth/signOut.js +0 -2
  8. package/dist/adapters/auth/signOut.js.map +1 -1
  9. package/dist/adapters/auth/signOut.ts +0 -2
  10. package/dist/components/core/card/CardGrid.d.ts +1 -1
  11. package/dist/components/core/card/CardGrid.d.ts.map +1 -1
  12. package/dist/components/core/card/CardGrid.js +2 -2
  13. package/dist/components/core/card/CardGrid.js.map +1 -1
  14. package/dist/components/core/card/CardGrid.tsx +2 -0
  15. package/dist/components/core/card/CardItem.d.ts +1 -0
  16. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  17. package/dist/components/core/card/CardItem.js +2 -2
  18. package/dist/components/core/card/CardItem.js.map +1 -1
  19. package/dist/components/core/card/CardItem.tsx +11 -0
  20. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  21. package/dist/components/core/card/SolidCardView.js +82 -30
  22. package/dist/components/core/card/SolidCardView.js.map +1 -1
  23. package/dist/components/core/card/SolidCardView.tsx +68 -7
  24. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  25. package/dist/components/core/chatter/SolidMessageComposer.js +4 -14
  26. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  27. package/dist/components/core/chatter/SolidMessageComposer.tsx +4 -15
  28. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  29. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +2 -1
  30. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  31. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +3 -1
  32. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  33. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +2 -1
  34. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  35. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +2 -1
  36. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +32 -2
  37. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  38. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +1 -1
  39. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  40. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +3 -1
  41. package/dist/components/core/common/SolidGlobalSearchElement.js +1 -1
  42. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  43. package/dist/components/core/common/SolidGlobalSearchElement.tsx +1 -1
  44. package/dist/components/core/common/globalSearchPersistence.d.ts +7 -0
  45. package/dist/components/core/common/globalSearchPersistence.d.ts.map +1 -0
  46. package/dist/components/core/common/globalSearchPersistence.js +89 -0
  47. package/dist/components/core/common/globalSearchPersistence.js.map +1 -0
  48. package/dist/components/core/common/globalSearchPersistence.ts +88 -0
  49. package/dist/components/core/form/SolidFormFooter.js +1 -1
  50. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  51. package/dist/components/core/form/SolidFormFooter.tsx +1 -1
  52. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  53. package/dist/components/core/form/fields/SolidMediaMultipleField.js +6 -8
  54. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  55. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +36 -55
  56. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  57. package/dist/components/core/kanban/SolidKanbanView.js +2 -2
  58. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  59. package/dist/components/core/kanban/SolidKanbanView.tsx +3 -2
  60. package/dist/components/core/list/SolidListView.d.ts +0 -6
  61. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  62. package/dist/components/core/list/SolidListView.js +1 -89
  63. package/dist/components/core/list/SolidListView.js.map +1 -1
  64. package/dist/components/core/list/SolidListView.tsx +5 -95
  65. package/dist/components/core/model/CreateModel.css +1 -0
  66. package/dist/components/core/module/CreateModule.css +1 -0
  67. package/dist/components/core/module/CreateModule.js +1 -1
  68. package/dist/components/core/module/CreateModule.js.map +1 -1
  69. package/dist/components/core/module/CreateModule.tsx +1 -1
  70. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  71. package/dist/components/core/tree/SolidTreeView.js +135 -41
  72. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  73. package/dist/components/core/tree/SolidTreeView.tsx +96 -34
  74. package/dist/constants/error-messages.d.ts +1 -0
  75. package/dist/constants/error-messages.d.ts.map +1 -1
  76. package/dist/constants/error-messages.js +1 -0
  77. package/dist/constants/error-messages.js.map +1 -1
  78. package/dist/constants/error-messages.ts +2 -0
  79. package/dist/http/solidHttp.d.ts.map +1 -1
  80. package/dist/http/solidHttp.js +28 -16
  81. package/dist/http/solidHttp.js.map +1 -1
  82. package/dist/http/solidHttp.ts +7 -1
  83. package/dist/redux/api/fetchBaseQuery.d.ts.map +1 -1
  84. package/dist/redux/api/fetchBaseQuery.js +25 -19
  85. package/dist/redux/api/fetchBaseQuery.js.map +1 -1
  86. package/dist/redux/api/fetchBaseQuery.tsx +5 -0
  87. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -2
  88. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  89. package/dist/redux/api/solidChatterMessageApi.js +3 -3
  90. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  91. package/dist/redux/api/solidChatterMessageApi.ts +3 -3
  92. package/dist/redux/store/defaultStoreConfig.d.ts +1 -1
  93. package/dist/resources/solid-custom.css +5 -1
  94. package/dist/routes/pages/admin/core/DashboardPage.module.css +4 -0
  95. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ export declare function isSessionInvalidError(payload: unknown, status?: unknown): boolean;
2
+ export declare function handleSessionInvalidation(): Promise<void>;
3
+ //# sourceMappingURL=sessionInvalidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionInvalidation.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/sessionInvalidation.ts"],"names":[],"mappings":"AAKA,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAKjF;AAED,wBAAsB,yBAAyB,kBAS9C"}
@@ -0,0 +1,70 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { signOut } from "./signOut";
38
+ import { SESSION_INVALID_ERROR_CODE } from "../../constants/error-messages";
39
+ var isHandlingSessionInvalidation = false;
40
+ export function isSessionInvalidError(payload, status) {
41
+ if (status !== 401)
42
+ return false;
43
+ if (!payload || typeof payload !== "object")
44
+ return false;
45
+ return payload.errorCode === SESSION_INVALID_ERROR_CODE;
46
+ }
47
+ export function handleSessionInvalidation() {
48
+ return __awaiter(this, void 0, void 0, function () {
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ if (isHandlingSessionInvalidation)
53
+ return [2 /*return*/];
54
+ isHandlingSessionInvalidation = true;
55
+ _a.label = 1;
56
+ case 1:
57
+ _a.trys.push([1, , 3, 4]);
58
+ return [4 /*yield*/, signOut({ callbackUrl: "/auth/login" })];
59
+ case 2:
60
+ _a.sent();
61
+ return [3 /*break*/, 4];
62
+ case 3:
63
+ isHandlingSessionInvalidation = false;
64
+ return [7 /*endfinally*/];
65
+ case 4: return [2 /*return*/];
66
+ }
67
+ });
68
+ });
69
+ }
70
+ //# sourceMappingURL=sessionInvalidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionInvalidation.js","sourceRoot":"","sources":["../../../src/adapters/auth/sessionInvalidation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAE1C,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,MAAgB;IACtE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE1D,OAAQ,OAAmC,CAAC,SAAS,KAAK,0BAA0B,CAAC;AACvF,CAAC;AAED,MAAM,UAAgB,yBAAyB;;;;;oBAC7C,IAAI,6BAA6B;wBAAE,sBAAO;oBAE1C,6BAA6B,GAAG,IAAI,CAAC;;;;oBAEnC,qBAAM,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAA;;oBAA7C,SAA6C,CAAC;;;oBAE9C,6BAA6B,GAAG,KAAK,CAAC;;;;;;CAEzC","sourcesContent":["import { signOut } from \"./signOut\";\nimport { SESSION_INVALID_ERROR_CODE } from \"../../constants/error-messages\";\n\nlet isHandlingSessionInvalidation = false;\n\nexport function isSessionInvalidError(payload: unknown, status?: unknown): boolean {\n if (status !== 401) return false;\n if (!payload || typeof payload !== \"object\") return false;\n\n return (payload as { errorCode?: unknown }).errorCode === SESSION_INVALID_ERROR_CODE;\n}\n\nexport async function handleSessionInvalidation() {\n if (isHandlingSessionInvalidation) return;\n\n isHandlingSessionInvalidation = true;\n try {\n await signOut({ callbackUrl: \"/auth/login\" });\n } finally {\n isHandlingSessionInvalidation = false;\n }\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { signOut } from "./signOut";
2
+ import { SESSION_INVALID_ERROR_CODE } from "../../constants/error-messages";
3
+
4
+ let isHandlingSessionInvalidation = false;
5
+
6
+ export function isSessionInvalidError(payload: unknown, status?: unknown): boolean {
7
+ if (status !== 401) return false;
8
+ if (!payload || typeof payload !== "object") return false;
9
+
10
+ return (payload as { errorCode?: unknown }).errorCode === SESSION_INVALID_ERROR_CODE;
11
+ }
12
+
13
+ export async function handleSessionInvalidation() {
14
+ if (isHandlingSessionInvalidation) return;
15
+
16
+ isHandlingSessionInvalidation = true;
17
+ try {
18
+ await signOut({ callbackUrl: "/auth/login" });
19
+ } finally {
20
+ isHandlingSessionInvalidation = false;
21
+ }
22
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"signOut.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/signOut.ts"],"names":[],"mappings":"AAGA,KAAK,cAAc,GAAG;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,iBAazD"}
1
+ {"version":3,"file":"signOut.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/signOut.ts"],"names":[],"mappings":"AAGA,KAAK,cAAc,GAAG;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,iBAWzD"}
@@ -45,8 +45,6 @@ export function signOut(options) {
45
45
  eventBus.emit(AppEvents.SessionCleared);
46
46
  if (options.callbackUrl && typeof window !== "undefined") {
47
47
  currentPathname = window.location.pathname;
48
- // Only force the post-logout redirect when the admin app shell is active.
49
- // Other shells can react to SessionCleared and decide their own navigation.
50
48
  if (currentPathname.startsWith("/admin")) {
51
49
  window.location.href = options.callbackUrl;
52
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signOut.js","sourceRoot":"","sources":["../../../src/adapters/auth/signOut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAM7D,MAAM,UAAgB,OAAO,CAAC,OAA4B;IAA5B,wBAAA,EAAA,YAA4B;;;;YACxD,YAAY,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBAClD,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAEjD,0EAA0E;gBAC1E,4EAA4E;gBAC5E,IAAI,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;iBAC5C;aACF;YACD,sBAAO;;;CACR","sourcesContent":["import { clearSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\n\ntype SignOutOptions = {\n callbackUrl?: string;\n};\n\nexport async function signOut(options: SignOutOptions = {}) {\n clearSession();\n eventBus.emit(AppEvents.SessionCleared);\n if (options.callbackUrl && typeof window !== \"undefined\") {\n const currentPathname = window.location.pathname;\n\n // Only force the post-logout redirect when the admin app shell is active.\n // Other shells can react to SessionCleared and decide their own navigation.\n if (currentPathname.startsWith(\"/admin\")) {\n window.location.href = options.callbackUrl;\n }\n }\n return;\n}\n"]}
1
+ {"version":3,"file":"signOut.js","sourceRoot":"","sources":["../../../src/adapters/auth/signOut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAM7D,MAAM,UAAgB,OAAO,CAAC,OAA4B;IAA5B,wBAAA,EAAA,YAA4B;;;;YACxD,YAAY,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBAClD,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAEjD,IAAI,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;iBAC5C;aACF;YACD,sBAAO;;;CACR","sourcesContent":["import { clearSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\n\ntype SignOutOptions = {\n callbackUrl?: string;\n};\n\nexport async function signOut(options: SignOutOptions = {}) {\n clearSession();\n eventBus.emit(AppEvents.SessionCleared);\n if (options.callbackUrl && typeof window !== \"undefined\") {\n const currentPathname = window.location.pathname;\n\n if (currentPathname.startsWith(\"/admin\")) {\n window.location.href = options.callbackUrl;\n }\n }\n return;\n}\n"]}
@@ -11,8 +11,6 @@ export async function signOut(options: SignOutOptions = {}) {
11
11
  if (options.callbackUrl && typeof window !== "undefined") {
12
12
  const currentPathname = window.location.pathname;
13
13
 
14
- // Only force the post-logout redirect when the admin app shell is active.
15
- // Other shells can react to SessionCleared and decide their own navigation.
16
14
  if (currentPathname.startsWith("/admin")) {
17
15
  window.location.href = options.callbackUrl;
18
16
  }
@@ -1,3 +1,3 @@
1
- export declare const CardGrid: ({ records, solidCardViewMetaData, editButtonUrl, onRecover, setLightboxUrls, setOpenLightbox, showArchived, }: any) => import("react/jsx-runtime").JSX.Element;
1
+ export declare const CardGrid: ({ records, solidCardViewMetaData, editButtonUrl, onDelete, onRecover, setLightboxUrls, setOpenLightbox, showArchived, }: any) => import("react/jsx-runtime").JSX.Element;
2
2
  export default CardGrid;
3
3
  //# sourceMappingURL=CardGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/core/card/CardGrid.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,QAAQ,kHAQlB,GAAG,4CA2DL,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"CardGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/core/card/CardGrid.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,QAAQ,4HASlB,GAAG,4CA4DL,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -20,7 +20,7 @@ var findCardNode = function (nodes) {
20
20
  };
21
21
  export var CardGrid = function (_a) {
22
22
  var _b, _c, _d;
23
- var records = _a.records, solidCardViewMetaData = _a.solidCardViewMetaData, editButtonUrl = _a.editButtonUrl, onRecover = _a.onRecover, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox, showArchived = _a.showArchived;
23
+ var records = _a.records, solidCardViewMetaData = _a.solidCardViewMetaData, editButtonUrl = _a.editButtonUrl, onDelete = _a.onDelete, onRecover = _a.onRecover, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox, showArchived = _a.showArchived;
24
24
  var cardNode = findCardNode(((_c = (_b = solidCardViewMetaData === null || solidCardViewMetaData === void 0 ? void 0 : solidCardViewMetaData.solidView) === null || _b === void 0 ? void 0 : _b.layout) === null || _c === void 0 ? void 0 : _c.children) || []);
25
25
  var cardWidget = ((_d = cardNode === null || cardNode === void 0 ? void 0 : cardNode.attrs) === null || _d === void 0 ? void 0 : _d.cardWidget) || (cardNode === null || cardNode === void 0 ? void 0 : cardNode.cardWidget);
26
26
  var DynamicCardWidget = cardWidget ? getExtensionComponent(cardWidget) : null;
@@ -36,7 +36,7 @@ export var CardGrid = function (_a) {
36
36
  ? "Register the widget in the extension registry or update the card metadata to point at a valid component."
37
37
  : "Configure attrs.cardWidget on the card metadata so the grid can render each record." })] }) }));
38
38
  }
39
- return (_jsx("div", { className: "solid-card-view-grid", children: records.map(function (record) { return (_jsx(CardItem, { data: record, solidCardViewMetaData: solidCardViewMetaData, editButtonUrl: editButtonUrl, cardNode: cardNode, DynamicCardWidget: DynamicCardWidget, onRecover: onRecover, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, showArchived: showArchived }, record.id)); }) }));
39
+ return (_jsx("div", { className: "solid-card-view-grid", children: records.map(function (record) { return (_jsx(CardItem, { data: record, solidCardViewMetaData: solidCardViewMetaData, editButtonUrl: editButtonUrl, onDelete: onDelete, cardNode: cardNode, DynamicCardWidget: DynamicCardWidget, onRecover: onRecover, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, showArchived: showArchived }, record.id)); }) }));
40
40
  };
41
41
  export default CardGrid;
42
42
  //# sourceMappingURL=CardGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardGrid.js","sourceRoot":"","sources":["../../../../src/components/core/card/CardGrid.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport CardItem from \"./CardItem\";\nimport { getExtensionComponent } from \"../../../helpers/registry\";\n\nconst findCardNode = (nodes: any[] = []): any => {\n for (const node of nodes) {\n if (!node) continue;\n if (node.type === \"card\") return node;\n if (Array.isArray(node?.children) && node.children.length > 0) {\n const nestedCard = findCardNode(node.children);\n if (nestedCard) return nestedCard;\n }\n }\n\n return null;\n};\n\nexport const CardGrid = ({\n records,\n solidCardViewMetaData,\n editButtonUrl,\n onRecover,\n setLightboxUrls,\n setOpenLightbox,\n showArchived,\n}: any) => {\n const cardNode = findCardNode(solidCardViewMetaData?.solidView?.layout?.children || []);\n const cardWidget = cardNode?.attrs?.cardWidget || cardNode?.cardWidget;\n const DynamicCardWidget = cardWidget ? getExtensionComponent(cardWidget) : null;\n const cardConfigurationIssue = !cardWidget\n ? { type: \"missing_widget_reference\" }\n : !DynamicCardWidget\n ? { type: \"missing_widget\", cardWidget }\n : null;\n\n if (cardConfigurationIssue) {\n return (\n <div className=\"solid-kanban-config-placeholder-container\">\n <div className=\"solid-kanban-config-placeholder-panel\">\n <div className=\"solid-kanban-config-placeholder-badge\">CARD CONFIGURATION</div>\n <div className=\"solid-kanban-config-placeholder-title\">\n {cardConfigurationIssue.type === \"missing_widget\"\n ? \"Card widget could not be resolved\"\n : \"Card widget is not configured\"}\n </div>\n <div className=\"solid-kanban-config-placeholder-description\">\n {cardConfigurationIssue.type === \"missing_widget\" ? (\n <>\n This card view references <code>{cardConfigurationIssue.cardWidget}</code>, but no matching card widget is registered.\n </>\n ) : (\n <>\n This card view does not define a <code>cardWidget</code> on the card node.\n </>\n )}\n </div>\n <div className=\"solid-kanban-config-placeholder-hint\">\n {cardConfigurationIssue.type === \"missing_widget\"\n ? \"Register the widget in the extension registry or update the card metadata to point at a valid component.\"\n : \"Configure attrs.cardWidget on the card metadata so the grid can render each record.\"}\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"solid-card-view-grid\">\n {records.map((record: any) => (\n <CardItem\n key={record.id}\n data={record}\n solidCardViewMetaData={solidCardViewMetaData}\n editButtonUrl={editButtonUrl}\n cardNode={cardNode}\n DynamicCardWidget={DynamicCardWidget}\n onRecover={onRecover}\n setLightboxUrls={setLightboxUrls}\n setOpenLightbox={setOpenLightbox}\n showArchived={showArchived}\n />\n ))}\n </div>\n );\n};\n\nexport default CardGrid;\n"]}
1
+ {"version":3,"file":"CardGrid.js","sourceRoot":"","sources":["../../../../src/components/core/card/CardGrid.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport CardItem from \"./CardItem\";\nimport { getExtensionComponent } from \"../../../helpers/registry\";\n\nconst findCardNode = (nodes: any[] = []): any => {\n for (const node of nodes) {\n if (!node) continue;\n if (node.type === \"card\") return node;\n if (Array.isArray(node?.children) && node.children.length > 0) {\n const nestedCard = findCardNode(node.children);\n if (nestedCard) return nestedCard;\n }\n }\n\n return null;\n};\n\nexport const CardGrid = ({\n records,\n solidCardViewMetaData,\n editButtonUrl,\n onDelete,\n onRecover,\n setLightboxUrls,\n setOpenLightbox,\n showArchived,\n}: any) => {\n const cardNode = findCardNode(solidCardViewMetaData?.solidView?.layout?.children || []);\n const cardWidget = cardNode?.attrs?.cardWidget || cardNode?.cardWidget;\n const DynamicCardWidget = cardWidget ? getExtensionComponent(cardWidget) : null;\n const cardConfigurationIssue = !cardWidget\n ? { type: \"missing_widget_reference\" }\n : !DynamicCardWidget\n ? { type: \"missing_widget\", cardWidget }\n : null;\n\n if (cardConfigurationIssue) {\n return (\n <div className=\"solid-kanban-config-placeholder-container\">\n <div className=\"solid-kanban-config-placeholder-panel\">\n <div className=\"solid-kanban-config-placeholder-badge\">CARD CONFIGURATION</div>\n <div className=\"solid-kanban-config-placeholder-title\">\n {cardConfigurationIssue.type === \"missing_widget\"\n ? \"Card widget could not be resolved\"\n : \"Card widget is not configured\"}\n </div>\n <div className=\"solid-kanban-config-placeholder-description\">\n {cardConfigurationIssue.type === \"missing_widget\" ? (\n <>\n This card view references <code>{cardConfigurationIssue.cardWidget}</code>, but no matching card widget is registered.\n </>\n ) : (\n <>\n This card view does not define a <code>cardWidget</code> on the card node.\n </>\n )}\n </div>\n <div className=\"solid-kanban-config-placeholder-hint\">\n {cardConfigurationIssue.type === \"missing_widget\"\n ? \"Register the widget in the extension registry or update the card metadata to point at a valid component.\"\n : \"Configure attrs.cardWidget on the card metadata so the grid can render each record.\"}\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"solid-card-view-grid\">\n {records.map((record: any) => (\n <CardItem\n key={record.id}\n data={record}\n solidCardViewMetaData={solidCardViewMetaData}\n editButtonUrl={editButtonUrl}\n onDelete={onDelete}\n cardNode={cardNode}\n DynamicCardWidget={DynamicCardWidget}\n onRecover={onRecover}\n setLightboxUrls={setLightboxUrls}\n setOpenLightbox={setOpenLightbox}\n showArchived={showArchived}\n />\n ))}\n </div>\n );\n};\n\nexport default CardGrid;\n"]}
@@ -19,6 +19,7 @@ export const CardGrid = ({
19
19
  records,
20
20
  solidCardViewMetaData,
21
21
  editButtonUrl,
22
+ onDelete,
22
23
  onRecover,
23
24
  setLightboxUrls,
24
25
  setOpenLightbox,
@@ -72,6 +73,7 @@ export const CardGrid = ({
72
73
  data={record}
73
74
  solidCardViewMetaData={solidCardViewMetaData}
74
75
  editButtonUrl={editButtonUrl}
76
+ onDelete={onDelete}
75
77
  cardNode={cardNode}
76
78
  DynamicCardWidget={DynamicCardWidget}
77
79
  onRecover={onRecover}
@@ -5,6 +5,7 @@ interface CardItemProps {
5
5
  editButtonUrl?: string;
6
6
  cardNode?: any;
7
7
  DynamicCardWidget?: any;
8
+ onDelete?: (record: any) => void;
8
9
  onRecover?: (record: any) => void;
9
10
  setLightboxUrls?: any;
10
11
  setOpenLightbox?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"CardItem.d.ts","sourceRoot":"","sources":["../../../../src/components/core/card/CardItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,UAAU,aAAa;IACrB,IAAI,EAAE,GAAG,CAAC;IACV,qBAAqB,EAAE,GAAG,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqFrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"CardItem.d.ts","sourceRoot":"","sources":["../../../../src/components/core/card/CardItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,UAAU,aAAa;IACrB,IAAI,EAAE,GAAG,CAAC;IACV,qBAAqB,EAAE,GAAG,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA+FrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -4,7 +4,7 @@ import { storeCurrentModelViewContext } from "../../../helpers/modelViewPersiste
4
4
  import { SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuTrigger, SolidIcon, } from "../../shad-cn-ui";
5
5
  var CardItem = function (_a) {
6
6
  var _b, _c;
7
- var data = _a.data, solidCardViewMetaData = _a.solidCardViewMetaData, editButtonUrl = _a.editButtonUrl, cardNode = _a.cardNode, DynamicCardWidget = _a.DynamicCardWidget, onRecover = _a.onRecover, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox, showArchived = _a.showArchived;
7
+ var data = _a.data, solidCardViewMetaData = _a.solidCardViewMetaData, editButtonUrl = _a.editButtonUrl, cardNode = _a.cardNode, DynamicCardWidget = _a.DynamicCardWidget, onDelete = _a.onDelete, onRecover = _a.onRecover, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox, showArchived = _a.showArchived;
8
8
  var router = useRouter();
9
9
  var isArchivedRecord = (data === null || data === void 0 ? void 0 : data.deletedAt) !== null && (data === null || data === void 0 ? void 0 : data.deletedAt) !== undefined;
10
10
  var openRecord = function () {
@@ -19,7 +19,7 @@ var CardItem = function (_a) {
19
19
  storeCurrentModelViewContext();
20
20
  router.push("".concat(editButtonUrl, "/").concat(data === null || data === void 0 ? void 0 : data.id));
21
21
  };
22
- return (_jsx("div", { className: "solid-card-view-item", children: _jsxs("div", { className: "solid-card-view-card solid-kanban-card".concat(isArchivedRecord ? " greyed-out-row" : ""), onClick: openRecord, style: { cursor: isArchivedRecord ? "default" : "pointer" }, children: [_jsx("div", { className: "solid-kanban-action", onClick: function (e) { return e.stopPropagation(); }, children: _jsxs(SolidDropdownMenu, { children: [_jsx(SolidDropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "solid-header-cog-trigger solid-kanban-action-trigger", "aria-label": "Open card actions", children: _jsx(SolidIcon, { name: "si-ellipsis-v", "aria-hidden": true }) }) }), _jsxs(SolidDropdownMenuContent, { className: "solid-custom-overlay", align: "end", children: [!isArchivedRecord ? (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: openEdit, children: [_jsx(SolidIcon, { name: "si-pencil", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Edit" })] })) : null, showArchived && (data === null || data === void 0 ? void 0 : data.deletedAt) !== null && (data === null || data === void 0 ? void 0 : data.deletedAt) !== undefined && onRecover ? (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () { return onRecover(data); }, children: [_jsx(SolidIcon, { name: "si-refresh", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Recover" })] })) : null] })] }) }), DynamicCardWidget ? (_jsx(DynamicCardWidget, { rowData: data, solidKanbanViewMetaData: solidCardViewMetaData, solidView: solidCardViewMetaData === null || solidCardViewMetaData === void 0 ? void 0 : solidCardViewMetaData.solidView, solidFieldsMetadata: solidCardViewMetaData === null || solidCardViewMetaData === void 0 ? void 0 : solidCardViewMetaData.solidFieldsMetadata, card: cardNode, layoutAttrs: ((_c = (_b = solidCardViewMetaData === null || solidCardViewMetaData === void 0 ? void 0 : solidCardViewMetaData.solidView) === null || _b === void 0 ? void 0 : _b.layout) === null || _c === void 0 ? void 0 : _c.attrs) || {}, groupedView: false, editButtonUrl: editButtonUrl, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, openRecord: openRecord, openEdit: openEdit })) : null] }) }));
22
+ return (_jsx("div", { className: "solid-card-view-item", children: _jsxs("div", { className: "solid-card-view-card solid-kanban-card".concat(isArchivedRecord ? " greyed-out-row" : ""), onClick: openRecord, style: { cursor: isArchivedRecord ? "default" : "pointer" }, children: [_jsx("div", { className: "solid-kanban-action", onClick: function (e) { return e.stopPropagation(); }, children: _jsxs(SolidDropdownMenu, { children: [_jsx(SolidDropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "solid-header-cog-trigger solid-kanban-action-trigger", "aria-label": "Open card actions", children: _jsx(SolidIcon, { name: "si-ellipsis-v", "aria-hidden": true }) }) }), _jsxs(SolidDropdownMenuContent, { className: "solid-custom-overlay", align: "end", children: [!isArchivedRecord ? (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: openEdit, children: [_jsx(SolidIcon, { name: "si-pencil", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Edit" })] })) : null, showArchived && (data === null || data === void 0 ? void 0 : data.deletedAt) !== null && (data === null || data === void 0 ? void 0 : data.deletedAt) !== undefined && onRecover ? (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () { return onRecover(data); }, children: [_jsx(SolidIcon, { name: "si-refresh", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Recover" })] })) : null, onDelete && !isArchivedRecord ? (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item solid-header-dropdown-item-danger", onSelect: function () { return onDelete(data); }, children: [_jsx(SolidIcon, { name: "si-trash", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Delete" })] })) : null] })] }) }), DynamicCardWidget ? (_jsx(DynamicCardWidget, { rowData: data, solidKanbanViewMetaData: solidCardViewMetaData, solidView: solidCardViewMetaData === null || solidCardViewMetaData === void 0 ? void 0 : solidCardViewMetaData.solidView, solidFieldsMetadata: solidCardViewMetaData === null || solidCardViewMetaData === void 0 ? void 0 : solidCardViewMetaData.solidFieldsMetadata, card: cardNode, layoutAttrs: ((_c = (_b = solidCardViewMetaData === null || solidCardViewMetaData === void 0 ? void 0 : solidCardViewMetaData.solidView) === null || _b === void 0 ? void 0 : _b.layout) === null || _c === void 0 ? void 0 : _c.attrs) || {}, groupedView: false, editButtonUrl: editButtonUrl, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, openRecord: openRecord, openEdit: openEdit })) : null] }) }));
23
23
  };
24
24
  export default CardItem;
25
25
  //# sourceMappingURL=CardItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardItem.js","sourceRoot":"","sources":["../../../../src/components/core/card/CardItem.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React from \"react\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { storeCurrentModelViewContext } from \"../../../helpers/modelViewPersistence\";\nimport {\n SolidDropdownMenu,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuTrigger,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\ninterface CardItemProps {\n data: any;\n solidCardViewMetaData: any;\n editButtonUrl?: string;\n cardNode?: any;\n DynamicCardWidget?: any;\n onRecover?: (record: any) => void;\n setLightboxUrls?: any;\n setOpenLightbox?: any;\n showArchived?: boolean;\n}\n\nconst CardItem: React.FC<CardItemProps> = ({\n data,\n solidCardViewMetaData,\n editButtonUrl,\n cardNode,\n DynamicCardWidget,\n onRecover,\n setLightboxUrls,\n setOpenLightbox,\n showArchived,\n}) => {\n const router = useRouter();\n const isArchivedRecord = data?.deletedAt !== null && data?.deletedAt !== undefined;\n\n const openRecord = () => {\n if (isArchivedRecord) return;\n storeCurrentModelViewContext();\n router.push(`${editButtonUrl}/${data?.id}`);\n };\n\n const openEdit = () => {\n if (isArchivedRecord) return;\n storeCurrentModelViewContext();\n router.push(`${editButtonUrl}/${data?.id}`);\n };\n\n return (\n <div className=\"solid-card-view-item\">\n <div\n className={`solid-card-view-card solid-kanban-card${isArchivedRecord ? \" greyed-out-row\" : \"\"}`}\n onClick={openRecord}\n style={{ cursor: isArchivedRecord ? \"default\" : \"pointer\" }}\n >\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 {!isArchivedRecord ? (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={openEdit}\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 ) : null}\n {showArchived && data?.deletedAt !== null && data?.deletedAt !== undefined && onRecover ? (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => onRecover(data)}\n >\n <SolidIcon name=\"si-refresh\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Recover</span>\n </SolidDropdownMenuItem>\n ) : null}\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n </div>\n {DynamicCardWidget ? (\n <DynamicCardWidget\n rowData={data}\n solidKanbanViewMetaData={solidCardViewMetaData}\n solidView={solidCardViewMetaData?.solidView}\n solidFieldsMetadata={solidCardViewMetaData?.solidFieldsMetadata}\n card={cardNode}\n layoutAttrs={solidCardViewMetaData?.solidView?.layout?.attrs || {}}\n groupedView={false}\n editButtonUrl={editButtonUrl}\n setLightboxUrls={setLightboxUrls}\n setOpenLightbox={setOpenLightbox}\n openRecord={openRecord}\n openEdit={openEdit}\n />\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default CardItem;\n"]}
1
+ {"version":3,"file":"CardItem.js","sourceRoot":"","sources":["../../../../src/components/core/card/CardItem.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React from \"react\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { storeCurrentModelViewContext } from \"../../../helpers/modelViewPersistence\";\nimport {\n SolidDropdownMenu,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuTrigger,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\ninterface CardItemProps {\n data: any;\n solidCardViewMetaData: any;\n editButtonUrl?: string;\n cardNode?: any;\n DynamicCardWidget?: any;\n onDelete?: (record: any) => void;\n onRecover?: (record: any) => void;\n setLightboxUrls?: any;\n setOpenLightbox?: any;\n showArchived?: boolean;\n}\n\nconst CardItem: React.FC<CardItemProps> = ({\n data,\n solidCardViewMetaData,\n editButtonUrl,\n cardNode,\n DynamicCardWidget,\n onDelete,\n onRecover,\n setLightboxUrls,\n setOpenLightbox,\n showArchived,\n}) => {\n const router = useRouter();\n const isArchivedRecord = data?.deletedAt !== null && data?.deletedAt !== undefined;\n\n const openRecord = () => {\n if (isArchivedRecord) return;\n storeCurrentModelViewContext();\n router.push(`${editButtonUrl}/${data?.id}`);\n };\n\n const openEdit = () => {\n if (isArchivedRecord) return;\n storeCurrentModelViewContext();\n router.push(`${editButtonUrl}/${data?.id}`);\n };\n\n return (\n <div className=\"solid-card-view-item\">\n <div\n className={`solid-card-view-card solid-kanban-card${isArchivedRecord ? \" greyed-out-row\" : \"\"}`}\n onClick={openRecord}\n style={{ cursor: isArchivedRecord ? \"default\" : \"pointer\" }}\n >\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 {!isArchivedRecord ? (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={openEdit}\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 ) : null}\n {showArchived && data?.deletedAt !== null && data?.deletedAt !== undefined && onRecover ? (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => onRecover(data)}\n >\n <SolidIcon name=\"si-refresh\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Recover</span>\n </SolidDropdownMenuItem>\n ) : null}\n {onDelete && !isArchivedRecord ? (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item solid-header-dropdown-item-danger\"\n onSelect={() => onDelete(data)}\n >\n <SolidIcon name=\"si-trash\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Delete</span>\n </SolidDropdownMenuItem>\n ) : null}\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n </div>\n {DynamicCardWidget ? (\n <DynamicCardWidget\n rowData={data}\n solidKanbanViewMetaData={solidCardViewMetaData}\n solidView={solidCardViewMetaData?.solidView}\n solidFieldsMetadata={solidCardViewMetaData?.solidFieldsMetadata}\n card={cardNode}\n layoutAttrs={solidCardViewMetaData?.solidView?.layout?.attrs || {}}\n groupedView={false}\n editButtonUrl={editButtonUrl}\n setLightboxUrls={setLightboxUrls}\n setOpenLightbox={setOpenLightbox}\n openRecord={openRecord}\n openEdit={openEdit}\n />\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default CardItem;\n"]}
@@ -16,6 +16,7 @@ interface CardItemProps {
16
16
  editButtonUrl?: string;
17
17
  cardNode?: any;
18
18
  DynamicCardWidget?: any;
19
+ onDelete?: (record: any) => void;
19
20
  onRecover?: (record: any) => void;
20
21
  setLightboxUrls?: any;
21
22
  setOpenLightbox?: any;
@@ -28,6 +29,7 @@ const CardItem: React.FC<CardItemProps> = ({
28
29
  editButtonUrl,
29
30
  cardNode,
30
31
  DynamicCardWidget,
32
+ onDelete,
31
33
  onRecover,
32
34
  setLightboxUrls,
33
35
  setOpenLightbox,
@@ -85,6 +87,15 @@ const CardItem: React.FC<CardItemProps> = ({
85
87
  <span className="solid-header-action-button-label">Recover</span>
86
88
  </SolidDropdownMenuItem>
87
89
  ) : null}
90
+ {onDelete && !isArchivedRecord ? (
91
+ <SolidDropdownMenuItem
92
+ className="solid-header-dropdown-item solid-header-dropdown-item-danger"
93
+ onSelect={() => onDelete(data)}
94
+ >
95
+ <SolidIcon name="si-trash" className="solid-header-action-button-icon" aria-hidden />
96
+ <span className="solid-header-action-button-label">Delete</span>
97
+ </SolidDropdownMenuItem>
98
+ ) : null}
88
99
  </SolidDropdownMenuContent>
89
100
  </SolidDropdownMenu>
90
101
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidCardView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/card/SolidCardView.tsx"],"names":[],"mappings":"AAmCA,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AA8DF,eAAO,MAAM,aAAa,WAAY,mBAAmB,4CAkexD,CAAC"}
1
+ {"version":3,"file":"SolidCardView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/card/SolidCardView.tsx"],"names":[],"mappings":"AAoCA,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AA8DF,eAAO,MAAM,aAAa,WAAY,mBAAmB,4CA8hBxD,CAAC"}
@@ -62,12 +62,12 @@ import { SolidHeaderRequestStatus } from "../../common/SolidHeaderRequestStatus"
62
62
  import { SolidCreateButton } from "../common/SolidCreateButton";
63
63
  import { SolidGlobalSearchElement } from "../common/SolidGlobalSearchElement";
64
64
  import { SolidEmptyListViewPlaceholder } from "../list/SolidEmptyListViewPlaceholder";
65
- import { getFilterObjectFromLocalStorage, hasStoredFilterPredicates, setFilterObjectToLocalStorage } from "../list/SolidListView";
65
+ import { getFilterObjectFromLocalStorage, hasStoredFilterPredicates, setFilterObjectToLocalStorage } from "../common/globalSearchPersistence";
66
66
  import { normalizeSolidListTreeKanbanActionPath } from "../../../helpers/routePaths";
67
67
  import { SolidCardViewConfigure } from "./SolidCardViewConfigure";
68
68
  import { CardGrid } from "./CardGrid";
69
69
  import { CardUserViewLayout } from "./CardUserViewLayout";
70
- import { SolidButton, SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidIcon, SolidSelect, } from "../../shad-cn-ui";
70
+ import { SolidButton, SolidConfirmDialog, SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidIcon, SolidSelect, } from "../../shad-cn-ui";
71
71
  import { showToast } from "../../../redux/features/toastSlice";
72
72
  var deriveCardViewConfig = function (solidCardViewMetaData) {
73
73
  var _a, _b, _c, _d, _e, _f;
@@ -131,35 +131,36 @@ var deriveCardViewConfig = function (solidCardViewMetaData) {
131
131
  };
132
132
  };
133
133
  export var SolidCardView = function (params) {
134
- var _a, _b, _c, _d, _e, _f;
134
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
135
135
  var visibleNavbar = useSelector(function (state) { var _a; return (_a = state.navbarState) === null || _a === void 0 ? void 0 : _a.visibleNavbar; });
136
136
  var dispatch = useDispatch();
137
137
  var pathname = usePathname();
138
138
  var searchParams = useSearchParams();
139
139
  var solidGlobalSearchElementRef = useRef();
140
- var _g = useState([]), actionsAllowed = _g[0], setActionsAllowed = _g[1];
141
- var _h = useState(false), showGlobalSearchElement = _h[0], setShowGlobalSearchElement = _h[1];
142
- var _j = useState([]), viewModes = _j[0], setViewModes = _j[1];
143
- var _k = useState({ $and: [] }), filters = _k[0], setFilters = _k[1];
144
- var _l = useState([]), cards = _l[0], setCards = _l[1];
145
- var _m = useState([]), toPopulate = _m[0], setToPopulate = _m[1];
146
- var _o = useState([]), toPopulateMedia = _o[0], setToPopulateMedia = _o[1];
147
- var _p = useState(24), rows = _p[0], setRows = _p[1];
148
- var _q = useState([12, 24, 48]), rowsPerPageOptions = _q[0], setRowsPerPageOptions = _q[1];
149
- var _r = useState(0), first = _r[0], setFirst = _r[1];
150
- var _s = useState(0), totalRecords = _s[0], setTotalRecords = _s[1];
151
- var _t = useState(true), loading = _t[0], setLoading = _t[1];
152
- var _u = useState(false), showSaveFilterPopup = _u[0], setShowSaveFilterPopup = _u[1];
153
- var _v = useState(), createButtonUrl = _v[0], setCreateButtonUrl = _v[1];
154
- var _w = useState(), editButtonUrl = _w[0], setEditButtonUrl = _w[1];
155
- var _x = useState({}), createActionQueryParams = _x[0], setCreateActionQueryParams = _x[1];
156
- var _y = useState(false), openLightbox = _y[0], setOpenLightbox = _y[1];
157
- var _z = useState([]), lightboxUrls = _z[0], setLightboxUrls = _z[1];
158
- var _0 = useState(false), isLayoutDialogVisible = _0[0], setLayoutDialogVisible = _0[1];
159
- var _1 = useState(false), queryDataLoaded = _1[0], setQueryDataLoaded = _1[1];
160
- var _2 = useState(), solidCardViewMetaData = _2[0], setSolidCardViewMetaData = _2[1];
140
+ var _t = useState([]), actionsAllowed = _t[0], setActionsAllowed = _t[1];
141
+ var _u = useState(false), showGlobalSearchElement = _u[0], setShowGlobalSearchElement = _u[1];
142
+ var _v = useState([]), viewModes = _v[0], setViewModes = _v[1];
143
+ var _w = useState({ $and: [] }), filters = _w[0], setFilters = _w[1];
144
+ var _x = useState([]), cards = _x[0], setCards = _x[1];
145
+ var _y = useState([]), toPopulate = _y[0], setToPopulate = _y[1];
146
+ var _z = useState([]), toPopulateMedia = _z[0], setToPopulateMedia = _z[1];
147
+ var _0 = useState(24), rows = _0[0], setRows = _0[1];
148
+ var _1 = useState([12, 24, 48]), rowsPerPageOptions = _1[0], setRowsPerPageOptions = _1[1];
149
+ var _2 = useState(0), first = _2[0], setFirst = _2[1];
150
+ var _3 = useState(0), totalRecords = _3[0], setTotalRecords = _3[1];
151
+ var _4 = useState(true), loading = _4[0], setLoading = _4[1];
152
+ var _5 = useState(false), showSaveFilterPopup = _5[0], setShowSaveFilterPopup = _5[1];
153
+ var _6 = useState(), createButtonUrl = _6[0], setCreateButtonUrl = _6[1];
154
+ var _7 = useState(), editButtonUrl = _7[0], setEditButtonUrl = _7[1];
155
+ var _8 = useState({}), createActionQueryParams = _8[0], setCreateActionQueryParams = _8[1];
156
+ var _9 = useState(false), openLightbox = _9[0], setOpenLightbox = _9[1];
157
+ var _10 = useState([]), lightboxUrls = _10[0], setLightboxUrls = _10[1];
158
+ var _11 = useState(false), isLayoutDialogVisible = _11[0], setLayoutDialogVisible = _11[1];
159
+ var _12 = useState(false), queryDataLoaded = _12[0], setQueryDataLoaded = _12[1];
161
160
  var triggerCheckIfPermissionExists = useLazyCheckIfPermissionExistsQuery()[0];
162
- var _3 = useState(false), showArchived = _3[0], setShowArchived = _3[1];
161
+ var _13 = useState(false), showArchived = _13[0], setShowArchived = _13[1];
162
+ var _14 = useState(null), selectedCardForDelete = _14[0], setSelectedCardForDelete = _14[1];
163
+ var _15 = useState(false), isDeleteDialogVisible = _15[0], setDeleteDialogVisible = _15[1];
163
164
  var lightboxSlides = Array.isArray(lightboxUrls)
164
165
  ? lightboxUrls
165
166
  .map(function (item) {
@@ -177,9 +178,10 @@ export var SolidCardView = function (params) {
177
178
  .filter(function (slide) { return !!slide; })
178
179
  : [];
179
180
  var entityApi = createSolidEntityApi(params.modelName);
180
- var useLazyGetSolidEntitiesQuery = entityApi.useLazyGetSolidEntitiesQuery, useLazyRecoverSolidEntityByIdQuery = entityApi.useLazyRecoverSolidEntityByIdQuery;
181
+ var useDeleteSolidEntityMutation = entityApi.useDeleteSolidEntityMutation, useLazyGetSolidEntitiesQuery = entityApi.useLazyGetSolidEntitiesQuery, useLazyRecoverSolidEntityByIdQuery = entityApi.useLazyRecoverSolidEntityByIdQuery;
181
182
  var triggerGetSolidEntities = useLazyGetSolidEntitiesQuery()[0];
182
- var _4 = useLazyRecoverSolidEntityByIdQuery(), triggerRecoverSolidEntityById = _4[0], recoverByIdIsLoading = _4[1].isLoading;
183
+ var deleteSolidEntity = useDeleteSolidEntityMutation()[0];
184
+ var _16 = useLazyRecoverSolidEntityByIdQuery(), triggerRecoverSolidEntityById = _16[0], recoverByIdIsLoading = _16[1].isLoading;
183
185
  var menuItemId = searchParams.get("menuItemId");
184
186
  var menuItemName = searchParams.get("menuItemName");
185
187
  var actionId = searchParams.get("actionId");
@@ -231,6 +233,7 @@ export var SolidCardView = function (params) {
231
233
  return [2 /*return*/];
232
234
  permissionNames = [
233
235
  permissionExpression(params.modelName, "create"),
236
+ permissionExpression(params.modelName, "delete"),
234
237
  permissionExpression(params.modelName, "update"),
235
238
  permissionExpression(params.modelName, "findMany"),
236
239
  permissionExpression("importTransaction", "create"),
@@ -253,7 +256,6 @@ export var SolidCardView = function (params) {
253
256
  var _a, _b, _c, _d, _e, _f, _g, _h;
254
257
  if (!solidCardViewMetaDataResponse)
255
258
  return;
256
- setSolidCardViewMetaData(solidCardViewMetaDataResponse);
257
259
  setViewModes(((_a = solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data) === null || _a === void 0 ? void 0 : _a.viewModes) || []);
258
260
  var _j = deriveCardViewConfig(solidCardViewMetaDataResponse), rows = _j.rows, pageSizeOptions = _j.pageSizeOptions, toPopulate = _j.toPopulate, toPopulateMedia = _j.toPopulateMedia;
259
261
  var persistedFilterObject = typeof window !== "undefined" ? getFilterObjectFromLocalStorage() : null;
@@ -418,6 +420,52 @@ export var SolidCardView = function (params) {
418
420
  }
419
421
  });
420
422
  }); };
423
+ var handleOpenDeleteDialog = function (record) {
424
+ setSelectedCardForDelete(record);
425
+ setDeleteDialogVisible(true);
426
+ };
427
+ var handleCloseDeleteDialog = function () {
428
+ setDeleteDialogVisible(false);
429
+ setSelectedCardForDelete(null);
430
+ };
431
+ var handleDeleteRecord = function () { return __awaiter(void 0, void 0, void 0, function () {
432
+ var response, error_2;
433
+ var _a, _b;
434
+ return __generator(this, function (_c) {
435
+ switch (_c.label) {
436
+ case 0:
437
+ if (!(selectedCardForDelete === null || selectedCardForDelete === void 0 ? void 0 : selectedCardForDelete.id))
438
+ return [2 /*return*/];
439
+ _c.label = 1;
440
+ case 1:
441
+ _c.trys.push([1, 4, , 5]);
442
+ return [4 /*yield*/, deleteSolidEntity(selectedCardForDelete.id).unwrap()];
443
+ case 2:
444
+ response = _c.sent();
445
+ dispatch(showToast({
446
+ severity: "success",
447
+ summary: "Deleted",
448
+ detail: ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) || "Record deleted successfully.",
449
+ life: 3000,
450
+ }));
451
+ handleCloseDeleteDialog();
452
+ return [4 /*yield*/, loadCards(filters)];
453
+ case 3:
454
+ _c.sent();
455
+ return [3 /*break*/, 5];
456
+ case 4:
457
+ error_2 = _c.sent();
458
+ dispatch(showToast({
459
+ severity: "error",
460
+ summary: "Delete Failed",
461
+ detail: ((_b = error_2 === null || error_2 === void 0 ? void 0 : error_2.data) === null || _b === void 0 ? void 0 : _b.message) || (error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || "Unable to delete the selected record.",
462
+ life: 4000,
463
+ }));
464
+ return [3 /*break*/, 5];
465
+ case 5: return [2 /*return*/];
466
+ }
467
+ });
468
+ }); };
421
469
  var toggleBothSidebars = function () {
422
470
  if (visibleNavbar) {
423
471
  dispatch(toggleNavbar());
@@ -427,9 +475,13 @@ export var SolidCardView = function (params) {
427
475
  }
428
476
  };
429
477
  var cardViewTitle = (_b = (_a = solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data) === null || _a === void 0 ? void 0 : _a.solidView) === null || _b === void 0 ? void 0 : _b.displayName;
478
+ var entityDisplayName = ((_e = (_d = (_c = solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data) === null || _c === void 0 ? void 0 : _c.solidView) === null || _d === void 0 ? void 0 : _d.model) === null || _e === void 0 ? void 0 : _e.displayName) || params.modelName;
479
+ var canDeleteCards = actionsAllowed.includes("".concat(permissionExpression(params.modelName, "delete"))) &&
480
+ ((_j = (_h = (_g = (_f = solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data) === null || _f === void 0 ? void 0 : _f.solidView) === null || _g === void 0 ? void 0 : _g.layout) === null || _h === void 0 ? void 0 : _h.attrs) === null || _j === void 0 ? void 0 : _j.delete) !== false &&
481
+ ((_o = (_m = (_l = (_k = solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data) === null || _k === void 0 ? void 0 : _k.solidView) === null || _l === void 0 ? void 0 : _l.layout) === null || _m === void 0 ? void 0 : _m.attrs) === null || _o === void 0 ? void 0 : _o.showRowDeleteInContextMenu) !== false;
430
482
  var showEmptyState = !loading && cards.length === 0;
431
483
  var headerRequestStatusLabel = recoverByIdIsLoading ? "Recovering..." : loading || !queryDataLoaded ? "Loading..." : null;
432
- return (_jsxs("div", { className: "page-parent-wrapper solid-list-page-wrapper flex h-full min-h-0 overflow-hidden", children: [_jsx("div", { className: "solid-list-content h-full flex way to flex-grow-1", children: _jsxs("div", { className: "solid-list-surface solid-card-surface flex flex-col flex-1 min-h-0", children: [_jsxs("div", { className: "page-header solid-list-toolbar solid-card-toolbar flex-col lg:flex-row", children: [_jsxs("div", { className: "flex justify-between w-full", children: [_jsxs("div", { className: "flex gap-4 items-center w-full solid-list-toolbar-left", children: [params.embeded !== true && (_jsx("div", { className: "apps-icon block md:hidden cursor-pointer", onClick: toggleBothSidebars, children: _jsx(SolidIcon, { name: "si-th-large", "aria-hidden": true }) })), _jsx("p", { className: "m-0 view-title solid-text-wrapper", children: cardViewTitle }), _jsx("div", { className: "hidden lg:flex", children: _jsx(SolidGlobalSearchElement, { viewType: "card", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidCardViewMetaDataResponse, handleApplyCustomFilter: handleApplyCustomFilter }) })] }), _jsxs("div", { className: "flex items-center solid-header-buttons-wrapper solid-list-toolbar-actions", children: [_jsx(SolidHeaderRequestStatus, { label: headerRequestStatusLabel }), _jsx("div", { className: "flex lg:hidden", children: _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", className: "solid-icon-button", onClick: function () { return setShowGlobalSearchElement(!showGlobalSearchElement); }, "aria-label": "Toggle search", leftIcon: _jsx(SolidIcon, { name: "si-search", "aria-hidden": true }) }) }), actionsAllowed.includes("".concat(permissionExpression(params.modelName, "create"))) &&
433
- ((_f = (_e = (_d = (_c = solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data) === null || _c === void 0 ? void 0 : _c.solidView) === null || _d === void 0 ? void 0 : _d.layout) === null || _e === void 0 ? void 0 : _e.attrs) === null || _f === void 0 ? void 0 : _f.create) !== false && (_jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, responsiveIconOnly: true })), _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", className: "solid-icon-button", onClick: function () { return handleFetchUpdatedRecords(); }, "aria-label": "Refresh cards", leftIcon: _jsx(SolidIcon, { name: "si-refresh", "aria-hidden": true }) }), _jsx(SolidCardViewConfigure, { solidCardViewMetaData: solidCardViewMetaDataResponse, modelName: params.modelName, actionsAllowed: actionsAllowed, viewModes: viewModes, setShowArchived: setShowArchived, showArchived: showArchived, setLayoutDialogVisible: setLayoutDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleRefreshView: handleFetchUpdatedRecords })] })] }), showGlobalSearchElement && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "card", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidCardViewMetaDataResponse, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsxs("div", { className: "solid-card-view-content", children: [_jsx("div", { className: "solid-card-view-body", children: showEmptyState ? (_jsx(SolidEmptyListViewPlaceholder, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, actionsAllowed: actionsAllowed, params: params, solidListViewMetaData: solidCardViewMetaDataResponse, handleFetchUpdatedRecords: handleFetchUpdatedRecords })) : (_jsx(CardGrid, { records: cards, solidCardViewMetaData: solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data, editButtonUrl: editBaseUrl, onRecover: handleRecoverRecord, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, showArchived: showArchived })) }), totalRecords > 0 && (_jsx("div", { className: "solid-card-view-pagination", children: _jsxs("div", { className: "solid-card-view-pagination-bar solid-table-paginator flex items-center justify-center gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background", children: [_jsxs("div", { className: "solid-paginator-meta flex items-center gap-2", children: [_jsx("span", { className: "solid-paginator-label", children: "Records" }), _jsx(SolidSelect, { value: rows, className: "solid-paginator-select", options: rowsOptions.map(function (option) { return ({ label: String(option), value: option }); }), native: false, onChange: function (event) { return handleRowsChange(Number(event.value)); } }), _jsx("span", { className: "solid-paginator-report", children: paginationReport })] }), _jsxs("div", { className: "solid-paginator-actions flex items-center gap-2", children: [_jsx("button", { type: "button", className: "solid-paginator-btn", onClick: handlePrevPage, disabled: !canGoPrev, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", onClick: handleNextPage, disabled: !canGoNext, children: "Next" })] })] }) }))] })] }) }), openLightbox && (_jsx(SolidLightbox, { open: openLightbox, slides: lightboxSlides, onClose: function () { return setOpenLightbox(false); } })), _jsxs(SolidDialog, { open: isLayoutDialogVisible, onOpenChange: setLayoutDialogVisible, className: "solid-kanban-layout-dialog", style: { width: "min(800px, calc(100vw - 32px))" }, children: [_jsxs(SolidDialogHeader, { children: [_jsx(SolidDialogTitle, { children: "Change Card Layout" }), _jsx(SolidDialogClose, {})] }), _jsx(SolidDialogSeparator, {}), _jsx(SolidDialogBody, { className: "solid-kanban-layout-dialog-body", children: _jsx(CardUserViewLayout, { solidCardViewMetaData: solidCardViewMetaDataResponse, setLayoutDialogVisible: setLayoutDialogVisible }) })] })] }));
484
+ return (_jsxs("div", { className: "page-parent-wrapper solid-list-page-wrapper flex h-full min-h-0 overflow-hidden", children: [_jsx("div", { className: "solid-list-content h-full flex way to flex-grow-1", children: _jsxs("div", { className: "solid-list-surface solid-card-surface flex flex-col flex-1 min-h-0", children: [_jsxs("div", { className: "page-header solid-list-toolbar solid-card-toolbar flex-col lg:flex-row", children: [_jsxs("div", { className: "flex justify-between w-full", children: [_jsx("div", { className: "flex gap-4 items-center w-full solid-list-toolbar-left", children: _jsx("div", { className: "hidden lg:flex", children: _jsx(SolidGlobalSearchElement, { viewType: "card", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidCardViewMetaDataResponse, handleApplyCustomFilter: handleApplyCustomFilter }) }) }), _jsxs("div", { className: "flex items-center solid-header-buttons-wrapper solid-list-toolbar-actions", children: [_jsx(SolidHeaderRequestStatus, { label: headerRequestStatusLabel }), _jsx("div", { className: "flex lg:hidden", children: _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", className: "solid-icon-button", onClick: function () { return setShowGlobalSearchElement(!showGlobalSearchElement); }, "aria-label": "Toggle search", leftIcon: _jsx(SolidIcon, { name: "si-search", "aria-hidden": true }) }) }), actionsAllowed.includes("".concat(permissionExpression(params.modelName, "create"))) &&
485
+ ((_s = (_r = (_q = (_p = solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data) === null || _p === void 0 ? void 0 : _p.solidView) === null || _q === void 0 ? void 0 : _q.layout) === null || _r === void 0 ? void 0 : _r.attrs) === null || _s === void 0 ? void 0 : _s.create) !== false && (_jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, responsiveIconOnly: true })), _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", className: "solid-icon-button", onClick: function () { return handleFetchUpdatedRecords(); }, "aria-label": "Refresh cards", leftIcon: _jsx(SolidIcon, { name: "si-refresh", "aria-hidden": true }) }), _jsx(SolidCardViewConfigure, { solidCardViewMetaData: solidCardViewMetaDataResponse, modelName: params.modelName, actionsAllowed: actionsAllowed, viewModes: viewModes, setShowArchived: setShowArchived, showArchived: showArchived, setLayoutDialogVisible: setLayoutDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleRefreshView: handleFetchUpdatedRecords })] })] }), showGlobalSearchElement && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "card", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidCardViewMetaDataResponse, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsxs("div", { className: "solid-card-view-content", children: [_jsx("div", { className: "solid-card-view-body", children: showEmptyState ? (_jsx(SolidEmptyListViewPlaceholder, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, actionsAllowed: actionsAllowed, params: params, solidListViewMetaData: solidCardViewMetaDataResponse, handleFetchUpdatedRecords: handleFetchUpdatedRecords })) : (_jsx(CardGrid, { records: cards, solidCardViewMetaData: solidCardViewMetaDataResponse === null || solidCardViewMetaDataResponse === void 0 ? void 0 : solidCardViewMetaDataResponse.data, editButtonUrl: editBaseUrl, onDelete: canDeleteCards ? handleOpenDeleteDialog : undefined, onRecover: handleRecoverRecord, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, showArchived: showArchived })) }), totalRecords > 0 && (_jsx("div", { className: "solid-card-view-pagination", children: _jsxs("div", { className: "solid-card-view-pagination-bar solid-table-paginator flex items-center justify-center gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background", children: [_jsxs("div", { className: "solid-paginator-meta flex items-center gap-2", children: [_jsx("span", { className: "solid-paginator-label", children: "Records" }), _jsx(SolidSelect, { value: rows, className: "solid-paginator-select", options: rowsOptions.map(function (option) { return ({ label: String(option), value: option }); }), native: false, onChange: function (event) { return handleRowsChange(Number(event.value)); } }), _jsx("span", { className: "solid-paginator-report", children: paginationReport })] }), _jsxs("div", { className: "solid-paginator-actions flex items-center gap-2", children: [_jsx("button", { type: "button", className: "solid-paginator-btn", onClick: handlePrevPage, disabled: !canGoPrev, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", onClick: handleNextPage, disabled: !canGoNext, children: "Next" })] })] }) }))] })] }) }), openLightbox && (_jsx(SolidLightbox, { open: openLightbox, slides: lightboxSlides, onClose: function () { return setOpenLightbox(false); } })), _jsx(SolidConfirmDialog, { open: isDeleteDialogVisible, onCancel: handleCloseDeleteDialog, onConfirm: handleDeleteRecord, className: "solid-shadcn-confirm-dialog solid-delete-confirm-dialog", headerClassName: "solid-shadcn-dialog-head", bodyClassName: "solid-shadcn-dialog-body", footerClassName: "solid-shadcn-dialog-actions", separatorClassName: "solid-shadcn-dialog-sep", showSeparator: true, title: "Delete ".concat(entityDisplayName), message: _jsx("p", { className: "solid-shadcn-dialog-text", children: "Are you sure you want to delete this ".concat(entityDisplayName, " record?") }), confirmLabel: "Delete", cancelLabel: "Cancel" }), _jsxs(SolidDialog, { open: isLayoutDialogVisible, onOpenChange: setLayoutDialogVisible, className: "solid-kanban-layout-dialog", style: { width: "min(800px, calc(100vw - 32px))" }, children: [_jsxs(SolidDialogHeader, { children: [_jsx(SolidDialogTitle, { children: "Change Card Layout" }), _jsx(SolidDialogClose, {})] }), _jsx(SolidDialogSeparator, {}), _jsx(SolidDialogBody, { className: "solid-kanban-layout-dialog-body", children: _jsx(CardUserViewLayout, { solidCardViewMetaData: solidCardViewMetaDataResponse, setLayoutDialogVisible: setLayoutDialogVisible }) })] })] }));
434
486
  };
435
487
  //# sourceMappingURL=SolidCardView.js.map