@atlaskit/link-datasource 1.12.1 → 1.12.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 1.12.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#42706](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42706) [`c3c9a5ec9c9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c3c9a5ec9c9) - Fix a problem where when column dragging start on top of a label - it drags whole table
8
+
9
+ ## 1.12.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [#42675](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42675) [`bce00b9b36f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bce00b9b36f) - [ux] Updated Assets Config Modal to also show unauthorized state
14
+ Updated useDatasourceTableState to return unauthorized state on 401 & 403 responses
15
+ - Updated dependencies
16
+
3
17
  ## 1.12.1
4
18
 
5
19
  ### Patch Changes
@@ -7,5 +7,5 @@ exports.packageMetaData = exports.EVENT_CHANNEL = void 0;
7
7
  var EVENT_CHANNEL = exports.EVENT_CHANNEL = 'media';
8
8
  var packageMetaData = exports.packageMetaData = {
9
9
  packageName: "@atlaskit/link-datasource",
10
- packageVersion: "1.12.1"
10
+ packageVersion: "1.12.3"
11
11
  };
@@ -102,13 +102,20 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
102
102
  allColumns = schema.properties;
103
103
  newColumns = allColumns.filter(isColumnNotPresentInCurrentColumnsList);
104
104
  newColumns.length > 0 && setColumns([].concat((0, _toConsumableArray2.default)(columns), (0, _toConsumableArray2.default)(newColumns)));
105
- _context.next = 20;
105
+ _context.next = 23;
106
106
  break;
107
107
  case 17:
108
108
  _context.prev = 17;
109
109
  _context.t0 = _context["catch"](2);
110
+ if (!(_context.t0 instanceof Response && (_context.t0.status === 401 || _context.t0.status === 403))) {
111
+ _context.next = 22;
112
+ break;
113
+ }
114
+ setStatus('unauthorized');
115
+ return _context.abrupt("return");
116
+ case 22:
110
117
  setStatus('rejected');
111
- case 20:
118
+ case 23:
112
119
  case "end":
113
120
  return _context.stop();
114
121
  }
@@ -221,13 +228,20 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
221
228
  });
222
229
  }
223
230
  setStatus('resolved');
224
- _context2.next = 38;
231
+ _context2.next = 41;
225
232
  break;
226
233
  case 35:
227
234
  _context2.prev = 35;
228
235
  _context2.t0 = _context2["catch"](6);
236
+ if (!(_context2.t0 instanceof Response && (_context2.t0.status === 401 || _context2.t0.status === 403))) {
237
+ _context2.next = 40;
238
+ break;
239
+ }
240
+ setStatus('unauthorized');
241
+ return _context2.abrupt("return");
242
+ case 40:
229
243
  setStatus('rejected');
230
- case 38:
244
+ case 41:
231
245
  case "end":
232
246
  return _context2.stop();
233
247
  }
@@ -167,7 +167,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
167
167
  setVisibleColumnKeys(defaultVisibleColumnKeys);
168
168
  }
169
169
  }, [defaultVisibleColumnKeys, isNewSearch]);
170
- var isDisabled = !!workspaceError || status === 'rejected' || status === 'loading' || status === 'empty' || assetsClientLoading || !aql || !schemaId;
170
+ var isDisabled = !!workspaceError || status !== 'resolved' || assetsClientLoading || !aql || !schemaId;
171
171
  var retrieveUrlForSmartCardRender = (0, _react.useCallback)(function () {
172
172
  var _data$key;
173
173
  var _responseItems = (0, _slicedToArray2.default)(responseItems, 1),
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.RenderAssetsContent = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
+ var _accessRequired = require("../../../common/error-state/access-required");
9
10
  var _modalLoadingError = require("../../../common/error-state/modal-loading-error");
10
11
  var _noResults = require("../../../common/error-state/no-results");
11
12
  var _issueLikeTable = require("../../../issue-like-table");
@@ -40,6 +41,8 @@ var RenderAssetsContent = exports.RenderAssetsContent = function RenderAssetsCon
40
41
  }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys, modalRenderInstanceId]);
