@gen3/frontend 0.12.30 → 0.12.32
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/LICENSE +201 -0
- package/dist/dts/components/Content/TextContent.js +3 -3
- package/dist/dts/components/Content/TextContent.js.map +1 -1
- package/dist/dts/components/Login/LoginPanel.js +2 -2
- package/dist/dts/components/Login/LoginPanel.js.map +1 -1
- package/dist/dts/components/Login/LoginProvidersPanel.d.ts +1 -1
- package/dist/dts/components/Login/LoginProvidersPanel.d.ts.map +1 -1
- package/dist/dts/components/Login/LoginProvidersPanel.js +15 -8
- package/dist/dts/components/Login/LoginProvidersPanel.js.map +1 -1
- package/dist/dts/components/Login/types.d.ts +4 -0
- package/dist/dts/components/Login/types.d.ts.map +1 -1
- package/dist/dts/components/Login/types.js.map +1 -1
- package/dist/dts/components/Providers/Gen3Provider.d.ts +1 -1
- package/dist/dts/features/CohortBuilder/ExplorerTable/ArrayCellRenderer.d.ts +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpression.d.ts +2 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpression.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpression.js +2 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpression.js.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionContext.d.ts +1 -0
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionContext.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionContext.js +1 -0
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionContext.js.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionSection.d.ts +1 -0
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionSection.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionSection.js +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionSection.js.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryRepresentation.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryRepresentation.js +12 -6
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryRepresentation.js.map +1 -1
- package/dist/dts/features/CohortDiscovery/CohortQueryExpression.d.ts +2 -1
- package/dist/dts/features/CohortDiscovery/CohortQueryExpression.d.ts.map +1 -1
- package/dist/dts/features/CohortDiscovery/CohortQueryExpression.js +2 -1
- package/dist/dts/features/CohortDiscovery/CohortQueryExpression.js.map +1 -1
- package/dist/dts/features/Discovery/Discovery.d.ts.map +1 -1
- package/dist/dts/features/Discovery/Discovery.js +7 -6
- package/dist/dts/features/Discovery/Discovery.js.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryDropdownTagViewer.d.ts +1 -8
- package/dist/dts/features/Discovery/DiscoveryDropdownTagViewer.d.ts.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryDropdownTagViewer.js +23 -27
- package/dist/dts/features/Discovery/DiscoveryDropdownTagViewer.js.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryIndexPanel.d.ts +1 -3
- package/dist/dts/features/Discovery/DiscoveryIndexPanel.d.ts.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryIndexPanel.js +22 -23
- package/dist/dts/features/Discovery/DiscoveryIndexPanel.js.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryProvider.d.ts +6 -0
- package/dist/dts/features/Discovery/DiscoveryProvider.d.ts.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryProvider.js +7 -2
- package/dist/dts/features/Discovery/DiscoveryProvider.js.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryTable/DiscoveryTable.js +1 -1
- package/dist/dts/features/Discovery/DiscoveryTable/DiscoveryTable.js.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryTable/TableRenderers/RowDetailPanel.d.ts +1 -3
- package/dist/dts/features/Discovery/DiscoveryTable/TableRenderers/RowDetailPanel.d.ts.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryTable/TableRenderers/RowDetailPanel.js +6 -3
- package/dist/dts/features/Discovery/DiscoveryTable/TableRenderers/RowDetailPanel.js.map +1 -1
- package/dist/dts/features/Discovery/DiscoveryTable/TableRenderers/RowDetailPanelTags.d.ts +7 -0
- package/dist/dts/features/Discovery/DiscoveryTable/TableRenderers/RowDetailPanelTags.d.ts.map +1 -0
- package/dist/dts/features/Discovery/DiscoveryTable/TableRenderers/RowDetailPanelTags.js +39 -0
- package/dist/dts/features/Discovery/DiscoveryTable/TableRenderers/RowDetailPanelTags.js.map +1 -0
- package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.d.ts.map +1 -1
- package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.js +1 -1
- package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.js.map +1 -1
- package/dist/index/cjs/{QueryPanel-BwtKHbn1.js → QueryPanel-sz-FVioZ.js} +2 -2
- package/dist/index/cjs/{QueryPanel-BwtKHbn1.js.map → QueryPanel-sz-FVioZ.js.map} +1 -1
- package/dist/index/cjs/{index-BB8seQLc.js → index-Bjn2PM9I.js} +531 -453
- package/dist/index/cjs/index-Bjn2PM9I.js.map +1 -0
- package/dist/index/cjs/index.js +1 -1
- package/dist/index/esm/{QueryPanel-DSqDH3j3.js → QueryPanel-7-YhRPuT.js} +2 -2
- package/dist/index/esm/{QueryPanel-DSqDH3j3.js.map → QueryPanel-7-YhRPuT.js.map} +1 -1
- package/dist/index/esm/{index-Df-CHhZ4.js → index-DxDRynQA.js} +532 -454
- package/dist/index/esm/index-DxDRynQA.js.map +1 -0
- package/dist/index/esm/index.js +1 -1
- package/dist/index.d.ts +64 -52
- package/dist/pages/cjs/{CohortBuilder-BfjTZk0Y.js → CohortBuilder-B-eEUQhE.js} +2 -2
- package/dist/pages/cjs/{CohortBuilder-BfjTZk0Y.js.map → CohortBuilder-B-eEUQhE.js.map} +1 -1
- package/dist/pages/cjs/{index-DOVSswNr.js → index-4CPJ2OlY.js} +323 -246
- package/dist/pages/cjs/index-4CPJ2OlY.js.map +1 -0
- package/dist/pages/cjs/index.js +1 -1
- package/dist/pages/esm/{CohortBuilder-BFRGbSQX.js → CohortBuilder-DAIbe43z.js} +2 -2
- package/dist/pages/esm/{CohortBuilder-BFRGbSQX.js.map → CohortBuilder-DAIbe43z.js.map} +1 -1
- package/dist/pages/esm/{index-DkUVZQPS.js → index-Dy9pEhcC.js} +323 -246
- package/dist/pages/esm/index-Dy9pEhcC.js.map +1 -0
- package/dist/pages/esm/index.js +1 -1
- package/dist/pages.d.ts +3 -0
- package/package.json +3 -3
- package/dist/index/cjs/QueryPanel-D8OUkUib.js +0 -24
- package/dist/index/cjs/QueryPanel-D8OUkUib.js.map +0 -1
- package/dist/index/cjs/index-BB8seQLc.js.map +0 -1
- package/dist/index/cjs/index-DLHpMKGF.js +0 -36786
- package/dist/index/cjs/index-DLHpMKGF.js.map +0 -1
- package/dist/index/esm/QueryPanel-oIjwIvAE.js +0 -22
- package/dist/index/esm/QueryPanel-oIjwIvAE.js.map +0 -1
- package/dist/index/esm/index-BBNceIuo.js +0 -36539
- package/dist/index/esm/index-BBNceIuo.js.map +0 -1
- package/dist/index/esm/index-Df-CHhZ4.js.map +0 -1
- package/dist/pages/cjs/index-DOVSswNr.js.map +0 -1
- package/dist/pages/esm/index-DkUVZQPS.js.map +0 -1
|
@@ -6296,6 +6296,7 @@ const OverflowTooltippedLabel = ({ children, label, className = 'flex-grow font-
|
|
|
6296
6296
|
|
|
6297
6297
|
const QueryExpressionContext = /*#__PURE__*/ React.createContext({
|
|
6298
6298
|
displayOnly: false,
|
|
6299
|
+
fieldsAreFlat: true,
|
|
6299
6300
|
cohortId: null,
|
|
6300
6301
|
cohortName: 'default',
|
|
6301
6302
|
shouldShowSummary: ()=>false,
|
|
@@ -6418,7 +6419,7 @@ const isNestedFilter = (x)=>{
|
|
|
6418
6419
|
};
|
|
6419
6420
|
const IncludeExcludeQueryElement = ({ index, field, path, operator, operands, displayOnly = false })=>{
|
|
6420
6421
|
const [queryExpressionsExpanded, setQueryExpressionsExpanded] = React.useContext(QueryExpressionsExpandedContext);
|
|
6421
|
-
const { cohortId: currentCohortId, useRemoveFilter, useUpdateFilters, shouldShowSummary } = React.useContext(QueryExpressionContext);
|
|
6422
|
+
const { cohortId: currentCohortId, useRemoveFilter, useUpdateFilters, shouldShowSummary, fieldsAreFlat } = React.useContext(QueryExpressionContext);
|
|
6422
6423
|
const removeCohortFilter = useRemoveFilter();
|
|
6423
6424
|
const updateCohortFilter = useUpdateFilters();
|
|
6424
6425
|
useDeepCompare.useDeepCompareEffect(()=>{
|
|
@@ -6529,7 +6530,11 @@ const IncludeExcludeQueryElement = ({ index, field, path, operator, operands, di
|
|
|
6529
6530
|
});
|
|
6530
6531
|
removeCohortFilter(index, fieldToUpdate);
|
|
6531
6532
|
} else {
|
|
6532
|
-
updateCohortFilter(index, fieldToUpdate,
|
|
6533
|
+
updateCohortFilter(index, fieldToUpdate, fieldsAreFlat ? {
|
|
6534
|
+
operator: operator,
|
|
6535
|
+
field: field,
|
|
6536
|
+
operands: newOperands
|
|
6537
|
+
} : core$1.buildNestedFilterForOperation(fieldToUpdate, {
|
|
6533
6538
|
operator: operator,
|
|
6534
6539
|
field: field,
|
|
6535
6540
|
operands: newOperands
|
|
@@ -7102,7 +7107,7 @@ const reducer = (state, action)=>{
|
|
|
7102
7107
|
}
|
|
7103
7108
|
}
|
|
7104
7109
|
};
|
|
7105
|
-
const QueryExpressionSection = ({ index, showImportExport = false, displayOnly = false, showTitle = true })=>{
|
|
7110
|
+
const QueryExpressionSection = ({ index, showImportExport = false, displayOnly = false, showTitle = true, fieldsAreFlat = true })=>{
|
|
7106
7111
|
const [expandedState, setExpandedState] = React.useReducer(reducer, {});
|
|
7107
7112
|
const [filtersSectionCollapsed, setFiltersSectionCollapsed] = React.useState(true);
|
|
7108
7113
|
const filtersRef = React.useRef(null);
|
|
@@ -7875,19 +7880,24 @@ class DiscoveryCellRendererFactory {
|
|
|
7875
7880
|
};
|
|
7876
7881
|
|
|
7877
7882
|
const DiscoveryContext = /*#__PURE__*/ React.createContext({
|
|
7878
|
-
discoveryConfig: {}
|
|
7883
|
+
discoveryConfig: {},
|
|
7884
|
+
selectedTags: {},
|
|
7885
|
+
setSelectedTags: ()=>{}
|
|
7879
7886
|
});
|
|
7880
7887
|
const useDiscoveryContext = ()=>{
|
|
7881
7888
|
const context = React.useContext(DiscoveryContext);
|
|
7882
7889
|
if (context === undefined) {
|
|
7883
|
-
throw Error('Discovery must be used
|
|
7890
|
+
throw new Error('Discovery must be used inside of a DiscoveryContext');
|
|
7884
7891
|
}
|
|
7885
7892
|
return context;
|
|
7886
7893
|
};
|
|
7887
7894
|
const DiscoveryProvider = ({ children, discoveryIndexConfig })=>{
|
|
7895
|
+
const [selectedTags, setSelectedTags] = React.useState({});
|
|
7888
7896
|
return /*#__PURE__*/ jsxRuntime.jsx(DiscoveryContext.Provider, {
|
|
7889
7897
|
value: {
|
|
7890
|
-
discoveryConfig: discoveryIndexConfig
|
|
7898
|
+
discoveryConfig: discoveryIndexConfig,
|
|
7899
|
+
selectedTags,
|
|
7900
|
+
setSelectedTags
|
|
7891
7901
|
},
|
|
7892
7902
|
children: children
|
|
7893
7903
|
});
|
|
@@ -8734,17 +8744,71 @@ const HighlightSearchTerm = (value, searchTerm)=>{
|
|
|
8734
8744
|
});
|
|
8735
8745
|
};
|
|
8736
8746
|
|
|
8737
|
-
const
|
|
8747
|
+
const RowDetailPanelTags = ({ rowTags })=>{
|
|
8748
|
+
const { discoveryConfig: config, selectedTags, setSelectedTags } = useDiscoveryContext();
|
|
8749
|
+
return /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
8750
|
+
className: "flex mt-2",
|
|
8751
|
+
children: rowTags.map((tag)=>{
|
|
8752
|
+
const { color, display, label } = getTagInfo(tag, config.tags);
|
|
8753
|
+
if (!display) return null;
|
|
8754
|
+
const active = Object.keys(selectedTags).includes(tag.name);
|
|
8755
|
+
const handleChange = (e)=>{
|
|
8756
|
+
e.stopPropagation();
|
|
8757
|
+
if (active) {
|
|
8758
|
+
// If already active, remove the tag
|
|
8759
|
+
setSelectedTags((prevTags)=>{
|
|
8760
|
+
const { [tag.name]: _, ...newTags } = prevTags;
|
|
8761
|
+
return newTags;
|
|
8762
|
+
});
|
|
8763
|
+
} else {
|
|
8764
|
+
// Otherwise add the tag
|
|
8765
|
+
setSelectedTags((prevObj)=>({
|
|
8766
|
+
...prevObj,
|
|
8767
|
+
[tag.name]: true
|
|
8768
|
+
}));
|
|
8769
|
+
}
|
|
8770
|
+
};
|
|
8771
|
+
return /*#__PURE__*/ jsxRuntime.jsx(core.Badge, {
|
|
8772
|
+
className: "mr-2 mt-2 cursor-pointer",
|
|
8773
|
+
onClick: (e)=>{
|
|
8774
|
+
handleChange(e);
|
|
8775
|
+
},
|
|
8776
|
+
role: "button",
|
|
8777
|
+
size: "lg",
|
|
8778
|
+
radius: "sm",
|
|
8779
|
+
variant: "filled",
|
|
8780
|
+
tabIndex: 0,
|
|
8781
|
+
"aria-label": tag.name,
|
|
8782
|
+
style: {
|
|
8783
|
+
backgroundColor: active ? color : 'transparent',
|
|
8784
|
+
borderColor: color,
|
|
8785
|
+
color: active ? '#fff' : 'inherit'
|
|
8786
|
+
},
|
|
8787
|
+
children: label
|
|
8788
|
+
}, tag.name);
|
|
8789
|
+
})
|
|
8790
|
+
});
|
|
8791
|
+
};
|
|
8792
|
+
|
|
8793
|
+
const RowDetailPanel = ({ row, searchTerm })=>{
|
|
8794
|
+
const { discoveryConfig: config } = useDiscoveryContext();
|
|
8738
8795
|
if (config.studyPreviewField) {
|
|
8739
8796
|
const studyPreviewData = _.get(row.original, config.studyPreviewField.field);
|
|
8740
|
-
return /*#__PURE__*/ jsxRuntime.
|
|
8741
|
-
|
|
8742
|
-
|
|
8743
|
-
|
|
8744
|
-
|
|
8745
|
-
|
|
8746
|
-
|
|
8747
|
-
|
|
8797
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
8798
|
+
children: [
|
|
8799
|
+
/*#__PURE__*/ jsxRuntime.jsx(core.Box, {
|
|
8800
|
+
display: 'flex',
|
|
8801
|
+
w: '100%',
|
|
8802
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(core.Text, {
|
|
8803
|
+
size: "xs",
|
|
8804
|
+
lineClamp: 2,
|
|
8805
|
+
children: HighlightSearchTerm(studyPreviewData, searchTerm)
|
|
8806
|
+
})
|
|
8807
|
+
}),
|
|
8808
|
+
/*#__PURE__*/ jsxRuntime.jsx(RowDetailPanelTags, {
|
|
8809
|
+
rowTags: row.original.tags
|
|
8810
|
+
})
|
|
8811
|
+
]
|
|
8748
8812
|
});
|
|
8749
8813
|
} else {
|
|
8750
8814
|
return undefined;
|
|
@@ -8841,7 +8905,6 @@ const DiscoveryTable = ({ data, hits, dataRequestStatus, setSorting, setPaginati
|
|
|
8841
8905
|
getRowId: (originalRow)=>config?.minimalFieldMapping?.uid && config.minimalFieldMapping.uid in originalRow ? originalRow[config.minimalFieldMapping.uid] : originalRow?.id ?? undefined,
|
|
8842
8906
|
renderDetailPanel: ({ row })=>/*#__PURE__*/ jsxRuntime.jsx(RowDetailPanel, {
|
|
8843
8907
|
row: row,
|
|
8844
|
-
config: config,
|
|
8845
8908
|
searchTerm: searchTerm
|
|
8846
8909
|
}),
|
|
8847
8910
|
onRowSelectionChange: setRowSelection,
|
|
@@ -12107,47 +12170,44 @@ const renderMultiSelectOption = ({ option }, highlightColor, containerSelections
|
|
|
12107
12170
|
})
|
|
12108
12171
|
});
|
|
12109
12172
|
};
|
|
12110
|
-
const MultiSelectContainer = ({ category
|
|
12173
|
+
const MultiSelectContainer = ({ category })=>{
|
|
12174
|
+
const { discoveryConfig: discoveryConfig, selectedTags, setSelectedTags } = useDiscoveryContext();
|
|
12111
12175
|
const containerData = category.tags.map((tag)=>({
|
|
12112
12176
|
value: tag,
|
|
12113
12177
|
label: tag
|
|
12114
12178
|
}));
|
|
12115
12179
|
const [containerSelections, setContainerSelections] = React.useState([]);
|
|
12180
|
+
const prevSelectionsRef = React.useRef([]);
|
|
12116
12181
|
React.useEffect(()=>{
|
|
12117
12182
|
const updatedSelections = Object.keys(selectedTags).filter((tag)=>selectedTags[tag]);
|
|
12118
12183
|
const selectedItemsThatExistInContainer = updatedSelections.filter((item)=>category.tags.includes(item));
|
|
12119
12184
|
setContainerSelections(selectedItemsThatExistInContainer);
|
|
12185
|
+
prevSelectionsRef.current = selectedItemsThatExistInContainer;
|
|
12120
12186
|
}, [
|
|
12121
12187
|
selectedTags
|
|
12122
12188
|
]);
|
|
12123
|
-
const
|
|
12124
|
-
|
|
12125
|
-
|
|
12126
|
-
|
|
12127
|
-
|
|
12128
|
-
const
|
|
12129
|
-
...
|
|
12189
|
+
const handleChange = (value)=>{
|
|
12190
|
+
const previousValues = prevSelectionsRef.current;
|
|
12191
|
+
const removedTags = previousValues.filter((tag)=>!value.includes(tag));
|
|
12192
|
+
const addedTags = value.filter((tag)=>!previousValues.includes(tag));
|
|
12193
|
+
setSelectedTags((prev)=>{
|
|
12194
|
+
const updated = {
|
|
12195
|
+
...prev
|
|
12130
12196
|
};
|
|
12131
|
-
|
|
12132
|
-
|
|
12133
|
-
|
|
12134
|
-
|
|
12135
|
-
|
|
12136
|
-
// Need to add tags
|
|
12137
|
-
_.forEach(value, (tag)=>{
|
|
12138
|
-
if (!updatedTags[tag]) {
|
|
12139
|
-
updatedTags[tag] = true;
|
|
12140
|
-
}
|
|
12141
|
-
});
|
|
12142
|
-
}
|
|
12143
|
-
return updatedTags; // Update state with the new tags
|
|
12197
|
+
removedTags.forEach((tag)=>delete updated[tag]);
|
|
12198
|
+
addedTags.forEach((tag)=>{
|
|
12199
|
+
updated[tag] = true;
|
|
12200
|
+
});
|
|
12201
|
+
return updated;
|
|
12144
12202
|
});
|
|
12203
|
+
setContainerSelections(value);
|
|
12204
|
+
prevSelectionsRef.current = value;
|
|
12145
12205
|
};
|
|
12146
12206
|
return /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12147
12207
|
children: /*#__PURE__*/ jsxRuntime.jsx(core.MultiSelect, {
|
|
12148
12208
|
placeholder: category.categoryDisplayName,
|
|
12149
12209
|
value: containerSelections,
|
|
12150
|
-
onChange: (value)=>handleChange(
|
|
12210
|
+
onChange: (value)=>handleChange(value),
|
|
12151
12211
|
clearable: true,
|
|
12152
12212
|
searchable: true,
|
|
12153
12213
|
data: containerData,
|
|
@@ -12161,20 +12221,16 @@ const MultiSelectContainer = ({ category, selectedTags, setSelectedTags })=>{
|
|
|
12161
12221
|
})
|
|
12162
12222
|
}, category.categoryDisplayName?.toString());
|
|
12163
12223
|
};
|
|
12164
|
-
const DiscoveryDropdownTagViewer = ({ tagCategoryData
|
|
12224
|
+
const DiscoveryDropdownTagViewer = ({ tagCategoryData })=>{
|
|
12165
12225
|
if (!tagCategoryData || tagCategoryData?.length === 0) return null;
|
|
12166
12226
|
return /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12167
|
-
|
|
12168
|
-
className: `grid sm:grid-cols-1
|
|
12227
|
+
className: `grid sm:grid-cols-1
|
|
12169
12228
|
${tagCategoryData.length > 1 && ' md:grid-cols-2 gap-4'}`,
|
|
12170
|
-
|
|
12171
|
-
|
|
12172
|
-
|
|
12173
|
-
|
|
12174
|
-
|
|
12175
|
-
})
|
|
12176
|
-
}, i))
|
|
12177
|
-
})
|
|
12229
|
+
children: tagCategoryData.map((category, i)=>/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12230
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(MultiSelectContainer, {
|
|
12231
|
+
category: category
|
|
12232
|
+
})
|
|
12233
|
+
}, i))
|
|
12178
12234
|
});
|
|
12179
12235
|
};
|
|
12180
12236
|
|
|
@@ -12190,7 +12246,8 @@ const DiscoveryDropdownTagViewer = ({ tagCategoryData, selectedTags, setSelected
|
|
|
12190
12246
|
* @param {JSX.Element} props.indexSelector - React component for selecting an index in the discovery panel.
|
|
12191
12247
|
*
|
|
12192
12248
|
* @return {JSX.Element} A fully featured discovery interface including search functionality, a table, charts, filters, and more.
|
|
12193
|
-
*/ const DiscoveryIndexPanel = ({
|
|
12249
|
+
*/ const DiscoveryIndexPanel = ({ indexSelector })=>{
|
|
12250
|
+
const { discoveryConfig: discoveryConfig, selectedTags, setSelectedTags } = useDiscoveryContext();
|
|
12194
12251
|
const dataHook = React.useMemo(()=>getDiscoveryDataLoader(discoveryConfig?.features?.dataLoader?.dataFetchFunction) ?? useLoadAllMDSData, [
|
|
12195
12252
|
discoveryConfig?.features?.dataLoader?.dataFetchFunction
|
|
12196
12253
|
]);
|
|
@@ -12203,7 +12260,6 @@ const DiscoveryDropdownTagViewer = ({ tagCategoryData, selectedTags, setSelected
|
|
|
12203
12260
|
const [debouncedSearchBarTerms] = hooks.useDebouncedValue(searchBarTerms, DEBOUNCE_DELAY_TIME);
|
|
12204
12261
|
const [selections, setSelections] = React.useState([]); // table selections
|
|
12205
12262
|
const [sorting, setSorting] = React.useState([]);
|
|
12206
|
-
const [selectedTags, setSelectedTags] = React.useState({});
|
|
12207
12263
|
const [advancedSearchTerms, setAdvancedSearchTerms] = React.useState({
|
|
12208
12264
|
operation: SearchCombination.and,
|
|
12209
12265
|
filters: {}
|
|
@@ -12251,153 +12307,148 @@ const DiscoveryDropdownTagViewer = ({ tagCategoryData, selectedTags, setSelected
|
|
|
12251
12307
|
const enableSearchableTags = discoveryConfig?.features?.search?.tagSearchDropdown?.enabled;
|
|
12252
12308
|
return /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12253
12309
|
className: "flex flex-col items-center p-4 w-full bg-base-lightest",
|
|
12254
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(
|
|
12255
|
-
|
|
12256
|
-
|
|
12257
|
-
children:
|
|
12258
|
-
|
|
12259
|
-
|
|
12260
|
-
|
|
12261
|
-
|
|
12262
|
-
|
|
12263
|
-
|
|
12264
|
-
|
|
12265
|
-
|
|
12266
|
-
|
|
12267
|
-
|
|
12268
|
-
|
|
12269
|
-
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12275
|
-
|
|
12276
|
-
|
|
12277
|
-
|
|
12278
|
-
|
|
12279
|
-
|
|
12280
|
-
|
|
12281
|
-
|
|
12282
|
-
|
|
12283
|
-
|
|
12284
|
-
|
|
12285
|
-
|
|
12286
|
-
|
|
12287
|
-
|
|
12288
|
-
|
|
12289
|
-
|
|
12290
|
-
clearSearch: ()=>{
|
|
12291
|
-
setSearchBarTerms([]);
|
|
12292
|
-
},
|
|
12293
|
-
searchChanged: (v)=>setSearchBarTerms(v.split(' ')),
|
|
12294
|
-
placeholder: discoveryConfig?.features?.search?.searchBar?.placeholder ?? 'Search...',
|
|
12295
|
-
label: discoveryConfig?.features?.search?.searchBar?.inputSubtitle
|
|
12296
|
-
})
|
|
12297
|
-
}),
|
|
12298
|
-
enableSearchableTags && /*#__PURE__*/ jsxRuntime.jsxs(core.Grid.Col, {
|
|
12299
|
-
span: {
|
|
12300
|
-
sm: 12,
|
|
12301
|
-
md: 5
|
|
12310
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(StudyProvider, {
|
|
12311
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
12312
|
+
className: "w-full",
|
|
12313
|
+
children: [
|
|
12314
|
+
discoveryConfig.features?.pageTitle && discoveryConfig?.features?.pageTitle.enabled ? /*#__PURE__*/ jsxRuntime.jsx(core.Text, {
|
|
12315
|
+
size: "xl",
|
|
12316
|
+
children: discoveryConfig?.features?.pageTitle.text
|
|
12317
|
+
}) : null,
|
|
12318
|
+
discoveryConfig.features?.chartsSection?.enabled && /*#__PURE__*/ jsxRuntime.jsx(CollapsableCharts, {
|
|
12319
|
+
config: discoveryConfig.features?.chartsSection,
|
|
12320
|
+
data: chartData,
|
|
12321
|
+
isSuccess: dataRequestStatus.isSuccess
|
|
12322
|
+
}),
|
|
12323
|
+
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
12324
|
+
className: "flex items-center p-2 mb-4 bg-base-max rounded-lg",
|
|
12325
|
+
children: [
|
|
12326
|
+
indexSelector,
|
|
12327
|
+
/*#__PURE__*/ jsxRuntime.jsx(SummaryStatisticPanel, {
|
|
12328
|
+
summaries: summaryStatistics
|
|
12329
|
+
}),
|
|
12330
|
+
enableSearchBar && /*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
12331
|
+
className: "w-3/4 flex flex-col",
|
|
12332
|
+
children: [
|
|
12333
|
+
/*#__PURE__*/ jsxRuntime.jsxs(core.Grid, {
|
|
12334
|
+
children: [
|
|
12335
|
+
/*#__PURE__*/ jsxRuntime.jsx(core.Grid.Col, {
|
|
12336
|
+
span: {
|
|
12337
|
+
md: enableSearchableTags ? 7 : 10,
|
|
12338
|
+
sm: 12
|
|
12339
|
+
},
|
|
12340
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(SearchInputWithSuggestions, {
|
|
12341
|
+
searchBarTerms: searchBarTerms,
|
|
12342
|
+
setSearchBarTerms: setSearchBarTerms,
|
|
12343
|
+
suggestions: suggestions,
|
|
12344
|
+
clearSearch: ()=>{
|
|
12345
|
+
setSearchBarTerms([]);
|
|
12302
12346
|
},
|
|
12303
|
-
|
|
12304
|
-
|
|
12305
|
-
|
|
12306
|
-
onClick: ()=>setSelectedTags({}),
|
|
12307
|
-
variant: "outline",
|
|
12308
|
-
leftSection: /*#__PURE__*/ jsxRuntime.jsx(io.IoIosRefresh, {}),
|
|
12309
|
-
className: Object.keys(selectedTags).length === 0 ? 'border-gray-400 mr-1 mt-1' : 'mr-1 mt-1',
|
|
12310
|
-
"data-disabled": Object.keys(selectedTags).length === 0,
|
|
12311
|
-
children: "Reset"
|
|
12312
|
-
}),
|
|
12313
|
-
/*#__PURE__*/ jsxRuntime.jsx(core.Button, {
|
|
12314
|
-
className: "mt-1",
|
|
12315
|
-
onClick: ()=>setIsDropdownTagViewerOpen((prev)=>!prev),
|
|
12316
|
-
disabled: data.length === 0,
|
|
12317
|
-
variant: "outline",
|
|
12318
|
-
leftSection: isDropdownTagViewerOpen ? /*#__PURE__*/ jsxRuntime.jsx(io.IoIosArrowUp, {}) : /*#__PURE__*/ jsxRuntime.jsx(io.IoIosArrowDown, {}),
|
|
12319
|
-
children: `${discoveryConfig?.features?.search?.tagSearchDropdown?.collapsibleButtonText || 'Tag Panel'}`
|
|
12320
|
-
})
|
|
12321
|
-
]
|
|
12347
|
+
searchChanged: (v)=>setSearchBarTerms(v.split(' ')),
|
|
12348
|
+
placeholder: discoveryConfig?.features?.search?.searchBar?.placeholder ?? 'Search...',
|
|
12349
|
+
label: discoveryConfig?.features?.search?.searchBar?.inputSubtitle
|
|
12322
12350
|
})
|
|
12323
|
-
|
|
12324
|
-
|
|
12325
|
-
|
|
12326
|
-
|
|
12327
|
-
|
|
12328
|
-
|
|
12329
|
-
|
|
12330
|
-
|
|
12331
|
-
|
|
12332
|
-
|
|
12333
|
-
|
|
12334
|
-
|
|
12335
|
-
|
|
12336
|
-
|
|
12337
|
-
|
|
12338
|
-
|
|
12339
|
-
|
|
12340
|
-
|
|
12341
|
-
|
|
12351
|
+
}),
|
|
12352
|
+
enableSearchableTags && /*#__PURE__*/ jsxRuntime.jsxs(core.Grid.Col, {
|
|
12353
|
+
span: {
|
|
12354
|
+
sm: 12,
|
|
12355
|
+
md: 5
|
|
12356
|
+
},
|
|
12357
|
+
className: "md:mt-5 sm:mt-1",
|
|
12358
|
+
children: [
|
|
12359
|
+
/*#__PURE__*/ jsxRuntime.jsx(core.Button, {
|
|
12360
|
+
onClick: ()=>setSelectedTags({}),
|
|
12361
|
+
variant: "outline",
|
|
12362
|
+
leftSection: /*#__PURE__*/ jsxRuntime.jsx(io.IoIosRefresh, {}),
|
|
12363
|
+
className: Object.keys(selectedTags).length === 0 ? 'border-gray-400 mr-1 mt-1' : 'mr-1 mt-1',
|
|
12364
|
+
"data-disabled": Object.keys(selectedTags).length === 0,
|
|
12365
|
+
children: "Reset"
|
|
12366
|
+
}),
|
|
12367
|
+
/*#__PURE__*/ jsxRuntime.jsx(core.Button, {
|
|
12368
|
+
className: "mt-1",
|
|
12369
|
+
onClick: ()=>setIsDropdownTagViewerOpen((prev)=>!prev),
|
|
12370
|
+
disabled: data.length === 0,
|
|
12371
|
+
variant: "outline",
|
|
12372
|
+
leftSection: isDropdownTagViewerOpen ? /*#__PURE__*/ jsxRuntime.jsx(io.IoIosArrowUp, {}) : /*#__PURE__*/ jsxRuntime.jsx(io.IoIosArrowDown, {}),
|
|
12373
|
+
children: `${discoveryConfig?.features?.search?.tagSearchDropdown?.collapsibleButtonText || 'Tag Panel'}`
|
|
12374
|
+
})
|
|
12375
|
+
]
|
|
12342
12376
|
})
|
|
12377
|
+
]
|
|
12378
|
+
}),
|
|
12379
|
+
/*#__PURE__*/ jsxRuntime.jsx(SearchInputSelectableFields, {
|
|
12380
|
+
searchMode: searchMode,
|
|
12381
|
+
setSearchMode: setSearchMode,
|
|
12382
|
+
searchableTextFields: discoveryConfig?.features?.search?.searchBar?.searchableTextFields,
|
|
12383
|
+
searchableAndSelectableTextFields: discoveryConfig?.features?.search?.searchBar?.searchableAndSelectableTextFields,
|
|
12384
|
+
setSelectedFieldsForSearchIndexing: setSelectedFieldsForSearchIndexing
|
|
12385
|
+
}),
|
|
12386
|
+
/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12387
|
+
ref: tagViewerContentRef,
|
|
12388
|
+
className: `transition-all duration-300 ease-in-out mt-2 ${isDropdownTagViewerOpen ? 'max-h-screen opacity-100' : 'max-h-0 opacity-0'} overflow-hidden`,
|
|
12389
|
+
style: {
|
|
12390
|
+
height: isDropdownTagViewerOpen && tagViewerContentRef.current ? `${tagViewerContentRef.current.scrollHeight}px` : '0px'
|
|
12391
|
+
},
|
|
12392
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(DiscoveryDropdownTagViewer, {
|
|
12393
|
+
tagCategoryData: tagCategoryData
|
|
12343
12394
|
})
|
|
12344
|
-
]
|
|
12345
|
-
})
|
|
12346
|
-
]
|
|
12347
|
-
}),
|
|
12348
|
-
discoveryConfig?.features?.aiSearch && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12349
|
-
className: "mb-4",
|
|
12350
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12351
|
-
className: "flex w-full bg-base-max p-4 rounded-lg",
|
|
12352
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(AiSearch, {})
|
|
12353
|
-
})
|
|
12354
|
-
}),
|
|
12355
|
-
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
12356
|
-
className: "flex flex-row",
|
|
12357
|
-
children: [
|
|
12358
|
-
discoveryConfig?.features?.advSearchFilters?.enabled ? /*#__PURE__*/ jsxRuntime.jsx(core.Button, {
|
|
12359
|
-
onClick: toggleAdvancedSearch,
|
|
12360
|
-
color: "accent",
|
|
12361
|
-
children: "Filters"
|
|
12362
|
-
}) : false,
|
|
12363
|
-
discoveryConfig?.features?.exportFromDiscovery?.enabled ? /*#__PURE__*/ jsxRuntime.jsx(ActionBar, {
|
|
12364
|
-
buttons: discoveryConfig.features.exportFromDiscovery.buttons,
|
|
12365
|
-
exportDataFields: discoveryConfig.features.exportFromDiscovery.exportDataFields,
|
|
12366
|
-
selectedResources: selectedRecords,
|
|
12367
|
-
verifyExternalLogins: discoveryConfig.features.exportFromDiscovery.verifyExternalLogins,
|
|
12368
|
-
dataLibraryStoreMode: discoveryConfig.features.exportFromDiscovery.dataLibraryStoreMode
|
|
12369
|
-
}) : null
|
|
12370
|
-
]
|
|
12371
|
-
}),
|
|
12372
|
-
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
12373
|
-
className: "flex justify-start",
|
|
12374
|
-
children: [
|
|
12375
|
-
discoveryConfig?.features?.advSearchFilters?.enabled ? /*#__PURE__*/ jsxRuntime.jsx(AdvancedSearchPanel, {
|
|
12376
|
-
advSearchFilters: advancedSearchFilterValues,
|
|
12377
|
-
opened: showAdvancedSearch,
|
|
12378
|
-
setAdvancedSearchFilters: setAdvancedSearchTerms
|
|
12379
|
-
}) : false,
|
|
12380
|
-
/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12381
|
-
className: "flex w-full grow-0 bg-base-max border-1 border-base-lighter p-4 rounded-md",
|
|
12382
|
-
ref: parentDivRef,
|
|
12383
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(DiscoveryTable, {
|
|
12384
|
-
data: data,
|
|
12385
|
-
hits: hits,
|
|
12386
|
-
dataRequestStatus: dataRequestStatus,
|
|
12387
|
-
setPagination: setPagination,
|
|
12388
|
-
setSorting: setSorting,
|
|
12389
|
-
setSelection: setSelections,
|
|
12390
|
-
pagination: pagination,
|
|
12391
|
-
sorting: sorting,
|
|
12392
|
-
searchTerm: debouncedSearchBarTerms.join(' '),
|
|
12393
|
-
selectedFieldsForSearchIndexing: selectedFieldsForSearchIndexing,
|
|
12394
|
-
discoveryConfig: discoveryConfig
|
|
12395
12395
|
})
|
|
12396
|
-
|
|
12397
|
-
|
|
12396
|
+
]
|
|
12397
|
+
})
|
|
12398
|
+
]
|
|
12399
|
+
}),
|
|
12400
|
+
discoveryConfig?.features?.aiSearch && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12401
|
+
className: "mb-4",
|
|
12402
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12403
|
+
className: "flex w-full bg-base-max p-4 rounded-lg",
|
|
12404
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(AiSearch, {})
|
|
12398
12405
|
})
|
|
12399
|
-
|
|
12400
|
-
|
|
12406
|
+
}),
|
|
12407
|
+
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
12408
|
+
className: "flex flex-row",
|
|
12409
|
+
children: [
|
|
12410
|
+
discoveryConfig?.features?.advSearchFilters?.enabled ? /*#__PURE__*/ jsxRuntime.jsx(core.Button, {
|
|
12411
|
+
onClick: toggleAdvancedSearch,
|
|
12412
|
+
color: "accent",
|
|
12413
|
+
children: "Filters"
|
|
12414
|
+
}) : false,
|
|
12415
|
+
discoveryConfig?.features?.exportFromDiscovery?.enabled ? /*#__PURE__*/ jsxRuntime.jsx(ActionBar, {
|
|
12416
|
+
buttons: discoveryConfig.features.exportFromDiscovery.buttons,
|
|
12417
|
+
exportDataFields: discoveryConfig.features.exportFromDiscovery.exportDataFields,
|
|
12418
|
+
selectedResources: selectedRecords,
|
|
12419
|
+
verifyExternalLogins: discoveryConfig.features.exportFromDiscovery.verifyExternalLogins,
|
|
12420
|
+
dataLibraryStoreMode: discoveryConfig.features.exportFromDiscovery.dataLibraryStoreMode
|
|
12421
|
+
}) : null
|
|
12422
|
+
]
|
|
12423
|
+
}),
|
|
12424
|
+
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
12425
|
+
className: "flex justify-start",
|
|
12426
|
+
children: [
|
|
12427
|
+
discoveryConfig?.features?.advSearchFilters?.enabled ? /*#__PURE__*/ jsxRuntime.jsx(AdvancedSearchPanel, {
|
|
12428
|
+
advSearchFilters: advancedSearchFilterValues,
|
|
12429
|
+
opened: showAdvancedSearch,
|
|
12430
|
+
setAdvancedSearchFilters: setAdvancedSearchTerms
|
|
12431
|
+
}) : false,
|
|
12432
|
+
/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12433
|
+
className: "flex w-full grow-0 bg-base-max border-1 border-base-lighter p-4 rounded-md",
|
|
12434
|
+
ref: parentDivRef,
|
|
12435
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(DiscoveryTable, {
|
|
12436
|
+
data: data,
|
|
12437
|
+
hits: hits,
|
|
12438
|
+
dataRequestStatus: dataRequestStatus,
|
|
12439
|
+
setPagination: setPagination,
|
|
12440
|
+
setSorting: setSorting,
|
|
12441
|
+
setSelection: setSelections,
|
|
12442
|
+
pagination: pagination,
|
|
12443
|
+
sorting: sorting,
|
|
12444
|
+
searchTerm: debouncedSearchBarTerms.join(' '),
|
|
12445
|
+
selectedFieldsForSearchIndexing: selectedFieldsForSearchIndexing,
|
|
12446
|
+
discoveryConfig: discoveryConfig
|
|
12447
|
+
})
|
|
12448
|
+
})
|
|
12449
|
+
]
|
|
12450
|
+
})
|
|
12451
|
+
]
|
|
12401
12452
|
})
|
|
12402
12453
|
})
|
|
12403
12454
|
});
|
|
@@ -12443,42 +12494,46 @@ const Discovery = ({ discoveryConfig })=>{
|
|
|
12443
12494
|
}
|
|
12444
12495
|
if (menuItems.length === 1) {
|
|
12445
12496
|
// no need for tabs
|
|
12446
|
-
return /*#__PURE__*/ jsxRuntime.jsx(
|
|
12447
|
-
|
|
12448
|
-
|
|
12497
|
+
return /*#__PURE__*/ jsxRuntime.jsx(DiscoveryProvider, {
|
|
12498
|
+
discoveryIndexConfig: discoveryConfig.metadataConfig[0],
|
|
12499
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(DiscoveryIndexPanel, {
|
|
12500
|
+
indexSelector: null
|
|
12501
|
+
})
|
|
12449
12502
|
});
|
|
12450
12503
|
}
|
|
12451
|
-
return /*#__PURE__*/ jsxRuntime.jsx(
|
|
12452
|
-
|
|
12453
|
-
children: /*#__PURE__*/ jsxRuntime.
|
|
12454
|
-
className: "w-full",
|
|
12455
|
-
|
|
12456
|
-
|
|
12457
|
-
|
|
12458
|
-
|
|
12459
|
-
|
|
12460
|
-
|
|
12461
|
-
|
|
12462
|
-
|
|
12504
|
+
return /*#__PURE__*/ jsxRuntime.jsx(DiscoveryProvider, {
|
|
12505
|
+
discoveryIndexConfig: discoveryConfig.metadataConfig[0],
|
|
12506
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
12507
|
+
className: "flex flex-col items-center p-4 w-full bg-base-lightest",
|
|
12508
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(core.Tabs, {
|
|
12509
|
+
className: "w-full",
|
|
12510
|
+
defaultValue: metadataIndex,
|
|
12511
|
+
variant: discoveryConfig.metadataConfig[0]?.tabType,
|
|
12512
|
+
onChange: (v)=>{
|
|
12513
|
+
setMetadataIndex(v ?? '0');
|
|
12514
|
+
},
|
|
12515
|
+
children: [
|
|
12516
|
+
/*#__PURE__*/ jsxRuntime.jsx(core.Tabs.List, {
|
|
12517
|
+
children: menuItems.map((item)=>/*#__PURE__*/ jsxRuntime.jsx(core.Tabs.Tab, {
|
|
12518
|
+
value: item.value,
|
|
12519
|
+
children: item.label
|
|
12520
|
+
}, item.value))
|
|
12521
|
+
}),
|
|
12522
|
+
menuItems.map((item, i)=>/*#__PURE__*/ jsxRuntime.jsx(core.Tabs.Panel, {
|
|
12463
12523
|
value: item.value,
|
|
12464
|
-
children:
|
|
12524
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(DiscoveryIndexPanel, {
|
|
12525
|
+
indexSelector: menuItems.length < 0 ? /*#__PURE__*/ jsxRuntime.jsx(core.Select, {
|
|
12526
|
+
label: "Metadata:",
|
|
12527
|
+
data: menuItems,
|
|
12528
|
+
value: metadataIndex,
|
|
12529
|
+
onChange: (v)=>{
|
|
12530
|
+
setMetadataIndex(v ?? '0');
|
|
12531
|
+
}
|
|
12532
|
+
}) : null
|
|
12533
|
+
})
|
|
12465
12534
|
}, item.value))
|
|
12466
|
-
|
|
12467
|
-
|
|
12468
|
-
value: item.value,
|
|
12469
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(DiscoveryIndexPanel, {
|
|
12470
|
-
discoveryConfig: discoveryConfig.metadataConfig[Number.parseInt(item.value)],
|
|
12471
|
-
indexSelector: menuItems.length < 0 ? /*#__PURE__*/ jsxRuntime.jsx(core.Select, {
|
|
12472
|
-
label: "Metadata:",
|
|
12473
|
-
data: menuItems,
|
|
12474
|
-
value: metadataIndex,
|
|
12475
|
-
onChange: (v)=>{
|
|
12476
|
-
setMetadataIndex(v ?? '0');
|
|
12477
|
-
}
|
|
12478
|
-
}) : null
|
|
12479
|
-
})
|
|
12480
|
-
}, item.value))
|
|
12481
|
-
]
|
|
12535
|
+
]
|
|
12536
|
+
})
|
|
12482
12537
|
})
|
|
12483
12538
|
});
|
|
12484
12539
|
};
|
|
@@ -17429,7 +17484,7 @@ const SUMMARY_THRESHOLD = 10;
|
|
|
17429
17484
|
*/ const DefaultShouldShowSummary = (field, count)=>{
|
|
17430
17485
|
return count > SUMMARY_THRESHOLD;
|
|
17431
17486
|
};
|
|
17432
|
-
const QueryExpression = ({ index, shouldShowSummary = DefaultShouldShowSummary, hooks })=>{
|
|
17487
|
+
const QueryExpression = ({ index, shouldShowSummary = DefaultShouldShowSummary, hooks, fieldsAreFlat = true })=>{
|
|
17433
17488
|
const currentCohortId = core$1.useCoreSelector((state)=>core$1.selectCurrentCohortId(state));
|
|
17434
17489
|
const currentCohortName = core$1.useCoreSelector((state)=>core$1.selectCurrentCohortName(state));
|
|
17435
17490
|
return /*#__PURE__*/ jsxRuntime.jsx(QueryExpressionContext.Provider, {
|
|
@@ -17437,6 +17492,7 @@ const QueryExpression = ({ index, shouldShowSummary = DefaultShouldShowSummary,
|
|
|
17437
17492
|
cohortName: currentCohortName,
|
|
17438
17493
|
cohortId: currentCohortId,
|
|
17439
17494
|
displayOnly: false,
|
|
17495
|
+
fieldsAreFlat: fieldsAreFlat,
|
|
17440
17496
|
shouldShowSummary: shouldShowSummary,
|
|
17441
17497
|
useClearCohortFilters: ()=>{
|
|
17442
17498
|
const dispatch = core$1.useCoreDispatch();
|
|
@@ -17639,7 +17695,7 @@ const getActiveTab = (router)=>{
|
|
|
17639
17695
|
else if (typeof activeTab === 'object') return activeTab[0];
|
|
17640
17696
|
return undefined;
|
|
17641
17697
|
};
|
|
17642
|
-
const CohortBuilder = dynamic(()=>Promise.resolve().then(function () { return require('./CohortBuilder-
|
|
17698
|
+
const CohortBuilder = dynamic(()=>Promise.resolve().then(function () { return require('./CohortBuilder-B-eEUQhE.js'); }), {
|
|
17643
17699
|
ssr: false
|
|
17644
17700
|
});
|
|
17645
17701
|
const ExplorerPage = ({ headerProps, footerProps, explorerConfig, headerMetadata, tabsLayout, sharedFiltersMap })=>{
|
|
@@ -18026,7 +18082,8 @@ function hashCode(str) {
|
|
|
18026
18082
|
case "markdown":
|
|
18027
18083
|
{
|
|
18028
18084
|
return /*#__PURE__*/ jsxRuntime.jsx(MarkdownContent, {
|
|
18029
|
-
content: text
|
|
18085
|
+
content: text,
|
|
18086
|
+
className: className
|
|
18030
18087
|
});
|
|
18031
18088
|
}
|
|
18032
18089
|
case "textWithEmail":
|
|
@@ -18302,11 +18359,19 @@ const TexturedSidePanel = ({ url })=>{
|
|
|
18302
18359
|
});
|
|
18303
18360
|
};
|
|
18304
18361
|
|
|
18305
|
-
const
|
|
18362
|
+
const logninExtraText = (extra)=>{
|
|
18363
|
+
return extra?.map((content, index)=>/*#__PURE__*/ React.createElement(TextContent, {
|
|
18364
|
+
...content,
|
|
18365
|
+
key: index
|
|
18366
|
+
}));
|
|
18367
|
+
};
|
|
18368
|
+
const LoginProviderMultipleItems = ({ provider, handleLoginSelected, loginProviderExtra })=>{
|
|
18306
18369
|
const [value, setValue] = React.useState(null);
|
|
18370
|
+
const extra = loginProviderExtra && loginProviderExtra[provider.name];
|
|
18307
18371
|
return /*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
18308
18372
|
className: "flex flex-col w-full font-medium hover:text-accent-light hover:font-bold",
|
|
18309
18373
|
children: [
|
|
18374
|
+
extra && logninExtraText(extra),
|
|
18310
18375
|
/*#__PURE__*/ jsxRuntime.jsx(core.Select, {
|
|
18311
18376
|
data: provider.urls.map((item)=>({
|
|
18312
18377
|
value: item.url,
|
|
@@ -18340,19 +18405,25 @@ const LoginProviderMultipleItems = ({ provider, handleLoginSelected })=>{
|
|
|
18340
18405
|
]
|
|
18341
18406
|
}, `${provider.name}-login-item`);
|
|
18342
18407
|
};
|
|
18343
|
-
const LoginProviderSingleItem = ({ provider, handleLoginSelected })=>{
|
|
18344
|
-
|
|
18345
|
-
|
|
18346
|
-
color: "accent.3",
|
|
18347
|
-
onClick: ()=>handleLoginSelected(provider.urls[0].url),
|
|
18408
|
+
const LoginProviderSingleItem = ({ provider, handleLoginSelected, loginProviderExtra })=>{
|
|
18409
|
+
const extra = loginProviderExtra && loginProviderExtra[provider.name];
|
|
18410
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(React.Fragment, {
|
|
18348
18411
|
children: [
|
|
18349
|
-
|
|
18350
|
-
|
|
18351
|
-
|
|
18412
|
+
extra && logninExtraText(extra),
|
|
18413
|
+
/*#__PURE__*/ jsxRuntime.jsxs(core.Button, {
|
|
18414
|
+
fullWidth: true,
|
|
18415
|
+
color: "accent.3",
|
|
18416
|
+
onClick: ()=>handleLoginSelected(provider.urls[0].url),
|
|
18417
|
+
children: [
|
|
18418
|
+
' ',
|
|
18419
|
+
provider.name,
|
|
18420
|
+
' '
|
|
18421
|
+
]
|
|
18422
|
+
}, provider.name)
|
|
18352
18423
|
]
|
|
18353
|
-
}
|
|
18424
|
+
});
|
|
18354
18425
|
};
|
|
18355
|
-
const LoginProvidersPanel = ({ handleLoginSelected })=>{
|
|
18426
|
+
const LoginProvidersPanel = ({ handleLoginSelected, loginProviderExtra })=>{
|
|
18356
18427
|
const { data, isSuccess, isError, isLoading, isFetching } = core$1.useGetLoginProvidersQuery();
|
|
18357
18428
|
if (isError) {
|
|
18358
18429
|
return /*#__PURE__*/ jsxRuntime.jsx(core.Center, {
|
|
@@ -18381,17 +18452,21 @@ const LoginProvidersPanel = ({ handleLoginSelected })=>{
|
|
|
18381
18452
|
children: [
|
|
18382
18453
|
data && data.default_provider.urls.length > 1 ? /*#__PURE__*/ jsxRuntime.jsx(LoginProviderMultipleItems, {
|
|
18383
18454
|
provider: data.default_provider,
|
|
18384
|
-
handleLoginSelected: handleLoginSelected
|
|
18455
|
+
handleLoginSelected: handleLoginSelected,
|
|
18456
|
+
loginProviderExtra: loginProviderExtra
|
|
18385
18457
|
}) : data && /*#__PURE__*/ jsxRuntime.jsx(LoginProviderSingleItem, {
|
|
18386
18458
|
provider: data.default_provider,
|
|
18387
|
-
handleLoginSelected: handleLoginSelected
|
|
18459
|
+
handleLoginSelected: handleLoginSelected,
|
|
18460
|
+
loginProviderExtra: loginProviderExtra
|
|
18388
18461
|
}),
|
|
18389
18462
|
data?.providers.filter((x)=>x.name !== data.default_provider.name).map((x)=>x.urls.length > 1 ? /*#__PURE__*/ jsxRuntime.jsx(LoginProviderMultipleItems, {
|
|
18390
18463
|
provider: x,
|
|
18391
|
-
handleLoginSelected: handleLoginSelected
|
|
18464
|
+
handleLoginSelected: handleLoginSelected,
|
|
18465
|
+
loginProviderExtra: loginProviderExtra
|
|
18392
18466
|
}, x.name) : /*#__PURE__*/ jsxRuntime.jsx(LoginProviderSingleItem, {
|
|
18393
18467
|
provider: x,
|
|
18394
|
-
handleLoginSelected: handleLoginSelected
|
|
18468
|
+
handleLoginSelected: handleLoginSelected,
|
|
18469
|
+
loginProviderExtra: loginProviderExtra
|
|
18395
18470
|
}, x.name))
|
|
18396
18471
|
]
|
|
18397
18472
|
})
|
|
@@ -18561,7 +18636,7 @@ const filterRedirect = (redirect)=>{
|
|
|
18561
18636
|
return cleanPath ? `${baseUrl}/${cleanPath}` : baseUrl;
|
|
18562
18637
|
};
|
|
18563
18638
|
const LoginPanel = (loginConfig)=>{
|
|
18564
|
-
const { image, topContent, bottomContent } = loginConfig;
|
|
18639
|
+
const { image, topContent, loginProviderExtra, bottomContent } = loginConfig;
|
|
18565
18640
|
const router$1 = router.useRouter();
|
|
18566
18641
|
const { query: { referer: refererQuery, redirect: redirectQuery } } = router$1;
|
|
18567
18642
|
const referer = redirectQuery || refererQuery; // either referer or redirect query param
|
|
@@ -18602,7 +18677,8 @@ const LoginPanel = (loginConfig)=>{
|
|
|
18602
18677
|
key: index
|
|
18603
18678
|
})),
|
|
18604
18679
|
/*#__PURE__*/ jsxRuntime.jsx(LoginProvidersPanel, {
|
|
18605
|
-
handleLoginSelected: handleFenceLoginSelected
|
|
18680
|
+
handleLoginSelected: handleFenceLoginSelected,
|
|
18681
|
+
loginProviderExtra: loginProviderExtra
|
|
18606
18682
|
}),
|
|
18607
18683
|
loginConfig?.showCredentialsLogin && process.env.NODE_ENV === 'development' && /*#__PURE__*/ jsxRuntime.jsx(CredentialsLogin, {
|
|
18608
18684
|
handleLogin: handleCredentialsLogin
|
|
@@ -26423,7 +26499,8 @@ const TabbedCohortBuilderPage = ({ headerProps, footerProps, configuration })=>{
|
|
|
26423
26499
|
})
|
|
26424
26500
|
}),
|
|
26425
26501
|
/*#__PURE__*/ jsxRuntime.jsx(QueryExpression, {
|
|
26426
|
-
index: configuration.index
|
|
26502
|
+
index: configuration.index,
|
|
26503
|
+
fieldsAreFlat: configuration.fieldsAreFlat
|
|
26427
26504
|
})
|
|
26428
26505
|
]
|
|
26429
26506
|
}),
|
|
@@ -27836,4 +27913,4 @@ exports.useGetFacetFilters = useGetFacetFilters;
|
|
|
27836
27913
|
exports.useSetCohortFilterCombineState = useSetCohortFilterCombineState;
|
|
27837
27914
|
exports.useToggleExpandFilter = useToggleExpandFilter;
|
|
27838
27915
|
exports.useUpdateFilters = useUpdateFilters;
|
|
27839
|
-
//# sourceMappingURL=index-
|
|
27916
|
+
//# sourceMappingURL=index-4CPJ2OlY.js.map
|