@atlaskit/link-datasource 1.0.2 → 1.0.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 +6 -0
- package/dist/cjs/ui/issue-like-table/render-type/index.js +6 -3
- package/dist/cjs/ui/issue-like-table/render-type/link/index.js +11 -6
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +1 -1
- package/dist/es2019/ui/issue-like-table/render-type/index.js +6 -3
- package/dist/es2019/ui/issue-like-table/render-type/link/index.js +9 -6
- package/dist/es2019/ui/jira-issues-modal/modal/index.js +1 -1
- package/dist/esm/ui/issue-like-table/render-type/index.js +6 -3
- package/dist/esm/ui/issue-like-table/render-type/link/index.js +11 -6
- package/dist/esm/ui/jira-issues-modal/modal/index.js +1 -1
- package/dist/types/ui/issue-like-table/render-type/link/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/issue-like-table/render-type/link/index.d.ts +1 -1
- package/examples-helpers/smartLinkCustomClient.ts +8 -0
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 1.0.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`513a4e98543`](https://bitbucket.org/atlassian/atlassian-frontend/commits/513a4e98543) - [ux] links will now fallback to rendering as an anchor if smart-card fails to resolve
|
|
8
|
+
|
|
3
9
|
## 1.0.2
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.fallbackRenderType = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
9
|
var _react = _interopRequireDefault(require("react"));
|
|
9
10
|
var _boolean = _interopRequireDefault(require("./boolean"));
|
|
10
11
|
var _dateTime = _interopRequireDefault(require("./date-time"));
|
|
@@ -17,7 +18,7 @@ var _tag = _interopRequireDefault(require("./tag"));
|
|
|
17
18
|
var _text = _interopRequireDefault(require("./text"));
|
|
18
19
|
var _user = _interopRequireDefault(require("./user"));
|
|
19
20
|
var fallbackRenderType = function fallbackRenderType(item) {
|
|
20
|
-
var _item$value, _item$value2;
|
|
21
|
+
var _item$value, _item$value2, _item$value3;
|
|
21
22
|
switch (item.type) {
|
|
22
23
|
case 'boolean':
|
|
23
24
|
return /*#__PURE__*/_react.default.createElement(_boolean.default, {
|
|
@@ -36,7 +37,9 @@ var fallbackRenderType = function fallbackRenderType(item) {
|
|
|
36
37
|
case 'icon':
|
|
37
38
|
return /*#__PURE__*/_react.default.createElement(_icon.default, item.value);
|
|
38
39
|
case 'link':
|
|
39
|
-
return /*#__PURE__*/_react.default.createElement(_link.default,
|
|
40
|
+
return /*#__PURE__*/_react.default.createElement(_link.default, (0, _extends2.default)({
|
|
41
|
+
key: (_item$value = item.value) === null || _item$value === void 0 ? void 0 : _item$value.url
|
|
42
|
+
}, item.value));
|
|
40
43
|
case 'number':
|
|
41
44
|
return /*#__PURE__*/_react.default.createElement(_number.default, {
|
|
42
45
|
number: item.value
|
|
@@ -49,7 +52,7 @@ var fallbackRenderType = function fallbackRenderType(item) {
|
|
|
49
52
|
});
|
|
50
53
|
case 'tag':
|
|
51
54
|
return /*#__PURE__*/_react.default.createElement(_tag.default, {
|
|
52
|
-
key: ((_item$
|
|
55
|
+
key: ((_item$value2 = item.value) === null || _item$value2 === void 0 ? void 0 : _item$value2.id) || ((_item$value3 = item.value) === null || _item$value3 === void 0 ? void 0 : _item$value3.text),
|
|
53
56
|
tag: item.value
|
|
54
57
|
});
|
|
55
58
|
case 'time':
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = exports.LINK_TYPE_TEST_ID = void 0;
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _reactErrorBoundary = require("react-error-boundary");
|
|
12
11
|
var _smartCard = require("@atlaskit/smart-card");
|
|
13
12
|
var _linkUrl = _interopRequireDefault(require("@atlaskit/smart-card/link-url"));
|
|
14
13
|
var _colors = require("@atlaskit/theme/colors");
|
|
@@ -44,14 +43,20 @@ var LinkRenderType = function LinkRenderType(_ref) {
|
|
|
44
43
|
}, text || url);
|
|
45
44
|
}, [linkStyle, url, text, testId]);
|
|
46
45
|
var SmartCard = function SmartCard() {
|
|
47
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
48
|
-
fallback: anchor
|
|
49
|
-
}, /*#__PURE__*/_react.default.createElement(_smartCard.Card, {
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(_smartCard.Card, {
|
|
50
47
|
appearance: "inline",
|
|
51
48
|
url: url,
|
|
52
|
-
testId: testId
|
|
53
|
-
|
|
49
|
+
testId: testId,
|
|
50
|
+
fallbackComponent: function fallbackComponent() {
|
|
51
|
+
return anchor;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
54
|
};
|
|
55
|
+
|
|
56
|
+
// url can be undefined before data is fetched whilst adding new link column to display
|
|
57
|
+
if (!url) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
55
60
|
return text ? anchor : /*#__PURE__*/_react.default.createElement(SmartCard, null);
|
|
56
61
|
};
|
|
57
62
|
var _default = /*#__PURE__*/_react.default.memo(LinkRenderType);
|
|
@@ -344,7 +344,7 @@ var analyticsContextAttributes = {
|
|
|
344
344
|
};
|
|
345
345
|
var analyticsContextData = {
|
|
346
346
|
packageName: "@atlaskit/link-datasource",
|
|
347
|
-
packageVersion: "1.0.
|
|
347
|
+
packageVersion: "1.0.3",
|
|
348
348
|
source: 'datasourceConfigModal'
|
|
349
349
|
};
|
|
350
350
|
var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import BooleanRenderType from './boolean';
|
|
3
4
|
import DateTimeRenderType from './date-time';
|
|
@@ -10,7 +11,7 @@ import TagRenderType from './tag';
|
|
|
10
11
|
import StringRenderType from './text';
|
|
11
12
|
import UserRenderType from './user';
|
|
12
13
|
export const fallbackRenderType = item => {
|
|
13
|
-
var _item$value, _item$value2;
|
|
14
|
+
var _item$value, _item$value2, _item$value3;
|
|
14
15
|
switch (item.type) {
|
|
15
16
|
case 'boolean':
|
|
16
17
|
return /*#__PURE__*/React.createElement(BooleanRenderType, {
|
|
@@ -29,7 +30,9 @@ export const fallbackRenderType = item => {
|
|
|
29
30
|
case 'icon':
|
|
30
31
|
return /*#__PURE__*/React.createElement(IconRenderType, item.value);
|
|
31
32
|
case 'link':
|
|
32
|
-
return /*#__PURE__*/React.createElement(LinkRenderType,
|
|
33
|
+
return /*#__PURE__*/React.createElement(LinkRenderType, _extends({
|
|
34
|
+
key: (_item$value = item.value) === null || _item$value === void 0 ? void 0 : _item$value.url
|
|
35
|
+
}, item.value));
|
|
33
36
|
case 'number':
|
|
34
37
|
return /*#__PURE__*/React.createElement(NumberRenderType, {
|
|
35
38
|
number: item.value
|
|
@@ -42,7 +45,7 @@ export const fallbackRenderType = item => {
|
|
|
42
45
|
});
|
|
43
46
|
case 'tag':
|
|
44
47
|
return /*#__PURE__*/React.createElement(TagRenderType, {
|
|
45
|
-
key: ((_item$
|
|
48
|
+
key: ((_item$value2 = item.value) === null || _item$value2 === void 0 ? void 0 : _item$value2.id) || ((_item$value3 = item.value) === null || _item$value3 === void 0 ? void 0 : _item$value3.text),
|
|
46
49
|
tag: item.value
|
|
47
50
|
});
|
|
48
51
|
case 'time':
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
|
-
import { ErrorBoundary } from 'react-error-boundary';
|
|
3
2
|
import { Card } from '@atlaskit/smart-card';
|
|
4
3
|
import LinkUrl from '@atlaskit/smart-card/link-url';
|
|
5
4
|
import { N300 } from '@atlaskit/theme/colors';
|
|
@@ -28,13 +27,17 @@ const LinkRenderType = ({
|
|
|
28
27
|
"data-testid": testId,
|
|
29
28
|
target: "_blank"
|
|
30
29
|
}, text || url), [linkStyle, url, text, testId]);
|
|
31
|
-
const SmartCard = () => /*#__PURE__*/React.createElement(
|
|
32
|
-
fallback: anchor
|
|
33
|
-
}, /*#__PURE__*/React.createElement(Card, {
|
|
30
|
+
const SmartCard = () => /*#__PURE__*/React.createElement(Card, {
|
|
34
31
|
appearance: "inline",
|
|
35
32
|
url: url,
|
|
36
|
-
testId: testId
|
|
37
|
-
|
|
33
|
+
testId: testId,
|
|
34
|
+
fallbackComponent: () => anchor
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// url can be undefined before data is fetched whilst adding new link column to display
|
|
38
|
+
if (!url) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
38
41
|
return text ? anchor : /*#__PURE__*/React.createElement(SmartCard, null);
|
|
39
42
|
};
|
|
40
43
|
export default /*#__PURE__*/React.memo(LinkRenderType);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import BooleanRenderType from './boolean';
|
|
3
4
|
import DateTimeRenderType from './date-time';
|
|
@@ -10,7 +11,7 @@ import TagRenderType from './tag';
|
|
|
10
11
|
import StringRenderType from './text';
|
|
11
12
|
import UserRenderType from './user';
|
|
12
13
|
export var fallbackRenderType = function fallbackRenderType(item) {
|
|
13
|
-
var _item$value, _item$value2;
|
|
14
|
+
var _item$value, _item$value2, _item$value3;
|
|
14
15
|
switch (item.type) {
|
|
15
16
|
case 'boolean':
|
|
16
17
|
return /*#__PURE__*/React.createElement(BooleanRenderType, {
|
|
@@ -29,7 +30,9 @@ export var fallbackRenderType = function fallbackRenderType(item) {
|
|
|
29
30
|
case 'icon':
|
|
30
31
|
return /*#__PURE__*/React.createElement(IconRenderType, item.value);
|
|
31
32
|
case 'link':
|
|
32
|
-
return /*#__PURE__*/React.createElement(LinkRenderType,
|
|
33
|
+
return /*#__PURE__*/React.createElement(LinkRenderType, _extends({
|
|
34
|
+
key: (_item$value = item.value) === null || _item$value === void 0 ? void 0 : _item$value.url
|
|
35
|
+
}, item.value));
|
|
33
36
|
case 'number':
|
|
34
37
|
return /*#__PURE__*/React.createElement(NumberRenderType, {
|
|
35
38
|
number: item.value
|
|
@@ -42,7 +45,7 @@ export var fallbackRenderType = function fallbackRenderType(item) {
|
|
|
42
45
|
});
|
|
43
46
|
case 'tag':
|
|
44
47
|
return /*#__PURE__*/React.createElement(TagRenderType, {
|
|
45
|
-
key: ((_item$
|
|
48
|
+
key: ((_item$value2 = item.value) === null || _item$value2 === void 0 ? void 0 : _item$value2.id) || ((_item$value3 = item.value) === null || _item$value3 === void 0 ? void 0 : _item$value3.text),
|
|
46
49
|
tag: item.value
|
|
47
50
|
});
|
|
48
51
|
case 'time':
|
|
@@ -2,7 +2,6 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
import React, { useMemo } from 'react';
|
|
5
|
-
import { ErrorBoundary } from 'react-error-boundary';
|
|
6
5
|
import { Card } from '@atlaskit/smart-card';
|
|
7
6
|
import LinkUrl from '@atlaskit/smart-card/link-url';
|
|
8
7
|
import { N300 } from '@atlaskit/theme/colors';
|
|
@@ -33,14 +32,20 @@ var LinkRenderType = function LinkRenderType(_ref) {
|
|
|
33
32
|
}, text || url);
|
|
34
33
|
}, [linkStyle, url, text, testId]);
|
|
35
34
|
var SmartCard = function SmartCard() {
|
|
36
|
-
return /*#__PURE__*/React.createElement(
|
|
37
|
-
fallback: anchor
|
|
38
|
-
}, /*#__PURE__*/React.createElement(Card, {
|
|
35
|
+
return /*#__PURE__*/React.createElement(Card, {
|
|
39
36
|
appearance: "inline",
|
|
40
37
|
url: url,
|
|
41
|
-
testId: testId
|
|
42
|
-
|
|
38
|
+
testId: testId,
|
|
39
|
+
fallbackComponent: function fallbackComponent() {
|
|
40
|
+
return anchor;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
43
|
};
|
|
44
|
+
|
|
45
|
+
// url can be undefined before data is fetched whilst adding new link column to display
|
|
46
|
+
if (!url) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
44
49
|
return text ? anchor : /*#__PURE__*/React.createElement(SmartCard, null);
|
|
45
50
|
};
|
|
46
51
|
export default /*#__PURE__*/React.memo(LinkRenderType);
|
|
@@ -334,7 +334,7 @@ var analyticsContextAttributes = {
|
|
|
334
334
|
};
|
|
335
335
|
var analyticsContextData = {
|
|
336
336
|
packageName: "@atlaskit/link-datasource",
|
|
337
|
-
packageVersion: "1.0.
|
|
337
|
+
packageVersion: "1.0.3",
|
|
338
338
|
source: 'datasourceConfigModal'
|
|
339
339
|
};
|
|
340
340
|
var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
|
|
@@ -4,5 +4,5 @@ interface LinkProps extends Link {
|
|
|
4
4
|
testId?: string;
|
|
5
5
|
}
|
|
6
6
|
export declare const LINK_TYPE_TEST_ID = "link-datasource-render-type--link";
|
|
7
|
-
declare const _default: React.MemoExoticComponent<({ style, url, text, testId, }: LinkProps) => JSX.Element>;
|
|
7
|
+
declare const _default: React.MemoExoticComponent<({ style, url, text, testId, }: LinkProps) => JSX.Element | null>;
|
|
8
8
|
export default _default;
|
|
@@ -4,5 +4,5 @@ interface LinkProps extends Link {
|
|
|
4
4
|
testId?: string;
|
|
5
5
|
}
|
|
6
6
|
export declare const LINK_TYPE_TEST_ID = "link-datasource-render-type--link";
|
|
7
|
-
declare const _default: React.MemoExoticComponent<({ style, url, text, testId, }: LinkProps) => JSX.Element>;
|
|
7
|
+
declare const _default: React.MemoExoticComponent<({ style, url, text, testId, }: LinkProps) => JSX.Element | null>;
|
|
8
8
|
export default _default;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { JsonLd } from 'json-ld-types';
|
|
2
2
|
|
|
3
3
|
import { CardClient } from '@atlaskit/link-provider';
|
|
4
|
+
import { APIError } from '@atlaskit/linking-common';
|
|
4
5
|
|
|
5
6
|
import { mockJqlSmartLinkData } from './mockJqlSmartLinkData';
|
|
6
7
|
import { mocks } from './mockSmartLinkData';
|
|
@@ -15,6 +16,13 @@ class SmartLinkClient extends CardClient {
|
|
|
15
16
|
return Promise.resolve(mocks.resolved);
|
|
16
17
|
case 'https://link-that-does-not-resolve.com':
|
|
17
18
|
return Promise.reject(`Can't resolve from ${url}`);
|
|
19
|
+
case 'https://link-that-is-unsupported.com':
|
|
20
|
+
throw new APIError(
|
|
21
|
+
'fatal',
|
|
22
|
+
new URL(url).hostname,
|
|
23
|
+
'received unsupported error',
|
|
24
|
+
'ResolveUnsupportedError',
|
|
25
|
+
);
|
|
18
26
|
case jqlUrlRegExp.test(url) ? url : undefined:
|
|
19
27
|
return Promise.resolve(mockJqlSmartLinkData.resolved);
|
|
20
28
|
default:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -66,7 +66,6 @@
|
|
|
66
66
|
"@emotion/styled": "^11.0.0",
|
|
67
67
|
"debounce-promise": "^3.1.2",
|
|
68
68
|
"react-dom": "^16.8.0",
|
|
69
|
-
"react-error-boundary": "^3.1.3",
|
|
70
69
|
"tiny-invariant": "^1.2.0"
|
|
71
70
|
},
|
|
72
71
|
"peerDependencies": {
|