@solidxai/core-ui 0.1.17 → 0.1.18-beta.1
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/card/SolidCardView.d.ts +1 -0
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +2 -2
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +3 -0
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +342 -114
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +285 -47
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +1 -1
- package/dist/components/core/json/SolidJsonEditor.css +89 -0
- package/dist/components/core/kanban/SolidKanbanView.d.ts +1 -0
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +3 -1
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +4 -1
- package/dist/components/core/list/SolidListView.d.ts +1 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +2 -1
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +3 -0
- package/dist/components/core/tree/SolidTreeView.d.ts +3 -0
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +7 -1
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +10 -0
- package/dist/constants/error-messages.d.ts +4 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +4 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/error-messages.ts +4 -0
- package/dist/resources/solid-custom.css +3 -18
- package/dist/resources/themes/solid-dark-enterprise/theme.css +4 -481
- package/dist/resources/themes/solid-dark-modern/theme.css +1 -167
- package/dist/resources/themes/solid-light-enterprise/theme.css +4 -486
- package/dist/resources/themes/solid-light-modern/theme.css +7 -204
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +1 -1
- package/package.json +1 -1
|
@@ -56,10 +56,12 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
56
56
|
};
|
|
57
57
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
58
58
|
import React, { forwardRef, useCallback, useEffect, useId, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
59
|
+
import { useDispatch } from "react-redux";
|
|
59
60
|
import FilterComponent, { FilterOperator, FilterRuleType } from "../../../components/core/common/FilterComponent";
|
|
60
61
|
import { toTitleCase } from "../../../helpers/helpers";
|
|
61
62
|
import { clearFilterObjectFromLocalStorage, getFilterObjectFromLocalStorage, setFilterObjectToLocalStorage, } from "./globalSearchPersistence";
|
|
62
63
|
import { createSolidEntityApi } from "../../../redux/api/solidEntityApi";
|
|
64
|
+
import { showToast } from "../../../redux/features/toastSlice";
|
|
63
65
|
import qs from "qs";
|
|
64
66
|
import { SolidSaveCustomFilterForm } from "./SolidSaveCustomFilterForm";
|
|
65
67
|
import { ERROR_MESSAGES } from "../../../constants/error-messages";
|
|
@@ -410,12 +412,17 @@ export var mergeAllDiffFilters = function (customFilter, searchFilter, savedFilt
|
|
|
410
412
|
return filters;
|
|
411
413
|
};
|
|
412
414
|
var SavedFilterList = function (_a) {
|
|
413
|
-
var savedfilter = _a.savedfilter, activeSavedFilterReference = _a.activeSavedFilterReference, applySavedFilter = _a.applySavedFilter, openSavedCustomFilter = _a.openSavedCustomFilter, setSavedFilterTobeDeleted = _a.setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible = _a.setIsDeleteSQDialogVisible, isFocused = _a.isFocused, onMouseEnter = _a.onMouseEnter, optionId = _a.optionId;
|
|
414
|
-
var isActive =
|
|
415
|
-
?
|
|
416
|
-
:
|
|
415
|
+
var savedfilter = _a.savedfilter, activeSavedFilterReference = _a.activeSavedFilterReference, activeSavedFilterReferences = _a.activeSavedFilterReferences, applySavedFilter = _a.applySavedFilter, openSavedCustomFilter = _a.openSavedCustomFilter, setSavedFilterTobeDeleted = _a.setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible = _a.setIsDeleteSQDialogVisible, isFocused = _a.isFocused, onMouseEnter = _a.onMouseEnter, optionId = _a.optionId;
|
|
416
|
+
var isActive = activeSavedFilterReferences
|
|
417
|
+
? activeSavedFilterReferences.includes((savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.systemKey) ? "system:".concat(savedfilter.systemKey) : "id:".concat(savedfilter.id))
|
|
418
|
+
: (savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.systemKey)
|
|
419
|
+
? activeSavedFilterReference === savedfilter.systemKey
|
|
420
|
+
: String(activeSavedFilterReference) === String(savedfilter.id);
|
|
417
421
|
return (_jsxs("div", { className: "solid-saved-filter-item", onMouseEnter: onMouseEnter, children: [_jsx("div", { className: "solid-saved-filter-main-wrap", children: _jsx(SolidButton, { variant: "ghost", size: "sm", className: "solid-saved-filter-main w-full ".concat(isActive ? "is-active" : "", " ").concat(isFocused ? "solid-search-overlay-option-active" : ""), id: optionId, role: "option", "aria-selected": isFocused, "aria-label": "".concat(savedfilter.name).concat(isActive ? ", applied" : ""), onMouseDown: function (e) {
|
|
418
422
|
e.preventDefault();
|
|
423
|
+
e.stopPropagation();
|
|
424
|
+
}, onClick: function (e) {
|
|
425
|
+
e.stopPropagation();
|
|
419
426
|
applySavedFilter(savedfilter);
|
|
420
427
|
}, title: savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.description, children: _jsxs("span", { className: "solid-search-overlay-option-content", children: [_jsx("span", { className: "solid-search-overlay-option-icon", "aria-hidden": "true", children: _jsx(Bookmark, { size: 15 }) }), _jsxs("span", { className: "solid-search-overlay-option-copy", children: [_jsx("span", { className: "solid-search-overlay-option-title", children: savedfilter.name }), (savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.description) && (_jsx("span", { className: "solid-search-overlay-option-description", children: savedfilter.description }))] }), isActive && (_jsx("span", { className: "solid-search-overlay-option-check", "aria-hidden": "true", children: _jsx(Check, { size: 14 }) }))] }) }) }), _jsx("div", { className: "solid-saved-filter-actions", children: savedfilter.isSeeded !== true && !savedfilter.systemKey &&
|
|
421
428
|
_jsxs(_Fragment, { children: [_jsx(SolidButton, { variant: "outline", size: "sm", className: "solid-saved-filter-icon-btn", onMouseDown: function (e) {
|
|
@@ -491,7 +498,8 @@ var areFilterStateValuesEqual = function (left, right) {
|
|
|
491
498
|
};
|
|
492
499
|
export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
493
500
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
|
|
494
|
-
var viewData = _a.viewData, viewType = _a.viewType, handleApplyCustomFilter = _a.handleApplyCustomFilter, showSaveFilterPopup = _a.showSaveFilterPopup, setShowSaveFilterPopup = _a.setShowSaveFilterPopup, filterPredicates = _a.filterPredicates;
|
|
501
|
+
var viewData = _a.viewData, viewType = _a.viewType, handleApplyCustomFilter = _a.handleApplyCustomFilter, showSaveFilterPopup = _a.showSaveFilterPopup, setShowSaveFilterPopup = _a.setShowSaveFilterPopup, filterPredicates = _a.filterPredicates, _2 = _a.allowMultipleSavedFilters, allowMultipleSavedFilters = _2 === void 0 ? false : _2;
|
|
502
|
+
var dispatch = useDispatch();
|
|
495
503
|
var overlayInstanceId = useId();
|
|
496
504
|
var overlayListboxId = "".concat(overlayInstanceId, "-search-options");
|
|
497
505
|
var getOverlayOptionId = function (index) { return "".concat(overlayInstanceId, "-search-option-").concat(index); };
|
|
@@ -534,50 +542,52 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
534
542
|
var defaultGroupingRules = [
|
|
535
543
|
{ id: 1, fieldName: null, dateGrouping: null }
|
|
536
544
|
];
|
|
537
|
-
var
|
|
545
|
+
var _3 = useState(defaultState), initialState = _3[0], setInitialState = _3[1];
|
|
538
546
|
var searchableEntityLabel = ((_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.displayName) ||
|
|
539
547
|
((_f = (_e = (_d = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _d === void 0 ? void 0 : _d.solidView) === null || _e === void 0 ? void 0 : _e.model) === null || _f === void 0 ? void 0 : _f.displayName) ||
|
|
540
548
|
"records";
|
|
541
549
|
var chipsRef = useRef(null);
|
|
542
550
|
// filterRules is used to maintian the ui of custom filter
|
|
543
551
|
// customFilter is used to maintian the transformed filter object of custom filter
|
|
544
|
-
var
|
|
545
|
-
var
|
|
546
|
-
var
|
|
547
|
-
var
|
|
548
|
-
var
|
|
549
|
-
var
|
|
550
|
-
var
|
|
552
|
+
var _4 = useState(initialState), filterRules = _4[0], setFilterRules = _4[1];
|
|
553
|
+
var _5 = useState(null), customFilter = _5[0], setCustomFilter = _5[1];
|
|
554
|
+
var _6 = useState([]), fields = _6[0], setFields = _6[1];
|
|
555
|
+
var _7 = useState([]), searchableFields = _7[0], setSearchableFields = _7[1];
|
|
556
|
+
var _8 = useState([]), groupableFields = _8[0], setGroupableFields = _8[1];
|
|
557
|
+
var _9 = useState(defaultGroupingRules), groupingRules = _9[0], setGroupingRules = _9[1];
|
|
558
|
+
var _10 = useState(defaultAggregationRules), aggregationRules = _10[0], setAggregationRules = _10[1];
|
|
551
559
|
// used to show the list of predefined searches
|
|
552
|
-
var
|
|
560
|
+
var _11 = useState([]), predefinedSearches = _11[0], setPredefinedSearches = _11[1];
|
|
553
561
|
// used to open / close the custom fitler popup
|
|
554
|
-
var
|
|
562
|
+
var _12 = useState(false), showGlobalSearchElement = _12[0], setShowGlobalSearchElement = _12[1];
|
|
555
563
|
// used to open / close the group fitler popup
|
|
556
|
-
var
|
|
564
|
+
var _13 = useState(false), showGroupFilterElement = _13[0], setShowGroupFilterElement = _13[1];
|
|
557
565
|
// searchChips maintain the ui to display searched query
|
|
558
566
|
// searchFilter maintain the transformed filter of the searched query
|
|
559
|
-
var
|
|
560
|
-
var
|
|
567
|
+
var _14 = useState([]), searchChips = _14[0], setSearchChips = _14[1];
|
|
568
|
+
var _15 = useState(null), searchFilter = _15[0], setSearchFilter = _15[1];
|
|
561
569
|
// predefinedSearchChip maintain the ui to display predefined searches query
|
|
562
|
-
var
|
|
570
|
+
var _16 = useState(null), predefinedSearchChip = _16[0], setPredefinedSearchChip = _16[1];
|
|
563
571
|
// state to maintain the text typed in the search input box
|
|
564
|
-
var
|
|
565
|
-
var
|
|
572
|
+
var _17 = useState(""), inputValue = _17[0], setInputValue = _17[1];
|
|
573
|
+
var _18 = useState(-1), focusedIndex = _18[0], setFocusedIndex = _18[1];
|
|
566
574
|
// flag to prevent un necessary re renders
|
|
567
|
-
var
|
|
575
|
+
var _19 = useState(false), hasSearched = _19[0], setHasSearched = _19[1];
|
|
568
576
|
// currentSavedFilterData is used to save the whole object of saved filter
|
|
569
|
-
var
|
|
570
|
-
var
|
|
571
|
-
var
|
|
572
|
-
var
|
|
573
|
-
var
|
|
574
|
-
var
|
|
575
|
-
var
|
|
576
|
-
var
|
|
577
|
-
var
|
|
577
|
+
var _20 = useState(), currentSavedFilterData = _20[0], setCurrentSavedFilterData = _20[1];
|
|
578
|
+
var _21 = useState(), currentSavedFilterQuery = _21[0], setCurrentSavedFilterQuery = _21[1];
|
|
579
|
+
var _22 = useState({}), currentSavedFilterVariables = _22[0], setCurrentSavedFilterVariables = _22[1];
|
|
580
|
+
var _23 = useState(), currentSavedFilterRules = _23[0], setCurrentSavedFilterRules = _23[1];
|
|
581
|
+
var _24 = useState([]), activeSavedFilters = _24[0], setActiveSavedFilters = _24[1];
|
|
582
|
+
var _25 = useState(null), editingSavedFilterKey = _25[0], setEditingSavedFilterKey = _25[1];
|
|
583
|
+
var _26 = useState(false), showSavedFilterComponent = _26[0], setShowSavedFilterComponent = _26[1];
|
|
584
|
+
var _27 = useState(), savedFilterTobeDeleted = _27[0], setSavedFilterTobeDeleted = _27[1];
|
|
585
|
+
var _28 = useState(false), isDeleteSQDialogVisible = _28[0], setIsDeleteSQDialogVisible = _28[1];
|
|
586
|
+
var _29 = useState(), savedFilterQueryString = _29[0], setSavedFilterQueryString = _29[1];
|
|
587
|
+
var _30 = useState(false), showOverlay = _30[0], setShowOverlay = _30[1];
|
|
578
588
|
var overlayRef = useRef(null);
|
|
579
589
|
var searchInputRef = useRef(null);
|
|
580
|
-
var
|
|
590
|
+
var _31 = useState(false), showChipManager = _31[0], setShowChipManager = _31[1];
|
|
581
591
|
var chipManagerRef = useRef(null);
|
|
582
592
|
var chipManagerTriggerRef = useRef(null);
|
|
583
593
|
var focusSearchInput = function () {
|
|
@@ -598,12 +608,12 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
598
608
|
}
|
|
599
609
|
}
|
|
600
610
|
}, [focusedIndex, showOverlay]);
|
|
601
|
-
var
|
|
611
|
+
var _32 = useSession(), session = _32.data, status = _32.status;
|
|
602
612
|
var user = session === null || session === void 0 ? void 0 : session.user;
|
|
603
|
-
var
|
|
604
|
-
var
|
|
605
|
-
var
|
|
606
|
-
var
|
|
613
|
+
var _33 = useState(0), refreshKey = _33[0], setRefreshKey = _33[1];
|
|
614
|
+
var _34 = useState(null), predefinedSearchBaseFilter = _34[0], setPredefinedSearchBaseFilter = _34[1];
|
|
615
|
+
var _35 = useState([]), savedFilters = _35[0], setSavedFilters = _35[1];
|
|
616
|
+
var _36 = useState(false), savedFiltersLoaded = _36[0], setSavedFiltersLoaded = _36[1];
|
|
607
617
|
var isDraftPublishWorkflowEnabled = ((_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.model) === null || _j === void 0 ? void 0 : _j.draftPublishWorkflow) === true;
|
|
608
618
|
var workflowPublishedVersionsSavedFilter = useMemo(function () {
|
|
609
619
|
if (!isDraftPublishWorkflowEnabled)
|
|
@@ -633,11 +643,11 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
633
643
|
}); }, [allAvailableSavedFilters]);
|
|
634
644
|
var entityApi = createSolidEntityApi("savedFilters");
|
|
635
645
|
var useCreateSolidEntityMutation = entityApi.useCreateSolidEntityMutation, useDeleteSolidEntityMutation = entityApi.useDeleteSolidEntityMutation, useGetSolidEntityByIdQuery = entityApi.useGetSolidEntityByIdQuery, useUpdateSolidEntityMutation = entityApi.useUpdateSolidEntityMutation, useLazyGetSolidEntitiesQuery = entityApi.useLazyGetSolidEntitiesQuery;
|
|
636
|
-
var
|
|
637
|
-
var
|
|
638
|
-
var
|
|
639
|
-
var
|
|
640
|
-
var
|
|
646
|
+
var _37 = useCreateSolidEntityMutation(), createEntity = _37[0], _38 = _37[1], isEntityCreateSuccess = _38.isSuccess, isEntityCreateError = _38.isError, entityCreateError = _38.error;
|
|
647
|
+
var _39 = useUpdateSolidEntityMutation(), updateEntity = _39[0], _40 = _39[1], isEntityUpdateSuceess = _40.isSuccess, isEntityUpdateError = _40.isError, entityUpdateError = _40.error;
|
|
648
|
+
var _41 = useDeleteSolidEntityMutation(), deleteEntity = _41[0], _42 = _41[1], isEntityDeleteSuceess = _42.isSuccess, isEntityDeleteError = _42.isError, entityDeleteError = _42.error;
|
|
649
|
+
var _43 = useLazyGetSolidEntitiesQuery(), triggerGetSolidEntities = _43[0], _44 = _43[1], solidEntityListViewData = _44.data, isSavedFilterLoading = _44.isLoading, error = _44.error;
|
|
650
|
+
var _45 = useState(0), savedFilterFetchDataRefreshKey = _45[0], setSavedFilterFetchDataRefreshKey = _45[1];
|
|
641
651
|
useEffect(function () {
|
|
642
652
|
var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
643
653
|
var filters, queryData, queryString, savedFilter;
|
|
@@ -696,9 +706,29 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
696
706
|
(_p = (_o = (_m = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _m === void 0 ? void 0 : _m.solidView) === null || _o === void 0 ? void 0 : _o.model) === null || _p === void 0 ? void 0 : _p.id,
|
|
697
707
|
user === null || user === void 0 ? void 0 : user.id
|
|
698
708
|
]);
|
|
709
|
+
var getSavedFilterKey = function (savedFilter) {
|
|
710
|
+
return (savedFilter === null || savedFilter === void 0 ? void 0 : savedFilter.systemKey) ? "system:".concat(savedFilter.systemKey) : "id:".concat(savedFilter === null || savedFilter === void 0 ? void 0 : savedFilter.id);
|
|
711
|
+
};
|
|
712
|
+
var getPersistedSavedFilterItems = function (queryObject) {
|
|
713
|
+
if (!allowMultipleSavedFilters)
|
|
714
|
+
return [];
|
|
715
|
+
if (Array.isArray(queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_items)) {
|
|
716
|
+
return queryObject.saved_filter_items;
|
|
717
|
+
}
|
|
718
|
+
if (queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_predicate) {
|
|
719
|
+
return [{
|
|
720
|
+
id: queryObject.saved_filter_id,
|
|
721
|
+
systemKey: queryObject.saved_filter_system_key,
|
|
722
|
+
name: queryObject.saved_filter_name || "Saved Filter",
|
|
723
|
+
predicate: queryObject.saved_filter_predicate,
|
|
724
|
+
variables: queryObject.saved_filter_variables || {},
|
|
725
|
+
}];
|
|
726
|
+
}
|
|
727
|
+
return [];
|
|
728
|
+
};
|
|
699
729
|
// Updates search, custom filter, grouping, aggregation, and UI state from a single shared filter source.
|
|
700
730
|
var syncFilterUiStateFromSharedSource = useCallback(function (queryObject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
701
|
-
var nextSearchFilter, nextSearchChips, nextCustomFilter, nextPredefinedBaseFilter, nextPredefinedSearchChip, nextSavedFilter, nextSavedFilterVariables, nextSavedFilterData, rules, hydratedRules_1, hasGroupingRules, nextGroupingRules, layoutGroupBy, nextAggregationRules;
|
|
731
|
+
var nextSearchFilter, nextSearchChips, nextCustomFilter, nextPredefinedBaseFilter, nextPredefinedSearchChip, persistedSavedFilterItems, nextSavedFilterItems, nextSavedFilter, nextSavedFilterVariables, nextSavedFilterData, rules, hydratedRules_1, hasGroupingRules, nextGroupingRules, layoutGroupBy, nextAggregationRules;
|
|
702
732
|
var _a, _b, _c, _d, _e, _f;
|
|
703
733
|
return __generator(this, function (_g) {
|
|
704
734
|
switch (_g.label) {
|
|
@@ -712,24 +742,48 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
712
742
|
nextPredefinedSearchChip = nextPredefinedBaseFilter && (queryObject === null || queryObject === void 0 ? void 0 : queryObject.predefined_search_chip)
|
|
713
743
|
? queryObject.predefined_search_chip
|
|
714
744
|
: null;
|
|
715
|
-
|
|
745
|
+
persistedSavedFilterItems = getPersistedSavedFilterItems(queryObject);
|
|
746
|
+
nextSavedFilterItems = allowMultipleSavedFilters
|
|
747
|
+
? persistedSavedFilterItems.map(function (item) {
|
|
748
|
+
var savedFilter = availableSavedFilters.find(function (candidate) {
|
|
749
|
+
return (item === null || item === void 0 ? void 0 : item.systemKey)
|
|
750
|
+
? (candidate === null || candidate === void 0 ? void 0 : candidate.systemKey) === item.systemKey
|
|
751
|
+
: String(candidate === null || candidate === void 0 ? void 0 : candidate.id) === String(item === null || item === void 0 ? void 0 : item.id);
|
|
752
|
+
});
|
|
753
|
+
return {
|
|
754
|
+
data: savedFilter || {
|
|
755
|
+
id: item === null || item === void 0 ? void 0 : item.id,
|
|
756
|
+
systemKey: item === null || item === void 0 ? void 0 : item.systemKey,
|
|
757
|
+
name: (item === null || item === void 0 ? void 0 : item.name) || "Saved Filter",
|
|
758
|
+
filterQueryJson: JSON.stringify((item === null || item === void 0 ? void 0 : item.predicate) || {}),
|
|
759
|
+
},
|
|
760
|
+
query: (item === null || item === void 0 ? void 0 : item.predicate) || {},
|
|
761
|
+
variables: (item === null || item === void 0 ? void 0 : item.variables) || {},
|
|
762
|
+
};
|
|
763
|
+
})
|
|
764
|
+
: [];
|
|
765
|
+
nextSavedFilter = allowMultipleSavedFilters
|
|
766
|
+
? (nextSavedFilterItems.length > 0 ? { $or: nextSavedFilterItems.map(function (item) { return item.query; }) } : null)
|
|
767
|
+
: (queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_predicate) || null;
|
|
716
768
|
nextSavedFilterVariables = (_a = queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_variables) !== null && _a !== void 0 ? _a : {};
|
|
717
|
-
nextSavedFilterData =
|
|
718
|
-
?
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
769
|
+
nextSavedFilterData = allowMultipleSavedFilters
|
|
770
|
+
? (nextSavedFilterItems.length > 0 ? nextSavedFilterItems[nextSavedFilterItems.length - 1].data : null)
|
|
771
|
+
: nextSavedFilter
|
|
772
|
+
? availableSavedFilters.find(function (savedFilter) {
|
|
773
|
+
if (queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_system_key) {
|
|
774
|
+
return (savedFilter === null || savedFilter === void 0 ? void 0 : savedFilter.systemKey) === queryObject.saved_filter_system_key;
|
|
775
|
+
}
|
|
776
|
+
if (queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_id) {
|
|
777
|
+
return String(savedFilter === null || savedFilter === void 0 ? void 0 : savedFilter.id) === String(queryObject.saved_filter_id);
|
|
778
|
+
}
|
|
779
|
+
return false;
|
|
780
|
+
}) || {
|
|
781
|
+
id: queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_id,
|
|
782
|
+
systemKey: queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_system_key,
|
|
783
|
+
name: (queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_name) || 'Saved Filter',
|
|
784
|
+
filterQueryJson: JSON.stringify(nextSavedFilter),
|
|
724
785
|
}
|
|
725
|
-
|
|
726
|
-
}) || {
|
|
727
|
-
id: queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_id,
|
|
728
|
-
systemKey: queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_system_key,
|
|
729
|
-
name: (queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_name) || 'Saved Filter',
|
|
730
|
-
filterQueryJson: JSON.stringify(nextSavedFilter),
|
|
731
|
-
}
|
|
732
|
-
: null;
|
|
786
|
+
: null;
|
|
733
787
|
setSearchFilter(function (prev) { return areFilterStateValuesEqual(prev, nextSearchFilter) ? prev : nextSearchFilter; });
|
|
734
788
|
setSearchChips(function (prev) { return areFilterStateValuesEqual(prev, nextSearchChips) ? prev : nextSearchChips; });
|
|
735
789
|
setCustomFilter(function (prev) { return areFilterStateValuesEqual(prev, nextCustomFilter) ? prev : nextCustomFilter; });
|
|
@@ -738,6 +792,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
738
792
|
setCurrentSavedFilterData(function (prev) { return areFilterStateValuesEqual(prev, nextSavedFilterData) ? prev : nextSavedFilterData; });
|
|
739
793
|
setCurrentSavedFilterQuery(function (prev) { return areFilterStateValuesEqual(prev, nextSavedFilter) ? prev : nextSavedFilter; });
|
|
740
794
|
setCurrentSavedFilterVariables(function (prev) { return areFilterStateValuesEqual(prev, nextSavedFilterVariables) ? prev : nextSavedFilterVariables; });
|
|
795
|
+
setActiveSavedFilters(function (prev) { return areFilterStateValuesEqual(prev, nextSavedFilterItems) ? prev : nextSavedFilterItems; });
|
|
741
796
|
if (!(nextCustomFilter && (viewData === null || viewData === void 0 ? void 0 : viewData.data))) return [3 /*break*/, 2];
|
|
742
797
|
rules = transformFiltersToRules(nextCustomFilter);
|
|
743
798
|
return [4 /*yield*/, hydrateRelationRules([rules], viewData)];
|
|
@@ -775,7 +830,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
775
830
|
return [2 /*return*/];
|
|
776
831
|
}
|
|
777
832
|
});
|
|
778
|
-
}); }, [availableSavedFilters, initialState, viewData]);
|
|
833
|
+
}); }, [allowMultipleSavedFilters, availableSavedFilters, initialState, viewData]);
|
|
779
834
|
var resetAppliedFilters = function (_a) {
|
|
780
835
|
var _b = _a === void 0 ? {} : _a, _c = _b.preserveGrouping, preserveGrouping = _c === void 0 ? false : _c;
|
|
781
836
|
setSearchChips([]);
|
|
@@ -788,6 +843,8 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
788
843
|
setCurrentSavedFilterQuery(null);
|
|
789
844
|
setCurrentSavedFilterVariables({});
|
|
790
845
|
setCurrentSavedFilterRules(null);
|
|
846
|
+
setActiveSavedFilters([]);
|
|
847
|
+
setEditingSavedFilterKey(null);
|
|
791
848
|
if (!preserveGrouping) {
|
|
792
849
|
setGroupingRules(defaultGroupingRules);
|
|
793
850
|
setAggregationRules(defaultAggregationRules);
|
|
@@ -1094,6 +1151,14 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1094
1151
|
// };
|
|
1095
1152
|
// }
|
|
1096
1153
|
setCurrentSavedFilterQuery(finalCustomFilter);
|
|
1154
|
+
if (allowMultipleSavedFilters && editingSavedFilterKey) {
|
|
1155
|
+
var nextItems = activeSavedFilters.map(function (item) {
|
|
1156
|
+
return getSavedFilterKey(item.data) === editingSavedFilterKey
|
|
1157
|
+
? __assign(__assign({}, item), { query: finalCustomFilter }) : item;
|
|
1158
|
+
});
|
|
1159
|
+
setActiveSavedFilters(nextItems);
|
|
1160
|
+
persistActiveSavedFilters(nextItems);
|
|
1161
|
+
}
|
|
1097
1162
|
setShowSavedFilterComponent(false);
|
|
1098
1163
|
setHasSearched(true);
|
|
1099
1164
|
setRefreshKey(function (prev) { return prev + 1; });
|
|
@@ -1128,7 +1193,9 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1128
1193
|
};
|
|
1129
1194
|
var finalSearchFilter = tranformSearchToFilters(formattedChips);
|
|
1130
1195
|
setSearchFilter(finalSearchFilter);
|
|
1131
|
-
var finalSavedFilter =
|
|
1196
|
+
var finalSavedFilter = allowMultipleSavedFilters
|
|
1197
|
+
? (activeSavedFilters.length > 0 ? { $or: activeSavedFilters.map(function (item) { return item.query; }) } : null)
|
|
1198
|
+
: currentSavedFilterQuery;
|
|
1132
1199
|
var finalPredefinedFilter = predefinedSearchBaseFilter;
|
|
1133
1200
|
var finalCustomFilter = customFilter;
|
|
1134
1201
|
var finalFilter = mergeAllDiffFilters(finalCustomFilter, finalSearchFilter, finalSavedFilter, finalPredefinedFilter, groupingRules, aggregationRules);
|
|
@@ -1136,20 +1203,37 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1136
1203
|
finalPredefinedFilter && predefinedSearchChip
|
|
1137
1204
|
? predefinedSearchChip
|
|
1138
1205
|
: null;
|
|
1139
|
-
if (
|
|
1206
|
+
if (allowMultipleSavedFilters && activeSavedFilters.length > 0) {
|
|
1207
|
+
var resolvedItems = activeSavedFilters.map(function (item) { return resolveSavedFilterVariables(item.query, user === null || user === void 0 ? void 0 : user.id, item.variables || {}); });
|
|
1208
|
+
if (resolvedItems.some(function (item) { return item.missingVariables.length > 0; }))
|
|
1209
|
+
return;
|
|
1210
|
+
finalFilter.resolved_saved_filter_predicate = { $or: resolvedItems.map(function (item) { return item.value; }) };
|
|
1211
|
+
finalFilter.saved_filter_variables = {};
|
|
1212
|
+
finalFilter.saved_filter_items = activeSavedFilters.map(function (item) {
|
|
1213
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1214
|
+
return ({
|
|
1215
|
+
id: (_b = (_a = item.data) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null,
|
|
1216
|
+
systemKey: (_d = (_c = item.data) === null || _c === void 0 ? void 0 : _c.systemKey) !== null && _d !== void 0 ? _d : null,
|
|
1217
|
+
name: (_f = (_e = item.data) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : null,
|
|
1218
|
+
predicate: item.query,
|
|
1219
|
+
variables: item.variables || {},
|
|
1220
|
+
});
|
|
1221
|
+
});
|
|
1222
|
+
}
|
|
1223
|
+
else if (finalSavedFilter && Object.keys(finalSavedFilter).length > 0) {
|
|
1140
1224
|
var resolved = resolveSavedFilterVariables(finalSavedFilter, user === null || user === void 0 ? void 0 : user.id, currentSavedFilterVariables);
|
|
1141
1225
|
if (resolved.missingVariables.length > 0)
|
|
1142
1226
|
return;
|
|
1143
1227
|
finalFilter.resolved_saved_filter_predicate = resolved.value;
|
|
1144
1228
|
finalFilter.saved_filter_variables = currentSavedFilterVariables;
|
|
1145
1229
|
}
|
|
1146
|
-
if (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.id) {
|
|
1230
|
+
if (!allowMultipleSavedFilters && (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.id)) {
|
|
1147
1231
|
finalFilter.saved_filter_id = currentSavedFilterData.id;
|
|
1148
1232
|
}
|
|
1149
|
-
if (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.systemKey) {
|
|
1233
|
+
if (!allowMultipleSavedFilters && (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.systemKey)) {
|
|
1150
1234
|
finalFilter.saved_filter_system_key = currentSavedFilterData.systemKey;
|
|
1151
1235
|
}
|
|
1152
|
-
if (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name) {
|
|
1236
|
+
if (!allowMultipleSavedFilters && (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name)) {
|
|
1153
1237
|
finalFilter.saved_filter_name = currentSavedFilterData.name;
|
|
1154
1238
|
}
|
|
1155
1239
|
handleApplyCustomFilter(finalFilter, true);
|
|
@@ -1179,15 +1263,18 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1179
1263
|
// const formatedCustomChips: FilterRule = transformFiltersToRules(customFilter ? customFilter : null);
|
|
1180
1264
|
// setFilterRules(formatedCustomChips ? [formatedCustomChips] : initialState);
|
|
1181
1265
|
// }
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1266
|
+
if (!allowMultipleSavedFilters) {
|
|
1267
|
+
setSearchChips([]);
|
|
1268
|
+
setSearchFilter(null);
|
|
1269
|
+
setFilterRules(initialState);
|
|
1270
|
+
setCustomFilter(null);
|
|
1271
|
+
setPredefinedSearchChip(null);
|
|
1272
|
+
setPredefinedSearchBaseFilter(null);
|
|
1273
|
+
}
|
|
1188
1274
|
if (!(savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.id)) return [3 /*break*/, 3];
|
|
1189
1275
|
savedfilterId_1 = savedfilter.id;
|
|
1190
1276
|
setShowOverlay(false);
|
|
1277
|
+
setEditingSavedFilterKey(getSavedFilterKey(savedfilter));
|
|
1191
1278
|
currentSavedFilterData_1 = availableSavedFilters.find(function (savedFilter) { return savedFilter.id === savedfilterId_1; });
|
|
1192
1279
|
setCurrentSavedFilterData(currentSavedFilterData_1);
|
|
1193
1280
|
if (!currentSavedFilterData_1) return [3 /*break*/, 2];
|
|
@@ -1210,8 +1297,28 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1210
1297
|
}
|
|
1211
1298
|
});
|
|
1212
1299
|
}); };
|
|
1300
|
+
var persistActiveSavedFilters = function (items) {
|
|
1301
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1302
|
+
var first = items[0];
|
|
1303
|
+
var persistedFilter = __assign(__assign({}, (getFilterObjectFromLocalStorage() || {})), { saved_filter_items: items.map(function (item) {
|
|
1304
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1305
|
+
return ({
|
|
1306
|
+
id: (_b = (_a = item.data) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null,
|
|
1307
|
+
systemKey: (_d = (_c = item.data) === null || _c === void 0 ? void 0 : _c.systemKey) !== null && _d !== void 0 ? _d : null,
|
|
1308
|
+
name: (_f = (_e = item.data) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : null,
|
|
1309
|
+
predicate: item.query,
|
|
1310
|
+
variables: item.variables || {},
|
|
1311
|
+
});
|
|
1312
|
+
}), saved_filter_predicate: items.length > 0 ? (items.length === 1 ? first.query : { $or: items.map(function (item) { return item.query; }) }) : null, saved_filter_variables: items.length === 1 ? (first.variables || {}) : {}, saved_filter_id: items.length === 1 ? (_b = (_a = first.data) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null : null, saved_filter_system_key: items.length === 1 ? (_d = (_c = first.data) === null || _c === void 0 ? void 0 : _c.systemKey) !== null && _d !== void 0 ? _d : null : null, saved_filter_name: items.length === 1 ? (_f = (_e = first.data) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : null : null });
|
|
1313
|
+
delete persistedFilter.finalFullFilter;
|
|
1314
|
+
setFilterObjectToLocalStorage(persistedFilter);
|
|
1315
|
+
};
|
|
1213
1316
|
var persistActiveSavedFilter = function (savedFilter, filterJson, variables) {
|
|
1214
1317
|
var _a, _b, _c;
|
|
1318
|
+
if (allowMultipleSavedFilters) {
|
|
1319
|
+
persistActiveSavedFilters([{ data: savedFilter, query: filterJson, variables: variables }]);
|
|
1320
|
+
return;
|
|
1321
|
+
}
|
|
1215
1322
|
var persistedFilter = __assign(__assign({}, (getFilterObjectFromLocalStorage() || {})), { custom_filter_predicate: null, search_predicate: null, predefined_search_predicate: null, predefined_search_chip: null, saved_filter_predicate: filterJson, saved_filter_variables: variables, saved_filter_id: (_a = savedFilter === null || savedFilter === void 0 ? void 0 : savedFilter.id) !== null && _a !== void 0 ? _a : null, saved_filter_system_key: (_b = savedFilter === null || savedFilter === void 0 ? void 0 : savedFilter.systemKey) !== null && _b !== void 0 ? _b : null, saved_filter_name: (_c = savedFilter === null || savedFilter === void 0 ? void 0 : savedFilter.name) !== null && _c !== void 0 ? _c : null });
|
|
1216
1323
|
delete persistedFilter.finalFullFilter;
|
|
1217
1324
|
setFilterObjectToLocalStorage(persistedFilter);
|
|
@@ -1222,65 +1329,111 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1222
1329
|
setCurrentSavedFilterVariables({});
|
|
1223
1330
|
setCurrentSavedFilterRules(null);
|
|
1224
1331
|
setShowSavedFilterComponent(false);
|
|
1225
|
-
var persistedFilter = __assign(__assign({}, (getFilterObjectFromLocalStorage() || {})), { saved_filter_predicate: null, saved_filter_variables: {}, saved_filter_id: null, saved_filter_system_key: null, saved_filter_name: null });
|
|
1332
|
+
var persistedFilter = __assign(__assign({}, (getFilterObjectFromLocalStorage() || {})), { saved_filter_items: [], saved_filter_predicate: null, saved_filter_variables: {}, saved_filter_id: null, saved_filter_system_key: null, saved_filter_name: null });
|
|
1226
1333
|
delete persistedFilter.finalFullFilter;
|
|
1227
1334
|
setFilterObjectToLocalStorage(persistedFilter);
|
|
1228
1335
|
setHasSearched(true);
|
|
1229
1336
|
setRefreshKey(function (prev) { return prev + 1; });
|
|
1230
1337
|
};
|
|
1231
1338
|
var deleteSavedFilter = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1339
|
+
var nextItems, error_1, errorMessage;
|
|
1340
|
+
var _a, _b;
|
|
1341
|
+
return __generator(this, function (_c) {
|
|
1342
|
+
switch (_c.label) {
|
|
1343
|
+
case 0:
|
|
1344
|
+
_c.trys.push([0, 2, , 3]);
|
|
1345
|
+
return [4 /*yield*/, deleteEntity(savedFilterTobeDeleted).unwrap()];
|
|
1237
1346
|
case 1:
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1347
|
+
_c.sent();
|
|
1348
|
+
dispatch(showToast({
|
|
1349
|
+
severity: "success",
|
|
1350
|
+
summary: ERROR_MESSAGES.DELETED,
|
|
1351
|
+
detail: ERROR_MESSAGES.ENTITY_DELETE,
|
|
1352
|
+
}));
|
|
1353
|
+
if (allowMultipleSavedFilters) {
|
|
1354
|
+
nextItems = activeSavedFilters.filter(function (item) { var _a; return String((_a = item.data) === null || _a === void 0 ? void 0 : _a.id) !== String(savedFilterTobeDeleted); });
|
|
1355
|
+
setActiveSavedFilters(nextItems);
|
|
1356
|
+
if (String(savedFilterTobeDeleted) === String(currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.id)) {
|
|
1357
|
+
setCurrentSavedFilterData(null);
|
|
1358
|
+
setCurrentSavedFilterQuery(null);
|
|
1359
|
+
setCurrentSavedFilterVariables({});
|
|
1360
|
+
}
|
|
1361
|
+
persistActiveSavedFilters(nextItems);
|
|
1362
|
+
setHasSearched(true);
|
|
1363
|
+
setRefreshKey(function (prev) { return prev + 1; });
|
|
1364
|
+
}
|
|
1365
|
+
else if (String(savedFilterTobeDeleted) === String(currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.id)) {
|
|
1366
|
+
removeSavedFilter();
|
|
1242
1367
|
}
|
|
1243
1368
|
setIsDeleteSQDialogVisible(false);
|
|
1244
1369
|
setTimeout(function () {
|
|
1245
1370
|
setSavedFilterFetchDataRefreshKey(function (prev) { return prev + 1; });
|
|
1246
1371
|
}, 500);
|
|
1247
|
-
return [
|
|
1372
|
+
return [3 /*break*/, 3];
|
|
1373
|
+
case 2:
|
|
1374
|
+
error_1 = _c.sent();
|
|
1375
|
+
errorMessage = ((_a = error_1 === null || error_1 === void 0 ? void 0 : error_1.data) === null || _a === void 0 ? void 0 : _a.message) || ((_b = error_1 === null || error_1 === void 0 ? void 0 : error_1.data) === null || _b === void 0 ? void 0 : _b.error) || (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || ERROR_MESSAGES.SOMETHING_WRONG;
|
|
1376
|
+
dispatch(showToast({
|
|
1377
|
+
severity: "error",
|
|
1378
|
+
summary: ERROR_MESSAGES.DELETE_FAIELD,
|
|
1379
|
+
detail: errorMessage,
|
|
1380
|
+
}));
|
|
1381
|
+
return [3 /*break*/, 3];
|
|
1382
|
+
case 3: return [2 /*return*/];
|
|
1248
1383
|
}
|
|
1249
1384
|
});
|
|
1250
1385
|
}); };
|
|
1251
1386
|
var handleSaveFilter = function (formValues) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1252
|
-
var
|
|
1253
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1254
|
-
return __generator(this, function (
|
|
1255
|
-
switch (
|
|
1387
|
+
var filterJson_1, formData, savedFilterRecord_1, nextItems, filterJson, formData, result, savedFilterRecord_2, nextItems, error_2, errorMessage;
|
|
1388
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
1389
|
+
return __generator(this, function (_o) {
|
|
1390
|
+
switch (_o.label) {
|
|
1256
1391
|
case 0:
|
|
1257
1392
|
setShowSaveFilterPopup(false);
|
|
1258
|
-
|
|
1393
|
+
_o.label = 1;
|
|
1259
1394
|
case 1:
|
|
1260
|
-
|
|
1395
|
+
_o.trys.push([1, 6, , 7]);
|
|
1261
1396
|
if (!formValues.id) return [3 /*break*/, 3];
|
|
1262
|
-
|
|
1397
|
+
filterJson_1 = currentSavedFilterQuery;
|
|
1263
1398
|
formData = new FormData();
|
|
1264
1399
|
formData.append("name", formValues.name);
|
|
1265
|
-
formData.append("filterQueryJson", JSON.stringify(
|
|
1400
|
+
formData.append("filterQueryJson", JSON.stringify(filterJson_1, null, 2));
|
|
1266
1401
|
formData.append("modelId", (_c = (_b = (_a = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _a === void 0 ? void 0 : _a.solidView) === null || _b === void 0 ? void 0 : _b.model) === null || _c === void 0 ? void 0 : _c.id);
|
|
1267
1402
|
formData.append("viewId", (_e = (_d = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _d === void 0 ? void 0 : _d.solidView) === null || _e === void 0 ? void 0 : _e.id);
|
|
1268
1403
|
formData.append("isPrivate", formValues.isPrivate);
|
|
1269
1404
|
formData.append("userId", user === null || user === void 0 ? void 0 : user.id);
|
|
1270
1405
|
return [4 /*yield*/, updateEntity({ id: +formValues.id, data: formData }).unwrap()];
|
|
1271
1406
|
case 2:
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1407
|
+
_o.sent();
|
|
1408
|
+
dispatch(showToast({
|
|
1409
|
+
severity: "success",
|
|
1410
|
+
summary: ERROR_MESSAGES.SAVED_FILTER_UPDATED,
|
|
1411
|
+
detail: ERROR_MESSAGES.SAVED_FILTER_UPDATED_SUCCESSFULLY,
|
|
1412
|
+
}));
|
|
1413
|
+
if (!allowMultipleSavedFilters) {
|
|
1414
|
+
setSearchChips([]);
|
|
1415
|
+
setSearchFilter(null);
|
|
1416
|
+
setFilterRules(initialState);
|
|
1417
|
+
setCustomFilter(null);
|
|
1418
|
+
setPredefinedSearchChip(null);
|
|
1419
|
+
setPredefinedSearchBaseFilter(null);
|
|
1420
|
+
}
|
|
1421
|
+
savedFilterRecord_1 = { id: formValues.id, name: formValues.name, isPrivate: formValues.isPrivate, filterQueryJson: JSON.stringify(filterJson_1, null, 2) };
|
|
1280
1422
|
setSavedFilters(function (prev) { return prev.map(function (f) { return String(f === null || f === void 0 ? void 0 : f.id) === String(formValues.id) ? __assign(__assign({}, f), savedFilterRecord_1) : f; }); });
|
|
1281
1423
|
setCurrentSavedFilterData(savedFilterRecord_1);
|
|
1282
|
-
setCurrentSavedFilterQuery(
|
|
1283
|
-
|
|
1424
|
+
setCurrentSavedFilterQuery(filterJson_1);
|
|
1425
|
+
if (allowMultipleSavedFilters) {
|
|
1426
|
+
nextItems = activeSavedFilters.map(function (item) {
|
|
1427
|
+
return getSavedFilterKey(item.data) === getSavedFilterKey(savedFilterRecord_1)
|
|
1428
|
+
? { data: savedFilterRecord_1, query: filterJson_1, variables: currentSavedFilterVariables }
|
|
1429
|
+
: item;
|
|
1430
|
+
});
|
|
1431
|
+
setActiveSavedFilters(nextItems);
|
|
1432
|
+
persistActiveSavedFilters(nextItems);
|
|
1433
|
+
}
|
|
1434
|
+
else {
|
|
1435
|
+
persistActiveSavedFilter(savedFilterRecord_1, filterJson_1, currentSavedFilterVariables);
|
|
1436
|
+
}
|
|
1284
1437
|
setHasSearched(true);
|
|
1285
1438
|
setRefreshKey(function (prev) { return prev + 1; });
|
|
1286
1439
|
return [3 /*break*/, 5];
|
|
@@ -1295,7 +1448,12 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1295
1448
|
formData.append("userId", user === null || user === void 0 ? void 0 : user.id);
|
|
1296
1449
|
return [4 /*yield*/, createEntity(formData).unwrap()];
|
|
1297
1450
|
case 4:
|
|
1298
|
-
result =
|
|
1451
|
+
result = _o.sent();
|
|
1452
|
+
dispatch(showToast({
|
|
1453
|
+
severity: "success",
|
|
1454
|
+
summary: ERROR_MESSAGES.SAVED_FILTER_CREATED,
|
|
1455
|
+
detail: ERROR_MESSAGES.SAVED_FILTER_CREATED_SUCCESSFULLY,
|
|
1456
|
+
}));
|
|
1299
1457
|
setSearchChips([]);
|
|
1300
1458
|
setSearchFilter(null);
|
|
1301
1459
|
setFilterRules(initialState);
|
|
@@ -1307,13 +1465,26 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1307
1465
|
setCurrentSavedFilterData(savedFilterRecord_2);
|
|
1308
1466
|
setCurrentSavedFilterQuery(filterJson);
|
|
1309
1467
|
setCurrentSavedFilterVariables({});
|
|
1310
|
-
|
|
1468
|
+
if (allowMultipleSavedFilters) {
|
|
1469
|
+
nextItems = [{ data: savedFilterRecord_2, query: filterJson, variables: {} }];
|
|
1470
|
+
setActiveSavedFilters(nextItems);
|
|
1471
|
+
persistActiveSavedFilters(nextItems);
|
|
1472
|
+
}
|
|
1473
|
+
else {
|
|
1474
|
+
persistActiveSavedFilter(savedFilterRecord_2, filterJson, {});
|
|
1475
|
+
}
|
|
1311
1476
|
setHasSearched(true);
|
|
1312
1477
|
setRefreshKey(function (prev) { return prev + 1; });
|
|
1313
|
-
|
|
1478
|
+
_o.label = 5;
|
|
1314
1479
|
case 5: return [3 /*break*/, 7];
|
|
1315
1480
|
case 6:
|
|
1316
|
-
|
|
1481
|
+
error_2 = _o.sent();
|
|
1482
|
+
errorMessage = ((_l = error_2 === null || error_2 === void 0 ? void 0 : error_2.data) === null || _l === void 0 ? void 0 : _l.message) || ((_m = error_2 === null || error_2 === void 0 ? void 0 : error_2.data) === null || _m === void 0 ? void 0 : _m.error) || (error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || ERROR_MESSAGES.SOMETHING_WRONG;
|
|
1483
|
+
dispatch(showToast({
|
|
1484
|
+
severity: "error",
|
|
1485
|
+
summary: ERROR_MESSAGES.ERROR,
|
|
1486
|
+
detail: errorMessage,
|
|
1487
|
+
}));
|
|
1317
1488
|
return [3 /*break*/, 7];
|
|
1318
1489
|
case 7: return [2 /*return*/];
|
|
1319
1490
|
}
|
|
@@ -1378,6 +1549,27 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1378
1549
|
console.error("Unable to apply saved filter '".concat(savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.name, "': missing variables ").concat(resolved.missingVariables.join(", ")));
|
|
1379
1550
|
return false;
|
|
1380
1551
|
}
|
|
1552
|
+
if (allowMultipleSavedFilters) {
|
|
1553
|
+
var key_1 = getSavedFilterKey(savedfilter);
|
|
1554
|
+
var nextItem_1 = { data: savedfilter, query: filterJson, variables: variables };
|
|
1555
|
+
var existingItem = activeSavedFilters.find(function (item) { return getSavedFilterKey(item.data) === key_1; });
|
|
1556
|
+
if (existingItem && areFilterStateValuesEqual(existingItem.query, filterJson) && areFilterStateValuesEqual(existingItem.variables, variables)) {
|
|
1557
|
+
return true;
|
|
1558
|
+
}
|
|
1559
|
+
var nextItems = existingItem
|
|
1560
|
+
? activeSavedFilters.map(function (item) { return getSavedFilterKey(item.data) === key_1 ? nextItem_1 : item; })
|
|
1561
|
+
: __spreadArray(__spreadArray([], activeSavedFilters, true), [nextItem_1], false);
|
|
1562
|
+
setActiveSavedFilters(nextItems);
|
|
1563
|
+
setCurrentSavedFilterData(savedfilter);
|
|
1564
|
+
setCurrentSavedFilterQuery(filterJson);
|
|
1565
|
+
setCurrentSavedFilterVariables(variables);
|
|
1566
|
+
setEditingSavedFilterKey(null);
|
|
1567
|
+
persistActiveSavedFilters(nextItems);
|
|
1568
|
+
setShowOverlay(false);
|
|
1569
|
+
setHasSearched(true);
|
|
1570
|
+
setRefreshKey(function (prev) { return prev + 1; });
|
|
1571
|
+
return true;
|
|
1572
|
+
}
|
|
1381
1573
|
// Applying the already-active filter must be a no-op. This is important
|
|
1382
1574
|
// for lifecycle extensions: applying a filter causes a new list load,
|
|
1383
1575
|
// which invokes onBeforeListDataLoad/onListLoad again.
|
|
@@ -1409,6 +1601,19 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1409
1601
|
return true;
|
|
1410
1602
|
};
|
|
1411
1603
|
var removeSavedFilter = function () {
|
|
1604
|
+
if (allowMultipleSavedFilters) {
|
|
1605
|
+
var key_2 = getSavedFilterKey(currentSavedFilterData);
|
|
1606
|
+
var nextItems = activeSavedFilters.filter(function (item) { return getSavedFilterKey(item.data) !== key_2; });
|
|
1607
|
+
setActiveSavedFilters(nextItems);
|
|
1608
|
+
setCurrentSavedFilterData(null);
|
|
1609
|
+
setCurrentSavedFilterQuery(null);
|
|
1610
|
+
setCurrentSavedFilterVariables({});
|
|
1611
|
+
setEditingSavedFilterKey(null);
|
|
1612
|
+
persistActiveSavedFilters(nextItems);
|
|
1613
|
+
setHasSearched(true);
|
|
1614
|
+
setRefreshKey(function (prev) { return prev + 1; });
|
|
1615
|
+
return;
|
|
1616
|
+
}
|
|
1412
1617
|
clearActiveSavedFilter();
|
|
1413
1618
|
};
|
|
1414
1619
|
var SavedFiltersChip = function () {
|
|
@@ -1463,14 +1668,30 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1463
1668
|
var customRuleCount = (_x = (_v = (_u = customFilter === null || customFilter === void 0 ? void 0 : customFilter.$or) === null || _u === void 0 ? void 0 : _u.length) !== null && _v !== void 0 ? _v : (_w = customFilter === null || customFilter === void 0 ? void 0 : customFilter.$and) === null || _w === void 0 ? void 0 : _w.length) !== null && _x !== void 0 ? _x : Object.keys(customFilter || {}).length;
|
|
1464
1669
|
var managedChipItems = useMemo(function () {
|
|
1465
1670
|
var items = [];
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1671
|
+
var savedItems = allowMultipleSavedFilters
|
|
1672
|
+
? activeSavedFilters
|
|
1673
|
+
: ((currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name) ? [{ data: currentSavedFilterData }] : []);
|
|
1674
|
+
savedItems.forEach(function (item) {
|
|
1675
|
+
var _a;
|
|
1676
|
+
if ((_a = item.data) === null || _a === void 0 ? void 0 : _a.name) {
|
|
1677
|
+
items.push(__assign({ id: "saved-filter:".concat(getSavedFilterKey(item.data)), type: "saved", label: "Saved: ".concat(item.data.name), onRemove: function () {
|
|
1678
|
+
if (!allowMultipleSavedFilters) {
|
|
1679
|
+
removeSavedFilter();
|
|
1680
|
+
return;
|
|
1681
|
+
}
|
|
1682
|
+
var nextItems = activeSavedFilters.filter(function (active) { return getSavedFilterKey(active.data) !== getSavedFilterKey(item.data); });
|
|
1683
|
+
setActiveSavedFilters(nextItems);
|
|
1684
|
+
if (getSavedFilterKey(currentSavedFilterData) === getSavedFilterKey(item.data)) {
|
|
1685
|
+
setCurrentSavedFilterData(null);
|
|
1686
|
+
setCurrentSavedFilterQuery(null);
|
|
1687
|
+
setCurrentSavedFilterVariables({});
|
|
1688
|
+
}
|
|
1689
|
+
persistActiveSavedFilters(nextItems);
|
|
1690
|
+
setHasSearched(true);
|
|
1691
|
+
setRefreshKey(function (prev) { return prev + 1; });
|
|
1692
|
+
} }, (allowMultipleSavedFilters ? { onOpen: function () { return openSavedCustomFilter(item.data); } } : {})));
|
|
1693
|
+
}
|
|
1694
|
+
});
|
|
1474
1695
|
if ((predefinedSearchChip === null || predefinedSearchChip === void 0 ? void 0 : predefinedSearchChip.name) && (predefinedSearchChip === null || predefinedSearchChip === void 0 ? void 0 : predefinedSearchChip.value)) {
|
|
1475
1696
|
items.push({
|
|
1476
1697
|
id: "predefined-search",
|
|
@@ -1511,6 +1732,8 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1511
1732
|
return items;
|
|
1512
1733
|
}, [
|
|
1513
1734
|
currentSavedFilterData,
|
|
1735
|
+
activeSavedFilters,
|
|
1736
|
+
allowMultipleSavedFilters,
|
|
1514
1737
|
predefinedSearchChip,
|
|
1515
1738
|
customFilter,
|
|
1516
1739
|
customRuleCount,
|
|
@@ -1707,7 +1930,6 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1707
1930
|
var removePredefinedSearchChip = function () {
|
|
1708
1931
|
setPredefinedSearchChip(null);
|
|
1709
1932
|
setPredefinedSearchBaseFilter(null);
|
|
1710
|
-
setCustomFilter(null);
|
|
1711
1933
|
setHasSearched(true);
|
|
1712
1934
|
setRefreshKey(function (prev) { return prev + 1; });
|
|
1713
1935
|
};
|
|
@@ -1736,12 +1958,18 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1736
1958
|
var optionIndex = overlayOptions.findIndex(function (option) { return option.id === "predefined:".concat(predefinedSearch.name || index); });
|
|
1737
1959
|
return (_jsx(SolidButton, { id: getOverlayOptionId(optionIndex), role: "option", "aria-selected": focusedIndex === optionIndex, variant: "ghost", size: "sm", className: "text-color solid-search-overlay-option ".concat(focusedIndex === optionIndex ? "solid-search-overlay-option-active" : ""), onMouseDown: function (e) {
|
|
1738
1960
|
e.preventDefault();
|
|
1961
|
+
e.stopPropagation();
|
|
1962
|
+
}, onClick: function (e) {
|
|
1963
|
+
e.stopPropagation();
|
|
1739
1964
|
handlePredefinedSearch(predefinedSearch);
|
|
1740
1965
|
}, onMouseEnter: function () { return setFocusedIndex(optionIndex); }, children: _jsxs("span", { className: "solid-search-overlay-option-content", children: [_jsx("span", { className: "solid-search-overlay-option-icon", "aria-hidden": "true", children: _jsx(Sparkles, { size: 15 }) }), _jsxs("span", { className: "solid-search-overlay-option-copy", children: [_jsx("span", { className: "solid-search-overlay-option-title", children: predefinedSearch.name }), _jsxs("span", { className: "solid-search-overlay-option-description", children: ["Search for \u201C", inputValue, "\u201D", predefinedSearch.description ? " \u2014 ".concat(predefinedSearch.description) : ""] })] })] }) }, index));
|
|
1741
1966
|
})] }), _jsx("hr", { className: "solid-search-overlay-section-separator" })] })), _jsxs("div", { className: "solid-search-overlay-section solid-search-overlay-section--search", children: [_jsxs("h6", { className: "my-1 solid-search-overlay-heading solid-search-overlay-section-title solid-search-overlay-heading-with-icon", children: [_jsx(Search, { size: 13 }), _jsx("span", { children: "Search individual fields" }), _jsx("span", { className: "solid-search-overlay-section-count", children: searchableFields.length })] }), searchableFields.length > 0 ? (searchableFields.map(function (value, index) {
|
|
1742
1967
|
var optionIndex = overlayOptions.findIndex(function (option) { return option.id === "field:".concat(value.fieldName); });
|
|
1743
1968
|
return (_jsx(SolidButton, { id: getOverlayOptionId(optionIndex), role: "option", "aria-selected": focusedIndex === optionIndex, variant: "ghost", size: "sm", className: "text-color solid-search-overlay-option ".concat(focusedIndex === optionIndex ? "solid-search-overlay-option-active" : ""), onMouseDown: function (e) {
|
|
1744
1969
|
e.preventDefault();
|
|
1970
|
+
e.stopPropagation();
|
|
1971
|
+
}, onClick: function (e) {
|
|
1972
|
+
e.stopPropagation();
|
|
1745
1973
|
var currentValue = inputValue === null || inputValue === void 0 ? void 0 : inputValue.trim();
|
|
1746
1974
|
if (currentValue) {
|
|
1747
1975
|
var values = currentValue.split(",").map(function (v) { return v.trim(); }).filter(function (v) { return v !== ""; });
|
|
@@ -1763,7 +1991,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
|
|
|
1763
1991
|
_jsx(_Fragment, { children: _jsx("div", { className: "solid-search-overlay-empty", children: _jsxs("div", { className: "solid-search-overlay-panel-callout", children: [_jsx("div", { className: "solid-search-overlay-panel-callout-icon", children: _jsx(Search, { size: 13 }) }), _jsxs("div", { className: "solid-search-overlay-panel-callout-copy", children: [_jsx("div", { className: "solid-search-overlay-empty-title", children: "Start typing to search" }), _jsxs("div", { className: "solid-search-overlay-empty-subtitle", children: ["Enter a value to see suggested searches and searchable ", searchableEntityLabel, " fields."] })] })] }) }) }), selectableSavedFilters.length > 0 &&
|
|
1764
1992
|
_jsxs(_Fragment, { children: [_jsx("hr", { className: "solid-search-overlay-section-separator" }), _jsxs("div", { className: "solid-search-overlay-section solid-search-overlay-section--saved", children: [_jsxs("div", { className: "solid-search-overlay-panel-callout solid-search-overlay-panel-callout-compact items-center", children: [_jsx("div", { className: "solid-search-overlay-panel-callout-icon", children: _jsx(Bookmark, { size: 13 }) }), _jsx("div", { className: "solid-search-overlay-panel-callout-copy", children: _jsxs("p", { className: "solid-search-overlay-heading solid-search-overlay-section-title", children: [_jsx("span", { children: "Saved filters" }), _jsx("span", { className: "solid-search-overlay-section-count", children: selectableSavedFilters.length })] }) })] }), _jsx("div", { className: "solid-search-overlay-saved-list", children: selectableSavedFilters.map(function (savedfilter, index) {
|
|
1765
1993
|
var _a;
|
|
1766
|
-
return (_jsx(SavedFilterList, { savedfilter: savedfilter, activeSavedFilterReference: (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.systemKey) || (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.id), applySavedFilter: applySavedFilter, openSavedCustomFilter: openSavedCustomFilter, setSavedFilterTobeDeleted: setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible: setIsDeleteSQDialogVisible, isFocused: ((_a = overlayOptions[focusedIndex]) === null || _a === void 0 ? void 0 : _a.id) === "saved:".concat(savedfilter.id), onMouseEnter: function () {
|
|
1994
|
+
return (_jsx(SavedFilterList, { savedfilter: savedfilter, activeSavedFilterReference: (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.systemKey) || (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.id), activeSavedFilterReferences: allowMultipleSavedFilters ? activeSavedFilters.map(function (item) { return getSavedFilterKey(item.data); }) : undefined, applySavedFilter: applySavedFilter, openSavedCustomFilter: openSavedCustomFilter, setSavedFilterTobeDeleted: setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible: setIsDeleteSQDialogVisible, isFocused: ((_a = overlayOptions[focusedIndex]) === null || _a === void 0 ? void 0 : _a.id) === "saved:".concat(savedfilter.id), onMouseEnter: function () {
|
|
1767
1995
|
var optIndex = overlayOptions.findIndex(function (o) { return o.id === "saved:".concat(savedfilter.id); });
|
|
1768
1996
|
if (optIndex !== -1)
|
|
1769
1997
|
setFocusedIndex(optIndex);
|