@atlaskit/link-datasource 0.17.0 → 0.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/ui/issue-like-table/index.js +4 -6
  3. package/dist/cjs/ui/issue-like-table/render-type/boolean/index.js +5 -14
  4. package/dist/cjs/ui/issue-like-table/render-type/date-time/index.js +2 -3
  5. package/dist/cjs/ui/issue-like-table/render-type/index.js +1 -1
  6. package/dist/cjs/ui/issue-like-table/render-type/link/index.js +8 -7
  7. package/dist/cjs/ui/issue-like-table/render-type/number/index.js +2 -3
  8. package/dist/cjs/ui/issue-like-table/render-type/status/index.js +6 -7
  9. package/dist/cjs/ui/issue-like-table/render-type/tag/index.js +4 -4
  10. package/dist/cjs/ui/issue-like-table/render-type/text/index.js +2 -3
  11. package/dist/cjs/ui/jira-issues-modal/index.js +3 -3
  12. package/dist/cjs/version.json +1 -1
  13. package/dist/es2019/ui/issue-like-table/index.js +4 -4
  14. package/dist/es2019/ui/issue-like-table/render-type/boolean/index.js +5 -9
  15. package/dist/es2019/ui/issue-like-table/render-type/date-time/index.js +2 -3
  16. package/dist/es2019/ui/issue-like-table/render-type/index.js +1 -1
  17. package/dist/es2019/ui/issue-like-table/render-type/link/index.js +8 -7
  18. package/dist/es2019/ui/issue-like-table/render-type/number/index.js +2 -3
  19. package/dist/es2019/ui/issue-like-table/render-type/status/index.js +6 -7
  20. package/dist/es2019/ui/issue-like-table/render-type/tag/index.js +4 -4
  21. package/dist/es2019/ui/issue-like-table/render-type/text/index.js +2 -3
  22. package/dist/es2019/ui/jira-issues-modal/index.js +3 -3
  23. package/dist/es2019/version.json +1 -1
  24. package/dist/esm/ui/issue-like-table/index.js +4 -6
  25. package/dist/esm/ui/issue-like-table/render-type/boolean/index.js +5 -11
  26. package/dist/esm/ui/issue-like-table/render-type/date-time/index.js +2 -3
  27. package/dist/esm/ui/issue-like-table/render-type/index.js +1 -1
  28. package/dist/esm/ui/issue-like-table/render-type/link/index.js +8 -7
  29. package/dist/esm/ui/issue-like-table/render-type/number/index.js +2 -3
  30. package/dist/esm/ui/issue-like-table/render-type/status/index.js +6 -7
  31. package/dist/esm/ui/issue-like-table/render-type/tag/index.js +4 -4
  32. package/dist/esm/ui/issue-like-table/render-type/text/index.js +2 -3
  33. package/dist/esm/ui/jira-issues-modal/index.js +3 -3
  34. package/dist/esm/version.json +1 -1
  35. package/dist/types/ui/issue-like-table/render-type/link/index.d.ts +1 -1
  36. package/dist/types/ui/issue-like-table/render-type/status/index.d.ts +1 -1
  37. package/dist/types/ui/issue-like-table/render-type/tag/index.d.ts +2 -2
  38. package/dist/types-ts4.5/ui/issue-like-table/render-type/link/index.d.ts +1 -1
  39. package/dist/types-ts4.5/ui/issue-like-table/render-type/status/index.d.ts +1 -1
  40. package/dist/types-ts4.5/ui/issue-like-table/render-type/tag/index.d.ts +2 -2
  41. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 0.17.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`b23bb695309`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b23bb695309) - Remove hard-coded column from modal
8
+
9
+ ## 0.17.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [`4c56014f328`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4c56014f328) - Updated components to use the new `DatasourceDataResponseItem` format
14
+ - Updated dependencies
15
+
3
16
  ## 0.17.0
4
17
 
5
18
  ### Minor Changes
@@ -91,7 +91,6 @@ function getColumnWidth(key, type) {
91
91
  }
92
92
  }
93
93
  var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
94
- var _orderedColumns$find;
95
94
  var testId = _ref2.testId,
96
95
  onNextPage = _ref2.onNextPage,
97
96
  items = _ref2.items,
@@ -134,9 +133,7 @@ var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
134
133
  // If data comes first, then columns and then visibleColumnKeys it blows up,
135
134
  // or some other combination.
136
135
 
