@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.
- package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormFooter.js +7 -6
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +6 -5
- package/dist/components/core/form/SolidFormView.js +2 -2
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.js +10 -1
- package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.tsx +13 -1
- package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.js +7 -1
- package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.tsx +10 -1
- package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.js +14 -2
- package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.tsx +20 -2
- package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.js +9 -1
- package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.tsx +12 -1
- package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.js +23 -3
- package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.tsx +32 -3
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +15 -2
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +20 -4
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +21 -3
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +30 -3
- package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidPasswordField.js +2 -1
- package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
- package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -1
- package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.js +9 -1
- package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.tsx +12 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +8 -2
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +14 -3
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +20 -3
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +66 -2
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +67 -2
- package/dist/routes/SolidRouteMetadataBoundary.js +1 -1
- package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -1
- package/dist/routes/SolidRouteMetadataBoundary.tsx +1 -1
- 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
|
|
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
|
-
|
|
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
|