@solidxai/core-ui 0.1.13-beta.3 → 0.1.13-beta.5

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 (162) hide show
  1. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  2. package/dist/components/auth/AuthTabs.js +1 -1
  3. package/dist/components/auth/AuthTabs.js.map +1 -1
  4. package/dist/components/auth/AuthTabs.tsx +1 -0
  5. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  6. package/dist/components/auth/SolidChangeForcePassword.js +2 -2
  7. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  8. package/dist/components/auth/SolidChangeForcePassword.tsx +9 -8
  9. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  10. package/dist/components/common/SettingsComponent.js +1 -1
  11. package/dist/components/common/SettingsComponent.js.map +1 -1
  12. package/dist/components/common/SettingsComponent.tsx +1 -0
  13. package/dist/components/common/SolidFieldTooltip.d.ts.map +1 -1
  14. package/dist/components/common/SolidFieldTooltip.js +1 -33
  15. package/dist/components/common/SolidFieldTooltip.js.map +1 -1
  16. package/dist/components/common/SolidFieldTooltip.tsx +8 -64
  17. package/dist/components/common/SolidMaterialSymbol.d.ts +1 -1
  18. package/dist/components/common/SolidMaterialSymbol.d.ts.map +1 -1
  19. package/dist/components/common/SolidMaterialSymbol.js +6 -37
  20. package/dist/components/common/SolidMaterialSymbol.js.map +1 -1
  21. package/dist/components/common/SolidMaterialSymbol.tsx +6 -54
  22. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -1
  23. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +2 -2
  24. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  25. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +2 -0
  26. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  27. package/dist/components/core/card/CardItem.js +1 -1
  28. package/dist/components/core/card/CardItem.js.map +1 -1
  29. package/dist/components/core/card/CardItem.tsx +16 -14
  30. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  31. package/dist/components/core/card/SolidCardView.js +75 -51
  32. package/dist/components/core/card/SolidCardView.js.map +1 -1
  33. package/dist/components/core/card/SolidCardView.tsx +61 -35
  34. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  35. package/dist/components/core/card/SolidCardViewConfigure.js +3 -7
  36. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  37. package/dist/components/core/card/SolidCardViewConfigure.tsx +3 -9
  38. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +99 -0
  39. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -1
  40. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +76 -5
  41. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -1
  42. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +39 -4
  43. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  44. package/dist/components/core/common/SolidGlobalSearchElement.js +172 -124
  45. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  46. package/dist/components/core/common/SolidGlobalSearchElement.tsx +73 -84
  47. package/dist/components/core/common/globalSearchPersistence.d.ts +3 -0
  48. package/dist/components/core/common/globalSearchPersistence.d.ts.map +1 -1
  49. package/dist/components/core/common/globalSearchPersistence.js +33 -24
  50. package/dist/components/core/common/globalSearchPersistence.js.map +1 -1
  51. package/dist/components/core/common/globalSearchPersistence.ts +34 -27
  52. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
  53. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  54. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +2 -2
  55. package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
  56. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  57. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +2 -2
  58. package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
  59. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  60. package/dist/components/core/filter/fields/SolidShortTextField.tsx +2 -2
  61. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  62. package/dist/components/core/form/SolidFormView.js +2 -10
  63. package/dist/components/core/form/SolidFormView.js.map +1 -1
  64. package/dist/components/core/form/SolidFormView.tsx +2 -10
  65. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  66. package/dist/components/core/kanban/KanbanCard.js +1 -1
  67. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  68. package/dist/components/core/kanban/KanbanCard.tsx +18 -16
  69. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  70. package/dist/components/core/kanban/SolidKanbanView.js +73 -59
  71. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  72. package/dist/components/core/kanban/SolidKanbanView.tsx +57 -22
  73. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
  74. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  75. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +14 -9
  76. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  77. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +38 -9
  78. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  79. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +2 -3
  80. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  81. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -3
  82. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  83. package/dist/components/core/list/SolidListView.js +8 -16
  84. package/dist/components/core/list/SolidListView.js.map +1 -1
  85. package/dist/components/core/list/SolidListView.tsx +9 -15
  86. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  87. package/dist/components/core/list/SolidListViewConfigure.js +22 -16
  88. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  89. package/dist/components/core/list/SolidListViewConfigure.tsx +32 -11
  90. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts +1 -1
  91. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  92. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +3 -1
  93. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  94. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +3 -1
  95. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  96. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +7 -0
  97. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  98. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +5 -0
  99. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  100. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -0
  101. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  102. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +2 -0
  103. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.d.ts.map +1 -1
  104. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +3 -0
  105. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
  106. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +2 -0
  107. package/dist/components/core/model/CreateModel.css +10 -0
  108. package/dist/components/core/model/FieldMetaDataForm.css +10 -0
  109. package/dist/components/core/model/FieldMetaDataForm.js +8 -8
  110. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  111. package/dist/components/core/model/FieldMetaDataForm.tsx +13 -13
  112. package/dist/components/core/module/ModuleMetadataExplorer.css +23 -0
  113. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -1
  114. package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
  115. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
  116. package/dist/components/core/module/ModuleMetadataExplorer.tsx +9 -0
  117. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  118. package/dist/components/core/tree/SolidTreeView.js +251 -152
  119. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  120. package/dist/components/core/tree/SolidTreeView.tsx +222 -106
  121. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  122. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +1 -1
  123. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  124. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +1 -0
  125. package/dist/components/layout/AdminHeaderActions.js +6 -13
  126. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  127. package/dist/components/layout/AdminHeaderActions.tsx +11 -11
  128. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  129. package/dist/components/layout/AdminLayout.js +2 -2
  130. package/dist/components/layout/AdminLayout.js.map +1 -1
  131. package/dist/components/layout/AdminLayout.tsx +5 -4
  132. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  133. package/dist/components/layout/AppSidebar.js +17 -2
  134. package/dist/components/layout/AppSidebar.js.map +1 -1
  135. package/dist/components/layout/AppSidebar.tsx +21 -2
  136. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  137. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  138. package/dist/components/shad-cn-ui/SolidDatePicker.js +35 -3
  139. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  140. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +84 -0
  141. package/dist/components/shad-cn-ui/SolidTooltip.d.ts.map +1 -1
  142. package/dist/components/shad-cn-ui/SolidTooltip.js +55 -2
  143. package/dist/components/shad-cn-ui/SolidTooltip.js.map +1 -1
  144. package/dist/components/shad-cn-ui/SolidTooltip.tsx +95 -1
  145. package/dist/helpers/permissions.d.ts +13 -0
  146. package/dist/helpers/permissions.d.ts.map +1 -1
  147. package/dist/helpers/permissions.js +79 -0
  148. package/dist/helpers/permissions.js.map +1 -1
  149. package/dist/helpers/permissions.ts +92 -1
  150. package/dist/resources/globals.css +109 -1
  151. package/dist/resources/solid-custom.css +53 -3
  152. package/dist/resources/solid-tailwind-generated.css +1 -1
  153. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  154. package/dist/routes/pages/admin/core/DashboardPage.js +2 -2
  155. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  156. package/dist/routes/pages/admin/core/DashboardPage.tsx +2 -0
  157. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  158. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +1 -1
  159. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  160. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1 -0
  161. package/dist/types/css-modules.d.ts +2 -0
  162. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SolidKanbanViewConfigure.d.ts","sourceRoot":"","sources":["../../../../src/components/core/kanban/SolidKanbanViewConfigure.tsx"],"names":[],"mappings":"AAuDA,eAAO,MAAM,wBAAwB,kLAWlC,GAAG,4CA6NL,CAAC"}
1
+ {"version":3,"file":"SolidKanbanViewConfigure.d.ts","sourceRoot":"","sources":["../../../../src/components/core/kanban/SolidKanbanViewConfigure.tsx"],"names":[],"mappings":"AAwDA,eAAO,MAAM,wBAAwB,mPAelC,GAAG,4CAqPL,CAAC"}
@@ -10,7 +10,7 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
- import { permissionExpression } from "../../../helpers/permissions";
13
+ import { canExportRecords, canImportRecords, permissionExpression } from "../../../helpers/permissions";
14
14
  import { storeCurrentModelViewContext } from "../../../helpers/modelViewPersistence";
