@atlaskit/link-datasource 0.15.1 → 0.16.0

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 (108) hide show
  1. package/CHANGELOG.md +6 -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/{jira-issues/modal → jira-issues-modal}/index.js +6 -6
  6. package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/index.js +2 -3
  7. package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.js +2 -2
  8. package/dist/cjs/ui/{jira-issues/table-footer → table-footer}/messages.js +3 -3
  9. package/dist/cjs/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.js +2 -2
  10. package/dist/cjs/version.json +1 -1
  11. package/dist/es2019/hooks/useDatasourceTableState.js +3 -18
  12. package/dist/es2019/index.js +2 -2
  13. package/dist/es2019/ui/{jira-issues/tableView.js → datasourceTableView.js} +5 -5
  14. package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/index.js +6 -6
  15. package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/index.js +2 -3
  16. package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.js +2 -2
  17. package/dist/es2019/ui/{jira-issues/table-footer → table-footer}/messages.js +3 -3
  18. package/dist/es2019/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.js +2 -2
  19. package/dist/es2019/version.json +1 -1
  20. package/dist/esm/hooks/useDatasourceTableState.js +12 -18
  21. package/dist/esm/index.js +2 -2
  22. package/dist/esm/ui/{jira-issues/tableView.js → datasourceTableView.js} +5 -5
  23. package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/index.js +6 -6
  24. package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/index.js +2 -3
  25. package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.js +2 -2
  26. package/dist/esm/ui/{jira-issues/table-footer → table-footer}/messages.js +3 -3
  27. package/dist/esm/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.js +2 -2
  28. package/dist/esm/version.json +1 -1
  29. package/dist/types/hooks/useDatasourceTableState.d.ts +1 -2
  30. package/dist/types/index.d.ts +2 -2
  31. package/dist/types/ui/datasourceTableView.d.ts +9 -0
  32. package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/index.d.ts +1 -1
  33. package/dist/{types-ts4.5/ui/jira-issues/modal → types/ui/jira-issues-modal}/jira-search-container/index.d.ts +2 -2
  34. package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.d.ts +1 -1
  35. package/dist/types/ui/jira-issues-modal/types.d.ts +15 -0
  36. package/dist/types-ts4.5/hooks/useDatasourceTableState.d.ts +1 -2
  37. package/dist/types-ts4.5/index.d.ts +2 -2
  38. package/dist/types-ts4.5/ui/datasourceTableView.d.ts +9 -0
  39. package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/index.d.ts +1 -1
  40. package/dist/{types/ui/jira-issues/modal → types-ts4.5/ui/jira-issues-modal}/jira-search-container/index.d.ts +2 -2
  41. package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.d.ts +1 -1
  42. package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +15 -0
  43. package/examples-helpers/buildIssueLikeTable.tsx +2 -3
  44. package/examples-helpers/buildJiraIssuesTable.tsx +9 -11
  45. package/package.json +2 -2
  46. package/report.api.md +36 -25
  47. package/tmp/api-report-tmp.d.ts +26 -20
  48. package/dist/types/ui/jira-issues/tableView.d.ts +0 -3
  49. package/dist/types/ui/jira-issues/types.d.ts +0 -14
  50. package/dist/types-ts4.5/ui/jira-issues/tableView.d.ts +0 -3
  51. package/dist/types-ts4.5/ui/jira-issues/types.d.ts +0 -14
  52. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.js +0 -0
  53. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.js +0 -0
  54. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.js +0 -0
  55. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.js +0 -0
  56. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/messages.js +0 -0
  57. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.js +0 -0
  58. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.js +0 -0
  59. /package/dist/cjs/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.js +0 -0
  60. /package/dist/cjs/ui/{jira-issues → jira-issues-modal}/types.js +0 -0
  61. /package/dist/cjs/ui/{jira-issues/table-footer → table-footer}/index.js +0 -0
  62. /package/dist/cjs/ui/{jira-issues/table-footer → table-footer}/sync-info/index.js +0 -0
  63. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.js +0 -0
  64. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.js +0 -0
  65. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.js +0 -0
  66. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.js +0 -0
  67. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/messages.js +0 -0
  68. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.js +0 -0
  69. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.js +0 -0
  70. /package/dist/es2019/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.js +0 -0
  71. /package/dist/es2019/ui/{jira-issues → jira-issues-modal}/types.js +0 -0
  72. /package/dist/es2019/ui/{jira-issues/table-footer → table-footer}/index.js +0 -0
  73. /package/dist/es2019/ui/{jira-issues/table-footer → table-footer}/sync-info/index.js +0 -0
  74. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.js +0 -0
  75. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.js +0 -0
  76. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.js +0 -0
  77. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.js +0 -0
  78. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/messages.js +0 -0
  79. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.js +0 -0
  80. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/site-selector/index.js +0 -0
  81. /package/dist/esm/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.js +0 -0
  82. /package/dist/esm/ui/{jira-issues → jira-issues-modal}/types.js +0 -0
  83. /package/dist/esm/ui/{jira-issues/table-footer → table-footer}/index.js +0 -0
  84. /package/dist/esm/ui/{jira-issues/table-footer → table-footer}/sync-info/index.js +0 -0
  85. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.d.ts +0 -0
  86. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.d.ts +0 -0
  87. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.d.ts +0 -0
  88. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.d.ts +0 -0
  89. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.d.ts +0 -0
  90. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/messages.d.ts +0 -0
  91. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.d.ts +0 -0
  92. /package/dist/types/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.d.ts +0 -0
  93. /package/dist/types/ui/{jira-issues/table-footer → table-footer}/index.d.ts +0 -0
  94. /package/dist/types/ui/{jira-issues/table-footer → table-footer}/messages.d.ts +0 -0
  95. /package/dist/types/ui/{jira-issues/table-footer → table-footer}/sync-info/index.d.ts +0 -0
  96. /package/dist/types/ui/{jira-issues/table-footer → table-footer}/sync-info/messages.d.ts +0 -0
  97. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/index.d.ts +0 -0
  98. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/basic-search-input/messages.d.ts +0 -0
  99. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/buildJQL.d.ts +0 -0
  100. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/jira-search-container/messages.d.ts +0 -0
  101. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/jql-editor/index.d.ts +0 -0
  102. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/messages.d.ts +0 -0
  103. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/mode-switcher/index.d.ts +0 -0
  104. /package/dist/types-ts4.5/ui/{jira-issues/modal → jira-issues-modal}/site-selector/messages.d.ts +0 -0
  105. /package/dist/types-ts4.5/ui/{jira-issues/table-footer → table-footer}/index.d.ts +0 -0
  106. /package/dist/types-ts4.5/ui/{jira-issues/table-footer → table-footer}/messages.d.ts +0 -0
  107. /package/dist/types-ts4.5/ui/{jira-issues/table-footer → table-footer}/sync-info/index.d.ts +0 -0
  108. /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 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.0",
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,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,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
  );
