@gen3/core 0.10.93 → 0.10.95
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/cjs/index.js +386 -122
- package/dist/cjs/index.js.map +1 -1
- package/dist/dts/constants.d.ts +1 -0
- package/dist/dts/constants.d.ts.map +1 -1
- package/dist/dts/features/cohort/cohortSlice.d.ts +152 -77
- package/dist/dts/features/cohort/cohortSlice.d.ts.map +1 -1
- package/dist/dts/features/cohort/index.d.ts +2 -2
- package/dist/dts/features/cohort/index.d.ts.map +1 -1
- package/dist/dts/features/cohort/reducers.d.ts +2 -2
- package/dist/dts/features/cohort/utils.d.ts +2 -0
- package/dist/dts/features/cohort/utils.d.ts.map +1 -0
- package/dist/dts/features/filters/filters.d.ts +17 -0
- package/dist/dts/features/filters/filters.d.ts.map +1 -1
- package/dist/dts/features/filters/index.d.ts +2 -2
- package/dist/dts/features/filters/index.d.ts.map +1 -1
- package/dist/dts/features/filters/tests/filters.unit.test.d.ts +2 -0
- package/dist/dts/features/filters/tests/filters.unit.test.d.ts.map +1 -0
- package/dist/dts/features/gen3Apps/Gen3AppRTKQ.d.ts +4 -8
- package/dist/dts/features/gen3Apps/Gen3AppRTKQ.d.ts.map +1 -1
- package/dist/dts/features/guppy/guppySlice.d.ts +3 -1
- package/dist/dts/features/guppy/guppySlice.d.ts.map +1 -1
- package/dist/dts/features/guppy/index.d.ts +2 -0
- package/dist/dts/features/guppy/index.d.ts.map +1 -1
- package/dist/dts/features/guppy/processing.d.ts +20 -0
- package/dist/dts/features/guppy/processing.d.ts.map +1 -0
- package/dist/dts/features/guppy/tests/processing.unit.test.d.ts +2 -0
- package/dist/dts/features/guppy/tests/processing.unit.test.d.ts.map +1 -0
- package/dist/dts/features/requestor/index.d.ts +2 -0
- package/dist/dts/features/requestor/index.d.ts.map +1 -0
- package/dist/dts/features/requestor/requestorSlice.d.ts +298 -0
- package/dist/dts/features/requestor/requestorSlice.d.ts.map +1 -0
- package/dist/dts/features/user/index.d.ts +2 -2
- package/dist/dts/features/user/index.d.ts.map +1 -1
- package/dist/dts/features/user/userSliceRTK.d.ts +171 -4
- package/dist/dts/features/user/userSliceRTK.d.ts.map +1 -1
- package/dist/dts/hooks.d.ts +2 -2
- package/dist/dts/index.d.ts +1 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/reducers.d.ts +3 -3
- package/dist/dts/store.d.ts +4 -4
- package/dist/dts/types/index.d.ts +12 -6
- package/dist/dts/types/index.d.ts.map +1 -1
- package/dist/dts/utils/extractvalues.d.ts +1 -4
- package/dist/dts/utils/extractvalues.d.ts.map +1 -1
- package/dist/dts/utils/fetch.d.ts +1 -1
- package/dist/dts/utils/fetch.d.ts.map +1 -1
- package/dist/esm/index.js +371 -124
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +5459 -4916
- package/package.json +3 -3
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSelector, createAsyncThunk, createSlice, combineReducers, configureStore
|
|
1
|
+
import { createSelector, createAsyncThunk, createSlice, createEntityAdapter, nanoid, combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
2
2
|
import { createApi, fetchBaseQuery, buildCreateApi, coreModule, reactHooksModule } from '@reduxjs/toolkit/query/react';
|
|
3
3
|
import { getCookie } from 'cookies-next';
|
|
4
4
|
import { QueryStatus, setupListeners } from '@reduxjs/toolkit/query';
|
|
@@ -15,9 +15,9 @@ import { openDB } from 'idb';
|
|
|
15
15
|
import { v5 } from 'uuid';
|
|
16
16
|
import { CookiesProvider } from 'react-cookie';
|
|
17
17
|
import useSWR from 'swr';
|
|
18
|
-
import { JSONPath } from 'jsonpath-plus';
|
|
19
18
|
import { flatten } from 'flat';
|
|
20
19
|
import Papa from 'papaparse';
|
|
20
|
+
import { JSONPath } from 'jsonpath-plus';
|
|
21
21
|
import Queue from 'queue';
|
|
22
22
|
|
|
23
23
|
const GEN3_COMMONS_NAME = process.env.NEXT_PUBLIC_GEN3_COMMONS_NAME || 'gen3';
|
|
@@ -40,6 +40,7 @@ const GEN3_DATA_LIBRARY_API = process.env.NEXT_PUBLIC_GEN3_DATA_LIBRARY_API || `
|
|
|
40
40
|
const GEN3_CROSSWALK_API = process.env.NEXT_PUBLIC_GEN3_CROSSWALK_API || `${GEN3_API}/mds`;
|
|
41
41
|
const GEN3_SOWER_API = process.env.NEXT_PUBLIC_GEN3_SOWER_API || `${GEN3_API}/jobs`;
|
|
42
42
|
const GEN3_MANIFEST_API = process.env.NEXT_PUBLIC_GEN3_MANIFEST_API || `${GEN3_API}/manifests`;
|
|
43
|
+
const GEN3_REQUESTOR_API = process.env.NEXT_PUBLIC_GEN3_REQUESTOR_API || `${GEN3_API}/requestor`;
|
|
43
44
|
var Accessibility = /*#__PURE__*/ function(Accessibility) {
|
|
44
45
|
Accessibility["ACCESSIBLE"] = "accessible";
|
|
45
46
|
Accessibility["UNACCESSIBLE"] = "unaccessible";
|
|
@@ -180,7 +181,7 @@ const userAuthApi = createApi({
|
|
|
180
181
|
const EMPTY_USER = {
|
|
181
182
|
username: undefined
|
|
182
183
|
};
|
|
183
|
-
const { useFetchUserDetailsQuery, useLazyFetchUserDetailsQuery, useGetCSRFQuery } = userAuthApi;
|
|
184
|
+
const { useFetchUserDetailsQuery, useLazyFetchUserDetailsQuery, useGetCSRFQuery, useLazyGetCSRFQuery } = userAuthApi;
|
|
184
185
|
const userAuthApiMiddleware = userAuthApi.middleware;
|
|
185
186
|
const userAuthApiReducerPath = userAuthApi.reducerPath;
|
|
186
187
|
const userAuthApiReducer = userAuthApi.reducer;
|
|
@@ -396,7 +397,7 @@ const useCoreDispatch = useDispatch.withTypes();
|
|
|
396
397
|
});
|
|
397
398
|
const isAuthenticated = (loginStatus)=>loginStatus === 'authenticated';
|
|
398
399
|
const isPending = (loginStatus)=>loginStatus === 'pending';
|
|
399
|
-
const initialState$
|
|
400
|
+
const initialState$8 = {
|
|
400
401
|
status: 'uninitialized',
|
|
401
402
|
loginStatus: 'unauthenticated',
|
|
402
403
|
error: undefined
|
|
@@ -407,9 +408,9 @@ const initialState$7 = {
|
|
|
407
408
|
* @returns: status messages wrapped around fetchUserState response dict
|
|
408
409
|
*/ const slice$4 = createSlice({
|
|
409
410
|
name: 'fence/user',
|
|
410
|
-
initialState: initialState$
|
|
411
|
+
initialState: initialState$8,
|
|
411
412
|
reducers: {
|
|
412
|
-
resetUserState: ()=>initialState$
|
|
413
|
+
resetUserState: ()=>initialState$8
|
|
413
414
|
},
|
|
414
415
|
extraReducers: (builder)=>{
|
|
415
416
|
builder.addCase(fetchUserState.fulfilled, (_, action)=>{
|
|
@@ -551,11 +552,11 @@ const { useGetExternalLoginsQuery, useLazyGetExternalLoginsQuery, useLazyIsExter
|
|
|
551
552
|
}
|
|
552
553
|
};
|
|
553
554
|
|
|
554
|
-
const initialState$
|
|
555
|
+
const initialState$7 = {};
|
|
555
556
|
// TODO: document what this does
|
|
556
557
|
const slice$3 = createSlice({
|
|
557
558
|
name: 'drsResolver',
|
|
558
|
-
initialState: initialState$
|
|
559
|
+
initialState: initialState$7,
|
|
559
560
|
reducers: {
|
|
560
561
|
setDRSHostnames: (_state, action)=>{
|
|
561
562
|
return action.payload;
|
|
@@ -576,12 +577,12 @@ const lookupGen3App = (id)=>{
|
|
|
576
577
|
return REGISTRY[id];
|
|
577
578
|
};
|
|
578
579
|
|
|
579
|
-
const initialState$
|
|
580
|
+
const initialState$6 = {
|
|
580
581
|
gen3Apps: {}
|
|
581
582
|
};
|
|
582
583
|
const slice$2 = createSlice({
|
|
583
584
|
name: 'gen3Apps',
|
|
584
|
-
initialState: initialState$
|
|
585
|
+
initialState: initialState$6,
|
|
585
586
|
reducers: {
|
|
586
587
|
addGen3AppMetadata: (state, action)=>{
|
|
587
588
|
const { name, requiredEntityTypes } = action.payload;
|
|
@@ -612,13 +613,13 @@ const selectGen3AppByName = (appName)=>lookupGen3App(appName); // TODO: memoize
|
|
|
612
613
|
Modals["GeneralErrorModal"] = "GeneralErrorModal";
|
|
613
614
|
return Modals;
|
|
614
615
|
}({});
|
|
615
|
-
const initialState$
|
|
616
|
+
const initialState$5 = {
|
|
616
617
|
currentModal: null
|
|
617
618
|
};
|
|
618
619
|
//Creates a modal slice for tracking showModal and hideModal state.
|
|
619
620
|
const slice$1 = createSlice({
|
|
620
621
|
name: 'modals',
|
|
621
|
-
initialState: initialState$
|
|
622
|
+
initialState: initialState$5,
|
|
622
623
|
reducers: {
|
|
623
624
|
showModal: (state, action)=>{
|
|
624
625
|
state.currentModal = action.payload.modal;
|
|
@@ -688,7 +689,7 @@ const isTimeGreaterThan = (startTime, minutes)=>{
|
|
|
688
689
|
};
|
|
689
690
|
|
|
690
691
|
const NO_WORKSPACE_ID = 'none';
|
|
691
|
-
const initialState$
|
|
692
|
+
const initialState$4 = {
|
|
692
693
|
id: NO_WORKSPACE_ID,
|
|
693
694
|
status: WorkspaceStatus.NotFound,
|
|
694
695
|
requestedStatus: RequestedWorkspaceStatus.Unset,
|
|
@@ -696,7 +697,7 @@ const initialState$3 = {
|
|
|
696
697
|
};
|
|
697
698
|
const slice = createSlice({
|
|
698
699
|
name: 'ActiveWorkspace',
|
|
699
|
-
initialState: initialState$
|
|
700
|
+
initialState: initialState$4,
|
|
700
701
|
reducers: {
|
|
701
702
|
setActiveWorkspaceId: (state, action)=>{
|
|
702
703
|
state = {
|
|
@@ -786,119 +787,260 @@ const guppyAPISliceMiddleware = guppyApi.middleware;
|
|
|
786
787
|
const guppyApiSliceReducerPath = guppyApi.reducerPath;
|
|
787
788
|
const guppyApiReducer = guppyApi.reducer;
|
|
788
789
|
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
790
|
+
/**
|
|
791
|
+
* Cohorts in Gen3 are defined as a set of filters for each index in the data.
|
|
792
|
+
* This means one cohort id defined for all "tabs" in CohortBuilder (explorer)
|
|
793
|
+
* Switching a cohort is means that all the cohorts for the index changes.
|
|
794
|
+
*/ const UNSAVED_COHORT_NAME = 'Unsaved_Cohort';
|
|
795
|
+
const NULL_COHORT_ID = 'null_cohort_id';
|
|
796
|
+
const newCohort = ({ filters = {}, customName })=>{
|
|
797
|
+
const ts = new Date();
|
|
798
|
+
const newName = customName;
|
|
799
|
+
const newId = createCohortId();
|
|
800
|
+
return {
|
|
801
|
+
name: newName,
|
|
802
|
+
id: newId,
|
|
803
|
+
filters: filters ?? {},
|
|
804
|
+
modified: false,
|
|
805
|
+
saved: false,
|
|
806
|
+
modified_datetime: ts.toISOString()
|
|
807
|
+
};
|
|
794
808
|
};
|
|
795
|
-
const
|
|
796
|
-
|
|
797
|
-
|
|
809
|
+
const createCohortId = ()=>nanoid();
|
|
810
|
+
const cohortsAdapter = createEntityAdapter({
|
|
811
|
+
sortComparer: (a, b)=>{
|
|
812
|
+
if (a.modified_datetime <= b.modified_datetime) return 1;
|
|
813
|
+
else return -1;
|
|
814
|
+
},
|
|
815
|
+
selectId: (cohort)=>cohort.id
|
|
816
|
+
});
|
|
817
|
+
// Create an initial unsaved cohort
|
|
818
|
+
const initialCohort = newCohort({
|
|
819
|
+
customName: UNSAVED_COHORT_NAME
|
|
820
|
+
});
|
|
821
|
+
const emptyInitialState = cohortsAdapter.getInitialState({
|
|
822
|
+
currentCohort: initialCohort.id,
|
|
823
|
+
message: undefined
|
|
824
|
+
});
|
|
825
|
+
// Set the initial cohort in the adapter state
|
|
826
|
+
const initialState$3 = cohortsAdapter.setOne(emptyInitialState, initialCohort);
|
|
827
|
+
const getCurrentCohort = (state)=>{
|
|
828
|
+
if (state.currentCohort) {
|
|
829
|
+
return state.currentCohort;
|
|
798
830
|
}
|
|
831
|
+
return NULL_COHORT_ID;
|
|
799
832
|
};
|
|
800
|
-
|
|
801
|
-
/*
|
|
802
|
-
const cohortsAdapter = createEntityAdapter<Cohort>({
|
|
803
|
-
sortComparer: (a, b) => {
|
|
804
|
-
if (a.modified_datetime <= b.modified_datetime) return 1;
|
|
805
|
-
else return -1;
|
|
806
|
-
},
|
|
807
|
-
});
|
|
808
|
-
*/ /**
|
|
833
|
+
/**
|
|
809
834
|
* Redux slice for cohort filters
|
|
810
835
|
*/ const cohortSlice = createSlice({
|
|
811
836
|
name: 'cohort',
|
|
812
|
-
initialState:
|
|
837
|
+
initialState: initialState$3,
|
|
813
838
|
reducers: {
|
|
839
|
+
addNewDefaultUnsavedCohort: (state)=>{
|
|
840
|
+
const cohort = newCohort({
|
|
841
|
+
customName: UNSAVED_COHORT_NAME
|
|
842
|
+
});
|
|
843
|
+
cohortsAdapter.addOne(state, cohort);
|
|
844
|
+
state.currentCohort = cohort.id;
|
|
845
|
+
state.message = [
|
|
846
|
+
`newCohort|${cohort.name}|${cohort.id}`
|
|
847
|
+
];
|
|
848
|
+
},
|
|
849
|
+
updateCohortName: (state, action)=>{
|
|
850
|
+
cohortsAdapter.updateOne(state, {
|
|
851
|
+
id: getCurrentCohort(state),
|
|
852
|
+
changes: {
|
|
853
|
+
name: action.payload,
|
|
854
|
+
modified: true,
|
|
855
|
+
modified_datetime: new Date().toISOString()
|
|
856
|
+
}
|
|
857
|
+
});
|
|
858
|
+
},
|
|
859
|
+
removeCohort: (state, action)=>{
|
|
860
|
+
const removedCohort = state.entities[action?.payload?.id || getCurrentCohort(state)];
|
|
861
|
+
cohortsAdapter.removeOne(state, action?.payload?.id || getCurrentCohort(state));
|
|
862
|
+
if (action?.payload.shouldShowMessage) {
|
|
863
|
+
state.message = [
|
|
864
|
+
`deleteCohort|${removedCohort?.name}|${state.currentCohort}`
|
|
865
|
+
];
|
|
866
|
+
}
|
|
867
|
+
},
|
|
814
868
|
// adds a filter to the cohort filter set at the given index
|
|
815
869
|
updateCohortFilter: (state, action)=>{
|
|
816
870
|
const { index, field, filter } = action.payload;
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
871
|
+
const currentCohortId = getCurrentCohort(state);
|
|
872
|
+
if (!state.entities[currentCohortId]) {
|
|
873
|
+
return;
|
|
874
|
+
}
|
|
875
|
+
cohortsAdapter.updateOne(state, {
|
|
876
|
+
id: currentCohortId,
|
|
877
|
+
changes: {
|
|
820
878
|
filters: {
|
|
821
|
-
...state.
|
|
879
|
+
...state.entities[currentCohortId].filters,
|
|
822
880
|
[index]: {
|
|
823
|
-
mode: state.
|
|
881
|
+
mode: state.entities[currentCohortId]?.filters[index]?.mode ?? 'and',
|
|
824
882
|
root: {
|
|
825
|
-
...state.
|
|
883
|
+
...state.entities[currentCohortId]?.filters[index]?.root ?? {},
|
|
826
884
|
[field]: filter
|
|
827
885
|
}
|
|
828
886
|
}
|
|
829
|
-
}
|
|
887
|
+
},
|
|
888
|
+
modified: true,
|
|
889
|
+
modified_datetime: new Date().toISOString()
|
|
830
890
|
}
|
|
831
|
-
};
|
|
891
|
+
});
|
|
832
892
|
},
|
|
833
893
|
setCohortFilter: (state, action)=>{
|
|
834
894
|
const { index, filters } = action.payload;
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
895
|
+
const currentCohortId = getCurrentCohort(state);
|
|
896
|
+
if (!state.entities[currentCohortId]) {
|
|
897
|
+
console.error(`no cohort with id=${currentCohortId} defined`);
|
|
898
|
+
return;
|
|
899
|
+
}
|
|
900
|
+
cohortsAdapter.updateOne(state, {
|
|
901
|
+
id: currentCohortId,
|
|
902
|
+
changes: {
|
|
838
903
|
filters: {
|
|
839
|
-
...state.
|
|
904
|
+
...state.entities[currentCohortId].filters,
|
|
840
905
|
[index]: filters
|
|
841
|
-
}
|
|
906
|
+
},
|
|
907
|
+
modified: true,
|
|
908
|
+
modified_datetime: new Date().toISOString()
|
|
842
909
|
}
|
|
843
|
-
};
|
|
910
|
+
});
|
|
844
911
|
},
|
|
845
912
|
setCohortIndexFilters: (state, action)=>{
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
913
|
+
const currentCohortId = getCurrentCohort(state);
|
|
914
|
+
if (!state.entities[currentCohortId]) {
|
|
915
|
+
console.error(`no cohort with id=${currentCohortId} defined`);
|
|
916
|
+
return;
|
|
917
|
+
}
|
|
918
|
+
cohortsAdapter.updateOne(state, {
|
|
919
|
+
id: currentCohortId,
|
|
920
|
+
changes: {
|
|
921
|
+
filters: action.payload.filters,
|
|
922
|
+
modified: true,
|
|
923
|
+
modified_datetime: new Date().toISOString()
|
|
852
924
|
}
|
|
853
|
-
};
|
|
925
|
+
});
|
|
854
926
|
},
|
|
855
927
|
// removes a filter to the cohort filter set at the given index
|
|
856
928
|
removeCohortFilter: (state, action)=>{
|
|
857
929
|
const { index, field } = action.payload;
|
|
858
|
-
const
|
|
930
|
+
const currentCohortId = getCurrentCohort(state);
|
|
931
|
+
if (!state.entities[currentCohortId]) {
|
|
932
|
+
console.error(`no cohort with id=${currentCohortId} defined`);
|
|
933
|
+
return;
|
|
934
|
+
}
|
|
935
|
+
const filters = state.entities[currentCohortId]?.filters[index]?.root;
|
|
859
936
|
if (!filters) {
|
|
860
937
|
return;
|
|
861
938
|
}
|
|
862
939
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
863
940
|
const { [field]: _a, ...updated } = filters;
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
941
|
+
cohortsAdapter.updateOne(state, {
|
|
942
|
+
id: currentCohortId,
|
|
943
|
+
changes: {
|
|
867
944
|
filters: {
|
|
868
|
-
...state.
|
|
945
|
+
...state.entities[currentCohortId]?.filters,
|
|
869
946
|
[index]: {
|
|
870
|
-
mode: state.
|
|
947
|
+
mode: state.entities[currentCohortId].filters[index].mode,
|
|
871
948
|
root: updated
|
|
872
949
|
}
|
|
873
|
-
}
|
|
950
|
+
},
|
|
951
|
+
modified: true,
|
|
952
|
+
modified_datetime: new Date().toISOString()
|
|
874
953
|
}
|
|
875
|
-
};
|
|
954
|
+
});
|
|
876
955
|
},
|
|
877
956
|
// removes all filters from the cohort filter set at the given index
|
|
878
957
|
clearCohortFilters: (state, action)=>{
|
|
879
958
|
const { index } = action.payload;
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
959
|
+
const currentCohortId = getCurrentCohort(state);
|
|
960
|
+
if (!state.entities[currentCohortId]) {
|
|
961
|
+
console.error(`no cohort with id=${currentCohortId} defined`);
|
|
962
|
+
return;
|
|
963
|
+
}
|
|
964
|
+
const filters = state.entities[currentCohortId]?.filters[index]?.root;
|
|
965
|
+
if (!filters) {
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
968
|
+
cohortsAdapter.updateOne(state, {
|
|
969
|
+
id: currentCohortId,
|
|
970
|
+
changes: {
|
|
883
971
|
filters: {
|
|
884
|
-
...state.
|
|
972
|
+
...state.entities[currentCohortId]?.filters,
|
|
885
973
|
[index]: {
|
|
886
|
-
// empty filter set
|
|
887
974
|
mode: 'and',
|
|
888
975
|
root: {}
|
|
889
976
|
}
|
|
890
|
-
}
|
|
977
|
+
},
|
|
978
|
+
modified: true,
|
|
979
|
+
modified_datetime: new Date().toISOString()
|
|
891
980
|
}
|
|
892
|
-
};
|
|
981
|
+
});
|
|
982
|
+
},
|
|
983
|
+
discardCohortChanges: (state, action)=>{
|
|
984
|
+
const { index, id, filters } = action.payload;
|
|
985
|
+
const cohortId = id ?? getCurrentCohort(state);
|
|
986
|
+
cohortsAdapter.updateOne(state, {
|
|
987
|
+
id: cohortId,
|
|
988
|
+
changes: {
|
|
989
|
+
filters: {
|
|
990
|
+
...state.entities[cohortId].filters,
|
|
991
|
+
[index]: filters || {
|
|
992
|
+
mode: 'and',
|
|
993
|
+
root: {}
|
|
994
|
+
}
|
|
995
|
+
},
|
|
996
|
+
modified: false,
|
|
997
|
+
modified_datetime: new Date().toISOString()
|
|
998
|
+
}
|
|
999
|
+
});
|
|
1000
|
+
},
|
|
1001
|
+
setCurrentCohortId: (state, action)=>{
|
|
1002
|
+
state.currentCohort = action.payload;
|
|
1003
|
+
},
|
|
1004
|
+
/** @hidden */ setCohortList: (state, action)=>{
|
|
1005
|
+
if (!action.payload) {
|
|
1006
|
+
cohortsAdapter.removeMany(state, state.ids);
|
|
1007
|
+
} else {
|
|
1008
|
+
cohortsAdapter.upsertMany(state, [
|
|
1009
|
+
...action.payload
|
|
1010
|
+
]);
|
|
1011
|
+
}
|
|
893
1012
|
}
|
|
894
1013
|
}
|
|
895
1014
|
});
|
|
1015
|
+
/**
|
|
1016
|
+
* Returns the selectors for the cohorts EntityAdapter
|
|
1017
|
+
* @param state - the CoreState
|
|
1018
|
+
*
|
|
1019
|
+
* @hidden
|
|
1020
|
+
*/ const cohortSelectors = cohortsAdapter.getSelectors((state)=>state.cohorts.cohort);
|
|
1021
|
+
/**
|
|
1022
|
+
* Returns an array of all the cohorts
|
|
1023
|
+
* @param state - the CoreState
|
|
1024
|
+
* @category Cohort
|
|
1025
|
+
* @category Selectors
|
|
1026
|
+
*/ const selectAllCohorts = (state)=>cohortSelectors.selectEntities(state);
|
|
1027
|
+
const getCurrentCohortFromCoreState = (state)=>{
|
|
1028
|
+
if (state.cohorts.cohort.currentCohort) {
|
|
1029
|
+
return state.cohorts.cohort.currentCohort;
|
|
1030
|
+
}
|
|
1031
|
+
return NULL_COHORT_ID;
|
|
1032
|
+
};
|
|
896
1033
|
// Filter actions: addFilter, removeFilter, updateFilter
|
|
897
|
-
const { updateCohortFilter, setCohortFilter, setCohortIndexFilters, removeCohortFilter, clearCohortFilters } = cohortSlice.actions;
|
|
898
|
-
const selectCohortFilters = (state)=>
|
|
899
|
-
const
|
|
900
|
-
|
|
901
|
-
|
|
1034
|
+
const { updateCohortFilter, setCohortFilter, setCohortIndexFilters, removeCohortFilter, clearCohortFilters, removeCohort, discardCohortChanges, addNewDefaultUnsavedCohort, setCurrentCohortId, setCohortList } = cohortSlice.actions;
|
|
1035
|
+
const selectCohortFilters = (state)=>{
|
|
1036
|
+
const currentCohortId = getCurrentCohortFromCoreState(state);
|
|
1037
|
+
return state.cohorts.cohort.entities[currentCohortId]?.filters;
|
|
1038
|
+
};
|
|
1039
|
+
const selectCurrentCohortId = (state)=>{
|
|
1040
|
+
return getCurrentCohort(state.cohorts.cohort);
|
|
1041
|
+
};
|
|
1042
|
+
const selectCurrentCohort = (state)=>cohortSelectors.selectById(state, getCurrentCohortFromCoreState(state));
|
|
1043
|
+
const selectCurrentCohortName = (state)=>cohortSelectors.selectById(state, getCurrentCohortFromCoreState(state)).name;
|
|
902
1044
|
/**
|
|
903
1045
|
* Select a filter by its name from the current cohort. If the filter is not found
|
|
904
1046
|
* returns undefined.
|
|
@@ -906,7 +1048,40 @@ const selectCurrentCohortName = (state)=>state.cohorts.cohort.cohort.name;
|
|
|
906
1048
|
* @param index which cohort index to select from
|
|
907
1049
|
* @param name name of the filter to select
|
|
908
1050
|
*/ const selectIndexedFilterByName = (state, index, name)=>{
|
|
909
|
-
return state.
|
|
1051
|
+
return cohortSelectors.selectById(state, getCurrentCohortFromCoreState(state)).filters[index]?.root[name];
|
|
1052
|
+
};
|
|
1053
|
+
/**
|
|
1054
|
+
* a thunk to optionally create a caseSet when switching cohorts.
|
|
1055
|
+
* Note the assumption if the caseset member has ids then the caseset has previously been created.
|
|
1056
|
+
*/ const setActiveCohort = (cohortId)=>async (dispatch /* getState */ )=>{
|
|
1057
|
+
dispatch(setCurrentCohortId(cohortId));
|
|
1058
|
+
};
|
|
1059
|
+
/**
|
|
1060
|
+
* Returns all the cohorts in the state
|
|
1061
|
+
* @param state - the CoreState
|
|
1062
|
+
*
|
|
1063
|
+
* @category Cohort
|
|
1064
|
+
* @category Selectors
|
|
1065
|
+
*/ const selectAvailableCohorts = (state)=>cohortSelectors.selectAll(state);
|
|
1066
|
+
/**
|
|
1067
|
+
* Returns if the current cohort is modified
|
|
1068
|
+
* @param state - the CoreState
|
|
1069
|
+
* @category Cohort
|
|
1070
|
+
* @category Selectors
|
|
1071
|
+
* @hidden
|
|
1072
|
+
*/ const selectCurrentCohortModified = (state)=>{
|
|
1073
|
+
const cohort = cohortSelectors.selectById(state, getCurrentCohortFromCoreState(state));
|
|
1074
|
+
return cohort?.modified;
|
|
1075
|
+
};
|
|
1076
|
+
/**
|
|
1077
|
+
* Returns if the current cohort has been saved
|
|
1078
|
+
* @param state - the CoreState
|
|
1079
|
+
* @category Cohort
|
|
1080
|
+
* @category Selectors
|
|
1081
|
+
* @hidden
|
|
1082
|
+
*/ const selectCurrentCohortSaved = (state)=>{
|
|
1083
|
+
const cohort = cohortSelectors.selectById(state, getCurrentCohortFromCoreState(state));
|
|
1084
|
+
return cohort?.saved;
|
|
910
1085
|
};
|
|
911
1086
|
const EmptyFilterSet = {
|
|
912
1087
|
mode: 'and',
|
|
@@ -918,8 +1093,23 @@ const EmptyFilterSet = {
|
|
|
918
1093
|
* @param state - Core
|
|
919
1094
|
* @param index which cohort index to select from
|
|
920
1095
|
*/ const selectIndexFilters = (state, index)=>{
|
|
921
|
-
|
|
1096
|
+
const cohort = cohortSelectors.selectById(state, getCurrentCohortFromCoreState(state));
|
|
1097
|
+
if (!cohort) {
|
|
1098
|
+
console.error('No Cohort Defined');
|
|
1099
|
+
}
|
|
1100
|
+
return cohort?.filters?.[index] ?? EmptyFilterSet;
|
|
922
1101
|
};
|
|
1102
|
+
const setActiveCohortList = (cohorts)=>async (dispatch, getState)=>{
|
|
1103
|
+
// set the list of all cohorts
|
|
1104
|
+
if (cohorts) {
|
|
1105
|
+
dispatch(setCohortList(cohorts));
|
|
1106
|
+
return;
|
|
1107
|
+
}
|
|
1108
|
+
const availableCohorts = selectAllCohorts(getState());
|
|
1109
|
+
if (Object.keys(availableCohorts).length === 0) {
|
|
1110
|
+
dispatch(addNewDefaultUnsavedCohort());
|
|
1111
|
+
}
|
|
1112
|
+
};
|
|
923
1113
|
const cohortReducer = cohortSlice.reducer;
|
|
924
1114
|
|
|
925
1115
|
const initialState$2 = {};
|
|
@@ -1038,7 +1228,7 @@ const persistConfig = {
|
|
|
1038
1228
|
version: 1,
|
|
1039
1229
|
storage,
|
|
1040
1230
|
whitelist: [
|
|
1041
|
-
'
|
|
1231
|
+
'cohorts',
|
|
1042
1232
|
'activeWorkspace'
|
|
1043
1233
|
]
|
|
1044
1234
|
};
|
|
@@ -1278,13 +1468,13 @@ const fetchFencePresignedURL = async ({ guid, method = 'GET', onAbort = ()=>null
|
|
|
1278
1468
|
} : {}
|
|
1279
1469
|
});
|
|
1280
1470
|
if (!response.ok) {
|
|
1281
|
-
throw new HTTPError(response.status, response.statusText);
|
|
1471
|
+
throw new HTTPError(response.status, response.statusText, response.text());
|
|
1282
1472
|
}
|
|
1283
1473
|
if (response.status === 204) {
|
|
1284
1474
|
// no content so return null
|
|
1285
1475
|
return null;
|
|
1286
1476
|
}
|
|
1287
|
-
return response.json();
|
|
1477
|
+
return await response.json();
|
|
1288
1478
|
};
|
|
1289
1479
|
|
|
1290
1480
|
const queryWTSFederatedLoginStatus = async (signal)=>{
|
|
@@ -3066,9 +3256,11 @@ const createGen3AppWithOwnStore = (options)=>{
|
|
|
3066
3256
|
return Gen3AppWrapper;
|
|
3067
3257
|
};
|
|
3068
3258
|
|
|
3069
|
-
const createAppApiForRTKQ = (reducerPath, baseQuery)=>{
|
|
3259
|
+
const createAppApiForRTKQ = (reducerPath, name, version, additionalReducers, baseQuery)=>{
|
|
3260
|
+
const nameVersion = `${name}::${version}`;
|
|
3261
|
+
const id = v5(nameVersion, GEN3_APP_NAMESPACE);
|
|
3070
3262
|
const appContext = React.createContext(null);
|
|
3071
|
-
const useAppSelector =
|
|
3263
|
+
const useAppSelector = createSelectorHook(appContext);
|
|
3072
3264
|
const useAppDispatch = createDispatchHook(appContext);
|
|
3073
3265
|
const useAppStore = createStoreHook(appContext);
|
|
3074
3266
|
const appCreateApi = buildCreateApi(coreModule(), reactHooksModule({
|
|
@@ -3084,13 +3276,12 @@ const createAppApiForRTKQ = (reducerPath, baseQuery)=>{
|
|
|
3084
3276
|
baseUrl: `${GEN3_API}`,
|
|
3085
3277
|
prepareHeaders: (headers)=>{
|
|
3086
3278
|
headers.set('Content-Type', 'application/json');
|
|
3087
|
-
let accessToken = undefined;
|
|
3088
3279
|
if (process.env.NODE_ENV === 'development') {
|
|
3089
3280
|
// NOTE: This cookie can only be accessed from the client side
|
|
3090
3281
|
// in development mode. Otherwise, the cookie is set as httpOnly
|
|
3091
|
-
accessToken = getCookie('credentials_token');
|
|
3282
|
+
const accessToken = getCookie('credentials_token');
|
|
3283
|
+
if (accessToken) headers.set('Authorization', `Bearer ${accessToken}`);
|
|
3092
3284
|
}
|
|
3093
|
-
if (accessToken) headers.set('Authorization', `Bearer ${accessToken}`);
|
|
3094
3285
|
return headers;
|
|
3095
3286
|
}
|
|
3096
3287
|
}),
|
|
@@ -3098,8 +3289,12 @@ const createAppApiForRTKQ = (reducerPath, baseQuery)=>{
|
|
|
3098
3289
|
});
|
|
3099
3290
|
const appMiddleware = appRTKQApi.middleware;
|
|
3100
3291
|
const appStore = configureStore({
|
|
3292
|
+
devTools: {
|
|
3293
|
+
name: `${nameVersion}::${id}`
|
|
3294
|
+
},
|
|
3101
3295
|
reducer: {
|
|
3102
|
-
[appRTKQApi.reducerPath]: appRTKQApi.reducer
|
|
3296
|
+
[appRTKQApi.reducerPath]: appRTKQApi.reducer,
|
|
3297
|
+
...additionalReducers
|
|
3103
3298
|
},
|
|
3104
3299
|
middleware: (getDefaultMiddleware)=>getDefaultMiddleware({
|
|
3105
3300
|
serializableCheck: {
|
|
@@ -3328,8 +3523,12 @@ const groupSharedFields = (data)=>{
|
|
|
3328
3523
|
}, {});
|
|
3329
3524
|
};
|
|
3330
3525
|
|
|
3331
|
-
|
|
3332
|
-
|
|
3526
|
+
/**
|
|
3527
|
+
* Processes the histogram data from the given input object and returns an aggregated data object.
|
|
3528
|
+
*
|
|
3529
|
+
* @param {Record<string, unknown>} data - The input data object containing histogram information.
|
|
3530
|
+
* @returns {AggregationsData} An object containing the processed histogram data, structured as key-value pairs.
|
|
3531
|
+
*/ const processHistogramResponse = (data)=>{
|
|
3333
3532
|
const valueData = JSONPath({
|
|
3334
3533
|
json: data,
|
|
3335
3534
|
path: '$..histogram',
|
|
@@ -3349,6 +3548,42 @@ const processHistogramResponse = (data)=>{
|
|
|
3349
3548
|
}, {});
|
|
3350
3549
|
return results;
|
|
3351
3550
|
};
|
|
3551
|
+
/**
|
|
3552
|
+
* Adjusts histogram data in the provided object by rounding counts below a specified minimum value.
|
|
3553
|
+
*
|
|
3554
|
+
* This function traverses the input object for histogram data and updates it such that all count values
|
|
3555
|
+
* falling below the defined `minValue` are set to `-1`. By default, the `minValue` is set to `100`.
|
|
3556
|
+
*
|
|
3557
|
+
* @param {Record<string, unknown>} origData - The original input data containing histogram structures to modify.
|
|
3558
|
+
* @param {number} [minValue=100] - The minimum value of histogram counts. Counts below this value are replaced with `-1`.
|
|
3559
|
+
* @returns {Record<string, unknown>} - A new object containing the modified histogram data while preserving other properties.
|
|
3560
|
+
*/ const roundHistogramResponse = (origData, minValue = 100)=>{
|
|
3561
|
+
const data = {
|
|
3562
|
+
...origData
|
|
3563
|
+
};
|
|
3564
|
+
const pointerData = JSONPath({
|
|
3565
|
+
json: data,
|
|
3566
|
+
path: '$..histogram',
|
|
3567
|
+
resultType: 'pointer'
|
|
3568
|
+
});
|
|
3569
|
+
if (pointerData.length === 0) {
|
|
3570
|
+
return {};
|
|
3571
|
+
}
|
|
3572
|
+
pointerData.forEach((element)=>{
|
|
3573
|
+
const key = element.slice(1).replace(/\//g, '.');
|
|
3574
|
+
const histogramData = JSONPath({
|
|
3575
|
+
json: data,
|
|
3576
|
+
path: key,
|
|
3577
|
+
resultType: 'value'
|
|
3578
|
+
});
|
|
3579
|
+
histogramData[0].forEach((x)=>{
|
|
3580
|
+
x.count = x.count < minValue ? -1 : x.count;
|
|
3581
|
+
});
|
|
3582
|
+
});
|
|
3583
|
+
return data;
|
|
3584
|
+
};
|
|
3585
|
+
|
|
3586
|
+
const statusEndpoint = '/_status';
|
|
3352
3587
|
const fetchJson = async (url)=>{
|
|
3353
3588
|
const res = await fetch(url, {
|
|
3354
3589
|
method: 'GET',
|
|
@@ -3461,24 +3696,7 @@ const useGetStatus = ()=>{
|
|
|
3461
3696
|
}),
|
|
3462
3697
|
getAggs: builder.query({
|
|
3463
3698
|
query: ({ type, fields, filters, accessibility = Accessibility.ALL })=>{
|
|
3464
|
-
|
|
3465
|
-
query getAggs {
|
|
3466
|
-
_aggregation {
|
|
3467
|
-
${type} (accessibility: ${accessibility}) {` : `query getAggs ($filter: JSON) {
|
|
3468
|
-
_aggregation {
|
|
3469
|
-
${type} (filter: $filter, filterSelf: false, accessibility: ${accessibility}) {`;
|
|
3470
|
-
const query = `${queryStart}
|
|
3471
|
-
${fields.map((field)=>histogramQueryStrForEachField(field))}
|
|
3472
|
-
}
|
|
3473
|
-
}
|
|
3474
|
-
}`;
|
|
3475
|
-
const queryBody = {
|
|
3476
|
-
query: query,
|
|
3477
|
-
variables: {
|
|
3478
|
-
filter: convertFilterSetToGqlFilter(filters)
|
|
3479
|
-
}
|
|
3480
|
-
};
|
|
3481
|
-
return queryBody;
|
|
3699
|
+
return buildGetAggregationQuery(type, fields, filters, accessibility, false);
|
|
3482
3700
|
},
|
|
3483
3701
|
transformResponse: (response, _meta, args)=>{
|
|
3484
3702
|
return processHistogramResponse(response?.data?._aggregation[args.type] ?? {});
|
|
@@ -3486,24 +3704,7 @@ const useGetStatus = ()=>{
|
|
|
3486
3704
|
}),
|
|
3487
3705
|
getAggsNoFilterSelf: builder.query({
|
|
3488
3706
|
query: ({ type, fields, filters, accessibility = Accessibility.ALL })=>{
|
|
3489
|
-
|
|
3490
|
-
query getAggs {
|
|
3491
|
-
_aggregation {
|
|
3492
|
-
${type} (accessibility: ${accessibility}) {` : `query getAggs ($filter: JSON) {
|
|
3493
|
-
_aggregation {
|
|
3494
|
-
${type} (filter: $filter, filterSelf: true, accessibility: ${accessibility}) {`;
|
|
3495
|
-
const query = `${queryStart}
|
|
3496
|
-
${fields.map((field)=>histogramQueryStrForEachField(field))}
|
|
3497
|
-
}
|
|
3498
|
-
}
|
|
3499
|
-
}`;
|
|
3500
|
-
const queryBody = {
|
|
3501
|
-
query: query,
|
|
3502
|
-
variables: {
|
|
3503
|
-
filter: convertFilterSetToGqlFilter(filters)
|
|
3504
|
-
}
|
|
3505
|
-
};
|
|
3506
|
-
return queryBody;
|
|
3707
|
+
return buildGetAggregationQuery(type, fields, filters, accessibility, true);
|
|
3507
3708
|
},
|
|
3508
3709
|
transformResponse: (response, _meta, args)=>{
|
|
3509
3710
|
return processHistogramResponse(response?.data?._aggregation[args.type] ?? {});
|
|
@@ -3689,6 +3890,26 @@ const useGetIndexFields = (index)=>{
|
|
|
3689
3890
|
const { data } = useGetFieldsForIndexQuery(index);
|
|
3690
3891
|
return data ?? [];
|
|
3691
3892
|
};
|
|
3893
|
+
const buildGetAggregationQuery = (type, fields, filters, accessibility = Accessibility.ALL, filterSelf = false)=>{
|
|
3894
|
+
const queryStart = isFilterEmpty(filters) ? `
|
|
3895
|
+
query getAggs {
|
|
3896
|
+
_aggregation {
|
|
3897
|
+
${type} (accessibility: ${accessibility}) {` : `query getAggs ($filter: JSON) {
|
|
3898
|
+
_aggregation {
|
|
3899
|
+
${type} (filter: $filter, filterSelf: ${filterSelf ? 'true' : 'false'}, accessibility: ${accessibility}) {`;
|
|
3900
|
+
const query = `${queryStart}
|
|
3901
|
+
${fields.map((field)=>histogramQueryStrForEachField(field))}
|
|
3902
|
+
}
|
|
3903
|
+
}
|
|
3904
|
+
}`;
|
|
3905
|
+
const queryBody = {
|
|
3906
|
+
query: query,
|
|
3907
|
+
variables: {
|
|
3908
|
+
filter: convertFilterSetToGqlFilter(filters)
|
|
3909
|
+
}
|
|
3910
|
+
};
|
|
3911
|
+
return queryBody;
|
|
3912
|
+
};
|
|
3692
3913
|
const { useGetRawDataAndTotalCountsQuery, useGetAccessibleDataQuery, useGetAllFieldsForTypeQuery, useGetAggsQuery, useGetAggsNoFilterSelfQuery, useLazyGetAggsQuery, useGetSubAggsQuery, useGetCountsQuery, useGetFieldCountSummaryQuery, useGetFieldsForIndexQuery, useGetSharedFieldsForIndexQuery, useGeneralGQLQuery, useLazyGeneralGQLQuery } = explorerApi;
|
|
3693
3914
|
|
|
3694
3915
|
/**
|
|
@@ -3969,6 +4190,32 @@ const queryMultipleMDSRecords = async (guids, useAggMDS = false, signal)=>{
|
|
|
3969
4190
|
});
|
|
3970
4191
|
};
|
|
3971
4192
|
|
|
4193
|
+
/**
|
|
4194
|
+
* Defines requester service using a base URL and expected endpoints. Derived from gen3Api core API.
|
|
4195
|
+
*
|
|
4196
|
+
* @param endpoints - Defines endpoints used in discovery page
|
|
4197
|
+
* @param request - Queries Requestor service
|
|
4198
|
+
* @see https://github.com/uc-cdis/requestor?tab=readme-ov-file#requestor
|
|
4199
|
+
* @see https://petstore.swagger.io/?url=https://raw.githubusercontent.com/uc-cdis/requestor/master/docs/openapi.yaml#/Query/list_requests_request_get
|
|
4200
|
+
* @returns: Object of request made
|
|
4201
|
+
*/ const requestorApi = gen3Api.injectEndpoints({
|
|
4202
|
+
endpoints: (builder)=>({
|
|
4203
|
+
request: builder.query({
|
|
4204
|
+
query: (queryBody)=>({
|
|
4205
|
+
url: `${GEN3_REQUESTOR_API}/request`,
|
|
4206
|
+
method: 'POST',
|
|
4207
|
+
credentials: 'include',
|
|
4208
|
+
headers: {
|
|
4209
|
+
Accept: 'application/json',
|
|
4210
|
+
'Content-Type': 'application/json'
|
|
4211
|
+
},
|
|
4212
|
+
body: JSON.stringify(queryBody)
|
|
4213
|
+
})
|
|
4214
|
+
})
|
|
4215
|
+
})
|
|
4216
|
+
});
|
|
4217
|
+
const { useRequestQuery, useLazyRequestQuery } = requestorApi;
|
|
4218
|
+
|
|
3972
4219
|
/**
|
|
3973
4220
|
* Creates a loadingStatusApi for checking the status of a sower data download job
|
|
3974
4221
|
* @param getJobList Shows the list of jobs currently running
|
|
@@ -4058,7 +4305,7 @@ const extractValuesFromObject = (jsonPathMappings, obj)=>{
|
|
|
4058
4305
|
};
|
|
4059
4306
|
for(const key in jsonPathMappings){
|
|
4060
4307
|
if (key in Object.keys(jsonPathMappings)) {
|
|
4061
|
-
// Extract value from object and store it in the result.
|
|
4308
|
+
// Extract value from an object and store it in the result.
|
|
4062
4309
|
result[key] = extractObjectValue(jsonPathMappings[key], obj);
|
|
4063
4310
|
}
|
|
4064
4311
|
}
|
|
@@ -4347,5 +4594,5 @@ const selectPaymodelStatus = createSelector(paymodelStatusSelector, (status)=>st
|
|
|
4347
4594
|
const isWorkspaceActive = (status)=>status === WorkspaceStatus.Running || status === WorkspaceStatus.Launching || status === WorkspaceStatus.Terminating;
|
|
4348
4595
|
const isWorkspaceRunningOrStopping = (status)=>status === WorkspaceStatus.Running || status === WorkspaceStatus.Terminating;
|
|
4349
4596
|
|
|
4350
|
-
export { Accessibility, CoreProvider, DataLibraryStoreMode, EmptyWorkspaceStatusResponse, GEN3_API, GEN3_AUTHZ_API, GEN3_COMMONS_NAME, GEN3_CROSSWALK_API, GEN3_DOMAIN, GEN3_DOWNLOADS_ENDPOINT, GEN3_FENCE_API, GEN3_GUPPY_API, GEN3_MANIFEST_API, GEN3_MDS_API, GEN3_REDIRECT_URL, GEN3_SOWER_API, GEN3_SUBMISSION_API, GEN3_WORKSPACE_API, HTTPError, HTTPErrorMessages, HttpMethod, Modals, PodConditionType, PodStatus, RequestedWorkspaceStatus, WorkspaceStatus, buildListItemsGroupedByDataset, clearActiveWorkspaceId, clearCohortFilters, convertFilterSetToGqlFilter, coreStore, createAppApiForRTKQ, createAppStore, createGen3App, createGen3AppWithOwnStore, createUseCoreDataHook, downloadFromGuppyToBlob, downloadJSONDataFromGuppy, drsHostnamesReducer, extractEnumFilterValue, extractFieldNameFromFullFieldName, extractFileDatasetsInRecords, extractFilterValue, extractIndexAndFieldNameFromFullFieldName, extractIndexFromDataLibraryCohort, extractIndexFromFullFieldName, fetchFence, fetchFencePresignedURL, fetchJSONDataFromURL, fetchJson, fetchUserState, fieldNameToTitle, gen3Api, getCurrentTimestamp, getFederatedLoginStatus, getGen3AppId, getNumberOfItemsInDatalist, getTimestamp, graphQLAPI, graphQLWithTags, groupSharedFields, guppyAPISliceMiddleware, guppyApi, guppyApiReducer, guppyApiSliceReducerPath, handleOperation, hideModal, isAdditionalDataItem, isArray, isAuthenticated, isCohortItem, isDataLibraryAPIResponse, isDatalistAPI, isErrorWithMessage, isFetchBaseQueryError, isFetchError, isFetchParseError, isFileItem, isFilterEmpty, isFilterSet, isGuppyAggregationData, isHistogramData, isHistogramDataAArray, isHistogramDataAnEnum, isHistogramDataArray, isHistogramDataArrayARange, isHistogramDataArrayAnEnum, isHistogramDataCollection, isHistogramRangeData, isHttpStatusError, isIntersection, isJSONObject, isJSONValue, isJSONValueArray, isNotDefined, isObject, isOperationWithField, isOperatorWithFieldAndArrayOfOperands, isPending, isProgramUrl, isRootUrl, isString, isTimeGreaterThan, isUnion, isWorkspaceActive, isWorkspaceRunningOrStopping, listifyMethodsFromMapping, logoutFence, manifestApi, manifestTags, prepareUrl$1 as prepareUrl, prependIndexToFieldName, processHistogramResponse, projectCodeFromResourcePath, queryMultipleMDSRecords, rawDataQueryStrForEachField, removeCohortFilter, resetUserState, resourcePathFromProjectID, selectActiveWorkspaceId, selectActiveWorkspaceStatus, selectAllCohortFiltersCollapsed, selectAuthzMappingData, selectCSRFToken, selectCSRFTokenData, selectCohortFilterCombineMode, selectCohortFilterExpanded, selectCohortFilters, selectCurrentCohort, selectCurrentCohortId, selectCurrentCohortName, selectCurrentMessage, selectCurrentModal, selectGen3AppByName, selectGen3AppMetadataByName, selectHeadersWithCSRFToken, selectIndexFilters, selectIndexedFilterByName, selectPaymodelStatus, selectRequestedWorkspaceStatus, selectRequestedWorkspaceStatusTimestamp, selectSharedFilters, selectSharedFiltersForFields, selectShouldShareFilters, selectUser, selectUserAuthStatus, selectUserData, selectUserDetails, selectUserLoginStatus, selectWorkspaceStatus, selectWorkspaceStatusFromService, setActiveWorkspace, setActiveWorkspaceId, setActiveWorkspaceStatus, setCohortFilter, setCohortFilterCombineMode, setCohortIndexFilters, setDRSHostnames, setRequestedWorkspaceStatus, setSharedFilters, setShouldShareFilters, setupCoreStore, showModal, submissionApi, toggleCohortBuilderAllFilters, toggleCohortBuilderCategoryFilter, trimFirstFieldNameToTitle, updateCohortFilter, useAddCohortManifestMutation, useAddFileManifestMutation, useAddMetadataManifestMutation, useAddNewCredentialMutation, useAskQuestionMutation, useAuthorizeFromCredentialsMutation, useCoreDispatch, useCoreSelector, useDataLibrary, useDownloadFromGuppyMutation, useFetchUserDetailsQuery, useGeneralGQLQuery, useGetAISearchStatusQuery, useGetAISearchVersionQuery, useGetAccessibleDataQuery, useGetActivePayModelQuery, useGetAggMDSQuery, useGetAggsNoFilterSelfQuery, useGetAggsQuery, useGetAllFieldsForTypeQuery, useGetArrayTypes, useGetAuthzMappingsQuery, useGetCSRFQuery, useGetCohortManifestQuery, useGetCountsQuery, useGetCredentialsQuery, useGetCrosswalkDataQuery, useGetDataQuery, useGetDictionaryQuery, useGetDownloadQuery, useGetExternalLoginsQuery, useGetFederatedLoginStatus, useGetFieldCountSummaryQuery, useGetFieldsForIndexQuery, useGetFileFromManifestQuery, useGetFileManifestQuery, useGetIndexAggMDSQuery, useGetIndexFields, useGetJWKKeysQuery, useGetLoginProvidersQuery, useGetMDSQuery, useGetManifestServiceStatusQuery, useGetMetadataByIdQuery, useGetMetadataFromManifestQuery, useGetMetadataManifestQuery, useGetProjectsDetailsQuery, useGetProjectsQuery, useGetRawDataAndTotalCountsQuery, useGetSharedFieldsForIndexQuery, useGetSowerJobListQuery, useGetSowerJobStatusQuery, useGetSowerOutputQuery, useGetSowerServiceStatusQuery, useGetStatus, useGetSubAggsQuery, useGetSubmissionGraphQLQuery, useGetSubmissionsQuery, useGetTagsQuery, useGetWorkspaceOptionsQuery, useGetWorkspacePayModelsQuery, useGetWorkspaceStatusQuery, useGraphQLQuery, useIsExternalConnectedQuery, useIsUserLoggedIn, useLaunchWorkspaceMutation, useLazyFetchUserDetailsQuery, useLazyGeneralGQLQuery, useLazyGetAggsQuery, useLazyGetAuthzMappingsQuery, useLazyGetCrosswalkDataQuery, useLazyGetDownloadQuery, useLazyGetExternalLoginsQuery, useLazyGetManifestServiceStatusQuery, useLazyGetProjectsQuery, useLazyGetSowerJobListQuery, useLazyGetSubmissionGraphQLQuery, useLazyIsExternalConnectedQuery, usePrevious, useRemoveCredentialMutation, useSetCurrentPayModelMutation, useSubmitSowerJobMutation, useTerminateWorkspaceMutation, useUserAuth, userHasCreateOrUpdateOnAnyProject, userHasDataUpload, userHasMethodForServiceOnProject, userHasMethodForServiceOnResource, userHasMethodOnAnyProject, userHasSheepdogProgramAdmin, userHasSheepdogProjectAdmin };
|
|
4597
|
+
export { Accessibility, CoreProvider, DataLibraryStoreMode, EmptyWorkspaceStatusResponse, GEN3_API, GEN3_AUTHZ_API, GEN3_COMMONS_NAME, GEN3_CROSSWALK_API, GEN3_DOMAIN, GEN3_DOWNLOADS_ENDPOINT, GEN3_FENCE_API, GEN3_GUPPY_API, GEN3_MANIFEST_API, GEN3_MDS_API, GEN3_REDIRECT_URL, GEN3_SOWER_API, GEN3_SUBMISSION_API, GEN3_WORKSPACE_API, HTTPError, HTTPErrorMessages, HttpMethod, Modals, PodConditionType, PodStatus, RequestedWorkspaceStatus, WorkspaceStatus, addNewDefaultUnsavedCohort, buildGetAggregationQuery, buildListItemsGroupedByDataset, clearActiveWorkspaceId, clearCohortFilters, cohortReducer, convertFilterSetToGqlFilter, convertFilterToGqlFilter, coreStore, createAppApiForRTKQ, createAppStore, createGen3App, createGen3AppWithOwnStore, createUseCoreDataHook, downloadFromGuppyToBlob, downloadJSONDataFromGuppy, drsHostnamesReducer, extractEnumFilterValue, extractFieldNameFromFullFieldName, extractFileDatasetsInRecords, extractFilterValue, extractIndexAndFieldNameFromFullFieldName, extractIndexFromDataLibraryCohort, extractIndexFromFullFieldName, fetchFence, fetchFencePresignedURL, fetchJSONDataFromURL, fetchJson, fetchUserState, fieldNameToTitle, gen3Api, getCurrentTimestamp, getFederatedLoginStatus, getGen3AppId, getNumberOfItemsInDatalist, getTimestamp, graphQLAPI, graphQLWithTags, groupSharedFields, guppyAPISliceMiddleware, guppyApi, guppyApiReducer, guppyApiSliceReducerPath, handleOperation, hideModal, histogramQueryStrForEachField, isAdditionalDataItem, isArray, isAuthenticated, isCohortItem, isDataLibraryAPIResponse, isDatalistAPI, isErrorWithMessage, isFetchBaseQueryError, isFetchError, isFetchParseError, isFileItem, isFilterEmpty, isFilterSet, isGuppyAggregationData, isHistogramData, isHistogramDataAArray, isHistogramDataAnEnum, isHistogramDataArray, isHistogramDataArrayARange, isHistogramDataArrayAnEnum, isHistogramDataCollection, isHistogramRangeData, isHttpStatusError, isIntersection, isJSONObject, isJSONValue, isJSONValueArray, isNotDefined, isObject, isOperationWithField, isOperatorWithFieldAndArrayOfOperands, isPending, isProgramUrl, isRootUrl, isString, isTimeGreaterThan, isUnion, isWorkspaceActive, isWorkspaceRunningOrStopping, listifyMethodsFromMapping, logoutFence, manifestApi, manifestTags, nestedHistogramQueryStrForEachField, prepareUrl$1 as prepareUrl, prependIndexToFieldName, processHistogramResponse, projectCodeFromResourcePath, queryMultipleMDSRecords, rawDataQueryStrForEachField, removeCohort, removeCohortFilter, requestorApi, resetUserState, resourcePathFromProjectID, roundHistogramResponse, selectActiveWorkspaceId, selectActiveWorkspaceStatus, selectAllCohortFiltersCollapsed, selectAuthzMappingData, selectAvailableCohorts, selectCSRFToken, selectCSRFTokenData, selectCohortFilterCombineMode, selectCohortFilterExpanded, selectCohortFilters, selectCurrentCohort, selectCurrentCohortId, selectCurrentCohortModified, selectCurrentCohortName, selectCurrentCohortSaved, selectCurrentMessage, selectCurrentModal, selectGen3AppByName, selectGen3AppMetadataByName, selectHeadersWithCSRFToken, selectIndexFilters, selectIndexedFilterByName, selectPaymodelStatus, selectRequestedWorkspaceStatus, selectRequestedWorkspaceStatusTimestamp, selectSharedFilters, selectSharedFiltersForFields, selectShouldShareFilters, selectUser, selectUserAuthStatus, selectUserData, selectUserDetails, selectUserLoginStatus, selectWorkspaceStatus, selectWorkspaceStatusFromService, setActiveCohort, setActiveCohortList, setActiveWorkspace, setActiveWorkspaceId, setActiveWorkspaceStatus, setCohortFilter, setCohortFilterCombineMode, setCohortIndexFilters, setDRSHostnames, setRequestedWorkspaceStatus, setSharedFilters, setShouldShareFilters, setupCoreStore, showModal, submissionApi, toggleCohortBuilderAllFilters, toggleCohortBuilderCategoryFilter, trimFirstFieldNameToTitle, updateCohortFilter, useAddCohortManifestMutation, useAddFileManifestMutation, useAddMetadataManifestMutation, useAddNewCredentialMutation, useAskQuestionMutation, useAuthorizeFromCredentialsMutation, useCoreDispatch, useCoreSelector, useDataLibrary, useDownloadFromGuppyMutation, useFetchUserDetailsQuery, useGeneralGQLQuery, useGetAISearchStatusQuery, useGetAISearchVersionQuery, useGetAccessibleDataQuery, useGetActivePayModelQuery, useGetAggMDSQuery, useGetAggsNoFilterSelfQuery, useGetAggsQuery, useGetAllFieldsForTypeQuery, useGetArrayTypes, useGetAuthzMappingsQuery, useGetCSRFQuery, useGetCohortManifestQuery, useGetCountsQuery, useGetCredentialsQuery, useGetCrosswalkDataQuery, useGetDataQuery, useGetDictionaryQuery, useGetDownloadQuery, useGetExternalLoginsQuery, useGetFederatedLoginStatus, useGetFieldCountSummaryQuery, useGetFieldsForIndexQuery, useGetFileFromManifestQuery, useGetFileManifestQuery, useGetIndexAggMDSQuery, useGetIndexFields, useGetJWKKeysQuery, useGetLoginProvidersQuery, useGetMDSQuery, useGetManifestServiceStatusQuery, useGetMetadataByIdQuery, useGetMetadataFromManifestQuery, useGetMetadataManifestQuery, useGetProjectsDetailsQuery, useGetProjectsQuery, useGetRawDataAndTotalCountsQuery, useGetSharedFieldsForIndexQuery, useGetSowerJobListQuery, useGetSowerJobStatusQuery, useGetSowerOutputQuery, useGetSowerServiceStatusQuery, useGetStatus, useGetSubAggsQuery, useGetSubmissionGraphQLQuery, useGetSubmissionsQuery, useGetTagsQuery, useGetWorkspaceOptionsQuery, useGetWorkspacePayModelsQuery, useGetWorkspaceStatusQuery, useGraphQLQuery, useIsExternalConnectedQuery, useIsUserLoggedIn, useLaunchWorkspaceMutation, useLazyFetchUserDetailsQuery, useLazyGeneralGQLQuery, useLazyGetAggsQuery, useLazyGetAuthzMappingsQuery, useLazyGetCSRFQuery, useLazyGetCrosswalkDataQuery, useLazyGetDownloadQuery, useLazyGetExternalLoginsQuery, useLazyGetManifestServiceStatusQuery, useLazyGetProjectsQuery, useLazyGetSowerJobListQuery, useLazyGetSubmissionGraphQLQuery, useLazyIsExternalConnectedQuery, useLazyRequestQuery, usePrevious, useRemoveCredentialMutation, useRequestQuery, useSetCurrentPayModelMutation, useSubmitSowerJobMutation, useTerminateWorkspaceMutation, useUserAuth, userHasCreateOrUpdateOnAnyProject, userHasDataUpload, userHasMethodForServiceOnProject, userHasMethodForServiceOnResource, userHasMethodOnAnyProject, userHasSheepdogProgramAdmin, userHasSheepdogProjectAdmin };
|
|
4351
4598
|
//# sourceMappingURL=index.js.map
|