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
|
@@ -1,100 +1,150 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QUERY_FILTERS_COLLAPSED_CSS = exports.QUERY_FILTERS_EXPANDED_CSS = void 0;
|
|
3
|
+
exports.QueryWrapper = exports.QueryContextConsumer = exports.useQueryContext = exports.QueryContextProvider = exports.QueryContext = exports.QUERY_FILTERS_COLLAPSED_CSS = exports.QUERY_FILTERS_EXPANDED_CSS = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var lodash_es_1 = require("lodash-es");
|
|
5
6
|
var React = (0, tslib_1.__importStar)(require("react"));
|
|
6
|
-
var
|
|
7
|
-
var
|
|
7
|
+
var react_1 = require("react");
|
|
8
|
+
var use_deep_compare_effect_1 = (0, tslib_1.__importDefault)(require("use-deep-compare-effect"));
|
|
8
9
|
var DeepLinkingUtils = (0, tslib_1.__importStar)(require("../utils/functions/deepLinkingUtils"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var queryUtils_1 = require("../utils/functions/queryUtils");
|
|
11
|
+
var sqlFunctions_1 = require("../utils/functions/sqlFunctions");
|
|
12
|
+
var useEntity_1 = require("../utils/hooks/SynapseAPI/useEntity");
|
|
13
|
+
var useGetQueryResultBundle_1 = require("../utils/hooks/SynapseAPI/useGetQueryResultBundle");
|
|
12
14
|
exports.QUERY_FILTERS_EXPANDED_CSS = 'isShowingFacetFilters';
|
|
13
15
|
exports.QUERY_FILTERS_COLLAPSED_CSS = 'isHidingFacetFilters';
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
16
|
-
* Those classes then take in as props:
|
|
17
|
-
*
|
|
18
|
-
* @class QueryWrapper
|
|
19
|
-
* @extends {React.Component}
|
|
17
|
+
* This must be exported to use the context in class components.
|
|
20
18
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
_this.state = {
|
|
35
|
-
data: undefined,
|
|
36
|
-
isLoading: true,
|
|
37
|
-
isLoadingNewData: true,
|
|
38
|
-
hasMoreData: true,
|
|
39
|
-
lastFacetSelection: {
|
|
40
|
-
columnName: '',
|
|
41
|
-
facetValue: '',
|
|
42
|
-
selector: '',
|
|
43
|
-
},
|
|
44
|
-
chartSelectionIndex: 0,
|
|
45
|
-
isAllFilterSelectedForFacet: {},
|
|
46
|
-
loadNowStarted: false,
|
|
47
|
-
lastQueryRequest: (0, lodash_es_1.cloneDeep)(_this.props.initQueryRequest),
|
|
48
|
-
topLevelControlsState: {
|
|
49
|
-
showColumnFilter: true,
|
|
50
|
-
showFacetFilter: true,
|
|
51
|
-
showFacetVisualization: showFacetVisualization,
|
|
52
|
-
showSearchBar: false,
|
|
53
|
-
showDownloadConfirmation: false,
|
|
54
|
-
showColumnSelectDropdown: false,
|
|
55
|
-
showSqlEditor: false,
|
|
56
|
-
},
|
|
57
|
-
isColumnSelected: [],
|
|
58
|
-
selectedRowIndices: [],
|
|
59
|
-
isFacetsAvailable: true,
|
|
60
|
-
error: undefined,
|
|
61
|
-
};
|
|
62
|
-
_this.componentIndex = props.componentIndex || 0;
|
|
63
|
-
return _this;
|
|
19
|
+
exports.QueryContext = (0, react_1.createContext)(undefined);
|
|
20
|
+
/**
|
|
21
|
+
* Provides data related to a Synapse table query, and functions for iterating through pages of the data.
|
|
22
|
+
*/
|
|
23
|
+
var QueryContextProvider = function (_a) {
|
|
24
|
+
var children = _a.children, queryContext = _a.queryContext;
|
|
25
|
+
return (React.createElement(exports.QueryContext.Provider, { value: queryContext }, children));
|
|
26
|
+
};
|
|
27
|
+
exports.QueryContextProvider = QueryContextProvider;
|
|
28
|
+
function useQueryContext() {
|
|
29
|
+
var context = (0, react_1.useContext)(exports.QueryContext);
|
|
30
|
+
if (context === undefined) {
|
|
31
|
+
throw new Error('useQueryContext must be used within a QueryWrapper');
|
|
64
32
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
33
|
+
return context;
|
|
34
|
+
}
|
|
35
|
+
exports.useQueryContext = useQueryContext;
|
|
36
|
+
exports.QueryContextConsumer = exports.QueryContext.Consumer;
|
|
37
|
+
/**
|
|
38
|
+
* Component that manages the state of a Synapse table query. Data can be accessed via QueryContext using
|
|
39
|
+
* either `useQueryContext` or `QueryContextConsumer`.
|
|
40
|
+
*/
|
|
41
|
+
function QueryWrapper(props) {
|
|
42
|
+
var _a;
|
|
43
|
+
var initQueryRequest = props.initQueryRequest, onQueryChange = props.onQueryChange, onQueryResultBundleChange = props.onQueryResultBundleChange;
|
|
44
|
+
var _b = (0, react_1.useState)(initQueryRequest), lastQueryRequest = _b[0], setLastQueryRequest = _b[1];
|
|
45
|
+
var _c = (0, useGetQueryResultBundle_1.useInfiniteQueryResultBundle)(lastQueryRequest, {
|
|
46
|
+
// We use `keepPreviousData` because we don't want to clear out the current data when the query is modified via the UI
|
|
47
|
+
keepPreviousData: true,
|
|
48
|
+
}), infiniteData = _c.data, hasNextPage = _c.hasNextPage, fetchPreviousPage = _c.fetchPreviousPage, fetchNextPage = _c.fetchNextPage, isFetchingNextPage = _c.isFetchingNextPage, queryIsLoading = _c.isLoading, refetch = _c.refetch, error = _c.error, newQueryIsFetching = _c.isPreviousData, remove = _c.remove;
|
|
49
|
+
// Indicate if we're fetching data for the first time (queryIsLoading) or if we're fetching data for a brand new query (newQueryIsFetching)
|
|
50
|
+
var isLoadingNewBundle = queryIsLoading || newQueryIsFetching;
|
|
51
|
+
var entityId = (0, sqlFunctions_1.parseEntityIdFromSqlStatement)(lastQueryRequest.query.sql);
|
|
52
|
+
var entity = (0, useEntity_1.useGetEntity)(entityId).data;
|
|
53
|
+
var _d = (0, react_1.useState)(0), currentPage = _d[0], setCurrentPage = _d[1];
|
|
54
|
+
function appendNextPageToResults() {
|
|
55
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
56
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
57
|
+
switch (_a.label) {
|
|
58
|
+
case 0:
|
|
59
|
+
if (!hasNextPage) {
|
|
60
|
+
throw new Error('Called appendNextPageToResults when there is no next page');
|
|
61
|
+
}
|
|
62
|
+
return [4 /*yield*/, fetchNextPage()];
|
|
63
|
+
case 1:
|
|
64
|
+
_a.sent();
|
|
65
|
+
setCurrentPage('ALL');
|
|
66
|
+
return [2 /*return*/];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function goToNextPage() {
|
|
72
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
73
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
74
|
+
switch (_a.label) {
|
|
75
|
+
case 0:
|
|
76
|
+
if (!hasNextPage) {
|
|
77
|
+
throw new Error('Called goToNextPage when there is no next page');
|
|
78
|
+
}
|
|
79
|
+
if (currentPage === 'ALL') {
|
|
80
|
+
throw new Error('Cannot go to next page when all pages are displayed');
|
|
81
|
+
}
|
|
82
|
+
return [4 /*yield*/, fetchNextPage()];
|
|
83
|
+
case 1:
|
|
84
|
+
_a.sent();
|
|
85
|
+
setCurrentPage(currentPage + 1);
|
|
86
|
+
return [2 /*return*/];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
var hasPreviousPage = currentPage !== 'ALL' && currentPage > 0;
|
|
92
|
+
function goToPreviousPage() {
|
|
93
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
94
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
95
|
+
switch (_a.label) {
|
|
96
|
+
case 0:
|
|
97
|
+
if (currentPage === 'ALL') {
|
|
98
|
+
throw new Error('Cannot go to previous page when all pages are displayed');
|
|
99
|
+
}
|
|
100
|
+
if (!hasPreviousPage) {
|
|
101
|
+
throw new Error('Called goToNextPage when there is no next page');
|
|
102
|
+
}
|
|
103
|
+
return [4 /*yield*/, fetchPreviousPage()];
|
|
104
|
+
case 1:
|
|
105
|
+
_a.sent();
|
|
106
|
+
setCurrentPage(currentPage - 1);
|
|
107
|
+
return [2 /*return*/];
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
var data = (0, react_1.useMemo)(function () {
|
|
113
|
+
var _a, _b, _c, _d;
|
|
114
|
+
if (infiniteData == null ||
|
|
115
|
+
infiniteData.pages.length === 0 ||
|
|
116
|
+
infiniteData.pages[0].responseBody == null) {
|
|
117
|
+
return undefined;
|
|
75
118
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
*/
|
|
80
|
-
QueryWrapper.prototype.componentDidUpdate = function (prevProps) {
|
|
81
|
-
/**
|
|
82
|
-
* If component updates and the token has changed (they signed in) then the data should be pulled in. Or if the
|
|
83
|
-
* sql query has changed of the component then perform an update.
|
|
84
|
-
*/
|
|
85
|
-
var _a = this.props.loadNow, loadNow = _a === void 0 ? true : _a;
|
|
86
|
-
if (loadNow && !this.state.loadNowStarted) {
|
|
87
|
-
this.executeInitialQueryRequest();
|
|
119
|
+
if (currentPage === 'ALL') {
|
|
120
|
+
// Modify the first page so the result is the concatenation of all of the fetched rows.
|
|
121
|
+
return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, infiniteData === null || infiniteData === void 0 ? void 0 : infiniteData.pages[0].responseBody), { queryResult: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, (_a = infiniteData === null || infiniteData === void 0 ? void 0 : infiniteData.pages[0].responseBody) === null || _a === void 0 ? void 0 : _a.queryResult), { queryResults: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, (_c = (_b = infiniteData === null || infiniteData === void 0 ? void 0 : infiniteData.pages[0].responseBody) === null || _b === void 0 ? void 0 : _b.queryResult) === null || _c === void 0 ? void 0 : _c.queryResults), { rows: (_d = infiniteData.pages.flatMap(function (page) { return page.responseBody.queryResult.queryResults.rows; })) !== null && _d !== void 0 ? _d : [] }) }) });
|
|
88
122
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
123
|
+
return infiniteData === null || infiniteData === void 0 ? void 0 : infiniteData.pages[currentPage].responseBody;
|
|
124
|
+
}, [currentPage, infiniteData]);
|
|
125
|
+
(0, use_deep_compare_effect_1.default)(function () {
|
|
126
|
+
if (onQueryChange) {
|
|
127
|
+
onQueryChange(JSON.stringify(lastQueryRequest.query));
|
|
92
128
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
129
|
+
}, [onQueryChange, lastQueryRequest.query]);
|
|
130
|
+
(0, react_1.useEffect)(function () {
|
|
131
|
+
if (data && onQueryResultBundleChange) {
|
|
132
|
+
onQueryResultBundleChange(JSON.stringify(data));
|
|
96
133
|
}
|
|
97
|
-
};
|
|
134
|
+
}, [data, onQueryResultBundleChange]);
|
|
135
|
+
var componentIndex = (_a = props.componentIndex) !== null && _a !== void 0 ? _a : 0;
|
|
136
|
+
var isFacetsAvailable = data
|
|
137
|
+
? (0, queryUtils_1.isFacetAvailable)(data.facets, data.selectColumns)
|
|
138
|
+
: true;
|
|
139
|
+
/**
|
|
140
|
+
* Inspect the URL to see if we have a particular query request that we must show.
|
|
141
|
+
*/
|
|
142
|
+
(0, react_1.useEffect)(function () {
|
|
143
|
+
var query = DeepLinkingUtils.getQueryRequestFromLink('QueryWrapper', componentIndex);
|
|
144
|
+
if (query) {
|
|
145
|
+
setLastQueryRequest(query);
|
|
146
|
+
}
|
|
147
|
+
}, []);
|
|
98
148
|
/**
|
|
99
149
|
* Pass down a deep clone (so no side affects on the child's part) of the
|
|
100
150
|
* last query request made
|
|
@@ -102,9 +152,9 @@ var QueryWrapper = /** @class */ (function (_super) {
|
|
|
102
152
|
* @returns
|
|
103
153
|
* @memberof QueryWrapper
|
|
104
154
|
*/
|
|
105
|
-
|
|
106
|
-
return (0, lodash_es_1.cloneDeep)(
|
|
107
|
-
};
|
|
155
|
+
var getLastQueryRequest = React.useCallback(function () {
|
|
156
|
+
return (0, lodash_es_1.cloneDeep)(lastQueryRequest);
|
|
157
|
+
}, [lastQueryRequest]);
|
|
108
158
|
/**
|
|
109
159
|
* Pass down a deep clone (so no side affects on the child's part) of the
|
|
110
160
|
* first query request made
|
|
@@ -112,209 +162,102 @@ var QueryWrapper = /** @class */ (function (_super) {
|
|
|
112
162
|
* @returns
|
|
113
163
|
* @memberof QueryWrapper
|
|
114
164
|
*/
|
|
115
|
-
|
|
116
|
-
return (0, lodash_es_1.cloneDeep)(
|
|
117
|
-
}
|
|
118
|
-
QueryWrapper.prototype.getSelectedColumns = function (isReset, selectColumns) {
|
|
119
|
-
var _a, _b;
|
|
120
|
-
if (isReset) {
|
|
121
|
-
return (_b = selectColumns === null || selectColumns === void 0 ? void 0 : selectColumns.slice(0, (_a = this.props.visibleColumnCount) !== null && _a !== void 0 ? _a : Infinity).map(function (el) { return el.name; })) !== null && _b !== void 0 ? _b : [];
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
return this.state.isColumnSelected;
|
|
125
|
-
}
|
|
126
|
-
};
|
|
165
|
+
function getInitQueryRequest() {
|
|
166
|
+
return (0, lodash_es_1.cloneDeep)(props.initQueryRequest);
|
|
167
|
+
}
|
|
127
168
|
/**
|
|
128
|
-
* Execute the given query
|
|
129
|
-
*
|
|
169
|
+
* Execute the given query request, updating all of the data in the QueryContext to match the new query
|
|
130
170
|
* @param {*} queryRequest Query request as specified by
|
|
131
171
|
* https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/table/Query.html
|
|
132
|
-
* @memberof QueryWrapper
|
|
133
172
|
*/
|
|
134
|
-
|
|
135
|
-
var _this = this;
|
|
173
|
+
function executeQueryRequest(queryRequest) {
|
|
136
174
|
var clonedQueryRequest = (0, lodash_es_1.cloneDeep)(queryRequest);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
this.setState({
|
|
140
|
-
isLoading: true,
|
|
141
|
-
lastQueryRequest: clonedQueryRequest,
|
|
142
|
-
selectedRowIndices: [],
|
|
143
|
-
error: undefined,
|
|
144
|
-
});
|
|
175
|
+
setLastQueryRequest(clonedQueryRequest);
|
|
176
|
+
setCurrentPage(0);
|
|
145
177
|
if (clonedQueryRequest.query) {
|
|
146
178
|
var clonedQueryRequestJson = JSON.stringify(clonedQueryRequest.query);
|
|
147
179
|
var stringifiedQuery = encodeURIComponent(clonedQueryRequestJson);
|
|
148
|
-
if (
|
|
149
|
-
if (
|
|
150
|
-
|
|
180
|
+
if (props.shouldDeepLink) {
|
|
181
|
+
if (props.onQueryChange) {
|
|
182
|
+
props.onQueryChange(clonedQueryRequestJson);
|
|
151
183
|
}
|
|
152
184
|
else {
|
|
153
|
-
DeepLinkingUtils.updateUrlWithNewSearchParam('QueryWrapper',
|
|
185
|
+
DeepLinkingUtils.updateUrlWithNewSearchParam('QueryWrapper', componentIndex, stringifiedQuery);
|
|
154
186
|
}
|
|
155
187
|
}
|
|
156
188
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
isFacetsAvailable: isFaceted,
|
|
168
|
-
topLevelControlsState: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, _this.state.topLevelControlsState), { showFacetFilter: isFaceted, showFacetVisualization: isFaceted })
|
|
169
|
-
};
|
|
170
|
-
if (_this.props.onQueryResultBundleChange) {
|
|
171
|
-
_this.props.onQueryResultBundleChange(JSON.stringify(data));
|
|
172
|
-
}
|
|
173
|
-
_this.setState(newState);
|
|
174
|
-
})
|
|
175
|
-
.catch(function (error) {
|
|
176
|
-
console.error('Failed to get data ', error);
|
|
177
|
-
_this.setState({
|
|
178
|
-
error: error,
|
|
179
|
-
});
|
|
180
|
-
})
|
|
181
|
-
.finally(function () {
|
|
182
|
-
_this.setState({ isLoading: false, isLoadingNewData: false });
|
|
183
|
-
});
|
|
184
|
-
};
|
|
185
|
-
/**
|
|
186
|
-
* Grab the next page of data, pulling in 25 more rows.
|
|
187
|
-
*
|
|
188
|
-
* @param {*} queryRequest Query request as specified by
|
|
189
|
-
* https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/table/Query.html
|
|
190
|
-
* @memberof QueryWrapper
|
|
191
|
-
*/
|
|
192
|
-
QueryWrapper.prototype.getNextPageOfData = function (queryRequest) {
|
|
193
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
194
|
-
var _this = this;
|
|
195
|
-
return (0, tslib_1.__generator)(this, function (_a) {
|
|
196
|
-
switch (_a.label) {
|
|
197
|
-
case 0:
|
|
198
|
-
this.setState({
|
|
199
|
-
isLoading: true,
|
|
200
|
-
});
|
|
201
|
-
return [4 /*yield*/, (0, queryUtils_1.getNextPageOfData)(queryRequest, this.state.data, this.props.token).then(function (newState) {
|
|
202
|
-
_this.setState((0, tslib_1.__assign)((0, tslib_1.__assign)({}, newState), { isLoading: false, lastQueryRequest: (0, lodash_es_1.cloneDeep)(queryRequest) }));
|
|
203
|
-
})];
|
|
204
|
-
case 1:
|
|
205
|
-
_a.sent();
|
|
206
|
-
return [2 /*return*/];
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
};
|
|
211
|
-
/**
|
|
212
|
-
* Execute the initial query passed into the component
|
|
213
|
-
*
|
|
214
|
-
* @param {*} queryRequest Query request as specified by
|
|
215
|
-
* https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/table/Query.html
|
|
216
|
-
* @memberof QueryWrapper
|
|
217
|
-
*/
|
|
218
|
-
QueryWrapper.prototype.executeInitialQueryRequest = function (initQueryRequest) {
|
|
219
|
-
var _this = this;
|
|
220
|
-
if (initQueryRequest === void 0) { initQueryRequest = this.props.initQueryRequest; }
|
|
221
|
-
var lastQueryRequest = (0, lodash_es_1.cloneDeep)(initQueryRequest);
|
|
222
|
-
this.setState({
|
|
223
|
-
isLoading: true,
|
|
224
|
-
chartSelectionIndex: 0,
|
|
225
|
-
loadNowStarted: true,
|
|
226
|
-
lastQueryRequest: lastQueryRequest,
|
|
227
|
-
});
|
|
228
|
-
utils_1.SynapseClient.getQueryTableResults(initQueryRequest, this.props.token, this.updateParentState)
|
|
229
|
-
.then(function (data) {
|
|
230
|
-
var _a, _b, _c;
|
|
231
|
-
var hasMoreData = (_a = data.queryResult.queryResults.rows.length ===
|
|
232
|
-
initQueryRequest.query.limit) !== null && _a !== void 0 ? _a : SynapseConstants_1.DEFAULT_PAGE_SIZE;
|
|
233
|
-
var isAllFilterSelectedForFacet = (0, lodash_es_1.cloneDeep)(_this.state.isAllFilterSelectedForFacet);
|
|
234
|
-
var chartSelectionIndex = _this.state.chartSelectionIndex;
|
|
235
|
-
if (_this.props.facet) {
|
|
236
|
-
if (!data.facets) {
|
|
237
|
-
throw Error('Error on query request, must include facets in partmask to show facets');
|
|
238
|
-
}
|
|
239
|
-
var enumFacets = data.facets.filter(function (el) { return el.facetType === 'enumeration'; });
|
|
240
|
-
enumFacets.forEach(function (el) {
|
|
241
|
-
// isAll is only true iff there are no facets selected or all elements are selected
|
|
242
|
-
var facetValues = el.facetValues;
|
|
243
|
-
var isAllFalse = facetValues.every(function (facet) { return !facet.isSelected; });
|
|
244
|
-
var isAllTrue = facetValues.every(function (facet) { return facet.isSelected; });
|
|
245
|
-
var isByDefaultSelected = isAllFalse || isAllTrue;
|
|
246
|
-
isAllFilterSelectedForFacet[el.columnName] = isByDefaultSelected;
|
|
247
|
-
if (el.columnName === _this.props.facet && !isAllFalse) {
|
|
248
|
-
// Note - this picks the first selected facet
|
|
249
|
-
chartSelectionIndex = facetValues
|
|
250
|
-
.sort(function (a, b) { return b.count - a.count; })
|
|
251
|
-
.findIndex(function (facet) { return facet.isSelected; });
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
var isFaceted = (0, queryUtils_2.isFacetAvailable)(data.facets);
|
|
256
|
-
if (_this.props.onQueryResultBundleChange) {
|
|
257
|
-
_this.props.onQueryResultBundleChange(JSON.stringify(data));
|
|
258
|
-
}
|
|
259
|
-
var newState = {
|
|
260
|
-
isAllFilterSelectedForFacet: isAllFilterSelectedForFacet,
|
|
261
|
-
hasMoreData: hasMoreData,
|
|
262
|
-
data: data,
|
|
263
|
-
chartSelectionIndex: chartSelectionIndex,
|
|
264
|
-
asyncJobStatus: undefined,
|
|
265
|
-
isColumnSelected: _this.getSelectedColumns(true, data.selectColumns),
|
|
266
|
-
isFacetsAvailable: isFaceted,
|
|
267
|
-
topLevelControlsState: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, _this.state.topLevelControlsState), { showFacetFilter: ((_b = _this.state.topLevelControlsState) === null || _b === void 0 ? void 0 : _b.showFacetFilter) ? isFaceted : false, showFacetVisualization: ((_c = _this.state.topLevelControlsState) === null || _c === void 0 ? void 0 : _c.showFacetVisualization) ? isFaceted : false })
|
|
268
|
-
};
|
|
269
|
-
_this.setState(newState);
|
|
270
|
-
})
|
|
271
|
-
.catch(function (error) {
|
|
272
|
-
console.error('Failed to get data ', error);
|
|
273
|
-
_this.setState({
|
|
274
|
-
error: error,
|
|
275
|
-
});
|
|
276
|
-
})
|
|
277
|
-
.finally(function () {
|
|
278
|
-
_this.setState({
|
|
279
|
-
isLoading: false,
|
|
280
|
-
isLoadingNewData: false,
|
|
281
|
-
});
|
|
282
|
-
});
|
|
283
|
-
};
|
|
284
|
-
QueryWrapper.prototype.updateParentState = function (update) {
|
|
285
|
-
this.setState(update);
|
|
286
|
-
};
|
|
189
|
+
/**
|
|
190
|
+
* TODO: We remove the cached data because it can interfere with user controls, such as the QueryFilter.
|
|
191
|
+
* For example, if you filter on a facet with value ["a"], then value ["a", "b"], then value ["a"] again,
|
|
192
|
+
* we'll have a cache hit on the last query, so we won't get a loading state, but the controls haven't been updated
|
|
193
|
+
* to handle cache hits. Forcing a cache miss here fixes this, but ideally the controls should handle this case.
|
|
194
|
+
*/
|
|
195
|
+
remove();
|
|
196
|
+
// end TODO
|
|
197
|
+
refetch();
|
|
198
|
+
}
|
|
287
199
|
/**
|
|
288
200
|
* remove a particular facet name (e.g. study) and its all possible values based on the parameter specified in the url
|
|
289
201
|
* this is to remove the facet from the charts, search and filter.
|
|
290
202
|
* @return data: QueryResultBundle
|
|
291
203
|
*/
|
|
292
|
-
|
|
204
|
+
function removeLockedFacetData() {
|
|
293
205
|
var _a, _b;
|
|
294
|
-
var lockedFacet = (_a =
|
|
295
|
-
if (lockedFacet &&
|
|
206
|
+
var lockedFacet = (_a = props.lockedFacet) === null || _a === void 0 ? void 0 : _a.facet;
|
|
207
|
+
if (lockedFacet && data) {
|
|
296
208
|
// for details page, return data without the "locked" facet
|
|
297
|
-
var
|
|
298
|
-
var facets = (_b =
|
|
299
|
-
|
|
300
|
-
return
|
|
209
|
+
var dataCopy = (0, lodash_es_1.cloneDeep)(data);
|
|
210
|
+
var facets = (_b = dataCopy.facets) === null || _b === void 0 ? void 0 : _b.filter(function (item) { return item.columnName.toLowerCase() !== lockedFacet.toLowerCase(); });
|
|
211
|
+
dataCopy.facets = facets;
|
|
212
|
+
return dataCopy;
|
|
301
213
|
}
|
|
302
214
|
else {
|
|
303
215
|
// for other pages, just return the data
|
|
304
|
-
return
|
|
216
|
+
return data;
|
|
305
217
|
}
|
|
218
|
+
}
|
|
219
|
+
var context = {
|
|
220
|
+
data: removeLockedFacetData(),
|
|
221
|
+
isLoadingNewPage: isFetchingNextPage,
|
|
222
|
+
hasNextPage: !!hasNextPage,
|
|
223
|
+
hasPreviousPage: !!hasPreviousPage,
|
|
224
|
+
isLoadingNewBundle: isLoadingNewBundle,
|
|
225
|
+
getLastQueryRequest: getLastQueryRequest,
|
|
226
|
+
getInitQueryRequest: getInitQueryRequest,
|
|
227
|
+
error: error,
|
|
228
|
+
entity: entity,
|
|
229
|
+
executeQueryRequest: executeQueryRequest,
|
|
230
|
+
isFacetsAvailable: isFacetsAvailable,
|
|
231
|
+
// TODO: Get the real job status
|
|
232
|
+
asyncJobStatus: {
|
|
233
|
+
jobState: 'PROCESSING',
|
|
234
|
+
jobCanceling: false,
|
|
235
|
+
requestBody: undefined,
|
|
236
|
+
responseBody: undefined,
|
|
237
|
+
etag: '',
|
|
238
|
+
jobId: '',
|
|
239
|
+
startedByUserId: 0,
|
|
240
|
+
startedOn: '',
|
|
241
|
+
changedOn: '',
|
|
242
|
+
progressMessage: '',
|
|
243
|
+
progressCurrent: 0,
|
|
244
|
+
progressTotal: 0,
|
|
245
|
+
exception: '',
|
|
246
|
+
errorMessage: '',
|
|
247
|
+
errorDetails: '',
|
|
248
|
+
runtimeMS: 0,
|
|
249
|
+
},
|
|
250
|
+
appendNextPageToResults: appendNextPageToResults,
|
|
251
|
+
goToNextPage: goToNextPage,
|
|
252
|
+
goToPreviousPage: goToPreviousPage,
|
|
306
253
|
};
|
|
307
254
|
/**
|
|
308
255
|
* Render the children without any formatting
|
|
309
256
|
*/
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
};
|
|
317
|
-
return QueryWrapper;
|
|
318
|
-
}(React.Component));
|
|
319
|
-
exports.default = QueryWrapper;
|
|
257
|
+
var children = props.children;
|
|
258
|
+
var loadingCursorClass = isLoadingNewBundle || isFetchingNextPage ? 'SRC-logo-cursor' : '';
|
|
259
|
+
return (React.createElement(exports.QueryContextProvider, { queryContext: context },
|
|
260
|
+
React.createElement("div", { className: "SRC-wrapper " + loadingCursorClass + " " + (isFacetsAvailable ? 'has-facets' : '') }, children)));
|
|
261
|
+
}
|
|
262
|
+
exports.QueryWrapper = QueryWrapper;
|
|
320
263
|
//# sourceMappingURL=QueryWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryWrapper.js","sourceRoot":"","sources":["../../src/lib/containers/QueryWrapper.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"QueryWrapper.js","sourceRoot":"","sources":["../../src/lib/containers/QueryWrapper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueryWrapperErrorBanner = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
|
+
var ErrorBanner_1 = require("./ErrorBanner");
|
|
7
|
+
var QueryWrapper_1 = require("./QueryWrapper");
|
|
8
|
+
/**
|
|
9
|
+
* Error banner that automatically pulls the error from QueryContext.
|
|
10
|
+
*/
|
|
11
|
+
var QueryWrapperErrorBanner = function () {
|
|
12
|
+
var error = (0, QueryWrapper_1.useQueryContext)().error;
|
|
13
|
+
return react_1.default.createElement(ErrorBanner_1.ErrorBanner, { error: error });
|
|
14
|
+
};
|
|
15
|
+
exports.QueryWrapperErrorBanner = QueryWrapperErrorBanner;
|
|
16
|
+
//# sourceMappingURL=QueryWrapperErrorBanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryWrapperErrorBanner.js","sourceRoot":"","sources":["../../src/lib/containers/QueryWrapperErrorBanner.tsx"],"names":[],"mappings":";;;;AAAA,6DAAyB;AACzB,6CAA2C;AAC3C,+CAAgD;AAEhD;;GAEG;AACI,IAAM,uBAAuB,GAAG;IAC7B,IAAA,KAAK,GAAK,IAAA,8BAAe,GAAE,MAAtB,CAAsB;IACnC,OAAO,8BAAC,yBAAW,IAAC,KAAK,EAAE,KAAK,GAAI,CAAA;AACtC,CAAC,CAAA;AAHY,QAAA,uBAAuB,2BAGnC"}
|