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,199 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CheckboxGroup = exports.Facets = exports.FACET_NOT_SELECTED_CLASS = exports.FACET_SELECTED_CLASS = exports.SELECT_SINGLE_FACET = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var fontawesome_svg_core_1 = require("@fortawesome/fontawesome-svg-core");
|
|
6
|
-
var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
7
|
-
var utils_1 = require("../utils");
|
|
8
|
-
var React = (0, tslib_1.__importStar)(require("react"));
|
|
9
|
-
var facetUtils_1 = require("../utils/functions/facetUtils");
|
|
10
|
-
var ColorGradient_1 = require("./ColorGradient");
|
|
11
|
-
var SynapseTableConstants_1 = require("./table/SynapseTableConstants");
|
|
12
|
-
var TotalQueryResults_1 = (0, tslib_1.__importDefault)(require("./TotalQueryResults"));
|
|
13
|
-
fontawesome_svg_core_1.library.add(free_solid_svg_icons_1.faPlus);
|
|
14
|
-
exports.SELECT_SINGLE_FACET = 'SELECT_SINGLE_FACET';
|
|
15
|
-
exports.FACET_SELECTED_CLASS = 'FACET_SELECTED_CLASS';
|
|
16
|
-
exports.FACET_NOT_SELECTED_CLASS = 'FACET_NOT_SELECTED_CLASS';
|
|
17
|
-
/**
|
|
18
|
-
* Checkbox group represents one column's set of checkbox filters
|
|
19
|
-
*
|
|
20
|
-
* @class CheckboxGroup
|
|
21
|
-
* @extends {React.Component}
|
|
22
|
-
*/
|
|
23
|
-
var CheckboxGroup = function (props) {
|
|
24
|
-
var facetColumnResult = props.facetColumnResult, showAllFacets = props.showAllFacets, lastFacetSelection = props.lastFacetSelection, isLoading = props.isLoading, rgbIndex = props.rgbIndex, isAllFilterSelected = props.isAllFilterSelected;
|
|
25
|
-
var children = [];
|
|
26
|
-
var ref = React.createRef();
|
|
27
|
-
// Note: this actually sorts the data when it appears in the
|
|
28
|
-
// table as it stands currently, this may change depending on
|
|
29
|
-
// if that arrangment is no longer desired
|
|
30
|
-
facetColumnResult.facetValues.sort(function (a, b) {
|
|
31
|
-
return b.count - a.count;
|
|
32
|
-
});
|
|
33
|
-
var _a = (0, ColorGradient_1.getColorPalette)(rgbIndex, facetColumnResult.facetValues.length), colorPalette = _a.colorPalette, textColors = _a.textColors;
|
|
34
|
-
facetColumnResult.facetValues.forEach(function (facetColumnResultValues, index) {
|
|
35
|
-
var key = facetColumnResult.columnName +
|
|
36
|
-
facetColumnResultValues.value +
|
|
37
|
-
facetColumnResultValues.count;
|
|
38
|
-
var textColor = textColors[index];
|
|
39
|
-
var curColor = colorPalette[index];
|
|
40
|
-
var style = {};
|
|
41
|
-
var isSelected = isAllFilterSelected
|
|
42
|
-
? true
|
|
43
|
-
: (0, facetUtils_1.getIsValueSelected)({
|
|
44
|
-
isLoading: isLoading,
|
|
45
|
-
lastFacetSelection: lastFacetSelection,
|
|
46
|
-
columnName: facetColumnResult.columnName,
|
|
47
|
-
curFacetSelection: facetColumnResultValues,
|
|
48
|
-
});
|
|
49
|
-
if (isSelected) {
|
|
50
|
-
style = {
|
|
51
|
-
background: curColor,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
style = {
|
|
56
|
-
background: '#C4C4C4',
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
// we add this class for testability
|
|
60
|
-
var backgroundClass = isSelected
|
|
61
|
-
? exports.FACET_SELECTED_CLASS
|
|
62
|
-
: exports.FACET_NOT_SELECTED_CLASS;
|
|
63
|
-
style.color = textColor;
|
|
64
|
-
var value = facetColumnResultValues.value, count = facetColumnResultValues.count;
|
|
65
|
-
var displayValue = value === utils_1.SynapseConstants.VALUE_NOT_SET
|
|
66
|
-
? utils_1.SynapseConstants.FRIENDLY_VALUE_NOT_SET
|
|
67
|
-
: value;
|
|
68
|
-
children.push(React.createElement("label", { style: style, className: "SRC-facets SRC-primary-background-color-hover ", key: key },
|
|
69
|
-
React.createElement("span", { className: "SRC-facets-text" },
|
|
70
|
-
displayValue,
|
|
71
|
-
" (",
|
|
72
|
-
count,
|
|
73
|
-
")"),
|
|
74
|
-
React.createElement("input", {
|
|
75
|
-
// @ts-ignore
|
|
76
|
-
onChange: props.applyChanges(ref, value, exports.SELECT_SINGLE_FACET, index), checked: isSelected, type: "checkbox", value: value, className: "SRC-hidden SRC-facet-checkboxes " + backgroundClass })));
|
|
77
|
-
});
|
|
78
|
-
// By default only show 5 facets unless the user has clicked a facet, in which case
|
|
79
|
-
// showAllFacets will be true.
|
|
80
|
-
var childrenView = showAllFacets ? children : children.slice(0, 5);
|
|
81
|
-
return (
|
|
82
|
-
// need a span so that we can have a ref attachable
|
|
83
|
-
React.createElement("span", { ref: ref }, childrenView));
|
|
84
|
-
};
|
|
85
|
-
exports.CheckboxGroup = CheckboxGroup;
|
|
86
|
-
var Facets = /** @class */ (function (_super) {
|
|
87
|
-
(0, tslib_1.__extends)(Facets, _super);
|
|
88
|
-
function Facets(props) {
|
|
89
|
-
var _this = _super.call(this, props) || this;
|
|
90
|
-
/**
|
|
91
|
-
* Handle checkbox click event
|
|
92
|
-
*/
|
|
93
|
-
_this.applyChanges = function (ref, facetValue, selector, index) { return function (event) {
|
|
94
|
-
event.preventDefault();
|
|
95
|
-
if (!_this.state.showAllFacets) {
|
|
96
|
-
_this.setState({
|
|
97
|
-
showAllFacets: true,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
var _a = _this.props, _b = _a.facet, facet = _b === void 0 ? '' : _b, _c = _a.isAllFilterSelectedForFacet, isAllFilterSelectedForFacet = _c === void 0 ? {} : _c;
|
|
101
|
-
var lastFacetSelection = {
|
|
102
|
-
facetValue: facetValue,
|
|
103
|
-
selector: selector,
|
|
104
|
-
columnName: facet,
|
|
105
|
-
};
|
|
106
|
-
isAllFilterSelectedForFacet[facet] = selector === SynapseTableConstants_1.SELECT_ALL;
|
|
107
|
-
_this.props.updateParentState({
|
|
108
|
-
lastFacetSelection: lastFacetSelection,
|
|
109
|
-
isAllFilterSelectedForFacet: isAllFilterSelectedForFacet,
|
|
110
|
-
chartSelectionIndex: index,
|
|
111
|
-
});
|
|
112
|
-
// read input and fetch data
|
|
113
|
-
var htmlCheckboxes = Array.from(ref.current.querySelectorAll('.SRC-facet-checkboxes'));
|
|
114
|
-
// queryRequest is a deep clone
|
|
115
|
-
var queryRequest = _this.props.getLastQueryRequest();
|
|
116
|
-
var newQueryRequest = (0, facetUtils_1.readFacetValues)({
|
|
117
|
-
htmlCheckboxes: htmlCheckboxes,
|
|
118
|
-
queryRequest: queryRequest,
|
|
119
|
-
selector: selector,
|
|
120
|
-
facet: facet,
|
|
121
|
-
value: facetValue,
|
|
122
|
-
}).newQueryRequest;
|
|
123
|
-
queryRequest.query.offset = 0;
|
|
124
|
-
_this.props.executeQueryRequest(newQueryRequest);
|
|
125
|
-
}; };
|
|
126
|
-
_this.applyChanges = _this.applyChanges.bind(_this);
|
|
127
|
-
_this.state = {
|
|
128
|
-
showAllFacets: false,
|
|
129
|
-
};
|
|
130
|
-
_this.showAllFacets = _this.showAllFacets.bind(_this);
|
|
131
|
-
_this.showButtons = _this.showButtons.bind(_this);
|
|
132
|
-
return _this;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Display the view of the facets
|
|
136
|
-
*
|
|
137
|
-
* @returns
|
|
138
|
-
* @memberof Facets
|
|
139
|
-
*/
|
|
140
|
-
Facets.prototype.showFacetFilter = function () {
|
|
141
|
-
var _this = this;
|
|
142
|
-
if (!this.props.data.facets) {
|
|
143
|
-
throw Error('Error on query request, must include facets in partmask to show facets');
|
|
144
|
-
}
|
|
145
|
-
// Find the facetcolumn result according to the input filter
|
|
146
|
-
var facetColumnResult = this.props.data.facets.find(function (el) {
|
|
147
|
-
return el.columnName === _this.props.facet && el.facetType === 'enumeration';
|
|
148
|
-
});
|
|
149
|
-
if (!facetColumnResult) {
|
|
150
|
-
throw Error('Error no matching facet found given specified facet');
|
|
151
|
-
}
|
|
152
|
-
return (React.createElement(CheckboxGroup, { isAllFilterSelected: this.props.isAllFilterSelectedForFacet[this.props.facet], showAllFacets: this.state.showAllFacets, rgbIndex: this.props.rgbIndex, key: facetColumnResult.columnName, facetColumnResult: facetColumnResult, applyChanges: this.applyChanges, isLoading: this.props.isLoading, lastFacetSelection: this.props.lastFacetSelection }));
|
|
153
|
-
};
|
|
154
|
-
Facets.prototype.showAllFacets = function (event) {
|
|
155
|
-
event.preventDefault();
|
|
156
|
-
this.setState({
|
|
157
|
-
showAllFacets: true,
|
|
158
|
-
});
|
|
159
|
-
};
|
|
160
|
-
Facets.prototype.showButtons = function (curFacetsLength, ref) {
|
|
161
|
-
if (this.state.showAllFacets || curFacetsLength <= 5) {
|
|
162
|
-
// this is hidden if there are > 5 facets, wait for user to make
|
|
163
|
-
// an action for this to appear
|
|
164
|
-
return (React.createElement("a", { className: "SRC-facet-select-all", onClick: this.applyChanges(ref, '', SynapseTableConstants_1.SELECT_ALL, 0) }, "Select All"));
|
|
165
|
-
}
|
|
166
|
-
return (React.createElement("a", { id: "showAllFacetsButton", onClick: this.showAllFacets },
|
|
167
|
-
"Show All (",
|
|
168
|
-
curFacetsLength,
|
|
169
|
-
")"));
|
|
170
|
-
};
|
|
171
|
-
Facets.prototype.render = function () {
|
|
172
|
-
if (!this.props.data) {
|
|
173
|
-
return React.createElement("div", null);
|
|
174
|
-
}
|
|
175
|
-
var _a = this.props, data = _a.data, facet = _a.facet, unitDescription = _a.unitDescription, isLoading = _a.isLoading, showBarChart = _a.showBarChart;
|
|
176
|
-
var facets = data.facets;
|
|
177
|
-
if (!facets) {
|
|
178
|
-
throw Error('Error on query request, must include facets in partmask to show facets');
|
|
179
|
-
}
|
|
180
|
-
var curFacetsIndex = facets.findIndex(function (curFacet) {
|
|
181
|
-
return curFacet.columnName === facet && curFacet.facetType === 'enumeration';
|
|
182
|
-
});
|
|
183
|
-
// cast is necessary because filter returns an array of arrays
|
|
184
|
-
var facetColumnResultValues = facets[curFacetsIndex];
|
|
185
|
-
if (!facetColumnResultValues) {
|
|
186
|
-
return React.createElement("div", null);
|
|
187
|
-
}
|
|
188
|
-
var ref = React.createRef();
|
|
189
|
-
return (React.createElement("div", { className: "SRC-syn-border-spacing" },
|
|
190
|
-
!showBarChart && (React.createElement(TotalQueryResults_1.default, { lastQueryRequest: this.props.getLastQueryRequest(), unitDescription: unitDescription, frontText: 'Displaying', isLoading: isLoading })),
|
|
191
|
-
React.createElement("form", null,
|
|
192
|
-
React.createElement("div", { ref: ref, className: "SRC-marginFive form-group" },
|
|
193
|
-
this.showFacetFilter(),
|
|
194
|
-
this.showButtons(facetColumnResultValues.facetValues.length, ref)))));
|
|
195
|
-
};
|
|
196
|
-
return Facets;
|
|
197
|
-
}(React.Component));
|
|
198
|
-
exports.Facets = Facets;
|
|
199
|
-
//# sourceMappingURL=Facets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Facets.js","sourceRoot":"","sources":["../../src/lib/containers/Facets.tsx"],"names":[],"mappings":";;;;AAAA,0EAA2D;AAC3D,0EAA0D;AAC1D,kCAA2C;AAC3C,wDAA8B;AAC9B,4DAGsC;AAKtC,iDAAiD;AAEjD,uEAA0D;AAC1D,uFAAmD;AACnD,8BAAO,CAAC,GAAG,CAAC,6BAAM,CAAC,CAAA;AAEN,QAAA,mBAAmB,GAAG,qBAAqB,CAAA;AAiB3C,QAAA,oBAAoB,GAAG,sBAAsB,CAAA;AAC7C,QAAA,wBAAwB,GAAG,0BAA0B,CAAA;AAElE;;;;;GAKG;AACH,IAAM,aAAa,GAAgD,UACjE,KAAyB;IAGvB,IAAA,iBAAiB,GAMf,KAAK,kBANU,EACjB,aAAa,GAKX,KAAK,cALM,EACb,kBAAkB,GAIhB,KAAK,mBAJW,EAClB,SAAS,GAGP,KAAK,UAHE,EACT,QAAQ,GAEN,KAAK,SAFC,EACR,mBAAmB,GACjB,KAAK,oBADY,CACZ;IACT,IAAM,QAAQ,GAAQ,EAAE,CAAA;IACxB,IAAM,GAAG,GAAqC,KAAK,CAAC,SAAS,EAAE,CAAA;IAC/D,4DAA4D;IAC5D,6DAA6D;IAC7D,0CAA0C;IAC1C,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAC,CAAM,EAAE,CAAM;QAChD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IAC1B,CAAC,CAAC,CAAA;IACI,IAAA,KAA+B,IAAA,+BAAe,EAClD,QAAQ,EACR,iBAAiB,CAAC,WAAW,CAAC,MAAM,CACrC,EAHO,YAAY,kBAAA,EAAE,UAAU,gBAG/B,CAAA;IACD,iBAAiB,CAAC,WAAW,CAAC,OAAO,CACnC,UAAC,uBAAuB,EAAE,KAAa;QACrC,IAAM,GAAG,GACP,iBAAiB,CAAC,UAAU;YAC5B,uBAAuB,CAAC,KAAK;YAC7B,uBAAuB,CAAC,KAAK,CAAA;QAC/B,IAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QACnC,IAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,KAAK,GAAQ,EAAE,CAAA;QAEnB,IAAM,UAAU,GAAG,mBAAmB;YACpC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAA,+BAAkB,EAAC;gBACjB,SAAS,WAAA;gBACT,kBAAkB,oBAAA;gBAClB,UAAU,EAAE,iBAAiB,CAAC,UAAU;gBACxC,iBAAiB,EAAE,uBAAuB;aAC3C,CAAC,CAAA;QAEN,IAAI,UAAU,EAAE;YACd,KAAK,GAAG;gBACN,UAAU,EAAE,QAAQ;aACrB,CAAA;SACF;aAAM;YACL,KAAK,GAAG;gBACN,UAAU,EAAE,SAAS;aACtB,CAAA;SACF;QACD,oCAAoC;QACpC,IAAM,eAAe,GAAG,UAAU;YAChC,CAAC,CAAC,4BAAoB;YACtB,CAAC,CAAC,gCAAwB,CAAA;QAC5B,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;QACf,IAAA,KAAK,GAAY,uBAAuB,MAAnC,EAAE,KAAK,GAAK,uBAAuB,MAA5B,CAA4B;QAChD,IAAM,YAAY,GAChB,KAAK,KAAK,wBAAgB,CAAC,aAAa;YACtC,CAAC,CAAC,wBAAgB,CAAC,sBAAsB;YACzC,CAAC,CAAC,KAAK,CAAA;QAEX,QAAQ,CAAC,IAAI,CACX,+BACE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,gDAAgD,EAC1D,GAAG,EAAE,GAAG;YAER,8BAAM,SAAS,EAAC,iBAAiB;gBAC9B,YAAY;;gBAAI,KAAK;oBACjB;YACP;gBACE,aAAa;gBACb,QAAQ,EAAE,KAAK,CAAC,YAAY,CAC1B,GAAG,EACH,KAAK,EACL,2BAAmB,EACnB,KAAK,CACN,EACD,OAAO,EAAE,UAAU,EACnB,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,qCAAmC,eAAiB,GAC/D,CACI,CACT,CAAA;IACH,CAAC,CACF,CAAA;IACD,mFAAmF;IACnF,8BAA8B;IAC9B,IAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpE,OAAO;IACL,mDAAmD;IACnD,8BAAM,GAAG,EAAE,GAAG,IAAG,YAAY,CAAQ,CACtC,CAAA;AACH,CAAC,CAAA;AAmLgB,sCAAa;AA7K9B;IAAqB,uCAAoD;IACvE,gBAAY,KAA6B;QAAzC,YACE,kBAAM,KAAK,CAAC,SAOb;QAsCD;;WAEG;QACI,kBAAY,GAAG,UACpB,GAAqC,EACrC,UAAkB,EAClB,QAAgB,EAChB,KAAa,IACV,OAAA,UAAC,KAAwC;YAC5C,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC7B,KAAI,CAAC,QAAQ,CAAC;oBACZ,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAA;aACH;YAEK,IAAA,KAAmD,KAAI,CAAC,KAAK,EAA3D,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,mCAAgC,EAAhC,2BAA2B,mBAAG,EAAE,KAAe,CAAA;YAEnE,IAAM,kBAAkB,GAAG;gBACzB,UAAU,YAAA;gBACV,QAAQ,UAAA;gBACR,UAAU,EAAE,KAAK;aACA,CAAA;YACnB,2BAA2B,CAAC,KAAK,CAAC,GAAG,QAAQ,KAAK,kCAAU,CAAA;YAC5D,KAAI,CAAC,KAAK,CAAC,iBAAkB,CAAC;gBAC5B,kBAAkB,oBAAA;gBAClB,2BAA2B,6BAAA;gBAC3B,mBAAmB,EAAE,KAAK;aAC3B,CAAC,CAAA;YAEF,4BAA4B;YAC5B,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAC/B,GAAG,CAAC,OAAQ,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CACjC,CAAA;YACvB,+BAA+B;YAC/B,IAAM,YAAY,GAAuB,KAAI,CAAC,KAAK,CAAC,mBAAoB,EAAE,CAAA;YAClE,IAAA,eAAe,GAAK,IAAA,4BAAe,EAAC;gBAC1C,cAAc,gBAAA;gBACd,YAAY,cAAA;gBACZ,QAAQ,UAAA;gBACR,KAAK,OAAA;gBACL,KAAK,EAAE,UAAU;aAClB,CAAC,gBANqB,CAMrB;YAEF,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAC7B,KAAI,CAAC,KAAK,CAAC,mBAAoB,CAAC,eAAe,CAAC,CAAA;QAClD,CAAC,EAtCI,CAsCJ,CAAA;QA1FC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAChD,KAAI,CAAC,KAAK,GAAG;YACX,aAAa,EAAE,KAAK;SACrB,CAAA;QACD,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAClD,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;;IAChD,CAAC;IACD;;;;;OAKG;IACI,gCAAe,GAAtB;QAAA,iBA6BC;QA5BC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAK,CAAC,MAAM,EAAE;YAC5B,MAAM,KAAK,CACT,wEAAwE,CACzE,CAAA;SACF;QACD,4DAA4D;QAC5D,IAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAK,CAAC,MAAO,CAAC,IAAI,CACrD,UAAA,EAAE;YACA,OAAA,EAAE,CAAC,UAAU,KAAK,KAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,KAAK,aAAa;QAApE,CAAoE,CAC5C,CAAA;QAC5B,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAA;SACnE;QAED,OAAO,CACL,oBAAC,aAAa,IACZ,mBAAmB,EACjB,IAAI,CAAC,KAAK,CAAC,2BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,EAE5D,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACvC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAS,EAC9B,GAAG,EAAE,iBAAiB,CAAC,UAAU,EACjC,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAU,EAChC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAmB,GAClD,CACH,CAAA;IACH,CAAC;IAkDM,8BAAa,GAApB,UAAqB,KAAsD;QACzE,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC;YACZ,aAAa,EAAE,IAAI;SACpB,CAAC,CAAA;IACJ,CAAC;IAEM,4BAAW,GAAlB,UACE,eAAuB,EACvB,GAAoC;QAEpC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,eAAe,IAAI,CAAC,EAAE;YACpD,gEAAgE;YAChE,+BAA+B;YAC/B,OAAO,CACL,2BACE,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,kCAAU,EAAE,CAAC,CAAC,iBAGhD,CACL,CAAA;SACF;QACD,OAAO,CACL,2BACE,EAAE,EAAC,qBAAqB,EACxB,OAAO,EAAE,IAAI,CAAC,aAAa;;YAEhB,eAAe;gBACxB,CACL,CAAA;IACH,CAAC;IAEM,uBAAM,GAAb;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACpB,OAAO,gCAAO,CAAA;SACf;QACK,IAAA,KAA4D,IAAI,CAAC,KAAK,EAApE,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,eAAe,qBAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAe,CAAA;QACpE,IAAA,MAAM,GAAK,IAAI,OAAT,CAAS;QACvB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,KAAK,CACT,wEAAwE,CACzE,CAAA;SACF;QACD,IAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CACrC,UAAA,QAAQ;YACN,OAAA,QAAQ,CAAC,UAAU,KAAK,KAAK,IAAI,QAAQ,CAAC,SAAS,KAAK,aAAa;QAArE,CAAqE,CACxE,CAAA;QACD,8DAA8D;QAC9D,IAAM,uBAAuB,GAAG,MAAM,CACpC,cAAc,CACY,CAAA;QAE5B,IAAI,CAAC,uBAAuB,EAAE;YAC5B,OAAO,gCAAO,CAAA;SACf;QACD,IAAM,GAAG,GAAoC,KAAK,CAAC,SAAS,EAAE,CAAA;QAC9D,OAAO,CACL,6BAAK,SAAS,EAAC,wBAAwB;YACpC,CAAC,YAAY,IAAI,CAChB,oBAAC,2BAAiB,IAChB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAoB,EAAE,EACnD,eAAe,EAAE,eAAgB,EACjC,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,SAAU,GACrB,CACH;YACD;gBACE,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,2BAA2B;oBACjD,IAAI,CAAC,eAAe,EAAE;oBACtB,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAC9D,CACD,CACH,CACP,CAAA;IACH,CAAC;IACH,aAAC;AAAD,CAAC,AA3KD,CAAqB,KAAK,CAAC,SAAS,GA2KnC;AAEQ,wBAAM"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { QueryWrapperChildProps } from './QueryWrapper';
|
|
3
|
-
import { QueryResultBundle } from '../utils/synapseTypes/';
|
|
4
|
-
export declare const PREVIOUS_ITEM_CLICK = "left click";
|
|
5
|
-
export declare const NEXT_CLICK = "right click";
|
|
6
|
-
declare type Rect = {
|
|
7
|
-
height: number;
|
|
8
|
-
width: number;
|
|
9
|
-
top: number;
|
|
10
|
-
left: number;
|
|
11
|
-
right: number;
|
|
12
|
-
bottom: number;
|
|
13
|
-
};
|
|
14
|
-
declare type MeasureRect = {
|
|
15
|
-
bounds: Rect;
|
|
16
|
-
};
|
|
17
|
-
export declare type StackedBarChartState = {
|
|
18
|
-
selectedFacets: {};
|
|
19
|
-
dimensions: MeasureRect;
|
|
20
|
-
};
|
|
21
|
-
export declare type StackedBarChartProps = {
|
|
22
|
-
link?: string;
|
|
23
|
-
linkText?: string;
|
|
24
|
-
};
|
|
25
|
-
declare type Info = {
|
|
26
|
-
value: string;
|
|
27
|
-
count: number;
|
|
28
|
-
index: number;
|
|
29
|
-
};
|
|
30
|
-
declare type InternalProps = StackedBarChartProps & QueryWrapperChildProps;
|
|
31
|
-
/**
|
|
32
|
-
* Make a simple stacked bar chart
|
|
33
|
-
*
|
|
34
|
-
* @class StackedBarChart
|
|
35
|
-
* @extends {React.Component}
|
|
36
|
-
*/
|
|
37
|
-
export default class StackedBarChart extends React.Component<InternalProps, StackedBarChartState> {
|
|
38
|
-
constructor(props: InternalProps);
|
|
39
|
-
/**
|
|
40
|
-
* Updates the hover text and update the view
|
|
41
|
-
*
|
|
42
|
-
* @memberof StackedBarChart
|
|
43
|
-
*/
|
|
44
|
-
handleHover(event: React.MouseEvent<SVGRectElement>): void;
|
|
45
|
-
/**
|
|
46
|
-
* Update the hover text and the view
|
|
47
|
-
*
|
|
48
|
-
* @param {*} event
|
|
49
|
-
* @memberof StackedBarChart
|
|
50
|
-
*/
|
|
51
|
-
handleExit(event: React.MouseEvent<SVGRectElement>): void;
|
|
52
|
-
/**
|
|
53
|
-
* Handle column click event
|
|
54
|
-
*/
|
|
55
|
-
handleClick: (dict: Info) => (_event: React.MouseEvent<SVGElement>) => void;
|
|
56
|
-
handleArrowClick: (direction: string) => (_event: React.MouseEvent) => number;
|
|
57
|
-
getTextForChartSelection(xData: any): JSX.Element;
|
|
58
|
-
getFileCount(xData: any): any;
|
|
59
|
-
render(): JSX.Element;
|
|
60
|
-
extractPropsData(data?: QueryResultBundle): any[];
|
|
61
|
-
onMeasureResize(contentRect: any): void;
|
|
62
|
-
}
|
|
63
|
-
export {};
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NEXT_CLICK = exports.PREVIOUS_ITEM_CLICK = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var fontawesome_svg_core_1 = require("@fortawesome/fontawesome-svg-core");
|
|
6
|
-
var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
7
|
-
var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
8
|
-
var React = (0, tslib_1.__importStar)(require("react"));
|
|
9
|
-
var react_measure_1 = (0, tslib_1.__importDefault)(require("react-measure"));
|
|
10
|
-
var react_tooltip_1 = (0, tslib_1.__importDefault)(require("react-tooltip"));
|
|
11
|
-
var ColorGradient_1 = require("./ColorGradient");
|
|
12
|
-
var facetUtils_1 = require("../utils/functions/facetUtils");
|
|
13
|
-
var unCamelCase_1 = require("../utils/functions/unCamelCase");
|
|
14
|
-
var LoadingScreen_1 = (0, tslib_1.__importDefault)(require("./LoadingScreen"));
|
|
15
|
-
var utils_1 = require("../utils");
|
|
16
|
-
fontawesome_svg_core_1.library.add(free_solid_svg_icons_1.faAngleLeft);
|
|
17
|
-
fontawesome_svg_core_1.library.add(free_solid_svg_icons_1.faAngleRight);
|
|
18
|
-
exports.PREVIOUS_ITEM_CLICK = 'left click';
|
|
19
|
-
exports.NEXT_CLICK = 'right click';
|
|
20
|
-
/**
|
|
21
|
-
* Make a simple stacked bar chart
|
|
22
|
-
*
|
|
23
|
-
* @class StackedBarChart
|
|
24
|
-
* @extends {React.Component}
|
|
25
|
-
*/
|
|
26
|
-
var StackedBarChart = /** @class */ (function (_super) {
|
|
27
|
-
(0, tslib_1.__extends)(StackedBarChart, _super);
|
|
28
|
-
function StackedBarChart(props) {
|
|
29
|
-
var _this = _super.call(this, props) || this;
|
|
30
|
-
/**
|
|
31
|
-
* Handle column click event
|
|
32
|
-
*/
|
|
33
|
-
_this.handleClick = function (dict) { return function (_event) {
|
|
34
|
-
// https://medium.freecodecamp.org/reactjs-pass-parameters-to-event-handlers-ca1f5c422b9
|
|
35
|
-
_this.props.updateParentState({ chartSelectionIndex: dict.index });
|
|
36
|
-
}; };
|
|
37
|
-
_this.handleArrowClick = function (direction) { return function (_event) {
|
|
38
|
-
var _a = _this.props.chartSelectionIndex, chartSelectionIndex = _a === void 0 ? 0 : _a;
|
|
39
|
-
var dict = _this.extractPropsData(_this.props.data);
|
|
40
|
-
var length = Object.keys(dict).length;
|
|
41
|
-
if (direction === exports.PREVIOUS_ITEM_CLICK) {
|
|
42
|
-
chartSelectionIndex -= 1;
|
|
43
|
-
// if its at zero then we want to wrap around to the end
|
|
44
|
-
chartSelectionIndex =
|
|
45
|
-
chartSelectionIndex < 0 ? length - 1 : chartSelectionIndex;
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
chartSelectionIndex += 1;
|
|
49
|
-
}
|
|
50
|
-
chartSelectionIndex = chartSelectionIndex % length;
|
|
51
|
-
dict = dict[chartSelectionIndex];
|
|
52
|
-
_this.props.updateParentState({ chartSelectionIndex: chartSelectionIndex });
|
|
53
|
-
// return is only for testing purposes
|
|
54
|
-
return chartSelectionIndex;
|
|
55
|
-
}; };
|
|
56
|
-
_this.handleHover = _this.handleHover.bind(_this);
|
|
57
|
-
_this.handleExit = _this.handleExit.bind(_this);
|
|
58
|
-
_this.handleClick = _this.handleClick.bind(_this);
|
|
59
|
-
_this.handleArrowClick = _this.handleArrowClick.bind(_this);
|
|
60
|
-
_this.getTextForChartSelection = _this.getTextForChartSelection.bind(_this);
|
|
61
|
-
_this.onMeasureResize = _this.onMeasureResize.bind(_this);
|
|
62
|
-
// the text currently under the cursor
|
|
63
|
-
_this.state = {
|
|
64
|
-
// the dimensions of the bar chart itself
|
|
65
|
-
dimensions: {
|
|
66
|
-
bounds: { height: 1, width: 1, top: 0, left: 0, right: 0, bottom: 0 },
|
|
67
|
-
},
|
|
68
|
-
// the text of the current slice
|
|
69
|
-
// the count of this facet value occurence
|
|
70
|
-
selectedFacets: {},
|
|
71
|
-
};
|
|
72
|
-
_this.extractPropsData = _this.extractPropsData.bind(_this);
|
|
73
|
-
return _this;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Updates the hover text and update the view
|
|
77
|
-
*
|
|
78
|
-
* @memberof StackedBarChart
|
|
79
|
-
*/
|
|
80
|
-
StackedBarChart.prototype.handleHover = function (event) {
|
|
81
|
-
// add box shadow
|
|
82
|
-
event.currentTarget.style.boxShadow = '25px 20px';
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* Update the hover text and the view
|
|
86
|
-
*
|
|
87
|
-
* @param {*} event
|
|
88
|
-
* @memberof StackedBarChart
|
|
89
|
-
*/
|
|
90
|
-
StackedBarChart.prototype.handleExit = function (event) {
|
|
91
|
-
// remove box shadow
|
|
92
|
-
event.currentTarget.style.boxShadow = '';
|
|
93
|
-
};
|
|
94
|
-
StackedBarChart.prototype.getTextForChartSelection = function (xData) {
|
|
95
|
-
var _a = this.props.chartSelectionIndex, chartSelectionIndex = _a === void 0 ? 0 : _a;
|
|
96
|
-
var _b = this.props, _c = _b.facetAliases, facetAliases = _c === void 0 ? {} : _c, facet = _b.facet;
|
|
97
|
-
var facetValueDisplay = xData[chartSelectionIndex] && xData[chartSelectionIndex].value;
|
|
98
|
-
var filterDisplay = facetAliases[facet] || (0, unCamelCase_1.unCamelCase)(facet);
|
|
99
|
-
return (React.createElement("span", null,
|
|
100
|
-
React.createElement("span", { className: "SRC-text-title SRC-filter-display" }, filterDisplay),
|
|
101
|
-
":",
|
|
102
|
-
React.createElement("span", { className: "SRC-facet-view SRC-text-title" }, facetValueDisplay === utils_1.SynapseConstants.VALUE_NOT_SET
|
|
103
|
-
? utils_1.SynapseConstants.FRIENDLY_VALUE_NOT_SET
|
|
104
|
-
: facetValueDisplay)));
|
|
105
|
-
};
|
|
106
|
-
StackedBarChart.prototype.getFileCount = function (xData) {
|
|
107
|
-
var _a = this.props.chartSelectionIndex, chartSelectionIndex = _a === void 0 ? 1 : _a;
|
|
108
|
-
return xData[chartSelectionIndex] && xData[chartSelectionIndex].count;
|
|
109
|
-
};
|
|
110
|
-
StackedBarChart.prototype.render = function () {
|
|
111
|
-
var _this = this;
|
|
112
|
-
var _a = this.props, data = _a.data, isLoadingNewData = _a.isLoadingNewData, rgbIndex = _a.rgbIndex, _b = _a.facet, facet = _b === void 0 ? '' : _b, unitDescription = _a.unitDescription, isLoading = _a.isLoading, lastFacetSelection = _a.lastFacetSelection, isAllFilterSelectedForFacet = _a.isAllFilterSelectedForFacet, chartSelectionIndex = _a.chartSelectionIndex, asyncJobStatus = _a.asyncJobStatus;
|
|
113
|
-
// while loading
|
|
114
|
-
if (isLoadingNewData) {
|
|
115
|
-
return (React.createElement("div", { className: "SRC-loadingContainer SRC-centerContentColumn" },
|
|
116
|
-
LoadingScreen_1.default,
|
|
117
|
-
React.createElement("div", null, asyncJobStatus && asyncJobStatus.progressMessage)));
|
|
118
|
-
}
|
|
119
|
-
var xData = this.extractPropsData(data);
|
|
120
|
-
var total = 0;
|
|
121
|
-
var width = this.state.dimensions.bounds.width;
|
|
122
|
-
// sum up the counts of data
|
|
123
|
-
for (var key in xData) {
|
|
124
|
-
if (xData.hasOwnProperty(key)) {
|
|
125
|
-
total += xData[key].count;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
var _c = (0, ColorGradient_1.getColorPalette)(rgbIndex, xData.length), colorPalette = _c.colorPalette, textColors = _c.textColors;
|
|
129
|
-
var originalColor = colorPalette[0];
|
|
130
|
-
return (React.createElement(React.Fragment, null,
|
|
131
|
-
React.createElement("div", { className: "SRC-bar-border SRC-bar-marginTop SRC-bar-border-top", "data-testid": 'StackedBarChart' },
|
|
132
|
-
React.createElement(react_measure_1.default, { bounds: true, onResize: function (contentRect) {
|
|
133
|
-
_this.setState({ dimensions: contentRect });
|
|
134
|
-
} }, function (_a) {
|
|
135
|
-
var measureRef = _a.measureRef;
|
|
136
|
-
return (React.createElement("div", { className: "SRC-flex", ref: measureRef }, xData.map(function (obj, index) {
|
|
137
|
-
var textColor = textColors[index];
|
|
138
|
-
var rgbColor = colorPalette[index];
|
|
139
|
-
var rectStyle;
|
|
140
|
-
var isValueSelected = isAllFilterSelectedForFacet[facet]
|
|
141
|
-
? true
|
|
142
|
-
: (0, facetUtils_1.getIsValueSelected)({
|
|
143
|
-
isLoading: isLoading,
|
|
144
|
-
lastFacetSelection: lastFacetSelection,
|
|
145
|
-
columnName: facet,
|
|
146
|
-
curFacetSelection: obj,
|
|
147
|
-
});
|
|
148
|
-
if (isValueSelected) {
|
|
149
|
-
rectStyle = {
|
|
150
|
-
fill: rgbColor,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
rectStyle = {
|
|
155
|
-
fill: '#C4C4C4',
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
var svgHeight = 80;
|
|
159
|
-
var svgWidth = (obj.count / total) * width;
|
|
160
|
-
var style = {};
|
|
161
|
-
if (chartSelectionIndex === index) {
|
|
162
|
-
style.filter = 'drop-shadow(5px 5px 5px rgba(0,0,0,0.5))';
|
|
163
|
-
}
|
|
164
|
-
var label = facet + ": " + obj.value + " - " + obj.count + " " + unitDescription;
|
|
165
|
-
// there was one bug where a new line character was in the obj.value, making data-for
|
|
166
|
-
// break because its a special character, below we remove that
|
|
167
|
-
var tooltipId = obj.value.replace(/(\r\n|\n|\r)/gm, '');
|
|
168
|
-
// basic heuristic to calculate the number of pixels needed to show the value on the bar chart
|
|
169
|
-
var value = obj.count;
|
|
170
|
-
var numCharsInValue = value.toString().length * 4.5; // represents width of a character
|
|
171
|
-
return (
|
|
172
|
-
// each svg represents one of the bars
|
|
173
|
-
// will need to change this to be responsive
|
|
174
|
-
React.createElement(React.Fragment, { key: label },
|
|
175
|
-
React.createElement("span", { "data-for": tooltipId, "data-tip": label },
|
|
176
|
-
React.createElement("svg", { className: "SRC-hoverBox", height: svgHeight + 15, width: svgWidth, style: style, onClick: _this.handleClick((0, tslib_1.__assign)((0, tslib_1.__assign)({}, obj), { index: index })) },
|
|
177
|
-
React.createElement("rect", { onMouseEnter: _this.handleHover, onMouseLeave: _this.handleExit, height: svgHeight, width: svgWidth, className: "SRC-chart-rect-style",
|
|
178
|
-
// can't remove inline style due to dynamic fill
|
|
179
|
-
style: rectStyle }),
|
|
180
|
-
index < 3 && svgWidth > numCharsInValue && (React.createElement("text", { textAnchor: "middle", className: "SRC-text-title", fontFamily: 'bold sans-serif', fill: textColor, x: '50%', y: '50%' }, obj.count)),
|
|
181
|
-
chartSelectionIndex === index && (React.createElement("text", { fill: originalColor, x: 0, y: svgHeight + 15, className: "SRC-text-shadow SRC-text-large" }, '\u25CF')))),
|
|
182
|
-
React.createElement(react_tooltip_1.default, { delayShow: 1000, id: tooltipId })));
|
|
183
|
-
})));
|
|
184
|
-
})),
|
|
185
|
-
React.createElement("div", { className: "SRC-bar-border SRC-bar-border-bottom" },
|
|
186
|
-
React.createElement("p", { className: "SRC-noMargin SRC-padding-chart SRC-text-title" },
|
|
187
|
-
React.createElement("strong", null, this.getTextForChartSelection(xData))),
|
|
188
|
-
React.createElement("p", { id: "fileCount", className: "SRC-noMargin SRC-padding-chart SRC-text-chart" },
|
|
189
|
-
this.getFileCount(xData),
|
|
190
|
-
" ",
|
|
191
|
-
unitDescription),
|
|
192
|
-
this.props.link && (React.createElement("div", { className: "SRC-chart-link" },
|
|
193
|
-
React.createElement("a", { href: "/" + this.props.link },
|
|
194
|
-
" ",
|
|
195
|
-
this.props.linkText,
|
|
196
|
-
" ")))),
|
|
197
|
-
React.createElement("div", { className: "SRC-chart-nav SRC-center-text" },
|
|
198
|
-
React.createElement("button", { className: "SRC-chart-btn SRC-floatRight", type: "button", onClick: this.handleArrowClick(exports.NEXT_CLICK) },
|
|
199
|
-
React.createElement(react_fontawesome_1.FontAwesomeIcon, { style: { fontSize: '11px' }, className: "SRC-primary-text-color", icon: "angle-right" })),
|
|
200
|
-
React.createElement("button", { className: "SRC-chart-btn SRC-floatRight", type: "button", onClick: this.handleArrowClick(exports.PREVIOUS_ITEM_CLICK) },
|
|
201
|
-
React.createElement(react_fontawesome_1.FontAwesomeIcon, { style: { fontSize: '11px' }, className: "SRC-primary-text-color", icon: "angle-left" })))));
|
|
202
|
-
};
|
|
203
|
-
StackedBarChart.prototype.extractPropsData = function (data) {
|
|
204
|
-
var _a;
|
|
205
|
-
var xData = [];
|
|
206
|
-
var facet = this.props.facet;
|
|
207
|
-
// pull out the data corresponding to the filter in question
|
|
208
|
-
(_a = data === null || data === void 0 ? void 0 : data.facets) === null || _a === void 0 ? void 0 : _a.forEach(function (item) {
|
|
209
|
-
if (item.facetType === 'enumeration' && item.columnName === facet) {
|
|
210
|
-
item.facetValues.forEach(function (facetValue) {
|
|
211
|
-
if (item.columnName) {
|
|
212
|
-
xData.push((0, tslib_1.__assign)({ columnName: item.columnName }, facetValue));
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
// sort the data so that the largest bars are at the front
|
|
218
|
-
xData.sort(function (a, b) {
|
|
219
|
-
return b.count - a.count;
|
|
220
|
-
});
|
|
221
|
-
return xData;
|
|
222
|
-
};
|
|
223
|
-
StackedBarChart.prototype.onMeasureResize = function (contentRect) {
|
|
224
|
-
this.setState({ dimensions: contentRect });
|
|
225
|
-
};
|
|
226
|
-
return StackedBarChart;
|
|
227
|
-
}(React.Component));
|
|
228
|
-
exports.default = StackedBarChart;
|
|
229
|
-
//# sourceMappingURL=StackedBarChart.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StackedBarChart.js","sourceRoot":"","sources":["../../src/lib/containers/StackedBarChart.tsx"],"names":[],"mappings":";;;;AAAA,0EAA2D;AAC3D,0EAA6E;AAC7E,oEAAgE;AAChE,wDAA8B;AAC9B,6EAAwC;AACxC,6EAAwC;AACxC,iDAAiD;AAMjD,4DAAkE;AAClE,8DAA4D;AAC5D,+EAA2C;AAC3C,kCAA2C;AAC3C,8BAAO,CAAC,GAAG,CAAC,kCAAW,CAAC,CAAA;AACxB,8BAAO,CAAC,GAAG,CAAC,mCAAY,CAAC,CAAA;AAEZ,QAAA,mBAAmB,GAAG,YAAY,CAAA;AAClC,QAAA,UAAU,GAAG,aAAa,CAAA;AAgCvC;;;;;GAKG;AACH;IAA6C,gDAG5C;IACC,yBAAY,KAAoB;QAAhC,YACE,kBAAM,KAAK,CAAC,SAkBb;QAuBD;;WAEG;QACI,iBAAW,GAAG,UAAC,IAAU,IAAK,OAAA,UACnC,MAAoC;YAEpC,wFAAwF;YACxF,KAAI,CAAC,KAAK,CAAC,iBAAkB,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACpE,CAAC,EALoC,CAKpC,CAAA;QAEM,sBAAgB,GAAG,UAAC,SAAiB,IAAK,OAAA,UAC/C,MAAwB;YAElB,IAAA,KAA4B,KAAI,CAAC,KAAK,oBAAf,EAAvB,mBAAmB,mBAAG,CAAC,KAAA,CAAe;YAC5C,IAAI,IAAI,GAAQ,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACtD,IAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;YACvC,IAAI,SAAS,KAAK,2BAAmB,EAAE;gBACrC,mBAAmB,IAAI,CAAC,CAAA;gBACxB,wDAAwD;gBACxD,mBAAmB;oBACjB,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAA;aAC7D;iBAAM;gBACL,mBAAmB,IAAI,CAAC,CAAA;aACzB;YACD,mBAAmB,GAAG,mBAAmB,GAAG,MAAM,CAAA;YAElD,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAA;YAChC,KAAI,CAAC,KAAK,CAAC,iBAAkB,CAAC,EAAE,mBAAmB,qBAAA,EAAE,CAAC,CAAA;YACtD,sCAAsC;YACtC,OAAO,mBAAmB,CAAA;QAC5B,CAAC,EApBgD,CAoBhD,CAAA;QAtEC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAC9C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAC5C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAC9C,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QACxD,KAAI,CAAC,wBAAwB,GAAG,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QACxE,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QACtD,sCAAsC;QACtC,KAAI,CAAC,KAAK,GAAG;YACX,yCAAyC;YACzC,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;aACtE;YACD,gCAAgC;YAChC,0CAA0C;YAC1C,cAAc,EAAE,EAAE;SACnB,CAAA;QACD,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;;IAC1D,CAAC;IAED;;;;OAIG;IACI,qCAAW,GAAlB,UAAmB,KAAuC;QACxD,iBAAiB;QACjB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAA;IACnD,CAAC;IAED;;;;;OAKG;IACI,oCAAU,GAAjB,UAAkB,KAAuC;QACvD,oBAAoB;QACpB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAA;IAC1C,CAAC;IAkCM,kDAAwB,GAA/B,UAAgC,KAAU;QAChC,IAAA,KAA4B,IAAI,CAAC,KAAK,oBAAf,EAAvB,mBAAmB,mBAAG,CAAC,KAAA,CAAe;QACxC,IAAA,KAA+B,IAAI,CAAC,KAAK,EAAvC,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EAAE,KAAK,WAAe,CAAA;QAC/C,IAAM,iBAAiB,GACrB,KAAK,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAA;QAChE,IAAM,aAAa,GAAG,YAAY,CAAC,KAAM,CAAC,IAAI,IAAA,yBAAW,EAAC,KAAK,CAAC,CAAA;QAChE,OAAO,CACL;YACE,8BAAM,SAAS,EAAC,mCAAmC,IAChD,aAAa,CACT;;YAEP,8BAAM,SAAS,EAAC,+BAA+B,IAC5C,iBAAiB,KAAK,wBAAgB,CAAC,aAAa;gBACnD,CAAC,CAAC,wBAAgB,CAAC,sBAAsB;gBACzC,CAAC,CAAC,iBAAiB,CAChB,CACF,CACR,CAAA;IACH,CAAC;IAEM,sCAAY,GAAnB,UAAoB,KAAU;QACpB,IAAA,KAA4B,IAAI,CAAC,KAAK,oBAAf,EAAvB,mBAAmB,mBAAG,CAAC,KAAA,CAAe;QAC9C,OAAO,KAAK,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAA;IACvE,CAAC;IAEM,gCAAM,GAAb;QAAA,iBAmLC;QAlLO,IAAA,KAWF,IAAI,CAAC,KAAK,EAVZ,IAAI,UAAA,EACJ,gBAAgB,sBAAA,EAChB,QAAQ,cAAA,EACR,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,eAAe,qBAAA,EACf,SAAS,eAAA,EACT,kBAAkB,wBAAA,EAClB,2BAA2B,iCAAA,EAC3B,mBAAmB,yBAAA,EACnB,cAAc,oBACF,CAAA;QACd,gBAAgB;QAChB,IAAI,gBAAgB,EAAE;YACpB,OAAO,CACL,6BAAK,SAAS,EAAC,8CAA8C;gBAC1D,uBAAa;gBACd,iCAAM,cAAc,IAAI,cAAc,CAAC,eAAe,CAAO,CACzD,CACP,CAAA;SACF;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,KAAK,GAAW,CAAC,CAAA;QACrB,IAAM,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAO,CAAC,KAAK,CAAA;QACzD,4BAA4B;QAC5B,KAAK,IAAM,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBAC7B,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;aAC1B;SACF;QACK,IAAA,KAA+B,IAAA,+BAAe,EAClD,QAAS,EACT,KAAK,CAAC,MAAM,CACb,EAHO,YAAY,kBAAA,EAAE,UAAU,gBAG/B,CAAA;QACD,IAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAErC,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ;YAEb,6BAAK,SAAS,EAAC,qDAAqD,iBAAa,iBAAiB;gBAChG,oBAAC,uBAAY,IACX,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,UAAC,WAAgB;wBACzB,KAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAA;oBAC5C,CAAC,IAEA,UAAC,EAAc;wBAAZ,UAAU,gBAAA;oBAAO,OAAA,CACnB,6BAAK,SAAS,EAAC,UAAU,EAAC,GAAG,EAAE,UAAU,IACtC,KAAK,CAAC,GAAG,CAAC,UAAC,GAAgC,EAAE,KAAK;wBACjD,IAAM,SAAS,GAAW,UAAU,CAAC,KAAK,CAAC,CAAA;wBAC3C,IAAM,QAAQ,GAAW,YAAY,CAAC,KAAK,CAAC,CAAA;wBAC5C,IAAI,SAAc,CAAA;wBAClB,IAAM,eAAe,GAAG,2BAA4B,CAAC,KAAK,CAAC;4BACzD,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,IAAA,+BAAkB,EAAC;gCACjB,SAAS,WAAA;gCACT,kBAAkB,oBAAA;gCAClB,UAAU,EAAE,KAAK;gCACjB,iBAAiB,EAAE,GAAG;6BACvB,CAAC,CAAA;wBACN,IAAI,eAAe,EAAE;4BACnB,SAAS,GAAG;gCACV,IAAI,EAAE,QAAQ;6BACf,CAAA;yBACF;6BAAM;4BACL,SAAS,GAAG;gCACV,IAAI,EAAE,SAAS;6BAChB,CAAA;yBACF;wBACD,IAAM,SAAS,GAAG,EAAE,CAAA;wBACpB,IAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;wBAC5C,IAAM,KAAK,GAAQ,EAAE,CAAA;wBACrB,IAAI,mBAAmB,KAAK,KAAK,EAAE;4BACjC,KAAK,CAAC,MAAM,GAAG,0CAA0C,CAAA;yBAC1D;wBACD,IAAM,KAAK,GAAc,KAAK,UAAK,GAAG,CAAC,KAAK,YAAO,GAAG,CAAC,KAAK,SAAI,eAAiB,CAAA;wBACjF,qFAAqF;wBACrF,8DAA8D;wBAC9D,IAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;wBACzD,8FAA8F;wBAC9F,IAAM,KAAK,GAAG,GAAG,CAAC,KAAe,CAAA;wBACjC,IAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,GAAG,CAAA,CAAC,kCAAkC;wBAExF,OAAO;wBACL,sCAAsC;wBACtC,4CAA4C;wBAC5C,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK;4BACxB,0CAAgB,SAAS,cAAY,KAAK;gCACxC,6BACE,SAAS,EAAC,cAAc,EACxB,MAAM,EAAE,SAAS,GAAG,EAAE,EACtB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,KAAI,CAAC,WAAW,iDAAM,GAAG,KAAE,KAAK,OAAA,IAAG;oCAE5C,8BACE,YAAY,EAAE,KAAI,CAAC,WAAW,EAC9B,YAAY,EAAE,KAAI,CAAC,UAAU,EAC7B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAC,sBAAsB;wCAChC,gDAAgD;wCAChD,KAAK,EAAE,SAAS,GAChB;oCACD,KAAK,GAAG,CAAC,IAAI,QAAQ,GAAG,eAAe,IAAI,CAC1C,8BACE,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAC,gBAAgB,EAC1B,UAAU,EAAE,iBAAiB,EAC7B,IAAI,EAAE,SAAS,EACf,CAAC,EAAE,KAAK,EACR,CAAC,EAAE,KAAK,IAEP,GAAG,CAAC,KAAK,CACL,CACR;oCACA,mBAAmB,KAAK,KAAK,IAAI,CAChC,8BACE,IAAI,EAAE,aAAa,EACnB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,SAAS,GAAG,EAAE,EACjB,SAAS,EAAC,gCAAgC,IAEzC,QAAQ,CACJ,CACR,CACG,CACD;4BACP,oBAAC,uBAAY,IAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,GAAI,CACjC,CAClB,CAAA;oBACH,CAAC,CAAC,CACE,CACP;gBAvFoB,CAuFpB,CACY,CACX;YACN,6BAAK,SAAS,EAAC,sCAAsC;gBACnD,2BAAG,SAAS,EAAC,+CAA+C;oBAC1D,oCAAS,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAU,CACrD;gBACJ,2BACE,EAAE,EAAC,WAAW,EACd,SAAS,EAAC,+CAA+C;oBAExD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;;oBAAG,eAAe,CACzC;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAClB,6BAAK,SAAS,EAAC,gBAAgB;oBAC7B,2BAAG,IAAI,EAAE,MAAI,IAAI,CAAC,KAAK,CAAC,IAAM;;wBAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;4BAAM,CACvD,CACP,CACG;YACN,6BAAK,SAAS,EAAC,+BAA+B;gBAC5C,gCACE,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,kBAAU,CAAC;oBAE1C,oBAAC,mCAAe,IACd,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC3B,SAAS,EAAC,wBAAwB,EAClC,IAAI,EAAC,aAAa,GAClB,CACK;gBACT,gCACE,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,2BAAmB,CAAC;oBAEnD,oBAAC,mCAAe,IACd,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC3B,SAAS,EAAC,wBAAwB,EAClC,IAAI,EAAC,YAAY,GACjB,CACK,CACL,CACS,CAClB,CAAA;IACH,CAAC;IACM,0CAAgB,GAAvB,UAAwB,IAAwB;;QAC9C,IAAM,KAAK,GAAU,EAAE,CAAA;QACf,IAAA,KAAK,GAAK,IAAI,CAAC,KAAK,MAAf,CAAe;QAC5B,4DAA4D;QAC5D,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,OAAO,CAAC,UAAC,IAAS;YAC9B,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBACjE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAC,UAAe;oBACvC,IAAI,IAAI,CAAC,UAAU,EAAE;wBACnB,KAAK,CAAC,IAAI,yBAAG,UAAU,EAAE,IAAI,CAAC,UAAU,IAAK,UAAU,EAAG,CAAA;qBAC3D;gBACH,CAAC,CAAC,CAAA;aACH;QACH,CAAC,CAAC,CAAA;QACF,0DAA0D;QAC1D,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,yCAAe,GAAtB,UAAuB,WAAgB;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAA;IAC5C,CAAC;IACH,sBAAC;AAAD,CAAC,AAnTD,CAA6C,KAAK,CAAC,SAAS,GAmT3D"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { EntityHeader, ProjectHeader } from '../../../utils/synapseTypes';
|
|
3
|
-
import { EntityType } from '../../../utils/synapseTypes/EntityType';
|
|
4
|
-
import { Map } from 'immutable';
|
|
5
|
-
export declare type RootNodeConfiguration = {
|
|
6
|
-
nodeText: string;
|
|
7
|
-
children: (Pick<EntityHeader, 'name' | 'id' | 'type'> | ProjectHeader)[];
|
|
8
|
-
};
|
|
9
|
-
export declare enum EntityTreeNodeType {
|
|
10
|
-
SELECT = 0,
|
|
11
|
-
BROWSE = 1
|
|
12
|
-
}
|
|
13
|
-
export declare type TreeNodeProps = {
|
|
14
|
-
entityHeader?: Pick<EntityHeader, 'name' | 'id' | 'type'> | ProjectHeader;
|
|
15
|
-
selected: Map<string, number>;
|
|
16
|
-
setSelectedId: (entityId: string) => void;
|
|
17
|
-
level?: number;
|
|
18
|
-
autoExpand?: (entityId: string) => boolean;
|
|
19
|
-
visibleTypes?: EntityType[];
|
|
20
|
-
treeNodeType: EntityTreeNodeType;
|
|
21
|
-
rootNodeConfiguration?: RootNodeConfiguration;
|
|
22
|
-
selectableTypes: EntityType[];
|
|
23
|
-
currentContainer?: string | 'root' | null;
|
|
24
|
-
};
|
|
25
|
-
export declare const TreeNode: React.FunctionComponent<TreeNodeProps>;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TreeNode = exports.EntityTreeNodeType = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
6
|
-
var react_intersection_observer_1 = require("react-intersection-observer");
|
|
7
|
-
var react_tooltip_1 = (0, tslib_1.__importDefault)(require("react-tooltip"));
|
|
8
|
-
var EntityTypeUtils_1 = require("../../../utils/functions/EntityTypeUtils");
|
|
9
|
-
var useGetEntityChildren_1 = require("../../../utils/hooks/SynapseAPI/useGetEntityChildren");
|
|
10
|
-
var EntityType_1 = require("../../../utils/synapseTypes/EntityType");
|
|
11
|
-
var EntityBadgeIcons_1 = require("../../EntityBadgeIcons");
|
|
12
|
-
var EntityIcon_1 = require("../../EntityIcon");
|
|
13
|
-
var EntityTreeNodeType;
|
|
14
|
-
(function (EntityTreeNodeType) {
|
|
15
|
-
EntityTreeNodeType[EntityTreeNodeType["SELECT"] = 0] = "SELECT";
|
|
16
|
-
EntityTreeNodeType[EntityTreeNodeType["BROWSE"] = 1] = "BROWSE";
|
|
17
|
-
})(EntityTreeNodeType = exports.EntityTreeNodeType || (exports.EntityTreeNodeType = {}));
|
|
18
|
-
var TreeNode = function (_a) {
|
|
19
|
-
var entityHeader = _a.entityHeader, selected = _a.selected, setSelectedId = _a.setSelectedId, _b = _a.level, level = _b === void 0 ? 0 : _b, _c = _a.autoExpand, autoExpand = _c === void 0 ? function () { return false; } : _c, _d = _a.visibleTypes, visibleTypes = _d === void 0 ? [EntityType_1.EntityType.PROJECT, EntityType_1.EntityType.FOLDER] : _d, rootNodeConfiguration = _a.rootNodeConfiguration, treeNodeType = _a.treeNodeType, selectableTypes = _a.selectableTypes, currentContainer = _a.currentContainer;
|
|
20
|
-
var isRootNode = !!rootNodeConfiguration;
|
|
21
|
-
var nodeId = isRootNode ? 'root' : entityHeader.id;
|
|
22
|
-
var isSelected = treeNodeType === EntityTreeNodeType.SELECT
|
|
23
|
-
? selected.has(nodeId)
|
|
24
|
-
: currentContainer === nodeId;
|
|
25
|
-
var isDisabled = !isRootNode &&
|
|
26
|
-
entityHeader &&
|
|
27
|
-
!selectableTypes.includes((0, EntityTypeUtils_1.getEntityTypeFromHeader)(entityHeader));
|
|
28
|
-
var nodeName = isRootNode
|
|
29
|
-
? rootNodeConfiguration === null || rootNodeConfiguration === void 0 ? void 0 : rootNodeConfiguration.nodeText
|
|
30
|
-
: entityHeader.name;
|
|
31
|
-
var TOOLTIP_ID = "TreeViewNodeTooltipId_" + nodeId;
|
|
32
|
-
var _e = (0, react_1.useState)(isRootNode || autoExpand(nodeId)), isExpanded = _e[0], setIsExpanded = _e[1];
|
|
33
|
-
var _f = (0, react_1.useState)([]), entityChildren = _f[0], setEntityChildren = _f[1];
|
|
34
|
-
// For retrieving the entity bundle and children
|
|
35
|
-
var _g = (0, react_intersection_observer_1.useInView)({
|
|
36
|
-
triggerOnce: true,
|
|
37
|
-
}), nodeRef = _g.ref, nodeInView = _g.inView;
|
|
38
|
-
// For "infinite scroll" paginated retrieval of the children
|
|
39
|
-
var _h = (0, react_intersection_observer_1.useInView)({
|
|
40
|
-
rootMargin: '200px',
|
|
41
|
-
}), endRef = _h.ref, endInView = _h.inView;
|
|
42
|
-
var _j = (0, useGetEntityChildren_1.useGetEntityChildrenInfinite)({
|
|
43
|
-
parentId: nodeId,
|
|
44
|
-
includeTypes: visibleTypes,
|
|
45
|
-
}, {
|
|
46
|
-
enabled: (nodeInView || endInView) &&
|
|
47
|
-
!isRootNode &&
|
|
48
|
-
(0, EntityTypeUtils_1.isContainerType)((0, EntityTypeUtils_1.getEntityTypeFromHeader)(entityHeader)),
|
|
49
|
-
}), children = _j.data, fetchNextPage = _j.fetchNextPage, hasNextPage = _j.hasNextPage, isSuccess = _j.isSuccess;
|
|
50
|
-
(0, react_1.useEffect)(function () {
|
|
51
|
-
if (isSuccess && endInView && hasNextPage) {
|
|
52
|
-
fetchNextPage();
|
|
53
|
-
}
|
|
54
|
-
}, [isSuccess, endInView, hasNextPage, fetchNextPage]);
|
|
55
|
-
(0, react_1.useEffect)(function () {
|
|
56
|
-
var _a;
|
|
57
|
-
if (isRootNode) {
|
|
58
|
-
setEntityChildren(rootNodeConfiguration.children);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
setEntityChildren((_a = children === null || children === void 0 ? void 0 : children.pages.flatMap(function (page) { return page.page; })) !== null && _a !== void 0 ? _a : []);
|
|
62
|
-
}
|
|
63
|
-
}, [isRootNode, children, rootNodeConfiguration]);
|
|
64
|
-
return (react_1.default.createElement("div", { className: "Node " + (treeNodeType === EntityTreeNodeType.SELECT ? 'SelectNode' : 'BrowseNode'), role: "treeitem", "aria-selected": isSelected, "aria-disabled": isDisabled },
|
|
65
|
-
react_1.default.createElement("div", { ref: nodeRef, style: { paddingLeft: level * 20 + 20 + "px" }, role: "button", "aria-label": "Select " + nodeName, className: "NodeContent " + (isRootNode ? 'NodeRootContent' : ''), key: nodeId, onClick: function (event) {
|
|
66
|
-
event.stopPropagation();
|
|
67
|
-
if (!isDisabled) {
|
|
68
|
-
setSelectedId(nodeId);
|
|
69
|
-
}
|
|
70
|
-
} },
|
|
71
|
-
react_1.default.createElement(react_tooltip_1.default, { id: TOOLTIP_ID, delayShow: 500, place: 'top', effect: "solid" }),
|
|
72
|
-
entityChildren && entityChildren.length > 0 ? (react_1.default.createElement("div", { className: 'ExpandButton', "aria-label": "Expand " + nodeName, role: "button", onClick: function (e) {
|
|
73
|
-
e.stopPropagation();
|
|
74
|
-
setIsExpanded(!isExpanded);
|
|
75
|
-
} }, isExpanded ? '▾' : '▸')) : (react_1.default.createElement("span", null)),
|
|
76
|
-
treeNodeType === EntityTreeNodeType.SELECT && ( // SWC-5592
|
|
77
|
-
react_1.default.createElement("div", { className: "EntityIcon" }, !isRootNode && entityHeader && (react_1.default.createElement(EntityIcon_1.EntityTypeIcon, { type: (0, EntityTypeUtils_1.getEntityTypeFromHeader)(entityHeader) })))),
|
|
78
|
-
react_1.default.createElement("div", { className: "EntityName", "data-for": TOOLTIP_ID, "data-tip": nodeName },
|
|
79
|
-
react_1.default.createElement("span", null, nodeName)),
|
|
80
|
-
treeNodeType === EntityTreeNodeType.SELECT && (react_1.default.createElement(EntityBadgeIcons_1.EntityBadgeIcons, { entityId: nodeId, showHasDiscussionThread: false, showHasWiki: false, showUnlink: false, canOpenModal: false, renderTooltipComponent: true }))),
|
|
81
|
-
react_1.default.createElement("div", { className: 'NodeChildren', "aria-hidden": !isExpanded },
|
|
82
|
-
entityChildren &&
|
|
83
|
-
entityChildren.map(function (child) {
|
|
84
|
-
return (react_1.default.createElement(exports.TreeNode, { key: child.id, entityHeader: child, selected: selected, setSelectedId: setSelectedId, level: level + 1, autoExpand: autoExpand, visibleTypes: visibleTypes, treeNodeType: treeNodeType, selectableTypes: selectableTypes, currentContainer: currentContainer }));
|
|
85
|
-
}),
|
|
86
|
-
react_1.default.createElement("div", { ref: endRef }))));
|
|
87
|
-
};
|
|
88
|
-
exports.TreeNode = TreeNode;
|
|
89
|
-
//# sourceMappingURL=TreeNode.js.map
|