@solidxai/core-ui 0.1.9-beta.3 → 0.1.9-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 (59) hide show
  1. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  2. package/dist/components/core/form/SolidFormFooter.js +7 -6
  3. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  4. package/dist/components/core/form/SolidFormFooter.tsx +6 -5
  5. package/dist/components/core/form/SolidFormView.js +2 -2
  6. package/dist/components/core/form/SolidFormView.js.map +1 -1
  7. package/dist/components/core/form/SolidFormView.tsx +1 -1
  8. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  9. package/dist/components/core/form/fields/SolidBooleanField.js +10 -1
  10. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  11. package/dist/components/core/form/fields/SolidBooleanField.tsx +13 -1
  12. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  13. package/dist/components/core/form/fields/SolidDecimalField.js +7 -1
  14. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  15. package/dist/components/core/form/fields/SolidDecimalField.tsx +10 -1
  16. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  17. package/dist/components/core/form/fields/SolidIntegerField.js +14 -2
  18. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  19. package/dist/components/core/form/fields/SolidIntegerField.tsx +20 -2
  20. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  21. package/dist/components/core/form/fields/SolidJsonField.js +9 -1
  22. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  23. package/dist/components/core/form/fields/SolidJsonField.tsx +12 -1
  24. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  25. package/dist/components/core/form/fields/SolidLongTextField.js +23 -3
  26. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  27. package/dist/components/core/form/fields/SolidLongTextField.tsx +32 -3
  28. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  29. package/dist/components/core/form/fields/SolidMediaMultipleField.js +15 -2
  30. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  31. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +20 -4
  32. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  33. package/dist/components/core/form/fields/SolidMediaSingleField.js +21 -3
  34. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  35. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +30 -3
  36. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  37. package/dist/components/core/form/fields/SolidPasswordField.js +2 -1
  38. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  39. package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -1
  40. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  41. package/dist/components/core/form/fields/SolidRichTextField.js +9 -1
  42. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  43. package/dist/components/core/form/fields/SolidRichTextField.tsx +12 -1
  44. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  45. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
  46. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  47. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +8 -2
  48. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  49. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +14 -3
  50. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  51. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +20 -3
  52. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  53. package/dist/components/core/list/SolidListView.js +66 -2
  54. package/dist/components/core/list/SolidListView.js.map +1 -1
  55. package/dist/components/core/list/SolidListView.tsx +67 -2
  56. package/dist/routes/SolidRouteMetadataBoundary.js +1 -1
  57. package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -1
  58. package/dist/routes/SolidRouteMetadataBoundary.tsx +1 -1
  59. package/package.json +1 -1
@@ -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