15
15
  import { usePathname } from "../../../hooks/usePathname";
16
16
  import { useRouter } from "../../../hooks/useRouter";
@@ -18,6 +18,7 @@ import { useSearchParams } from "../../../hooks/useSearchParams";
18
18
  import { useEffect, useState } from "react";
19
19
  import { SolidExport } from "../../../components/common/SolidExport";
20
20
  import { SolidGenericImport } from "../common/SolidGenericImport/SolidGenericImport";
21
+ import { SolidListViewHeaderContextMenuButton } from "../list/SolidListViewHeaderContextMenuButton";
21
22
  import { SolidDropdownMenu, SolidDropdownMenuCheckboxItem, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuLabel, SolidDropdownMenuRadioGroup, SolidDropdownMenuRadioItem, SolidDropdownMenuSeparator, SolidDropdownMenuSub, SolidDropdownMenuSubContent, SolidDropdownMenuSubTrigger, SolidDropdownMenuTrigger, SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogDescription, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidIcon, } from "../../shad-cn-ui";
22
23
  var normalizeViewModes = function (viewModes) {
23
24
  if (viewModes === void 0) { viewModes = []; }
@@ -40,7 +41,7 @@ var normalizeViewModes = function (viewModes) {
40
41
  };
41
42
  export var SolidKanbanViewConfigure = function (_a) {
42
43
  var _b, _c, _d;
43
- var solidKanbanViewMetaData = _a.solidKanbanViewMetaData, modelName = _a.modelName, actionsAllowed = _a.actionsAllowed, setLayoutDialogVisible = _a.setLayoutDialogVisible, viewModes = _a.viewModes, setShowArchived = _a.setShowArchived, showArchived = _a.showArchived, setShowSaveFilterPopup = _a.setShowSaveFilterPopup, filters = _a.filters, handleRefreshView = _a.handleRefreshView;
44
+ var solidKanbanViewMetaData = _a.solidKanbanViewMetaData, params = _a.params, modelName = _a.modelName, actionsAllowed = _a.actionsAllowed, headerButtons = _a.headerButtons, handleCustomButtonClick = _a.handleCustomButtonClick, selectedRecords = _a.selectedRecords, setLayoutDialogVisible = _a.setLayoutDialogVisible, viewModes = _a.viewModes, setShowArchived = _a.setShowArchived, showArchived = _a.showArchived, setShowSaveFilterPopup = _a.setShowSaveFilterPopup, filters = _a.filters, handleRefreshView = _a.handleRefreshView;
44
45
  var pathname = usePathname();
45
46
  var router = useRouter();
46
47
  var searchParams = useSearchParams();
@@ -98,22 +99,26 @@ export var SolidKanbanViewConfigure = function (_a) {
98
99
  localStorage.removeItem(currentPageUrl);
99
100
  window.location.reload();
100
101
  };
101
- var canImport = Boolean(modelName) &&
102
- actionsAllowed.includes("".concat(permissionExpression(modelName, "create"))) &&
103
- actionsAllowed.includes("".concat(permissionExpression("importTransaction", "create")));
104
- var canExport = Boolean(modelName) &&
105
- actionsAllowed.includes("".concat(permissionExpression(modelName, "findMany"))) &&
106
- actionsAllowed.includes("".concat(permissionExpression("exportTransaction", "create")));
102
+ var canImport = canImportRecords(actionsAllowed, modelName);
103
+ var canExport = canExportRecords(actionsAllowed, modelName);
107
104
  var canCustomizeLayout = actionsAllowed.includes("".concat(permissionExpression("userViewMetadata", "create")));
108
105
  var canSaveCustomFilter = actionsAllowed.includes("".concat(permissionExpression("savedFilters", "create")));
109
106
  var canShowArchivedRecords = Boolean((_d = (_c = (_b = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _b === void 0 ? void 0 : _b.solidView) === null || _c === void 0 ? void 0 : _c.model) === null || _d === void 0 ? void 0 : _d.enableSoftDelete);
107
+ var contextMenuHeaderButtons = (headerButtons !== null && headerButtons !== void 0 ? headerButtons : []).filter(function (button) { var _a; return ((_a = button === null || button === void 0 ? void 0 : button.attrs) === null || _a === void 0 ? void 0 : _a.actionInContextMenu) === true; });
108
+ var mobileOnlyHeaderButtons = (headerButtons !== null && headerButtons !== void 0 ? headerButtons : []).filter(function (button) { var _a; return ((_a = button === null || button === void 0 ? void 0 : button.attrs) === null || _a === void 0 ? void 0 : _a.actionInContextMenu) !== true; });
110
109
  return (_jsxs("div", { className: "position-relative", children: [_jsxs(SolidDropdownMenu, { open: isCogMenuOpen, onOpenChange: setIsCogMenuOpen, children: [_jsx(SolidDropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "solid-icon-button solid-header-cog-trigger", "aria-label": "Open kanban options", children: _jsx(SolidIcon, { name: "si-cog", "aria-hidden": true }) }) }), _jsxs(SolidDropdownMenuContent, { className: "listview-cogwheel-panel", children: [canImport && (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () {
111
110
  setOpenImportDialog(true);
112
111
  setIsCogMenuOpen(false);
113
112
  }, children: [_jsx(SolidIcon, { name: "si-download", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Import" })] })), canExport && (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () {
114
113
  setExportView(true);
115
114
  setIsCogMenuOpen(false);
116
- }, children: [_jsx(SolidIcon, { name: "si-upload", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Export" })] })), canShowArchivedRecords && (_jsx(SolidDropdownMenuCheckboxItem, { checked: showArchived, onCheckedChange: function () { return setShowArchived(!showArchived); }, children: "Show Archived Records" })), (canCustomizeLayout || canSaveCustomFilter || canShowArchivedRecords) && _jsx(SolidDropdownMenuSeparator, {}), canCustomizeLayout && (_jsxs(SolidDropdownMenuSub, { children: [_jsxs(SolidDropdownMenuSubTrigger, { className: "solid-header-dropdown-item", children: [_jsx(SolidIcon, { name: "si-sliders-h", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Layout" })] }), _jsxs(SolidDropdownMenuSubContent, { className: "customize-layout-panel", children: [showSwitchType && (_jsxs(_Fragment, { children: [_jsx(SolidDropdownMenuLabel, { children: "Switch Type" }), _jsx(SolidDropdownMenuRadioGroup, { value: view, onValueChange: handleViewChange, children: visibleViewModes.map(function (option) { return (_jsx(SolidDropdownMenuRadioItem, { value: option.type, children: option.label }, option.type)); }) }), _jsx(SolidDropdownMenuSeparator, {})] })), _jsxs(SolidDropdownMenuItem, { onSelect: function () {
115
+ }, children: [_jsx(SolidIcon, { name: "si-upload", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Export" })] })), contextMenuHeaderButtons.map(function (button, index) {
116
+ var _a, _b;
117
+ return (_jsx(SolidListViewHeaderContextMenuButton, { button: button, params: params, solidListViewMetaData: solidKanbanViewMetaData, handleCustomButtonClick: handleCustomButtonClick, selectedRecords: selectedRecords, filters: filters, onActionComplete: function () { return setIsCogMenuOpen(false); } }, (_b = (_a = button === null || button === void 0 ? void 0 : button.attrs) === null || _a === void 0 ? void 0 : _a.action) !== null && _b !== void 0 ? _b : index));
118
+ }), _jsx("div", { className: "lg:hidden flex flex-col gap-1", children: mobileOnlyHeaderButtons.map(function (button, index) {
119
+ var _a, _b;
120
+ return (_jsx(SolidListViewHeaderContextMenuButton, { button: button, params: params, solidListViewMetaData: solidKanbanViewMetaData, handleCustomButtonClick: handleCustomButtonClick, selectedRecords: selectedRecords, filters: filters, onActionComplete: function () { return setIsCogMenuOpen(false); } }, "mobile-".concat((_b = (_a = button === null || button === void 0 ? void 0 : button.attrs) === null || _a === void 0 ? void 0 : _a.action) !== null && _b !== void 0 ? _b : index)));
121
+ }) }), canShowArchivedRecords && (_jsx(SolidDropdownMenuCheckboxItem, { checked: showArchived, onCheckedChange: function () { return setShowArchived(!showArchived); }, children: "Show Archived Records" })), (canCustomizeLayout || canSaveCustomFilter || canShowArchivedRecords) && _jsx(SolidDropdownMenuSeparator, {}), canCustomizeLayout && (_jsxs(SolidDropdownMenuSub, { children: [_jsxs(SolidDropdownMenuSubTrigger, { className: "solid-header-dropdown-item", children: [_jsx(SolidIcon, { name: "si-sliders-h", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Layout" })] }), _jsxs(SolidDropdownMenuSubContent, { className: "customize-layout-panel", children: [showSwitchType && (_jsxs(_Fragment, { children: [_jsx(SolidDropdownMenuLabel, { children: "Switch Type" }), _jsx(SolidDropdownMenuRadioGroup, { value: view, onValueChange: handleViewChange, children: visibleViewModes.map(function (option) { return (_jsx(SolidDropdownMenuRadioItem, { value: option.type, children: option.label }, option.type)); }) }), _jsx(SolidDropdownMenuSeparator, {})] })), _jsxs(SolidDropdownMenuItem, { onSelect: function () {
117
122
  setLayoutDialogVisible(true);
118
123
  setIsCogMenuOpen(false);
119
124
  }, children: [_jsx(SolidIcon, { name: "si-code", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Layout Editor" })] })] })] })), canSaveCustomFilter && (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidKanbanViewConfigure.js","sourceRoot":"","sources":["../../../../src/components/core/kanban/SolidKanbanViewConfigure.tsx"],"names":[],"mappings":"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","sourcesContent":["import { permissionExpression } from \"../../../helpers/permissions\";\nimport { storeCurrentModelViewContext } from \"../../../helpers/modelViewPersistence\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { useEffect, useState } from \"react\";\nimport { SolidExport } from \"../../../components/common/SolidExport\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport {\n SolidDropdownMenu,\n SolidDropdownMenuCheckboxItem,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuLabel,\n SolidDropdownMenuRadioGroup,\n SolidDropdownMenuRadioItem,\n SolidDropdownMenuSeparator,\n SolidDropdownMenuSub,\n SolidDropdownMenuSubContent,\n SolidDropdownMenuSubTrigger,\n SolidDropdownMenuTrigger,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogDescription,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\nconst normalizeViewModes = (viewModes: any[] = []) => {\n return viewModes\n .map((option: any) => {\n if (!option) return null;\n\n if (typeof option === \"string\") {\n return {\n type: option,\n label: option.charAt(0).toUpperCase() + option.slice(1),\n };\n }\n\n const type = option.type || option.value;\n if (!type) return null;\n\n return {\n ...option,\n type,\n label: option.label || (type.charAt(0).toUpperCase() + type.slice(1)),\n };\n })\n .filter(Boolean);\n};\n\nexport const SolidKanbanViewConfigure = ({\n solidKanbanViewMetaData,\n modelName,\n actionsAllowed,\n setLayoutDialogVisible,\n viewModes,\n setShowArchived,\n showArchived,\n setShowSaveFilterPopup,\n filters,\n handleRefreshView,\n}: any) => {\n const pathname = usePathname();\n const router = useRouter();\n const searchParams = useSearchParams();\n const [view, setView] = useState<string>(\"\");\n const [isCogMenuOpen, setIsCogMenuOpen] = useState(false);\n const [openImportDialog, setOpenImportDialog] = useState(false);\n const [exportView, setExportView] = useState(false);\n\n const visibleViewModes = normalizeViewModes(Array.isArray(viewModes) ? viewModes : []);\n const showSwitchType = visibleViewModes.length > 1;\n\n useEffect(() => {\n if (typeof pathname === \"string\") {\n const pathSegments = pathname.split(\"/\").filter(Boolean);\n if (pathSegments.length > 0) {\n setView(pathSegments[pathSegments.length - 1]);\n }\n }\n }, [pathname]);\n\n const handleViewChange = (newViewType: string) => {\n if (view === newViewType) return;\n\n const nextView = visibleViewModes.find((option: any) => option.type === newViewType);\n const pathSegments = pathname.split(\"/\").filter(Boolean);\n pathSegments[pathSegments.length - 1] = newViewType;\n const nextSearchParams = new URLSearchParams(searchParams.toString());\n const currentQuery = {\n menuItemId: searchParams.get(\"menuItemId\"),\n menuItemName: searchParams.get(\"menuItemName\"),\n actionId: searchParams.get(\"actionId\"),\n actionName: searchParams.get(\"actionName\"),\n };\n\n const queryFields = {\n menuItemId: nextView?.menuItemId ?? currentQuery.menuItemId,\n menuItemName: nextView?.menuItemName ?? currentQuery.menuItemName,\n actionId: nextView?.actionId ?? currentQuery.actionId,\n actionName: nextView?.actionName ?? currentQuery.actionName,\n };\n\n Object.entries(queryFields).forEach(([key, value]) => {\n if (value) {\n nextSearchParams.set(key, value);\n } else {\n nextSearchParams.delete(key);\n }\n });\n\n const newPath = \"/\" + pathSegments.join(\"/\");\n const nextQueryString = nextSearchParams.toString();\n const nextUrl = nextQueryString ? `${newPath}?${nextQueryString}` : newPath;\n storeCurrentModelViewContext(nextUrl);\n router.push(nextUrl);\n };\n\n const clearLocalstorageCache = () => {\n const currentPageUrl = window.location.pathname;\n localStorage.removeItem(currentPageUrl);\n window.location.reload();\n };\n\n const canImport =\n Boolean(modelName) &&\n actionsAllowed.includes(`${permissionExpression(modelName, \"create\")}`) &&\n actionsAllowed.includes(`${permissionExpression(\"importTransaction\", \"create\")}`);\n\n const canExport =\n Boolean(modelName) &&\n actionsAllowed.includes(`${permissionExpression(modelName, \"findMany\")}`) &&\n actionsAllowed.includes(`${permissionExpression(\"exportTransaction\", \"create\")}`);\n\n const canCustomizeLayout = actionsAllowed.includes(`${permissionExpression(\"userViewMetadata\", \"create\")}`);\n const canSaveCustomFilter = actionsAllowed.includes(`${permissionExpression(\"savedFilters\", \"create\")}`);\n const canShowArchivedRecords = Boolean(solidKanbanViewMetaData?.data?.solidView?.model?.enableSoftDelete);\n\n return (\n <div className=\"position-relative\">\n <SolidDropdownMenu open={isCogMenuOpen} onOpenChange={setIsCogMenuOpen}>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-icon-button solid-header-cog-trigger\"\n aria-label=\"Open kanban options\"\n >\n <SolidIcon name=\"si-cog\" aria-hidden />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"listview-cogwheel-panel\">\n {canImport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setOpenImportDialog(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-download\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Import</span>\n </SolidDropdownMenuItem>\n )}\n\n {canExport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setExportView(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-upload\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Export</span>\n </SolidDropdownMenuItem>\n )}\n\n {canShowArchivedRecords && (\n <SolidDropdownMenuCheckboxItem\n checked={showArchived}\n onCheckedChange={() => setShowArchived(!showArchived)}\n >\n Show Archived Records\n </SolidDropdownMenuCheckboxItem>\n )}\n\n {(canCustomizeLayout || canSaveCustomFilter || canShowArchivedRecords) && <SolidDropdownMenuSeparator />}\n\n {canCustomizeLayout && (\n <SolidDropdownMenuSub>\n <SolidDropdownMenuSubTrigger className=\"solid-header-dropdown-item\">\n <SolidIcon name=\"si-sliders-h\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Layout</span>\n </SolidDropdownMenuSubTrigger>\n <SolidDropdownMenuSubContent className=\"customize-layout-panel\">\n {showSwitchType && (\n <>\n <SolidDropdownMenuLabel>Switch Type</SolidDropdownMenuLabel>\n <SolidDropdownMenuRadioGroup value={view} onValueChange={handleViewChange}>\n {visibleViewModes.map((option: any) => (\n <SolidDropdownMenuRadioItem key={option.type} value={option.type}>\n {option.label}\n </SolidDropdownMenuRadioItem>\n ))}\n </SolidDropdownMenuRadioGroup>\n <SolidDropdownMenuSeparator />\n </>\n )}\n <SolidDropdownMenuItem\n onSelect={() => {\n setLayoutDialogVisible(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-code\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Layout Editor</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuSubContent>\n </SolidDropdownMenuSub>\n )}\n\n {canSaveCustomFilter && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setShowSaveFilterPopup(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-save\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Save Custom Filter</span>\n </SolidDropdownMenuItem>\n )}\n\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n clearLocalstorageCache();\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-trash\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Clear cache</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n\n <SolidDialog\n open={exportView}\n onOpenChange={setExportView}\n className=\"solid-kanban-export-dialog\"\n style={{ width: \"min(960px, calc(100vw - 32px))\" }}\n >\n <SolidDialogHeader className=\"solid-export-dialog-header\">\n <div>\n <SolidDialogTitle>Export</SolidDialogTitle>\n <SolidDialogDescription className=\"solid-filter-dialog-subtitle m-0\">\n Choose the file format, refine the field set, and save reusable export templates.\n </SolidDialogDescription>\n </div>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator />\n <SolidDialogBody className=\"solid-kanban-export-dialog-body\">\n <SolidExport\n listViewMetaData={solidKanbanViewMetaData}\n filters={filters}\n onExportComplete={() => setExportView(false)}\n />\n </SolidDialogBody>\n </SolidDialog>\n\n {openImportDialog && (\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={solidKanbanViewMetaData}\n handleFetchUpdatedRecords={handleRefreshView}\n />\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidKanbanViewConfigure.js","sourceRoot":"","sources":["../../../../src/components/core/kanban/SolidKanbanViewConfigure.tsx"],"names":[],"mappings":"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","sourcesContent":["import { canExportRecords, canImportRecords, permissionExpression } from \"../../../helpers/permissions\";\nimport { storeCurrentModelViewContext } from \"../../../helpers/modelViewPersistence\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { useEffect, useState } from \"react\";\nimport { SolidExport } from \"../../../components/common/SolidExport\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport { SolidListViewHeaderContextMenuButton } from \"../list/SolidListViewHeaderContextMenuButton\";\nimport {\n SolidDropdownMenu,\n SolidDropdownMenuCheckboxItem,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuLabel,\n SolidDropdownMenuRadioGroup,\n SolidDropdownMenuRadioItem,\n SolidDropdownMenuSeparator,\n SolidDropdownMenuSub,\n SolidDropdownMenuSubContent,\n SolidDropdownMenuSubTrigger,\n SolidDropdownMenuTrigger,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogDescription,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\nconst normalizeViewModes = (viewModes: any[] = []) => {\n return viewModes\n .map((option: any) => {\n if (!option) return null;\n\n if (typeof option === \"string\") {\n return {\n type: option,\n label: option.charAt(0).toUpperCase() + option.slice(1),\n };\n }\n\n const type = option.type || option.value;\n if (!type) return null;\n\n return {\n ...option,\n type,\n label: option.label || (type.charAt(0).toUpperCase() + type.slice(1)),\n };\n })\n .filter(Boolean);\n};\n\nexport const SolidKanbanViewConfigure = ({\n solidKanbanViewMetaData,\n params,\n modelName,\n actionsAllowed,\n headerButtons,\n handleCustomButtonClick,\n selectedRecords,\n setLayoutDialogVisible,\n viewModes,\n setShowArchived,\n showArchived,\n setShowSaveFilterPopup,\n filters,\n handleRefreshView,\n}: any) => {\n const pathname = usePathname();\n const router = useRouter();\n const searchParams = useSearchParams();\n const [view, setView] = useState<string>(\"\");\n const [isCogMenuOpen, setIsCogMenuOpen] = useState(false);\n const [openImportDialog, setOpenImportDialog] = useState(false);\n const [exportView, setExportView] = useState(false);\n\n const visibleViewModes = normalizeViewModes(Array.isArray(viewModes) ? viewModes : []);\n const showSwitchType = visibleViewModes.length > 1;\n\n useEffect(() => {\n if (typeof pathname === \"string\") {\n const pathSegments = pathname.split(\"/\").filter(Boolean);\n if (pathSegments.length > 0) {\n setView(pathSegments[pathSegments.length - 1]);\n }\n }\n }, [pathname]);\n\n const handleViewChange = (newViewType: string) => {\n if (view === newViewType) return;\n\n const nextView = visibleViewModes.find((option: any) => option.type === newViewType);\n const pathSegments = pathname.split(\"/\").filter(Boolean);\n pathSegments[pathSegments.length - 1] = newViewType;\n const nextSearchParams = new URLSearchParams(searchParams.toString());\n const currentQuery = {\n menuItemId: searchParams.get(\"menuItemId\"),\n menuItemName: searchParams.get(\"menuItemName\"),\n actionId: searchParams.get(\"actionId\"),\n actionName: searchParams.get(\"actionName\"),\n };\n\n const queryFields = {\n menuItemId: nextView?.menuItemId ?? currentQuery.menuItemId,\n menuItemName: nextView?.menuItemName ?? currentQuery.menuItemName,\n actionId: nextView?.actionId ?? currentQuery.actionId,\n actionName: nextView?.actionName ?? currentQuery.actionName,\n };\n\n Object.entries(queryFields).forEach(([key, value]) => {\n if (value) {\n nextSearchParams.set(key, value);\n } else {\n nextSearchParams.delete(key);\n }\n });\n\n const newPath = \"/\" + pathSegments.join(\"/\");\n const nextQueryString = nextSearchParams.toString();\n const nextUrl = nextQueryString ? `${newPath}?${nextQueryString}` : newPath;\n storeCurrentModelViewContext(nextUrl);\n router.push(nextUrl);\n };\n\n const clearLocalstorageCache = () => {\n const currentPageUrl = window.location.pathname;\n localStorage.removeItem(currentPageUrl);\n window.location.reload();\n };\n\n const canImport = canImportRecords(actionsAllowed, modelName);\n\n const canExport = canExportRecords(actionsAllowed, modelName);\n\n const canCustomizeLayout = actionsAllowed.includes(`${permissionExpression(\"userViewMetadata\", \"create\")}`);\n const canSaveCustomFilter = actionsAllowed.includes(`${permissionExpression(\"savedFilters\", \"create\")}`);\n const canShowArchivedRecords = Boolean(solidKanbanViewMetaData?.data?.solidView?.model?.enableSoftDelete);\n const contextMenuHeaderButtons = (headerButtons ?? []).filter((button: any) => button?.attrs?.actionInContextMenu === true);\n const mobileOnlyHeaderButtons = (headerButtons ?? []).filter((button: any) => button?.attrs?.actionInContextMenu !== true);\n\n return (\n <div className=\"position-relative\">\n <SolidDropdownMenu open={isCogMenuOpen} onOpenChange={setIsCogMenuOpen}>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-icon-button solid-header-cog-trigger\"\n aria-label=\"Open kanban options\"\n >\n <SolidIcon name=\"si-cog\" aria-hidden />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"listview-cogwheel-panel\">\n {canImport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setOpenImportDialog(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-download\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Import</span>\n </SolidDropdownMenuItem>\n )}\n\n {canExport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setExportView(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-upload\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Export</span>\n </SolidDropdownMenuItem>\n )}\n\n {contextMenuHeaderButtons.map((button: any, index: number) => (\n <SolidListViewHeaderContextMenuButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n solidListViewMetaData={solidKanbanViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n selectedRecords={selectedRecords}\n filters={filters}\n onActionComplete={() => setIsCogMenuOpen(false)}\n />\n ))}\n\n <div className=\"lg:hidden flex flex-col gap-1\">\n {mobileOnlyHeaderButtons.map((button: any, index: number) => (\n <SolidListViewHeaderContextMenuButton\n key={`mobile-${button?.attrs?.action ?? index}`}\n button={button}\n params={params}\n solidListViewMetaData={solidKanbanViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n selectedRecords={selectedRecords}\n filters={filters}\n onActionComplete={() => setIsCogMenuOpen(false)}\n />\n ))}\n </div>\n\n {canShowArchivedRecords && (\n <SolidDropdownMenuCheckboxItem\n checked={showArchived}\n onCheckedChange={() => setShowArchived(!showArchived)}\n >\n Show Archived Records\n </SolidDropdownMenuCheckboxItem>\n )}\n\n {(canCustomizeLayout || canSaveCustomFilter || canShowArchivedRecords) && <SolidDropdownMenuSeparator />}\n\n {canCustomizeLayout && (\n <SolidDropdownMenuSub>\n <SolidDropdownMenuSubTrigger className=\"solid-header-dropdown-item\">\n <SolidIcon name=\"si-sliders-h\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Layout</span>\n </SolidDropdownMenuSubTrigger>\n <SolidDropdownMenuSubContent className=\"customize-layout-panel\">\n {showSwitchType && (\n <>\n <SolidDropdownMenuLabel>Switch Type</SolidDropdownMenuLabel>\n <SolidDropdownMenuRadioGroup value={view} onValueChange={handleViewChange}>\n {visibleViewModes.map((option: any) => (\n <SolidDropdownMenuRadioItem key={option.type} value={option.type}>\n {option.label}\n </SolidDropdownMenuRadioItem>\n ))}\n </SolidDropdownMenuRadioGroup>\n <SolidDropdownMenuSeparator />\n </>\n )}\n <SolidDropdownMenuItem\n onSelect={() => {\n setLayoutDialogVisible(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-code\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Layout Editor</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuSubContent>\n </SolidDropdownMenuSub>\n )}\n\n {canSaveCustomFilter && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setShowSaveFilterPopup(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-save\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Save Custom Filter</span>\n </SolidDropdownMenuItem>\n )}\n\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n clearLocalstorageCache();\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-trash\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Clear cache</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n\n <SolidDialog\n open={exportView}\n onOpenChange={setExportView}\n className=\"solid-kanban-export-dialog\"\n style={{ width: \"min(960px, calc(100vw - 32px))\" }}\n >\n <SolidDialogHeader className=\"solid-export-dialog-header\">\n <div>\n <SolidDialogTitle>Export</SolidDialogTitle>\n <SolidDialogDescription className=\"solid-filter-dialog-subtitle m-0\">\n Choose the file format, refine the field set, and save reusable export templates.\n </SolidDialogDescription>\n </div>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator />\n <SolidDialogBody className=\"solid-kanban-export-dialog-body\">\n <SolidExport\n listViewMetaData={solidKanbanViewMetaData}\n filters={filters}\n onExportComplete={() => setExportView(false)}\n />\n </SolidDialogBody>\n </SolidDialog>\n\n {openImportDialog && (\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={solidKanbanViewMetaData}\n handleFetchUpdatedRecords={handleRefreshView}\n />\n )}\n </div>\n );\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { permissionExpression } from "../../../helpers/permissions";
1
+ import { canExportRecords, canImportRecords, permissionExpression } from "../../../helpers/permissions";
2
2
  import { storeCurrentModelViewContext } from "../../../helpers/modelViewPersistence";
3
3
  import { usePathname } from "../../../hooks/usePathname";
4
4
  import { useRouter } from "../../../hooks/useRouter";
@@ -6,6 +6,7 @@ import { useSearchParams } from "../../../hooks/useSearchParams";
6
6
  import { useEffect, useState } from "react";
7
7
  import { SolidExport } from "../../../components/common/SolidExport";
8
8
  import { SolidGenericImport } from "../common/SolidGenericImport/SolidGenericImport";
9
+ import { SolidListViewHeaderContextMenuButton } from "../list/SolidListViewHeaderContextMenuButton";
9
10
  import {
10
11
  SolidDropdownMenu,
11
12
  SolidDropdownMenuCheckboxItem,
@@ -55,8 +56,12 @@ const normalizeViewModes = (viewModes: any[] = []) => {
55
56
 
56
57
  export const SolidKanbanViewConfigure = ({
57
58
  solidKanbanViewMetaData,
59
+ params,
58
60
  modelName,
59
61
  actionsAllowed,
62
+ headerButtons,
63
+ handleCustomButtonClick,
64
+ selectedRecords,
60
65
  setLayoutDialogVisible,
61
66
  viewModes,
62
67
  setShowArchived,
@@ -127,19 +132,15 @@ export const SolidKanbanViewConfigure = ({
127
132
  window.location.reload();
128
133
  };
129
134
 
130
- const canImport =
131
- Boolean(modelName) &&
132
- actionsAllowed.includes(`${permissionExpression(modelName, "create")}`) &&
133
- actionsAllowed.includes(`${permissionExpression("importTransaction", "create")}`);
135
+ const canImport = canImportRecords(actionsAllowed, modelName);
134
136
 
135
- const canExport =
136
- Boolean(modelName) &&
137
- actionsAllowed.includes(`${permissionExpression(modelName, "findMany")}`) &&
138
- actionsAllowed.includes(`${permissionExpression("exportTransaction", "create")}`);
137
+ const canExport = canExportRecords(actionsAllowed, modelName);
139
138
 
140
139
  const canCustomizeLayout = actionsAllowed.includes(`${permissionExpression("userViewMetadata", "create")}`);
141
140
  const canSaveCustomFilter = actionsAllowed.includes(`${permissionExpression("savedFilters", "create")}`);
142
141
  const canShowArchivedRecords = Boolean(solidKanbanViewMetaData?.data?.solidView?.model?.enableSoftDelete);
142
+ const contextMenuHeaderButtons = (headerButtons ?? []).filter((button: any) => button?.attrs?.actionInContextMenu === true);
143
+ const mobileOnlyHeaderButtons = (headerButtons ?? []).filter((button: any) => button?.attrs?.actionInContextMenu !== true);
143
144
 
144
145
  return (
145
146
  <div className="position-relative">
@@ -180,6 +181,34 @@ export const SolidKanbanViewConfigure = ({
180
181
  </SolidDropdownMenuItem>
181
182
  )}
182
183
 
184
+ {contextMenuHeaderButtons.map((button: any, index: number) => (
185
+ <SolidListViewHeaderContextMenuButton
186
+ key={button?.attrs?.action ?? index}
187
+ button={button}
188
+ params={params}
189
+ solidListViewMetaData={solidKanbanViewMetaData}
190
+ handleCustomButtonClick={handleCustomButtonClick}
191
+ selectedRecords={selectedRecords}
192
+ filters={filters}
193
+ onActionComplete={() => setIsCogMenuOpen(false)}
194
+ />
195
+ ))}
196
+
197
+ <div className="lg:hidden flex flex-col gap-1">
198
+ {mobileOnlyHeaderButtons.map((button: any, index: number) => (
199
+ <SolidListViewHeaderContextMenuButton
200
+ key={`mobile-${button?.attrs?.action ?? index}`}
201
+ button={button}
202
+ params={params}
203
+ solidListViewMetaData={solidKanbanViewMetaData}
204
+ handleCustomButtonClick={handleCustomButtonClick}
205
+ selectedRecords={selectedRecords}
206
+ filters={filters}
207
+ onActionComplete={() => setIsCogMenuOpen(false)}
208
+ />
209
+ ))}
210
+ </div>
211
+
183
212
  {canShowArchivedRecords && (
184
213
  <SolidDropdownMenuCheckboxItem
185
214
  checked={showArchived}
@@ -1 +1 @@
1
- {"version":3,"file":"SolidEmptyListViewPlaceholder.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidEmptyListViewPlaceholder.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,6BAA6B,4HAOvC,GAAG,4CAoIL,CAAC"}
1
+ {"version":3,"file":"SolidEmptyListViewPlaceholder.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidEmptyListViewPlaceholder.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,6BAA6B,4HAOvC,GAAG,4CAmIL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { permissionExpression } from '../../../helpers/permissions';
2
+ import { canImportRecords, permissionExpression } from '../../../helpers/permissions';
3
3
  import { SolidCreateButton } from '../common/SolidCreateButton';
4
4
  import { useHandleListCustomButtonClick } from '../../../components/common/useHandleListCustomButtonClick';
5
5
  import { isButtonVisibleInCurrentEnv } from '../../../helpers/buttonEnvironment';
@@ -39,8 +39,7 @@ export var SolidEmptyListViewPlaceholder = function (_a) {
39
39
  layoutAttrs.showDefaultAddButton !== false;
40
40
  var canImport = params.embeded !== true &&
41
41
  importAction.enabled &&
42
- actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'create'))) &&
43
- actionsAllowed.includes("".concat(permissionExpression('importTransaction', 'create'))) &&
42
+ canImportRecords(actionsAllowed, params.modelName) &&
44
43
  (importAction.roles.length === 0 || hasAnyRole(user === null || user === void 0 ? void 0 : user.roles, importAction.roles));
45
44
  var CustomActionButtons = function () {
46
45
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidEmptyListViewPlaceholder.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidEmptyListViewPlaceholder.tsx"],"names":[],"mappings":"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","sourcesContent":["import { permissionExpression } from '../../../helpers/permissions'\nimport { SolidCreateButton } from '../common/SolidCreateButton'\nimport { useHandleListCustomButtonClick } from '../../../components/common/useHandleListCustomButtonClick'\nimport { isButtonVisibleInCurrentEnv } from '../../../helpers/buttonEnvironment'\nimport { hasAnyRole } from '../../../helpers/rolesHelper'\nimport { env } from \"../../../adapters/env\";\nimport { useSession } from \"../../../hooks/useSession\";\nimport { useState } from \"react\";\nimport { Download, SquarePen } from \"lucide-react\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\nexport const SolidEmptyListViewPlaceholder = ({\n createButtonUrl,\n createActionQueryParams,\n actionsAllowed,\n params,\n solidListViewMetaData,\n handleFetchUpdatedRecords,\n}: any) => {\n const [openImportDialog, setOpenImportDialog] = useState(false);\n const { data: session } = useSession();\n const user = session?.user;\n\n const layoutAttrs = solidListViewMetaData?.data?.solidView?.layout?.attrs ?? {};\n const displayName = solidListViewMetaData?.data?.solidView?.displayName ?? \"records\";\n const entityName = displayName.toLowerCase();\n const noDataText = solidListViewMetaData?.data?.solidView?.layout?.attrs?.listViewNoDataHelperText\n ?? (env(\"NEXT_PUBLIC_DEFAULT_LIST_VIEW_NODATA_HELPER_TEXT\") && solidListViewMetaData?.data?.solidView?.displayName\n ? `${env(\"NEXT_PUBLIC_DEFAULT_LIST_VIEW_NODATA_HELPER_TEXT\")} ${solidListViewMetaData.data.solidView.displayName}`\n : `There are no ${entityName} records yet.`);\n\n const handleCustomButtonClick = useHandleListCustomButtonClick();\n\n const normalizeAction = (value: boolean | string[] | undefined) => {\n if (value === true || value === undefined) return { enabled: true, roles: [] as string[] };\n if (value === false) return { enabled: false, roles: [] as string[] };\n if (Array.isArray(value)) return { enabled: true, roles: value };\n return { enabled: true, roles: [] as string[] };\n };\n\n const importAction = normalizeAction(layoutAttrs.import);\n const canCreate =\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n layoutAttrs?.create !== false &&\n params.embeded !== true &&\n layoutAttrs.showDefaultAddButton !== false;\n const canImport =\n params.embeded !== true &&\n importAction.enabled &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n actionsAllowed.includes(`${permissionExpression('importTransaction', 'create')}`) &&\n (importAction.roles.length === 0 || hasAnyRole(user?.roles, importAction.roles));\n\n const CustomActionButtons = () => {\n const headerButtons = layoutAttrs?.headerButtons ?? [];\n if (layoutAttrs.showDefaultAddButton !== false || !headerButtons.length) return null;\n\n return (\n <div className=\"solid-empty-listview-custom-actions\">\n {headerButtons.map((button: any) => {\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n if (!hasRole) return null;\n if (!isButtonVisibleInCurrentEnv(button?.attrs)) return null;\n\n return (\n <SolidButton\n key={button?.attrs?.name || button?.attrs?.label}\n type=\"button\"\n className={`solid-empty-listview-secondary-action ${button?.attrs?.className ?? ''}`}\n variant={button?.attrs?.showText === false ? \"primary\" : \"ghost\"}\n size=\"small\"\n icon={button?.attrs?.icon}\n leftIcon={!button?.attrs?.icon ? <SquarePen size={14} /> : undefined}\n onClick={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data\n };\n handleCustomButtonClick(button.attrs, event);\n }}\n >\n {button.attrs.label}\n </SolidButton>\n );\n })}\n </div>\n );\n };\n\n return (\n <>\n <div className='solid-empty-listview-placeholder-container'>\n <div className=\"solid-empty-listview-placeholder-panel\">\n <div className=\"solid-empty-listview-header\">\n <div className=\"solid-empty-listview-header-title\">{displayName}</div>\n <div className=\"solid-empty-listview-header-subtitle\">{noDataText}</div>\n </div>\n\n <div className=\"solid-empty-listview-body\">\n {/* <div className=\"solid-empty-listview-icon-wrap\">\n <FolderOpen className=\"solid-empty-listview-icon\" aria-hidden=\"true\" />\n </div>\n <div className=\"solid-empty-listview-title\">\n No {displayName} Data Available\n </div> */}\n\n <div className=\"solid-empty-listview-actions\">\n {canCreate && (\n <div className=\"solid-empty-listview-create-action\">\n <SolidCreateButton\n createButtonUrl={createButtonUrl}\n createActionQueryParams={createActionQueryParams}\n solidListViewLayout={solidListViewMetaData?.data?.solidView?.layout}\n title={solidListViewMetaData?.data?.solidView?.displayName}\n />\n </div>\n )}\n {canImport && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n leftIcon={<Download size={14} />}\n className=\"solid-empty-listview-import-button\"\n onClick={() => setOpenImportDialog(true)}\n >\n Import\n </SolidButton>\n )}\n </div>\n\n <CustomActionButtons />\n\n {(canCreate || canImport) && (\n <div className=\"solid-empty-listview-description\">\n Click Create or Import to add {entityName} entities.\n </div>\n )}\n </div>\n </div>\n </div>\n {openImportDialog && (\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={solidListViewMetaData}\n handleFetchUpdatedRecords={handleFetchUpdatedRecords}\n />\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidEmptyListViewPlaceholder.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidEmptyListViewPlaceholder.tsx"],"names":[],"mappings":"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","sourcesContent":["import { canImportRecords, permissionExpression } from '../../../helpers/permissions'\nimport { SolidCreateButton } from '../common/SolidCreateButton'\nimport { useHandleListCustomButtonClick } from '../../../components/common/useHandleListCustomButtonClick'\nimport { isButtonVisibleInCurrentEnv } from '../../../helpers/buttonEnvironment'\nimport { hasAnyRole } from '../../../helpers/rolesHelper'\nimport { env } from \"../../../adapters/env\";\nimport { useSession } from \"../../../hooks/useSession\";\nimport { useState } from \"react\";\nimport { Download, SquarePen } from \"lucide-react\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\nexport const SolidEmptyListViewPlaceholder = ({\n createButtonUrl,\n createActionQueryParams,\n actionsAllowed,\n params,\n solidListViewMetaData,\n handleFetchUpdatedRecords,\n}: any) => {\n const [openImportDialog, setOpenImportDialog] = useState(false);\n const { data: session } = useSession();\n const user = session?.user;\n\n const layoutAttrs = solidListViewMetaData?.data?.solidView?.layout?.attrs ?? {};\n const displayName = solidListViewMetaData?.data?.solidView?.displayName ?? \"records\";\n const entityName = displayName.toLowerCase();\n const noDataText = solidListViewMetaData?.data?.solidView?.layout?.attrs?.listViewNoDataHelperText\n ?? (env(\"NEXT_PUBLIC_DEFAULT_LIST_VIEW_NODATA_HELPER_TEXT\") && solidListViewMetaData?.data?.solidView?.displayName\n ? `${env(\"NEXT_PUBLIC_DEFAULT_LIST_VIEW_NODATA_HELPER_TEXT\")} ${solidListViewMetaData.data.solidView.displayName}`\n : `There are no ${entityName} records yet.`);\n\n const handleCustomButtonClick = useHandleListCustomButtonClick();\n\n const normalizeAction = (value: boolean | string[] | undefined) => {\n if (value === true || value === undefined) return { enabled: true, roles: [] as string[] };\n if (value === false) return { enabled: false, roles: [] as string[] };\n if (Array.isArray(value)) return { enabled: true, roles: value };\n return { enabled: true, roles: [] as string[] };\n };\n\n const importAction = normalizeAction(layoutAttrs.import);\n const canCreate =\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n layoutAttrs?.create !== false &&\n params.embeded !== true &&\n layoutAttrs.showDefaultAddButton !== false;\n const canImport =\n params.embeded !== true &&\n importAction.enabled &&\n canImportRecords(actionsAllowed, params.modelName) &&\n (importAction.roles.length === 0 || hasAnyRole(user?.roles, importAction.roles));\n\n const CustomActionButtons = () => {\n const headerButtons = layoutAttrs?.headerButtons ?? [];\n if (layoutAttrs.showDefaultAddButton !== false || !headerButtons.length) return null;\n\n return (\n <div className=\"solid-empty-listview-custom-actions\">\n {headerButtons.map((button: any) => {\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n if (!hasRole) return null;\n if (!isButtonVisibleInCurrentEnv(button?.attrs)) return null;\n\n return (\n <SolidButton\n key={button?.attrs?.name || button?.attrs?.label}\n type=\"button\"\n className={`solid-empty-listview-secondary-action ${button?.attrs?.className ?? ''}`}\n variant={button?.attrs?.showText === false ? \"primary\" : \"ghost\"}\n size=\"small\"\n icon={button?.attrs?.icon}\n leftIcon={!button?.attrs?.icon ? <SquarePen size={14} /> : undefined}\n onClick={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data\n };\n handleCustomButtonClick(button.attrs, event);\n }}\n >\n {button.attrs.label}\n </SolidButton>\n );\n })}\n </div>\n );\n };\n\n return (\n <>\n <div className='solid-empty-listview-placeholder-container'>\n <div className=\"solid-empty-listview-placeholder-panel\">\n <div className=\"solid-empty-listview-header\">\n <div className=\"solid-empty-listview-header-title\">{displayName}</div>\n <div className=\"solid-empty-listview-header-subtitle\">{noDataText}</div>\n </div>\n\n <div className=\"solid-empty-listview-body\">\n {/* <div className=\"solid-empty-listview-icon-wrap\">\n <FolderOpen className=\"solid-empty-listview-icon\" aria-hidden=\"true\" />\n </div>\n <div className=\"solid-empty-listview-title\">\n No {displayName} Data Available\n </div> */}\n\n <div className=\"solid-empty-listview-actions\">\n {canCreate && (\n <div className=\"solid-empty-listview-create-action\">\n <SolidCreateButton\n createButtonUrl={createButtonUrl}\n createActionQueryParams={createActionQueryParams}\n solidListViewLayout={solidListViewMetaData?.data?.solidView?.layout}\n title={solidListViewMetaData?.data?.solidView?.displayName}\n />\n </div>\n )}\n {canImport && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n leftIcon={<Download size={14} />}\n className=\"solid-empty-listview-import-button\"\n onClick={() => setOpenImportDialog(true)}\n >\n Import\n </SolidButton>\n )}\n </div>\n\n <CustomActionButtons />\n\n {(canCreate || canImport) && (\n <div className=\"solid-empty-listview-description\">\n Click Create or Import to add {entityName} entities.\n </div>\n )}\n </div>\n </div>\n </div>\n {openImportDialog && (\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={solidListViewMetaData}\n handleFetchUpdatedRecords={handleFetchUpdatedRecords}\n />\n )}\n </>\n );\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { permissionExpression } from '../../../helpers/permissions'
1
+ import { canImportRecords, permissionExpression } from '../../../helpers/permissions'
2
2
  import { SolidCreateButton } from '../common/SolidCreateButton'
3
3
  import { useHandleListCustomButtonClick } from '../../../components/common/useHandleListCustomButtonClick'
4
4
  import { isButtonVisibleInCurrentEnv } from '../../../helpers/buttonEnvironment'
@@ -48,8 +48,7 @@ export const SolidEmptyListViewPlaceholder = ({
48
48
  const canImport =
49
49
  params.embeded !== true &&
50
50
  importAction.enabled &&
51
- actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&
52
- actionsAllowed.includes(`${permissionExpression('importTransaction', 'create')}`) &&
51
+ canImportRecords(actionsAllowed, params.modelName) &&
53
52
  (importAction.roles.length === 0 || hasAnyRole(user?.roles, importAction.roles));
54
53
 
55
54
  const CustomActionButtons = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListView.tsx"],"names":[],"mappings":";AAmEA,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6BAA6B,CAAC,EAAE,GAAG,CAAC;IACpC,8BAA8B,CAAC,EAAE,GAAG,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,uBAAuB,CAAC,EAAE,GAAG,CAAC;QAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC;QACvB,sBAAsB,CAAC,EAAE,GAAG,CAAC;QAC7B,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC,KAAK,IAAI,CAAC;IACX;;;;OAIG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,QAAQ,EAAE,MAAM;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC;QACb,gBAAgB,EAAE,GAAG,CAAC;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,aAAa,qHA2vDxB,CAAC"}
1
+ {"version":3,"file":"SolidListView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListView.tsx"],"names":[],"mappings":";AAoEA,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6BAA6B,CAAC,EAAE,GAAG,CAAC;IACpC,8BAA8B,CAAC,EAAE,GAAG,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,uBAAuB,CAAC,EAAE,GAAG,CAAC;QAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC;QACvB,sBAAsB,CAAC,EAAE,GAAG,CAAC;QAC7B,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC,KAAK,IAAI,CAAC;IACX;;;;OAIG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,QAAQ,EAAE,MAAM;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC;QACb,gBAAgB,EAAE,GAAG,CAAC;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,aAAa,qHAovDxB,CAAC"}
@@ -65,7 +65,7 @@ import { SolidCustomListViewColumn } from "./SolidCustomListViewColumn";
65
65
  import { SolidCreateButton } from "../common/SolidCreateButton";
66
66
  import { SolidGlobalSearchElement } from "../common/SolidGlobalSearchElement";
67
67
  import { useLazyCheckIfPermissionExistsQuery } from "../../../redux/api/userApi";
68
- import { permissionExpression } from "../../../helpers/permissions";
68
+ import { getCollectionViewPermissionNames, permissionExpression } from "../../../helpers/permissions";
69
69
  import { usePathname } from "../../../hooks/usePathname";
70
70
  import { useRouter } from "../../../hooks/useRouter";
71
71
  import { useSearchParams } from "../../../hooks/useSearchParams";
@@ -94,7 +94,7 @@ import { storeCurrentModelViewContext } from "../../../helpers/modelViewPersiste
94
94
  import { getMediaTypeFromUrl } from "../../../helpers/mediaType";
95
95
  import { SolidListViewRowActionsMenu } from "./SolidListViewRowActionsMenu";
96
96
  import { SolidHeaderRequestStatus } from "../../common/SolidHeaderRequestStatus";
97
- import { getFilterObjectFromLocalStorage, setFilterObjectToLocalStorage, } from "../common/globalSearchPersistence";
97
+ import { getFilterObjectFromLocalStorage, hasStoredSearchUiState, setFilterObjectToLocalStorage, } from "../common/globalSearchPersistence";
98
98
  import { SolidButton, SolidConfirmDialog, SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, } from "../../shad-cn-ui";
99
99
  import { FilterMatchMode } from "../filter/filterMatchMode";
100
100
  import { Pencil, Plus, RefreshCw, RotateCcw, Search, Trash2 } from "lucide-react";
@@ -225,19 +225,7 @@ export var SolidListView = forwardRef(function (params, ref) {
225
225
  switch (_a.label) {
226
226
  case 0:
227
227
  if (!params.modelName) return [3 /*break*/, 2];
228
- permissionNames = [
229
- permissionExpression(params.modelName, 'create'),
230
- permissionExpression(params.modelName, 'delete'),
231
- permissionExpression(params.modelName, 'update'),
232
- permissionExpression(params.modelName, 'deleteMany'),
233
- permissionExpression(params.modelName, 'findOne'),
234
- permissionExpression(params.modelName, 'findMany'),
235
- permissionExpression(params.modelName, 'insertMany'),
236
- permissionExpression('importTransaction', 'create'),
237
- permissionExpression('exportTransaction', 'create'),
238
- permissionExpression('userViewMetadata', 'create'),
239
- permissionExpression('savedFilters', 'create')
240
- ];
228
+ permissionNames = getCollectionViewPermissionNames(params.modelName);
241
229
  queryData = {
242
230
  permissionNames: permissionNames,
243
231
  };
@@ -712,6 +700,7 @@ export var SolidListView = forwardRef(function (params, ref) {
712
700
  fileterTobeStored.search_predicate = latestFilterPredicatesRef.current.search_predicate || null;
713
701
  fileterTobeStored.saved_filter_predicate = latestFilterPredicatesRef.current.saved_filter_predicate || null;
714
702
  fileterTobeStored.predefined_search_predicate = latestFilterPredicatesRef.current.predefined_search_predicate || null;
703
+ fileterTobeStored.predefined_search_chip = latestFilterPredicatesRef.current.predefined_search_chip || null;
715
704
  setFilterObjectToLocalStorage(fileterTobeStored);
716
705
  }
717
706
  triggerGetSolidEntities(queryString);
@@ -1183,6 +1172,9 @@ export var SolidListView = forwardRef(function (params, ref) {
1183
1172
  var hasCustomContextMenuButtons = (_u = (_t = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _t === void 0 ? void 0 : _t.rowButtons) === null || _u === void 0 ? void 0 : _u.some(function (rb) { var _a; return ((_a = rb === null || rb === void 0 ? void 0 : rb.attrs) === null || _a === void 0 ? void 0 : _a.actionInContextMenu) === true && isButtonVisibleInCurrentEnv(rb === null || rb === void 0 ? void 0 : rb.attrs); });
1184
1173
  var hasAnyContextMenuActions = hasEditInContextMenu || hasDeleteInContextMenu || hasCustomContextMenuButtons;
1185
1174
  var isEmbeddedList = params.embeded === true;
1175
+ var shouldShowMobileSearchElement = showGlobalSearchElement ||
1176
+ hasStoredSearchUiState(filterPredicates) ||
1177
+ hasStoredSearchUiState(getFilterObjectFromLocalStorage());
1186
1178
  // const toggleBothSidebars = () => {
1187
1179
  // if (visibleNavbar) {
1188
1180
  // dispatch(toggleNavbar()); // close both
@@ -1201,7 +1193,7 @@ export var SolidListView = forwardRef(function (params, ref) {
1201
1193
  searchParams.get("viewMode") !== "view" && (_jsx(SolidButton, { type: "button", icon: (_1 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _1 === void 0 ? void 0 : _1.addButtonIcon, leftIcon: !((_2 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _2 === void 0 ? void 0 : _2.addButtonIcon) ? _jsx(Plus, { size: 14 }) : undefined, className: "".concat((_3 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _3 === void 0 ? void 0 : _3.addButtonClassName), size: "small", onClick: function () { return params.handleAddClickForEmbeddedView("new"); }, children: ((_4 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _4 === void 0 ? void 0 : _4.addButtonTitle) ? (_5 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _5 === void 0 ? void 0 : _5.addButtonTitle : "Add" })), params.embeded !== true && (_jsx(SolidButton, { type: "button", size: "small", variant: "outline", className: "solid-icon-button ", onClick: function () {
1202
1194
  setQueryString();
1203
1195
  }, leftIcon: _jsx(RefreshCw, { size: 14 }) })), showArchived && selectedRecoverRecords.length > 0 && (_jsx(SolidButton, { type: "button", size: "small", variant: "secondary", className: "hidden lg:flex", onClick: function () { return setRecoverDialogVisible(true); }, leftIcon: _jsx(RotateCcw, { size: 14 }), children: "Recover" })), params.embeded === false &&
1204
- ((_6 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _6 === void 0 ? void 0 : _6.configureView) !== false && (_jsx(SolidListViewConfigure, { listViewMetaData: solidListViewMetaData, solidListViewLayout: solidListViewLayout, setShowArchived: setShowArchived, showArchived: showArchived, viewData: solidListViewMetaData, sizeOptions: sizeOptions, setSize: setSize, size: size, viewModes: viewModes, params: params, actionsAllowed: actionsAllowed, selectedRecords: selectedRecords, setDialogVisible: setDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleFetchUpdatedRecords: handleFetchUpdatedRecords, setRecoverDialogVisible: setRecoverDialogVisible }))] })] }), showGlobalSearchElement && params.embeded === false && window.innerWidth < 991 && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "list", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidListViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter, filterPredicates: filterPredicates }) }))] }), showListBodyLoadingPlaceholder ? (_jsx("div", { className: "solid-view-loading-body-spacer flex-1 min-h-0" })) : (_jsx(_Fragment, { children: isListViewEmptyWithoutFilters ? (_jsx(SolidEmptyListViewPlaceholder, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, actionsAllowed: actionsAllowed, params: params, solidListViewMetaData: solidListViewMetaData, handleFetchUpdatedRecords: handleFetchUpdatedRecords })) : (_jsx("div", { className: "solid-datatable-wrapper solid-list-table-area min-h-0 ".concat(isEmbeddedList ? "overflow-visible" : "flex-1 overflow-hidden", " ").concat(styles.listTableArea), children: _jsxs(DataTable, { value: listViewData, viewportHeight: isEmbeddedList ? "auto" : undefined, rowClassName: function (rowData) {
1196
+ ((_6 = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _6 === void 0 ? void 0 : _6.configureView) !== false && (_jsx(SolidListViewConfigure, { listViewMetaData: solidListViewMetaData, solidListViewLayout: solidListViewLayout, setShowArchived: setShowArchived, showArchived: showArchived, viewData: solidListViewMetaData, sizeOptions: sizeOptions, setSize: setSize, size: size, viewModes: viewModes, params: params, actionsAllowed: actionsAllowed, selectedRecords: selectedRecords, setDialogVisible: setDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleFetchUpdatedRecords: handleFetchUpdatedRecords, setRecoverDialogVisible: setRecoverDialogVisible }))] })] }), shouldShowMobileSearchElement && params.embeded === false && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "list", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidListViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter, filterPredicates: filterPredicates }) }))] }), showListBodyLoadingPlaceholder ? (_jsx("div", { className: "solid-view-loading-body-spacer flex-1 min-h-0" })) : (_jsx(_Fragment, { children: isListViewEmptyWithoutFilters ? (_jsx(SolidEmptyListViewPlaceholder, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, actionsAllowed: actionsAllowed, params: params, solidListViewMetaData: solidListViewMetaData, handleFetchUpdatedRecords: handleFetchUpdatedRecords })) : (_jsx("div", { className: "solid-datatable-wrapper solid-list-table-area min-h-0 ".concat(isEmbeddedList ? "overflow-visible" : "flex-1 overflow-hidden", " ").concat(styles.listTableArea), children: _jsxs(DataTable, { value: listViewData, viewportHeight: isEmbeddedList ? "auto" : undefined, rowClassName: function (rowData) {
1205
1197
  return rowData.deletedAt ? "greyed-out-row" : "";
1206
1198
  }, showGridlines: false, lazy: true, scrollable: true,
1207
1199
  // scrollHeight="90vh"