41
42
  if (status === 'rejected') {
42
43
  return /*#__PURE__*/_react.default.createElement(_modalLoadingError.ModalLoadingError, null);
44
+ } else if (status === 'unauthorized') {
45
+ return /*#__PURE__*/_react.default.createElement(_accessRequired.AccessRequired, null);
43
46
  } else if (status === 'empty') {
44
47
  return /*#__PURE__*/_react.default.createElement(_initialStateView.InitialStateView, null);
45
48
  } else if (resolvedWithNoResults) {
@@ -55,6 +55,7 @@ var AccessRequired = exports.AccessRequired = function AccessRequired(_ref2) {
55
55
  }, [fireEvent]);
56
56
  if (url) {
57
57
  return (0, _react2.jsx)(_emptyState.default, {
58
+ testId: "datasource--access-required-with-url",
58
59
  header: formatMessage(_messages.loadingErrorMessages.accessRequiredWithSite),
59
60
  description: (0, _react2.jsx)(Description, {
60
61
  message: formatMessage(_messages.loadingErrorMessages.accessInstructions),
@@ -64,6 +65,7 @@ var AccessRequired = exports.AccessRequired = function AccessRequired(_ref2) {
64
65
  });
65
66
  }
66
67
  return (0, _react2.jsx)(_emptyState.default, {
68
+ testId: "datasource--access-required",
67
69
  header: formatMessage(_messages.loadingErrorMessages.accessRequired),
68
70
  description: formatMessage(_messages.loadingErrorMessages.accessInstructions),
69
71
  renderImage: IconContainer
@@ -373,6 +373,11 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
373
373
  }, _callee, null, [[3, 9]]);
374
374
  })), [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
375
375
  return (0, _react2.jsx)("div", {
376
+ /* There is required contentEditable={true} in editor-card-plugin
377
+ * But this brakes how DND works. We set contentEditable={false} to allow DND to work
378
+ * when dragging is initiated on top of a column label.
379
+ */
380
+ contentEditable: false,
376
381
  ref: containerRef,
377
382
  css: scrollableContainerHeight ? scrollableContainerStyles : null,
378
383
  style: scrollableContainerHeight ? {
@@ -1,5 +1,5 @@
1
1
  export const EVENT_CHANNEL = 'media';
2
2
  export const packageMetaData = {
3
3
  packageName: "@atlaskit/link-datasource",
4
- packageVersion: "1.12.1"
4
+ packageVersion: "1.12.3"
5
5
  };
@@ -49,6 +49,10 @@ export const useDatasourceTableState = ({
49
49
  const newColumns = allColumns.filter(isColumnNotPresentInCurrentColumnsList);
50
50
  newColumns.length > 0 && setColumns([...columns, ...newColumns]);
51
51
  } catch (e) {
52
+ if (e instanceof Response && (e.status === 401 || e.status === 403)) {
53
+ setStatus('unauthorized');
54
+ return;
55
+ }
52
56
  setStatus('rejected');
53
57
  }
54
58
  }, [columns, datasourceId, getDatasourceDetails, parameters]);
@@ -131,6 +135,10 @@ export const useDatasourceTableState = ({
131
135
  }
132
136
  setStatus('resolved');
133
137
  } catch (e) {
138
+ if (e instanceof Response && (e.status === 401 || e.status === 403)) {
139
+ setStatus('unauthorized');
140
+ return;
141
+ }
134
142
  setStatus('rejected');
135
143
  }
136
144
  }, [parameters, fieldKeys, nextCursor, getDatasourceData, datasourceId, responseItems === null || responseItems === void 0 ? void 0 : responseItems.length, applySchemaProperties, fireEvent]);
@@ -144,7 +144,7 @@ const PlainAssetsConfigModal = props => {
144
144
  setVisibleColumnKeys(defaultVisibleColumnKeys);
145
145
  }
146
146
  }, [defaultVisibleColumnKeys, isNewSearch]);
