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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/components/common/AuthBanner.js.map +1 -1
  2. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  3. package/dist/components/core/form/SolidFormFooter.js +7 -6
  4. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  5. package/dist/components/core/form/SolidFormFooter.tsx +6 -5
  6. package/dist/components/core/form/SolidFormView.js +2 -2
  7. package/dist/components/core/form/SolidFormView.js.map +1 -1
  8. package/dist/components/core/form/SolidFormView.tsx +1 -1
  9. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  10. package/dist/components/core/form/fields/SolidBooleanField.js +10 -1
  11. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  12. package/dist/components/core/form/fields/SolidBooleanField.tsx +13 -1
  13. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  14. package/dist/components/core/form/fields/SolidDecimalField.js +7 -1
  15. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  16. package/dist/components/core/form/fields/SolidDecimalField.tsx +10 -1
  17. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  18. package/dist/components/core/form/fields/SolidIntegerField.js +14 -2
  19. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  20. package/dist/components/core/form/fields/SolidIntegerField.tsx +20 -2
  21. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  22. package/dist/components/core/form/fields/SolidJsonField.js +7 -2
  23. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  24. package/dist/components/core/form/fields/SolidJsonField.tsx +10 -2
  25. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  26. package/dist/components/core/form/fields/SolidLongTextField.js +23 -3
  27. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  28. package/dist/components/core/form/fields/SolidLongTextField.tsx +32 -3
  29. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  30. package/dist/components/core/form/fields/SolidMediaMultipleField.js +15 -2
  31. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  32. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +20 -4
  33. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  34. package/dist/components/core/form/fields/SolidMediaSingleField.js +21 -3
  35. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  36. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +30 -3
  37. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  38. package/dist/components/core/form/fields/SolidPasswordField.js +2 -1
  39. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  40. package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -1
  41. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  42. package/dist/components/core/form/fields/SolidRichTextField.js +9 -1
  43. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  44. package/dist/components/core/form/fields/SolidRichTextField.tsx +12 -1
  45. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  46. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
  47. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  48. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +8 -2
  49. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  50. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +14 -3
  51. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  52. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +20 -3
  53. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  54. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  55. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +1 -2
  56. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  57. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  58. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  59. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +21 -10
  60. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  61. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  62. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  63. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +18 -10
  64. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  65. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +3 -6
  66. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  67. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +30 -24
  68. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  69. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  70. package/dist/components/core/list/SolidDataTablePagination.d.ts +15 -0
  71. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +1 -0
  72. package/dist/components/core/list/SolidDataTablePagination.js +22 -0
  73. package/dist/components/core/list/SolidDataTablePagination.js.map +1 -0
  74. package/dist/components/core/list/SolidDataTablePagination.tsx +71 -0
  75. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  76. package/dist/components/core/list/SolidListView.js +66 -2
  77. package/dist/components/core/list/SolidListView.js.map +1 -1
  78. package/dist/components/core/list/SolidListView.tsx +67 -2
  79. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  80. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  81. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +6 -7
  82. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  83. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +9 -10
  84. package/dist/components/solid-ui/SolidButton.d.ts +14 -0
  85. package/dist/components/solid-ui/SolidButton.d.ts.map +1 -0
  86. package/dist/components/solid-ui/SolidButton.js +36 -0
  87. package/dist/components/solid-ui/SolidButton.js.map +1 -0
  88. package/dist/components/solid-ui/SolidButton.tsx +54 -0
  89. package/dist/components/solid-ui/SolidTabs.d.ts +18 -0
  90. package/dist/components/solid-ui/SolidTabs.d.ts.map +1 -0
  91. package/dist/components/solid-ui/SolidTabs.js +22 -0
  92. package/dist/components/solid-ui/SolidTabs.js.map +1 -0
  93. package/dist/components/solid-ui/SolidTabs.tsx +73 -0
  94. package/dist/components/solid-ui/index.d.ts +3 -0
  95. package/dist/components/solid-ui/index.d.ts.map +1 -0
  96. package/dist/components/solid-ui/index.js +3 -0
  97. package/dist/components/solid-ui/index.js.map +1 -0
  98. package/dist/components/solid-ui/index.ts +2 -0
  99. package/dist/routes/SolidRouteMetadataBoundary.js +1 -1
  100. package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -1
  101. package/dist/routes/SolidRouteMetadataBoundary.tsx +1 -1
  102. package/package.json +1 -1
  103. package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
  104. package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
  105. package/dist/components/auth/SolidOTPVerify.js +0 -67
  106. package/dist/components/auth/SolidOTPVerify.js.map +0 -1
  107. package/dist/components/auth/SolidOTPVerify.tsx +0 -133
  108. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
  109. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
  110. package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
  111. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
  112. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
  113. package/dist/nextAuth/authProviders.d.ts +0 -4
  114. package/dist/nextAuth/authProviders.d.ts.map +0 -1
  115. package/dist/nextAuth/authProviders.js +0 -198
  116. package/dist/nextAuth/authProviders.js.map +0 -1
  117. package/dist/nextAuth/authProviders.tsx +0 -232
  118. package/dist/nextAuth/handleLogout.d.ts +0 -2
  119. package/dist/nextAuth/handleLogout.d.ts.map +0 -1
  120. package/dist/nextAuth/handleLogout.js +0 -36
  121. package/dist/nextAuth/handleLogout.js.map +0 -1
  122. package/dist/nextAuth/handleLogout.tsx +0 -39
  123. package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
  124. package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
  125. package/dist/nextAuth/refreshAccessToken.js +0 -24
  126. package/dist/nextAuth/refreshAccessToken.js.map +0 -1
  127. package/dist/nextAuth/refreshAccessToken.tsx +0 -28
  128. package/dist/redux/features/settingsSlice.d.ts +0 -20
  129. package/dist/redux/features/settingsSlice.d.ts.map +0 -1
  130. package/dist/redux/features/settingsSlice.js +0 -39
  131. package/dist/redux/features/settingsSlice.js.map +0 -1
  132. package/dist/redux/features/settingsSlice.ts +0 -60
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationManyToOneKanbanField.js","sourceRoot":"","sources":["../../../../../../src/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx"],"names":[],"mappings":";AAOA,IAAM,iCAAiC,GAAG,UAAC,EAAyF;QAAvF,uBAAuB,6BAAA,EAAE,aAAa,mBAAA,EAAE,WAAW,iBAAA,EAAC,IAAI,UAAA;IAEjG,OAAO,CACJ,mBAAK,CACP,CAAC;AAEN,CAAC,CAAC;AAEF,eAAe,iCAAiC,CAAC","sourcesContent":["\nimport { FilterMatchMode } from 'primereact/api';\nimport { Column, ColumnFilterElementTemplateOptions } from \"primereact/column\";\nimport { FormEvent } from \"primereact/ts-helpers\";\nimport { InputTypes, SolidVarInputsFilterElement } from '../../../../../components/core/kanban/SolidVarInputsFilterElement';\nimport { SolidKanbanViewFieldsParams } from '../../../../../components/core/kanban/SolidKanbanViewFields';\n\nconst SolidRelationManyToOneKanbanField = ({ solidKanbanViewMetaData, fieldMetadata, fieldLayout,data }: SolidKanbanViewFieldsParams) => {\n \n return (\n <></>\n );\n\n};\n\nexport default SolidRelationManyToOneKanbanField;"]}
1
+ {"version":3,"file":"SolidRelationManyToOneKanbanField.js","sourceRoot":"","sources":["../../../../../../src/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx"],"names":[],"mappings":";AAOA,IAAM,iCAAiC,GAAG,UAAC,EAAyF;QAAvF,uBAAuB,6BAAA,EAAE,aAAa,mBAAA,EAAE,WAAW,iBAAA,EAAC,IAAI,UAAA;IAEjG,OAAO,CACJ,mBAAK,CACP,CAAC;AAEN,CAAC,CAAC;AAEF,eAAe,iCAAiC,CAAC","sourcesContent":["\nimport { FilterMatchMode } from 'primereact/api';\nimport { Column, ColumnFilterElementTemplateOptions } from \"primereact/column\";\nimport { FormEvent } from \"primereact/ts-helpers\";\nimport { InputTypes, SolidVarInputsFilterElement } from '../../../../../components/core/filter/SolidVarInputsFilterElement';\nimport { SolidKanbanViewFieldsParams } from '../../../../../components/core/kanban/SolidKanbanViewFields';\n\nconst SolidRelationManyToOneKanbanField = ({ solidKanbanViewMetaData, fieldMetadata, fieldLayout,data }: SolidKanbanViewFieldsParams) => {\n \n return (\n <></>\n );\n\n};\n\nexport default SolidRelationManyToOneKanbanField;\n"]}
@@ -2,7 +2,7 @@
2
2
  import { FilterMatchMode } from 'primereact/api';
