@urbanos/react-discovery-ui 2.1.53 → 2.1.55
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/assets/arrow_right.svg +6 -0
- package/lib/components/dataset-api-doc/api-example.js +1 -1
- package/lib/components/dataset-api-doc/dataset-api-doc.js +6 -3
- package/lib/components/dataset-dictionary/dataset-dictionary.js +2 -1
- package/lib/components/dataset-metadata/dataset-metadata.js +13 -8
- package/lib/components/dataset-recommendations/dataset-recommendations.js +2 -1
- package/lib/components/generic-elements/{arrow-button/arrow-button.js → arrow-left-button/arrow-left-button.js} +3 -3
- package/lib/components/generic-elements/{arrow-button → arrow-left-button}/index.js +2 -2
- package/lib/components/generic-elements/arrow-right-button/arrow-right-button.js +28 -0
- package/lib/components/generic-elements/arrow-right-button/index.js +9 -0
- package/lib/components/generic-elements/folder-icon/index.js +1 -1
- package/lib/components/generic-elements/paginator/paginator.js +4 -3
- package/lib/components/generic-elements/paginator/paginator.test.js +7 -5
- package/lib/components/query-form/query-form.js +4 -4
- package/lib/components/query-form/query-form.test.js +3 -3
- package/lib/components/recommendation-list/recommendation-list.js +2 -1
- package/lib/components/streaming-api-doc/streaming-api-doc.js +4 -2
- package/lib/pages/chart-view/chart-view.js +0 -1
- package/lib/pages/chart-view/chart-view.test.js +3 -3
- package/lib/pages/dataset-view/dataset-view.js +4 -2
- package/lib/pages/login-view/login-view.test.js +1 -1
- package/lib/pages/oauth-view/oauth-view.test.js +1 -1
- package/lib/pages/user-profile-view/user-profile-view.test.js +1 -1
- package/lib/search-params/search-params-manager.js +4 -4
- package/lib/search-params/search-params-manager.test.js +3 -3
- package/lib/store/sagas/login-saga.test.js +3 -3
- package/lib/store/sagas/visualization-saga.test.js +7 -7
- package/lib/utils/geojson-utils.test.js +1 -1
- package/lib/utils/modified-date-string-builder.js +1 -1
- package/package.json +1 -1
- /package/lib/assets/{arrow.svg → arrow_left.svg} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg viewBox="0 0 8 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g id="designs" stroke="none" stroke-width="1" transform="translate(0, 12) rotate(-90.000000)">
|
|
4
|
+
<polygon id="path-1" points="1.41 0.59 6 5.17 10.59 0.59 12 2 6 8 0 2"></polygon>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|
|
@@ -65,7 +65,7 @@ function renderHeader(header) {
|
|
|
65
65
|
className: "pill"
|
|
66
66
|
}, header.name)), /*#__PURE__*/React.createElement("td", {
|
|
67
67
|
className: "required-marker"
|
|
68
|
-
}, header.required ?
|
|
68
|
+
}, header.required ? 'Yes' : 'No'), /*#__PURE__*/React.createElement("td", null, header.default), /*#__PURE__*/React.createElement("td", null, header.description));
|
|
69
69
|
}
|
|
70
70
|
function renderExamples(examples, url) {
|
|
71
71
|
examples = examples.map(function (example) {
|
|
@@ -69,17 +69,20 @@ function freestyleDescription() {
|
|
|
69
69
|
role: "link",
|
|
70
70
|
className: "primary-color",
|
|
71
71
|
href: "https://en.wikipedia.org/wiki/SQL_syntax",
|
|
72
|
-
target: "_blank"
|
|
72
|
+
target: "_blank",
|
|
73
|
+
rel: "noreferrer"
|
|
73
74
|
}, "SQL Syntax (Wikipedia)")), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("a", {
|
|
74
75
|
role: "link",
|
|
75
76
|
className: "primary-color",
|
|
76
77
|
href: "https://www.w3schools.com/sql/sql_quickref.asp",
|
|
77
|
-
target: "_blank"
|
|
78
|
+
target: "_blank",
|
|
79
|
+
rel: "noreferrer"
|
|
78
80
|
}, "Quick Reference (W3 Schools)")), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("a", {
|
|
79
81
|
role: "link",
|
|
80
82
|
className: "primary-color",
|
|
81
83
|
href: "https://prestodb.github.io/docs/current/sql/select.html",
|
|
82
|
-
target: "_blank"
|
|
84
|
+
target: "_blank",
|
|
85
|
+
rel: "noreferrer"
|
|
83
86
|
}, "PrestoDB Specific Syntax"))));
|
|
84
87
|
}
|
|
85
88
|
function renderHeader() {
|
|
@@ -158,7 +158,8 @@ var viewLink = function viewLink(datasetId) {
|
|
|
158
158
|
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
159
159
|
href: "".concat(window.DISC_API_URL, "/api/v1/dataset/").concat(datasetId, "/dictionary"),
|
|
160
160
|
target: "_blank",
|
|
161
|
-
role: "link"
|
|
161
|
+
role: "link",
|
|
162
|
+
rel: "noreferrer"
|
|
162
163
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
163
164
|
className: "view-text"
|
|
164
165
|
}, "View as JSON")));
|
|
@@ -122,7 +122,8 @@ var _default = exports.default = function _default(_ref2) {
|
|
|
122
122
|
role: "link",
|
|
123
123
|
href: dataset.describedByUrl,
|
|
124
124
|
target: "_blank",
|
|
125
|
-
"aria-label": "Data Dictionary URL"
|
|
125
|
+
"aria-label": "Data Dictionary URL",
|
|
126
|
+
rel: "noreferrer"
|
|
126
127
|
}, dataset.describedByUrl) : /*#__PURE__*/_react.default.createElement("span", null, "Unavailable")
|
|
127
128
|
}, {
|
|
128
129
|
Field: 'Data Dictionary Type',
|
|
@@ -139,8 +140,9 @@ var _default = exports.default = function _default(_ref2) {
|
|
|
139
140
|
role: "link",
|
|
140
141
|
href: dataset.homepage,
|
|
141
142
|
target: "_blank",
|
|
142
|
-
"aria-label": "Homepage URL"
|
|
143
|
-
|
|
143
|
+
"aria-label": "Homepage URL",
|
|
144
|
+
rel: "noreferrer"
|
|
145
|
+
}, (_dataset$homepage = dataset.homepage) !== null && _dataset$homepage !== void 0 ? _dataset$homepage : 'Unavailable') : /*#__PURE__*/_react.default.createElement("span", null, "Unavailable")
|
|
144
146
|
}, {
|
|
145
147
|
Field: 'Related Documents',
|
|
146
148
|
Value: referenceUrls.length === 0 ? /*#__PURE__*/_react.default.createElement("span", null, "None") : referenceUrls.map(function (url) {
|
|
@@ -150,7 +152,8 @@ var _default = exports.default = function _default(_ref2) {
|
|
|
150
152
|
role: "link",
|
|
151
153
|
href: url,
|
|
152
154
|
target: "_blank",
|
|
153
|
-
"aria-label": "Related Document URL"
|
|
155
|
+
"aria-label": "Related Document URL",
|
|
156
|
+
rel: "noreferrer"
|
|
154
157
|
}, url));
|
|
155
158
|
})
|
|
156
159
|
}, {
|
|
@@ -159,8 +162,9 @@ var _default = exports.default = function _default(_ref2) {
|
|
|
159
162
|
role: "link",
|
|
160
163
|
href: dataset.sourceUrl,
|
|
161
164
|
target: "_blank",
|
|
162
|
-
"aria-label": "Source URL"
|
|
163
|
-
|
|
165
|
+
"aria-label": "Source URL",
|
|
166
|
+
rel: "noreferrer"
|
|
167
|
+
}, (_dataset$sourceUrl = dataset.sourceUrl) !== null && _dataset$sourceUrl !== void 0 ? _dataset$sourceUrl : 'Unavailable') : /*#__PURE__*/_react.default.createElement("span", null, "Unavailable")
|
|
164
168
|
}, {
|
|
165
169
|
Field: 'Source Type',
|
|
166
170
|
Value: dataset.sourceType
|
|
@@ -170,8 +174,9 @@ var _default = exports.default = function _default(_ref2) {
|
|
|
170
174
|
role: "link",
|
|
171
175
|
href: dataset.license,
|
|
172
176
|
target: "_blank",
|
|
173
|
-
"aria-label": "License URL"
|
|
174
|
-
|
|
177
|
+
"aria-label": "License URL",
|
|
178
|
+
rel: "noreferrer"
|
|
179
|
+
}, (_dataset$license = dataset.license) !== null && _dataset$license !== void 0 ? _dataset$license : 'Unavailable') : /*#__PURE__*/_react.default.createElement("span", null, "Unavailable")
|
|
175
180
|
}, {
|
|
176
181
|
Field: 'Category',
|
|
177
182
|
Value: dataset.catagories
|
|
@@ -35,7 +35,8 @@ var DatasetRecommendations = function DatasetRecommendations(props) {
|
|
|
35
35
|
}, /*#__PURE__*/React.createElement("a", {
|
|
36
36
|
role: "link",
|
|
37
37
|
href: _utils.RecommendationUtils.getDatasetUrl(rec),
|
|
38
|
-
target: "_blank"
|
|
38
|
+
target: "_blank",
|
|
39
|
+
rel: "noreferrer"
|
|
39
40
|
}, rec.dataTitle));
|
|
40
41
|
}))));
|
|
41
42
|
};
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _arrow_left = _interopRequireDefault(require("../../../assets/arrow_left.svg"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
var ENABLED_COLOR = '#000000';
|
|
10
10
|
var DISABLED_COLOR = '#595959';
|
|
@@ -19,10 +19,10 @@ var _default = exports.default = function _default(_ref) {
|
|
|
19
19
|
disabled: disabled,
|
|
20
20
|
className: "".concat(className, " ").concat(disabled ? 'disabled' : ''),
|
|
21
21
|
onClick: onClick
|
|
22
|
-
}, /*#__PURE__*/React.createElement(
|
|
22
|
+
}, /*#__PURE__*/React.createElement(_arrow_left.default, {
|
|
23
23
|
className: innerClass,
|
|
24
24
|
height: "inherit",
|
|
25
25
|
fill: disabled ? DISABLED_COLOR : ENABLED_COLOR,
|
|
26
|
-
accessibilityDesc: "Arrow"
|
|
26
|
+
accessibilityDesc: "Arrow Left"
|
|
27
27
|
}));
|
|
28
28
|
};
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _arrowLeftButton = _interopRequireDefault(require("./arrow-left-button"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
var _default = exports.default =
|
|
9
|
+
var _default = exports.default = _arrowLeftButton.default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _arrow_right = _interopRequireDefault(require("../../../assets/arrow_right.svg"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var ENABLED_COLOR = '#000000';
|
|
10
|
+
var DISABLED_COLOR = '#595959';
|
|
11
|
+
var _default = exports.default = function _default(_ref) {
|
|
12
|
+
var className = _ref.className,
|
|
13
|
+
_ref$disabled = _ref.disabled,
|
|
14
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
15
|
+
_ref$onClick = _ref.onClick,
|
|
16
|
+
onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
|
|
17
|
+
innerClass = _ref.innerClass;
|
|
18
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
19
|
+
disabled: disabled,
|
|
20
|
+
className: "".concat(className, " ").concat(disabled ? 'disabled' : ''),
|
|
21
|
+
onClick: onClick
|
|
22
|
+
}, /*#__PURE__*/React.createElement(_arrow_right.default, {
|
|
23
|
+
className: innerClass,
|
|
24
|
+
height: "inherit",
|
|
25
|
+
fill: disabled ? DISABLED_COLOR : ENABLED_COLOR,
|
|
26
|
+
accessibilityDesc: "Arrow Right"
|
|
27
|
+
}));
|
|
28
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _arrowRightButton = _interopRequireDefault(require("./arrow-right-button"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var _default = exports.default = _arrowRightButton.default;
|
|
@@ -9,7 +9,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
9
9
|
var _default = exports.default = function _default(_ref) {
|
|
10
10
|
var className = _ref.className,
|
|
11
11
|
_ref$accessibilityDes = _ref.accessibilityDesc,
|
|
12
|
-
accessibilityDesc = _ref$accessibilityDes === void 0 ?
|
|
12
|
+
accessibilityDesc = _ref$accessibilityDes === void 0 ? 'Folder Icon' : _ref$accessibilityDes;
|
|
13
13
|
return /*#__PURE__*/React.createElement("span", {
|
|
14
14
|
className: className
|
|
15
15
|
}, /*#__PURE__*/React.createElement(_folder_icon.default, {
|
|
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
require("./paginator.scss");
|
|
8
8
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
-
var
|
|
9
|
+
var _arrowLeftButton = _interopRequireDefault(require("../arrow-left-button"));
|
|
10
|
+
var _arrowRightButton = _interopRequireDefault(require("../arrow-right-button"));
|
|
10
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
12
|
var DISPLAY_SIZE = 7;
|
|
12
13
|
// Half the display width minus the first/last element and the elipsis
|
|
@@ -20,7 +21,7 @@ var _default = exports.default = function _default(_ref) {
|
|
|
20
21
|
return /*#__PURE__*/React.createElement("paginator-element", {
|
|
21
22
|
"data-testid": "paginator",
|
|
22
23
|
class: className
|
|
23
|
-
}, /*#__PURE__*/React.createElement(
|
|
24
|
+
}, /*#__PURE__*/React.createElement(_arrowLeftButton.default, {
|
|
24
25
|
className: "pagination-box arrow",
|
|
25
26
|
disabled: currentPage === 1,
|
|
26
27
|
onClick: function onClick() {
|
|
@@ -29,7 +30,7 @@ var _default = exports.default = function _default(_ref) {
|
|
|
29
30
|
innerClass: "left-arrow"
|
|
30
31
|
}), options.map(function (text, index) {
|
|
31
32
|
return createOption(index, text, currentPage, pageChangeCallback);
|
|
32
|
-
}), /*#__PURE__*/React.createElement(
|
|
33
|
+
}), /*#__PURE__*/React.createElement(_arrowRightButton.default, {
|
|
33
34
|
className: "pagination-box arrow",
|
|
34
35
|
disabled: currentPage === numberOfPages,
|
|
35
36
|
onClick: function onClick() {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import Paginator from './paginator'
|
|
2
|
-
import ArrowButton from '../arrow-button'
|
|
2
|
+
// import ArrowButton from '../arrow-button'
|
|
3
|
+
import ArrowRightButton from '../arrow-right-button'
|
|
4
|
+
import ArrowLeftButton from '../arrow-left-button'
|
|
3
5
|
import { shallow } from 'enzyme'
|
|
4
6
|
|
|
5
7
|
describe('Paginator', () => {
|
|
@@ -108,7 +110,7 @@ describe('Paginator', () => {
|
|
|
108
110
|
test('clicking the left arrow when on the first page does nothing', () => {
|
|
109
111
|
const subject = shallow(<Paginator currentPage={1} numberOfPages={15} pageChangeCallback={pageChangeCallback} />)
|
|
110
112
|
|
|
111
|
-
subject.find(
|
|
113
|
+
subject.find(ArrowLeftButton).at(0).props().onClick()
|
|
112
114
|
|
|
113
115
|
expect(pageChangeCallback).not.toHaveBeenCalled()
|
|
114
116
|
})
|
|
@@ -116,7 +118,7 @@ describe('Paginator', () => {
|
|
|
116
118
|
test('clicking the right arrow when on the last page does nothing', () => {
|
|
117
119
|
const subject = shallow(<Paginator currentPage={15} numberOfPages={15} pageChangeCallback={pageChangeCallback} />)
|
|
118
120
|
|
|
119
|
-
subject.find(
|
|
121
|
+
subject.find(ArrowRightButton).at(0).props().onClick()
|
|
120
122
|
|
|
121
123
|
expect(pageChangeCallback).not.toHaveBeenCalled()
|
|
122
124
|
})
|
|
@@ -124,7 +126,7 @@ describe('Paginator', () => {
|
|
|
124
126
|
test('clicking the left arrow invokes the pageChangeCallback with the previous page', () => {
|
|
125
127
|
const subject = shallow(<Paginator currentPage={4} numberOfPages={15} pageChangeCallback={pageChangeCallback} />)
|
|
126
128
|
|
|
127
|
-
subject.find(
|
|
129
|
+
subject.find(ArrowLeftButton).at(0).props().onClick()
|
|
128
130
|
|
|
129
131
|
expect(pageChangeCallback).toHaveBeenCalledWith(3)
|
|
130
132
|
})
|
|
@@ -132,7 +134,7 @@ describe('Paginator', () => {
|
|
|
132
134
|
test('clicking the right arrow invokes the pageChangeCallback with the next page', () => {
|
|
133
135
|
const subject = shallow(<Paginator currentPage={4} numberOfPages={15} pageChangeCallback={pageChangeCallback} />)
|
|
134
136
|
|
|
135
|
-
subject.find(
|
|
137
|
+
subject.find(ArrowRightButton).at(0).props().onClick()
|
|
136
138
|
|
|
137
139
|
expect(pageChangeCallback).toHaveBeenCalledWith(5)
|
|
138
140
|
})
|
|
@@ -140,7 +140,7 @@ var QueryForm = function QueryForm(props) {
|
|
|
140
140
|
var queryDataDownloadLinkAsCsv = function queryDataDownloadLinkAsCsv() {
|
|
141
141
|
dataObj = queryDataToCSV(queryData);
|
|
142
142
|
data = new Blob([dataObj], {
|
|
143
|
-
type:
|
|
143
|
+
type: 'application/json'
|
|
144
144
|
});
|
|
145
145
|
tempLink = document.createElement('a');
|
|
146
146
|
tempLink.href = window.URL.createObjectURL(data);
|
|
@@ -150,7 +150,7 @@ var QueryForm = function QueryForm(props) {
|
|
|
150
150
|
var queryDataDownloadLinkAsJson = function queryDataDownloadLinkAsJson() {
|
|
151
151
|
dataObj = JSON.stringify(queryData);
|
|
152
152
|
data = new Blob([dataObj], {
|
|
153
|
-
type:
|
|
153
|
+
type: 'text/csv'
|
|
154
154
|
});
|
|
155
155
|
tempLink = document.createElement('a');
|
|
156
156
|
tempLink.href = window.URL.createObjectURL(data);
|
|
@@ -158,9 +158,9 @@ var QueryForm = function QueryForm(props) {
|
|
|
158
158
|
tempLink.click();
|
|
159
159
|
};
|
|
160
160
|
var queryDataDownloadLinkAsXml = function queryDataDownloadLinkAsXml() {
|
|
161
|
-
dataObj = (0, _js2xmlparser.parse)(
|
|
161
|
+
dataObj = (0, _js2xmlparser.parse)('results', queryData);
|
|
162
162
|
data = new Blob([dataObj], {
|
|
163
|
-
type:
|
|
163
|
+
type: 'application/xml'
|
|
164
164
|
});
|
|
165
165
|
tempLink = document.createElement('a');
|
|
166
166
|
tempLink.href = window.URL.createObjectURL(data);
|
|
@@ -213,11 +213,11 @@ describe('QueryForm', () => {
|
|
|
213
213
|
})
|
|
214
214
|
})
|
|
215
215
|
|
|
216
|
-
function createSubject(params) {
|
|
216
|
+
function createSubject (params) {
|
|
217
217
|
const defaults = {
|
|
218
218
|
queryText: 'SELECT * FROM sky',
|
|
219
219
|
queryData: [],
|
|
220
|
-
recommendations
|
|
220
|
+
recommendations,
|
|
221
221
|
usedDatasets: [],
|
|
222
222
|
datasetReferences: {},
|
|
223
223
|
queryFailureMessage: '',
|
|
@@ -242,7 +242,7 @@ function createSubject(params) {
|
|
|
242
242
|
)
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
function getButton(subject, text) {
|
|
245
|
+
function getButton (subject, text) {
|
|
246
246
|
const isButton = x => x.type() === 'button' && x.text() === text
|
|
247
247
|
return subject.findWhere(isButton)
|
|
248
248
|
}
|
|
@@ -58,7 +58,8 @@ var RecommendationList = function RecommendationList(props) {
|
|
|
58
58
|
role: "link",
|
|
59
59
|
href: _utils.RecommendationUtils.getDatasetUrl(recommendation),
|
|
60
60
|
target: "_blank",
|
|
61
|
-
className: "action"
|
|
61
|
+
className: "action",
|
|
62
|
+
rel: "noreferrer"
|
|
62
63
|
}, recommendation.dataTitle)));
|
|
63
64
|
});
|
|
64
65
|
};
|
|
@@ -51,11 +51,13 @@ var _default = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
51
51
|
}, "Phoenix Channels clients"), /*#__PURE__*/React.createElement("div", null, "For application development, look at the ", /*#__PURE__*/React.createElement("a", {
|
|
52
52
|
role: "link",
|
|
53
53
|
href: "https://www.npmjs.com/package/phoenix",
|
|
54
|
-
target: "_blank"
|
|
54
|
+
target: "_blank",
|
|
55
|
+
rel: "noreferrer"
|
|
55
56
|
}, "official Phoenix Javascript library"), ", or one of the ", /*#__PURE__*/React.createElement("a", {
|
|
56
57
|
role: "link",
|
|
57
58
|
href: "https://hexdocs.pm/phoenix/channels.html#client-libraries",
|
|
58
|
-
target: "_blank"
|
|
59
|
+
target: "_blank",
|
|
60
|
+
rel: "noreferrer"
|
|
59
61
|
}, "other client libraries"))));
|
|
60
62
|
}
|
|
61
63
|
}, {
|
|
@@ -8,7 +8,6 @@ exports.default = void 0;
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
require("./chart-view.scss");
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
require("react-chart-editor/lib/react-chart-editor.ie.css");
|
|
12
11
|
var _lib = _interopRequireWildcard(require("react-chart-editor/lib"));
|
|
13
12
|
var _plotly = _interopRequireDefault(require("plotly.js/dist/plotly"));
|
|
14
13
|
var _lodash = require("lodash");
|
|
@@ -89,7 +89,7 @@ describe('chart view', () => {
|
|
|
89
89
|
beforeEach(() => {
|
|
90
90
|
window.LOGO_URL = 'https://placekitten.com/530/530'
|
|
91
91
|
window.MAPBOX_ACCESS_TOKEN = 'secret key'
|
|
92
|
-
subject = createSubject({ dataSources
|
|
92
|
+
subject = createSubject({ dataSources })
|
|
93
93
|
})
|
|
94
94
|
|
|
95
95
|
it('renders a chart editor', () => {
|
|
@@ -157,7 +157,7 @@ describe('chart view', () => {
|
|
|
157
157
|
|
|
158
158
|
beforeEach(() => {
|
|
159
159
|
setChartInformation = jest.fn()
|
|
160
|
-
subject = createSubject({ dataSources
|
|
160
|
+
subject = createSubject({ dataSources, chart: { data: plotlyData, frames: [], layout: {} }, setChartInformation })
|
|
161
161
|
setChartInformation.mockClear()
|
|
162
162
|
})
|
|
163
163
|
|
|
@@ -186,7 +186,7 @@ describe('chart view', () => {
|
|
|
186
186
|
subject.find(PlotlyEditor).props().onUpdate(data, {}, [])
|
|
187
187
|
|
|
188
188
|
expect(setChartInformation).toHaveBeenCalledTimes(1)
|
|
189
|
-
expect(setChartInformation).toHaveBeenCalledWith({ data
|
|
189
|
+
expect(setChartInformation).toHaveBeenCalledWith({ data, layout: {}, frames: [] })
|
|
190
190
|
})
|
|
191
191
|
})
|
|
192
192
|
})
|
|
@@ -139,13 +139,15 @@ var _default = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
139
139
|
role: "link",
|
|
140
140
|
className: "helpLink primary-color",
|
|
141
141
|
target: "_blank",
|
|
142
|
-
href: "https://en.wikipedia.org/wiki/SQL_syntax"
|
|
142
|
+
href: "https://en.wikipedia.org/wiki/SQL_syntax",
|
|
143
|
+
rel: "noreferrer"
|
|
143
144
|
}, "SQL Help"), this.isVisualizationEnabled() && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", null, "|"), /*#__PURE__*/_react.default.createElement("a", {
|
|
144
145
|
role: "link",
|
|
145
146
|
id: "plotlyhelp",
|
|
146
147
|
className: "helpLink primary-color",
|
|
147
148
|
target: "_blank",
|
|
148
|
-
href: "https://plotly.com/chart-studio-help/tutorials/#basic"
|
|
149
|
+
href: "https://plotly.com/chart-studio-help/tutorials/#basic",
|
|
150
|
+
rel: "noreferrer"
|
|
149
151
|
}, "Plot.ly Help")))), this.isNotDatasetDetailsTab() && /*#__PURE__*/_react.default.createElement("span", {
|
|
150
152
|
className: "action-area"
|
|
151
153
|
}, /*#__PURE__*/_react.default.createElement(_visualizationListMenuItem.default, {
|
|
@@ -18,6 +18,6 @@ describe('login view', () => {
|
|
|
18
18
|
subject.find('.password').simulate('change', { target: { value: password } })
|
|
19
19
|
subject.find('.submit').simulate('click')
|
|
20
20
|
|
|
21
|
-
expect(loginSpy).toHaveBeenCalledWith({ username
|
|
21
|
+
expect(loginSpy).toHaveBeenCalledWith({ username, password, history: fakeHistory })
|
|
22
22
|
})
|
|
23
23
|
})
|
|
@@ -82,7 +82,7 @@ describe('OAuth View', () => {
|
|
|
82
82
|
subject = createSubject({
|
|
83
83
|
callLoggedIn: callLoggedInHandler,
|
|
84
84
|
history,
|
|
85
|
-
auth: { handleRedirectCallback
|
|
85
|
+
auth: { handleRedirectCallback, isLoading: false },
|
|
86
86
|
setGlobalErrorState: setGlobalErrorStateHandler
|
|
87
87
|
})
|
|
88
88
|
})
|
|
@@ -52,7 +52,7 @@ var SearchParamsManager = exports.SearchParamsManager = /*#__PURE__*/function ()
|
|
|
52
52
|
this.sortOrder = this.getParam('sort') || defaults.sortOrder;
|
|
53
53
|
this.page = Number.parseInt(this.getParam('page')) || defaults.page;
|
|
54
54
|
this.searchText = this.getParam('q') || defaults.searchText;
|
|
55
|
-
this.facets = this.getFacets(); //this.getParam('facets') || defaults.facets
|
|
55
|
+
this.facets = this.getFacets(); // this.getParam('facets') || defaults.facets
|
|
56
56
|
}
|
|
57
57
|
return _createClass(SearchParamsManager, [{
|
|
58
58
|
key: "getParam",
|
|
@@ -153,7 +153,7 @@ var SearchParamsManager = exports.SearchParamsManager = /*#__PURE__*/function ()
|
|
|
153
153
|
if (focusedElement !== null && focusedElement !== document.body) {
|
|
154
154
|
focusedID = focusedElement.id;
|
|
155
155
|
}
|
|
156
|
-
sessionStorage.setItem(
|
|
156
|
+
sessionStorage.setItem('cachedFocusedElement', focusedID);
|
|
157
157
|
}
|
|
158
158
|
}]);
|
|
159
159
|
}();
|
|
@@ -175,8 +175,8 @@ var withSearchParamsManager = exports.default = function withSearchParamsManager
|
|
|
175
175
|
var searchParamsManager = new SearchParamsManager(history);
|
|
176
176
|
var dispatchDatasetSearch = function dispatchDatasetSearch() {
|
|
177
177
|
try {
|
|
178
|
-
var cachedElementID = sessionStorage.getItem(
|
|
179
|
-
sessionStorage.removeItem(
|
|
178
|
+
var cachedElementID = sessionStorage.getItem('cachedFocusedElement');
|
|
179
|
+
sessionStorage.removeItem('cachedFocusedElement');
|
|
180
180
|
var cachedElement = document.getElementById(cachedElementID);
|
|
181
181
|
cachedElement.focus();
|
|
182
182
|
} catch (e) {}
|
|
@@ -444,8 +444,8 @@ describe('withSearchParamsManager', () => {
|
|
|
444
444
|
})
|
|
445
445
|
|
|
446
446
|
it('refocuses any cached element after the search', () => {
|
|
447
|
-
|
|
448
|
-
|
|
447
|
+
const fakeElementId = 'fakeElement'
|
|
448
|
+
const fakeElement = { focus: jest.fn() }
|
|
449
449
|
sessionStorage.setItem('cachedFocusedElement', fakeElementId)
|
|
450
450
|
document.getElementById = jest.fn(() => fakeElement)
|
|
451
451
|
|
|
@@ -487,4 +487,4 @@ function TestableProvider ({ children, store, ...props }) {
|
|
|
487
487
|
{React.cloneElement(children, { ...props })}
|
|
488
488
|
</Provider>
|
|
489
489
|
)
|
|
490
|
-
}
|
|
490
|
+
}
|
|
@@ -33,9 +33,9 @@ describe('login-saga', () => {
|
|
|
33
33
|
const response = {
|
|
34
34
|
status: 200,
|
|
35
35
|
headers: {
|
|
36
|
-
token
|
|
36
|
+
token
|
|
37
37
|
},
|
|
38
|
-
data
|
|
38
|
+
data
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
beforeEach(() => {
|
|
@@ -63,7 +63,7 @@ describe('login-saga', () => {
|
|
|
63
63
|
it('dispatches a LOGIN_FAILURE event based on 401 code', () => {
|
|
64
64
|
const response = {
|
|
65
65
|
status: 401,
|
|
66
|
-
data
|
|
66
|
+
data
|
|
67
67
|
}
|
|
68
68
|
mockAxios.get.mockImplementationOnce(() => (response))
|
|
69
69
|
|
|
@@ -158,8 +158,8 @@ describe('visualization-saga', () => {
|
|
|
158
158
|
it('calls api with parameters that include a dereferenced chart', () => {
|
|
159
159
|
expect(AuthenticatedHTTPClient.post).toHaveBeenCalledWith('/api/v1/visualization',
|
|
160
160
|
{
|
|
161
|
-
title
|
|
162
|
-
query
|
|
161
|
+
title,
|
|
162
|
+
query,
|
|
163
163
|
chart: { data: [{ x: null, xsrc: 'col1' }], frames: [], layout: {} }
|
|
164
164
|
}
|
|
165
165
|
)
|
|
@@ -238,9 +238,9 @@ describe('visualization-saga', () => {
|
|
|
238
238
|
it('calls api with parameters that include a dereferenced chart', () => {
|
|
239
239
|
expect(AuthenticatedHTTPClient.put).toHaveBeenCalledWith(`/api/v1/visualization/${id}`,
|
|
240
240
|
{
|
|
241
|
-
id
|
|
242
|
-
title
|
|
243
|
-
query
|
|
241
|
+
id,
|
|
242
|
+
title,
|
|
243
|
+
query,
|
|
244
244
|
chart: { data: [{ x: null, xsrc: 'col1' }], frames: [], layout: {} }
|
|
245
245
|
}
|
|
246
246
|
)
|
|
@@ -295,8 +295,8 @@ describe('visualization-saga', () => {
|
|
|
295
295
|
it('calls api with parameters that include a dereferenced chart', () => {
|
|
296
296
|
expect(AuthenticatedHTTPClient.post).toHaveBeenCalledWith('/api/v1/visualization',
|
|
297
297
|
{
|
|
298
|
-
title
|
|
299
|
-
query
|
|
298
|
+
title,
|
|
299
|
+
query,
|
|
300
300
|
chart: { data: [{ x: null, xsrc: 'col1' }], frames: [], layout: {} }
|
|
301
301
|
}
|
|
302
302
|
)
|
|
@@ -3,7 +3,7 @@ import { GeoJsonUtils } from './'
|
|
|
3
3
|
describe('determine bounding box', () => {
|
|
4
4
|
it('returns bbox when present on the dataset', () => {
|
|
5
5
|
const bbox = [5, 4, 3, 2]
|
|
6
|
-
const geoJsonData = { bbox
|
|
6
|
+
const geoJsonData = { bbox }
|
|
7
7
|
|
|
8
8
|
const result = GeoJsonUtils.determineBBox(geoJsonData)
|
|
9
9
|
|
|
@@ -22,7 +22,7 @@ var buildDate = function buildDate(date, format) {
|
|
|
22
22
|
if (!date) return NO_DATE_MESSAGE;
|
|
23
23
|
return _luxon.DateTime.fromISO(date, {
|
|
24
24
|
zone: 'utc'
|
|
25
|
-
}).endOf(
|
|
25
|
+
}).endOf('day').setZone('local').toLocaleString(format);
|
|
26
26
|
};
|
|
27
27
|
var _default = exports.default = {
|
|
28
28
|
createDateString: createDateString
|
package/package.json
CHANGED
|
File without changes
|