@atlaskit/link-datasource 0.15.1 → 0.16.1

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 (132) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/hooks/useDatasourceTableState.js +12 -18
  3. package/dist/cjs/index.js +6 -6
  4. package/dist/cjs/ui/{jira-issues/tableView.js → datasourceTableView.js} +7 -7
  5. package/dist/cjs/ui/issue-like-table/index.js +1 -1
  6. package/dist/cjs/ui/issue-like-table/render-type/boolean/index.js +14 -5
  7. package/dist/cjs/ui/issue-like-table/render-type/date-time/index.js +3 -2
  8. package/dist/cjs/ui/issue-like-table/render-type/number/index.js +3 -2
  9. package/dist/cjs/ui/issue-like-table/render-type/tag/index.js +3 -2
  10. package/dist/cjs/ui/issue-like-table/render-type/text/index.js +3 -2
  11. package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/index.js +6 -6
  12. package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/index.js +2 -3
  13. package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.js +2 -2
  14. package/dist/cjs/ui/{jira-issues/table-footer → table-footer}/messages.js +3 -3
  15. package/dist/cjs/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.js +2 -2
  16. package/dist/cjs/version.json +1 -1
  17. package/dist/es2019/hooks/useDatasourceTableState.js +3 -18
  18. package/dist/es2019/index.js +2 -2
  19. package/dist/es2019/ui/{jira-issues/tableView.js → datasourceTableView.js} +5 -5
  20. package/dist/es2019/ui/issue-like-table/index.js +1 -1
  21. package/dist/es2019/ui/issue-like-table/render-type/boolean/index.js +9 -5
  22. package/dist/es2019/ui/issue-like-table/render-type/date-time/index.js +3 -2
  23. package/dist/es2019/ui/issue-like-table/render-type/number/index.js +3 -2
  24. package/dist/es2019/ui/issue-like-table/render-type/tag/index.js +3 -2
  25. package/dist/es2019/ui/issue-like-table/render-type/text/index.js +3 -2
  26. package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/index.js +6 -6
  27. package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/index.js +2 -3
  28. package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.js +2 -2
  29. package/dist/es2019/ui/{jira-issues/table-footer → table-footer}/messages.js +3 -3
  30. package/dist/es2019/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.js +2 -2
  31. package/dist/es2019/version.json +1 -1
  32. package/dist/esm/hooks/useDatasourceTableState.js +12 -18
  33. package/dist/esm/index.js +2 -2
  34. package/dist/esm/ui/{jira-issues/tableView.js → datasourceTableView.js} +5 -5
  35. package/dist/esm/ui/issue-like-table/index.js +1 -1
  36. package/dist/esm/ui/issue-like-table/render-type/boolean/index.js +11 -5
  37. package/dist/esm/ui/issue-like-table/render-type/date-time/index.js +3 -2
  38. package/dist/esm/ui/issue-like-table/render-type/number/index.js +3 -2
  39. package/dist/esm/ui/issue-like-table/render-type/tag/index.js +3 -2
  40. package/dist/esm/ui/issue-like-table/render-type/text/index.js +3 -2
  41. package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/index.js +6 -6
  42. package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/index.js +2 -3
  43. package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.js +2 -2
  44. package/dist/esm/ui/{jira-issues/table-footer → table-footer}/messages.js +3 -3
  45. package/dist/esm/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.js +2 -2
  46. package/dist/esm/version.json +1 -1
  47. package/dist/types/hooks/useDatasourceTableState.d.ts +1 -2
  48. package/dist/types/index.d.ts +2 -2
  49. package/dist/types/ui/datasourceTableView.d.ts +9 -0
  50. package/dist/types/ui/issue-like-table/render-type/boolean/index.d.ts +2 -1
  51. package/dist/types/ui/issue-like-table/render-type/number/index.d.ts +2 -1
  52. package/dist/types/ui/issue-like-table/render-type/text/index.d.ts +2 -1
  53. package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/index.d.ts +1 -1
  54. package/dist/{types-ts4.5/ui/jira-issues/modal → types/ui/jira-issues-modal}/jira-search-container/index.d.ts +2 -2
  55. package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.d.ts +1 -1
  56. package/dist/types/ui/jira-issues-modal/types.d.ts +15 -0
  57. package/dist/types-ts4.5/hooks/useDatasourceTableState.d.ts +1 -2
  58. package/dist/types-ts4.5/index.d.ts +2 -2
  59. package/dist/types-ts4.5/ui/datasourceTableView.d.ts +9 -0
  60. package/dist/types-ts4.5/ui/issue-like-table/render-type/boolean/index.d.ts +2 -1
  61. package/dist/types-ts4.5/ui/issue-like-table/render-type/number/index.d.ts +2 -1
  62. package/dist/types-ts4.5/ui/issue-like-table/render-type/text/index.d.ts +2 -1
  63. package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/index.d.ts +1 -1
  64. package/dist/{types/ui/jira-issues/modal → types-ts4.5/ui/jira-issues-modal}/jira-search-container/index.d.ts +2 -2
  65. package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.d.ts +1 -1
  66. package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +15 -0
  67. package/examples-helpers/buildIssueLikeTable.tsx +2 -3
  68. package/examples-helpers/buildJiraIssuesTable.tsx +9 -11
  69. package/package.json +4 -4
  70. package/report.api.md +36 -25
  71. package/tmp/api-report-tmp.d.ts +26 -20
  72. package/dist/types/ui/jira-issues/tableView.d.ts +0 -3
  73. package/dist/types/ui/jira-issues/types.d.ts +0 -14
  74. package/dist/types-ts4.5/ui/jira-issues/tableView.d.ts +0 -3
  75. package/dist/types-ts4.5/ui/jira-issues/types.d.ts +0 -14
  76. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.js +0 -0
  77. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.js +0 -0
  78. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.js +0 -0
  79. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.js +0 -0
  80. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/messages.js +0 -0
  81. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.js +0 -0
  82. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.js +0 -0
  83. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.js +0 -0
  84. /package/dist/cjs/ui/{jira-issues → jira-issues-modal}/types.js +0 -0
  85. /package/dist/cjs/ui/{jira-issues/table-footer → table-footer}/index.js +0 -0
  86. /package/dist/cjs/ui/{jira-issues/table-footer → table-footer}/sync-info/index.js +0 -0
  87. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.js +0 -0
  88. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.js +0 -0
  89. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.js +0 -0
  90. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.js +0 -0
  91. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/messages.js +0 -0
  92. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.js +0 -0
  93. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.js +0 -0
  94. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.js +0 -0
  95. /package/dist/es2019/ui/{jira-issues → jira-issues-modal}/types.js +0 -0
  96. /package/dist/es2019/ui/{jira-issues/table-footer → table-footer}/index.js +0 -0
  97. /package/dist/es2019/ui/{jira-issues/table-footer → table-footer}/sync-info/index.js +0 -0
  98. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.js +0 -0
  99. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.js +0 -0
  100. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.js +0 -0
  101. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.js +0 -0
  102. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/messages.js +0 -0
  103. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.js +0 -0
  104. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.js +0 -0
  105. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.js +0 -0
  106. /package/dist/esm/ui/{jira-issues → jira-issues-modal}/types.js +0 -0
  107. /package/dist/esm/ui/{jira-issues/table-footer → table-footer}/index.js +0 -0
  108. /package/dist/esm/ui/{jira-issues/table-footer → table-footer}/sync-info/index.js +0 -0
  109. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.d.ts +0 -0
  110. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.d.ts +0 -0
  111. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.d.ts +0 -0
  112. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.d.ts +0 -0
  113. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.d.ts +0 -0
  114. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/messages.d.ts +0 -0
  115. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.d.ts +0 -0
  116. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.d.ts +0 -0
  117. /package/dist/types/ui/{jira-issues/table-footer → table-footer}/index.d.ts +0 -0
  118. /package/dist/types/ui/{jira-issues/table-footer → table-footer}/messages.d.ts +0 -0
  119. /package/dist/types/ui/{jira-issues/table-footer → table-footer}/sync-info/index.d.ts +0 -0
  120. /package/dist/types/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.d.ts +0 -0
  121. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.d.ts +0 -0
  122. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.d.ts +0 -0
  123. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.d.ts +0 -0
  124. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.d.ts +0 -0
  125. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.d.ts +0 -0
  126. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/messages.d.ts +0 -0
  127. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.d.ts +0 -0
  128. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.d.ts +0 -0
  129. /package/dist/types-ts4.5/ui/{jira-issues/table-footer → table-footer}/index.d.ts +0 -0
  130. /package/dist/types-ts4.5/ui/{jira-issues/table-footer → table-footer}/messages.d.ts +0 -0
  131. /package/dist/types-ts4.5/ui/{jira-issues/table-footer → table-footer}/sync-info/index.d.ts +0 -0
  132. /package/dist/types-ts4.5/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