@@ -2,28 +2,26 @@ import React, { useMemo, useState } from 'react';
2
2
 
3
3
  import { mockDatasourceFetchRequests } from '@atlaskit/link-test-helpers/datasource';
4
4
 
5
- import { JiraIssuesTableView } from '../src/ui/jira-issues/tableView';
6
- import { JiraIssueDatasourceParameters } from '../src/ui/jira-issues/types';
5
+ import { DatasourceTableView } from '../src/ui/datasourceTableView';
6
+ import { JiraIssueDatasourceParameters } from '../src/ui/jira-issues-modal/types';
7
7
 
8
8
  mockDatasourceFetchRequests();
9
9
 
10
10
  export const ExampleJiraIssuesTableView = () => {
11
11
  const cloudId = 'some-cloud-id';
12
- const parameterType = 'jql';
13
- const parameterValue = 'some-jql';
14
12
 
15
13
  const [visibleColumnKeys, setVisibleColumnKeys] = useState<string[]>([]);
16
14
 
17
- const parameters = useMemo<JiraIssueDatasourceParameters>(() => {
18
- return {
15
+ const parameters = useMemo<JiraIssueDatasourceParameters>(
16
+ () => ({
19
17
  cloudId,
20
- type: parameterType,
21
- value: parameterValue,
22
- };
23
- }, [cloudId, parameterType, parameterValue]);
18
+ jql: 'some-jql',
19
+ }),
20
+ [cloudId],
21
+ );
24
22
 
25
23
  return (
26
- <JiraIssuesTableView
24
+ <DatasourceTableView
27
25
  datasourceId={'some-datasource-id'}
28
26
  parameters={parameters}
29
27
  visibleColumnKeys={visibleColumnKeys}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -44,7 +44,7 @@
44
44
  "@atlaskit/pragmatic-drag-and-drop-hitbox": "^0.11.0",
45
45
  "@atlaskit/pragmatic-drag-and-drop-react-indicator": "^0.14.0",
46
46
  "@atlaskit/select": "^16.2.0",
47
- "@atlaskit/smart-card": "^26.2.0",
47
+ "@atlaskit/smart-card": "^26.3.0",
48
48
  "@atlaskit/spinner": "^15.5.0",
49
49
  "@atlaskit/tag": "^11.5.0",
50
50
  "@atlaskit/textfield": "5.4.2",
package/report.api.md CHANGED
@@ -20,17 +20,41 @@ import { InlineCardAdf } from '@atlaskit/linking-common/types';
20
20
  import { jsx } from '@emotion/react';
21
21
 
22
22
  // @public (undocumented)
23
- interface JiraIssueDatasourceParameters {
23
+ export const DatasourceTableView: ({
24
+ datasourceId,
25
+ parameters,
26
+ visibleColumnKeys,
27
+ onVisibleColumnKeysChange,
28
+ }: DatasourceTableViewProps) => jsx.JSX.Element;
29
+
30
+ // @public (undocumented)
31
+ interface DatasourceTableViewProps {
24
32
  // (undocumented)
25
- cloudId: string;
33
+ datasourceId: string;
26
34
  // (undocumented)
27
- type: JiraIssueDatasourceParameterType;
35
+ fields?: string[];
36
+ // (undocumented)
37
+ onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
38
+ // (undocumented)
39
+ parameters: object;
28
40
  // (undocumented)
29
- value: string;
41
+ visibleColumnKeys?: string[];
30
42
  }
31
43
 
32
44
  // @public (undocumented)
33
- type JiraIssueDatasourceParameterType = 'filter' | 'jql' | 'textQuery';
45
+ type JiraIssueDatasourceParameters = {
46
+ cloudId: string;
47
+ } & JiraIssueDatasourceParametersQuery;
48
+
49
+ // @public (undocumented)
50
+ type JiraIssueDatasourceParametersQuery = XOR<
51
+ {
52
+ jql: string;
53
+ },
54
+ {
55
+ filter: string;
56
+ }
57
+ >;
34
58
 
35
59
  // @public (undocumented)
36
60
  export const JiraIssuesConfigModal: (
@@ -58,26 +82,13 @@ interface JiraIssuesConfigModalProps {
58
82
  }
59
83
 
60
84
  // @public (undocumented)
61
- export const JiraIssuesTableView: ({
62
- datasourceId,
63
- parameters,
64
- visibleColumnKeys,
65
- onVisibleColumnKeysChange,
66
- }: JiraIssuesTableViewProps) => jsx.JSX.Element;
67
-
68
- // @public (undocumented)
69
- interface JiraIssuesTableViewProps {
70
- // (undocumented)
71
- datasourceId: string;
72
- // (undocumented)
73
- fields?: string[];
74
- // (undocumented)
75
- onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
76
- // (undocumented)
77
- parameters: JiraIssueDatasourceParameters;
78
- // (undocumented)
79
- visibleColumnKeys?: string[];
80
- }
85
+ type XOR<T1, T2> =
86
+ | (T1 & {
87
+ [k in Exclude<keyof T2, keyof T1>]?: never;
88
+ })
89
+ | (T2 & {
90
+ [k in Exclude<keyof T1, keyof T2>]?: never;
91
+ });
81
92
 
82
93
  // (No @packageDocumentation comment for this package)
83
94
  ```
@@ -9,17 +9,33 @@ import { InlineCardAdf } from '@atlaskit/linking-common/types';
9
9
  import { jsx } from '@emotion/react';
10
10
 
11
11
  // @public (undocumented)
12
- interface JiraIssueDatasourceParameters {
12
+ export const DatasourceTableView: ({ datasourceId, parameters, visibleColumnKeys, onVisibleColumnKeysChange, }: DatasourceTableViewProps) => jsx.JSX.Element;
13
+
14
+ // @public (undocumented)
15
+ interface DatasourceTableViewProps {
13
16
  // (undocumented)
14
- cloudId: string;
17
+ datasourceId: string;
18
+ // (undocumented)
19
+ fields?: string[];
15
20
  // (undocumented)
16
- type: JiraIssueDatasourceParameterType;
21
+ onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
22
+ // (undocumented)
23
+ parameters: object;
17
24
  // (undocumented)
18
- value: string;
25
+ visibleColumnKeys?: string[];
19
26
  }
20
27
 
21
28
  // @public (undocumented)
22
- type JiraIssueDatasourceParameterType = 'filter' | 'jql' | 'textQuery';
29
+ type JiraIssueDatasourceParameters = {
30
+ cloudId: string;
31
+ } & JiraIssueDatasourceParametersQuery;
32
+
33
+ // @public (undocumented)
34
+ type JiraIssueDatasourceParametersQuery = XOR<{
35
+ jql: string;
36
+ }, {
37
+ filter: string;
38
+ }>;
23
39
 
24
40
  // @public (undocumented)
25
41
  export const JiraIssuesConfigModal: (props: JiraIssuesConfigModalProps) => jsx.JSX.Element;
@@ -43,21 +59,11 @@ interface JiraIssuesConfigModalProps {
43
59
  }
44
60
 
45
61
  // @public (undocumented)
46
- export const JiraIssuesTableView: ({ datasourceId, parameters, visibleColumnKeys, onVisibleColumnKeysChange, }: JiraIssuesTableViewProps) => jsx.JSX.Element;
47
-
48
- // @public (undocumented)
49
- interface JiraIssuesTableViewProps {
50
- // (undocumented)
51
- datasourceId: string;
52
- // (undocumented)
53
- fields?: string[];
54
- // (undocumented)
55
- onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
56
- // (undocumented)
57
- parameters: JiraIssueDatasourceParameters;
58
- // (undocumented)
59
- visibleColumnKeys?: string[];
60
- }
62
+ type XOR<T1, T2> = (T1 & {
63
+ [k in Exclude<keyof T2, keyof T1>]?: never;
64
+ }) | (T2 & {
65
+ [k in Exclude<keyof T1, keyof T2>]?: never;
66
+ });
61
67
 
62
68
  // (No @packageDocumentation comment for this package)
63
69
 
@@ -1,3 +0,0 @@
1
- import { jsx } from '@emotion/react';
2
- import { JiraIssuesTableViewProps } from './types';
3
- export declare const JiraIssuesTableView: ({ datasourceId, parameters, visibleColumnKeys, onVisibleColumnKeysChange, }: JiraIssuesTableViewProps) => jsx.JSX.Element;
@@ -1,14 +0,0 @@
1
- export interface JiraIssuesTableViewProps {
2
- datasourceId: string;
3
- parameters: JiraIssueDatasourceParameters;
4
- fields?: string[];
5
- onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
6
- visibleColumnKeys?: string[];
7
- }
8
- export type JiraIssueDatasourceParameterType = 'jql' | 'textQuery' | 'filter';
9
- export interface JiraIssueDatasourceParameters {
10
- cloudId: string;
11
- value: string;
12
- type: JiraIssueDatasourceParameterType;
13
- }
14
- export type JiraIssueViewModes = 'issue' | 'count';
@@ -1,3 +0,0 @@
1
- import { jsx } from '@emotion/react';
2
- import { JiraIssuesTableViewProps } from './types';
3
- export declare const JiraIssuesTableView: ({ datasourceId, parameters, visibleColumnKeys, onVisibleColumnKeysChange, }: JiraIssuesTableViewProps) => jsx.JSX.Element;
@@ -1,14 +0,0 @@
1
- export interface JiraIssuesTableViewProps {
2
- datasourceId: string;
3
- parameters: JiraIssueDatasourceParameters;
4
- fields?: string[];
5
- onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
6
- visibleColumnKeys?: string[];
7
- }
8
- export type JiraIssueDatasourceParameterType = 'jql' | 'textQuery' | 'filter';
9
- export interface JiraIssueDatasourceParameters {
10
- cloudId: string;
11
- value: string;
12
- type: JiraIssueDatasourceParameterType;
13
- }
14
- export type JiraIssueViewModes = 'issue' | 'count';