137
- var identityColumnKey = (_orderedColumns$find = orderedColumns.find(function (column) {
138
- return column.isIdentity;
139
- })) === null || _orderedColumns$find === void 0 ? void 0 : _orderedColumns$find.key;
136
+ var identityColumnKey = 'id';
140
137
  var loadingRow = (0, _react.useMemo)(function () {
141
138
  return {
142
139
  key: 'loading',
@@ -238,11 +235,12 @@ var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
238
235
  var tableRows = (0, _react.useMemo)(function () {
239
236
  return items.map(function (newRowData, rowIndex) {
240
237
  return {
241
- key: "".concat(identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].value || rowIndex),
238
+ key: "".concat(identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].data || rowIndex),
242
239
  cells: visibleSortedColumns.map(function (_ref9) {
240
+ var _newRowData$key;
243
241
  var key = _ref9.key,
244
242
  type = _ref9.type;
245
- var value = newRowData[key];
243
+ var value = ((_newRowData$key = newRowData[key]) === null || _newRowData$key === void 0 ? void 0 : _newRowData$key.data) || newRowData[key];
246
244
  var values = Array.isArray(value) ? value : [value];
247
245
  var content = values.map(function (value) {
248
246
  return renderItem({
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = exports.BOOLEAN_TYPE_TEST_ID = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
10
9
  var _reactIntlNext = require("react-intl-next");
11
10
  var _text = _interopRequireDefault(require("../text"));
12
11
  var _messages = require("./messages");
13
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
12
  var BOOLEAN_TYPE_TEST_ID = 'link-datasource-render-type--boolean';
16
13
  exports.BOOLEAN_TYPE_TEST_ID = BOOLEAN_TYPE_TEST_ID;
17
14
  var BooleanRenderType = function BooleanRenderType(_ref) {
@@ -19,19 +16,13 @@ var BooleanRenderType = function BooleanRenderType(_ref) {
19
16
  _ref$testId = _ref.testId,
20
17
  testId = _ref$testId === void 0 ? BOOLEAN_TYPE_TEST_ID : _ref$testId;
21
18
  var intl = (0, _reactIntlNext.useIntl)();
22
- var booleanValue = value === null || value === void 0 ? void 0 : value.value;
23
- var TRUTHY_TEXT = intl.formatMessage(_messages.booleanTypeMessages.booleanTruthyValue);
24
- var FALSY_TEXT = intl.formatMessage(_messages.booleanTypeMessages.booleanFalsyValue);
25
- var displayTextObject = (0, _react.useMemo)(function () {
26
- return {
27
- value: booleanValue ? TRUTHY_TEXT : FALSY_TEXT
28
- };
29
- }, [booleanValue, TRUTHY_TEXT, FALSY_TEXT]);
30
- if (typeof booleanValue !== 'boolean') {
19
+ if (typeof value !== 'boolean') {
31
20
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
32
21
  }
22
+ var TRUTHY_TEXT = intl.formatMessage(_messages.booleanTypeMessages.booleanTruthyValue);
23
+ var FALSY_TEXT = intl.formatMessage(_messages.booleanTypeMessages.booleanFalsyValue);
33
24
  return /*#__PURE__*/_react.default.createElement(_text.default, {
34
- text: displayTextObject,
25
+ text: value ? TRUTHY_TEXT : FALSY_TEXT,
35
26
  testId: testId
36
27
  });
37
28
  };
@@ -28,10 +28,9 @@ var DateTimeRenderType = function DateTimeRenderType(_ref) {
28
28
  testId = _ref$testId === void 0 ? DATETIME_TYPE_TEST_ID : _ref$testId,
29
29
  _ref$display = _ref.display,
30
30
  display = _ref$display === void 0 ? 'datetime' : _ref$display;
31
- var dateString = value === null || value === void 0 ? void 0 : value.value;
32
- var date = new Date(dateString);
31
+ var date = new Date(value);
33
32
  var intl = (0, _reactIntlNext.useIntl)();
34
- if (!dateString || isNaN(date.getTime())) {
33
+ if (!value || isNaN(date.getTime())) {
35
34
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
36
35
  }
37
36
  var options = {
@@ -47,7 +47,7 @@ var fallbackRenderType = function fallbackRenderType(item) {
47
47
  });
48
48
  case 'tag':
49
49
  return /*#__PURE__*/_react.default.createElement(_tag.default, {
50
- text: item.value
50
+ tag: item.value
51
51
  });
52
52
  case 'time':
53
53
  return /*#__PURE__*/_react.default.createElement(_dateTime.default, {
@@ -21,26 +21,27 @@ var linkStyles = {
21
21
  key: _objectSpread(_objectSpread({}, (0, _typography.h300)()), {}, {
22
22
  color: "var(--ds-text-subtlest, ".concat(_colors.N300, ")"),
23
23
  fontWeight: 600
24
- })
24
+ }),
25
+ default: {}
25
26
  };
26
27
  var LINK_TYPE_TEST_ID = 'link-datasource-render-type--link';
27
28
  exports.LINK_TYPE_TEST_ID = LINK_TYPE_TEST_ID;
28
29
  var LinkRenderType = function LinkRenderType(_ref) {
29
- var linkType = _ref.linkType,
30
+ var style = _ref.style,
30
31
  url = _ref.url,
31
32
  text = _ref.text,
32
33
  _ref$testId = _ref.testId,
33
34
  testId = _ref$testId === void 0 ? LINK_TYPE_TEST_ID : _ref$testId;
34
- var style = (0, _react.useMemo)(function () {
35
- return linkType && linkStyles[linkType] || {};
36
- }, [linkType]);
35
+ var linkStyle = (0, _react.useMemo)(function () {
36
+ return (style === null || style === void 0 ? void 0 : style.appearance) && linkStyles[style.appearance] || {};
37
+ }, [style]);
37
38
  var anchor = (0, _react.useMemo)(function () {
38
39
  return /*#__PURE__*/_react.default.createElement(_linkUrl.default, {
39
40
  href: url,
40
- style: style,
41
+ style: linkStyle,
41
42
  "data-testid": testId
42
43
  }, text || url);
43
- }, [style, url, text, testId]);
44
+ }, [linkStyle, url, text, testId]);
44
45
  var SmartCard = function SmartCard() {
45
46
  return /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
46
47
  fallback: anchor
@@ -12,11 +12,10 @@ var NumberRenderType = function NumberRenderType(_ref) {
12
12
  var number = _ref.number,
13
13
  _ref$testId = _ref.testId,
14
14
  testId = _ref$testId === void 0 ? NUMBER_TYPE_TEST_ID : _ref$testId;
15
- var numberValue = number === null || number === void 0 ? void 0 : number.value;
16
- if (typeof numberValue !== 'number') {
15
+ if (typeof number !== 'number') {
17
16
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
18
17
  }
19
- var formattedNumber = Number.isInteger(numberValue) ? numberValue : "".concat(numberValue.toFixed(2));
18
+ var formattedNumber = Number.isInteger(number) ? number : "".concat(number.toFixed(2));
20
19
  return /*#__PURE__*/_react.default.createElement("span", {
21
20
  "data-testid": testId
22
21
  }, formattedNumber);
@@ -11,17 +11,16 @@ var STATUS_TYPE_TEST_ID = 'link-datasource-render-type--status';
11
11
  exports.STATUS_TYPE_TEST_ID = STATUS_TYPE_TEST_ID;
12
12
  var StatusRenderType = function StatusRenderType(_ref) {
13
13
  var text = _ref.text,
14
- status = _ref.status,
14
+ style = _ref.style,
15
15
  _ref$testId = _ref.testId,
16
- testId = _ref$testId === void 0 ? STATUS_TYPE_TEST_ID : _ref$testId,
17
- style = _ref.style;
18
- if (!text) {
16
+ testId = _ref$testId === void 0 ? STATUS_TYPE_TEST_ID : _ref$testId;
17
+ if (!(text && typeof text === 'string')) {
19
18
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
20
19
  }
21
20
  return /*#__PURE__*/_react.default.createElement(_lozenge.default, {
22
- appearance: status,
23
- testId: testId,
24
- style: style
21
+ appearance: style === null || style === void 0 ? void 0 : style.appearance,
22
+ isBold: style === null || style === void 0 ? void 0 : style.isBold,
23
+ testId: testId
25
24
  }, text);
26
25
  };
27
26
  var _default = StatusRenderType;
@@ -10,15 +10,15 @@ var _tag = require("@atlaskit/tag");
10
10
  var TAG_TYPE_TEST_ID = 'link-datasource-render-type--tag';
11
11
  exports.TAG_TYPE_TEST_ID = TAG_TYPE_TEST_ID;
12
12
  var TagRenderType = function TagRenderType(_ref) {
13
- var text = _ref.text,
13
+ var tag = _ref.tag,
14
14
  _ref$testId = _ref.testId,
15
15
  testId = _ref$testId === void 0 ? TAG_TYPE_TEST_ID : _ref$testId;
16
- var tag = text === null || text === void 0 ? void 0 : text.value;
17
- if (!tag) {
16
+ var text = tag === null || tag === void 0 ? void 0 : tag.text;
17
+ if (!(text && typeof text === 'string')) {
18
18
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
19
19
  }
20
20
  return /*#__PURE__*/_react.default.createElement(_tag.SimpleTag, {
21
- text: tag,
21
+ text: text,
22
22
  testId: testId,
23
23
  appearance: 'default',
24
24
  color: 'standard'
@@ -12,13 +12,12 @@ var TextRenderType = function TextRenderType(_ref) {
12
12
  var text = _ref.text,
13
13
  _ref$testId = _ref.testId,
14
14
  testId = _ref$testId === void 0 ? TEXT_TYPE_TEST_ID : _ref$testId;
15
- var textValue = text === null || text === void 0 ? void 0 : text.value;
16
- if (!textValue) {
15
+ if (!(text && typeof text === 'string')) {
17
16
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
18
17
  }
19
18
  return /*#__PURE__*/_react.default.createElement("span", {
20
19
  "data-testid": testId
21
- }, textValue);
20
+ }, text);
22
21
  };
23
22
  var _default = TextRenderType;
24
23
  exports.default = _default;
@@ -65,7 +65,7 @@ var JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
65
65
  var _ref = parameters || {},
66
66
  cloudId = _ref.cloudId,
67
67
  jql = _ref.jql;
68
- var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)(datasourceId, parameters, ['key']),
68
+ var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)(datasourceId, parameters),
69
69
  reset = _useDatasourceTableSt.reset,
70
70
  status = _useDatasourceTableSt.status,
71
71
  onNextPage = _useDatasourceTableSt.onNextPage,
@@ -127,11 +127,11 @@ var JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
127
127
  }
128
128
  }, [visibleColumnKeys, defaultVisibleColumnKeys, onVisibleColumnKeysChange]);
129
129
  var retrieveUrlForSmartCardRender = (0, _react.useCallback)(function () {
130
- var _data$key;
130
+ var _data$key, _data$key$data;
131
131
  var _responseItems = (0, _slicedToArray2.default)(responseItems, 1),
132
132
  data = _responseItems[0];
133
133
  // agrement with BE that we will use `key` for rendering smartlink
134
- return data === null || data === void 0 ? void 0 : (_data$key = data.key) === null || _data$key === void 0 ? void 0 : _data$key.url;
134
+ return data === null || data === void 0 ? void 0 : (_data$key = data.key) === null || _data$key === void 0 ? void 0 : (_data$key$data = _data$key.data) === null || _data$key$data === void 0 ? void 0 : _data$key$data.url;
135
135
  }, [responseItems]);
136
136
  var onInsertPressed = (0, _react.useCallback)(function () {
137
137
  if (!isParametersSet || !jql || !selectedJiraSite) {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.17.0",
3
+ "version": "0.17.2",
4
4
  "sideEffects": false
5
5
  }
@@ -93,7 +93,6 @@ export const IssueLikeDataTableView = ({
93
93
  status,
94
94
  hasNextPage
95
95
  }) => {
96
- var _orderedColumns$find;
97
96
  const tableId = useMemo(() => Symbol('unique-id'), []);
98
97
  const [lastRowElement, setLastRowElement] = useState(null);
99
98
  const [isDragPreview, setIsDragPreview] = useState(false);
@@ -108,7 +107,7 @@ export const IssueLikeDataTableView = ({
108
107
  // If data comes first, then columns and then visibleColumnKeys it blows up,
109
108
  // or some other combination.
110
109
 
111
- const identityColumnKey = (_orderedColumns$find = orderedColumns.find(column => column.isIdentity)) === null || _orderedColumns$find === void 0 ? void 0 : _orderedColumns$find.key;
110
+ const identityColumnKey = 'id';
112
111
  const loadingRow = useMemo(() => ({
113
112
  key: 'loading',
114
113
  cells: visibleSortedColumns.map(({
@@ -210,12 +209,13 @@ export const IssueLikeDataTableView = ({
210
209
  }));
211
210
  }, [visibleColumnKeys, onVisibleColumnKeysChange, tableId]);
212
211
  const tableRows = useMemo(() => items.map((newRowData, rowIndex) => ({
213
- key: `${identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].value || rowIndex}`,
212
+ key: `${identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].data || rowIndex}`,
214
213
  cells: visibleSortedColumns.map(({
215
214
  key,
216
215
  type
217
216
  }) => {
218
- const value = newRowData[key];
217
+ var _newRowData$key;
218
+ const value = ((_newRowData$key = newRowData[key]) === null || _newRowData$key === void 0 ? void 0 : _newRowData$key.data) || newRowData[key];
219
219
  const values = Array.isArray(value) ? value : [value];
220
220
  const content = values.map(value => renderItem({
221
221
  type,
@@ -1,4 +1,4 @@
1
- import React, { useMemo } from 'react';
1
+ import React from 'react';
2
2
  import { useIntl } from 'react-intl-next';
3
3
  import TextRenderType from '../text';
4
4
  import { booleanTypeMessages } from './messages';
@@ -8,17 +8,13 @@ const BooleanRenderType = ({
8
8
  testId = BOOLEAN_TYPE_TEST_ID
9
9
  }) => {
10
10
  const intl = useIntl();
11
- const booleanValue = value === null || value === void 0 ? void 0 : value.value;
12
- const TRUTHY_TEXT = intl.formatMessage(booleanTypeMessages.booleanTruthyValue);
13
- const FALSY_TEXT = intl.formatMessage(booleanTypeMessages.booleanFalsyValue);
14
- const displayTextObject = useMemo(() => ({
15
- value: booleanValue ? TRUTHY_TEXT : FALSY_TEXT
16
- }), [booleanValue, TRUTHY_TEXT, FALSY_TEXT]);
17
- if (typeof booleanValue !== 'boolean') {
11
+ if (typeof value !== 'boolean') {
18
12
  return /*#__PURE__*/React.createElement(React.Fragment, null);
19
13
  }
14
+ const TRUTHY_TEXT = intl.formatMessage(booleanTypeMessages.booleanTruthyValue);
15
+ const FALSY_TEXT = intl.formatMessage(booleanTypeMessages.booleanFalsyValue);
20
16
  return /*#__PURE__*/React.createElement(TextRenderType, {
21
- text: displayTextObject,
17
+ text: value ? TRUTHY_TEXT : FALSY_TEXT,
22
18
  testId: testId
23
19
  });
24
20
  };
@@ -16,10 +16,9 @@ const DateTimeRenderType = ({
16
16
  testId = DATETIME_TYPE_TEST_ID,
17
17
  display = 'datetime'
18
18
  }) => {
19
- const dateString = value === null || value === void 0 ? void 0 : value.value;
20
- const date = new Date(dateString);
19
+ const date = new Date(value);
21
20
  const intl = useIntl();
22
- if (!dateString || isNaN(date.getTime())) {
21
+ if (!value || isNaN(date.getTime())) {
23
22
  return /*#__PURE__*/React.createElement(React.Fragment, null);
24
23
  }
25
24
  const options = {
@@ -40,7 +40,7 @@ export const fallbackRenderType = item => {
40
40
  });
41
41
  case 'tag':
42
42
  return /*#__PURE__*/React.createElement(TagRenderType, {
43
- text: item.value
43
+ tag: item.value
44
44
  });
45
45
  case 'time':
46
46
  return /*#__PURE__*/React.createElement(DateTimeRenderType, {
@@ -9,23 +9,24 @@ const linkStyles = {
9
9
  ...h300(),
10
10
  color: `var(--ds-text-subtlest, ${N300})`,
11
11
  fontWeight: 600
12
- }
12
+ },
13
+ default: {}
13
14
  };
14
15
  export const LINK_TYPE_TEST_ID = 'link-datasource-render-type--link';
15
16
  const LinkRenderType = ({
16
- linkType,
17
+ style,
17
18
  url,
18
19
  text,
19
20
  testId = LINK_TYPE_TEST_ID
20
21
  }) => {
21
- const style = useMemo(() => {
22
- return linkType && linkStyles[linkType] || {};
23
- }, [linkType]);
22
+ const linkStyle = useMemo(() => {
23
+ return (style === null || style === void 0 ? void 0 : style.appearance) && linkStyles[style.appearance] || {};
24
+ }, [style]);
24
25
  const anchor = useMemo(() => /*#__PURE__*/React.createElement(LinkUrl, {
25
26
  href: url,
26
- style: style,
27
+ style: linkStyle,
27
28
  "data-testid": testId
28
- }, text || url), [style, url, text, testId]);
29
+ }, text || url), [linkStyle, url, text, testId]);
29
30
  const SmartCard = () => /*#__PURE__*/React.createElement(ErrorBoundary, {
30
31
  fallback: anchor
31
32
  }, /*#__PURE__*/React.createElement(Card, {
@@ -4,11 +4,10 @@ const NumberRenderType = ({
4
4
  number,
5
5
  testId = NUMBER_TYPE_TEST_ID
6
6
  }) => {
7
- const numberValue = number === null || number === void 0 ? void 0 : number.value;
8
- if (typeof numberValue !== 'number') {
7
+ if (typeof number !== 'number') {
9
8
  return /*#__PURE__*/React.createElement(React.Fragment, null);
10
9
  }
11
- const formattedNumber = Number.isInteger(numberValue) ? numberValue : `${numberValue.toFixed(2)}`;
10
+ const formattedNumber = Number.isInteger(number) ? number : `${number.toFixed(2)}`;
12
11
  return /*#__PURE__*/React.createElement("span", {
13
12
  "data-testid": testId
14
13
  }, formattedNumber);
@@ -3,17 +3,16 @@ import Lozenge from '@atlaskit/lozenge';
3
3
  export const STATUS_TYPE_TEST_ID = 'link-datasource-render-type--status';
4
4
  const StatusRenderType = ({
5
5
  text,
6
- status,
7
- testId = STATUS_TYPE_TEST_ID,
8
- style
6
+ style,
7
+ testId = STATUS_TYPE_TEST_ID
9
8
  }) => {
10
- if (!text) {
9
+ if (!(text && typeof text === 'string')) {
11
10
  return /*#__PURE__*/React.createElement(React.Fragment, null);
12
11
  }
13
12
  return /*#__PURE__*/React.createElement(Lozenge, {
14
- appearance: status,
15
- testId: testId,
16
- style: style
13
+ appearance: style === null || style === void 0 ? void 0 : style.appearance,
14
+ isBold: style === null || style === void 0 ? void 0 : style.isBold,
15
+ testId: testId
17
16
  }, text);
18
17
  };
19
18
  export default StatusRenderType;
@@ -2,15 +2,15 @@ import React from 'react';
2
2
  import { SimpleTag as Tag } from '@atlaskit/tag';
3
3
  export const TAG_TYPE_TEST_ID = 'link-datasource-render-type--tag';
4
4
  const TagRenderType = ({
5
- text,
5
+ tag,
6
6
  testId = TAG_TYPE_TEST_ID
7
7
  }) => {
8
- const tag = text === null || text === void 0 ? void 0 : text.value;
9
- if (!tag) {
8
+ const text = tag === null || tag === void 0 ? void 0 : tag.text;
9
+ if (!(text && typeof text === 'string')) {
10
10
  return /*#__PURE__*/React.createElement(React.Fragment, null);
11
11
  }
12
12
  return /*#__PURE__*/React.createElement(Tag, {
13
- text: tag,
13
+ text: text,
14
14
  testId: testId,
15
15
  appearance: 'default',
16
16
  color: 'standard'
@@ -4,12 +4,11 @@ const TextRenderType = ({
4
4
  text,
5
5
  testId = TEXT_TYPE_TEST_ID
6
6
  }) => {
7
- const textValue = text === null || text === void 0 ? void 0 : text.value;
8
- if (!textValue) {
7
+ if (!(text && typeof text === 'string')) {
9
8
  return /*#__PURE__*/React.createElement(React.Fragment, null);
10
9
  }
11
10
  return /*#__PURE__*/React.createElement("span", {
12
11
  "data-testid": testId
13
- }, textValue);
12
+ }, text);
14
13
  };
15
14
  export default TextRenderType;
@@ -55,7 +55,7 @@ export const JiraIssuesConfigModal = props => {
55
55
  hasNextPage,
56
56
  columns,
57
57
  defaultVisibleColumnKeys
58
- } = useDatasourceTableState(datasourceId, parameters, ['key']);
58
+ } = useDatasourceTableState(datasourceId, parameters);
59
59
  const {
60
60
  formatMessage
61
61
  } = useIntl();
@@ -90,10 +90,10 @@ export const JiraIssuesConfigModal = props => {
90
90
  }
91
91
  }, [visibleColumnKeys, defaultVisibleColumnKeys, onVisibleColumnKeysChange]);
92
92
  const retrieveUrlForSmartCardRender = useCallback(() => {
93
- var _data$key;
93
+ var _data$key, _data$key$data;
94
94
  const [data] = responseItems;
95
95
  // agrement with BE that we will use `key` for rendering smartlink
96
- return data === null || data === void 0 ? void 0 : (_data$key = data.key) === null || _data$key === void 0 ? void 0 : _data$key.url;
96
+ return data === null || data === void 0 ? void 0 : (_data$key = data.key) === null || _data$key === void 0 ? void 0 : (_data$key$data = _data$key.data) === null || _data$key$data === void 0 ? void 0 : _data$key$data.url;
97
97
  }, [responseItems]);
98
98
  const onInsertPressed = useCallback(() => {
99
99
  if (!isParametersSet || !jql || !selectedJiraSite) {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.17.0",
3
+ "version": "0.17.2",
4
4
  "sideEffects": false
5
5
  }
@@ -85,7 +85,6 @@ function getColumnWidth(key, type) {
85
85
  }
86
86
  }
87
87
  export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
88
- var _orderedColumns$find;
89
88
  var testId = _ref2.testId,
90
89
  onNextPage = _ref2.onNextPage,
91
90
  items = _ref2.items,
@@ -128,9 +127,7 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
128
127
  // If data comes first, then columns and then visibleColumnKeys it blows up,
129
128
  // or some other combination.
130
129
 
131
- var identityColumnKey = (_orderedColumns$find = orderedColumns.find(function (column) {
132
- return column.isIdentity;
133
- })) === null || _orderedColumns$find === void 0 ? void 0 : _orderedColumns$find.key;
130
+ var identityColumnKey = 'id';
134
131
  var loadingRow = useMemo(function () {
135
132
  return {
136
133
  key: 'loading',
@@ -232,11 +229,12 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
232
229
  var tableRows = useMemo(function () {
233
230
  return items.map(function (newRowData, rowIndex) {
234
231
  return {
235
- key: "".concat(identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].value || rowIndex),
232
+ key: "".concat(identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].data || rowIndex),
236
233
  cells: visibleSortedColumns.map(function (_ref9) {
234
+ var _newRowData$key;
237
235
  var key = _ref9.key,
238
236
  type = _ref9.type;
239
- var value = newRowData[key];
237
+ var value = ((_newRowData$key = newRowData[key]) === null || _newRowData$key === void 0 ? void 0 : _newRowData$key.data) || newRowData[key];
240
238
  var values = Array.isArray(value) ? value : [value];
241
239
  var content = values.map(function (value) {
242
240
  return renderItem({
@@ -1,4 +1,4 @@
1
- import React, { useMemo } from 'react';
1
+ import React from 'react';
2
2
  import { useIntl } from 'react-intl-next';
3
3
  import TextRenderType from '../text';
4
4
  import { booleanTypeMessages } from './messages';
@@ -8,19 +8,13 @@ var BooleanRenderType = function BooleanRenderType(_ref) {
8
8
  _ref$testId = _ref.testId,
9
9
  testId = _ref$testId === void 0 ? BOOLEAN_TYPE_TEST_ID : _ref$testId;
10
10
  var intl = useIntl();
11
- var booleanValue = value === null || value === void 0 ? void 0 : value.value;
12
- var TRUTHY_TEXT = intl.formatMessage(booleanTypeMessages.booleanTruthyValue);
13
- var FALSY_TEXT = intl.formatMessage(booleanTypeMessages.booleanFalsyValue);
14
- var displayTextObject = useMemo(function () {
15
- return {
16
- value: booleanValue ? TRUTHY_TEXT : FALSY_TEXT
17
- };
18
- }, [booleanValue, TRUTHY_TEXT, FALSY_TEXT]);
19
- if (typeof booleanValue !== 'boolean') {
11
+ if (typeof value !== 'boolean') {
20
12
  return /*#__PURE__*/React.createElement(React.Fragment, null);
21
13
  }
14
+ var TRUTHY_TEXT = intl.formatMessage(booleanTypeMessages.booleanTruthyValue);
15
+ var FALSY_TEXT = intl.formatMessage(booleanTypeMessages.booleanFalsyValue);
22
16
  return /*#__PURE__*/React.createElement(TextRenderType, {
23
- text: displayTextObject,
17
+ text: value ? TRUTHY_TEXT : FALSY_TEXT,
24
18
  testId: testId
25
19
  });
26
20
  };
@@ -20,10 +20,9 @@ var DateTimeRenderType = function DateTimeRenderType(_ref) {
20
20
  testId = _ref$testId === void 0 ? DATETIME_TYPE_TEST_ID : _ref$testId,
21
21
  _ref$display = _ref.display,
22
22
  display = _ref$display === void 0 ? 'datetime' : _ref$display;
23
- var dateString = value === null || value === void 0 ? void 0 : value.value;
24
- var date = new Date(dateString);
23
+ var date = new Date(value);
25
24
  var intl = useIntl();
26
- if (!dateString || isNaN(date.getTime())) {
25
+ if (!value || isNaN(date.getTime())) {
27
26
  return /*#__PURE__*/React.createElement(React.Fragment, null);
28
27
  }
29
28
  var options = {
@@ -40,7 +40,7 @@ export var fallbackRenderType = function fallbackRenderType(item) {
40
40
  });
41
41
  case 'tag':
42
42
  return /*#__PURE__*/React.createElement(TagRenderType, {
43
- text: item.value
43
+ tag: item.value
44
44
  });
45
45
  case 'time':
46
46
  return /*#__PURE__*/React.createElement(DateTimeRenderType, {
@@ -11,25 +11,26 @@ var linkStyles = {
11
11
  key: _objectSpread(_objectSpread({}, h300()), {}, {
12
12
  color: "var(--ds-text-subtlest, ".concat(N300, ")"),
13
13
  fontWeight: 600
14
- })
14
+ }),
15
+ default: {}
15
16
  };
16
17
  export var LINK_TYPE_TEST_ID = 'link-datasource-render-type--link';
17
18
  var LinkRenderType = function LinkRenderType(_ref) {
18
- var linkType = _ref.linkType,
19
+ var style = _ref.style,
19
20
  url = _ref.url,
20
21
  text = _ref.text,
21
22
  _ref$testId = _ref.testId,
22
23
  testId = _ref$testId === void 0 ? LINK_TYPE_TEST_ID : _ref$testId;
23
- var style = useMemo(function () {
24
- return linkType && linkStyles[linkType] || {};
25
- }, [linkType]);
24
+ var linkStyle = useMemo(function () {
25
+ return (style === null || style === void 0 ? void 0 : style.appearance) && linkStyles[style.appearance] || {};
26
+ }, [style]);
26
27
  var anchor = useMemo(function () {
27
28
  return /*#__PURE__*/React.createElement(LinkUrl, {
28
29
  href: url,
29
- style: style,
30
+ style: linkStyle,
30
31
  "data-testid": testId
31
32
  }, text || url);
32
- }, [style, url, text, testId]);
33
+ }, [linkStyle, url, text, testId]);
33
34
  var SmartCard = function SmartCard() {
34
35
  return /*#__PURE__*/React.createElement(ErrorBoundary, {
35
36
  fallback: anchor
@@ -4,11 +4,10 @@ var NumberRenderType = function NumberRenderType(_ref) {
4
4
  var number = _ref.number,
5
5
  _ref$testId = _ref.testId,
6
6
  testId = _ref$testId === void 0 ? NUMBER_TYPE_TEST_ID : _ref$testId;
7
- var numberValue = number === null || number === void 0 ? void 0 : number.value;
8
- if (typeof numberValue !== 'number') {
7
+ if (typeof number !== 'number') {
9
8
  return /*#__PURE__*/React.createElement(React.Fragment, null);
10
9
  }
11
- var formattedNumber = Number.isInteger(numberValue) ? numberValue : "".concat(numberValue.toFixed(2));
10
+ var formattedNumber = Number.isInteger(number) ? number : "".concat(number.toFixed(2));
12
11
  return /*#__PURE__*/React.createElement("span", {
13
12
  "data-testid": testId
14
13
  }, formattedNumber);
@@ -3,17 +3,16 @@ import Lozenge from '@atlaskit/lozenge';
3
3
  export var STATUS_TYPE_TEST_ID = 'link-datasource-render-type--status';
4
4
  var StatusRenderType = function StatusRenderType(_ref) {
5
5
  var text = _ref.text,
6
- status = _ref.status,
6
+ style = _ref.style,
7
7
  _ref$testId = _ref.testId,
8
- testId = _ref$testId === void 0 ? STATUS_TYPE_TEST_ID : _ref$testId,
9
- style = _ref.style;
10
- if (!text) {
8
+ testId = _ref$testId === void 0 ? STATUS_TYPE_TEST_ID : _ref$testId;
9
+ if (!(text && typeof text === 'string')) {
11
10
  return /*#__PURE__*/React.createElement(React.Fragment, null);
12
11
  }
13
12
  return /*#__PURE__*/React.createElement(Lozenge, {
14
- appearance: status,
15
- testId: testId,
16
- style: style
13
+ appearance: style === null || style === void 0 ? void 0 : style.appearance,
14
+ isBold: style === null || style === void 0 ? void 0 : style.isBold,
15
+ testId: testId
17
16
  }, text);
18
17
  };
19
18
  export default StatusRenderType;
@@ -2,15 +2,15 @@ import React from 'react';
2
2
  import { SimpleTag as Tag } from '@atlaskit/tag';
3
3
  export var TAG_TYPE_TEST_ID = 'link-datasource-render-type--tag';
4
4
  var TagRenderType = function TagRenderType(_ref) {
5
- var text = _ref.text,
5
+ var tag = _ref.tag,
6
6
  _ref$testId = _ref.testId,
7
7
  testId = _ref$testId === void 0 ? TAG_TYPE_TEST_ID : _ref$testId;
8
- var tag = text === null || text === void 0 ? void 0 : text.value;
9
- if (!tag) {
8
+ var text = tag === null || tag === void 0 ? void 0 : tag.text;
9
+ if (!(text && typeof text === 'string')) {
10
10
  return /*#__PURE__*/React.createElement(React.Fragment, null);
11
11
  }
12
12
  return /*#__PURE__*/React.createElement(Tag, {
13
- text: tag,
13
+ text: text,
14
14
  testId: testId,
15
15
  appearance: 'default',
16
16
  color: 'standard'
@@ -4,12 +4,11 @@ var TextRenderType = function TextRenderType(_ref) {
4
4
  var text = _ref.text,
5
5
  _ref$testId = _ref.testId,
6
6
  testId = _ref$testId === void 0 ? TEXT_TYPE_TEST_ID : _ref$testId;
7
- var textValue = text === null || text === void 0 ? void 0 : text.value;
8
- if (!textValue) {
7
+ if (!(text && typeof text === 'string')) {
9
8
  return /*#__PURE__*/React.createElement(React.Fragment, null);
10
9
  }
11
10
  return /*#__PURE__*/React.createElement("span", {
12
11
  "data-testid": testId
13
- }, textValue);
12
+ }, text);
14
13
  };
15
14
  export default TextRenderType;
@@ -53,7 +53,7 @@ export var JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
53
53
  var _ref = parameters || {},
54
54
  cloudId = _ref.cloudId,
55
55
  jql = _ref.jql;
56
- var _useDatasourceTableSt = useDatasourceTableState(datasourceId, parameters, ['key']),
56
+ var _useDatasourceTableSt = useDatasourceTableState(datasourceId, parameters),
57
57
  reset = _useDatasourceTableSt.reset,
58
58
  status = _useDatasourceTableSt.status,
59
59
  onNextPage = _useDatasourceTableSt.onNextPage,
@@ -115,11 +115,11 @@ export var JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
115
115
  }
116
116
  }, [visibleColumnKeys, defaultVisibleColumnKeys, onVisibleColumnKeysChange]);
117
117
  var retrieveUrlForSmartCardRender = useCallback(function () {
118
- var _data$key;
118
+ var _data$key, _data$key$data;
119
119
  var _responseItems = _slicedToArray(responseItems, 1),
120
120
  data = _responseItems[0];
121
121
  // agrement with BE that we will use `key` for rendering smartlink
122
- return data === null || data === void 0 ? void 0 : (_data$key = data.key) === null || _data$key === void 0 ? void 0 : _data$key.url;
122
+ return data === null || data === void 0 ? void 0 : (_data$key = data.key) === null || _data$key === void 0 ? void 0 : (_data$key$data = _data$key.data) === null || _data$key$data === void 0 ? void 0 : _data$key$data.url;
123
123
  }, [responseItems]);
124
124
  var onInsertPressed = useCallback(function () {
125
125
  if (!isParametersSet || !jql || !selectedJiraSite) {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.17.0",
3
+ "version": "0.17.2",
4
4
  "sideEffects": false
5
5
  }
@@ -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<({ linkType, url, text, testId, }: LinkProps) => JSX.Element>;
7
+ declare const _default: React.MemoExoticComponent<({ style, url, text, testId, }: LinkProps) => JSX.Element>;
8
8
  export default _default;
@@ -4,5 +4,5 @@ interface StatusProps extends Status {
4
4
  testId?: string;
5
5
  }
6
6
  export declare const STATUS_TYPE_TEST_ID = "link-datasource-render-type--status";
7
- declare const StatusRenderType: ({ text, status, testId, style, }: StatusProps) => JSX.Element;
7
+ declare const StatusRenderType: ({ text, style, testId, }: StatusProps) => JSX.Element;
8
8
  export default StatusRenderType;
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { TagType } from '@atlaskit/linking-types';
3
3
  interface TagProps {
4
- text: TagType['value'];
4
+ tag: TagType['value'];
5
5
  testId?: string;
6
6
  }
7
7
  export declare const TAG_TYPE_TEST_ID = "link-datasource-render-type--tag";
8
- declare const TagRenderType: ({ text, testId }: TagProps) => JSX.Element;
8
+ declare const TagRenderType: ({ tag, testId }: TagProps) => JSX.Element;
9
9
  export default TagRenderType;
@@ -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<({ linkType, url, text, testId, }: LinkProps) => JSX.Element>;
7
+ declare const _default: React.MemoExoticComponent<({ style, url, text, testId, }: LinkProps) => JSX.Element>;
8
8
  export default _default;
@@ -4,5 +4,5 @@ interface StatusProps extends Status {
4
4
  testId?: string;
5
5
  }
6
6
  export declare const STATUS_TYPE_TEST_ID = "link-datasource-render-type--status";
7
- declare const StatusRenderType: ({ text, status, testId, style, }: StatusProps) => JSX.Element;
7
+ declare const StatusRenderType: ({ text, style, testId, }: StatusProps) => JSX.Element;
8
8
  export default StatusRenderType;
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { TagType } from '@atlaskit/linking-types';
3
3
  interface TagProps {
4
- text: TagType['value'];
4
+ tag: TagType['value'];
5
5
  testId?: string;
6
6
  }
7
7
  export declare const TAG_TYPE_TEST_ID = "link-datasource-render-type--tag";
8
- declare const TagRenderType: ({ text, testId }: TagProps) => JSX.Element;
8
+ declare const TagRenderType: ({ tag, testId }: TagProps) => JSX.Element;
9
9
  export default TagRenderType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.17.0",
3
+ "version": "0.17.2",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -36,18 +36,18 @@
36
36
  "@atlaskit/image": "^1.1.0",
37
37
  "@atlaskit/link-client-extension": "^1.1.0",
38
38
  "@atlaskit/linking-common": "^2.12.0",
39
- "@atlaskit/linking-types": "^2.0.0",
39
+ "@atlaskit/linking-types": "^3.0.0",
40
40
  "@atlaskit/lozenge": "^11.4.0",
41
41
  "@atlaskit/modal-dialog": "^12.5.0",
42
42
  "@atlaskit/pragmatic-drag-and-drop": "^0.18.0",
43
43
  "@atlaskit/pragmatic-drag-and-drop-autoscroll": "^0.5.0",
44
44
  "@atlaskit/pragmatic-drag-and-drop-hitbox": "^0.11.0",
45
45
  "@atlaskit/pragmatic-drag-and-drop-react-indicator": "^0.14.0",
46
- "@atlaskit/select": "^16.2.0",
46
+ "@atlaskit/select": "^16.3.0",
47
47
  "@atlaskit/smart-card": "^26.3.0",
48
48
  "@atlaskit/spinner": "^15.5.0",
49
49
  "@atlaskit/tag": "^11.5.0",
50
- "@atlaskit/textfield": "5.4.2",
50
+ "@atlaskit/textfield": "5.4.3",
51
51
  "@atlaskit/theme": "^12.5.0",
52
52
  "@atlaskit/tokens": "^1.4.0",
53
53
  "@atlassianlabs/jql-editor": "^1.2.0",
@@ -66,7 +66,7 @@
66
66
  "@atlaskit/code": "^14.6.0",
67
67
  "@atlaskit/docs": "*",
68
68
  "@atlaskit/link-provider": "^1.6.0",
69
- "@atlaskit/link-test-helpers": "^3.1.0",
69
+ "@atlaskit/link-test-helpers": "^4.0.0",
70
70
  "@atlaskit/ssr": "*",
71
71
  "@atlaskit/visual-regression": "*",
72
72
  "@atlaskit/webdriver-runner": "*",