synapse-react-client 2.1.23 → 3.0.2
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/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 +4 -4
- package/dist/containers/download_list/DownloadConfirmation.js +15 -17
- package/dist/containers/download_list/DownloadConfirmation.js.map +1 -1
- 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/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 +3 -6
- package/dist/index.js +3 -5
- 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 +1 -3
- package/dist/style/components/entity_finder/_tree-node-select.scss +0 -4
- package/dist/style/components/query_filter/_enum-facet-filter.scss +4 -1
- package/dist/style/main.css +887 -19
- package/dist/template_style/_form.scss +150 -105
- package/dist/umd/synapse-react-client.development.css +805 -19
- package/dist/umd/synapse-react-client.development.css.map +2 -2
- package/dist/umd/synapse-react-client.development.js +3792 -3581
- 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 +89 -89
- 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 +278 -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/package.json +46 -39
- 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/utils/functions/facetUtils.d.ts +0 -20
- package/dist/utils/functions/facetUtils.js +0 -37
- 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
|
@@ -2,36 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DOWNLOAD_OPTIONS_CONTAINER_CLASS = exports.SORT_STATE = exports.EMPTY_HEADER = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var column_resizer_1 = (0, tslib_1.__importDefault)(require("column-resizer"));
|
|
5
6
|
var lodash_es_1 = require("lodash-es");
|
|
6
7
|
var React = (0, tslib_1.__importStar)(require("react"));
|
|
7
8
|
var react_bootstrap_1 = require("react-bootstrap");
|
|
8
9
|
var sql_parser_1 = require("sql-parser");
|
|
10
|
+
var file_dotted_svg_1 = require("../../assets/icons/file-dotted.svg");
|
|
9
11
|
var utils_1 = require("../../utils");
|
|
12
|
+
var EntityTypeUtils_1 = require("../../utils/functions/EntityTypeUtils");
|
|
13
|
+
var getEndpoint_1 = require("../../utils/functions/getEndpoint");
|
|
10
14
|
var getUserData_1 = require("../../utils/functions/getUserData");
|
|
15
|
+
var queryUtils_1 = require("../../utils/functions/queryUtils");
|
|
11
16
|
var sqlFunctions_1 = require("../../utils/functions/sqlFunctions");
|
|
12
17
|
var synapseTypes_1 = require("../../utils/synapseTypes/");
|
|
18
|
+
var AddToDownloadListV2_1 = (0, tslib_1.__importDefault)(require("../AddToDownloadListV2"));
|
|
19
|
+
var DirectDownload_1 = (0, tslib_1.__importDefault)(require("../DirectDownload"));
|
|
13
20
|
var HasAccess_1 = (0, tslib_1.__importDefault)(require("../HasAccess"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var file_dotted_svg_1 = require("../../assets/icons/file-dotted.svg");
|
|
18
|
-
var SynapseTableCell_1 = require("../synapse_table_functions/SynapseTableCell");
|
|
19
|
-
var getUniqueEntities_1 = require("../synapse_table_functions/getUniqueEntities");
|
|
21
|
+
var LoadingScreen_1 = (0, tslib_1.__importDefault)(require("../LoadingScreen"));
|
|
22
|
+
var ModalDownload_1 = (0, tslib_1.__importDefault)(require("../ModalDownload"));
|
|
23
|
+
var utils_2 = require("../row_renderers/utils");
|
|
20
24
|
var getColumnIndiciesWithType_1 = require("../synapse_table_functions/getColumnIndiciesWithType");
|
|
25
|
+
var getUniqueEntities_1 = require("../synapse_table_functions/getUniqueEntities");
|
|
26
|
+
var SynapseTableCell_1 = require("../synapse_table_functions/SynapseTableCell");
|
|
27
|
+
var TotalQueryResults_1 = (0, tslib_1.__importDefault)(require("../TotalQueryResults"));
|
|
21
28
|
var Checkbox_1 = require("../widgets/Checkbox");
|
|
22
29
|
var EnumFacetFilter_1 = require("../widgets/query-filter/EnumFacetFilter");
|
|
23
30
|
var QueryFilter_1 = require("../widgets/query-filter/QueryFilter");
|
|
24
|
-
var
|
|
25
|
-
var ModalDownload_1 = (0, tslib_1.__importDefault)(require("../ModalDownload"));
|
|
26
|
-
var LoadingScreen_1 = (0, tslib_1.__importDefault)(require("../LoadingScreen"));
|
|
27
|
-
var utils_2 = require("../row_renderers/utils");
|
|
31
|
+
var unCamelCase_1 = require("./../../utils/functions/unCamelCase");
|
|
28
32
|
var SearchResultsNotFound_1 = (0, tslib_1.__importDefault)(require("./SearchResultsNotFound"));
|
|
29
|
-
var
|
|
30
|
-
var AddToDownloadListV2_1 = (0, tslib_1.__importDefault)(require("../AddToDownloadListV2"));
|
|
31
|
-
var SynapseContext_1 = require("../../utils/SynapseContext");
|
|
32
|
-
var getEndpoint_1 = require("../../utils/functions/getEndpoint");
|
|
33
|
-
var DirectDownload_1 = (0, tslib_1.__importDefault)(require("../DirectDownload"));
|
|
34
|
-
var queryUtils_1 = require("../../utils/functions/queryUtils");
|
|
33
|
+
var SynapseTableConstants_1 = require("./SynapseTableConstants");
|
|
35
34
|
exports.EMPTY_HEADER = {
|
|
36
35
|
id: '',
|
|
37
36
|
name: '',
|
|
@@ -62,7 +61,7 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
62
61
|
_this.tableElement = undefined;
|
|
63
62
|
_this.showGroupRowData = function (selectedRow) {
|
|
64
63
|
// magic happens - parse query, deep copy query bundle request, modify, encode, send to Synapse.org. Easy!
|
|
65
|
-
var queryCopy = _this.props.getLastQueryRequest().query;
|
|
64
|
+
var queryCopy = _this.props.queryContext.getLastQueryRequest().query;
|
|
66
65
|
var parsed = _this.getSqlUnderlyingDataForRow(selectedRow, queryCopy.sql);
|
|
67
66
|
queryCopy.sql = parsed.newSql;
|
|
68
67
|
var queryJSON = JSON.stringify(queryCopy);
|
|
@@ -72,11 +71,10 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
72
71
|
};
|
|
73
72
|
_this.renderTable = function (headers, columnModels, facets, rows) {
|
|
74
73
|
var _a, _b;
|
|
75
|
-
var lastQueryRequest = (_b = (_a = _this.props).getLastQueryRequest) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
74
|
+
var lastQueryRequest = (_b = (_a = _this.props.queryContext).getLastQueryRequest) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
76
75
|
// handle displaying the previous button -- if offset is zero then it
|
|
77
76
|
// shouldn't be displayed
|
|
78
|
-
var
|
|
79
|
-
var _c = _this.props, hasMoreData = _c.hasMoreData, showAccessColumn = _c.showAccessColumn, showDownloadColumn = _c.showDownloadColumn, isRowSelectionVisible = _c.isRowSelectionVisible;
|
|
77
|
+
var _c = _this.props, _d = _c.queryContext, entity = _d.entity, hasNextPage = _d.hasNextPage, hasPreviousPage = _d.hasPreviousPage, showAccessColumn = _c.showAccessColumn, showDownloadColumn = _c.showDownloadColumn, isRowSelectionVisible = _c.isRowSelectionVisible;
|
|
80
78
|
var nextBtn = (React.createElement(react_bootstrap_1.Button, { variant: "secondary", className: "pill-xl", onClick: _this.handlePaginationClick(NEXT), style: {
|
|
81
79
|
marginRight: 0,
|
|
82
80
|
marginBottom: '20px',
|
|
@@ -85,17 +83,29 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
85
83
|
alignItems: 'center',
|
|
86
84
|
}, type: "button" }, "Next"));
|
|
87
85
|
var previousBtn = (React.createElement(react_bootstrap_1.Button, { variant: "secondary", className: "pill-xl", onClick: _this.handlePaginationClick(PREVIOUS), type: "button", style: {
|
|
88
|
-
marginRight: !
|
|
86
|
+
marginRight: !hasNextPage && hasPreviousPage ? 0 : '10px',
|
|
89
87
|
marginBottom: '20px',
|
|
90
88
|
display: 'inline-flex',
|
|
91
89
|
justifyContent: 'center',
|
|
92
90
|
alignItems: 'center',
|
|
93
91
|
} }, "Previous"));
|
|
94
|
-
var isShowingAccessColumn = showAccessColumn && _this.state.isEntityView;
|
|
95
|
-
var isLoggedIn = !!_this.context.accessToken;
|
|
96
92
|
var containsGroupBy = (0, queryUtils_1.isGroupBy)(lastQueryRequest.query.sql);
|
|
97
|
-
var
|
|
98
|
-
var
|
|
93
|
+
var isShowingAccessColumn = showAccessColumn && entity && (0, EntityTypeUtils_1.isEntityView)(entity) && !containsGroupBy;
|
|
94
|
+
var isLoggedIn = !!_this.props.synapseContext.accessToken;
|
|
95
|
+
// PORTALS-2010: Enhance change made for PORTALS-1973. File specific action will only be shown for rows that represent FileEntities.
|
|
96
|
+
// Set isFileView to true if the Entity could have any Files in it. Check if bit 1 is set in the viewTypeMask.
|
|
97
|
+
// http://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/table/EntityView.html
|
|
98
|
+
// TODO: is file view or is dataset
|
|
99
|
+
var isShowingAddToV2DownloadListColumn = !!(entity &&
|
|
100
|
+
(((0, EntityTypeUtils_1.isEntityView)(entity) && (0, EntityTypeUtils_1.hasFilesInView)(entity)) || (0, EntityTypeUtils_1.isDataset)(entity)) &&
|
|
101
|
+
!_this.props.hideDownload &&
|
|
102
|
+
isLoggedIn &&
|
|
103
|
+
!containsGroupBy);
|
|
104
|
+
var isShowingDirectDownloadColumn = entity &&
|
|
105
|
+
(((0, EntityTypeUtils_1.isEntityView)(entity) && (0, EntityTypeUtils_1.hasFilesInView)(entity)) || (0, EntityTypeUtils_1.isDataset)(entity)) &&
|
|
106
|
+
showDownloadColumn &&
|
|
107
|
+
isLoggedIn &&
|
|
108
|
+
!containsGroupBy;
|
|
99
109
|
/* min height ensure if no rows are selected that a dropdown menu is still accessible */
|
|
100
110
|
var tableEntityId = lastQueryRequest === null || lastQueryRequest === void 0 ? void 0 : lastQueryRequest.entityId;
|
|
101
111
|
return (React.createElement("div", { style: { minHeight: '400px' }, className: "SRC-overflowAuto", "data-testid": "SynapseTable" },
|
|
@@ -104,8 +114,8 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
104
114
|
React.createElement("tr", null, _this.createTableHeader(headers, columnModels, facets, isShowingAccessColumn, isShowingDirectDownloadColumn, isShowingAddToV2DownloadListColumn, isRowSelectionVisible, lastQueryRequest))),
|
|
105
115
|
React.createElement("tbody", null, _this.createTableRows(rows, headers, isShowingAccessColumn, isShowingDirectDownloadColumn, isShowingAddToV2DownloadListColumn, isRowSelectionVisible, tableEntityId))),
|
|
106
116
|
React.createElement("div", { className: "bootstrap-4-backport", style: { textAlign: 'right' } },
|
|
107
|
-
|
|
108
|
-
|
|
117
|
+
hasPreviousPage && previousBtn,
|
|
118
|
+
hasNextPage && nextBtn)));
|
|
109
119
|
};
|
|
110
120
|
/**
|
|
111
121
|
* Handle a click on next or previous
|
|
@@ -113,19 +123,13 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
113
123
|
* @memberof SynapseTable
|
|
114
124
|
*/
|
|
115
125
|
_this.handlePaginationClick = function (eventType) { return function (_event) {
|
|
116
|
-
var _a,
|
|
117
|
-
var queryRequest = _this.props.getLastQueryRequest();
|
|
118
|
-
var currentOffset = queryRequest.query.offset;
|
|
119
|
-
// if its a "previous" click subtract from the offset
|
|
120
|
-
// otherwise its next and we paginate forward
|
|
126
|
+
var _a = _this.props.queryContext, goToNextPage = _a.goToNextPage, goToPreviousPage = _a.goToPreviousPage;
|
|
121
127
|
if (eventType === PREVIOUS) {
|
|
122
|
-
|
|
128
|
+
goToPreviousPage();
|
|
123
129
|
}
|
|
124
130
|
if (eventType === NEXT) {
|
|
125
|
-
|
|
131
|
+
goToNextPage();
|
|
126
132
|
}
|
|
127
|
-
queryRequest.query.offset = currentOffset;
|
|
128
|
-
_this.props.executeQueryRequest(queryRequest);
|
|
129
133
|
}; };
|
|
130
134
|
/**
|
|
131
135
|
* Handle a column having been selected
|
|
@@ -153,10 +157,10 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
153
157
|
direction: exports.SORT_STATE[columnIconSortState[dict.index]],
|
|
154
158
|
});
|
|
155
159
|
}
|
|
156
|
-
var queryRequest = _this.props.getLastQueryRequest();
|
|
160
|
+
var queryRequest = _this.props.queryContext.getLastQueryRequest();
|
|
157
161
|
queryRequest.query.sort = sortedColumnSelection;
|
|
158
162
|
queryRequest.query.offset = 0;
|
|
159
|
-
_this.props.executeQueryRequest(queryRequest);
|
|
163
|
+
_this.props.queryContext.executeQueryRequest(queryRequest);
|
|
160
164
|
_this.setState({
|
|
161
165
|
columnIconSortState: columnIconSortState,
|
|
162
166
|
sortedColumnSelection: sortedColumnSelection,
|
|
@@ -169,20 +173,21 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
169
173
|
* @memberof SynapseTable
|
|
170
174
|
*/
|
|
171
175
|
_this.toggleColumnSelection = function (columnName) {
|
|
172
|
-
var
|
|
173
|
-
|
|
174
|
-
|
|
176
|
+
var _a = _this.props.queryVisualizationContext, columnsToShowInTable = _a.columnsToShowInTable, setColumnsToShowInTable = _a.setColumnsToShowInTable;
|
|
177
|
+
var columnsToShowInTableCopy = (0, lodash_es_1.cloneDeep)(columnsToShowInTable);
|
|
178
|
+
if (columnsToShowInTableCopy.includes(columnName)) {
|
|
179
|
+
columnsToShowInTableCopy = columnsToShowInTableCopy.filter(function (el) { return el !== columnName; });
|
|
175
180
|
}
|
|
176
181
|
else {
|
|
177
|
-
|
|
182
|
+
columnsToShowInTableCopy.push(columnName);
|
|
178
183
|
}
|
|
179
|
-
|
|
184
|
+
setColumnsToShowInTable(columnsToShowInTableCopy);
|
|
180
185
|
};
|
|
181
186
|
_this.applyChangesFromQueryFilter = function (facets) {
|
|
182
|
-
var queryRequest = _this.props.getLastQueryRequest();
|
|
187
|
+
var queryRequest = _this.props.queryContext.getLastQueryRequest();
|
|
183
188
|
queryRequest.query.selectedFacets = facets;
|
|
184
189
|
queryRequest.query.offset = 0;
|
|
185
|
-
_this.props.executeQueryRequest(queryRequest);
|
|
190
|
+
_this.props.queryContext.executeQueryRequest(queryRequest);
|
|
186
191
|
};
|
|
187
192
|
_this.componentDidMount = _this.componentDidMount.bind(_this);
|
|
188
193
|
_this.componentWillUnmount = _this.componentWillUnmount.bind(_this);
|
|
@@ -209,8 +214,6 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
209
214
|
isExportTableDownloadOpen: false,
|
|
210
215
|
isExpanded: false,
|
|
211
216
|
isColumnSelectionOpen: false,
|
|
212
|
-
isEntityView: false,
|
|
213
|
-
isFileView: false,
|
|
214
217
|
// sortedColumnSelection contains the columns which are
|
|
215
218
|
// selected currently and their sort status as eithet
|
|
216
219
|
// off, desc, or asc.
|
|
@@ -218,7 +221,6 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
218
221
|
mapEntityIdToHeader: {},
|
|
219
222
|
mapUserIdToHeader: {},
|
|
220
223
|
isFetchingEntityHeaders: false,
|
|
221
|
-
isFetchingEntityVersion: false,
|
|
222
224
|
};
|
|
223
225
|
_this.getEntityHeadersInData = _this.getEntityHeadersInData.bind(_this);
|
|
224
226
|
return _this;
|
|
@@ -232,10 +234,12 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
232
234
|
};
|
|
233
235
|
SynapseTable.prototype.shouldComponentUpdate = function (nextProps, nextState) {
|
|
234
236
|
// ignore isFetching state variables when checking for change in state
|
|
237
|
+
var _a = this.state,
|
|
235
238
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
236
|
-
|
|
239
|
+
oldIsFetchingEntityHeaders = _a.isFetchingEntityHeaders, oldState = (0, tslib_1.__rest)(_a, ["isFetchingEntityHeaders"]);
|
|
240
|
+
var
|
|
237
241
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
238
|
-
|
|
242
|
+
newIsFetchingEntityHeaders = nextState.isFetchingEntityHeaders, newState = (0, tslib_1.__rest)(nextState, ["isFetchingEntityHeaders"]);
|
|
239
243
|
var isPropsChange = !(0, lodash_es_1.eq)(this.props, nextProps);
|
|
240
244
|
var isStateChange = !(0, lodash_es_1.eq)(oldState, newState);
|
|
241
245
|
var shouldComponentUpdate = isPropsChange || isStateChange;
|
|
@@ -246,52 +250,17 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
246
250
|
};
|
|
247
251
|
SynapseTable.prototype.componentDidUpdate = function (prevProps, prevState) {
|
|
248
252
|
// PORTALS-2081: if the data changed, then get the new entity headers
|
|
249
|
-
if (!(0, lodash_es_1.eq)(prevProps.data, this.props.data)) {
|
|
253
|
+
if (!(0, lodash_es_1.eq)(prevProps.queryContext.data, this.props.queryContext.data)) {
|
|
250
254
|
this.getEntityHeadersInData(false);
|
|
251
255
|
}
|
|
252
|
-
else if (
|
|
256
|
+
else if (prevProps.queryContext.entity &&
|
|
257
|
+
this.props.queryContext.entity &&
|
|
258
|
+
!(0, lodash_es_1.eq)((0, EntityTypeUtils_1.isEntityView)(prevProps.queryContext.entity), (0, EntityTypeUtils_1.isEntityView)(this.props.queryContext.entity))) {
|
|
253
259
|
// if we determined that this is an entity view, force refresh the entity headers (for Views we need to get the rowIds!)
|
|
254
260
|
this.getEntityHeadersInData(true);
|
|
255
261
|
}
|
|
256
|
-
this.getTableConcreteType(prevProps);
|
|
257
262
|
this.enableResize();
|
|
258
263
|
};
|
|
259
|
-
SynapseTable.prototype.getTableConcreteType = function (prevProps) {
|
|
260
|
-
var _a;
|
|
261
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
262
|
-
var token, data, currentTableId, previousTableId, entityData, isEntityView, isFileView;
|
|
263
|
-
return (0, tslib_1.__generator)(this, function (_b) {
|
|
264
|
-
switch (_b.label) {
|
|
265
|
-
case 0:
|
|
266
|
-
token = this.context.accessToken;
|
|
267
|
-
data = this.props.data;
|
|
268
|
-
if (!data || this.state.isFetchingEntityVersion) {
|
|
269
|
-
return [2 /*return*/];
|
|
270
|
-
}
|
|
271
|
-
currentTableId = data === null || data === void 0 ? void 0 : data.queryResult.queryResults.tableId;
|
|
272
|
-
previousTableId = (_a = prevProps.data) === null || _a === void 0 ? void 0 : _a.queryResult.queryResults.tableId;
|
|
273
|
-
if (!(currentTableId && previousTableId !== currentTableId)) return [3 /*break*/, 2];
|
|
274
|
-
this.setState({
|
|
275
|
-
isFetchingEntityVersion: true,
|
|
276
|
-
});
|
|
277
|
-
return [4 /*yield*/, utils_1.SynapseClient.getEntity(token, currentTableId)];
|
|
278
|
-
case 1:
|
|
279
|
-
entityData = _b.sent();
|
|
280
|
-
isEntityView = entityData.concreteType.includes('EntityView');
|
|
281
|
-
isFileView = isEntityView
|
|
282
|
-
? (entityData.viewTypeMask & 1) != 0
|
|
283
|
-
: false;
|
|
284
|
-
this.setState({
|
|
285
|
-
isEntityView: isEntityView,
|
|
286
|
-
isFileView: isFileView,
|
|
287
|
-
isFetchingEntityVersion: false,
|
|
288
|
-
});
|
|
289
|
-
_b.label = 2;
|
|
290
|
-
case 2: return [2 /*return*/];
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
});
|
|
294
|
-
};
|
|
295
264
|
SynapseTable.prototype.enableResize = function () {
|
|
296
265
|
var _this = this;
|
|
297
266
|
if (!this.resizer) {
|
|
@@ -315,12 +284,12 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
315
284
|
};
|
|
316
285
|
SynapseTable.prototype.getEntityHeadersInData = function (forceRefresh) {
|
|
317
286
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
318
|
-
var data, mapEntityIdToHeader, mapUserIdToHeader, entityIdColumnIndicies, userIdColumnIndicies, distinctEntityIds, queryResult, queryResults, rows, distinctUserIds, referenceList, data_1, results, err_1, userPorfileIds, ids, data_2, err_2, data_3, err_3;
|
|
319
|
-
return (0, tslib_1.__generator)(this, function (
|
|
320
|
-
switch (
|
|
287
|
+
var _a, data, entity, mapEntityIdToHeader, mapUserIdToHeader, entityIdColumnIndicies, userIdColumnIndicies, distinctEntityIds, queryResult, queryResults, rows, distinctUserIds, referenceList, data_1, results, err_1, userPorfileIds, ids, data_2, err_2, data_3, err_3;
|
|
288
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
289
|
+
switch (_b.label) {
|
|
321
290
|
case 0:
|
|
322
|
-
|
|
323
|
-
if (!data) {
|
|
291
|
+
_a = this.props.queryContext, data = _a.data, entity = _a.entity;
|
|
292
|
+
if (!data || !entity) {
|
|
324
293
|
return [2 /*return*/];
|
|
325
294
|
}
|
|
326
295
|
else if (this.state.isFetchingEntityHeaders && !forceRefresh) {
|
|
@@ -328,11 +297,11 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
328
297
|
}
|
|
329
298
|
mapEntityIdToHeader = (0, lodash_es_1.cloneDeep)(this.state.mapEntityIdToHeader);
|
|
330
299
|
mapUserIdToHeader = (0, lodash_es_1.cloneDeep)(this.state.mapUserIdToHeader);
|
|
331
|
-
entityIdColumnIndicies = (0, getColumnIndiciesWithType_1.getColumnIndiciesWithType)(
|
|
332
|
-
userIdColumnIndicies = (0, getColumnIndiciesWithType_1.getColumnIndiciesWithType)(
|
|
300
|
+
entityIdColumnIndicies = (0, getColumnIndiciesWithType_1.getColumnIndiciesWithType)(data, synapseTypes_1.ColumnType.ENTITYID);
|
|
301
|
+
userIdColumnIndicies = (0, getColumnIndiciesWithType_1.getColumnIndiciesWithType)(data, synapseTypes_1.ColumnType.USERID);
|
|
333
302
|
distinctEntityIds = (0, getUniqueEntities_1.getUniqueEntities)(data, mapEntityIdToHeader, entityIdColumnIndicies);
|
|
334
303
|
// also include row entity ids if this is a view (it's possible that the ID column was not selected)
|
|
335
|
-
if (
|
|
304
|
+
if ((0, EntityTypeUtils_1.isEntityView)(entity)) {
|
|
336
305
|
queryResult = data.queryResult;
|
|
337
306
|
queryResults = queryResult.queryResults;
|
|
338
307
|
rows = queryResults.rows;
|
|
@@ -352,35 +321,35 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
352
321
|
referenceList = Array.from(distinctEntityIds).map(function (id) {
|
|
353
322
|
return { targetId: id };
|
|
354
323
|
});
|
|
355
|
-
|
|
324
|
+
_b.label = 1;
|
|
356
325
|
case 1:
|
|
357
|
-
|
|
326
|
+
_b.trys.push([1, 3, , 4]);
|
|
358
327
|
// initialize mapEntityIdToHeader
|
|
359
328
|
referenceList.forEach(function (el) {
|
|
360
329
|
mapEntityIdToHeader[el.targetId] = exports.EMPTY_HEADER;
|
|
361
330
|
});
|
|
362
|
-
return [4 /*yield*/, utils_1.SynapseClient.getEntityHeaders(referenceList, this.
|
|
331
|
+
return [4 /*yield*/, utils_1.SynapseClient.getEntityHeaders(referenceList, this.props.synapseContext.accessToken)];
|
|
363
332
|
case 2:
|
|
364
|
-
data_1 =
|
|
333
|
+
data_1 = _b.sent();
|
|
365
334
|
results = data_1.results;
|
|
366
335
|
results.forEach(function (el) {
|
|
367
336
|
mapEntityIdToHeader[el.id] = el;
|
|
368
337
|
});
|
|
369
338
|
return [3 /*break*/, 4];
|
|
370
339
|
case 3:
|
|
371
|
-
err_1 =
|
|
340
|
+
err_1 = _b.sent();
|
|
372
341
|
console.error('Error on retrieving entity header list , ', err_1);
|
|
373
342
|
return [3 /*break*/, 4];
|
|
374
343
|
case 4:
|
|
375
344
|
userPorfileIds = [];
|
|
376
345
|
if (!(distinctUserIds.size > 0)) return [3 /*break*/, 8];
|
|
377
346
|
ids = Array.from(distinctUserIds);
|
|
378
|
-
|
|
347
|
+
_b.label = 5;
|
|
379
348
|
case 5:
|
|
380
|
-
|
|
381
|
-
return [4 /*yield*/, utils_1.SynapseClient.getGroupHeadersBatch(ids, this.
|
|
349
|
+
_b.trys.push([5, 7, , 8]);
|
|
350
|
+
return [4 /*yield*/, utils_1.SynapseClient.getGroupHeadersBatch(ids, this.props.synapseContext.accessToken)];
|
|
382
351
|
case 6:
|
|
383
|
-
data_2 =
|
|
352
|
+
data_2 = _b.sent();
|
|
384
353
|
data_2.children.forEach(function (el) {
|
|
385
354
|
if (el.isIndividual) {
|
|
386
355
|
userPorfileIds.push(el.ownerId);
|
|
@@ -391,23 +360,23 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
391
360
|
});
|
|
392
361
|
return [3 /*break*/, 8];
|
|
393
362
|
case 7:
|
|
394
|
-
err_2 =
|
|
363
|
+
err_2 = _b.sent();
|
|
395
364
|
console.error('Error on getGroupHeaders batch: ', err_2);
|
|
396
365
|
return [3 /*break*/, 8];
|
|
397
366
|
case 8:
|
|
398
367
|
if (!(userPorfileIds.length > 0)) return [3 /*break*/, 12];
|
|
399
|
-
|
|
368
|
+
_b.label = 9;
|
|
400
369
|
case 9:
|
|
401
|
-
|
|
370
|
+
_b.trys.push([9, 11, , 12]);
|
|
402
371
|
return [4 /*yield*/, (0, getUserData_1.getUserProfileWithProfilePicAttached)(userPorfileIds)];
|
|
403
372
|
case 10:
|
|
404
|
-
data_3 =
|
|
373
|
+
data_3 = _b.sent();
|
|
405
374
|
data_3.list.forEach(function (el) {
|
|
406
375
|
mapUserIdToHeader[el.ownerId] = el;
|
|
407
376
|
});
|
|
408
377
|
return [3 /*break*/, 12];
|
|
409
378
|
case 11:
|
|
410
|
-
err_3 =
|
|
379
|
+
err_3 = _b.sent();
|
|
411
380
|
console.error('Error on getUserProfile : ', err_3);
|
|
412
381
|
return [3 /*break*/, 12];
|
|
413
382
|
case 12:
|
|
@@ -426,26 +395,24 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
426
395
|
*/
|
|
427
396
|
SynapseTable.prototype.render = function () {
|
|
428
397
|
var _this = this;
|
|
429
|
-
if (this.props.
|
|
398
|
+
if (!this.props.queryContext.data &&
|
|
399
|
+
this.props.queryContext.isLoadingNewBundle) {
|
|
430
400
|
return LoadingScreen_1.default;
|
|
431
401
|
}
|
|
432
|
-
else if (!this.props.data) {
|
|
402
|
+
else if (!this.props.queryContext.data) {
|
|
433
403
|
return React.createElement(React.Fragment, null);
|
|
434
404
|
}
|
|
435
405
|
// unpack all the data
|
|
436
|
-
var _a = this.props, data = _a.data, _b = _a.
|
|
406
|
+
var _a = this.props, data = _a.queryContext.data, _b = _a.queryVisualizationContext, topLevelControlsState = _b.topLevelControlsState, unitDescription = _b.unitDescription;
|
|
437
407
|
var queryResult = data.queryResult, _c = data.columnModels, columnModels = _c === void 0 ? [] : _c;
|
|
438
408
|
var queryResults = queryResult.queryResults;
|
|
439
409
|
var rows = queryResults.rows;
|
|
440
410
|
var headers = queryResults.headers;
|
|
441
411
|
var _d = data.facets, facets = _d === void 0 ? [] : _d;
|
|
442
412
|
var _e = this.state, isExpanded = _e.isExpanded, isExportTableDownloadOpen = _e.isExportTableDownloadOpen;
|
|
443
|
-
var queryRequest = this.props.getLastQueryRequest();
|
|
413
|
+
var queryRequest = this.props.queryContext.getLastQueryRequest();
|
|
444
414
|
var showFacetFilter = topLevelControlsState.showFacetFilter;
|
|
445
415
|
var className = '';
|
|
446
|
-
if (showBarChart) {
|
|
447
|
-
className = 'SRC-marginBottomTop';
|
|
448
|
-
}
|
|
449
416
|
var hasResults = data.queryResult.queryResults.rows.length > 0;
|
|
450
417
|
// Show the No Results UI if the current page has no rows, and this is the first page of data (offset === 0).
|
|
451
418
|
if (!hasResults && queryRequest.query.offset === 0) {
|
|
@@ -469,14 +436,14 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
469
436
|
!showFacetFilter &&
|
|
470
437
|
unitDescription &&
|
|
471
438
|
!(0, sqlFunctions_1.isGroupByInSql)(queryRequest.query.sql) && (React.createElement("div", { className: "SRC-centerContent text-left", style: { minHeight: '20px' } },
|
|
472
|
-
React.createElement(TotalQueryResults_1.default, {
|
|
439
|
+
React.createElement(TotalQueryResults_1.default, { style: { fontSize: 15 }, frontText: 'Showing', applyChanges: function (newFacets) {
|
|
473
440
|
return _this.applyChangesFromQueryFilter(newFacets);
|
|
474
441
|
} }))),
|
|
475
442
|
React.createElement("div", null, table))));
|
|
476
443
|
return (React.createElement(React.Fragment, null,
|
|
477
444
|
isExpanded && (React.createElement(react_bootstrap_1.Modal, { animation: false, show: true,
|
|
478
445
|
// @ts-ignore
|
|
479
|
-
onHide: function () { return _this.setState({ isExpanded: false }); }, dialogClassName: 'modal-90w', backdrop:
|
|
446
|
+
onHide: function () { return _this.setState({ isExpanded: false }); }, dialogClassName: 'modal-90w', backdrop: "static" },
|
|
480
447
|
React.createElement(react_bootstrap_1.Modal.Header
|
|
481
448
|
// @ts-ignore
|
|
482
449
|
, {
|
|
@@ -547,7 +514,7 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
547
514
|
]);
|
|
548
515
|
// add new items to where clause, but only if the column name corresponds to a real column in the table/view!
|
|
549
516
|
// use row.values
|
|
550
|
-
if (this.props.data === undefined) {
|
|
517
|
+
if (this.props.queryContext.data === undefined) {
|
|
551
518
|
return { synId: '', newSql: '' };
|
|
552
519
|
}
|
|
553
520
|
var whereIndex = tokens.findIndex(function (el) { return el[0] === 'WHERE'; });
|
|
@@ -580,18 +547,18 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
580
547
|
SynapseTable.prototype.createTableRows = function (rows, headers, isShowingAccessColumn, isShowingDownloadColumn, isShowingAddToV2DownloadListColumn, isRowSelectionVisible, tableEntityId) {
|
|
581
548
|
var _this = this;
|
|
582
549
|
var rowsFormatted = [];
|
|
583
|
-
var _a = this.props,
|
|
584
|
-
var
|
|
585
|
-
var
|
|
550
|
+
var _a = this.props, _b = _a.queryContext, data = _b.data, entity = _b.entity, _c = _a.queryVisualizationContext, columnsToShowInTable = _c.columnsToShowInTable, selectedRowIndices = _c.selectedRowIndices, setSelectedRowIndices = _c.setSelectedRowIndices, _d = _a.columnLinks, columnLinks = _d === void 0 ? [] : _d;
|
|
551
|
+
var _e = data, _f = _e.selectColumns, selectColumns = _f === void 0 ? [] : _f, _g = _e.columnModels, columnModels = _g === void 0 ? [] : _g;
|
|
552
|
+
var _h = this.state, mapEntityIdToHeader = _h.mapEntityIdToHeader, mapUserIdToHeader = _h.mapUserIdToHeader;
|
|
586
553
|
// find column indices that are COUNT type
|
|
587
|
-
var countColumnIndexes = this.getCountFunctionColumnIndexes(this.props.getLastQueryRequest().query.sql);
|
|
554
|
+
var countColumnIndexes = this.getCountFunctionColumnIndexes(this.props.queryContext.getLastQueryRequest().query.sql);
|
|
588
555
|
rows.forEach(function (row, rowIndex) {
|
|
589
556
|
var _a, _b;
|
|
590
557
|
var entityVersionNumber = (_a = row.versionNumber) === null || _a === void 0 ? void 0 : _a.toString();
|
|
591
558
|
var rowSynapseId = "syn" + row.rowId;
|
|
592
559
|
var rowContent = row.values.map(function (columnValue, colIndex) {
|
|
593
560
|
var columnName = headers[colIndex].name;
|
|
594
|
-
var isColumnActive =
|
|
561
|
+
var isColumnActive = columnsToShowInTable.includes(columnName);
|
|
595
562
|
var columnLinkConfig = columnLinks.find(function (el) {
|
|
596
563
|
return el.matchColumnName === columnName;
|
|
597
564
|
});
|
|
@@ -602,7 +569,7 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
602
569
|
return (React.createElement("td", { className: "SRC_noBorderTop SRC-synapseTableTd", key: "(" + rowIndex + columnValue + colIndex + ")" },
|
|
603
570
|
isCountColumn && (React.createElement("a", { href: _this.showGroupRowData(row), target: "_blank", rel: "noopener noreferrer" },
|
|
604
571
|
React.createElement("p", { className: isBold }, columnValue))),
|
|
605
|
-
!isCountColumn && (React.createElement(SynapseTableCell_1.SynapseTableCell, { columnType: headers[colIndex].columnType, columnValue: columnValue, isBold: isBold, mapEntityIdToHeader: mapEntityIdToHeader, mapUserIdToHeader: mapUserIdToHeader, rowIndex: rowIndex, columnLinkConfig: columnLinkConfig, columnName: columnName, tableEntityId: tableEntityId, rowData: row.values, selectColumns: selectColumns, columnModels: columnModels, isEntityView:
|
|
572
|
+
!isCountColumn && (React.createElement(SynapseTableCell_1.SynapseTableCell, { columnType: headers[colIndex].columnType, columnValue: columnValue, isBold: isBold, mapEntityIdToHeader: mapEntityIdToHeader, mapUserIdToHeader: mapUserIdToHeader, rowIndex: rowIndex, columnLinkConfig: columnLinkConfig, columnName: columnName, tableEntityId: tableEntityId, rowData: row.values, selectColumns: selectColumns, columnModels: columnModels, isEntityView: !!(entity && (0, EntityTypeUtils_1.isEntityView)(entity)), rowId: row.rowId, rowVersionNumber: row.versionNumber }))));
|
|
606
573
|
}
|
|
607
574
|
return React.createElement("td", { className: "SRC-hidden", key: "(" + rowIndex + "," + colIndex + ")" });
|
|
608
575
|
});
|
|
@@ -633,10 +600,8 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
633
600
|
cloneSelectedRowIndices.splice(index, 1);
|
|
634
601
|
}
|
|
635
602
|
}
|
|
636
|
-
// update
|
|
637
|
-
|
|
638
|
-
selectedRowIndices: cloneSelectedRowIndices,
|
|
639
|
-
});
|
|
603
|
+
// update context on change
|
|
604
|
+
setSelectedRowIndices(cloneSelectedRowIndices);
|
|
640
605
|
} })));
|
|
641
606
|
}
|
|
642
607
|
var rowFormatted = React.createElement("tr", { key: row.rowId }, rowContent);
|
|
@@ -657,10 +622,10 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
657
622
|
SynapseTable.prototype.createTableHeader = function (headers, columnModels, facets, isShowingAccessColumn, isShowingDownloadColumn, isShowingAddToV2DownloadListColumn, isRowSelectionVisible, lastQueryRequest) {
|
|
658
623
|
var _this = this;
|
|
659
624
|
var _a = this.state, sortedColumnSelection = _a.sortedColumnSelection, columnIconSortState = _a.columnIconSortState;
|
|
660
|
-
var _b = this.props, _c = _b.facetAliases, facetAliases =
|
|
625
|
+
var _b = this.props, _c = _b.queryVisualizationContext, _d = _c.facetAliases, facetAliases = _d === void 0 ? {} : _d, columnsToShowInTable = _c.columnsToShowInTable, lockedFacet = _b.queryContext.lockedFacet;
|
|
661
626
|
var tableColumnHeaderElements = headers.map(function (column, index) {
|
|
662
627
|
var _a;
|
|
663
|
-
var isHeaderSelected =
|
|
628
|
+
var isHeaderSelected = columnsToShowInTable.includes(column.name);
|
|
664
629
|
if (isHeaderSelected) {
|
|
665
630
|
// for background color
|
|
666
631
|
var isSelected = _this.findSelectionIndex(sortedColumnSelection, column.name) !== -1;
|
|
@@ -745,7 +710,7 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
745
710
|
// Direct user to corresponding query on synapse
|
|
746
711
|
SynapseTable.prototype.advancedSearch = function (event) {
|
|
747
712
|
event && event.preventDefault();
|
|
748
|
-
var lastQueryRequest = this.props.getLastQueryRequest();
|
|
713
|
+
var lastQueryRequest = this.props.queryContext.getLastQueryRequest();
|
|
749
714
|
var query = lastQueryRequest.query;
|
|
750
715
|
// base 64 encode the json of the query and go to url with the encoded object
|
|
751
716
|
var encodedQuery = btoa(JSON.stringify(query));
|
|
@@ -753,7 +718,7 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
753
718
|
window.open(getEndpoint_1.PRODUCTION_ENDPOINT_CONFIG.PORTAL + "#!Synapse:" + synTable + "/tables/query/" + encodedQuery, '_blank');
|
|
754
719
|
};
|
|
755
720
|
SynapseTable.prototype.getLengthOfPropsData = function () {
|
|
756
|
-
var data = this.props.data;
|
|
721
|
+
var data = this.props.queryContext.data;
|
|
757
722
|
return data.queryResult.queryResults.headers.length;
|
|
758
723
|
};
|
|
759
724
|
/**
|
|
@@ -774,7 +739,6 @@ var SynapseTable = /** @class */ (function (_super) {
|
|
|
774
739
|
(0, QueryFilter_1.applyChangesToValuesColumn)(lastQueryRequest, facetColumnResult, _this.applyChangesFromQueryFilter);
|
|
775
740
|
} }));
|
|
776
741
|
};
|
|
777
|
-
SynapseTable.contextType = SynapseContext_1.SynapseContext;
|
|
778
742
|
return SynapseTable;
|
|
779
743
|
}(React.Component));
|
|
780
744
|
exports.default = SynapseTable;
|