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.
Files changed (194) hide show
  1. package/dist/containers/CardContainer.d.ts +0 -8
  2. package/dist/containers/CardContainer.js +13 -23
  3. package/dist/containers/CardContainer.js.map +1 -1
  4. package/dist/containers/CardContainerLogic.d.ts +3 -76
  5. package/dist/containers/CardContainerLogic.js +29 -150
  6. package/dist/containers/CardContainerLogic.js.map +1 -1
  7. package/dist/containers/ChangePassword.d.ts +3 -0
  8. package/dist/containers/ChangePassword.js +88 -0
  9. package/dist/containers/ChangePassword.js.map +1 -0
  10. package/dist/containers/FileUpload.d.ts +1 -1
  11. package/dist/containers/FileUpload.js.map +1 -1
  12. package/dist/containers/FluidModal.d.ts +2 -0
  13. package/dist/containers/FluidModal.js +6 -1
  14. package/dist/containers/FluidModal.js.map +1 -1
  15. package/dist/containers/FullTextSearch.d.ts +1 -5
  16. package/dist/containers/FullTextSearch.js +9 -9
  17. package/dist/containers/FullTextSearch.js.map +1 -1
  18. package/dist/containers/LoadingScreen.d.ts +7 -1
  19. package/dist/containers/LoadingScreen.js +15 -4
  20. package/dist/containers/LoadingScreen.js.map +1 -1
  21. package/dist/containers/QueryCount.js.map +1 -1
  22. package/dist/containers/QueryVisualizationWrapper.d.ts +48 -0
  23. package/dist/containers/QueryVisualizationWrapper.js +81 -0
  24. package/dist/containers/QueryVisualizationWrapper.js.map +1 -0
  25. package/dist/containers/QueryWrapper.d.ts +55 -145
  26. package/dist/containers/QueryWrapper.js +206 -263
  27. package/dist/containers/QueryWrapper.js.map +1 -1
  28. package/dist/containers/QueryWrapperErrorBanner.d.ts +5 -0
  29. package/dist/containers/QueryWrapperErrorBanner.js +16 -0
  30. package/dist/containers/QueryWrapperErrorBanner.js.map +1 -0
  31. package/dist/containers/SearchV2.d.ts +6 -2
  32. package/dist/containers/SearchV2.js +11 -11
  33. package/dist/containers/SearchV2.js.map +1 -1
  34. package/dist/containers/SqlEditor.d.ts +1 -5
  35. package/dist/containers/SqlEditor.js +8 -7
  36. package/dist/containers/SqlEditor.js.map +1 -1
  37. package/dist/containers/ToastMessage.d.ts +1 -1
  38. package/dist/containers/TotalQueryResults.d.ts +3 -6
  39. package/dist/containers/TotalQueryResults.js +42 -58
  40. package/dist/containers/TotalQueryResults.js.map +1 -1
  41. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.d.ts +1 -7
  42. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js.map +1 -1
  43. package/dist/containers/download_list/DownloadConfirmation.d.ts +0 -5
  44. package/dist/containers/download_list/DownloadConfirmation.js +16 -18
  45. package/dist/containers/download_list/DownloadConfirmation.js.map +1 -1
  46. package/dist/containers/entity/annotations/AdditionalPropertiesSchemaField.d.ts +1 -1
  47. package/dist/containers/entity_finder/EntityFinder.d.ts +1 -1
  48. package/dist/containers/entity_finder/EntityFinder.js +4 -4
  49. package/dist/containers/entity_finder/EntityFinder.js.map +1 -1
  50. package/dist/containers/entity_finder/EntityFinderModal.d.ts +2 -0
  51. package/dist/containers/entity_finder/EntityFinderModal.js +1 -1
  52. package/dist/containers/entity_finder/EntityFinderModal.js.map +1 -1
  53. package/dist/containers/entity_finder/details/configurations/EntityChildrenDetails.js +6 -4
  54. package/dist/containers/entity_finder/details/configurations/EntityChildrenDetails.js.map +1 -1
  55. package/dist/containers/entity_finder/details/view/DetailsView.d.ts +5 -1
  56. package/dist/containers/entity_finder/details/view/DetailsView.js +9 -2
  57. package/dist/containers/entity_finder/details/view/DetailsView.js.map +1 -1
  58. package/dist/containers/entity_finder/tree/{TreeView.d.ts → EntityTree.d.ts} +4 -4
  59. package/dist/containers/entity_finder/tree/{TreeView.js → EntityTree.js} +43 -30
  60. package/dist/containers/entity_finder/tree/EntityTree.js.map +1 -0
  61. package/dist/containers/entity_finder/tree/VirtualizedTree.d.ts +89 -0
  62. package/dist/containers/entity_finder/tree/VirtualizedTree.js +379 -0
  63. package/dist/containers/entity_finder/tree/VirtualizedTree.js.map +1 -0
  64. package/dist/containers/home_page/featured-data/FacetPlotsCard.d.ts +1 -4
  65. package/dist/containers/home_page/featured-data/FacetPlotsCard.js +11 -8
  66. package/dist/containers/home_page/featured-data/FacetPlotsCard.js.map +1 -1
  67. package/dist/containers/home_page/featured-data/QueryPerFacetPlotsCard.d.ts +1 -1
  68. package/dist/containers/home_page/featured-data/QueryPerFacetPlotsCard.js +8 -9
  69. package/dist/containers/home_page/featured-data/QueryPerFacetPlotsCard.js.map +1 -1
  70. package/dist/containers/home_page/featured-data/SingleQueryFacetPlotsCards.d.ts +1 -1
  71. package/dist/containers/home_page/featured-data/SingleQueryFacetPlotsCards.js +10 -11
  72. package/dist/containers/home_page/featured-data/SingleQueryFacetPlotsCards.js.map +1 -1
  73. package/dist/containers/query_wrapper_plot_nav/FilterAndView.d.ts +2 -4
  74. package/dist/containers/query_wrapper_plot_nav/FilterAndView.js +12 -5
  75. package/dist/containers/query_wrapper_plot_nav/FilterAndView.js.map +1 -1
  76. package/dist/containers/query_wrapper_plot_nav/QueryFilterToggleButton.d.ts +1 -2
  77. package/dist/containers/query_wrapper_plot_nav/QueryFilterToggleButton.js +9 -10
  78. package/dist/containers/query_wrapper_plot_nav/QueryFilterToggleButton.js.map +1 -1
  79. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.d.ts +4 -4
  80. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js +53 -35
  81. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js.map +1 -1
  82. package/dist/containers/synapse_form_wrapper/SynapseFormWrapper.js +1 -1
  83. package/dist/containers/synapse_form_wrapper/SynapseFormWrapper.js.map +1 -1
  84. package/dist/containers/table/StandaloneQueryWrapper.d.ts +4 -6
  85. package/dist/containers/table/StandaloneQueryWrapper.js +29 -19
  86. package/dist/containers/table/StandaloneQueryWrapper.js.map +1 -1
  87. package/dist/containers/table/SynapseTable.d.ts +12 -13
  88. package/dist/containers/table/SynapseTable.js +100 -136
  89. package/dist/containers/table/SynapseTable.js.map +1 -1
  90. package/dist/containers/table/TopLevelControls.d.ts +1 -4
  91. package/dist/containers/table/TopLevelControls.js +27 -43
  92. package/dist/containers/table/TopLevelControls.js.map +1 -1
  93. package/dist/containers/table/datasets/DatasetItemsEditor.js +5 -2
  94. package/dist/containers/table/datasets/DatasetItemsEditor.js.map +1 -1
  95. package/dist/containers/table/table-top/ColumnSelection.d.ts +1 -1
  96. package/dist/containers/table/table-top/ColumnSelection.js +3 -5
  97. package/dist/containers/table/table-top/ColumnSelection.js.map +1 -1
  98. package/dist/containers/table/table-top/DownloadOptions.d.ts +0 -2
  99. package/dist/containers/table/table-top/DownloadOptions.js +7 -6
  100. package/dist/containers/table/table-top/DownloadOptions.js.map +1 -1
  101. package/dist/containers/widgets/facet-nav/FacetNav.d.ts +1 -3
  102. package/dist/containers/widgets/facet-nav/FacetNav.js +14 -10
  103. package/dist/containers/widgets/facet-nav/FacetNav.js.map +1 -1
  104. package/dist/containers/widgets/facet-nav/FacetNavPanel.d.ts +5 -8
  105. package/dist/containers/widgets/facet-nav/FacetNavPanel.js +15 -12
  106. package/dist/containers/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  107. package/dist/containers/widgets/query-filter/EnumFacetFilter.d.ts +3 -3
  108. package/dist/containers/widgets/query-filter/EnumFacetFilter.js +2 -2
  109. package/dist/containers/widgets/query-filter/EnumFacetFilter.js.map +1 -1
  110. package/dist/containers/widgets/query-filter/QueryFilter.d.ts +7 -12
  111. package/dist/containers/widgets/query-filter/QueryFilter.js +12 -9
  112. package/dist/containers/widgets/query-filter/QueryFilter.js.map +1 -1
  113. package/dist/containers/widgets/query-filter/RangeFacetFilter.d.ts +4 -4
  114. package/dist/containers/widgets/query-filter/RangeFacetFilter.js +4 -4
  115. package/dist/containers/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  116. package/dist/index.d.ts +6 -9
  117. package/dist/index.js +6 -6
  118. package/dist/index.js.map +1 -1
  119. package/dist/style/abstracts/_variables.scss +14 -0
  120. package/dist/style/components/_bar-loader.scss +11 -2
  121. package/dist/style/components/_spinner.scss +2 -2
  122. package/dist/style/components/entity_finder/_tree-node-browse.scss +5 -10
  123. package/dist/style/components/entity_finder/_tree-node-select.scss +17 -23
  124. package/dist/style/components/entity_finder/_tree-view.scss +17 -20
  125. package/dist/style/main.css +42 -27
  126. package/dist/umd/synapse-react-client.development.css +67 -27
  127. package/dist/umd/synapse-react-client.development.css.map +3 -3
  128. package/dist/umd/synapse-react-client.development.js +9865 -3080
  129. package/dist/umd/synapse-react-client.development.js.map +3 -3
  130. package/dist/umd/synapse-react-client.production.min.css +1 -1
  131. package/dist/umd/synapse-react-client.production.min.js +106 -79
  132. package/dist/umd.index.d.ts +2 -1
  133. package/dist/umd.index.js +2 -0
  134. package/dist/umd.index.js.map +1 -1
  135. package/dist/utils/APIConstants.d.ts +1 -0
  136. package/dist/utils/APIConstants.js +3 -2
  137. package/dist/utils/APIConstants.js.map +1 -1
  138. package/dist/utils/SynapseClient.d.ts +62 -20
  139. package/dist/utils/SynapseClient.js +308 -211
  140. package/dist/utils/SynapseClient.js.map +1 -1
  141. package/dist/utils/SynapseConstants.d.ts +1 -0
  142. package/dist/utils/SynapseConstants.js +3 -2
  143. package/dist/utils/SynapseConstants.js.map +1 -1
  144. package/dist/utils/functions/EntityTypeUtils.d.ts +13 -1
  145. package/dist/utils/functions/EntityTypeUtils.js +25 -1
  146. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  147. package/dist/utils/functions/queryUtils.d.ts +2 -2
  148. package/dist/utils/functions/queryUtils.js +22 -5
  149. package/dist/utils/functions/queryUtils.js.map +1 -1
  150. package/dist/utils/functions/sqlFunctions.js +1 -1
  151. package/dist/utils/functions/sqlFunctions.js.map +1 -1
  152. package/dist/utils/functions/unCamelCase.d.ts +1 -1
  153. package/dist/utils/functions/unCamelCase.js.map +1 -1
  154. package/dist/utils/hooks/SynapseAPI/useGetEntityChildren.js +3 -3
  155. package/dist/utils/hooks/SynapseAPI/useGetEntityChildren.js.map +1 -1
  156. package/dist/utils/hooks/SynapseAPI/useGetQueryResultBundle.d.ts +4 -3
  157. package/dist/utils/hooks/SynapseAPI/useGetQueryResultBundle.js +67 -1
  158. package/dist/utils/hooks/SynapseAPI/useGetQueryResultBundle.js.map +1 -1
  159. package/dist/utils/synapseTypes/ChangePasswordRequests.d.ts +25 -0
  160. package/dist/utils/synapseTypes/{DownloadListV2/DownloadListQueryResponse.js → ChangePasswordRequests.js} +1 -1
  161. package/dist/utils/synapseTypes/ChangePasswordRequests.js.map +1 -0
  162. package/dist/utils/synapseTypes/FileUploadComplete.d.ts +6 -0
  163. package/dist/utils/synapseTypes/Table/AsynchronousJobStatus.d.ts +5 -4
  164. package/dist/utils/synapseTypes/Table/EntityView.d.ts +8 -0
  165. package/dist/utils/synapseTypes/Table/EntityView.js +9 -0
  166. package/dist/utils/synapseTypes/Table/EntityView.js.map +1 -1
  167. package/dist/utils/synapseTypes/Table/FacetColumnRequest.d.ts +1 -1
  168. package/dist/utils/synapseTypes/Table/FacetColumnResult.d.ts +10 -10
  169. package/dist/utils/synapseTypes/Table/QueryResultBundle.d.ts +1 -0
  170. package/dist/utils/synapseTypes/VerificationSubmission.d.ts +22 -5
  171. package/dist/utils/synapseTypes/VerificationSubmission.js +8 -0
  172. package/dist/utils/synapseTypes/VerificationSubmission.js.map +1 -1
  173. package/dist/utils/types/Writable.d.ts +8 -0
  174. package/dist/utils/{synapseTypes/DownloadListV2/DownloadListManifestResponse.js → types/Writable.js} +1 -1
  175. package/dist/utils/types/Writable.js.map +1 -0
  176. package/dist/utils/typography/Typography.styles.d.ts +1 -1
  177. package/package.json +47 -37
  178. package/dist/containers/Facets.d.ts +0 -43
  179. package/dist/containers/Facets.js +0 -199
  180. package/dist/containers/Facets.js.map +0 -1
  181. package/dist/containers/StackedBarChart.d.ts +0 -63
  182. package/dist/containers/StackedBarChart.js +0 -229
  183. package/dist/containers/StackedBarChart.js.map +0 -1
  184. package/dist/containers/entity_finder/tree/TreeNode.d.ts +0 -25
  185. package/dist/containers/entity_finder/tree/TreeNode.js +0 -89
  186. package/dist/containers/entity_finder/tree/TreeNode.js.map +0 -1
  187. package/dist/containers/entity_finder/tree/TreeView.js.map +0 -1
  188. package/dist/utils/functions/facetUtils.d.ts +0 -44
  189. package/dist/utils/functions/facetUtils.js +0 -84
  190. package/dist/utils/functions/facetUtils.js.map +0 -1
  191. package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.d.ts +0 -4
  192. package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.js.map +0 -1
  193. package/dist/utils/synapseTypes/DownloadListV2/DownloadListQueryResponse.d.ts +0 -5
  194. 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":"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"}
@@ -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