synapse-react-client 2.1.21 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/containers/CardContainer.d.ts +0 -8
- package/dist/containers/CardContainer.js +13 -23
- package/dist/containers/CardContainer.js.map +1 -1
- package/dist/containers/CardContainerLogic.d.ts +3 -76
- package/dist/containers/CardContainerLogic.js +29 -150
- package/dist/containers/CardContainerLogic.js.map +1 -1
- package/dist/containers/ChangePassword.d.ts +3 -0
- package/dist/containers/ChangePassword.js +88 -0
- package/dist/containers/ChangePassword.js.map +1 -0
- package/dist/containers/FileUpload.d.ts +1 -1
- package/dist/containers/FileUpload.js.map +1 -1
- package/dist/containers/FluidModal.d.ts +2 -0
- package/dist/containers/FluidModal.js +6 -1
- package/dist/containers/FluidModal.js.map +1 -1
- package/dist/containers/FullTextSearch.d.ts +1 -5
- package/dist/containers/FullTextSearch.js +9 -9
- package/dist/containers/FullTextSearch.js.map +1 -1
- package/dist/containers/LoadingScreen.d.ts +7 -1
- package/dist/containers/LoadingScreen.js +15 -4
- package/dist/containers/LoadingScreen.js.map +1 -1
- package/dist/containers/QueryCount.js.map +1 -1
- package/dist/containers/QueryVisualizationWrapper.d.ts +48 -0
- package/dist/containers/QueryVisualizationWrapper.js +81 -0
- package/dist/containers/QueryVisualizationWrapper.js.map +1 -0
- package/dist/containers/QueryWrapper.d.ts +55 -145
- package/dist/containers/QueryWrapper.js +206 -263
- package/dist/containers/QueryWrapper.js.map +1 -1
- package/dist/containers/QueryWrapperErrorBanner.d.ts +5 -0
- package/dist/containers/QueryWrapperErrorBanner.js +16 -0
- package/dist/containers/QueryWrapperErrorBanner.js.map +1 -0
- package/dist/containers/SearchV2.d.ts +6 -2
- package/dist/containers/SearchV2.js +11 -11
- package/dist/containers/SearchV2.js.map +1 -1
- package/dist/containers/SqlEditor.d.ts +1 -5
- package/dist/containers/SqlEditor.js +8 -7
- package/dist/containers/SqlEditor.js.map +1 -1
- package/dist/containers/ToastMessage.d.ts +1 -1
- package/dist/containers/TotalQueryResults.d.ts +3 -6
- package/dist/containers/TotalQueryResults.js +42 -58
- package/dist/containers/TotalQueryResults.js.map +1 -1
- package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.d.ts +1 -7
- package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js.map +1 -1
- package/dist/containers/download_list/DownloadConfirmation.d.ts +0 -5
- package/dist/containers/download_list/DownloadConfirmation.js +16 -18
- package/dist/containers/download_list/DownloadConfirmation.js.map +1 -1
- package/dist/containers/entity/annotations/AdditionalPropertiesSchemaField.d.ts +1 -1
- package/dist/containers/entity_finder/EntityFinder.d.ts +1 -1
- package/dist/containers/entity_finder/EntityFinder.js +4 -4
- package/dist/containers/entity_finder/EntityFinder.js.map +1 -1
- package/dist/containers/entity_finder/EntityFinderModal.d.ts +2 -0
- package/dist/containers/entity_finder/EntityFinderModal.js +1 -1
- package/dist/containers/entity_finder/EntityFinderModal.js.map +1 -1
- package/dist/containers/entity_finder/details/configurations/EntityChildrenDetails.js +6 -4
- package/dist/containers/entity_finder/details/configurations/EntityChildrenDetails.js.map +1 -1
- package/dist/containers/entity_finder/details/view/DetailsView.d.ts +5 -1
- package/dist/containers/entity_finder/details/view/DetailsView.js +9 -2
- package/dist/containers/entity_finder/details/view/DetailsView.js.map +1 -1
- package/dist/containers/entity_finder/tree/{TreeView.d.ts → EntityTree.d.ts} +4 -4
- package/dist/containers/entity_finder/tree/{TreeView.js → EntityTree.js} +43 -30
- package/dist/containers/entity_finder/tree/EntityTree.js.map +1 -0
- package/dist/containers/entity_finder/tree/VirtualizedTree.d.ts +89 -0
- package/dist/containers/entity_finder/tree/VirtualizedTree.js +379 -0
- package/dist/containers/entity_finder/tree/VirtualizedTree.js.map +1 -0
- package/dist/containers/home_page/featured-data/FacetPlotsCard.d.ts +1 -4
- package/dist/containers/home_page/featured-data/FacetPlotsCard.js +11 -8
- package/dist/containers/home_page/featured-data/FacetPlotsCard.js.map +1 -1
- package/dist/containers/home_page/featured-data/QueryPerFacetPlotsCard.d.ts +1 -1
- package/dist/containers/home_page/featured-data/QueryPerFacetPlotsCard.js +8 -9
- package/dist/containers/home_page/featured-data/QueryPerFacetPlotsCard.js.map +1 -1
- package/dist/containers/home_page/featured-data/SingleQueryFacetPlotsCards.d.ts +1 -1
- package/dist/containers/home_page/featured-data/SingleQueryFacetPlotsCards.js +10 -11
- package/dist/containers/home_page/featured-data/SingleQueryFacetPlotsCards.js.map +1 -1
- package/dist/containers/query_wrapper_plot_nav/FilterAndView.d.ts +2 -4
- package/dist/containers/query_wrapper_plot_nav/FilterAndView.js +12 -5
- package/dist/containers/query_wrapper_plot_nav/FilterAndView.js.map +1 -1
- package/dist/containers/query_wrapper_plot_nav/QueryFilterToggleButton.d.ts +1 -2
- package/dist/containers/query_wrapper_plot_nav/QueryFilterToggleButton.js +9 -10
- package/dist/containers/query_wrapper_plot_nav/QueryFilterToggleButton.js.map +1 -1
- package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.d.ts +4 -4
- package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js +53 -35
- package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/containers/synapse_form_wrapper/SynapseFormWrapper.js +1 -1
- package/dist/containers/synapse_form_wrapper/SynapseFormWrapper.js.map +1 -1
- package/dist/containers/table/StandaloneQueryWrapper.d.ts +4 -6
- package/dist/containers/table/StandaloneQueryWrapper.js +29 -19
- package/dist/containers/table/StandaloneQueryWrapper.js.map +1 -1
- package/dist/containers/table/SynapseTable.d.ts +12 -13
- package/dist/containers/table/SynapseTable.js +100 -136
- package/dist/containers/table/SynapseTable.js.map +1 -1
- package/dist/containers/table/TopLevelControls.d.ts +1 -4
- package/dist/containers/table/TopLevelControls.js +27 -43
- package/dist/containers/table/TopLevelControls.js.map +1 -1
- package/dist/containers/table/datasets/DatasetItemsEditor.js +5 -2
- package/dist/containers/table/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/containers/table/table-top/ColumnSelection.d.ts +1 -1
- package/dist/containers/table/table-top/ColumnSelection.js +3 -5
- package/dist/containers/table/table-top/ColumnSelection.js.map +1 -1
- package/dist/containers/table/table-top/DownloadOptions.d.ts +0 -2
- package/dist/containers/table/table-top/DownloadOptions.js +7 -6
- package/dist/containers/table/table-top/DownloadOptions.js.map +1 -1
- package/dist/containers/widgets/facet-nav/FacetNav.d.ts +1 -3
- package/dist/containers/widgets/facet-nav/FacetNav.js +14 -10
- package/dist/containers/widgets/facet-nav/FacetNav.js.map +1 -1
- package/dist/containers/widgets/facet-nav/FacetNavPanel.d.ts +5 -8
- package/dist/containers/widgets/facet-nav/FacetNavPanel.js +15 -12
- package/dist/containers/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/containers/widgets/query-filter/EnumFacetFilter.d.ts +3 -3
- package/dist/containers/widgets/query-filter/EnumFacetFilter.js +2 -2
- package/dist/containers/widgets/query-filter/EnumFacetFilter.js.map +1 -1
- package/dist/containers/widgets/query-filter/QueryFilter.d.ts +7 -12
- package/dist/containers/widgets/query-filter/QueryFilter.js +12 -9
- package/dist/containers/widgets/query-filter/QueryFilter.js.map +1 -1
- package/dist/containers/widgets/query-filter/RangeFacetFilter.d.ts +4 -4
- package/dist/containers/widgets/query-filter/RangeFacetFilter.js +4 -4
- package/dist/containers/widgets/query-filter/RangeFacetFilter.js.map +1 -1
- package/dist/index.d.ts +6 -9
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/style/abstracts/_variables.scss +14 -0
- package/dist/style/components/_bar-loader.scss +11 -2
- package/dist/style/components/_spinner.scss +2 -2
- package/dist/style/components/entity_finder/_tree-node-browse.scss +5 -10
- package/dist/style/components/entity_finder/_tree-node-select.scss +17 -23
- package/dist/style/components/entity_finder/_tree-view.scss +17 -20
- package/dist/style/main.css +42 -27
- package/dist/umd/synapse-react-client.development.css +67 -27
- package/dist/umd/synapse-react-client.development.css.map +3 -3
- package/dist/umd/synapse-react-client.development.js +9865 -3080
- package/dist/umd/synapse-react-client.development.js.map +3 -3
- package/dist/umd/synapse-react-client.production.min.css +1 -1
- package/dist/umd/synapse-react-client.production.min.js +106 -79
- package/dist/umd.index.d.ts +2 -1
- package/dist/umd.index.js +2 -0
- package/dist/umd.index.js.map +1 -1
- package/dist/utils/APIConstants.d.ts +1 -0
- package/dist/utils/APIConstants.js +3 -2
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/SynapseClient.d.ts +62 -20
- package/dist/utils/SynapseClient.js +308 -211
- package/dist/utils/SynapseClient.js.map +1 -1
- package/dist/utils/SynapseConstants.d.ts +1 -0
- package/dist/utils/SynapseConstants.js +3 -2
- package/dist/utils/SynapseConstants.js.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.d.ts +13 -1
- package/dist/utils/functions/EntityTypeUtils.js +25 -1
- package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
- package/dist/utils/functions/queryUtils.d.ts +2 -2
- package/dist/utils/functions/queryUtils.js +22 -5
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/sqlFunctions.js +1 -1
- package/dist/utils/functions/sqlFunctions.js.map +1 -1
- package/dist/utils/functions/unCamelCase.d.ts +1 -1
- package/dist/utils/functions/unCamelCase.js.map +1 -1
- package/dist/utils/hooks/SynapseAPI/useGetEntityChildren.js +3 -3
- package/dist/utils/hooks/SynapseAPI/useGetEntityChildren.js.map +1 -1
- package/dist/utils/hooks/SynapseAPI/useGetQueryResultBundle.d.ts +4 -3
- package/dist/utils/hooks/SynapseAPI/useGetQueryResultBundle.js +67 -1
- package/dist/utils/hooks/SynapseAPI/useGetQueryResultBundle.js.map +1 -1
- package/dist/utils/synapseTypes/ChangePasswordRequests.d.ts +25 -0
- package/dist/utils/synapseTypes/{DownloadListV2/DownloadListQueryResponse.js → ChangePasswordRequests.js} +1 -1
- package/dist/utils/synapseTypes/ChangePasswordRequests.js.map +1 -0
- package/dist/utils/synapseTypes/FileUploadComplete.d.ts +6 -0
- package/dist/utils/synapseTypes/Table/AsynchronousJobStatus.d.ts +5 -4
- package/dist/utils/synapseTypes/Table/EntityView.d.ts +8 -0
- package/dist/utils/synapseTypes/Table/EntityView.js +9 -0
- package/dist/utils/synapseTypes/Table/EntityView.js.map +1 -1
- package/dist/utils/synapseTypes/Table/FacetColumnRequest.d.ts +1 -1
- package/dist/utils/synapseTypes/Table/FacetColumnResult.d.ts +10 -10
- package/dist/utils/synapseTypes/Table/QueryResultBundle.d.ts +1 -0
- package/dist/utils/synapseTypes/VerificationSubmission.d.ts +22 -5
- package/dist/utils/synapseTypes/VerificationSubmission.js +8 -0
- package/dist/utils/synapseTypes/VerificationSubmission.js.map +1 -1
- package/dist/utils/types/Writable.d.ts +8 -0
- package/dist/utils/{synapseTypes/DownloadListV2/DownloadListManifestResponse.js → types/Writable.js} +1 -1
- package/dist/utils/types/Writable.js.map +1 -0
- package/dist/utils/typography/Typography.styles.d.ts +1 -1
- package/package.json +47 -37
- package/dist/containers/Facets.d.ts +0 -43
- package/dist/containers/Facets.js +0 -199
- package/dist/containers/Facets.js.map +0 -1
- package/dist/containers/StackedBarChart.d.ts +0 -63
- package/dist/containers/StackedBarChart.js +0 -229
- package/dist/containers/StackedBarChart.js.map +0 -1
- package/dist/containers/entity_finder/tree/TreeNode.d.ts +0 -25
- package/dist/containers/entity_finder/tree/TreeNode.js +0 -89
- package/dist/containers/entity_finder/tree/TreeNode.js.map +0 -1
- package/dist/containers/entity_finder/tree/TreeView.js.map +0 -1
- package/dist/utils/functions/facetUtils.d.ts +0 -44
- package/dist/utils/functions/facetUtils.js +0 -84
- package/dist/utils/functions/facetUtils.js.map +0 -1
- package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.d.ts +0 -4
- package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.js.map +0 -1
- package/dist/utils/synapseTypes/DownloadListV2/DownloadListQueryResponse.d.ts +0 -5
- package/dist/utils/synapseTypes/DownloadListV2/DownloadListQueryResponse.js.map +0 -1
|
@@ -8,15 +8,17 @@ var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
|
8
8
|
var core_1 = require("@material-ui/core");
|
|
9
9
|
var react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
10
10
|
var QueryWrapper_1 = require("./QueryWrapper");
|
|
11
|
+
var QueryWrapper_2 = require("./QueryWrapper");
|
|
12
|
+
var QueryVisualizationWrapper_1 = require("./QueryVisualizationWrapper");
|
|
11
13
|
fontawesome_svg_core_1.library.add(free_solid_svg_icons_1.faSearch);
|
|
12
14
|
fontawesome_svg_core_1.library.add(free_solid_svg_icons_1.faTimes);
|
|
13
15
|
// See PLFM-7011
|
|
14
16
|
var MIN_SEARCH_QUERY_LENGTH = 3;
|
|
15
|
-
function FullTextSearch(
|
|
16
|
-
var _a;
|
|
17
|
-
var _b = (0,
|
|
17
|
+
function FullTextSearch() {
|
|
18
|
+
var _a = (0, QueryWrapper_2.useQueryContext)(), executeQueryRequest = _a.executeQueryRequest, getLastQueryRequest = _a.getLastQueryRequest;
|
|
19
|
+
var _b = (0, QueryVisualizationWrapper_1.useQueryVisualizationContext)().topLevelControlsState, showSearchBar = _b.showSearchBar, showFacetFilter = _b.showFacetFilter;
|
|
20
|
+
var _c = (0, react_1.useState)(''), searchText = _c[0], setSearchText = _c[1];
|
|
18
21
|
var searchInputRef = (0, react_1.useRef)(null);
|
|
19
|
-
var showSearchBar = (_a = props === null || props === void 0 ? void 0 : props.topLevelControlsState) === null || _a === void 0 ? void 0 : _a.showSearchBar;
|
|
20
22
|
(0, react_1.useEffect)(function () {
|
|
21
23
|
var _a;
|
|
22
24
|
if (showSearchBar) {
|
|
@@ -32,7 +34,6 @@ function FullTextSearch(props) {
|
|
|
32
34
|
(_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity("Search term must have a minimum of " + MIN_SEARCH_QUERY_LENGTH + " characters");
|
|
33
35
|
}
|
|
34
36
|
else {
|
|
35
|
-
var executeQueryRequest = props.executeQueryRequest, getLastQueryRequest = props.getLastQueryRequest;
|
|
36
37
|
var lastQueryRequestDeepClone = getLastQueryRequest();
|
|
37
38
|
var _b = lastQueryRequestDeepClone.query.additionalFilters, additionalFilters = _b === void 0 ? [] : _b;
|
|
38
39
|
var textMatchesQueryFilter_1 = {
|
|
@@ -42,7 +43,8 @@ function FullTextSearch(props) {
|
|
|
42
43
|
// PORTALS-2093: does this additional filter already exist?
|
|
43
44
|
var found = additionalFilters.find(function (filter) {
|
|
44
45
|
return filter.concreteType == textMatchesQueryFilter_1.concreteType &&
|
|
45
|
-
filter.searchExpression ==
|
|
46
|
+
filter.searchExpression ==
|
|
47
|
+
textMatchesQueryFilter_1.searchExpression;
|
|
46
48
|
});
|
|
47
49
|
if (found) {
|
|
48
50
|
return;
|
|
@@ -59,12 +61,10 @@ function FullTextSearch(props) {
|
|
|
59
61
|
(_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity('');
|
|
60
62
|
setSearchText(event.currentTarget.value);
|
|
61
63
|
};
|
|
62
|
-
var topLevelControlsState = props.topLevelControlsState;
|
|
63
|
-
var showFacetFilter = topLevelControlsState === null || topLevelControlsState === void 0 ? void 0 : topLevelControlsState.showFacetFilter;
|
|
64
64
|
return (react_1.default.createElement("div", { className: "QueryWrapperTextInput " + (showFacetFilter
|
|
65
65
|
? QueryWrapper_1.QUERY_FILTERS_EXPANDED_CSS
|
|
66
66
|
: QueryWrapper_1.QUERY_FILTERS_COLLAPSED_CSS) },
|
|
67
|
-
react_1.default.createElement(core_1.Collapse, { in:
|
|
67
|
+
react_1.default.createElement(core_1.Collapse, { in: showSearchBar, timeout: { enter: 300, exit: 300 } },
|
|
68
68
|
react_1.default.createElement("form", { className: "QueryWrapperTextInput__searchbar", onSubmit: search },
|
|
69
69
|
react_1.default.createElement(react_fontawesome_1.FontAwesomeIcon, { className: "QueryWrapperTextInput__searchbar__searchicon", size: 'sm', icon: 'search' }),
|
|
70
70
|
react_1.default.createElement("input", { ref: searchInputRef, minLength: MIN_SEARCH_QUERY_LENGTH, onChange: handleChange, placeholder: "Enter Search Terms", value: searchText, type: "text" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullTextSearch.js","sourceRoot":"","sources":["../../src/lib/containers/FullTextSearch.tsx"],"names":[],"mappings":";;;;AAAA,0EAA2D;AAC3D,0EAAqE;AACrE,oEAAgE;AAChE,0CAA4C;AAC5C,0DAA0D;AAE1D,+
|
|
1
|
+
{"version":3,"file":"FullTextSearch.js","sourceRoot":"","sources":["../../src/lib/containers/FullTextSearch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import '../style/components/_spinner.scss';
|
|
2
3
|
declare const loadingScreen: JSX.Element;
|
|
3
4
|
declare type SynapseSpinnerProps = {
|
|
4
5
|
size?: number;
|
|
5
6
|
};
|
|
6
7
|
export declare const SynapseSpinner: React.FC<SynapseSpinnerProps>;
|
|
7
|
-
declare type BlockingLoaderProps = {
|
|
8
|
+
export declare type BlockingLoaderProps = {
|
|
8
9
|
show: boolean;
|
|
10
|
+
currentProgress?: number;
|
|
11
|
+
totalProgress?: number;
|
|
12
|
+
onCancel?: () => void;
|
|
13
|
+
hintText?: string;
|
|
14
|
+
headlineText?: string;
|
|
9
15
|
};
|
|
10
16
|
export declare const BlockingLoader: React.FC<BlockingLoaderProps>;
|
|
11
17
|
export default loadingScreen;
|
|
@@ -6,6 +6,7 @@ var core_1 = require("@material-ui/core");
|
|
|
6
6
|
var react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
7
7
|
var react_bootstrap_1 = require("react-bootstrap");
|
|
8
8
|
var Typography_1 = (0, tslib_1.__importDefault)(require("../utils/typography/Typography"));
|
|
9
|
+
require("../style/components/_spinner.scss");
|
|
9
10
|
var loadingScreen = (react_1.default.createElement("div", { className: "bar-loader" },
|
|
10
11
|
react_1.default.createElement(core_1.LinearProgress, { classes: {
|
|
11
12
|
colorPrimary: 'bar-background-color',
|
|
@@ -21,17 +22,27 @@ var SynapseSpinner = function (_a) {
|
|
|
21
22
|
};
|
|
22
23
|
exports.SynapseSpinner = SynapseSpinner;
|
|
23
24
|
var BlockingLoader = function (_a) {
|
|
24
|
-
var show = _a.show;
|
|
25
|
+
var show = _a.show, currentProgress = _a.currentProgress, onCancel = _a.onCancel, totalProgress = _a.totalProgress, headlineText = _a.headlineText, hintText = _a.hintText;
|
|
25
26
|
(0, react_1.useEffect)(function () {
|
|
26
27
|
document.body.style.cursor = show ? 'wait' : 'default';
|
|
27
28
|
return function () {
|
|
28
29
|
document.body.style.cursor = 'default';
|
|
29
30
|
};
|
|
30
31
|
}, [show]);
|
|
32
|
+
var barLoader = (react_1.default.createElement(react_1.default.Fragment, null,
|
|
33
|
+
react_1.default.createElement("div", { className: "bar-loader" },
|
|
34
|
+
react_1.default.createElement(core_1.LinearProgress, { "data-testid": "progress-bar", variant: 'determinate', classes: {
|
|
35
|
+
colorPrimary: 'bar-background-color',
|
|
36
|
+
barColorPrimary: 'bar-color',
|
|
37
|
+
}, value: (currentProgress / totalProgress) * 100 })),
|
|
38
|
+
react_1.default.createElement(Typography_1.default, { variant: "headline3" }, headlineText),
|
|
39
|
+
react_1.default.createElement(Typography_1.default, { variant: 'hintText' }, hintText)));
|
|
31
40
|
return (react_1.default.createElement(react_bootstrap_1.Modal, { className: "bootstrap-4-backport BlockingLoader", backdrop: false, animation: false, show: show, size: "sm", centered: true, onHide: function () { } },
|
|
32
|
-
react_1.default.createElement("div", { className: "SpinnerContainer" },
|
|
33
|
-
react_1.default.createElement(
|
|
34
|
-
|
|
41
|
+
react_1.default.createElement("div", { className: "SpinnerContainer", "data-testid": "spinner-container" },
|
|
42
|
+
totalProgress ? (barLoader) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
43
|
+
react_1.default.createElement(exports.SynapseSpinner, { size: 40 }),
|
|
44
|
+
react_1.default.createElement(Typography_1.default, { variant: "headline3", "data-testid": "spinner-hint-text" }, hintText))),
|
|
45
|
+
onCancel && react_1.default.createElement(react_bootstrap_1.Button, { variant: 'default', onClick: onCancel }, "Cancel"))));
|
|
35
46
|
};
|
|
36
47
|
exports.BlockingLoader = BlockingLoader;
|
|
37
48
|
exports.default = loadingScreen;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingScreen.js","sourceRoot":"","sources":["../../src/lib/containers/LoadingScreen.tsx"],"names":[],"mappings":";;;;AAAA,0CAAkD;AAClD,0DAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"LoadingScreen.js","sourceRoot":"","sources":["../../src/lib/containers/LoadingScreen.tsx"],"names":[],"mappings":";;;;AAAA,0CAAkD;AAClD,0DAAwC;AACxC,mDAA+C;AAC/C,2FAAuD;AACvD,6CAA0C;AAE1C,IAAM,aAAa,GAAG,CACpB,uCAAK,SAAS,EAAC,YAAY;IACzB,8BAAC,qBAAc,IACb,OAAO,EAAE;YACP,YAAY,EAAE,sBAAsB;YACpC,eAAe,EAAE,WAAW;SAC7B,GACD,CACE,CACP,CAAA;AAMM,IAAM,cAAc,GAAkC,UAAC,EAE7D;QADC,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA;IAET,OAAO,CACL,uCACE,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE;YACL,MAAM,EAAK,IAAI,OAAI;YACnB,KAAK,EAAK,IAAI,OAAI;YAClB,cAAc,EAAK,IAAI,OAAI;SAC5B,GACD,CACH,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAUM,IAAM,cAAc,GAAkC,UAAC,EAA0E;QAAxE,IAAI,UAAA,EAAE,eAAe,qBAAA,EAAE,QAAQ,cAAA,EAAE,aAAa,mBAAA,EAAE,YAAY,kBAAA,EAAE,QAAQ,cAAA;IACpI,IAAA,iBAAS,EAAC;QACR,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;QACtD,OAAO;YACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QACxC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACV,IAAM,SAAS,GAAG,CAChB;QACE,uCAAK,SAAS,EAAC,YAAY;YACzB,8BAAC,qBAAc,mBACD,cAAc,EAC1B,OAAO,EAAC,aAAa,EACrB,OAAO,EAAE;oBACP,YAAY,EAAE,sBAAsB;oBACpC,eAAe,EAAE,WAAW;iBAC7B,EACD,KAAK,EAAE,CAAC,eAAgB,GAAG,aAAc,CAAC,GAAC,GAAG,GAE9C,CACE;QACN,8BAAC,oBAAU,IAAC,OAAO,EAAC,WAAW,IAAE,YAAY,CAAc;QAC3D,8BAAC,oBAAU,IAAC,OAAO,EAAC,UAAU,IAAE,QAAQ,CAAc,CAErD,CACJ,CAAA;IACD,OAAO,CACL,8BAAC,uBAAK,IACJ,SAAS,EAAC,qCAAqC,EAC/C,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,cAAO,CAAC;QAEhB,uCAAK,SAAS,EAAC,kBAAkB,iBAAa,mBAAmB;YAChE,aAAa,CAAA,CAAC,CAAA,CACb,SAAS,CACV,CAAC,CAAC,CAAC,CACF;gBACE,8BAAC,sBAAc,IAAC,IAAI,EAAE,EAAE,GAAG;gBAC3B,8BAAC,oBAAU,IAAC,OAAO,EAAC,WAAW,iBAAa,mBAAmB,IAAE,QAAQ,CAAc,CACtF,CACJ;YAEF,QAAQ,IAAI,8BAAC,wBAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,QAAQ,aAAiB,CACjE,CACA,CACT,CAAA;AACH,CAAC,CAAA;AAlDY,QAAA,cAAc,kBAkD1B;AAED,kBAAe,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryCount.js","sourceRoot":"","sources":["../../src/lib/containers/QueryCount.tsx"],"names":[],"mappings":";;;AAAA,mCAA2D;AAC3D,0DAAkD;AAKlD,gEAA+E;AAC/E,0DAA2D;AAQ3D,IAAM,UAAU,GAA6C,UAAC,EAI7D;QAHC,GAAG,SAAA,EACH,cAAc,oBAAA,EACd,MAAM,YAAA;IAEE,IAAA,WAAW,GAAK,IAAA,kCAAiB,GAAE,YAAxB,CAAwB;
|
|
1
|
+
{"version":3,"file":"QueryCount.js","sourceRoot":"","sources":["../../src/lib/containers/QueryCount.tsx"],"names":[],"mappings":";;;AAAA,mCAA2D;AAC3D,0DAAkD;AAKlD,gEAA+E;AAC/E,0DAA2D;AAQ3D,IAAM,UAAU,GAA6C,UAAC,EAI7D;QAHC,GAAG,SAAA,EACH,cAAc,oBAAA,EACd,MAAM,YAAA;IAEE,IAAA,WAAW,GAAK,IAAA,kCAAiB,GAAE,YAAxB,CAAwB;IAErC,IAAA,KAAgD,IAAA,gBAAQ,EAAK,EAAE,CAAC,EAA/D,mBAAmB,QAAA,EAAE,sBAAsB,QAAoB,CAAA;IACtE,2FAA2F;IAC3F,4BAA4B;IACtB,IAAA,KACJ,IAAA,gBAAQ,EAAK,EAAE,CAAC,EADX,6BAA6B,QAAA,EAAE,gCAAgC,QACpD,CAAA;IAClB,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,IAAA,iBAAS,EAAC;QACR,IAAM,iBAAiB,GAAG;YACxB,IAAI,OAAO,EAAE;gBACX,IAAM,QAAQ,GAAG,IAAA,4CAA6B,EAAC,GAAG,CAAC,CAAA;gBACnD,IACE,6BAA6B,CAAI,GAAG,SAAI,WAAa,CAAC;oBACtD,mBAAmB,CAAI,GAAG,SAAI,WAAa,CAAC,EAC5C;oBACA,wDAAwD;oBACxD,OAAM;iBACP;gBACD,IAAM,OAAO,GAAuB;oBAClC,YAAY,EACV,yDAAyD;oBAC3D,KAAK,EAAE;wBACL,GAAG,KAAA;wBACH,cAAc,gBAAA;qBACf;oBACD,QAAQ,UAAA;oBACR,QAAQ,EAAE,wBAAgB,CAAC,uBAAuB;iBACnD,CAAA;gBACD,IAAM,gCAAgC,6BACjC,6BAA6B,CACjC,CAAA;gBACD,gCAAgC,CAAI,GAAG,SAAI,WAAa,CAAC,GAAG,IAAI,CAAA;gBAChE,gCAAgC,CAAC,gCAAgC,CAAC,CAAA;gBAClE,qBAAa,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;oBAChE,IAAM,sBAAsB,6BACvB,mBAAmB,CACvB,CAAA;oBACD,sBAAsB,CAAI,GAAG,SAAI,WAAa,CAAC,GAAG,IAAK,CAAC,UAAU,CAAA;oBAClE,sBAAsB,CAAC,sBAAsB,CAAC,CAAA;gBAChD,CAAC,CAAC,CAAA;aACH;QACH,CAAC,CAAA;QAED,iBAAiB,EAAE,CAAA;QAEnB,OAAO;YACL,OAAO,GAAG,KAAK,CAAA;QACjB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;IAEtC,IAAM,KAAK,GAAG,mBAAmB,CAAI,GAAG,SAAI,WAAa,CAAC,CAAA;IAC1D,IAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAA;IAC1C,iIAAiI;IACjI,OAAO,CACL,8BAAC,eAAK,CAAC,QAAQ,QACZ,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,UAAU,MAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CACpC,CAClB,CAAA;AACH,CAAC,CAAA;AACD,kBAAe,UAAU,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare type QueryVisualizationContextType = {
|
|
3
|
+
topLevelControlsState: TopLevelControlsState;
|
|
4
|
+
setTopLevelControlsState: React.Dispatch<React.SetStateAction<TopLevelControlsState>>;
|
|
5
|
+
columnsToShowInTable: string[];
|
|
6
|
+
setColumnsToShowInTable: (newState: string[]) => void;
|
|
7
|
+
selectedRowIndices: number[];
|
|
8
|
+
setSelectedRowIndices: (newState: number[]) => void;
|
|
9
|
+
facetAliases?: Record<string, string>;
|
|
10
|
+
rgbIndex?: number;
|
|
11
|
+
unitDescription?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* This must be exported to use the context in class components.
|
|
15
|
+
*/
|
|
16
|
+
export declare const QueryVisualizationContext: React.Context<QueryVisualizationContextType | undefined>;
|
|
17
|
+
export declare type QueryVisualizationContextProviderProps = {
|
|
18
|
+
queryVisualizationContext: QueryVisualizationContextType;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Provides fields and functions related to visualizing a Synapse table query. For actual query data, see QueryContextProvider.
|
|
22
|
+
*/
|
|
23
|
+
export declare const QueryVisualizationContextProvider: React.FunctionComponent<QueryVisualizationContextProviderProps>;
|
|
24
|
+
export declare function useQueryVisualizationContext(): QueryVisualizationContextType;
|
|
25
|
+
export declare const QueryVisualizationContextConsumer: React.Consumer<QueryVisualizationContextType | undefined>;
|
|
26
|
+
export declare type QueryVisualizationWrapperProps = {
|
|
27
|
+
children: React.ReactNode | React.ReactNode[];
|
|
28
|
+
rgbIndex?: number;
|
|
29
|
+
unitDescription?: string;
|
|
30
|
+
facetAliases?: Record<string, string>;
|
|
31
|
+
visibleColumnCount?: number;
|
|
32
|
+
hiddenColumns?: string[];
|
|
33
|
+
defaultShowFacetVisualization?: boolean;
|
|
34
|
+
};
|
|
35
|
+
export declare type TopLevelControlsState = {
|
|
36
|
+
showFacetVisualization: boolean;
|
|
37
|
+
showFacetFilter?: boolean;
|
|
38
|
+
showColumnFilter: boolean;
|
|
39
|
+
showSearchBar: boolean;
|
|
40
|
+
showDownloadConfirmation: boolean;
|
|
41
|
+
showColumnSelectDropdown: boolean;
|
|
42
|
+
showSqlEditor: boolean;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* QueryVisualizationWrapper manages UI state for components that query tables in Synapse. That state can be accessed
|
|
46
|
+
* or updated using QueryVisualizationContext. A QueryVisualizationWrapper must be used within a QueryWrapper.
|
|
47
|
+
*/
|
|
48
|
+
export declare function QueryVisualizationWrapper(props: QueryVisualizationWrapperProps): JSX.Element;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueryVisualizationWrapper = exports.QueryVisualizationContextConsumer = exports.useQueryVisualizationContext = exports.QueryVisualizationContextProvider = exports.QueryVisualizationContext = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
6
|
+
var QueryWrapper_1 = require("./QueryWrapper");
|
|
7
|
+
/**
|
|
8
|
+
* This must be exported to use the context in class components.
|
|
9
|
+
*/
|
|
10
|
+
exports.QueryVisualizationContext = (0, react_1.createContext)(undefined);
|
|
11
|
+
/**
|
|
12
|
+
* Provides fields and functions related to visualizing a Synapse table query. For actual query data, see QueryContextProvider.
|
|
13
|
+
*/
|
|
14
|
+
var QueryVisualizationContextProvider = function (_a) {
|
|
15
|
+
var children = _a.children, queryVisualizationContext = _a.queryVisualizationContext;
|
|
16
|
+
return (react_1.default.createElement(exports.QueryVisualizationContext.Provider, { value: queryVisualizationContext }, children));
|
|
17
|
+
};
|
|
18
|
+
exports.QueryVisualizationContextProvider = QueryVisualizationContextProvider;
|
|
19
|
+
function useQueryVisualizationContext() {
|
|
20
|
+
var context = (0, react_1.useContext)(exports.QueryVisualizationContext);
|
|
21
|
+
if (context === undefined) {
|
|
22
|
+
throw new Error('useQueryVisualizationContext must be used within a QueryWrapper');
|
|
23
|
+
}
|
|
24
|
+
return context;
|
|
25
|
+
}
|
|
26
|
+
exports.useQueryVisualizationContext = useQueryVisualizationContext;
|
|
27
|
+
exports.QueryVisualizationContextConsumer = exports.QueryVisualizationContext.Consumer;
|
|
28
|
+
/**
|
|
29
|
+
* QueryVisualizationWrapper manages UI state for components that query tables in Synapse. That state can be accessed
|
|
30
|
+
* or updated using QueryVisualizationContext. A QueryVisualizationWrapper must be used within a QueryWrapper.
|
|
31
|
+
*/
|
|
32
|
+
function QueryVisualizationWrapper(props) {
|
|
33
|
+
var _a;
|
|
34
|
+
var _b = (0, QueryWrapper_1.useQueryContext)(), data = _b.data, getLastQueryRequest = _b.getLastQueryRequest, isFacetsAvailable = _b.isFacetsAvailable, isLoadingNewBundle = _b.isLoadingNewBundle;
|
|
35
|
+
var _c = (0, react_1.useState)({
|
|
36
|
+
showColumnFilter: true,
|
|
37
|
+
showFacetFilter: true,
|
|
38
|
+
showFacetVisualization: (_a = props.defaultShowFacetVisualization) !== null && _a !== void 0 ? _a : true,
|
|
39
|
+
showSearchBar: false,
|
|
40
|
+
showDownloadConfirmation: false,
|
|
41
|
+
showColumnSelectDropdown: false,
|
|
42
|
+
showSqlEditor: false,
|
|
43
|
+
}), topLevelControlsState = _c[0], setTopLevelControlsState = _c[1];
|
|
44
|
+
(0, react_1.useEffect)(function () {
|
|
45
|
+
if (!isFacetsAvailable) {
|
|
46
|
+
setTopLevelControlsState(function (state) { return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, state), { showFacetFilter: false, showFacetVisualization: false })); });
|
|
47
|
+
}
|
|
48
|
+
}, [isFacetsAvailable]);
|
|
49
|
+
(0, react_1.useEffect)(function () {
|
|
50
|
+
if (isLoadingNewBundle) {
|
|
51
|
+
setSelectedRowIndices([]);
|
|
52
|
+
}
|
|
53
|
+
}, [isLoadingNewBundle]);
|
|
54
|
+
var _d = (0, react_1.useState)([]), isColumnSelected = _d[0], setIsColumnSelected = _d[1];
|
|
55
|
+
var _e = (0, react_1.useState)([]), selectedRowIndices = _e[0], setSelectedRowIndices = _e[1];
|
|
56
|
+
var lastQueryRequest = getLastQueryRequest();
|
|
57
|
+
var selectColumns = data === null || data === void 0 ? void 0 : data.selectColumns;
|
|
58
|
+
(0, react_1.useEffect)(function () {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
// SWC-6030: If sql changes, reset what columns are visible
|
|
61
|
+
setIsColumnSelected((_b = selectColumns === null || selectColumns === void 0 ? void 0 : selectColumns.slice(0, (_a = props.visibleColumnCount) !== null && _a !== void 0 ? _a : Infinity).map(function (el) { return el.name; })) !== null && _b !== void 0 ? _b : []);
|
|
62
|
+
}, [selectColumns, lastQueryRequest.query.sql, props.visibleColumnCount]);
|
|
63
|
+
var context = {
|
|
64
|
+
topLevelControlsState: topLevelControlsState,
|
|
65
|
+
setTopLevelControlsState: setTopLevelControlsState,
|
|
66
|
+
columnsToShowInTable: isColumnSelected,
|
|
67
|
+
setColumnsToShowInTable: setIsColumnSelected,
|
|
68
|
+
selectedRowIndices: selectedRowIndices,
|
|
69
|
+
setSelectedRowIndices: setSelectedRowIndices,
|
|
70
|
+
facetAliases: props.facetAliases,
|
|
71
|
+
rgbIndex: props.rgbIndex,
|
|
72
|
+
unitDescription: props.unitDescription,
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Render the children without any formatting
|
|
76
|
+
*/
|
|
77
|
+
var children = props.children;
|
|
78
|
+
return (react_1.default.createElement(exports.QueryVisualizationContextProvider, { queryVisualizationContext: context }, children));
|
|
79
|
+
}
|
|
80
|
+
exports.QueryVisualizationWrapper = QueryVisualizationWrapper;
|
|
81
|
+
//# sourceMappingURL=QueryVisualizationWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryVisualizationWrapper.js","sourceRoot":"","sources":["../../src/lib/containers/QueryVisualizationWrapper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,66 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { AsynchronousJobStatus, QueryBundleRequest, QueryResultBundle, SelectColumn } from '../utils/synapseTypes/';
|
|
3
2
|
import { SynapseClientError } from '../utils/SynapseClient';
|
|
3
|
+
import { AsynchronousJobStatus, Entity, QueryBundleRequest, QueryResultBundle } from '../utils/synapseTypes';
|
|
4
|
+
export declare const QUERY_FILTERS_EXPANDED_CSS: string;
|
|
5
|
+
export declare const QUERY_FILTERS_COLLAPSED_CSS: string;
|
|
6
|
+
export declare type QueryContextType = {
|
|
7
|
+
/** The entity being queried. Will be undefined while initially fetching */
|
|
8
|
+
entity: Entity | undefined;
|
|
9
|
+
/** The query results, which will be undefined while initially fetching a new bundle, but will not be unloaded when fetching new pages */
|
|
10
|
+
data: QueryResultBundle | undefined;
|
|
11
|
+
/** Returns a deep clone of the current query bundle request */
|
|
12
|
+
getLastQueryRequest: () => QueryBundleRequest;
|
|
13
|
+
/** Returns a deep clone of the initial query bundle request */
|
|
14
|
+
getInitQueryRequest: () => QueryBundleRequest;
|
|
15
|
+
/** Updates the current query with the passed request */
|
|
16
|
+
executeQueryRequest: (param: QueryBundleRequest) => void;
|
|
17
|
+
/** Returns true when loading a new page of query results */
|
|
18
|
+
isLoadingNewPage: boolean;
|
|
19
|
+
/** Returns true when loading a brand new query result bundle. Will not be true when just loading the next page of query results. */
|
|
20
|
+
isLoadingNewBundle: boolean;
|
|
21
|
+
/** The error returned by the query request, if one is encountered */
|
|
22
|
+
error: SynapseClientError | null;
|
|
23
|
+
/** The status of the asynchronous job. */
|
|
24
|
+
asyncJobStatus: AsynchronousJobStatus<unknown, unknown>;
|
|
25
|
+
/** Whether or not the query result bundle has a next page */
|
|
26
|
+
hasNextPage: boolean;
|
|
27
|
+
/** Invoke this method to fetch and append the next page of rows to the data */
|
|
28
|
+
appendNextPageToResults: () => Promise<void>;
|
|
29
|
+
/** Invoke to fetch and update the data with the next page of query results */
|
|
30
|
+
goToNextPage: () => Promise<void>;
|
|
31
|
+
/** Whether or not the query result bundle has a previous page */
|
|
32
|
+
hasPreviousPage: boolean;
|
|
33
|
+
/** Invoke to fetch and update the data with the previous page of query results */
|
|
34
|
+
goToPreviousPage: () => Promise<void>;
|
|
35
|
+
/** Whether or not facets are available to be filtered upon based on the current data */
|
|
36
|
+
isFacetsAvailable: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* A facet may be "locked" so that it is not modifiable by the user, for example when showing only data relevant to a particular facet value on a Details Page.
|
|
39
|
+
* The value of a locked facet will result in a client-side modification of the result bundle data.
|
|
40
|
+
*/
|
|
41
|
+
lockedFacet?: LockedFacet;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* This must be exported to use the context in class components.
|
|
45
|
+
*/
|
|
46
|
+
export declare const QueryContext: React.Context<QueryContextType | undefined>;
|
|
47
|
+
export declare type QueryContextProviderProps = {
|
|
48
|
+
queryContext: QueryContextType;
|
|
49
|
+
};
|
|
4
50
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* This wasn't done because Enzyme's shallow renderer is not currently
|
|
8
|
-
* compatible with the `contextType` field in the React 16+ context API.
|
|
9
|
-
*
|
|
10
|
-
* This can be fixed by rewriting tests to not rely on the shallow renderer.
|
|
11
|
-
*
|
|
12
|
-
* See here: https://github.com/enzymejs/enzyme/issues/1553
|
|
51
|
+
* Provides data related to a Synapse table query, and functions for iterating through pages of the data.
|
|
13
52
|
*/
|
|
53
|
+
export declare const QueryContextProvider: React.FC<QueryContextProviderProps>;
|
|
54
|
+
export declare function useQueryContext(): QueryContextType;
|
|
55
|
+
export declare const QueryContextConsumer: React.Consumer<QueryContextType | undefined>;
|
|
14
56
|
export declare type QueryWrapperProps = {
|
|
15
|
-
|
|
57
|
+
children: React.ReactNode | React.ReactNode[];
|
|
16
58
|
initQueryRequest: QueryBundleRequest;
|
|
17
|
-
rgbIndex?: number;
|
|
18
|
-
token?: string;
|
|
19
|
-
facet?: string;
|
|
20
|
-
unitDescription?: string;
|
|
21
|
-
facetAliases?: Record<string, string>;
|
|
22
|
-
loadNow?: boolean;
|
|
23
|
-
showBarChart?: boolean;
|
|
24
59
|
componentIndex?: number;
|
|
25
60
|
shouldDeepLink?: boolean;
|
|
26
61
|
onQueryChange?: (newQueryJson: string) => void;
|
|
27
62
|
onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void;
|
|
28
|
-
hiddenColumns?: string[];
|
|
29
63
|
lockedFacet?: LockedFacet;
|
|
30
|
-
defaultShowFacetVisualization?: boolean;
|
|
31
|
-
children?: (queryWrapperChildProps: QueryWrapperChildProps) => React.ReactNode | React.ReactNode[];
|
|
32
64
|
};
|
|
33
65
|
export declare type TopLevelControlsState = {
|
|
34
66
|
showFacetVisualization: boolean;
|
|
@@ -43,134 +75,12 @@ export declare type SearchQuery = {
|
|
|
43
75
|
columnName: string;
|
|
44
76
|
searchText: string;
|
|
45
77
|
};
|
|
46
|
-
export declare type QueryWrapperState = {
|
|
47
|
-
isAllFilterSelectedForFacet: Record<string, boolean>;
|
|
48
|
-
data: QueryResultBundle | undefined;
|
|
49
|
-
isLoadingNewData: boolean;
|
|
50
|
-
isLoading: boolean;
|
|
51
|
-
lastQueryRequest: QueryBundleRequest;
|
|
52
|
-
hasMoreData: boolean;
|
|
53
|
-
lastFacetSelection: FacetSelection;
|
|
54
|
-
chartSelectionIndex: number;
|
|
55
|
-
asyncJobStatus?: AsynchronousJobStatus;
|
|
56
|
-
facetAliases?: Record<string, string>;
|
|
57
|
-
loadNowStarted: boolean;
|
|
58
|
-
topLevelControlsState?: TopLevelControlsState;
|
|
59
|
-
isColumnSelected: string[];
|
|
60
|
-
selectedRowIndices?: number[];
|
|
61
|
-
error: SynapseClientError | undefined;
|
|
62
|
-
isFacetsAvailable: boolean;
|
|
63
|
-
};
|
|
64
78
|
export declare type LockedFacet = {
|
|
65
79
|
facet?: string;
|
|
66
80
|
value?: string;
|
|
67
81
|
};
|
|
68
|
-
export declare type FacetSelection = {
|
|
69
|
-
columnName: string;
|
|
70
|
-
facetValue: string;
|
|
71
|
-
selector: string;
|
|
72
|
-
};
|
|
73
|
-
export declare type QueryWrapperChildProps = {
|
|
74
|
-
isAllFilterSelectedForFacet?: Record<string, boolean>;
|
|
75
|
-
isLoading?: boolean;
|
|
76
|
-
token?: string;
|
|
77
|
-
entityId?: string;
|
|
78
|
-
isLoadingNewData?: boolean;
|
|
79
|
-
executeQueryRequest?: (param: QueryBundleRequest) => void;
|
|
80
|
-
executeInitialQueryRequest?: () => void;
|
|
81
|
-
getNextPageOfData?: (queryRequest: QueryBundleRequest) => void;
|
|
82
|
-
getLastQueryRequest?: () => QueryBundleRequest;
|
|
83
|
-
getInitQueryRequest?: () => QueryBundleRequest;
|
|
84
|
-
data?: QueryResultBundle;
|
|
85
|
-
facet?: string;
|
|
86
|
-
updateParentState?: <K extends keyof QueryWrapperState>(param: Pick<QueryWrapperState, K>) => void;
|
|
87
|
-
rgbIndex?: number;
|
|
88
|
-
unitDescription?: string;
|
|
89
|
-
facetAliases?: Record<string, string>;
|
|
90
|
-
lastFacetSelection?: FacetSelection;
|
|
91
|
-
chartSelectionIndex?: number;
|
|
92
|
-
asyncJobStatus?: AsynchronousJobStatus;
|
|
93
|
-
showBarChart?: boolean;
|
|
94
|
-
hasMoreData?: boolean;
|
|
95
|
-
topLevelControlsState?: TopLevelControlsState;
|
|
96
|
-
isColumnSelected?: string[];
|
|
97
|
-
selectedRowIndices?: number[];
|
|
98
|
-
error?: SynapseClientError | undefined;
|
|
99
|
-
lockedFacet?: LockedFacet;
|
|
100
|
-
isFacetsAvailable?: boolean;
|
|
101
|
-
};
|
|
102
|
-
export declare const QUERY_FILTERS_EXPANDED_CSS: string;
|
|
103
|
-
export declare const QUERY_FILTERS_COLLAPSED_CSS: string;
|
|
104
82
|
/**
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
* @class QueryWrapper
|
|
109
|
-
* @extends {React.Component}
|
|
83
|
+
* Component that manages the state of a Synapse table query. Data can be accessed via QueryContext using
|
|
84
|
+
* either `useQueryContext` or `QueryContextConsumer`.
|
|
110
85
|
*/
|
|
111
|
-
export
|
|
112
|
-
private componentIndex;
|
|
113
|
-
constructor(props: QueryWrapperProps);
|
|
114
|
-
/**
|
|
115
|
-
* Compute default query request
|
|
116
|
-
*
|
|
117
|
-
* @memberof QueryWrapper
|
|
118
|
-
*/
|
|
119
|
-
componentDidMount(): void;
|
|
120
|
-
/**
|
|
121
|
-
* @memberof QueryWrapper
|
|
122
|
-
*/
|
|
123
|
-
componentDidUpdate(prevProps: QueryWrapperProps): void;
|
|
124
|
-
/**
|
|
125
|
-
* Pass down a deep clone (so no side affects on the child's part) of the
|
|
126
|
-
* last query request made
|
|
127
|
-
*
|
|
128
|
-
* @returns
|
|
129
|
-
* @memberof QueryWrapper
|
|
130
|
-
*/
|
|
131
|
-
getLastQueryRequest(): QueryBundleRequest;
|
|
132
|
-
/**
|
|
133
|
-
* Pass down a deep clone (so no side affects on the child's part) of the
|
|
134
|
-
* first query request made
|
|
135
|
-
*
|
|
136
|
-
* @returns
|
|
137
|
-
* @memberof QueryWrapper
|
|
138
|
-
*/
|
|
139
|
-
getInitQueryRequest(): QueryBundleRequest;
|
|
140
|
-
getSelectedColumns(isReset: boolean, selectColumns?: SelectColumn[]): string[];
|
|
141
|
-
/**
|
|
142
|
-
* Execute the given query
|
|
143
|
-
*
|
|
144
|
-
* @param {*} queryRequest Query request as specified by
|
|
145
|
-
* https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/table/Query.html
|
|
146
|
-
* @memberof QueryWrapper
|
|
147
|
-
*/
|
|
148
|
-
executeQueryRequest(queryRequest: QueryBundleRequest): Promise<void>;
|
|
149
|
-
/**
|
|
150
|
-
* Grab the next page of data, pulling in 25 more rows.
|
|
151
|
-
*
|
|
152
|
-
* @param {*} queryRequest Query request as specified by
|
|
153
|
-
* https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/table/Query.html
|
|
154
|
-
* @memberof QueryWrapper
|
|
155
|
-
*/
|
|
156
|
-
getNextPageOfData(queryRequest: QueryBundleRequest): Promise<void>;
|
|
157
|
-
/**
|
|
158
|
-
* Execute the initial query passed into the component
|
|
159
|
-
*
|
|
160
|
-
* @param {*} queryRequest Query request as specified by
|
|
161
|
-
* https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/table/Query.html
|
|
162
|
-
* @memberof QueryWrapper
|
|
163
|
-
*/
|
|
164
|
-
executeInitialQueryRequest(initQueryRequest?: QueryBundleRequest): void;
|
|
165
|
-
updateParentState<K extends keyof QueryWrapperState>(update: Pick<QueryWrapperState, K>): void;
|
|
166
|
-
/**
|
|
167
|
-
* remove a particular facet name (e.g. study) and its all possible values based on the parameter specified in the url
|
|
168
|
-
* this is to remove the facet from the charts, search and filter.
|
|
169
|
-
* @return data: QueryResultBundle
|
|
170
|
-
*/
|
|
171
|
-
removeLockedFacetData(): QueryResultBundle | undefined;
|
|
172
|
-
/**
|
|
173
|
-
* Render the children without any formatting
|
|
174
|
-
*/
|
|
175
|
-
render(): JSX.Element;
|
|
176
|
-
}
|
|
86
|
+
export declare function QueryWrapper(props: QueryWrapperProps): JSX.Element;
|