147
- const isDisabled = !!workspaceError || status === 'rejected' || status === 'loading' || status === 'empty' || assetsClientLoading || !aql || !schemaId;
147
+ const isDisabled = !!workspaceError || status !== 'resolved' || assetsClientLoading || !aql || !schemaId;
148
148
  const retrieveUrlForSmartCardRender = useCallback(() => {
149
149
  var _data$key, _data$key$data;
150
150
  const [data] = responseItems;
@@ -1,4 +1,5 @@
1
1
  import React, { useMemo } from 'react';
2
+ import { AccessRequired } from '../../../common/error-state/access-required';
2
3
  import { ModalLoadingError } from '../../../common/error-state/modal-loading-error';
3
4
  import { NoResults } from '../../../common/error-state/no-results';
4
5
  import { EmptyState, IssueLikeDataTableView } from '../../../issue-like-table';
@@ -31,6 +32,8 @@ export const RenderAssetsContent = props => {
31
32
  }), [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys, modalRenderInstanceId]);
32
33
  if (status === 'rejected') {
33
34
  return /*#__PURE__*/React.createElement(ModalLoadingError, null);
35
+ } else if (status === 'unauthorized') {
36
+ return /*#__PURE__*/React.createElement(AccessRequired, null);
34
37
  } else if (status === 'empty') {
35
38
  return /*#__PURE__*/React.createElement(InitialStateView, null);
36
39
  } else if (resolvedWithNoResults) {
@@ -49,6 +49,7 @@ export const AccessRequired = ({
49
49
  }, [fireEvent]);
50
50
  if (url) {
51
51
  return jsx(EmptyState, {
52
+ testId: "datasource--access-required-with-url",
52
53
  header: formatMessage(loadingErrorMessages.accessRequiredWithSite),
53
54
  description: jsx(Description, {
54
55
  message: formatMessage(loadingErrorMessages.accessInstructions),
@@ -58,6 +59,7 @@ export const AccessRequired = ({
58
59
  });
59
60
  }
60
61
  return jsx(EmptyState, {
62
+ testId: "datasource--access-required",
61
63
  header: formatMessage(loadingErrorMessages.accessRequired),
62
64
  description: formatMessage(loadingErrorMessages.accessInstructions),
63
65
  renderImage: IconContainer
@@ -326,6 +326,11 @@ export const IssueLikeDataTableView = ({
326
326
  }
327
327
  }, [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
328
328
  return jsx("div", {
329
+ /* There is required contentEditable={true} in editor-card-plugin
330
+ * But this brakes how DND works. We set contentEditable={false} to allow DND to work
331
+ * when dragging is initiated on top of a column label.
332
+ */
333
+ contentEditable: false,
329
334
  ref: containerRef,
330
335
  css: scrollableContainerHeight ? scrollableContainerStyles : null,
331
336
  style: scrollableContainerHeight ? {
@@ -1,5 +1,5 @@
1
1
  export var EVENT_CHANNEL = 'media';
2
2
  export var packageMetaData = {
3
3
  packageName: "@atlaskit/link-datasource",
4
- packageVersion: "1.12.1"
4
+ packageVersion: "1.12.3"
5
5
  };
@@ -95,13 +95,20 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
95
95
  allColumns = schema.properties;
96
96
  newColumns = allColumns.filter(isColumnNotPresentInCurrentColumnsList);
97
97
  newColumns.length > 0 && setColumns([].concat(_toConsumableArray(columns), _toConsumableArray(newColumns)));
98
- _context.next = 20;
98
+ _context.next = 23;
99
99
  break;
100
100
  case 17:
101
101
  _context.prev = 17;
102
102
  _context.t0 = _context["catch"](2);
103
+ if (!(_context.t0 instanceof Response && (_context.t0.status === 401 || _context.t0.status === 403))) {
104
+ _context.next = 22;
105
+ break;
106
+ }
107
+ setStatus('unauthorized');
108
+ return _context.abrupt("return");
109
+ case 22:
103
110
  setStatus('rejected');
104
- case 20:
111
+ case 23:
105
112
  case "end":
106
113
  return _context.stop();
107
114
  }
@@ -214,13 +221,20 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
214
221
  });
215
222
  }
216
223
  setStatus('resolved');
217
- _context2.next = 38;
224
+ _context2.next = 41;
218
225
  break;
219
226
  case 35:
220
227
  _context2.prev = 35;
221
228
  _context2.t0 = _context2["catch"](6);
229
+ if (!(_context2.t0 instanceof Response && (_context2.t0.status === 401 || _context2.t0.status === 403))) {
230
+ _context2.next = 40;
231
+ break;
232
+ }
233
+ setStatus('unauthorized');
234
+ return _context2.abrupt("return");
235
+ case 40:
222
236
  setStatus('rejected');
223
- case 38:
237
+ case 41:
224
238
  case "end":
225
239
  return _context2.stop();
226
240
  }
@@ -158,7 +158,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
158
158
  setVisibleColumnKeys(defaultVisibleColumnKeys);
159
159
  }
160
160
  }, [defaultVisibleColumnKeys, isNewSearch]);
161
- var isDisabled = !!workspaceError || status === 'rejected' || status === 'loading' || status === 'empty' || assetsClientLoading || !aql || !schemaId;
161
+ var isDisabled = !!workspaceError || status !== 'resolved' || assetsClientLoading || !aql || !schemaId;
162
162
  var retrieveUrlForSmartCardRender = useCallback(function () {
163
163
  var _data$key;
164
164
  var _responseItems = _slicedToArray(responseItems, 1),
@@ -1,4 +1,5 @@
1
1
  import React, { useMemo } from 'react';
2
+ import { AccessRequired } from '../../../common/error-state/access-required';
2
3
  import { ModalLoadingError } from '../../../common/error-state/modal-loading-error';
3
4
  import { NoResults } from '../../../common/error-state/no-results';
4
5
  import { EmptyState, IssueLikeDataTableView } from '../../../issue-like-table';
@@ -31,6 +32,8 @@ export var RenderAssetsContent = function RenderAssetsContent(props) {
31
32
  }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys, modalRenderInstanceId]);
32
33
  if (status === 'rejected') {
33
34
  return /*#__PURE__*/React.createElement(ModalLoadingError, null);
35
+ } else if (status === 'unauthorized') {
36
+ return /*#__PURE__*/React.createElement(AccessRequired, null);
34
37
  } else if (status === 'empty') {
35
38
  return /*#__PURE__*/React.createElement(InitialStateView, null);
36
39
  } else if (resolvedWithNoResults) {
@@ -47,6 +47,7 @@ export var AccessRequired = function AccessRequired(_ref2) {
47
47
  }, [fireEvent]);
48
48
  if (url) {
49
49
  return jsx(EmptyState, {
50
+ testId: "datasource--access-required-with-url",
50
51
  header: formatMessage(loadingErrorMessages.accessRequiredWithSite),
51
52
  description: jsx(Description, {
52
53
  message: formatMessage(loadingErrorMessages.accessInstructions),
@@ -56,6 +57,7 @@ export var AccessRequired = function AccessRequired(_ref2) {
56
57
  });
57
58
  }
58
59
  return jsx(EmptyState, {
60
+ testId: "datasource--access-required",
59
61
  header: formatMessage(loadingErrorMessages.accessRequired),
60
62
  description: formatMessage(loadingErrorMessages.accessInstructions),
61
63
  renderImage: IconContainer
@@ -366,6 +366,11 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref) {
366
366
  }, _callee, null, [[3, 9]]);
367
367
  })), [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
368
368
  return jsx("div", {
369
+ /* There is required contentEditable={true} in editor-card-plugin
370
+ * But this brakes how DND works. We set contentEditable={false} to allow DND to work
371
+ * when dragging is initiated on top of a column label.
372
+ */
373
+ contentEditable: false,
369
374
  ref: containerRef,
370
375
  css: scrollableContainerHeight ? scrollableContainerStyles : null,
371
376
  style: scrollableContainerHeight ? {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "1.12.1",
3
+ "version": "1.12.3",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -46,7 +46,7 @@
46
46
  "@atlaskit/jql-editor-autocomplete-rest": "^2.0.0",
47
47
  "@atlaskit/link-client-extension": "^1.8.0",
48
48
  "@atlaskit/link-provider": "^1.6.12",
49
- "@atlaskit/linking-common": "^4.14.0",
49
+ "@atlaskit/linking-common": "^4.15.0",
50
50
  "@atlaskit/linking-types": "^8.4.0",
51
51
  "@atlaskit/lozenge": "^11.4.0",
52
52
  "@atlaskit/modal-dialog": "^12.8.0",