3
3
  import { Column, ColumnFilterElementTemplateOptions } from "primereact/column";
4
4
  import { FormEvent } from "primereact/ts-helpers";
5
- import { InputTypes, SolidVarInputsFilterElement } from '../../../../../components/core/kanban/SolidVarInputsFilterElement';
5
+ import { InputTypes, SolidVarInputsFilterElement } from '../../../../../components/core/filter/SolidVarInputsFilterElement';
6
6
  import { SolidKanbanViewFieldsParams } from '../../../../../components/core/kanban/SolidKanbanViewFields';
7
7
 
8
8
  const SolidRelationManyToOneKanbanField = ({ solidKanbanViewMetaData, fieldMetadata, fieldLayout,data }: SolidKanbanViewFieldsParams) => {
@@ -13,4 +13,4 @@ const SolidRelationManyToOneKanbanField = ({ solidKanbanViewMetaData, fieldMetad
13
13
 
14
14
  };
15
15
 
16
- export default SolidRelationManyToOneKanbanField;
16
+ export default SolidRelationManyToOneKanbanField;
@@ -0,0 +1,15 @@
1
+ type SolidDataTablePaginationProps = {
2
+ rows: number;
3
+ first: number;
4
+ totalRecords: number;
5
+ rowsPerPageOptions?: number[];
6
+ onPage: (event: {
7
+ first: number;
8
+ rows: number;
9
+ }) => void;
10
+ currentPageReportTemplate?: string;
11
+ className?: string;
12
+ };
13
+ export declare function SolidDataTablePagination({ rows, first, totalRecords, rowsPerPageOptions, onPage, currentPageReportTemplate, className, }: SolidDataTablePaginationProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=SolidDataTablePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidDataTablePagination.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidDataTablePagination.tsx"],"names":[],"mappings":"AAEA,KAAK,6BAA6B,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACzD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAIF,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,kBAAsC,EACtC,MAAM,EACN,yBAAgE,EAChE,SAAS,GACV,EAAE,6BAA6B,2CA+C/B"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ var cx = function () {
3
+ var parts = [];
4
+ for (var _i = 0; _i < arguments.length; _i++) {
5
+ parts[_i] = arguments[_i];
6
+ }
7
+ return parts.filter(Boolean).join(" ");
8
+ };
9
+ export function SolidDataTablePagination(_a) {
10
+ var rows = _a.rows, first = _a.first, totalRecords = _a.totalRecords, _b = _a.rowsPerPageOptions, rowsPerPageOptions = _b === void 0 ? [10, 25, 50, 100] : _b, onPage = _a.onPage, _c = _a.currentPageReportTemplate, currentPageReportTemplate = _c === void 0 ? "{first} - {last} of {totalRecords}" : _c, className = _a.className;
11
+ var safeRows = rows > 0 ? rows : 25;
12
+ var start = totalRecords === 0 ? 0 : first + 1;
13
+ var end = Math.min(first + safeRows, totalRecords);
14
+ var currentPage = Math.floor(first / safeRows) + 1;
15
+ var totalPages = Math.max(1, Math.ceil(totalRecords / safeRows));
16
+ var report = currentPageReportTemplate
17
+ .replace("{first}", String(start))
18
+ .replace("{last}", String(end))
19
+ .replace("{totalRecords}", String(totalRecords));
20
+ return (_jsxs("div", { className: cx("w-full solid-table-paginator flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background", className), children: [_jsxs("div", { className: "solid-paginator-meta flex items-center gap-2 ml-auto", children: [_jsx("span", { className: "solid-paginator-label", children: "Rows" }), _jsx("select", { value: safeRows, onChange: function (e) { return onPage({ first: 0, rows: Number(e.target.value) }); }, className: "solid-paginator-select", children: rowsPerPageOptions.map(function (option) { return (_jsx("option", { value: option, children: option }, option)); }) }), _jsx("span", { className: "solid-paginator-report", children: report })] }), _jsxs("div", { className: "solid-paginator-actions flex items-center gap-2", children: [_jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { return onPage({ first: Math.max(0, first - safeRows), rows: safeRows }); }, disabled: currentPage <= 1, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { return onPage({ first: Math.min((totalPages - 1) * safeRows, first + safeRows), rows: safeRows }); }, disabled: currentPage >= totalPages, children: "Next" })] })] }));
21
+ }
22
+ //# sourceMappingURL=SolidDataTablePagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidDataTablePagination.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidDataTablePagination.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n\ntype SolidDataTablePaginationProps = {\n rows: number;\n first: number;\n totalRecords: number;\n rowsPerPageOptions?: number[];\n onPage: (event: { first: number; rows: number }) => void;\n currentPageReportTemplate?: string;\n className?: string;\n};\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport function SolidDataTablePagination({\n rows,\n first,\n totalRecords,\n rowsPerPageOptions = [10, 25, 50, 100],\n onPage,\n currentPageReportTemplate = \"{first} - {last} of {totalRecords}\",\n className,\n}: SolidDataTablePaginationProps) {\n const safeRows = rows > 0 ? rows : 25;\n const start = totalRecords === 0 ? 0 : first + 1;\n const end = Math.min(first + safeRows, totalRecords);\n const currentPage = Math.floor(first / safeRows) + 1;\n const totalPages = Math.max(1, Math.ceil(totalRecords / safeRows));\n\n const report = currentPageReportTemplate\n .replace(\"{first}\", String(start))\n .replace(\"{last}\", String(end))\n .replace(\"{totalRecords}\", String(totalRecords));\n\n return (\n <div className={cx(\"w-full solid-table-paginator flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background\", className)}>\n <div className=\"solid-paginator-meta flex items-center gap-2 ml-auto\">\n <span className=\"solid-paginator-label\">Rows</span>\n <select\n value={safeRows}\n onChange={(e) => onPage({ first: 0, rows: Number(e.target.value) })}\n className=\"solid-paginator-select\"\n >\n {rowsPerPageOptions.map((option) => (\n <option key={option} value={option}>{option}</option>\n ))}\n </select>\n <span className=\"solid-paginator-report\">{report}</span>\n </div>\n <div className=\"solid-paginator-actions flex items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={() => onPage({ first: Math.max(0, first - safeRows), rows: safeRows })}\n disabled={currentPage <= 1}\n >\n Previous\n </button>\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={() => onPage({ first: Math.min((totalPages - 1) * safeRows, first + safeRows), rows: safeRows })}\n disabled={currentPage >= totalPages}\n >\n Next\n </button>\n </div>\n </div>\n );\n}\n\n"]}
@@ -0,0 +1,71 @@
1
+ import React from "react";
2
+
3
+ type SolidDataTablePaginationProps = {
4
+ rows: number;
5
+ first: number;
6
+ totalRecords: number;
7
+ rowsPerPageOptions?: number[];
8
+ onPage: (event: { first: number; rows: number }) => void;
9
+ currentPageReportTemplate?: string;
10
+ className?: string;
11
+ };
12
+
13
+ const cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(" ");
14
+
15
+ export function SolidDataTablePagination({
16
+ rows,
17
+ first,
18
+ totalRecords,
19
+ rowsPerPageOptions = [10, 25, 50, 100],
20
+ onPage,
21
+ currentPageReportTemplate = "{first} - {last} of {totalRecords}",
22
+ className,
23
+ }: SolidDataTablePaginationProps) {
24
+ const safeRows = rows > 0 ? rows : 25;
25
+ const start = totalRecords === 0 ? 0 : first + 1;
26
+ const end = Math.min(first + safeRows, totalRecords);
27
+ const currentPage = Math.floor(first / safeRows) + 1;
28
+ const totalPages = Math.max(1, Math.ceil(totalRecords / safeRows));
29
+
30
+ const report = currentPageReportTemplate
31
+ .replace("{first}", String(start))
32
+ .replace("{last}", String(end))
33
+ .replace("{totalRecords}", String(totalRecords));
34
+
35
+ return (
36
+ <div className={cx("w-full solid-table-paginator flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background", className)}>
37
+ <div className="solid-paginator-meta flex items-center gap-2 ml-auto">
38
+ <span className="solid-paginator-label">Rows</span>
39
+ <select
40
+ value={safeRows}
41
+ onChange={(e) => onPage({ first: 0, rows: Number(e.target.value) })}
42
+ className="solid-paginator-select"
43
+ >
44
+ {rowsPerPageOptions.map((option) => (
45
+ <option key={option} value={option}>{option}</option>
46
+ ))}
47
+ </select>
48
+ <span className="solid-paginator-report">{report}</span>
49
+ </div>
50
+ <div className="solid-paginator-actions flex items-center gap-2">
51
+ <button
52
+ type="button"
53
+ className="solid-paginator-btn"
54
+ onClick={() => onPage({ first: Math.max(0, first - safeRows), rows: safeRows })}
55
+ disabled={currentPage <= 1}
56
+ >
57
+ Previous
58
+ </button>
59
+ <button
60
+ type="button"
61
+ className="solid-paginator-btn"
62
+ onClick={() => onPage({ first: Math.min((totalPages - 1) * safeRows, first + safeRows), rows: safeRows })}
63
+ disabled={currentPage >= totalPages}
64
+ >
65
+ Next
66
+ </button>
67
+ </div>
68
+ </div>
69
+ );
70
+ }
71
+
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListView.tsx"],"names":[],"mappings":";AAwDA,eAAO,MAAM,+BAA+B,WAgB3C,CAAC;AAGF,eAAO,MAAM,oCAAoC,QAAS,MAAM,QAgB/D,CAAC;AAEF,eAAO,MAAM,6BAA6B,gBAAiB,GAAG,kBAU7D,CAAC;AAGF,eAAO,MAAM,kCAAkC,QAAS,MAAM,eAAe,GAAG,kBAU/E,CAAC;AAEF,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,qHAykDxB,CAAC"}
1
+ {"version":3,"file":"SolidListView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListView.tsx"],"names":[],"mappings":";AAwDA,eAAO,MAAM,+BAA+B,WAgB3C,CAAC;AAGF,eAAO,MAAM,oCAAoC,QAAS,MAAM,QAgB/D,CAAC;AAEF,eAAO,MAAM,6BAA6B,gBAAiB,GAAG,kBAU7D,CAAC;AAGF,eAAO,MAAM,kCAAkC,QAAS,MAAM,eAAe,GAAG,kBAU/E,CAAC;AAEF,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,qHA0oDxB,CAAC"}
@@ -187,6 +187,7 @@ export var SolidListView = forwardRef(function (params, ref) {
187
187
  var _48 = useState(null), filterPredicates = _48[0], setFilterPredicates = _48[1];
188
188
  var _49 = useState(false), showSaveFilterPopup = _49[0], setShowSaveFilterPopup = _49[1];
189
189
  var _50 = useState(false), showGlobalSearchElement = _50[0], setShowGlobalSearchElement = _50[1];
190
+ var suppressNextFilterPaginationResetRef = useRef(false);
190
191
  var triggerCheckIfPermissionExists = useLazyCheckIfPermissionExistsQuery()[0];
191
192
  var handleCustomButtonClick = useHandleListCustomButtonClick();
192
193
  var editBaseUrl = useMemo(function () { return normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form"); }, [editButtonUrl, pathname]);
@@ -424,6 +425,7 @@ export var SolidListView = forwardRef(function (params, ref) {
424
425
  if (solidListViewMetaData && solidListViewLayout) {
425
426
  var queryObject = getFilterObjectFromLocalStorage();
426
427
  if (queryObject) {
428
+ suppressNextFilterPaginationResetRef.current = true;
427
429
  var queryData = {
428
430
  offset: queryObject.offset || 0,
429
431
  limit: queryObject.limit || 25,
@@ -668,8 +670,9 @@ export var SolidListView = forwardRef(function (params, ref) {
668
670
  return [3 /*break*/, 4];
669
671
  case 4:
670
672
  queryString = qs.stringify(queryData, { encodeValuesOnly: true });
671
- if (latestFilterPredicatesRef.current && latestFilterPredicatesRef.current.persistFilter) {
673
+ if (latestFilterPredicatesRef.current) {
672
674
  fileterTobeStored = structuredClone(queryData);
675
+ fileterTobeStored.finalFullFilter = fileterTobeStored.filters;
673
676
  delete fileterTobeStored.filters;
674
677
  fileterTobeStored.custom_filter_predicate = latestFilterPredicatesRef.current.custom_filter_predicate || null;
675
678
  fileterTobeStored.search_predicate = latestFilterPredicatesRef.current.search_predicate || null;
@@ -700,6 +703,20 @@ export var SolidListView = forwardRef(function (params, ref) {
700
703
  queryfilter.$and.push(filterPredicates.predefined_search_predicate);
701
704
  }
702
705
  var updatedFilter = queryfilter;
706
+ var previousPredicates = latestFilterPredicatesRef.current;
707
+ var nextPredicatesComparable = {
708
+ custom_filter_predicate: (filterPredicates === null || filterPredicates === void 0 ? void 0 : filterPredicates.custom_filter_predicate) || null,
709
+ search_predicate: (filterPredicates === null || filterPredicates === void 0 ? void 0 : filterPredicates.search_predicate) || null,
710
+ saved_filter_predicate: (filterPredicates === null || filterPredicates === void 0 ? void 0 : filterPredicates.saved_filter_predicate) || null,
711
+ predefined_search_predicate: (filterPredicates === null || filterPredicates === void 0 ? void 0 : filterPredicates.predefined_search_predicate) || null,
712
+ };
713
+ var previousPredicatesComparable = {
714
+ custom_filter_predicate: (previousPredicates === null || previousPredicates === void 0 ? void 0 : previousPredicates.custom_filter_predicate) || null,
715
+ search_predicate: (previousPredicates === null || previousPredicates === void 0 ? void 0 : previousPredicates.search_predicate) || null,
716
+ saved_filter_predicate: (previousPredicates === null || previousPredicates === void 0 ? void 0 : previousPredicates.saved_filter_predicate) || null,
717
+ predefined_search_predicate: (previousPredicates === null || previousPredicates === void 0 ? void 0 : previousPredicates.predefined_search_predicate) || null,
718
+ };
719
+ var hasPredicateChanged = JSON.stringify(previousPredicatesComparable) !== JSON.stringify(nextPredicatesComparable);
703
720
  // Update refs IMMEDIATELY (synchronously)
704
721
  latestFiltersRef.current = updatedFilter;
705
722
  var updatedFilterPredicates = structuredClone(filterPredicates);
@@ -708,7 +725,54 @@ export var SolidListView = forwardRef(function (params, ref) {
708
725
  // Then update state
709
726
  setFilters(updatedFilter);
710
727
  setFilterPredicates(updatedFilterPredicates);
711
- setFirst(0);
728
+ var hasMeaningfulFilterValueLocal = function (value) {
729
+ if (value === null || value === undefined)
730
+ return false;
731
+ if (typeof value === "string")
732
+ return value.trim().length > 0;
733
+ if (typeof value === "number" || typeof value === "boolean")
734
+ return true;
735
+ if (Array.isArray(value))
736
+ return value.some(function (item) { return hasMeaningfulFilterValueLocal(item); });
737
+ if (typeof value === "object")
738
+ return hasAppliedFiltersLocal(value);
739
+ return false;
740
+ };
741
+ var hasAppliedFiltersLocal = function (filterObject) {
742
+ if (!filterObject || typeof filterObject !== "object")
743
+ return false;
744
+ if (Array.isArray(filterObject)) {
745
+ return filterObject.some(function (item) { return hasAppliedFiltersLocal(item) || hasMeaningfulFilterValueLocal(item); });
746
+ }
747
+ return Object.entries(filterObject).some(function (_a) {
748
+ var key = _a[0], val = _a[1];
749
+ if (key === "matchMode" || key === "operator")
750
+ return false;
751
+ if (key === "value")
752
+ return hasMeaningfulFilterValueLocal(val);
753
+ if ((key === "$and" || key === "$or") && Array.isArray(val)) {
754
+ return val.some(function (item) { return hasAppliedFiltersLocal(item) || hasMeaningfulFilterValueLocal(item); });
755
+ }
756
+ if (typeof val === "object")
757
+ return hasAppliedFiltersLocal(val);
758
+ return hasMeaningfulFilterValueLocal(val);
759
+ });
760
+ };
761
+ var hasCurrentMeaningfulPredicates = hasAppliedFiltersLocal(updatedFilterPredicates === null || updatedFilterPredicates === void 0 ? void 0 : updatedFilterPredicates.custom_filter_predicate) ||
762
+ hasAppliedFiltersLocal(updatedFilterPredicates === null || updatedFilterPredicates === void 0 ? void 0 : updatedFilterPredicates.search_predicate) ||
763
+ hasAppliedFiltersLocal(updatedFilterPredicates === null || updatedFilterPredicates === void 0 ? void 0 : updatedFilterPredicates.saved_filter_predicate) ||
764
+ hasAppliedFiltersLocal(updatedFilterPredicates === null || updatedFilterPredicates === void 0 ? void 0 : updatedFilterPredicates.predefined_search_predicate);
765
+ var hasPreviousMeaningfulPredicates = hasAppliedFiltersLocal(previousPredicates === null || previousPredicates === void 0 ? void 0 : previousPredicates.custom_filter_predicate) ||
766
+ hasAppliedFiltersLocal(previousPredicates === null || previousPredicates === void 0 ? void 0 : previousPredicates.search_predicate) ||
767
+ hasAppliedFiltersLocal(previousPredicates === null || previousPredicates === void 0 ? void 0 : previousPredicates.saved_filter_predicate) ||
768
+ hasAppliedFiltersLocal(previousPredicates === null || previousPredicates === void 0 ? void 0 : previousPredicates.predefined_search_predicate);
769
+ var shouldResetPagination = hasPredicateChanged && (hasCurrentMeaningfulPredicates || hasPreviousMeaningfulPredicates);
770
+ if (suppressNextFilterPaginationResetRef.current) {
771
+ suppressNextFilterPaginationResetRef.current = false;
772
+ }
773
+ else if (shouldResetPagination) {
774
+ setFirst(0);
775
+ }
712
776
  // Force synchronous state updates
713
777
  };
714
778
  // clear Filter