@urbanos/react-discovery-ui 2.1.60 → 2.1.62
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/lib/ReactDiscoveryUI.js +2 -2
- package/lib/components/auth0-login-zone/auth0-login-zone.test.js +11 -3
- package/lib/components/code-editor/code-editor.js +5 -5
- package/lib/components/collapsable-box/collapsable-box.js +10 -9
- package/lib/components/collapsable-box/collapsable-box.test.js +5 -10
- package/lib/components/data-card/data-card.js +5 -4
- package/lib/components/data-view/data-view.js +5 -3
- package/lib/components/dataset-api-doc/api-example.js +3 -2
- package/lib/components/dataset-api-doc/dataset-api-doc.js +3 -2
- package/lib/components/dataset-api-doc/dataset-api-doc.test.js +1 -2
- package/lib/components/dataset-dictionary/dataset-dictionary.js +39 -8
- package/lib/components/dataset-dictionary/dataset-dictionary.scss +16 -0
- package/lib/components/dataset-dictionary/dataset-dictionary.test.js +50 -3
- package/lib/components/dataset-list/dataset-list.js +3 -2
- package/lib/components/dataset-metadata/dataset-metadata.js +32 -33
- package/lib/components/dataset-metadata/dataset-metadata.test.js +1 -1
- package/lib/components/dataset-preview/dataset-preview.js +12 -12
- package/lib/components/dataset-preview/dataset-preview.test.js +2 -3
- package/lib/components/dataset-quality/dataset-quality.js +8 -7
- package/lib/components/dataset-quality/dataset-quality.test.js +1 -2
- package/lib/components/dataset-recommendations/dataset-recommendations.js +2 -1
- package/lib/components/dataset-recommendations/dataset-recommendations.test.js +1 -1
- package/lib/components/detail-toggle-icon/detail-toggle-icon.js +8 -7
- package/lib/components/detail-toggle-icon/detail-toggle-icon.test.js +1 -1
- package/lib/components/facet-list/facet-list.test.js +1 -1
- package/lib/components/facet-sidebar/facet-sidebar.js +8 -7
- package/lib/components/generic-elements/arrow-left-button/arrow-left-button.js +3 -2
- package/lib/components/generic-elements/arrow-right-button/arrow-right-button.js +3 -2
- package/lib/components/generic-elements/auto-anchoring-popover/index.js +7 -9
- package/lib/components/generic-elements/back-button/back-button.js +3 -2
- package/lib/components/generic-elements/call-to-action-button/call-to-action-button.test.js +2 -2
- package/lib/components/generic-elements/chart-icon/index.js +3 -2
- package/lib/components/generic-elements/folder-icon/index.js +3 -2
- package/lib/components/generic-elements/paginator/paginator.js +3 -2
- package/lib/components/generic-elements/plus-icon/index.js +3 -2
- package/lib/components/generic-elements/search/search.js +8 -7
- package/lib/components/generic-elements/select/select.js +3 -2
- package/lib/components/generic-elements/sql-icon/index.js +3 -2
- package/lib/components/generic-elements/tab-button/tab-button.js +4 -4
- package/lib/components/generic-elements/visualize-button/visualize-button.js +3 -2
- package/lib/components/login-zone/login-svgs-and-text.js +8 -7
- package/lib/components/login-zone/login.js +8 -7
- package/lib/components/login-zone/logout.js +8 -7
- package/lib/components/network-loading-element/network-loading-element.js +3 -2
- package/lib/components/organization/organization.js +3 -2
- package/lib/components/query-form/query-form.js +2 -2
- package/lib/components/query-form/query-form.test.js +2 -1
- package/lib/components/recommendation-list/recommendation-list.test.js +1 -1
- package/lib/components/share/share.js +18 -18
- package/lib/components/streaming-api-doc/streaming-api-doc.js +8 -7
- package/lib/components/streaming-api-doc/streaming-api-doc.test.js +1 -2
- package/lib/components/tooltip/tooltip.js +5 -6
- package/lib/components/visualization-list-menu-item/visualization-list-menu-item.js +0 -1
- package/lib/components/visualizations/geojson/geojson-visualization.js +22 -20
- package/lib/components/visualizations/geojson/geojson-visualization.test.js +16 -16
- package/lib/pages/apikey-view/apikey-view.js +1 -1
- package/lib/pages/chart-view/chart-view.js +7 -7
- package/lib/pages/chart-view/chart-view.test.js +1 -1
- package/lib/pages/dataset-detail-view/dataset-detail-view-connector.test.js +1 -2
- package/lib/pages/dataset-detail-view/dataset-detail-view.js +8 -7
- package/lib/pages/dataset-list-view/dataset-list-view.test.js +1 -1
- package/lib/pages/dataset-view/dataset-view-connector.test.js +1 -2
- package/lib/pages/dataset-view/dataset-view.js +35 -35
- package/lib/pages/dataset-view/dataset-view.test.js +1 -1
- package/lib/pages/oauth-error-view/oauth-error-view.js +0 -1
- package/lib/pages/oauth-view/oauth-view.js +6 -4
- package/lib/pages/query-view/query-view.js +9 -12
- package/lib/pages/query-view/query-view.test.js +1 -0
- package/lib/pages/user-profile-view/user-profile-view.js +31 -33
- package/lib/pages/visualization-view/visualization-view.js +18 -20
- package/lib/pages/visualization-view/visualization-view.test.js +1 -0
- package/lib/search-params/search-params-manager.js +12 -12
- package/lib/search-params/search-params-manager.test.js +6 -6
- package/lib/store/reducers/reducers.js +17 -44
- package/lib/store/reducers/visualization-reducer.test.js +19 -9
- package/lib/store/sagas/logout-saga.js +3 -5
- package/lib/store/sagas/oauth-saga.test.js +0 -1
- package/lib/store/sagas/visualization-saga.js +2 -5
- package/package.json +6 -5
|
@@ -16,7 +16,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
16
16
|
previewDataset={previewDataset}
|
|
17
17
|
downloadDataset={downloadDataset}
|
|
18
18
|
datasetId='345'
|
|
19
|
-
|
|
19
|
+
/>)
|
|
20
20
|
|
|
21
21
|
expect(previewDataset).toHaveBeenCalledWith('345', 'geojson')
|
|
22
22
|
expect(downloadDataset).toHaveBeenCalledWith('345', 'geojson')
|
|
@@ -28,7 +28,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
28
28
|
previewDataset={previewDataset}
|
|
29
29
|
downloadDataset={downloadDataset}
|
|
30
30
|
downloadedDatasetError
|
|
31
|
-
|
|
31
|
+
/>)
|
|
32
32
|
})
|
|
33
33
|
|
|
34
34
|
it('renders an error component', () => {
|
|
@@ -36,8 +36,8 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
36
36
|
})
|
|
37
37
|
|
|
38
38
|
it('does not render maps', () => {
|
|
39
|
-
expect(wrapper.find('[
|
|
40
|
-
expect(wrapper.find('[
|
|
39
|
+
expect(wrapper.find('[data-testid="preview-map"]').length).toEqual(0)
|
|
40
|
+
expect(wrapper.find('[data-testid="downloaded-map"]').length).toEqual(0)
|
|
41
41
|
})
|
|
42
42
|
|
|
43
43
|
it('does not render a loader', () => {
|
|
@@ -50,7 +50,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
50
50
|
wrapper = shallow(<GeoJSONVisualization
|
|
51
51
|
previewDataset={previewDataset}
|
|
52
52
|
downloadDataset={downloadDataset}
|
|
53
|
-
|
|
53
|
+
/>)
|
|
54
54
|
|
|
55
55
|
expect(wrapper.find('LoadingElement').length).toEqual(1)
|
|
56
56
|
})
|
|
@@ -92,7 +92,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
92
92
|
downloadDataset={downloadDataset}
|
|
93
93
|
downloadedGeoJsonData={downloadedGeoJsonData}
|
|
94
94
|
previewedGeoJsonData={previewedGeoJsonData}
|
|
95
|
-
|
|
95
|
+
/>)
|
|
96
96
|
})
|
|
97
97
|
|
|
98
98
|
it('renders map', () => {
|
|
@@ -102,7 +102,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
102
102
|
})
|
|
103
103
|
|
|
104
104
|
it('transposes preview data bounding value to appropriate format for leaflet', () => {
|
|
105
|
-
const previewMapWrapper = wrapper.find('[
|
|
105
|
+
const previewMapWrapper = wrapper.find('[data-testid="preview-map"]')
|
|
106
106
|
expect(previewMapWrapper.find(Map).props().bounds).toEqual([[2, 1], [6, 5]])
|
|
107
107
|
})
|
|
108
108
|
|
|
@@ -130,7 +130,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
130
130
|
previewDataset={previewDataset}
|
|
131
131
|
downloadDataset={downloadDataset}
|
|
132
132
|
previewedGeoJsonData={previewedGeoJsonData}
|
|
133
|
-
|
|
133
|
+
/>)
|
|
134
134
|
})
|
|
135
135
|
|
|
136
136
|
it('renders map', () => {
|
|
@@ -141,7 +141,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
141
141
|
})
|
|
142
142
|
|
|
143
143
|
it('transposes preview data bounding value to appropriate format for leaflet', () => {
|
|
144
|
-
const previewMapWrapper = wrapper.find('[
|
|
144
|
+
const previewMapWrapper = wrapper.find('[data-testid="preview-map"]')
|
|
145
145
|
expect(previewMapWrapper.find(Map).props().bounds).toEqual([[2, 1], [6, 5]])
|
|
146
146
|
})
|
|
147
147
|
|
|
@@ -161,7 +161,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
161
161
|
previewDataset={previewDataset}
|
|
162
162
|
downloadDataset={downloadDataset}
|
|
163
163
|
downloadedGeoJsonData={downloadedGeoJsonData}
|
|
164
|
-
|
|
164
|
+
/>)
|
|
165
165
|
})
|
|
166
166
|
|
|
167
167
|
it('renders map', () => {
|
|
@@ -172,7 +172,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
172
172
|
})
|
|
173
173
|
|
|
174
174
|
it('transposes downloaded data bounding value to appropriate format for leaflet', () => {
|
|
175
|
-
const downloadedMapWrapper = wrapper.find('[
|
|
175
|
+
const downloadedMapWrapper = wrapper.find('[data-testid="downloaded-map"]')
|
|
176
176
|
expect(downloadedMapWrapper.find(Map).props().bounds).toEqual([[2, 1], [7, 6]])
|
|
177
177
|
})
|
|
178
178
|
|
|
@@ -199,7 +199,7 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
199
199
|
downloadedGeoJsonData={downloadedGeoJsonData}
|
|
200
200
|
/>)
|
|
201
201
|
|
|
202
|
-
const previewMapWrapper = wrapper.find('[
|
|
202
|
+
const previewMapWrapper = wrapper.find('[data-testid="preview-map"]')
|
|
203
203
|
expect(previewMapWrapper.find(Map).props().bounds).toEqual([[38.483320, -84.811309], [41.971108, -80.541532]])
|
|
204
204
|
})
|
|
205
205
|
})
|
|
@@ -220,19 +220,19 @@ describe('<GeoJSONVisualization />', () => {
|
|
|
220
220
|
})
|
|
221
221
|
|
|
222
222
|
function isPreviewMapHidden (wrapper) {
|
|
223
|
-
const previewMapWrapper = wrapper.find('[
|
|
223
|
+
const previewMapWrapper = wrapper.find('[data-testid="preview-map"]')
|
|
224
224
|
return previewMapWrapper.hasClass('hidden')
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
function isDownloadedMapHidden (wrapper) {
|
|
228
|
-
const dowloadedMapWrapper = wrapper.find('[
|
|
228
|
+
const dowloadedMapWrapper = wrapper.find('[data-testid="downloaded-map"]')
|
|
229
229
|
return dowloadedMapWrapper.hasClass('hidden')
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
function isPreviewMapRendered (wrapper) {
|
|
233
|
-
return wrapper.find('[
|
|
233
|
+
return wrapper.find('[data-testid="preview-map"]').exists()
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
function isDownloadedMapRendered (wrapper) {
|
|
237
|
-
return wrapper.find('[
|
|
237
|
+
return wrapper.find('[data-testid="downloaded-map"]').exists()
|
|
238
238
|
}
|
|
@@ -132,7 +132,7 @@ var ApiKeyView = function ApiKeyView(_ref) {
|
|
|
132
132
|
className: "apiKey-view-paragraph"
|
|
133
133
|
}, "This API key will only be displayed once. Please store it somewhere secure. If you lose it, you will need to reset your key to get a new one."), /*#__PURE__*/React.createElement("label", {
|
|
134
134
|
className: "apiKey-view-sub-title",
|
|
135
|
-
|
|
135
|
+
htmlFor: "apiKey"
|
|
136
136
|
}, "API Key"), /*#__PURE__*/React.createElement("div", {
|
|
137
137
|
className: "apiKey-view-display-page-display-window-container"
|
|
138
138
|
}, /*#__PURE__*/React.createElement("input", {
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
+
var _react = require("react");
|
|
8
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
10
|
require("./chart-view.scss");
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
var _lib = _interopRequireWildcard(require("react-chart-editor/lib"));
|
|
12
12
|
var _plotly = _interopRequireDefault(require("plotly.js/dist/plotly"));
|
|
13
13
|
var _lodash = require("lodash");
|
|
@@ -35,12 +35,12 @@ var ChartView = function ChartView(props) {
|
|
|
35
35
|
var data = chart.data,
|
|
36
36
|
layout = chart.layout,
|
|
37
37
|
frames = chart.frames;
|
|
38
|
-
_react.
|
|
38
|
+
(0, _react.useEffect)(function () {
|
|
39
39
|
if (shouldAutoExecuteQuery) {
|
|
40
40
|
executeQuery();
|
|
41
41
|
}
|
|
42
42
|
}, [shouldAutoExecuteQuery]);
|
|
43
|
-
_react.
|
|
43
|
+
(0, _react.useEffect)(function () {
|
|
44
44
|
var clonedData = (0, _lodash.cloneDeep)(data);
|
|
45
45
|
(0, _lib.dereference)(clonedData, dataSources);
|
|
46
46
|
setChartInformation({
|
|
@@ -50,10 +50,10 @@ var ChartView = function ChartView(props) {
|
|
|
50
50
|
});
|
|
51
51
|
}, [dataSources]);
|
|
52
52
|
if (isLoading) {
|
|
53
|
-
return /*#__PURE__*/
|
|
53
|
+
return /*#__PURE__*/React.createElement("chart-view", null, /*#__PURE__*/React.createElement(_loadingElement.default, null));
|
|
54
54
|
}
|
|
55
55
|
if (!hasDataSources(dataSources)) {
|
|
56
|
-
return /*#__PURE__*/
|
|
56
|
+
return /*#__PURE__*/React.createElement("chart-view", null, /*#__PURE__*/React.createElement("div", {
|
|
57
57
|
className: "no-data-message"
|
|
58
58
|
}, "Unable to load data. You may need to revise your query."));
|
|
59
59
|
}
|
|
@@ -64,7 +64,7 @@ var ChartView = function ChartView(props) {
|
|
|
64
64
|
frames: frames
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
|
-
return /*#__PURE__*/
|
|
67
|
+
return /*#__PURE__*/React.createElement("chart-view", null, /*#__PURE__*/React.createElement(_lib.default, {
|
|
68
68
|
data: data,
|
|
69
69
|
layout: layout,
|
|
70
70
|
frames: frames,
|
|
@@ -78,7 +78,7 @@ var ChartView = function ChartView(props) {
|
|
|
78
78
|
mapboxAccessToken: window.MAPBOX_ACCESS_TOKEN
|
|
79
79
|
},
|
|
80
80
|
"data-testid": "plotly-editor"
|
|
81
|
-
}, /*#__PURE__*/
|
|
81
|
+
}, /*#__PURE__*/React.createElement(_lib.DefaultEditor, {
|
|
82
82
|
logoSrc: window.LOGO_URL
|
|
83
83
|
})));
|
|
84
84
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import React from 'react'
|
|
1
2
|
import { shallow } from 'enzyme'
|
|
2
3
|
|
|
3
4
|
import ChartView from './chart-view'
|
|
4
5
|
import PlotlyEditor, { DefaultEditor } from 'react-chart-editor'
|
|
5
6
|
import LoadingElement from '../../components/generic-elements/loading-element'
|
|
6
|
-
import * as ReactChartLibrary from 'react-chart-editor/lib'
|
|
7
7
|
|
|
8
8
|
// Currently, shallow rendering is not compatible with React hooks.
|
|
9
9
|
// We've utilized a strategy found here https://blog.carbonfive.com/2019/08/05/shallow-testing-hooks-with-enzyme/
|
|
@@ -8,10 +8,9 @@ describe('dataset view', () => {
|
|
|
8
8
|
let storeMocker, state
|
|
9
9
|
|
|
10
10
|
beforeEach(() => {
|
|
11
|
-
const matchMedia = jest.fn()
|
|
12
11
|
Object.defineProperty(window, 'matchMedia', {
|
|
13
12
|
writable: true,
|
|
14
|
-
value: jest.fn().mockImplementation(
|
|
13
|
+
value: jest.fn().mockImplementation(() => ({
|
|
15
14
|
matches: true
|
|
16
15
|
}))
|
|
17
16
|
})
|
|
@@ -31,13 +31,13 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
31
31
|
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
32
32
|
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
33
33
|
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
34
|
-
var
|
|
35
|
-
function
|
|
36
|
-
_classCallCheck(this,
|
|
37
|
-
return _callSuper(this,
|
|
34
|
+
var DatasetDetailView = /*#__PURE__*/function (_Component) {
|
|
35
|
+
function DatasetDetailView() {
|
|
36
|
+
_classCallCheck(this, DatasetDetailView);
|
|
37
|
+
return _callSuper(this, DatasetDetailView, arguments);
|
|
38
38
|
}
|
|
39
|
-
_inherits(
|
|
40
|
-
return _createClass(
|
|
39
|
+
_inherits(DatasetDetailView, _Component);
|
|
40
|
+
return _createClass(DatasetDetailView, [{
|
|
41
41
|
key: "componentWillUnmount",
|
|
42
42
|
value: function componentWillUnmount() {
|
|
43
43
|
this.props.clearDatasetPreview();
|
|
@@ -96,4 +96,5 @@ var _default = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
96
96
|
})));
|
|
97
97
|
}
|
|
98
98
|
}]);
|
|
99
|
-
}(_react.Component);
|
|
99
|
+
}(_react.Component);
|
|
100
|
+
var _default = exports.default = DatasetDetailView;
|
|
@@ -23,10 +23,9 @@ describe('visualization view', () => {
|
|
|
23
23
|
const chart = { data: [], layout: {}, frames: [] }
|
|
24
24
|
|
|
25
25
|
beforeEach(() => {
|
|
26
|
-
const matchMedia = jest.fn()
|
|
27
26
|
Object.defineProperty(window, 'matchMedia', {
|
|
28
27
|
writable: true,
|
|
29
|
-
value: jest.fn().mockImplementation(
|
|
28
|
+
value: jest.fn().mockImplementation(() => ({
|
|
30
29
|
matches: true
|
|
31
30
|
}))
|
|
32
31
|
})
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = require("react");
|
|
9
9
|
var _reactTabs = require("react-tabs");
|
|
10
10
|
require("react-tabs/style/react-tabs.css");
|
|
11
11
|
var _chartIcon = _interopRequireDefault(require("../../components/generic-elements/chart-icon"));
|
|
@@ -21,7 +21,6 @@ var _loadingElement = _interopRequireDefault(require("../../components/generic-e
|
|
|
21
21
|
var _visualizationListMenuItem = _interopRequireDefault(require("../../components/visualization-list-menu-item"));
|
|
22
22
|
var _visualizationSaveMenuItem = _interopRequireDefault(require("../../components/visualization-save-menu-item"));
|
|
23
23
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
25
24
|
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
26
25
|
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
27
26
|
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
@@ -34,11 +33,11 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
34
33
|
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
35
34
|
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
36
35
|
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
37
|
-
var
|
|
38
|
-
function
|
|
36
|
+
var DatasetView = /*#__PURE__*/function (_Component) {
|
|
37
|
+
function DatasetView() {
|
|
39
38
|
var _this;
|
|
40
|
-
_classCallCheck(this,
|
|
41
|
-
_this = _callSuper(this,
|
|
39
|
+
_classCallCheck(this, DatasetView);
|
|
40
|
+
_this = _callSuper(this, DatasetView);
|
|
42
41
|
_this.state = {
|
|
43
42
|
index: 0,
|
|
44
43
|
localTitle: '',
|
|
@@ -46,8 +45,8 @@ var _default = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
46
45
|
};
|
|
47
46
|
return _this;
|
|
48
47
|
}
|
|
49
|
-
_inherits(
|
|
50
|
-
return _createClass(
|
|
48
|
+
_inherits(DatasetView, _Component);
|
|
49
|
+
return _createClass(DatasetView, [{
|
|
51
50
|
key: "selectTab",
|
|
52
51
|
value: function selectTab(tabIndex) {
|
|
53
52
|
this.setState({
|
|
@@ -117,50 +116,50 @@ var _default = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
117
116
|
value: function render() {
|
|
118
117
|
var _this2 = this;
|
|
119
118
|
if (!this.props.isDatasetLoaded) {
|
|
120
|
-
return /*#__PURE__*/
|
|
119
|
+
return /*#__PURE__*/React.createElement("dataset-view", null, /*#__PURE__*/React.createElement(_loadingElement.default, null));
|
|
121
120
|
}
|
|
122
121
|
if (this.props.isRemoteDataset || this.props.isHostDataset) {
|
|
123
|
-
return /*#__PURE__*/
|
|
122
|
+
return /*#__PURE__*/React.createElement("dataset-view", null, /*#__PURE__*/React.createElement(_datasetDetailView.default, null));
|
|
124
123
|
}
|
|
125
|
-
return /*#__PURE__*/
|
|
124
|
+
return /*#__PURE__*/React.createElement("dataset-view", null, /*#__PURE__*/React.createElement(_reactTabs.Tabs, {
|
|
126
125
|
className: "dataset-view",
|
|
127
126
|
selectedIndex: this.state.index,
|
|
128
127
|
onSelect: function onSelect(tabIndex) {
|
|
129
128
|
return _this2.selectTab(tabIndex);
|
|
130
129
|
}
|
|
131
|
-
}, /*#__PURE__*/
|
|
130
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
132
131
|
className: "header"
|
|
133
|
-
}, /*#__PURE__*/
|
|
132
|
+
}, /*#__PURE__*/React.createElement(_reactTabs.TabList, {
|
|
134
133
|
className: "tab-area header-tabs"
|
|
135
|
-
}, /*#__PURE__*/
|
|
134
|
+
}, /*#__PURE__*/React.createElement(_reactTabs.Tab, {
|
|
136
135
|
"data-testid": "dataset-details"
|
|
137
|
-
}, "Dataset Details"), /*#__PURE__*/
|
|
136
|
+
}, "Dataset Details"), /*#__PURE__*/React.createElement(_reactTabs.Tab, {
|
|
138
137
|
"data-testid": "dataset-write-sql"
|
|
139
|
-
}, "Write SQL ", /*#__PURE__*/
|
|
138
|
+
}, "Write SQL ", /*#__PURE__*/React.createElement(_sqlIcon.default, {
|
|
140
139
|
className: "sqlIcon"
|
|
141
|
-
})), this.isVisualizationEnabled() && /*#__PURE__*/
|
|
140
|
+
})), this.isVisualizationEnabled() && /*#__PURE__*/React.createElement(_reactTabs.Tab, {
|
|
142
141
|
"data-testid": "visualize"
|
|
143
|
-
}, "Visualize ", /*#__PURE__*/
|
|
142
|
+
}, "Visualize ", /*#__PURE__*/React.createElement(_chartIcon.default, {
|
|
144
143
|
className: "chartIcon"
|
|
145
|
-
}))), this.isNotDatasetDetailsTab() && /*#__PURE__*/
|
|
144
|
+
}))), this.isNotDatasetDetailsTab() && /*#__PURE__*/React.createElement("span", {
|
|
146
145
|
className: "help-area"
|
|
147
|
-
}, /*#__PURE__*/
|
|
146
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
148
147
|
role: null,
|
|
149
148
|
className: "helpLink primary-color",
|
|
150
149
|
target: "_blank",
|
|
151
150
|
href: "https://en.wikipedia.org/wiki/SQL_syntax",
|
|
152
151
|
rel: "noreferrer"
|
|
153
|
-
}, "SQL Help"), this.isVisualizationEnabled() && /*#__PURE__*/
|
|
152
|
+
}, "SQL Help"), this.isVisualizationEnabled() && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, "|"), /*#__PURE__*/React.createElement("a", {
|
|
154
153
|
id: "plotlyhelp",
|
|
155
154
|
className: "helpLink primary-color",
|
|
156
155
|
target: "_blank",
|
|
157
156
|
href: "https://plotly.com/chart-studio-help/tutorials/#basic",
|
|
158
157
|
rel: "noreferrer"
|
|
159
|
-
}, "Plot.ly Help"))), this.isNotDatasetDetailsTab() && /*#__PURE__*/
|
|
158
|
+
}, "Plot.ly Help"))), this.isNotDatasetDetailsTab() && /*#__PURE__*/React.createElement("span", {
|
|
160
159
|
className: "action-area"
|
|
161
|
-
}, /*#__PURE__*/
|
|
160
|
+
}, /*#__PURE__*/React.createElement(_visualizationListMenuItem.default, {
|
|
162
161
|
isAuthenticated: this.props.auth.isAuthenticated
|
|
163
|
-
}), /*#__PURE__*/
|
|
162
|
+
}), /*#__PURE__*/React.createElement(_visualizationSaveMenuItem.default, {
|
|
164
163
|
isSaveable: this.props.isSaveable,
|
|
165
164
|
handleTitleChange: this.handleTitleChange.bind(this),
|
|
166
165
|
handleSaveOrUpdate: this.handleSaveOrUpdate.bind(this),
|
|
@@ -170,9 +169,9 @@ var _default = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
170
169
|
title: this.state.localTitle,
|
|
171
170
|
allowedActions: this.props.allowedActions,
|
|
172
171
|
isAuthenticated: this.props.auth.isAuthenticated
|
|
173
|
-
})), /*#__PURE__*/
|
|
172
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
174
173
|
className: "mobile-tab-menu"
|
|
175
|
-
}, /*#__PURE__*/
|
|
174
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
176
175
|
type: "button",
|
|
177
176
|
className: "mobile-tab-toggle",
|
|
178
177
|
onClick: function onClick() {
|
|
@@ -185,31 +184,32 @@ var _default = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
185
184
|
},
|
|
186
185
|
"aria-controls": "mobile-tab-dropdown",
|
|
187
186
|
"aria-expanded": this.state.isMobileMenuOpen
|
|
188
|
-
}, "\u2630"), this.state.isMobileMenuOpen && /*#__PURE__*/
|
|
187
|
+
}, "\u2630"), this.state.isMobileMenuOpen && /*#__PURE__*/React.createElement("div", {
|
|
189
188
|
className: "mobile-tab-dropdown"
|
|
190
|
-
}, /*#__PURE__*/
|
|
189
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
191
190
|
onClick: function onClick() {
|
|
192
191
|
return _this2.selectTab(0);
|
|
193
192
|
}
|
|
194
|
-
}, "Dataset Details"), /*#__PURE__*/
|
|
193
|
+
}, "Dataset Details"), /*#__PURE__*/React.createElement("button", {
|
|
195
194
|
onClick: function onClick() {
|
|
196
195
|
return _this2.selectTab(1);
|
|
197
196
|
}
|
|
198
|
-
}, "Write SQL"), this.isVisualizationEnabled() && /*#__PURE__*/
|
|
197
|
+
}, "Write SQL"), this.isVisualizationEnabled() && /*#__PURE__*/React.createElement("button", {
|
|
199
198
|
type: "button",
|
|
200
199
|
onClick: function onClick() {
|
|
201
200
|
return _this2.selectTab(2);
|
|
202
201
|
}
|
|
203
|
-
}, "Visualize")))), /*#__PURE__*/
|
|
202
|
+
}, "Visualize")))), /*#__PURE__*/React.createElement(_reactTabs.TabPanel, {
|
|
204
203
|
forceRender: true
|
|
205
|
-
}, /*#__PURE__*/
|
|
204
|
+
}, /*#__PURE__*/React.createElement(_datasetDetailView.default, null)), /*#__PURE__*/React.createElement(_reactTabs.TabPanel, null, /*#__PURE__*/React.createElement(_queryView.default, {
|
|
206
205
|
shouldAutoExecuteQuery: this.props.shouldAutoExecuteQuery
|
|
207
|
-
})), this.isVisualizationEnabled() && /*#__PURE__*/
|
|
206
|
+
})), this.isVisualizationEnabled() && /*#__PURE__*/React.createElement(_reactTabs.TabPanel, {
|
|
208
207
|
className: "visualization",
|
|
209
208
|
selectedClassName: "visualization--selected"
|
|
210
|
-
}, /*#__PURE__*/
|
|
209
|
+
}, /*#__PURE__*/React.createElement(_chartView.default, {
|
|
211
210
|
shouldAutoExecuteQuery: this.props.shouldAutoExecuteQuery
|
|
212
211
|
}))));
|
|
213
212
|
}
|
|
214
213
|
}]);
|
|
215
|
-
}(_react.Component);
|
|
214
|
+
}(_react.Component);
|
|
215
|
+
var _default = exports.default = DatasetView;
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _reactRouterDom = require("react-router-dom");
|
|
8
7
|
require("./oauth-error-view.scss");
|
|
9
8
|
var _qs = _interopRequireDefault(require("qs"));
|
|
10
9
|
var _routes = _interopRequireDefault(require("../../routes.js"));
|
|
@@ -30,14 +30,16 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
30
30
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
31
31
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
32
32
|
var hasAuthorizationCodeParameter = function hasAuthorizationCodeParameter(search) {
|
|
33
|
-
|
|
33
|
+
var parsed = _qs.default.parse(search, {
|
|
34
34
|
ignoreQueryPrefix: true
|
|
35
|
-
})
|
|
35
|
+
});
|
|
36
|
+
return Object.prototype.hasOwnProperty.call(parsed, 'code');
|
|
36
37
|
};
|
|
37
38
|
var hasError = function hasError(search) {
|
|
38
|
-
|
|
39
|
+
var parsed = _qs.default.parse(search, {
|
|
39
40
|
ignoreQueryPrefix: true
|
|
40
|
-
})
|
|
41
|
+
});
|
|
42
|
+
return Object.prototype.hasOwnProperty.call(parsed, 'error');
|
|
41
43
|
};
|
|
42
44
|
var getError = function getError(search) {
|
|
43
45
|
return _qs.default.parse(search, {
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
require("./query-view.scss");
|
|
9
|
-
var _react =
|
|
8
|
+
var _react = require("react");
|
|
10
9
|
var _queryForm = _interopRequireDefault(require("../../components/query-form"));
|
|
11
10
|
var _dataView = _interopRequireDefault(require("../../components/data-view"));
|
|
12
11
|
var _loadingElement = _interopRequireDefault(require("../../components/generic-elements/loading-element"));
|
|
13
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
14
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
13
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
17
14
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
15
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
@@ -41,21 +38,21 @@ var QueryView = function QueryView(props) {
|
|
|
41
38
|
var onNextPageClicked = function onNextPageClicked() {
|
|
42
39
|
setPage(page);
|
|
43
40
|
};
|
|
44
|
-
_react.
|
|
41
|
+
(0, _react.useEffect)(function () {
|
|
45
42
|
if (shouldAutoExecuteQuery) {
|
|
46
43
|
executeQuery(freestyleQueryText);
|
|
47
44
|
}
|
|
48
45
|
}, [shouldAutoExecuteQuery]);
|
|
49
|
-
_react.
|
|
46
|
+
(0, _react.useEffect)(function () {
|
|
50
47
|
setPage(0);
|
|
51
48
|
}, [queryData]);
|
|
52
49
|
var numRecords = queryData ? queryData.length + ' records returned' : '';
|
|
53
50
|
if (isQueryLoading && queryData.length === 0) {
|
|
54
|
-
return /*#__PURE__*/
|
|
51
|
+
return /*#__PURE__*/React.createElement("query-view", null, /*#__PURE__*/React.createElement(_loadingElement.default, null));
|
|
55
52
|
}
|
|
56
|
-
return /*#__PURE__*/
|
|
53
|
+
return /*#__PURE__*/React.createElement("query-view", {
|
|
57
54
|
"data-testid": "query-view"
|
|
58
|
-
}, /*#__PURE__*/
|
|
55
|
+
}, /*#__PURE__*/React.createElement(_queryForm.default, {
|
|
59
56
|
recommendations: recommendations,
|
|
60
57
|
usedDatasets: usedDatasets,
|
|
61
58
|
datasetReferences: datasetReferences,
|
|
@@ -67,11 +64,11 @@ var QueryView = function QueryView(props) {
|
|
|
67
64
|
executeQuery: executeQuery,
|
|
68
65
|
cancelQuery: cancelQuery,
|
|
69
66
|
setQueryText: setQueryText
|
|
70
|
-
}), /*#__PURE__*/
|
|
67
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
71
68
|
id: "dataset-preview-table"
|
|
72
|
-
}, /*#__PURE__*/
|
|
69
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
73
70
|
id: "numRecords"
|
|
74
|
-
}, numRecords), /*#__PURE__*/
|
|
71
|
+
}, numRecords), /*#__PURE__*/React.createElement(_dataView.default, {
|
|
75
72
|
data: queryData,
|
|
76
73
|
page: page,
|
|
77
74
|
columns: Object.keys(dataSources),
|