2
  import { JQLEditor } from '@atlassianlabs/jql-editor';
3
3
  import { useAutocompleteProvider } from '@atlassianlabs/jql-editor-autocomplete-rest';
4
- import { makeGetJqlAutocompleteData } from '../../../../services/makeGetJqlAutocompleteData';
5
- import { makeGetJqlSuggestionsData } from '../../../../services/makeGetJqlSuggestionsData';
4
+ import { makeGetJqlAutocompleteData } from '../../../services/makeGetJqlAutocompleteData';
5
+ import { makeGetJqlSuggestionsData } from '../../../services/makeGetJqlSuggestionsData';
6
6
  export const JiraJQLEditor = props => {
7
7
  const {
8
8
  cloudId,
@@ -1,17 +1,17 @@
1
1
  import { defineMessages } from 'react-intl-next';
2
2
  export const footerMessages = defineMessages({
3
3
  issueText: {
4
- id: 'linkDataSource.jira-issues.table-footer.issue',
4
+ id: 'linkDataSource.table-footer.issue',
5
5
  description: 'Text that appears after issue count number if there is only 1 issue.',
6
6
  defaultMessage: '{issueCount} {issueCount, plural, one {issue} other {issues}}'
7
7
  },
8
8
  loadingText: {
9
- id: 'linkDataSource.jira-issues.table-footer.loading',
9
+ id: 'linkDataSource.table-footer.loading',
10
10
  description: 'Text that appears when table is loading.',
11
11
  defaultMessage: 'Loading...'
12
12
  },
13
13
  refreshLabel: {
14
- id: 'linkDataSource.jira-issues.table-footer.refresh',
14
+ id: 'linkDataSource.table-footer.refresh',
15
15
  description: 'Label for refresh icon',
16
16
  defaultMessage: 'Refresh'
17
17
  }
@@ -1,12 +1,12 @@
1
1
  import { defineMessages } from 'react-intl-next';
2
2
  export const messages = defineMessages({
3
3
  underOneMinuteText: {
4
- id: 'linkDataSource.jira-issues.table-footer.date_formatter.under_one_minute',
4
+ id: 'linkDataSource.table-footer.date_formatter.under_one_minute',
5
5
  defaultMessage: 'Synced just now',
6
6
  description: 'A text to indicate the last data fetch time was under a minute.'
7
7
  },
8
8
  overOneMinuteText: {
9
- id: 'linkDataSource.jira-issues.table-footer.date_formatter.under_over_minute',
9
+ id: 'linkDataSource.table-footer.date_formatter.under_over_minute',
10
10
  defaultMessage: 'Synced {date}',
11
11
  description: 'A text to indicate the last data fetch time was over a minute.'
12
12
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.15.1",
3
+ "version": "0.16.1",
4
4
  "sideEffects": false
5
5
  }
@@ -1,5 +1,4 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
4
  import _regeneratorRuntime from "@babel/runtime/regenerator";
@@ -38,27 +37,25 @@ export var useDatasourceTableState = function useDatasourceTableState(datasource
38
37
  getDatasourceData = _useDatasourceClientE.getDatasourceData,
39
38
  getDatasourceDetails = _useDatasourceClientE.getDatasourceDetails;
40
39
  var loadDatasourceDetails = useCallback( /*#__PURE__*/function () {
41
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
42
- var _getDatasourceDetails;
43
- var cloudId, parameterValue, parameterType, result;
40
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(parameters) {
41
+ var result;
44
42
  return _regeneratorRuntime.wrap(function _callee$(_context) {
45
43
  while (1) switch (_context.prev = _context.next) {
46
44
  case 0:
47
- cloudId = _ref.cloudId, parameterValue = _ref.value, parameterType = _ref.type;
48
- _context.next = 3;
49
- return getDatasourceDetails(datasourceId, (_getDatasourceDetails = {}, _defineProperty(_getDatasourceDetails, parameterType, parameterValue), _defineProperty(_getDatasourceDetails, "cloudId", cloudId), _getDatasourceDetails));
50
- case 3:
45
+ _context.next = 2;
46
+ return getDatasourceDetails(datasourceId, parameters);
47
+ case 2:
51
48
  result = _context.sent;
52
49
  setColumns(result.schema.properties);
53
50
  setDefaultVisibleColumnKeys(result.schema.defaultProperties);
54
- case 6:
51
+ case 5:
55
52
  case "end":
56
53
  return _context.stop();
57
54
  }
58
55
  }, _callee);
59
56
  }));
60
57
  return function (_x) {
61
- return _ref2.apply(this, arguments);
58
+ return _ref.apply(this, arguments);
62
59
  };
63
60
  }(), [datasourceId, getDatasourceDetails]);
64
61
  useEffect(function () {
@@ -67,7 +64,7 @@ export var useDatasourceTableState = function useDatasourceTableState(datasource
67
64
  }
68
65
  }, [loadDatasourceDetails, parameters]);
69
66
  var onNextPage = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
70
- var cloudId, parameterValue, parameterType, _yield$getDatasourceD, data, nextPageCursor, totalIssues;
67
+ var _yield$getDatasourceD, data, nextPageCursor, totalIssues;
71
68
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
72
69
  while (1) switch (_context2.prev = _context2.next) {
73
70
  case 0:
@@ -77,18 +74,15 @@ export var useDatasourceTableState = function useDatasourceTableState(datasource
77
74
  }
78
75
  return _context2.abrupt("return");
79
76
  case 2:
80
- cloudId = parameters.cloudId, parameterValue = parameters.value, parameterType = parameters.type;
81
77
  setStatus('loading');
82
- _context2.next = 6;
78
+ _context2.next = 5;
83
79
  return getDatasourceData(datasourceId, {
84
- parameters: _defineProperty({
85
- cloudId: cloudId
86
- }, parameterType, parameterValue),
80
+ parameters: parameters,
87
81
  pageSize: 10,
88
82
  pageCursor: nextCursor,
89
83
  fields: fields
90
84
  });
91
- case 6:
85
+ case 5:
92
86
  _yield$getDatasourceD = _context2.sent;
93
87
  data = _yield$getDatasourceD.data;
94
88
  nextPageCursor = _yield$getDatasourceD.nextPageCursor;
@@ -100,7 +94,7 @@ export var useDatasourceTableState = function useDatasourceTableState(datasource
100
94
  });
101
95
  setStatus('resolved');
102
96
  setHasNextPage(Boolean(nextPageCursor));
103
- case 15:
97
+ case 14:
104
98
  case "end":
105
99
  return _context2.stop();
106
100
  }
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { JiraIssuesConfigModal } from './ui/jira-issues/modal';
2
- export { JiraIssuesTableView } from './ui/jira-issues/tableView';
1
+ export { JiraIssuesConfigModal } from './ui/jira-issues-modal';
2
+ export { DatasourceTableView } from './ui/datasourceTableView';
@@ -2,8 +2,8 @@
2
2
  import { useEffect } from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import Spinner from '@atlaskit/spinner';
5
- import { useDatasourceTableState } from '../../hooks/useDatasourceTableState';
6
- import { IssueLikeDataTableView } from '../issue-like-table';
5
+ import { useDatasourceTableState } from '../hooks/useDatasourceTableState';
6
+ import { IssueLikeDataTableView } from './issue-like-table';
7
7
  import { TableFooter } from './table-footer';
8
8
  var TableViewWrapperStyles = css({
9
9
  display: 'flex',
@@ -15,7 +15,7 @@ var TableViewWrapperStyles = css({
15
15
  paddingBottom: 0,
16
16
  boxSizing: 'border-box'
17
17
  });
18
- export var JiraIssuesTableView = function JiraIssuesTableView(_ref) {
18
+ export var DatasourceTableView = function DatasourceTableView(_ref) {
19
19
  var datasourceId = _ref.datasourceId,
20
20
  parameters = _ref.parameters,
21
21
  visibleColumnKeys = _ref.visibleColumnKeys,
@@ -37,7 +37,7 @@ export var JiraIssuesTableView = function JiraIssuesTableView(_ref) {
37
37
  return columns.length > 0 ? jsx("div", {
38
38
  css: TableViewWrapperStyles
39
39
  }, jsx(IssueLikeDataTableView, {
40
- testId: 'jira-issues-table-view',
40
+ testId: 'datasource-table-view',
41
41
  hasNextPage: hasNextPage,
42
42
  items: responseItems,
43
43
  onNextPage: onNextPage,
@@ -50,6 +50,6 @@ export var JiraIssuesTableView = function JiraIssuesTableView(_ref) {
50
50
  onRefresh: reset,
51
51
  isLoading: status === 'loading'
52
52
  })) : jsx(Spinner, {
53
- testId: 'jira-issues-table-view-spinner'
53
+ testId: 'datasource-table-view-spinner'
54
54
  });
55
55
  };
@@ -232,7 +232,7 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
232
232
  var tableRows = useMemo(function () {
233
233
  return items.map(function (newRowData, rowIndex) {
234
234
  return {
235
- key: "".concat(identityColumnKey && newRowData[identityColumnKey] || rowIndex),
235
+ key: "".concat(identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].value || rowIndex),
236
236
  cells: visibleSortedColumns.map(function (_ref9) {
237
237
  var key = _ref9.key,
238
238
  type = _ref9.type;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useMemo } from 'react';
2
2
  import { useIntl } from 'react-intl-next';
3
3
  import TextRenderType from '../text';
4
4
  import { booleanTypeMessages } from './messages';
@@ -8,13 +8,19 @@ 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
- if (typeof value !== 'boolean') {
12
- return /*#__PURE__*/React.createElement(React.Fragment, null);
13
- }
11
+ var booleanValue = value === null || value === void 0 ? void 0 : value.value;
14
12
  var TRUTHY_TEXT = intl.formatMessage(booleanTypeMessages.booleanTruthyValue);
15
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') {
20
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
21
+ }
16
22
  return /*#__PURE__*/React.createElement(TextRenderType, {
17
- text: value ? TRUTHY_TEXT : FALSY_TEXT,
23
+ text: displayTextObject,
18
24
  testId: testId
19
25
  });
20
26
  };
@@ -20,9 +20,10 @@ 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 date = new Date(value);
23
+ var dateString = value === null || value === void 0 ? void 0 : value.value;
24
+ var date = new Date(dateString);
24
25
  var intl = useIntl();
25
- if (!value || isNaN(date.getTime())) {
26
+ if (!dateString || isNaN(date.getTime())) {
26
27
  return /*#__PURE__*/React.createElement(React.Fragment, null);
27
28
  }
28
29
  var options = {
@@ -4,10 +4,11 @@ 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
- if (typeof number !== 'number') {
7
+ var numberValue = number === null || number === void 0 ? void 0 : number.value;
8
+ if (typeof numberValue !== 'number') {
8
9
  return /*#__PURE__*/React.createElement(React.Fragment, null);
9
10
  }
10
- var formattedNumber = Number.isInteger(number) ? number : "".concat(number.toFixed(2));
11
+ var formattedNumber = Number.isInteger(numberValue) ? numberValue : "".concat(numberValue.toFixed(2));
11
12
  return /*#__PURE__*/React.createElement("span", {
12
13
  "data-testid": testId
13
14
  }, formattedNumber);
@@ -5,11 +5,12 @@ var TagRenderType = function TagRenderType(_ref) {
5
5
  var text = _ref.text,
6
6
  _ref$testId = _ref.testId,
7
7
  testId = _ref$testId === void 0 ? TAG_TYPE_TEST_ID : _ref$testId;
8
- if (!text) {
8
+ var tag = text === null || text === void 0 ? void 0 : text.value;
9
+ if (!tag) {
9
10
  return /*#__PURE__*/React.createElement(React.Fragment, null);
10
11
  }
11
12
  return /*#__PURE__*/React.createElement(Tag, {
12
- text: text,
13
+ text: tag,
13
14
  testId: testId,
14
15
  appearance: 'default',
15
16
  color: 'standard'
@@ -4,11 +4,12 @@ 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
- if (!text) {
7
+ var textValue = text === null || text === void 0 ? void 0 : text.value;
8
+ if (!textValue) {
8
9
  return /*#__PURE__*/React.createElement(React.Fragment, null);
9
10
  }
10
11
  return /*#__PURE__*/React.createElement("span", {
11
12
  "data-testid": testId
12
- }, text);
13
+ }, textValue);
13
14
  };
14
15
  export default TextRenderType;
@@ -9,10 +9,10 @@ import { FormattedMessage, IntlProvider, useIntl } from 'react-intl-next';
9
9
  import Button from '@atlaskit/button/standard-button';
10
10
  import Modal, { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
11
11
  import { B400, N0 } from '@atlaskit/theme/colors';
12
- import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
13
- import { getAvailableJiraSites } from '../../../services/getAvailableJiraSites';
14
- import { EmptyState, IssueLikeDataTableView } from '../../issue-like-table';
15
- import LinkRenderType from '../../issue-like-table/render-type/link';
12
+ import { useDatasourceTableState } from '../../hooks/useDatasourceTableState';
13
+ import { getAvailableJiraSites } from '../../services/getAvailableJiraSites';
14
+ import { EmptyState, IssueLikeDataTableView } from '../issue-like-table';
15
+ import LinkRenderType from '../issue-like-table/render-type/link';
16
16
  import { JiraSearchContainer } from './jira-search-container';
17
17
  import { modalMessages } from './messages';
18
18
  import { ModeSwitcher } from './mode-switcher';
@@ -48,10 +48,10 @@ export var JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
48
48
  onInsert = props.onInsert,
49
49
  onUpdateParameters = props.onUpdateParameters,
50
50
  onVisibleColumnKeysChange = props.onVisibleColumnKeysChange;
51
- var isParametersSet = !!(parameters && parameters.value && parameters.cloudId);
51
+ var isParametersSet = !!(parameters && parameters.jql && parameters.cloudId);
52
52
  var _ref = parameters || {},
53
53
  cloudId = _ref.cloudId,
54
- jql = _ref.value;
54
+ jql = _ref.jql;
55
55
  var _useDatasourceTableSt = useDatasourceTableState(datasourceId, parameters, ['key']),
56
56
  reset = _useDatasourceTableSt.reset,
57
57
  status = _useDatasourceTableSt.status,
@@ -19,7 +19,7 @@ export var JiraSearchContainer = function JiraSearchContainer(props) {
19
19
  onSearch = props.onSearch;
20
20
  var _ref = parameters || {},
21
21
  cloudId = _ref.cloudId,
22
- initialJql = _ref.value;
22
+ initialJql = _ref.jql;
23
23
  var _useIntl = useIntl(),
24
24
  formatMessage = _useIntl.formatMessage;
25
25
  var basicModeValue = 'basic';
@@ -75,8 +75,7 @@ export var JiraSearchContainer = function JiraSearchContainer(props) {
75
75
  };
76
76
  var handleSearch = function handleSearch() {
77
77
  onSearch({
78
- value: jql,
79
- type: 'jql'
78
+ jql: jql
80
79
  });
81
80
  };
82
81
  return jsx("div", {
@@ -1,8 +1,8 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
2
  import { JQLEditor } from '@atlassianlabs/jql-editor';
3
3
  import { useAutocompleteProvider } from '@atlassianlabs/jql-editor-autocomplete-rest';
4
- import { makeGetJqlAutocompleteData } from '../../../../services/makeGetJqlAutocompleteData';
5
- import { makeGetJqlSuggestionsData } from '../../../../services/makeGetJqlSuggestionsData';
4
+ import { makeGetJqlAutocompleteData } from '../../../services/makeGetJqlAutocompleteData';
5
+ import { makeGetJqlSuggestionsData } from '../../../services/makeGetJqlSuggestionsData';
6
6
  export var JiraJQLEditor = function JiraJQLEditor(props) {
7
7
  var cloudId = props.cloudId,
8
8
  onChange = props.onChange,
@@ -1,17 +1,17 @@
1
1
  import { defineMessages } from 'react-intl-next';
2
2
  export var footerMessages = defineMessages({
3
3
  issueText: {
4
- id: 'linkDataSource.jira-issues.table-footer.issue',
4
+ id: 'linkDataSource.table-footer.issue',
5
5
  description: 'Text that appears after issue count number if there is only 1 issue.',
6
6
  defaultMessage: '{issueCount} {issueCount, plural, one {issue} other {issues}}'
7
7
  },
8
8
  loadingText: {
9
- id: 'linkDataSource.jira-issues.table-footer.loading',
9
+ id: 'linkDataSource.table-footer.loading',
10
10
  description: 'Text that appears when table is loading.',
11
11
  defaultMessage: 'Loading...'
12
12
  },
13
13
  refreshLabel: {
14
- id: 'linkDataSource.jira-issues.table-footer.refresh',
14
+ id: 'linkDataSource.table-footer.refresh',
15
15
  description: 'Label for refresh icon',
16
16
  defaultMessage: 'Refresh'
17
17
  }
@@ -1,12 +1,12 @@
1
1
  import { defineMessages } from 'react-intl-next';
2
2
  export var messages = defineMessages({
3
3
  underOneMinuteText: {
4
- id: 'linkDataSource.jira-issues.table-footer.date_formatter.under_one_minute',
4
+ id: 'linkDataSource.table-footer.date_formatter.under_one_minute',
5
5
  defaultMessage: 'Synced just now',
6
6
  description: 'A text to indicate the last data fetch time was under a minute.'
7
7
  },
8
8
  overOneMinuteText: {
9
- id: 'linkDataSource.jira-issues.table-footer.date_formatter.under_over_minute',
9
+ id: 'linkDataSource.table-footer.date_formatter.under_over_minute',
10
10
  defaultMessage: 'Synced {date}',
11
11
  description: 'A text to indicate the last data fetch time was over a minute.'
12
12
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.15.1",
3
+ "version": "0.16.1",
4
4
  "sideEffects": false
5
5
  }
@@ -1,5 +1,4 @@
1
1
  import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType } from '@atlaskit/linking-types';
2
- import { JiraIssueDatasourceParameters } from '../ui/jira-issues/types';
3
2
  export interface DatasourceTableState {
4
3
  status: DatasourceTableStatusType;
5
4
  onNextPage: () => void;
@@ -10,4 +9,4 @@ export interface DatasourceTableState {
10
9
  defaultVisibleColumnKeys: string[];
11
10
  totalIssueCount?: number;
12
11
  }
13
- export declare const useDatasourceTableState: (datasourceId: string, parameters?: JiraIssueDatasourceParameters, fields?: string[]) => DatasourceTableState;
12
+ export declare const useDatasourceTableState: (datasourceId: string, parameters?: object, fields?: string[]) => DatasourceTableState;
@@ -1,2 +1,2 @@
1
- export { JiraIssuesConfigModal } from './ui/jira-issues/modal';
2
- export { JiraIssuesTableView } from './ui/jira-issues/tableView';
1
+ export { JiraIssuesConfigModal } from './ui/jira-issues-modal';
2
+ export { DatasourceTableView } from './ui/datasourceTableView';
@@ -0,0 +1,9 @@
1
+ import { jsx } from '@emotion/react';
2
+ export interface DatasourceTableViewProps {
3
+ datasourceId: string;
4
+ parameters: object;
5
+ fields?: string[];
6
+ onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
7
+ visibleColumnKeys?: string[];
8
+ }
9
+ export declare const DatasourceTableView: ({ datasourceId, parameters, visibleColumnKeys, onVisibleColumnKeysChange, }: DatasourceTableViewProps) => jsx.JSX.Element;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
+ import { BooleanType } from '@atlaskit/linking-types';
2
3
  interface BooleanProps {
3
4
  testId?: string;
4
- value: boolean;
5
+ value: BooleanType['value'];
5
6
  }
6
7
  export declare const BOOLEAN_TYPE_TEST_ID = "link-datasource-render-type--boolean";
7
8
  declare const BooleanRenderType: ({ value, testId, }: BooleanProps) => JSX.Element;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
+ import { NumberType } from '@atlaskit/linking-types';
2
3
  interface NumberProps {
3
4
  testId?: string;
4
- number: number;
5
+ number: NumberType['value'];
5
6
  }
6
7
  export declare const NUMBER_TYPE_TEST_ID = "link-datasource-render-type--number";
7
8
  declare const NumberRenderType: ({ number, testId, }: NumberProps) => JSX.Element;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
+ import { StringType } from '@atlaskit/linking-types';
2
3
  interface TextProps {
3
4
  testId?: string;
4
- text: string;
5
+ text: StringType['value'];
5
6
  }
6
7
  export declare const TEXT_TYPE_TEST_ID = "link-datasource-render-type--text";
7
8
  declare const TextRenderType: ({ text, testId }: TextProps) => JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  import { DatasourceAdf, InlineCardAdf } from '@atlaskit/linking-common/types';
3
- import { JiraIssueDatasourceParameters } from '../types';
3
+ import { JiraIssueDatasourceParameters } from './types';
4
4
  export interface JiraIssuesConfigModalProps {
5
5
  datasourceId: string;
6
6
  onVisibleColumnKeysChange: (visibleColumnKeys: string[]) => void;
@@ -1,7 +1,7 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { JiraIssueDatasourceParameters } from '../../types';
2
+ import { JiraIssueDatasourceParameters, JiraIssueDatasourceParametersQuery } from '../types';
3
3
  export interface SearchContainerProps {
4
- onSearch: (query: Omit<JiraIssueDatasourceParameters, 'cloudId'>) => void;
4
+ onSearch: (query: JiraIssueDatasourceParametersQuery) => void;
5
5
  parameters?: JiraIssueDatasourceParameters;
6
6
  }
7
7
  export declare const JiraSearchContainer: (props: SearchContainerProps) => jsx.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  /** @jsx jsx */
2
2
  import { jsx } from '@emotion/react';
3
- import { Site } from '../../../../services/getAvailableJiraSites';
3
+ import { Site } from '../../../services/getAvailableJiraSites';
4
4
  export interface JiraSiteSelectorProps {
5
5
  availableSites: Site[];
6
6
  onSiteSelection: (selectedSite: Site) => void;
@@ -0,0 +1,15 @@
1
+ type XOR<T1, T2> = (T1 & {
2
+ [k in Exclude<keyof T2, keyof T1>]?: never;
3
+ }) | (T2 & {
4
+ [k in Exclude<keyof T1, keyof T2>]?: never;
5
+ });
6
+ export type JiraIssueDatasourceParametersQuery = XOR<{
7
+ jql: string;
8
+ }, {
9
+ filter: string;
10
+ }>;
11
+ export type JiraIssueDatasourceParameters = {
12
+ cloudId: string;
13
+ } & JiraIssueDatasourceParametersQuery;
14
+ export type JiraIssueViewModes = 'issue' | 'count';
15
+ export {};
@@ -1,5 +1,4 @@
1
1
  import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType } from '@atlaskit/linking-types';
2
- import { JiraIssueDatasourceParameters } from '../ui/jira-issues/types';
3
2
  export interface DatasourceTableState {
4
3
  status: DatasourceTableStatusType;
5
4
  onNextPage: () => void;
@@ -10,4 +9,4 @@ export interface DatasourceTableState {
10
9
  defaultVisibleColumnKeys: string[];
11
10
  totalIssueCount?: number;
12
11
  }
13
- export declare const useDatasourceTableState: (datasourceId: string, parameters?: JiraIssueDatasourceParameters, fields?: string[]) => DatasourceTableState;
12
+ export declare const useDatasourceTableState: (datasourceId: string, parameters?: object, fields?: string[]) => DatasourceTableState;
@@ -1,2 +1,2 @@
1
- export { JiraIssuesConfigModal } from './ui/jira-issues/modal';
2
- export { JiraIssuesTableView } from './ui/jira-issues/tableView';
1
+ export { JiraIssuesConfigModal } from './ui/jira-issues-modal';
2
+ export { DatasourceTableView } from './ui/datasourceTableView';
@@ -0,0 +1,9 @@
1
+ import { jsx } from '@emotion/react';
2
+ export interface DatasourceTableViewProps {
3
+ datasourceId: string;
4
+ parameters: object;
5
+ fields?: string[];
6
+ onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
7
+ visibleColumnKeys?: string[];
8
+ }
9
+ export declare const DatasourceTableView: ({ datasourceId, parameters, visibleColumnKeys, onVisibleColumnKeysChange, }: DatasourceTableViewProps) => jsx.JSX.Element;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
+ import { BooleanType } from '@atlaskit/linking-types';
2
3
  interface BooleanProps {
3
4
  testId?: string;
4
- value: boolean;
5
+ value: BooleanType['value'];
5
6
  }
6
7
  export declare const BOOLEAN_TYPE_TEST_ID = "link-datasource-render-type--boolean";
7
8
  declare const BooleanRenderType: ({ value, testId, }: BooleanProps) => JSX.Element;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
+ import { NumberType } from '@atlaskit/linking-types';
2
3
  interface NumberProps {
3
4
  testId?: string;
4
- number: number;
5
+ number: NumberType['value'];
5
6
  }
6
7
  export declare const NUMBER_TYPE_TEST_ID = "link-datasource-render-type--number";
7
8
  declare const NumberRenderType: ({ number, testId, }: NumberProps) => JSX.Element;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
+ import { StringType } from '@atlaskit/linking-types';
2
3
  interface TextProps {
3
4
  testId?: string;
4
- text: string;
5
+ text: StringType['value'];
5
6
  }
6
7
  export declare const TEXT_TYPE_TEST_ID = "link-datasource-render-type--text";
7
8
  declare const TextRenderType: ({ text, testId }: TextProps) => JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  import { DatasourceAdf, InlineCardAdf } from '@atlaskit/linking-common/types';
3
- import { JiraIssueDatasourceParameters } from '../types';
3
+ import { JiraIssueDatasourceParameters } from './types';
4
4
  export interface JiraIssuesConfigModalProps {
5
5
  datasourceId: string;
6
6
  onVisibleColumnKeysChange: (visibleColumnKeys: string[]) => void;
@@ -1,7 +1,7 @@
1
1
  import { jsx } from '@emotion/react';
2
- import { JiraIssueDatasourceParameters } from '../../types';
2
+ import { JiraIssueDatasourceParameters, JiraIssueDatasourceParametersQuery } from '../types';
3
3
  export interface SearchContainerProps {
4
- onSearch: (query: Omit<JiraIssueDatasourceParameters, 'cloudId'>) => void;
4
+ onSearch: (query: JiraIssueDatasourceParametersQuery) => void;
5
5
  parameters?: JiraIssueDatasourceParameters;
6
6
  }
7
7
  export declare const JiraSearchContainer: (props: SearchContainerProps) => jsx.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  /** @jsx jsx */
2
2
  import { jsx } from '@emotion/react';
3
- import { Site } from '../../../../services/getAvailableJiraSites';
3
+ import { Site } from '../../../services/getAvailableJiraSites';
4
4
  export interface JiraSiteSelectorProps {
5
5
  availableSites: Site[];
6
6
  onSiteSelection: (selectedSite: Site) => void;
@@ -0,0 +1,15 @@
1
+ type XOR<T1, T2> = (T1 & {
2
+ [k in Exclude<keyof T2, keyof T1>]?: never;
3
+ }) | (T2 & {
4
+ [k in Exclude<keyof T1, keyof T2>]?: never;
5
+ });
6
+ export type JiraIssueDatasourceParametersQuery = XOR<{
7
+ jql: string;
8
+ }, {
9
+ filter: string;
10
+ }>;
11
+ export type JiraIssueDatasourceParameters = {
12
+ cloudId: string;
13
+ } & JiraIssueDatasourceParametersQuery;
14
+ export type JiraIssueViewModes = 'issue' | 'count';
15
+ export {};
@@ -10,7 +10,7 @@ import { mockDatasourceFetchRequests } from '@atlaskit/link-test-helpers/datasou
10
10
 
11
11
  import { useDatasourceTableState } from '../src/hooks/useDatasourceTableState';
12
12
  import { IssueLikeDataTableView } from '../src/ui/issue-like-table';
13
- import { JiraIssueDatasourceParameters } from '../src/ui/jira-issues/types';
13
+ import { JiraIssueDatasourceParameters } from '../src/ui/jira-issues-modal/types';
14
14
 
15
15
  import SmartLinkClient from './smartLinkCustomClient';
16
16
 
@@ -32,8 +32,7 @@ const ExampleBody = ({ isReadonly }: Props) => {
32
32
  const parameters = useMemo<JiraIssueDatasourceParameters>(
33
33
  () => ({
34
34
  cloudId: 'some-cloud-id',
35
- type: 'jql',
36
- value: 'some-jql',
35
+ jql: 'some-jql',
37
36
  }),
38
37
  [],
39
38
  );