@solidxai/core-ui 0.1.3 → 0.1.4-beta.0
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/auth/SolidInitialLoginOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.js +0 -5
- package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.tsx +0 -5
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +7 -5
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +10 -8
- package/dist/components/common/GeneralSettings.d.ts.map +1 -1
- package/dist/components/common/GeneralSettings.js +48 -47
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +41 -10
- package/dist/components/core/common/FilterComponent.js.map +1 -1
- package/dist/components/core/common/FilterComponent.tsx +1 -1
- package/dist/components/core/common/GroupingComponent.d.ts +54 -0
- package/dist/components/core/common/GroupingComponent.d.ts.map +1 -0
- package/dist/components/core/common/GroupingComponent.js +196 -0
- package/dist/components/core/common/GroupingComponent.js.map +1 -0
- package/dist/components/core/common/GroupingComponent.tsx +452 -0
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts +18 -1
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +146 -47
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +191 -18
- package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.d.ts +19 -0
- package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.js +90 -0
- package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.tsx +59 -0
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +7 -3
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +45 -40
- package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts +2 -0
- package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts.map +1 -0
- package/dist/components/core/filter/SolidOneToManyFilterElement.js +86 -0
- package/dist/components/core/filter/SolidOneToManyFilterElement.js.map +1 -0
- package/dist/components/core/filter/SolidOneToManyFilterElement.tsx +62 -0
- package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts +1 -0
- package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts.map +1 -1
- package/dist/components/core/filter/SolidVarInputsFilterElement.js +4 -1
- package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +10 -0
- package/dist/components/core/filter/fields/SolidRelationField.d.ts.map +1 -1
- package/dist/components/core/filter/fields/SolidRelationField.js +4 -2
- package/dist/components/core/filter/fields/SolidRelationField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidRelationField.tsx +4 -2
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts +4 -0
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -0
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +25 -0
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -0
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +60 -0
- package/dist/components/core/form/SolidFormFooter.js +4 -4
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +4 -4
- package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.js +11 -8
- package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.tsx +20 -8
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +26 -21
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +27 -17
- package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.d.ts +1 -0
- package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js +51 -0
- package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js.map +1 -1
- package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.ts +51 -0
- package/dist/components/core/kanban/SolidKanbanView.js +5 -5
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +5 -5
- package/dist/components/core/list/SolidListView.d.ts +12 -7
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +138 -150
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +84 -91
- package/dist/components/core/list/listViewRegistry.js.map +1 -1
- package/dist/components/core/list/listViewRegistry.ts +1 -2
- package/dist/components/core/tree/SolidTreeView.d.ts +38 -0
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -0
- package/dist/components/core/tree/SolidTreeView.js +1170 -0
- package/dist/components/core/tree/SolidTreeView.js.map +1 -0
- package/dist/components/core/tree/SolidTreeView.tsx +1603 -0
- package/dist/components/core/tree/treeViewRegistry.d.ts +7 -0
- package/dist/components/core/tree/treeViewRegistry.d.ts.map +1 -0
- package/dist/components/core/tree/treeViewRegistry.js +17 -0
- package/dist/components/core/tree/treeViewRegistry.js.map +1 -0
- package/dist/components/core/tree/treeViewRegistry.ts +23 -0
- package/dist/components/core/users/CreateUser.d.ts.map +1 -1
- package/dist/components/core/users/CreateUser.js +19 -6
- package/dist/components/core/users/CreateUser.js.map +1 -1
- package/dist/components/core/users/CreateUser.tsx +39 -0
- package/dist/helpers/helpers.d.ts +2 -0
- package/dist/helpers/helpers.d.ts.map +1 -1
- package/dist/helpers/helpers.js +3 -1
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/helpers/helpers.ts +4 -1
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +2 -0
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +6 -1
- package/dist/resources/globals.css +18 -4
- package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.js +1 -1
- package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.tsx +2 -1
- package/dist/routes/pages/admin/core/TreePage.d.ts +2 -0
- package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/TreePage.js +37 -0
- package/dist/routes/pages/admin/core/TreePage.js.map +1 -0
- package/dist/routes/pages/admin/core/TreePage.tsx +30 -0
- package/dist/routes/solidRoutes.d.ts.map +1 -1
- package/dist/routes/solidRoutes.js +2 -0
- package/dist/routes/solidRoutes.js.map +1 -1
- package/dist/routes/solidRoutes.tsx +3 -1
- package/dist/routes/types.d.ts +1 -1
- package/dist/routes/types.d.ts.map +1 -1
- package/dist/routes/types.js.map +1 -1
- package/dist/routes/types.ts +1 -0
- package/dist/types/index.d.ts +8 -2
- package/dist/types/solid-core.d.ts +40 -0
- package/package.json +1 -1
|
@@ -63,7 +63,7 @@ import { Divider } from "primereact/divider";
|
|
|
63
63
|
import { usePathname } from "../../../hooks/usePathname";
|
|
64
64
|
import { useRouter } from "../../../hooks/useRouter";
|
|
65
65
|
import { useSearchParams } from "../../../hooks/useSearchParams";
|
|
66
|
-
import {
|
|
66
|
+
import { getFilterObjectFromLocalStorage } from "../list/SolidListView";
|
|
67
67
|
import { InputText } from "primereact/inputtext";
|
|
68
68
|
import { createSolidEntityApi } from "../../../redux/api/solidEntityApi";
|
|
69
69
|
import qs from "qs";
|
|
@@ -71,6 +71,7 @@ import { SolidSaveCustomFilterForm } from "./SolidSaveCustomFilterForm";
|
|
|
71
71
|
import { ERROR_MESSAGES } from "../../../constants/error-messages";
|
|
72
72
|
import { hydrateRelationRules } from "../../../helpers/hydrateRelationRules";
|
|
73
73
|
import { useSession } from '../../../hooks/useSession';
|
|
74
|
+
import GroupingComponent from "./GroupingComponent";
|
|
74
75
|
var getRandomInt = function (min, max) {
|
|
75
76
|
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
76
77
|
};
|
|
@@ -374,7 +375,7 @@ export var mergeSearchAndCustomFilters = function (transformedFilter, newFilter,
|
|
|
374
375
|
// Return the combined filters object
|
|
375
376
|
return filters;
|
|
376
377
|
};
|
|
377
|
-
export var mergeAllDiffFilters = function (customFilter, searchFilter, savedFilter, preDefinedFilter) {
|
|
378
|
+
export var mergeAllDiffFilters = function (customFilter, searchFilter, savedFilter, preDefinedFilter, groupingRules, aggregationRules) {
|
|
378
379
|
var filters = {};
|
|
379
380
|
// Add only non-null filters
|
|
380
381
|
if (customFilter && Object.keys(customFilter).length > 0) {
|
|
@@ -389,6 +390,12 @@ export var mergeAllDiffFilters = function (customFilter, searchFilter, savedFilt
|
|
|
389
390
|
if (preDefinedFilter && Object.keys(preDefinedFilter).length > 0) {
|
|
390
391
|
filters["predefined_search_predicate"] = preDefinedFilter;
|
|
391
392
|
}
|
|
393
|
+
if (groupingRules && Object.keys(groupingRules).length > 0) {
|
|
394
|
+
filters["grouping_rules"] = groupingRules;
|
|
395
|
+
}
|
|
396
|
+
if (aggregationRules && Object.keys(aggregationRules).length > 0) {
|
|
397
|
+
filters["aggregation_rules"] = aggregationRules;
|
|
398
|
+
}
|
|
392
399
|
// Return the combined filters object
|
|
393
400
|
return filters;
|
|
394
401
|
};
|
|
@@ -460,7 +467,7 @@ var extractChips = function (node) {
|
|
|
460
467
|
};
|
|
461
468
|
export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
462
469
|
var _b, _c, _d, _e, _f, _g, _h;
|
|
463
|
-
var viewData = _a.viewData, handleApplyCustomFilter = _a.handleApplyCustomFilter, showSaveFilterPopup = _a.showSaveFilterPopup, setShowSaveFilterPopup = _a.setShowSaveFilterPopup, filterPredicates = _a.filterPredicates;
|
|
470
|
+
var viewData = _a.viewData, viewType = _a.viewType, handleApplyCustomFilter = _a.handleApplyCustomFilter, showSaveFilterPopup = _a.showSaveFilterPopup, setShowSaveFilterPopup = _a.setShowSaveFilterPopup, filterPredicates = _a.filterPredicates;
|
|
464
471
|
var defaultState = [
|
|
465
472
|
{
|
|
466
473
|
id: 1,
|
|
@@ -489,6 +496,17 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
489
496
|
]
|
|
490
497
|
}
|
|
491
498
|
];
|
|
499
|
+
var defaultAggregationRules = [
|
|
500
|
+
{
|
|
501
|
+
id: 1,
|
|
502
|
+
operator: "count",
|
|
503
|
+
fieldName: "id",
|
|
504
|
+
locked: true
|
|
505
|
+
}
|
|
506
|
+
];
|
|
507
|
+
var defaultGroupingRules = [
|
|
508
|
+
{ id: 1, fieldName: null, dateGrouping: null }
|
|
509
|
+
];
|
|
492
510
|
var _j = useState(defaultState), initialState = _j[0], setInitialState = _j[1];
|
|
493
511
|
var pathname = usePathname();
|
|
494
512
|
var searchParams = useSearchParams(); // Converts the query params to a string
|
|
@@ -501,43 +519,48 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
501
519
|
var _l = useState(null), customFilter = _l[0], setCustomFilter = _l[1];
|
|
502
520
|
var _m = useState([]), fields = _m[0], setFields = _m[1];
|
|
503
521
|
var _o = useState([]), searchableFields = _o[0], setSearchableFields = _o[1];
|
|
522
|
+
var _p = useState([]), groupableFields = _p[0], setGroupableFields = _p[1];
|
|
523
|
+
var _q = useState(defaultGroupingRules), groupingRules = _q[0], setGroupingRules = _q[1];
|
|
524
|
+
var _r = useState(defaultAggregationRules), aggregationRules = _r[0], setAggregationRules = _r[1];
|
|
504
525
|
// used to show the list of predefined searches
|
|
505
|
-
var
|
|
526
|
+
var _s = useState([]), predefinedSearches = _s[0], setPredefinedSearches = _s[1];
|
|
506
527
|
// used to open / close the custom fitler popup
|
|
507
|
-
var
|
|
528
|
+
var _t = useState(false), showGlobalSearchElement = _t[0], setShowGlobalSearchElement = _t[1];
|
|
529
|
+
// used to open / close the group fitler popup
|
|
530
|
+
var _u = useState(false), showGroupFilterElement = _u[0], setShowGroupFilterElement = _u[1];
|
|
508
531
|
// searchChips maintain the ui to display searched query
|
|
509
532
|
// searchFilter maintain the transformed filter of the searched query
|
|
510
|
-
var
|
|
511
|
-
var
|
|
533
|
+
var _v = useState([]), searchChips = _v[0], setSearchChips = _v[1];
|
|
534
|
+
var _w = useState(null), searchFilter = _w[0], setSearchFilter = _w[1];
|
|
512
535
|
// predefinedSearchChip maintain the ui to display predefined searches query
|
|
513
|
-
var
|
|
536
|
+
var _x = useState(null), predefinedSearchChip = _x[0], setPredefinedSearchChip = _x[1];
|
|
514
537
|
// state to maintain the text typed in the search input box
|
|
515
|
-
var
|
|
538
|
+
var _y = useState(""), inputValue = _y[0], setInputValue = _y[1];
|
|
516
539
|
// flag to prevent un necessary re renders
|
|
517
|
-
var
|
|
540
|
+
var _z = useState(false), hasSearched = _z[0], setHasSearched = _z[1];
|
|
518
541
|
// currentSavedFilterData is used to save the whole object of saved filter
|
|
519
|
-
var
|
|
520
|
-
var
|
|
521
|
-
var
|
|
522
|
-
var
|
|
523
|
-
var
|
|
524
|
-
var
|
|
525
|
-
var
|
|
526
|
-
var
|
|
542
|
+
var _0 = useState(), currentSavedFilterData = _0[0], setCurrentSavedFilterData = _0[1];
|
|
543
|
+
var _1 = useState(), currentSavedFilterQuery = _1[0], setCurrentSavedFilterQuery = _1[1];
|
|
544
|
+
var _2 = useState(), currentSavedFilterRules = _2[0], setCurrentSavedFilterRules = _2[1];
|
|
545
|
+
var _3 = useState(false), showSavedFilterComponent = _3[0], setShowSavedFilterComponent = _3[1];
|
|
546
|
+
var _4 = useState(), savedFilterTobeDeleted = _4[0], setSavedFilterTobeDeleted = _4[1];
|
|
547
|
+
var _5 = useState(false), isDeleteSQDialogVisible = _5[0], setIsDeleteSQDialogVisible = _5[1];
|
|
548
|
+
var _6 = useState(), savedFilterQueryString = _6[0], setSavedFilterQueryString = _6[1];
|
|
549
|
+
var _7 = useState(false), showOverlay = _7[0], setShowOverlay = _7[1];
|
|
527
550
|
var overlayRef = useRef(null);
|
|
528
|
-
var
|
|
551
|
+
var _8 = useSession(), session = _8.data, status = _8.status;
|
|
529
552
|
var user = session === null || session === void 0 ? void 0 : session.user;
|
|
530
|
-
var
|
|
531
|
-
var
|
|
532
|
-
var
|
|
533
|
-
var
|
|
553
|
+
var _9 = useState(0), refreshKey = _9[0], setRefreshKey = _9[1];
|
|
554
|
+
var _10 = useState(null), predefinedSearchBaseFilter = _10[0], setPredefinedSearchBaseFilter = _10[1];
|
|
555
|
+
var _11 = useState([]), savedFilters = _11[0], setSavedFilters = _11[1];
|
|
556
|
+
var _12 = useState(false), savedFiltersLoaded = _12[0], setSavedFiltersLoaded = _12[1];
|
|
534
557
|
var entityApi = createSolidEntityApi("savedFilters");
|
|
535
558
|
var useCreateSolidEntityMutation = entityApi.useCreateSolidEntityMutation, useDeleteSolidEntityMutation = entityApi.useDeleteSolidEntityMutation, useGetSolidEntityByIdQuery = entityApi.useGetSolidEntityByIdQuery, useUpdateSolidEntityMutation = entityApi.useUpdateSolidEntityMutation, useLazyGetSolidEntitiesQuery = entityApi.useLazyGetSolidEntitiesQuery;
|
|
536
|
-
var
|
|
537
|
-
var
|
|
538
|
-
var
|
|
539
|
-
var
|
|
540
|
-
var
|
|
559
|
+
var _13 = useCreateSolidEntityMutation(), createEntity = _13[0], _14 = _13[1], isEntityCreateSuccess = _14.isSuccess, isEntityCreateError = _14.isError, entityCreateError = _14.error;
|
|
560
|
+
var _15 = useUpdateSolidEntityMutation(), updateEntity = _15[0], _16 = _15[1], isEntityUpdateSuceess = _16.isSuccess, isEntityUpdateError = _16.isError, entityUpdateError = _16.error;
|
|
561
|
+
var _17 = useDeleteSolidEntityMutation(), deleteEntity = _17[0], _18 = _17[1], isEntityDeleteSuceess = _18.isSuccess, isEntityDeleteError = _18.isError, entityDeleteError = _18.error;
|
|
562
|
+
var _19 = useLazyGetSolidEntitiesQuery(), triggerGetSolidEntities = _19[0], _20 = _19[1], solidEntityListViewData = _20.data, isSavedFilterLoading = _20.isLoading, error = _20.error;
|
|
563
|
+
var _21 = useState(0), savedFilterFetchDataRefreshKey = _21[0], setSavedFilterFetchDataRefreshKey = _21[1];
|
|
541
564
|
useEffect(function () {
|
|
542
565
|
var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
543
566
|
var filters, queryData, queryString, savedFilter;
|
|
@@ -604,14 +627,15 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
604
627
|
}); });
|
|
605
628
|
useEffect(function () {
|
|
606
629
|
var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
607
|
-
var searchChips, customChips, queryObject, currentSavedFilterId_1, currentSavedFilterData_1, filterJson, finalSavedFilter, formattedChips, rules, hydratedRules;
|
|
608
|
-
|
|
609
|
-
|
|
630
|
+
var searchChips, customChips, queryObject, currentSavedFilterId_1, currentSavedFilterData_1, filterJson, finalSavedFilter, formattedChips, rules, hydratedRules, hasGroupingRules, layoutGroupBy, initialGroupingRules;
|
|
631
|
+
var _a, _b, _c, _d, _e;
|
|
632
|
+
return __generator(this, function (_f) {
|
|
633
|
+
switch (_f.label) {
|
|
610
634
|
case 0:
|
|
611
635
|
if (!savedFiltersLoaded) return [3 /*break*/, 3];
|
|
612
636
|
if (activeSavedFilter && savedFilters.length === 0)
|
|
613
637
|
return [2 /*return*/];
|
|
614
|
-
queryObject =
|
|
638
|
+
queryObject = getFilterObjectFromLocalStorage();
|
|
615
639
|
// const savedQuery = parsedSearchParams?.get("savedQuery");
|
|
616
640
|
if (activeSavedFilter) {
|
|
617
641
|
currentSavedFilterId_1 = Number(activeSavedFilter);
|
|
@@ -645,13 +669,34 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
645
669
|
rules = transformFiltersToRules(customChips);
|
|
646
670
|
return [4 /*yield*/, hydrateRelationRules([rules], viewData)];
|
|
647
671
|
case 1:
|
|
648
|
-
hydratedRules =
|
|
672
|
+
hydratedRules = _f.sent();
|
|
649
673
|
setFilterRules(hydratedRules);
|
|
650
|
-
|
|
674
|
+
_f.label = 2;
|
|
651
675
|
case 2:
|
|
676
|
+
hasGroupingRules = ((_a = queryObject === null || queryObject === void 0 ? void 0 : queryObject.grouping_rules) === null || _a === void 0 ? void 0 : _a.some(function (rule) { return rule.fieldName !== null; }));
|
|
677
|
+
if (hasGroupingRules) {
|
|
678
|
+
setGroupingRules(queryObject === null || queryObject === void 0 ? void 0 : queryObject.grouping_rules);
|
|
679
|
+
}
|
|
680
|
+
else {
|
|
681
|
+
layoutGroupBy = (_e = (_d = (_c = (_b = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _b === void 0 ? void 0 : _b.solidView) === null || _c === void 0 ? void 0 : _c.layout) === null || _d === void 0 ? void 0 : _d.attrs) === null || _e === void 0 ? void 0 : _e.groupBy;
|
|
682
|
+
if (Array.isArray(layoutGroupBy) && layoutGroupBy.length > 0) {
|
|
683
|
+
initialGroupingRules = layoutGroupBy.map(function (groupStr, index) {
|
|
684
|
+
var _a = groupStr.split(":"), fieldName = _a[0], dateGrouping = _a[1];
|
|
685
|
+
return {
|
|
686
|
+
id: Date.now() + index,
|
|
687
|
+
fieldName: fieldName || null,
|
|
688
|
+
dateGrouping: dateGrouping || null
|
|
689
|
+
};
|
|
690
|
+
});
|
|
691
|
+
setGroupingRules(initialGroupingRules);
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
if ((queryObject === null || queryObject === void 0 ? void 0 : queryObject.aggregation_rules) && (queryObject === null || queryObject === void 0 ? void 0 : queryObject.aggregation_rules) !== aggregationRules) {
|
|
695
|
+
setAggregationRules(queryObject === null || queryObject === void 0 ? void 0 : queryObject.aggregation_rules);
|
|
696
|
+
}
|
|
652
697
|
setRefreshKey(function (prev) { return prev + 1; });
|
|
653
698
|
setHasSearched(true);
|
|
654
|
-
|
|
699
|
+
_f.label = 3;
|
|
655
700
|
case 3: return [2 /*return*/];
|
|
656
701
|
}
|
|
657
702
|
});
|
|
@@ -706,7 +751,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
706
751
|
var layoutChildren = (_f = (_e = (_d = (_c = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _c === void 0 ? void 0 : _c.solidView) === null || _d === void 0 ? void 0 : _d.layout) === null || _e === void 0 ? void 0 : _e.children) !== null && _f !== void 0 ? _f : [];
|
|
707
752
|
var fieldElements_1 = extractFields(layoutChildren);
|
|
708
753
|
var fieldsList = Object.entries(fieldsData !== null && fieldsData !== void 0 ? fieldsData : {}).map(function (_a) {
|
|
709
|
-
var _b, _c, _d, _e, _f;
|
|
754
|
+
var _b, _c, _d, _e, _f, _g;
|
|
710
755
|
var key = _a[0], value = _a[1];
|
|
711
756
|
var viewFieldElement = fieldElements_1.find(function (f) { var _a; return ((_a = f === null || f === void 0 ? void 0 : f.attrs) === null || _a === void 0 ? void 0 : _a.name) === key; });
|
|
712
757
|
return {
|
|
@@ -717,6 +762,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
717
762
|
matchMode: (_b = viewFieldElement === null || viewFieldElement === void 0 ? void 0 : viewFieldElement.attrs) === null || _b === void 0 ? void 0 : _b.searchMatchMode,
|
|
718
763
|
searchField: (_d = (_c = viewFieldElement === null || viewFieldElement === void 0 ? void 0 : viewFieldElement.attrs) === null || _c === void 0 ? void 0 : _c.searchField) !== null && _d !== void 0 ? _d : null,
|
|
719
764
|
isSearchable: (_f = (_e = viewFieldElement === null || viewFieldElement === void 0 ? void 0 : viewFieldElement.attrs) === null || _e === void 0 ? void 0 : _e.isSearchable) !== null && _f !== void 0 ? _f : false,
|
|
765
|
+
relationType: (_g = value === null || value === void 0 ? void 0 : value.relationType) !== null && _g !== void 0 ? _g : null,
|
|
720
766
|
};
|
|
721
767
|
});
|
|
722
768
|
setFields(fieldsList);
|
|
@@ -739,7 +785,30 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
739
785
|
return false;
|
|
740
786
|
}
|
|
741
787
|
});
|
|
742
|
-
|
|
788
|
+
var groupableFieldsList = fieldsList.filter(function (field) {
|
|
789
|
+
switch (field.type) {
|
|
790
|
+
case "relation":
|
|
791
|
+
// Only include relation if searchField is present
|
|
792
|
+
if (field.relationType === "many-to-one")
|
|
793
|
+
return true;
|
|
794
|
+
return false;
|
|
795
|
+
case "longText":
|
|
796
|
+
case "shortText":
|
|
797
|
+
case "selectionStatic":
|
|
798
|
+
case "selectionDynamic":
|
|
799
|
+
case "int":
|
|
800
|
+
case "float":
|
|
801
|
+
case "boolean":
|
|
802
|
+
case "date":
|
|
803
|
+
case "datetime":
|
|
804
|
+
return true;
|
|
805
|
+
// case "selectionStatic":
|
|
806
|
+
case "computed":
|
|
807
|
+
return field.ormType === "varchar";
|
|
808
|
+
default:
|
|
809
|
+
return false;
|
|
810
|
+
}
|
|
811
|
+
});
|
|
743
812
|
// Optionally map to a minimal structure if needed for UI
|
|
744
813
|
var finalSearchableFieldsList = searchableFieldsList.map(function (field) {
|
|
745
814
|
var _a;
|
|
@@ -750,8 +819,21 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
750
819
|
matchMode: field.matchMode
|
|
751
820
|
});
|
|
752
821
|
});
|
|
753
|
-
// console.log("finalSearchableFieldsList", finalSearchableFieldsList);
|
|
754
822
|
setSearchableFields(finalSearchableFieldsList);
|
|
823
|
+
var finalGroupableFieldsList = groupableFieldsList.map(function (field) {
|
|
824
|
+
var _a;
|
|
825
|
+
return ({
|
|
826
|
+
fieldName: field.value,
|
|
827
|
+
displayName: field.name,
|
|
828
|
+
searchField: (_a = field.searchField) !== null && _a !== void 0 ? _a : "",
|
|
829
|
+
matchMode: field.matchMode,
|
|
830
|
+
type: field.type,
|
|
831
|
+
ormType: field.ormType,
|
|
832
|
+
relationType: field.relationType,
|
|
833
|
+
computedFieldValueType: field.computedFieldValueType
|
|
834
|
+
});
|
|
835
|
+
});
|
|
836
|
+
setGroupableFields(finalGroupableFieldsList);
|
|
755
837
|
var predefinedSearchesList = ((_k = (_j = (_h = (_g = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _g === void 0 ? void 0 : _g.solidView) === null || _h === void 0 ? void 0 : _h.layout) === null || _j === void 0 ? void 0 : _j.attrs) === null || _k === void 0 ? void 0 : _k.predefinedSearches) || [];
|
|
756
838
|
setPredefinedSearches(predefinedSearchesList);
|
|
757
839
|
}
|
|
@@ -829,10 +911,15 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
829
911
|
setHasSearched(true);
|
|
830
912
|
setRefreshKey(function (prev) { return prev + 1; });
|
|
831
913
|
};
|
|
914
|
+
var applyGrouping = function (groupingRules, aggregationRules) {
|
|
915
|
+
setHasSearched(true);
|
|
916
|
+
setShowGroupFilterElement(false);
|
|
917
|
+
setGroupingRules(groupingRules);
|
|
918
|
+
setAggregationRules(aggregationRules);
|
|
919
|
+
setRefreshKey(function (prev) { return prev + 1; });
|
|
920
|
+
};
|
|
832
921
|
useEffect(function () {
|
|
833
922
|
if (refreshKey > 0 && hasSearched) {
|
|
834
|
-
console.log("refres", refreshKey);
|
|
835
|
-
console.log("hasSearched", hasSearched);
|
|
836
923
|
var formattedChips = {
|
|
837
924
|
$and: searchChips.map(function (chip) {
|
|
838
925
|
var _a;
|
|
@@ -849,7 +936,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
849
936
|
var finalSavedFilter = currentSavedFilterQuery;
|
|
850
937
|
var finalPredefinedFilter = predefinedSearchBaseFilter;
|
|
851
938
|
var finalCustomFilter = customFilter;
|
|
852
|
-
var finalFilter = mergeAllDiffFilters(finalCustomFilter, finalSearchFilter, finalSavedFilter, finalPredefinedFilter);
|
|
939
|
+
var finalFilter = mergeAllDiffFilters(finalCustomFilter, finalSearchFilter, finalSavedFilter, finalPredefinedFilter, groupingRules, aggregationRules);
|
|
853
940
|
handleApplyCustomFilter(finalFilter, true);
|
|
854
941
|
setHasSearched(false);
|
|
855
942
|
// }
|
|
@@ -1076,6 +1163,15 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1076
1163
|
fn();
|
|
1077
1164
|
}, children: [_jsx("rect", { width: "20", height: "20", rx: "4", fill: "#722ED1" }), _jsx("path", { d: "M8.66667 15V13.3333H11.3333V15H8.66667ZM6 10.8333V9.16667H14V10.8333H6ZM4 6.66667V5H16V6.66667H4Z", fill: "white" })] }), _jsx("span", { children: _jsx("strong", { children: currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name }) })] }), _jsx("a", { onClick: removeSavedFilter, style: { cursor: "pointer" }, children: _jsx("i", { className: "pi pi-times ml-1" }) })] }) }));
|
|
1078
1165
|
};
|
|
1166
|
+
var removeGrouping = function () {
|
|
1167
|
+
setGroupingRules(defaultGroupingRules);
|
|
1168
|
+
setAggregationRules(defaultAggregationRules);
|
|
1169
|
+
setHasSearched(true);
|
|
1170
|
+
setRefreshKey(function (prev) { return prev + 1; });
|
|
1171
|
+
};
|
|
1172
|
+
var GroupingChip = function () {
|
|
1173
|
+
return (_jsx("li", { className: "solid-global-search-chip", children: _jsxs("div", { className: "flex align-items-center gap-2", children: [_jsxs("div", { className: "flex align-items-center gap-2", children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", onClick: function () { return setShowGroupFilterElement(true); }, children: [_jsx("rect", { width: "20", height: "20", rx: "4", fill: "#722ED1" }), _jsx("path", { d: "M8.66667 15V13.3333H11.3333V15H8.66667ZM6 10.8333V9.16667H14V10.8333H6ZM4 6.66667V5H16V6.66667H4Z", fill: "white" })] }), _jsxs("span", { children: [_jsx("strong", { children: groupingRules.length }), " Grouping rules applied"] })] }), _jsx("a", { onClick: removeGrouping, style: { cursor: "pointer" }, children: _jsx("i", { className: "pi pi-times ml-1" }) })] }) }));
|
|
1174
|
+
};
|
|
1079
1175
|
//saved filter related code end
|
|
1080
1176
|
// search related code start
|
|
1081
1177
|
var handleRemoveChipGroup = function (columnName) {
|
|
@@ -1139,7 +1235,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1139
1235
|
return;
|
|
1140
1236
|
}
|
|
1141
1237
|
try {
|
|
1142
|
-
// Replace {{search}} placeholders with actual search value
|
|
1238
|
+
// Replace {{ search }} placeholders with actual search value
|
|
1143
1239
|
var processedFilter = replacePlaceholders(predefinedSearch.filters, inputValue.trim());
|
|
1144
1240
|
// Clear all existing filters and searches
|
|
1145
1241
|
// setSearchChips([]);
|
|
@@ -1178,7 +1274,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1178
1274
|
};
|
|
1179
1275
|
var PredefinedSearchChip = function () { return (_jsx("li", { children: _jsxs("div", { className: "search-filter-chip-type", children: [_jsxs("div", { className: "flex align-items-center gap-2", children: [_jsxs("strong", { children: [predefinedSearchChip === null || predefinedSearchChip === void 0 ? void 0 : predefinedSearchChip.name, ":"] }), _jsx("span", { className: "custom-chip-value", children: predefinedSearchChip === null || predefinedSearchChip === void 0 ? void 0 : predefinedSearchChip.value })] }), _jsx("i", { className: "pi pi-times ml-1", style: { cursor: "pointer" }, onClick: removePredefinedSearchChip })] }) })); };
|
|
1180
1276
|
// predefinedfilter related code end
|
|
1181
|
-
return (_jsx(_Fragment, { children: _jsxs("div", { className: "flex justify-content-center solid-custom-filter-wrapper relative", children: [_jsx("div", { className: "solid-global-search-element", children: _jsxs("ul", { className: "", children: [currentSavedFilterData && _jsx(SavedFiltersChip, {}), predefinedSearchChip && _jsx(PredefinedSearchChip, {}), customFilter && _jsx(CustomChip, {}), _jsx(SearchChip, {}), _jsx("li", { ref: chipsRef, children: _jsxs("div", { className: "relative solid-global-search-element-wrapper", children: [_jsx(InputText, { value: inputValue || "", placeholder: "Search.", onChange: function (e) {
|
|
1277
|
+
return (_jsx(_Fragment, { children: _jsxs("div", { className: "flex justify-content-center solid-custom-filter-wrapper relative", children: [_jsx("div", { className: "solid-global-search-element", children: _jsxs("ul", { className: "", children: [currentSavedFilterData && _jsx(SavedFiltersChip, {}), predefinedSearchChip && _jsx(PredefinedSearchChip, {}), customFilter && _jsx(CustomChip, {}), groupingRules.length > 0 && groupingRules.some(function (r) { return r.fieldName !== null; }) && _jsx(GroupingChip, {}), _jsx(SearchChip, {}), _jsx("li", { ref: chipsRef, children: _jsxs("div", { className: "relative solid-global-search-element-wrapper", children: [_jsx(InputText, { value: inputValue || "", placeholder: "Search.", onChange: function (e) {
|
|
1182
1278
|
setInputValue(e.target.value);
|
|
1183
1279
|
setShowOverlay(true);
|
|
1184
1280
|
}, onFocus: function () {
|
|
@@ -1218,10 +1314,13 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1218
1314
|
_jsxs(_Fragment, { children: [_jsx("div", { className: "p-3 text-base", children: "Search Here..." }), _jsx(Divider, { className: "m-0" })] }), savedFilters.length > 0 &&
|
|
1219
1315
|
_jsxs(_Fragment, { children: [_jsxs("div", { className: "p-3", children: [_jsx("p", { className: "font-medium", children: "Saved Filters" }), _jsx("div", { className: "flex flex-column gap-2", children: savedFilters.map(function (savedfilter) {
|
|
1220
1316
|
return _jsx(SavedFilterList, { savedfilter: savedfilter, activeSavedFilter: activeSavedFilter, applySavedFilter: applySavedFilter, openSavedCustomFilter: openSavedCustomFilter, setSavedFilterTobeDeleted: setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible: setIsDeleteSQDialogVisible });
|
|
1221
|
-
}) })] }), _jsx(Divider, { className: "m-0" })] }),
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1317
|
+
}) })] }), _jsx(Divider, { className: "m-0" })] }), _jsxs("div", { className: "px-2 py-1 flex justify-content-between", children: [_jsx(Button, { text: true, size: "small", label: "Custom Filter", iconPos: "left", icon: 'pi pi-plus', onClick: function () { return setShowGlobalSearchElement(true); }, className: "font-bold" }), viewType === "tree" &&
|
|
1318
|
+
_jsx(Button, { text: true, size: "small", label: "Grouping", iconPos: "left", icon: 'pi pi-plus', onClick: function () { return setShowGroupFilterElement(true); }, className: "font-bold" })] })] })), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showGlobalSearchElement, style: { width: '65vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showGlobalSearchElement)
|
|
1319
|
+
return; setShowGlobalSearchElement(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Add Custom Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowGlobalSearchElement(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-2 lg:p-2", children: fields.length > 0 &&
|
|
1320
|
+
_jsx(FilterComponent, { viewData: viewData, fields: fields, filterRules: filterRules, setFilterRules: setFilterRules, transformFilterRules: transformCustomFilterRules, closeDialog: function () { return setShowGlobalSearchElement(false); } }) })] }), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showGroupFilterElement, style: { width: '20vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showGroupFilterElement)
|
|
1321
|
+
return; setShowGroupFilterElement(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowGroupFilterElement(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-2 lg:p-2", children: groupableFields.length > 0 &&
|
|
1322
|
+
_jsx(GroupingComponent, { viewData: viewData, fields: groupableFields, groupingRules: groupingRules, setGroupingRules: setGroupingRules, aggregationRules: aggregationRules, setAggregationRules: setAggregationRules, applyGrouping: applyGrouping, closeDialog: function () { return setShowGroupFilterElement(false); } }) })] }), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showSavedFilterComponent, style: { width: '65vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showSavedFilterComponent)
|
|
1323
|
+
return; setShowSavedFilterComponent(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Saved Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowSavedFilterComponent(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-2 lg:p-2", children: fields.length > 0 &&
|
|
1225
1324
|
_jsx(FilterComponent, { viewData: viewData, fields: fields, filterRules: currentSavedFilterRules, setFilterRules: setCurrentSavedFilterRules, transformFilterRules: transformSavedFilterRules, closeDialog: function () { return setShowSavedFilterComponent(false); } }) })] }), _jsx(Dialog, { header: "Save Custom Filter", className: "solid-custom-filter-dialog", visible: showSaveFilterPopup, style: { width: 500 }, onHide: function () { if (!showSaveFilterPopup)
|
|
1226
1325
|
return; setShowSaveFilterPopup(false); }, children: _jsx(SolidSaveCustomFilterForm, { currentSavedFilterData: currentSavedFilterData, handleSaveFilter: handleSaveFilter, closeDialog: setShowSaveFilterPopup }) }), _jsx(Dialog, { visible: isDeleteSQDialogVisible, header: "Confirm Delete", modal: true, className: "solid-confirm-dialog", footer: function () { return (_jsxs("div", { className: "flex justify-content-center", children: [_jsx(Button, { label: "Yes", icon: "pi pi-check", className: 'small-button', severity: "danger", autoFocus: true, onClick: deleteSavedFilter }), _jsx(Button, { label: "No", icon: "pi pi-times", className: 'small-button', onClick: function () { return setIsDeleteSQDialogVisible(false); } })] })); }, onHide: function () { return setIsDeleteSQDialogVisible(false); }, children: _jsxs("p", { children: ["Are you sure you want to delete the ", currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name, " saved query?"] }) })] }) }));
|
|
1227
1326
|
});
|