synapse-react-client 2.1.22 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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/EntityLink.js +2 -2
- package/dist/containers/EntityLink.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/HasAccess.js +3 -2
- package/dist/containers/HasAccess.js.map +1 -1
- package/dist/containers/MarkdownPopover.js +1 -1
- package/dist/containers/MarkdownPopover.js.map +1 -1
- package/dist/containers/MissingQueryResultsWarning.d.ts +12 -0
- package/dist/containers/MissingQueryResultsWarning.js +64 -0
- package/dist/containers/MissingQueryResultsWarning.js.map +1 -0
- package/dist/containers/QueryCount.js +16 -44
- 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 +188 -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/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/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 +31 -44
- package/dist/containers/table/TopLevelControls.js.map +1 -1
- package/dist/containers/table/datasets/DatasetItemsEditor.js +3 -4
- 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/table/table-top/ProgrammaticTableDownload.js +15 -8
- package/dist/containers/table/table-top/ProgrammaticTableDownload.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 +4 -9
- package/dist/index.js +3 -7
- package/dist/index.js.map +1 -1
- package/dist/style/base/_icons.scss +4 -0
- package/dist/style/components/_dataset-editor.scss +6 -0
- package/dist/style/components/_markdown.scss +1 -1
- package/dist/style/components/entity_finder/_details-view.scss +6 -6
- package/dist/style/components/entity_finder/_entity-finder.scss +3 -7
- package/dist/style/components/entity_finder/_tree-node-browse.scss +6 -13
- package/dist/style/components/entity_finder/_tree-node-select.scss +14 -24
- package/dist/style/components/entity_finder/_tree-view.scss +17 -20
- package/dist/style/components/query_filter/_enum-facet-filter.scss +4 -1
- package/dist/style/main.css +908 -42
- package/dist/template_style/_form.scss +150 -105
- package/dist/umd/synapse-react-client.development.css +826 -42
- package/dist/umd/synapse-react-client.development.css.map +2 -2
- package/dist/umd/synapse-react-client.development.js +10814 -4134
- 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 +1 -1
- package/dist/utils/APIConstants.d.ts +3 -0
- package/dist/utils/APIConstants.js +12 -2
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/SynapseClient.d.ts +47 -20
- package/dist/utils/SynapseClient.js +275 -209
- 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.d.ts +4 -0
- package/dist/utils/functions/sqlFunctions.js +14 -2
- 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/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/Entity/Entity.js.map +1 -1
- 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/types/Writable.d.ts +8 -0
- package/dist/utils/{synapseTypes/DownloadListV2/DownloadListQueryResponse.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 +51 -39
- 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 +0 -3
- 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
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VirtualizedTree = exports.getTreeWalkerFunction = exports.Node = exports.getNodeData = exports.EntityTreeNodeType = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var lab_1 = require("@material-ui/lab");
|
|
6
|
+
var lodash_1 = require("lodash");
|
|
7
|
+
var react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
8
|
+
var react_intersection_observer_1 = require("react-intersection-observer");
|
|
9
|
+
var react_virtualized_auto_sizer_1 = (0, tslib_1.__importDefault)(require("react-virtualized-auto-sizer"));
|
|
10
|
+
var react_vtree_1 = require("react-vtree");
|
|
11
|
+
var utils_1 = require("../../../utils");
|
|
12
|
+
var EntityTypeUtils_1 = require("../../../utils/functions/EntityTypeUtils");
|
|
13
|
+
var SynapseContext_1 = require("../../../utils/SynapseContext");
|
|
14
|
+
var EntityBadgeIcons_1 = require("../../EntityBadgeIcons");
|
|
15
|
+
var EntityIcon_1 = require("../../EntityIcon");
|
|
16
|
+
var LoadingScreen_1 = require("../../LoadingScreen");
|
|
17
|
+
var EntityTreeNodeType;
|
|
18
|
+
(function (EntityTreeNodeType) {
|
|
19
|
+
/** The tree component's appearance and interactions will facilitate selection. Nodes will be larger and styles will indicate primary selection */
|
|
20
|
+
EntityTreeNodeType[EntityTreeNodeType["SINGLE_PANE"] = 0] = "SINGLE_PANE";
|
|
21
|
+
/** The tree component's appearance and interactions will facilitate browsing. Nodes will be smaller and styles will indicate secondary selection */
|
|
22
|
+
EntityTreeNodeType[EntityTreeNodeType["DUAL_PANE"] = 1] = "DUAL_PANE";
|
|
23
|
+
})(EntityTreeNodeType = exports.EntityTreeNodeType || (exports.EntityTreeNodeType = {}));
|
|
24
|
+
function getTreeNodeType(node) {
|
|
25
|
+
if ('__paginationNode' in node) {
|
|
26
|
+
return 'pagination';
|
|
27
|
+
}
|
|
28
|
+
return 'id' in node ? 'entityHeader' : 'rootNodeConfiguration';
|
|
29
|
+
}
|
|
30
|
+
function isPaginationNode(node) {
|
|
31
|
+
return getTreeNodeType(node) === 'pagination';
|
|
32
|
+
}
|
|
33
|
+
function isEntityHeaderNode(node) {
|
|
34
|
+
return getTreeNodeType(node) === 'entityHeader';
|
|
35
|
+
}
|
|
36
|
+
function isRootNodeConfiguration(node) {
|
|
37
|
+
return getTreeNodeType(node) === 'rootNodeConfiguration';
|
|
38
|
+
}
|
|
39
|
+
function hasMoreChildren(node) {
|
|
40
|
+
if (isPaginationNode(node)) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
else if (isRootNodeConfiguration(node)) {
|
|
44
|
+
return node.hasNextPage;
|
|
45
|
+
}
|
|
46
|
+
return node.children == null || node.childrenNextPageToken != null;
|
|
47
|
+
}
|
|
48
|
+
function isLeafNode(node) {
|
|
49
|
+
if (isPaginationNode(node)) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
else if (isRootNodeConfiguration(node)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return (
|
|
57
|
+
// Entity is not a container
|
|
58
|
+
!(0, EntityTypeUtils_1.isContainerType)((0, EntityTypeUtils_1.getEntityTypeFromHeader)(node)) ||
|
|
59
|
+
// OR Children have been fetched (nonnull) and there are 0 children
|
|
60
|
+
(node.children != null && node.children.length === 0));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Converts a TreeNode and related data into a TreeWalkerValue that react-vtree can use to render the tree.
|
|
65
|
+
* Exported for testing purposes only.
|
|
66
|
+
* @param config
|
|
67
|
+
* @returns
|
|
68
|
+
*/
|
|
69
|
+
var getNodeData = function (config) {
|
|
70
|
+
var node = config.node, nestingLevel = config.nestingLevel, getNextPageOfChildren = config.getNextPageOfChildren, setSelectedId = config.setSelectedId, treeNodeType = config.treeNodeType, selected = config.selected, selectableTypes = config.selectableTypes, autoExpand = config.autoExpand, defaultHeight = config.defaultHeight, currentContainer = config.currentContainer;
|
|
71
|
+
if (isPaginationNode(node)) {
|
|
72
|
+
throw new Error('Cannot create data for a pagination node');
|
|
73
|
+
}
|
|
74
|
+
var id = isRootNodeConfiguration(node) ? 'root' : node.id;
|
|
75
|
+
var isOpenByDefault = autoExpand(id);
|
|
76
|
+
var isSelected = treeNodeType === EntityTreeNodeType.SINGLE_PANE
|
|
77
|
+
? selected.has(id)
|
|
78
|
+
: currentContainer === id;
|
|
79
|
+
var isDisabled = !isRootNodeConfiguration(node) &&
|
|
80
|
+
!selectableTypes.includes((0, EntityTypeUtils_1.getEntityTypeFromHeader)(node));
|
|
81
|
+
/*
|
|
82
|
+
* If the node is open by default and we haven't fetched its children,
|
|
83
|
+
* fetch the first page (otherwise we won't fetch unless re-toggled)
|
|
84
|
+
*/
|
|
85
|
+
if (isOpenByDefault && node.children == null && hasMoreChildren(node)) {
|
|
86
|
+
getNextPageOfChildren();
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
data: {
|
|
90
|
+
node: node,
|
|
91
|
+
getNextPageOfChildren: getNextPageOfChildren,
|
|
92
|
+
id: id,
|
|
93
|
+
isLeaf: isLeafNode(node),
|
|
94
|
+
isOpenByDefault: isOpenByDefault,
|
|
95
|
+
nestingLevel: nestingLevel,
|
|
96
|
+
setSelectedId: setSelectedId,
|
|
97
|
+
treeNodeType: treeNodeType,
|
|
98
|
+
isSelected: isSelected,
|
|
99
|
+
isDisabled: isDisabled,
|
|
100
|
+
defaultHeight: defaultHeight,
|
|
101
|
+
},
|
|
102
|
+
nestingLevel: nestingLevel,
|
|
103
|
+
node: node,
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
exports.getNodeData = getNodeData;
|
|
107
|
+
/**
|
|
108
|
+
* Node component for the react-vtree virtualized tree. Exported only for testing purposes
|
|
109
|
+
*/
|
|
110
|
+
function Node(props) {
|
|
111
|
+
var _this = this;
|
|
112
|
+
var _a = props.data, node = _a.node, getNextPageOfChildren = _a.getNextPageOfChildren, isLeaf = _a.isLeaf, id = _a.id, nestingLevel = _a.nestingLevel, setSelectedId = _a.setSelectedId, treeNodeType = _a.treeNodeType, isSelected = _a.isSelected, isDisabled = _a.isDisabled, isOpen = props.isOpen, style = props.style, setOpen = props.setOpen;
|
|
113
|
+
var _b = (0, react_1.useState)(false), isLoading = _b[0], setLoading = _b[1];
|
|
114
|
+
var nodeText = isEntityHeaderNode(node) ? (node.name) : isRootNodeConfiguration(node) ? (node.nodeText) : (
|
|
115
|
+
// Pagination node
|
|
116
|
+
react_1.default.createElement(lab_1.Skeleton, { width: 100 }));
|
|
117
|
+
// We only use this for pagination nodes. If the pagination node comes into view, then immediately call `getNextPageOfChildren`
|
|
118
|
+
var _c = (0, react_intersection_observer_1.useInView)(), ref = _c.ref, inView = _c.inView;
|
|
119
|
+
(0, react_1.useEffect)(function () {
|
|
120
|
+
if (isPaginationNode(node) && inView) {
|
|
121
|
+
getNextPageOfChildren();
|
|
122
|
+
}
|
|
123
|
+
}, [node, inView, getNextPageOfChildren]);
|
|
124
|
+
/**
|
|
125
|
+
* If the height is 0, the node is purposefully hidden. Just render a fragment.
|
|
126
|
+
*/
|
|
127
|
+
if ('height' in style && style.height === 0) {
|
|
128
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
129
|
+
}
|
|
130
|
+
function toggleExpand() {
|
|
131
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
132
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
133
|
+
switch (_a.label) {
|
|
134
|
+
case 0:
|
|
135
|
+
if (!hasMoreChildren(node)) return [3 /*break*/, 3];
|
|
136
|
+
setLoading(true);
|
|
137
|
+
return [4 /*yield*/, getNextPageOfChildren()];
|
|
138
|
+
case 1:
|
|
139
|
+
_a.sent();
|
|
140
|
+
return [4 /*yield*/, setOpen(!isOpen)];
|
|
141
|
+
case 2:
|
|
142
|
+
_a.sent();
|
|
143
|
+
setLoading(false);
|
|
144
|
+
return [3 /*break*/, 5];
|
|
145
|
+
case 3: return [4 /*yield*/, setOpen(!isOpen)];
|
|
146
|
+
case 4:
|
|
147
|
+
_a.sent();
|
|
148
|
+
_a.label = 5;
|
|
149
|
+
case 5: return [2 /*return*/];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return (react_1.default.createElement("div", { className: "Node " + (treeNodeType === EntityTreeNodeType.SINGLE_PANE
|
|
155
|
+
? 'SelectNode'
|
|
156
|
+
: 'BrowseNode'), "aria-selected": isSelected, "aria-disabled": isDisabled, onClick: function (event) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
|
|
157
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
158
|
+
switch (_a.label) {
|
|
159
|
+
case 0:
|
|
160
|
+
event.stopPropagation();
|
|
161
|
+
if (!isDisabled) {
|
|
162
|
+
setSelectedId(id);
|
|
163
|
+
}
|
|
164
|
+
if (!(treeNodeType === EntityTreeNodeType.DUAL_PANE &&
|
|
165
|
+
!isOpen &&
|
|
166
|
+
!isSelected)) return [3 /*break*/, 2];
|
|
167
|
+
return [4 /*yield*/, toggleExpand()];
|
|
168
|
+
case 1:
|
|
169
|
+
_a.sent();
|
|
170
|
+
_a.label = 2;
|
|
171
|
+
case 2: return [2 /*return*/];
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}); }, style: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, style), { paddingLeft: 20 + nestingLevel * 20 + "px" }) },
|
|
175
|
+
!isLeaf && (react_1.default.createElement("button", { className: "ExpandButton", type: "button", onClick: function (event) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
|
|
176
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
177
|
+
switch (_a.label) {
|
|
178
|
+
case 0:
|
|
179
|
+
event.stopPropagation();
|
|
180
|
+
return [4 /*yield*/, toggleExpand()];
|
|
181
|
+
case 1:
|
|
182
|
+
_a.sent();
|
|
183
|
+
return [2 /*return*/];
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}); } }, isLoading ? react_1.default.createElement(LoadingScreen_1.SynapseSpinner, { size: 10 }) : isOpen ? '▾' : '▸')),
|
|
187
|
+
treeNodeType === EntityTreeNodeType.SINGLE_PANE && ( // SWC-5592
|
|
188
|
+
react_1.default.createElement("div", { className: "EntityIcon" }, isEntityHeaderNode(node) && (react_1.default.createElement(EntityIcon_1.EntityTypeIcon, { type: (0, EntityTypeUtils_1.getEntityTypeFromHeader)(node) })))),
|
|
189
|
+
react_1.default.createElement("div", { className: "EntityName", ref: ref }, nodeText),
|
|
190
|
+
treeNodeType === EntityTreeNodeType.SINGLE_PANE && (react_1.default.createElement(EntityBadgeIcons_1.EntityBadgeIcons, { entityId: id, showHasDiscussionThread: false, showHasWiki: false, showUnlink: false, canOpenModal: false, renderTooltipComponent: true }))));
|
|
191
|
+
}
|
|
192
|
+
exports.Node = Node;
|
|
193
|
+
/**
|
|
194
|
+
* Extracted from the React component for testing purposes
|
|
195
|
+
* @returns a generator function compatible with react-vtree
|
|
196
|
+
*/
|
|
197
|
+
function getTreeWalkerFunction(rootNode, setSelectedId, treeNodeType, selected, selectableTypes, autoExpand, itemSize, currentContainer, fetchNextPageOfChildren) {
|
|
198
|
+
return function treeWalker() {
|
|
199
|
+
var parentMeta, _loop_1, i, paginationNode, paginationTreeWalkerValue;
|
|
200
|
+
var _a;
|
|
201
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
202
|
+
switch (_b.label) {
|
|
203
|
+
case 0:
|
|
204
|
+
// Step [1]: Define the root node of our tree.
|
|
205
|
+
return [4 /*yield*/, (0, exports.getNodeData)({
|
|
206
|
+
node: rootNode,
|
|
207
|
+
nestingLevel: 0,
|
|
208
|
+
getNextPageOfChildren: rootNode.fetchNextPage,
|
|
209
|
+
setSelectedId: setSelectedId,
|
|
210
|
+
treeNodeType: treeNodeType,
|
|
211
|
+
selected: selected,
|
|
212
|
+
selectableTypes: selectableTypes,
|
|
213
|
+
autoExpand: autoExpand,
|
|
214
|
+
defaultHeight: itemSize(),
|
|
215
|
+
currentContainer: currentContainer,
|
|
216
|
+
})];
|
|
217
|
+
case 1:
|
|
218
|
+
// Step [1]: Define the root node of our tree.
|
|
219
|
+
_b.sent();
|
|
220
|
+
_b.label = 2;
|
|
221
|
+
case 2:
|
|
222
|
+
if (!true) return [3 /*break*/, 10];
|
|
223
|
+
return [4 /*yield*/];
|
|
224
|
+
case 3:
|
|
225
|
+
parentMeta = _b.sent();
|
|
226
|
+
if (!(!isPaginationNode(parentMeta.node) &&
|
|
227
|
+
(parentMeta.node.children || hasMoreChildren(parentMeta.node)))) return [3 /*break*/, 9];
|
|
228
|
+
_loop_1 = function (i) {
|
|
229
|
+
var childNode;
|
|
230
|
+
return (0, tslib_1.__generator)(this, function (_c) {
|
|
231
|
+
switch (_c.label) {
|
|
232
|
+
case 0:
|
|
233
|
+
childNode = parentMeta.node.children[i];
|
|
234
|
+
return [4 /*yield*/, (0, exports.getNodeData)({
|
|
235
|
+
node: childNode,
|
|
236
|
+
nestingLevel: parentMeta.nestingLevel + 1,
|
|
237
|
+
getNextPageOfChildren: function () { return fetchNextPageOfChildren(childNode); },
|
|
238
|
+
setSelectedId: setSelectedId,
|
|
239
|
+
treeNodeType: treeNodeType,
|
|
240
|
+
selected: selected,
|
|
241
|
+
selectableTypes: selectableTypes,
|
|
242
|
+
autoExpand: autoExpand,
|
|
243
|
+
defaultHeight: itemSize(),
|
|
244
|
+
currentContainer: currentContainer,
|
|
245
|
+
})];
|
|
246
|
+
case 1:
|
|
247
|
+
_c.sent();
|
|
248
|
+
return [2 /*return*/];
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
};
|
|
252
|
+
i = 0;
|
|
253
|
+
_b.label = 4;
|
|
254
|
+
case 4:
|
|
255
|
+
if (!(i < ((_a = parentMeta.node.children) !== null && _a !== void 0 ? _a : []).length)) return [3 /*break*/, 7];
|
|
256
|
+
return [5 /*yield**/, _loop_1(i)];
|
|
257
|
+
case 5:
|
|
258
|
+
_b.sent();
|
|
259
|
+
_b.label = 6;
|
|
260
|
+
case 6:
|
|
261
|
+
i++;
|
|
262
|
+
return [3 /*break*/, 4];
|
|
263
|
+
case 7:
|
|
264
|
+
if (!(parentMeta.node.children != null &&
|
|
265
|
+
hasMoreChildren(parentMeta.node))) return [3 /*break*/, 9];
|
|
266
|
+
paginationNode = {
|
|
267
|
+
__paginationNode: true,
|
|
268
|
+
};
|
|
269
|
+
paginationTreeWalkerValue = {
|
|
270
|
+
data: {
|
|
271
|
+
id: parentMeta.data.id + '-pagination',
|
|
272
|
+
node: paginationNode,
|
|
273
|
+
isOpenByDefault: false,
|
|
274
|
+
getNextPageOfChildren: parentMeta.data.getNextPageOfChildren,
|
|
275
|
+
isLeaf: true,
|
|
276
|
+
isSelected: false,
|
|
277
|
+
defaultHeight: itemSize(),
|
|
278
|
+
isDisabled: true,
|
|
279
|
+
nestingLevel: parentMeta.nestingLevel + 1,
|
|
280
|
+
setSelectedId: function () { },
|
|
281
|
+
treeNodeType: treeNodeType,
|
|
282
|
+
},
|
|
283
|
+
nestingLevel: parentMeta.nestingLevel + 1,
|
|
284
|
+
node: {
|
|
285
|
+
__paginationNode: true,
|
|
286
|
+
},
|
|
287
|
+
};
|
|
288
|
+
return [4 /*yield*/, paginationTreeWalkerValue];
|
|
289
|
+
case 8:
|
|
290
|
+
_b.sent();
|
|
291
|
+
_b.label = 9;
|
|
292
|
+
case 9: return [3 /*break*/, 2];
|
|
293
|
+
case 10: return [2 /*return*/];
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
exports.getTreeWalkerFunction = getTreeWalkerFunction;
|
|
299
|
+
/**
|
|
300
|
+
* Component that utilizes react-vtree to efficiently display a tree of entities. react-vtree utilizes react-window
|
|
301
|
+
* to only render visible nodes, which eliminates performance issues as seen in SWC-5978.
|
|
302
|
+
*/
|
|
303
|
+
var VirtualizedTree = function (props) {
|
|
304
|
+
var rootNodeConfiguration = props.rootNodeConfiguration, setSelectedId = props.setSelectedId, treeNodeType = props.treeNodeType, selected = props.selected, currentContainer = props.currentContainer, selectableTypes = props.selectableTypes, visibleTypes = props.visibleTypes, autoExpand = props.autoExpand;
|
|
305
|
+
var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken;
|
|
306
|
+
var _a = (0, react_1.useState)(rootNodeConfiguration), rootNode = _a[0], setRootNode = _a[1];
|
|
307
|
+
(0, react_1.useEffect)(function () {
|
|
308
|
+
setRootNode(rootNodeConfiguration);
|
|
309
|
+
}, [rootNodeConfiguration, rootNodeConfiguration.children]);
|
|
310
|
+
// This function is used by VariableSizeTree to identify the size of each node in the tree.
|
|
311
|
+
var itemSize = (0, react_1.useCallback)(function (index) {
|
|
312
|
+
/**
|
|
313
|
+
* We must have a root node, but we don't always want to show it.
|
|
314
|
+
* In those cases, set the height of the root node to 0.
|
|
315
|
+
*/
|
|
316
|
+
if (index === 0 && !rootNodeConfiguration.show) {
|
|
317
|
+
return 0;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* The height of all other nodes in the tree varies depending on the tree node type.
|
|
321
|
+
*/
|
|
322
|
+
return treeNodeType === EntityTreeNodeType.DUAL_PANE ? 28 : 60;
|
|
323
|
+
}, [treeNodeType, rootNodeConfiguration.show]);
|
|
324
|
+
/**
|
|
325
|
+
* Fetches the next page of children for a given node. After fetching the children, this method will make a deep clone of the
|
|
326
|
+
* full tree, including the new data, and updates the state of the component
|
|
327
|
+
*/
|
|
328
|
+
var fetchNextPageOfChildren = (0, react_1.useCallback)(
|
|
329
|
+
// Because we update the root node with a copy at the end of this function, we can write to the node under update.
|
|
330
|
+
function (node) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
331
|
+
var children;
|
|
332
|
+
var _a;
|
|
333
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
334
|
+
switch (_b.label) {
|
|
335
|
+
case 0: return [4 /*yield*/, utils_1.SynapseClient.getEntityChildren({
|
|
336
|
+
parentId: node.id,
|
|
337
|
+
nextPageToken: node.childrenNextPageToken,
|
|
338
|
+
includeTypes: visibleTypes,
|
|
339
|
+
}, accessToken)
|
|
340
|
+
// Update the node data -- add the children and store the nextPageToken
|
|
341
|
+
];
|
|
342
|
+
case 1:
|
|
343
|
+
children = _b.sent();
|
|
344
|
+
// Update the node data -- add the children and store the nextPageToken
|
|
345
|
+
if (node.children) {
|
|
346
|
+
(_a = node.children).push.apply(_a, children.page);
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
node.children = children.page;
|
|
350
|
+
}
|
|
351
|
+
node.childrenNextPageToken = children.nextPageToken;
|
|
352
|
+
// cloneDeep is required to re-render the tree with the new children
|
|
353
|
+
setRootNode((0, lodash_1.cloneDeep)(rootNode));
|
|
354
|
+
return [2 /*return*/];
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
}); }, [rootNode, accessToken, visibleTypes]);
|
|
358
|
+
/**
|
|
359
|
+
* treeWalker is a generator function used by react-vtree to generate the tree structure. The tree is re-built when the function is updated,
|
|
360
|
+
* so the dependencies specified in useCallback are important.
|
|
361
|
+
*/
|
|
362
|
+
var memoizedTreeWalker = (0, react_1.useCallback)(getTreeWalkerFunction(rootNode, setSelectedId, treeNodeType, selected, selectableTypes, autoExpand, itemSize, currentContainer, fetchNextPageOfChildren), [
|
|
363
|
+
rootNode,
|
|
364
|
+
setSelectedId,
|
|
365
|
+
treeNodeType,
|
|
366
|
+
selected,
|
|
367
|
+
selectableTypes,
|
|
368
|
+
autoExpand,
|
|
369
|
+
currentContainer,
|
|
370
|
+
fetchNextPageOfChildren,
|
|
371
|
+
itemSize,
|
|
372
|
+
]);
|
|
373
|
+
return (react_1.default.createElement(react_virtualized_auto_sizer_1.default, { disableWidth: true }, function (_a) {
|
|
374
|
+
var height = _a.height;
|
|
375
|
+
return (react_1.default.createElement(react_vtree_1.VariableSizeTree, { treeWalker: memoizedTreeWalker, itemSize: itemSize, height: height, async: true, width: "100%" }, Node));
|
|
376
|
+
}));
|
|
377
|
+
};
|
|
378
|
+
exports.VirtualizedTree = VirtualizedTree;
|
|
379
|
+
//# sourceMappingURL=VirtualizedTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualizedTree.js","sourceRoot":"","sources":["../../../../src/lib/containers/entity_finder/tree/VirtualizedTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
export declare type FacetPlotsCardOwnProps = {
|
|
2
|
+
export declare type FacetPlotsCardProps = {
|
|
4
3
|
title?: string;
|
|
5
4
|
description?: string;
|
|
6
|
-
rgbIndex?: number;
|
|
7
5
|
facetsToPlot?: string[];
|
|
8
6
|
detailsPagePath?: string;
|
|
9
7
|
};
|
|
10
|
-
declare type FacetPlotsCardProps = FacetPlotsCardOwnProps & QueryWrapperChildProps;
|
|
11
8
|
declare const FacetPlotsCard: React.FunctionComponent<FacetPlotsCardProps>;
|
|
12
9
|
export default FacetPlotsCard;
|
|
@@ -12,6 +12,8 @@ var LoadingScreen_1 = (0, tslib_1.__importDefault)(require("../../LoadingScreen"
|
|
|
12
12
|
var FacetNavPanel_1 = require("../../widgets/facet-nav/FacetNavPanel");
|
|
13
13
|
var FacetNav_1 = require("../../widgets/facet-nav/FacetNav");
|
|
14
14
|
var SynapseContext_1 = require("../../../utils/SynapseContext");
|
|
15
|
+
var QueryWrapper_1 = require("../../QueryWrapper");
|
|
16
|
+
var QueryVisualizationWrapper_1 = require("../../QueryVisualizationWrapper");
|
|
15
17
|
var Plot = (0, factory_1.default)(plotly_js_basic_dist_1.default);
|
|
16
18
|
var layout = {
|
|
17
19
|
showlegend: false,
|
|
@@ -27,11 +29,13 @@ var layout = {
|
|
|
27
29
|
},
|
|
28
30
|
};
|
|
29
31
|
var FacetPlotsCard = function (_a) {
|
|
30
|
-
var title = _a.title, description = _a.description,
|
|
32
|
+
var title = _a.title, description = _a.description, facetsToPlot = _a.facetsToPlot, detailsPagePath = _a.detailsPagePath;
|
|
31
33
|
var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken;
|
|
32
|
-
var _b = (0,
|
|
33
|
-
var _c = (0,
|
|
34
|
-
var _d = (0, react_1.useState)(
|
|
34
|
+
var _b = (0, QueryWrapper_1.useQueryContext)(), data = _b.data, isLoadingNewBundle = _b.isLoadingNewBundle;
|
|
35
|
+
var _c = (0, QueryVisualizationWrapper_1.useQueryVisualizationContext)(), facetAliases = _c.facetAliases, rgbIndex = _c.rgbIndex;
|
|
36
|
+
var _d = (0, react_1.useState)([]), facetPlotDataArray = _d[0], setFacetPlotDataArray = _d[1];
|
|
37
|
+
var _e = (0, react_1.useState)([]), facetDataArray = _e[0], setFacetDataArray = _e[1];
|
|
38
|
+
var _f = (0, react_1.useState)(''), selectedFacetValue = _f[0], setSelectedFacetValue = _f[1];
|
|
35
39
|
var colorPalette = (0, ColorGradient_1.getColorPalette)(rgbIndex !== null && rgbIndex !== void 0 ? rgbIndex : 0, 2).colorPalette;
|
|
36
40
|
(0, react_1.useEffect)(function () {
|
|
37
41
|
var _a;
|
|
@@ -59,8 +63,7 @@ var FacetPlotsCard = function (_a) {
|
|
|
59
63
|
}); })).then(function (newPlotData) { return setFacetPlotDataArray(newPlotData); });
|
|
60
64
|
// If we are showing a facet selection based card, then set the selectedFacetValue. For example, facet column "study" with value "ROSMAP"
|
|
61
65
|
var selectedFacet = (_a = data === null || data === void 0 ? void 0 : data.facets) === null || _a === void 0 ? void 0 : _a.map(function (item) {
|
|
62
|
-
var facetValues = item
|
|
63
|
-
.facetValues;
|
|
66
|
+
var facetValues = item.facetValues;
|
|
64
67
|
if (facetValues) {
|
|
65
68
|
var filteredFacetValues = facetValues.filter(function (facetValue) {
|
|
66
69
|
return facetValue.isSelected;
|
|
@@ -78,7 +81,7 @@ var FacetPlotsCard = function (_a) {
|
|
|
78
81
|
}
|
|
79
82
|
}
|
|
80
83
|
}, [facetsToPlot, data]);
|
|
81
|
-
if (
|
|
84
|
+
if (isLoadingNewBundle ||
|
|
82
85
|
!facetPlotDataArray ||
|
|
83
86
|
!facetDataArray ||
|
|
84
87
|
facetDataArray.length === 0) {
|
|
@@ -101,7 +104,7 @@ var FacetPlotsCard = function (_a) {
|
|
|
101
104
|
React.createElement("span", { className: "FacetPlotsCard__title" }, cardTitle),
|
|
102
105
|
description && (React.createElement("span", { className: "FacetPlotsCard__description" }, description)),
|
|
103
106
|
detailsPageLink,
|
|
104
|
-
|
|
107
|
+
isLoadingNewBundle && (React.createElement("span", { style: { marginLeft: '2px' }, className: 'spinner' }))),
|
|
105
108
|
React.createElement("div", { className: "FacetPlotsCard__body" }, facetPlotDataArray.map(function (plotData, index) {
|
|
106
109
|
return (React.createElement("div", { key: index },
|
|
107
110
|
index !== 0 && React.createElement("hr", null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FacetPlotsCard.js","sourceRoot":"","sources":["../../../../src/lib/containers/home_page/featured-data/FacetPlotsCard.tsx"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,2FAAyC;AAEzC,iFAA2D;AAC3D,6CAAqC;
|
|
1
|
+
{"version":3,"file":"FacetPlotsCard.js","sourceRoot":"","sources":["../../../../src/lib/containers/home_page/featured-data/FacetPlotsCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare type QueryPerFacetPlotsCardProps = {
|
|
|
5
5
|
description?: string;
|
|
6
6
|
rgbIndex?: number;
|
|
7
7
|
facetsToPlot?: string[];
|
|
8
|
-
facetAliases?:
|
|
8
|
+
facetAliases?: Record<string, string>;
|
|
9
9
|
selectFacetColumnName: string;
|
|
10
10
|
selectFacetColumnValue: string;
|
|
11
11
|
sql?: string;
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getQueryRequest = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var React = (0, tslib_1.__importStar)(require("react"));
|
|
6
|
-
var QueryWrapper_1 = (0, tslib_1.__importDefault)(require("../../QueryWrapper"));
|
|
7
|
-
var sqlFunctions_1 = require("../../../utils/functions/sqlFunctions");
|
|
8
6
|
var utils_1 = require("../../../utils");
|
|
9
|
-
var
|
|
7
|
+
var sqlFunctions_1 = require("../../../utils/functions/sqlFunctions");
|
|
8
|
+
var QueryVisualizationWrapper_1 = require("../../QueryVisualizationWrapper");
|
|
9
|
+
var QueryWrapper_1 = require("../../QueryWrapper");
|
|
10
|
+
var QueryWrapperErrorBanner_1 = require("../../QueryWrapperErrorBanner");
|
|
10
11
|
var FacetPlotsCard_1 = (0, tslib_1.__importDefault)(require("./FacetPlotsCard"));
|
|
11
|
-
var SynapseContext_1 = require("../../../utils/SynapseContext");
|
|
12
12
|
function getQueryRequest(sql, selectFacetColumnName, selectFacetColumnValue) {
|
|
13
13
|
var entityId = (0, sqlFunctions_1.parseEntityIdFromSqlStatement)(sql);
|
|
14
14
|
return {
|
|
@@ -37,11 +37,10 @@ var QueryPerFacetPlotsCard = function (props) {
|
|
|
37
37
|
var title = props.title, description = props.description, sql = props.sql, facetsToPlot = props.facetsToPlot, rgbIndex = props.rgbIndex, selectFacetColumnName = props.selectFacetColumnName, selectFacetColumnValue = props.selectFacetColumnValue, detailsPagePath = props.detailsPagePath, rest = (0, tslib_1.__rest)(props, ["title", "description", "sql", "facetsToPlot", "rgbIndex", "selectFacetColumnName", "selectFacetColumnValue", "detailsPagePath"]);
|
|
38
38
|
var initQueryRequest = getQueryRequest(sql, selectFacetColumnName, selectFacetColumnValue);
|
|
39
39
|
return (React.createElement("div", { className: "QueryPerFacetPlotsCard" },
|
|
40
|
-
React.createElement(
|
|
41
|
-
|
|
42
|
-
React.createElement(
|
|
43
|
-
React.createElement(FacetPlotsCard_1.default,
|
|
44
|
-
})); })));
|
|
40
|
+
React.createElement(QueryWrapper_1.QueryWrapper, (0, tslib_1.__assign)({}, rest, { initQueryRequest: initQueryRequest }),
|
|
41
|
+
React.createElement(QueryVisualizationWrapper_1.QueryVisualizationWrapper, (0, tslib_1.__assign)({ rgbIndex: rgbIndex }, rest),
|
|
42
|
+
React.createElement(QueryWrapperErrorBanner_1.QueryWrapperErrorBanner, null),
|
|
43
|
+
React.createElement(FacetPlotsCard_1.default, { title: title, description: description, facetsToPlot: facetsToPlot, detailsPagePath: detailsPagePath })))));
|
|
45
44
|
};
|
|
46
45
|
exports.default = QueryPerFacetPlotsCard;
|
|
47
46
|
//# sourceMappingURL=QueryPerFacetPlotsCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryPerFacetPlotsCard.js","sourceRoot":"","sources":["../../../../src/lib/containers/home_page/featured-data/QueryPerFacetPlotsCard.tsx"],"names":[],"mappings":";;;;AAAA,wDAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"QueryPerFacetPlotsCard.js","sourceRoot":"","sources":["../../../../src/lib/containers/home_page/featured-data/QueryPerFacetPlotsCard.tsx"],"names":[],"mappings":";;;;AAAA,wDAA8B;AAC9B,wCAAiD;AACjD,sEAAqF;AAErF,6EAA2E;AAC3E,mDAAiD;AACjD,yEAAuE;AACvE,iFAA6C;AAa7C,SAAgB,eAAe,CAC7B,GAAW,EACX,qBAA6B,EAC7B,sBAA8B;IAE9B,IAAM,QAAQ,GAAG,IAAA,4CAA6B,EAAC,GAAG,CAAC,CAAA;IACnD,OAAO;QACL,QAAQ,UAAA;QACR,YAAY,EAAE,yDAAyD;QACvE,QAAQ,EACN,wBAAgB,CAAC,+BAA+B;YAChD,wBAAgB,CAAC,wBAAwB;YACzC,wBAAgB,CAAC,gCAAgC;YACjD,wBAAgB,CAAC,yBAAyB;QAC5C,KAAK,EAAE;YACL,GAAG,KAAA;YACH,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,EAAE;YACT,cAAc,EAAE;gBACd;oBACE,UAAU,EAAE,qBAAqB;oBACjC,WAAW,EAAE,CAAC,sBAAsB,CAAC;oBACrC,YAAY,EACV,+DAA+D;iBAClE;aACF;SACF;KACF,CAAA;AACH,CAAC;AA5BD,0CA4BC;AACD,IAAM,sBAAsB,GAC1B,UAAA,KAAK;IAED,IAAA,KAAK,GASH,KAAK,MATF,EACL,WAAW,GAQT,KAAK,YARI,EACX,GAAG,GAOD,KAAK,IAPJ,EACH,YAAY,GAMV,KAAK,aANK,EACZ,QAAQ,GAKN,KAAK,SALC,EACR,qBAAqB,GAInB,KAAK,sBAJc,EACrB,sBAAsB,GAGpB,KAAK,uBAHe,EACtB,eAAe,GAEb,KAAK,gBAFQ,EACZ,IAAI,uBACL,KAAK,EAVH,iIAUL,CADQ,CACA;IACT,IAAM,gBAAgB,GAAuB,eAAe,CAC1D,GAAI,EACJ,qBAAqB,EACrB,sBAAsB,CACvB,CAAA;IACD,OAAO,CACL,6BAAK,SAAS,EAAC,wBAAwB;QACrC,oBAAC,2BAAY,4BAAK,IAAI,IAAE,gBAAgB,EAAE,gBAAgB;YACxD,oBAAC,qDAAyB,0BAAC,QAAQ,EAAE,QAAQ,IAAM,IAAI;gBACrD,oBAAC,iDAAuB,OAAG;gBAC3B,oBAAC,wBAAc,IACb,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAChC,CACwB,CACf,CACX,CACP,CAAA;AACH,CAAC,CAAA;AAEH,kBAAe,sBAAsB,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { QueryBundleRequest } from '../../../utils/synapseTypes';
|
|
|
3
3
|
export declare type SingleQueryFacetPlotsCardsProps = {
|
|
4
4
|
rgbIndex?: number;
|
|
5
5
|
facetsToPlot?: string[];
|
|
6
|
-
facetAliases?:
|
|
6
|
+
facetAliases?: Record<string, string>;
|
|
7
7
|
sql?: string;
|
|
8
8
|
};
|
|
9
9
|
export declare function getQueryRequest(sql: string): QueryBundleRequest;
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getQueryRequest = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var React = (0, tslib_1.__importStar)(require("react"));
|
|
6
|
-
var QueryWrapper_1 = (0, tslib_1.__importDefault)(require("../../QueryWrapper"));
|
|
7
|
-
var sqlFunctions_1 = require("../../../utils/functions/sqlFunctions");
|
|
8
6
|
var utils_1 = require("../../../utils");
|
|
9
|
-
var
|
|
7
|
+
var sqlFunctions_1 = require("../../../utils/functions/sqlFunctions");
|
|
8
|
+
var QueryVisualizationWrapper_1 = require("../../QueryVisualizationWrapper");
|
|
9
|
+
var QueryWrapper_1 = require("../../QueryWrapper");
|
|
10
|
+
var QueryWrapperErrorBanner_1 = require("../../QueryWrapperErrorBanner");
|
|
10
11
|
var FacetPlotsCard_1 = (0, tslib_1.__importDefault)(require("./FacetPlotsCard"));
|
|
11
|
-
var SynapseContext_1 = require("../../../utils/SynapseContext");
|
|
12
12
|
function getQueryRequest(sql) {
|
|
13
13
|
var entityId = (0, sqlFunctions_1.parseEntityIdFromSqlStatement)(sql);
|
|
14
14
|
return {
|
|
@@ -27,16 +27,15 @@ function getQueryRequest(sql) {
|
|
|
27
27
|
}
|
|
28
28
|
exports.getQueryRequest = getQueryRequest;
|
|
29
29
|
var SingleQueryFacetPlotsCards = function (props) {
|
|
30
|
-
var sql = props.sql, facetsToPlot = props.facetsToPlot, rgbIndex = props.rgbIndex,
|
|
30
|
+
var sql = props.sql, facetsToPlot = props.facetsToPlot, rgbIndex = props.rgbIndex, facetAliases = props.facetAliases;
|
|
31
31
|
var initQueryRequest = getQueryRequest(sql);
|
|
32
32
|
return (React.createElement("div", { className: "SingleQueryFacetPlotsCards" },
|
|
33
|
-
React.createElement(
|
|
34
|
-
|
|
35
|
-
React.createElement(
|
|
33
|
+
React.createElement(QueryWrapper_1.QueryWrapper, { initQueryRequest: initQueryRequest },
|
|
34
|
+
React.createElement(QueryVisualizationWrapper_1.QueryVisualizationWrapper, { rgbIndex: rgbIndex, facetAliases: facetAliases },
|
|
35
|
+
React.createElement(QueryWrapperErrorBanner_1.QueryWrapperErrorBanner, null), facetsToPlot === null || facetsToPlot === void 0 ? void 0 :
|
|
36
36
|
facetsToPlot.map(function (facetName) {
|
|
37
|
-
return (React.createElement(FacetPlotsCard_1.default,
|
|
38
|
-
})));
|
|
39
|
-
})); })));
|
|
37
|
+
return (React.createElement(FacetPlotsCard_1.default, { key: "FacetPlotCard-" + facetName, facetsToPlot: [facetName] }));
|
|
38
|
+
})))));
|
|
40
39
|
};
|
|
41
40
|
exports.default = SingleQueryFacetPlotsCards;
|
|
42
41
|
//# sourceMappingURL=SingleQueryFacetPlotsCards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleQueryFacetPlotsCards.js","sourceRoot":"","sources":["../../../../src/lib/containers/home_page/featured-data/SingleQueryFacetPlotsCards.tsx"],"names":[],"mappings":";;;;AAAA,wDAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"SingleQueryFacetPlotsCards.js","sourceRoot":"","sources":["../../../../src/lib/containers/home_page/featured-data/SingleQueryFacetPlotsCards.tsx"],"names":[],"mappings":";;;;AAAA,wDAA8B;AAC9B,wCAAiD;AACjD,sEAAqF;AAErF,6EAA2E;AAC3E,mDAAiD;AACjD,yEAAuE;AACvE,iFAA6C;AAQ7C,SAAgB,eAAe,CAAC,GAAW;IACzC,IAAM,QAAQ,GAAG,IAAA,4CAA6B,EAAC,GAAG,CAAC,CAAA;IACnD,OAAO;QACL,QAAQ,UAAA;QACR,YAAY,EAAE,yDAAyD;QACvE,QAAQ,EACN,wBAAgB,CAAC,+BAA+B;YAChD,wBAAgB,CAAC,wBAAwB;YACzC,wBAAgB,CAAC,gCAAgC;YACjD,wBAAgB,CAAC,yBAAyB;QAC5C,KAAK,EAAE;YACL,GAAG,KAAA;YACH,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACT;KACF,CAAA;AACH,CAAC;AAhBD,0CAgBC;AACD,IAAM,0BAA0B,GAC9B,UAAA,KAAK;IACK,IAAA,GAAG,GAA2C,KAAK,IAAhD,EAAE,YAAY,GAA6B,KAAK,aAAlC,EAAE,QAAQ,GAAmB,KAAK,SAAxB,EAAE,YAAY,GAAK,KAAK,aAAV,CAAU;IAC3D,IAAM,gBAAgB,GAAuB,eAAe,CAAC,GAAI,CAAC,CAAA;IAClE,OAAO,CACL,6BAAK,SAAS,EAAC,4BAA4B;QACzC,oBAAC,2BAAY,IAAC,gBAAgB,EAAE,gBAAgB;YAC9C,oBAAC,qDAAyB,IACxB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY;gBAE1B,oBAAC,iDAAuB,OAAG,EAC1B,YAAY,aAAZ,YAAY;gBAAZ,YAAY,CAAE,GAAG,CAAC,UAAA,SAAS;oBAC1B,OAAO,CACL,oBAAC,wBAAc,IACb,GAAG,EAAE,mBAAiB,SAAW,EACjC,YAAY,EAAE,CAAC,SAAS,CAAC,GACzB,CACH,CAAA;gBACH,CAAC,CAAC,CACwB,CACf,CACX,CACP,CAAA;AACH,CAAC,CAAA;AAEH,kBAAe,0BAA0B,CAAA"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { QueryWrapperChildProps } from '../QueryWrapper';
|
|
3
2
|
import { SynapseTableProps } from '../table/SynapseTable';
|
|
4
3
|
import { CardConfiguration } from '../CardContainerLogic';
|
|
5
4
|
export declare type OwnProps = {
|
|
6
|
-
tableConfiguration: SynapseTableProps | undefined;
|
|
5
|
+
tableConfiguration: Omit<SynapseTableProps, 'synapseContext' | 'queryContext' | 'queryVisualizationContext'> | undefined;
|
|
7
6
|
cardConfiguration: CardConfiguration | undefined;
|
|
8
7
|
hideDownload?: boolean;
|
|
9
|
-
facetsToFilter?: string[];
|
|
10
8
|
};
|
|
11
|
-
declare const FilterAndView: (props:
|
|
9
|
+
declare const FilterAndView: (props: OwnProps) => JSX.Element;
|
|
12
10
|
export default FilterAndView;
|