@atlaskit/link-datasource 1.27.4 → 1.28.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 (74) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/ui/common/modal/popup-select/formatOptionLabel.js +7 -1
  3. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.js +19 -0
  4. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +89 -0
  5. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.js +49 -0
  6. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.js +75 -0
  7. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +32 -0
  8. package/dist/cjs/ui/confluence-search-modal/basic-filters/index.js +5 -3
  9. package/dist/cjs/ui/confluence-search-modal/basic-filters/types.js +11 -0
  10. package/dist/cjs/ui/confluence-search-modal/confluence-search-container/index.js +16 -1
  11. package/dist/cjs/ui/confluence-search-modal/modal/index.js +22 -10
  12. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +1 -0
  13. package/dist/cjs/ui/table-footer/index.js +8 -2
  14. package/dist/cjs/ui/table-footer/messages.js +5 -0
  15. package/dist/cjs/ui/table-footer/powered-by-jsm-assets/index.js +53 -0
  16. package/dist/es2019/ui/common/modal/popup-select/formatOptionLabel.js +4 -1
  17. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.js +7 -0
  18. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +68 -0
  19. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.js +43 -0
  20. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.js +66 -0
  21. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +26 -0
  22. package/dist/es2019/ui/confluence-search-modal/basic-filters/index.js +7 -2
  23. package/dist/es2019/ui/confluence-search-modal/basic-filters/types.js +5 -0
  24. package/dist/es2019/ui/confluence-search-modal/confluence-search-container/index.js +13 -1
  25. package/dist/es2019/ui/confluence-search-modal/modal/index.js +11 -3
  26. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +1 -0
  27. package/dist/es2019/ui/table-footer/index.js +7 -1
  28. package/dist/es2019/ui/table-footer/messages.js +5 -0
  29. package/dist/es2019/ui/table-footer/powered-by-jsm-assets/index.js +45 -0
  30. package/dist/esm/ui/common/modal/popup-select/formatOptionLabel.js +4 -1
  31. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.js +9 -0
  32. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +79 -0
  33. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.js +43 -0
  34. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.js +68 -0
  35. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +25 -0
  36. package/dist/esm/ui/confluence-search-modal/basic-filters/index.js +5 -3
  37. package/dist/esm/ui/confluence-search-modal/basic-filters/types.js +5 -0
  38. package/dist/esm/ui/confluence-search-modal/confluence-search-container/index.js +16 -1
  39. package/dist/esm/ui/confluence-search-modal/modal/index.js +22 -10
  40. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +1 -0
  41. package/dist/esm/ui/table-footer/index.js +8 -2
  42. package/dist/esm/ui/table-footer/messages.js +5 -0
  43. package/dist/esm/ui/table-footer/powered-by-jsm-assets/index.js +46 -0
  44. package/dist/types/analytics/generated/analytics.types.d.ts +7 -0
  45. package/dist/types/ui/common/modal/popup-select/types.d.ts +6 -1
  46. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.d.ts +3 -0
  47. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.d.ts +8 -0
  48. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.d.ts +42 -0
  49. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.d.ts +31 -0
  50. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.d.ts +10 -0
  51. package/dist/types/ui/confluence-search-modal/basic-filters/index.d.ts +4 -1
  52. package/dist/types/ui/confluence-search-modal/basic-filters/types.d.ts +20 -0
  53. package/dist/types/ui/confluence-search-modal/confluence-search-container/index.d.ts +2 -1
  54. package/dist/types/ui/confluence-search-modal/types.d.ts +2 -1
  55. package/dist/types/ui/table-footer/index.d.ts +2 -1
  56. package/dist/types/ui/table-footer/messages.d.ts +5 -0
  57. package/dist/types/ui/table-footer/powered-by-jsm-assets/index.d.ts +4 -0
  58. package/dist/types-ts4.5/analytics/generated/analytics.types.d.ts +7 -0
  59. package/dist/types-ts4.5/ui/common/modal/popup-select/types.d.ts +6 -1
  60. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.d.ts +3 -0
  61. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.d.ts +8 -0
  62. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.d.ts +42 -0
  63. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.d.ts +31 -0
  64. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.d.ts +10 -0
  65. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/index.d.ts +4 -1
  66. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/types.d.ts +20 -0
  67. package/dist/types-ts4.5/ui/confluence-search-modal/confluence-search-container/index.d.ts +2 -1
  68. package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +2 -1
  69. package/dist/types-ts4.5/ui/table-footer/index.d.ts +2 -1
  70. package/dist/types-ts4.5/ui/table-footer/messages.d.ts +5 -0
  71. package/dist/types-ts4.5/ui/table-footer/powered-by-jsm-assets/index.d.ts +4 -0
  72. package/examples-helpers/buildAssetsIssuesTable.tsx +71 -0
  73. package/examples-helpers/useAssetsTableProps.tsx +57 -0
  74. package/package.json +6 -1
@@ -1,9 +1,10 @@
1
1
  /// <reference types="react" />
2
+ import { SelectedOptionsMap } from '../basic-filters/types';
2
3
  interface Props {
3
4
  cloudId?: string;
4
5
  initialSearchValue?: string;
5
6
  isSearching: boolean;
6
- onSearch: (searchTerm: string) => void;
7
+ onSearch: (searchTerm: string, filters?: SelectedOptionsMap) => void;
7
8
  }
8
9
  declare const ConfluenceSearchContainer: ({ cloudId, initialSearchValue, isSearching, onSearch, }: Props) => JSX.Element;
9
10
  export default ConfluenceSearchContainer;
@@ -1,5 +1,6 @@
1
1
  import { DatasourceAdf, InlineCardAdf } from '@atlaskit/linking-common/types';
2
2
  import { ConfigModalProps } from '../../common/types';
3
+ import { DateRangeType } from '../common/modal/popup-select/types';
3
4
  export interface ConfluenceSearchConfigModalProps extends ConfigModalProps<InlineCardAdf | ConfluenceSearchDatasourceAdf, ConfluenceSearchDatasourceParameters> {
4
5
  disableDisplayDropdown?: boolean;
5
6
  overrideParameters?: Pick<ConfluenceSearchDatasourceParameters, 'entityTypes'>;
@@ -16,7 +17,7 @@ export type ConfluenceSearchDatasourceParameters = {
16
17
  containerStatus?: string[];
17
18
  contentStatuses?: string[];
18
19
  creatorAccountIds?: string[];
19
- lastModified?: 'today' | 'yesterday' | 'past7Days' | 'past30Days' | 'pastYear' | 'custom';
20
+ lastModified?: DateRangeType;
20
21
  lastModifiedFrom?: string;
21
22
  lastModifiedTo?: string;
22
23
  shouldMatchTitleOnly?: boolean;
@@ -1,8 +1,9 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  export type TableFooterProps = {
3
+ datasourceId: string;
3
4
  itemCount?: number;
4
5
  onRefresh?: () => void;
5
6
  isLoading: boolean;
6
7
  url?: string;
7
8
  };
8
- export declare const TableFooter: ({ itemCount, onRefresh, isLoading, url, }: TableFooterProps) => jsx.JSX.Element | null;
9
+ export declare const TableFooter: ({ datasourceId, itemCount, onRefresh, isLoading, url, }: TableFooterProps) => jsx.JSX.Element | null;
@@ -14,4 +14,9 @@ export declare const footerMessages: {
14
14
  description: string;
15
15
  defaultMessage: string;
16
16
  };
17
+ powerByJSM: {
18
+ id: string;
19
+ description: string;
20
+ defaultMessage: string;
21
+ };
17
22
  };
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const PoweredByJSMAssets: (props: {
3
+ text: string;
4
+ }) => JSX.Element;
@@ -0,0 +1,71 @@
1
+ import React, { useEffect } from 'react';
2
+
3
+ import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
4
+ import { SmartCardProvider } from '@atlaskit/link-provider';
5
+ import { mockAssetsClientFetchRequests } from '@atlaskit/link-test-helpers/datasource';
6
+ import { DatasourceParameters } from '@atlaskit/linking-types';
7
+
8
+ import { DatasourceTableView } from '../src';
9
+ import { fetchMessagesForLocale } from '../src/common/utils/locale/fetch-messages-for-locale';
10
+ import { ASSETS_LIST_OF_LINKS_DATASOURCE_ID } from '../src/ui/assets-modal';
11
+ import { AssetsDatasourceParameters } from '../src/ui/assets-modal/types';
12
+
13
+ import SmartLinkClient from './smartLinkCustomClient';
14
+ import { useAssetsTableProps } from './useAssetsTableProps';
15
+
16
+ interface AssetsTableViewProps {
17
+ parameters?: DatasourceParameters;
18
+ mockDatasourceFetchRequest?: boolean;
19
+ }
20
+
21
+ const AssetsTableView = () => {
22
+ const datasourceParameters: AssetsDatasourceParameters = {
23
+ workspaceId: 'workspaceId',
24
+ aql: 'name like a',
25
+ schemaId: '2',
26
+ };
27
+
28
+ const {
29
+ visibleColumnKeys,
30
+ onVisibleColumnKeysChange,
31
+ columnCustomSizes,
32
+ onColumnResize,
33
+ wrappedColumnKeys,
34
+ onWrappedColumnChange,
35
+ } = useAssetsTableProps({
36
+ defaultColumnCustomSizes: {
37
+ people: 100,
38
+ },
39
+ });
40
+
41
+ return (
42
+ <DatasourceTableView
43
+ datasourceId={ASSETS_LIST_OF_LINKS_DATASOURCE_ID}
44
+ parameters={datasourceParameters}
45
+ visibleColumnKeys={visibleColumnKeys}
46
+ onVisibleColumnKeysChange={onVisibleColumnKeysChange}
47
+ columnCustomSizes={columnCustomSizes}
48
+ onColumnResize={onColumnResize}
49
+ onWrappedColumnChange={onWrappedColumnChange}
50
+ wrappedColumnKeys={wrappedColumnKeys}
51
+ />
52
+ );
53
+ };
54
+
55
+ export const ExampleAssetsIssuesTableView = ({
56
+ mockDatasourceFetchRequest = true,
57
+ }: AssetsTableViewProps) => {
58
+ useEffect(() => {
59
+ if (mockDatasourceFetchRequest) {
60
+ mockAssetsClientFetchRequests();
61
+ }
62
+ }, [mockDatasourceFetchRequest]);
63
+
64
+ return (
65
+ <IntlMessagesProvider loaderFn={fetchMessagesForLocale}>
66
+ <SmartCardProvider client={new SmartLinkClient()}>
67
+ <AssetsTableView />
68
+ </SmartCardProvider>
69
+ </IntlMessagesProvider>
70
+ );
71
+ };
@@ -0,0 +1,57 @@
1
+ import { useCallback, useState } from 'react';
2
+
3
+ import { assetsDefaultInitialVisibleColumnKeys } from '@atlaskit/link-test-helpers/datasource';
4
+
5
+ import { DatasourceTableViewProps } from '../src/ui/datasource-table-view/types';
6
+ import { ColumnSizesMap } from '../src/ui/issue-like-table/types';
7
+
8
+ export const useAssetsTableProps = (
9
+ props: { defaultColumnCustomSizes?: ColumnSizesMap } = {},
10
+ ): Required<
11
+ Pick<
12
+ DatasourceTableViewProps,
13
+ | 'visibleColumnKeys'
14
+ | 'onVisibleColumnKeysChange'
15
+ | 'wrappedColumnKeys'
16
+ | 'onWrappedColumnChange'
17
+ | 'onColumnResize'
18
+ >
19
+ > &
20
+ Pick<DatasourceTableViewProps, 'columnCustomSizes'> => {
21
+ const [visibleColumnKeys, onVisibleColumnKeysChange] = useState<string[]>(
22
+ assetsDefaultInitialVisibleColumnKeys,
23
+ );
24
+
25
+ const [columnCustomSizes, setColumnCustomSizes] = useState<
26
+ ColumnSizesMap | undefined
27
+ >(props.defaultColumnCustomSizes);
28
+
29
+ const onColumnResize = useCallback(
30
+ (key: string, width: number) => {
31
+ setColumnCustomSizes({ ...columnCustomSizes, [key]: width });
32
+ },
33
+ [columnCustomSizes],
34
+ );
35
+
36
+ const [wrappedColumnKeys, setWrappedColumnKeys] = useState<string[]>([]);
37
+
38
+ const onWrappedColumnChange = useCallback(
39
+ (key: string, shouldWrap: boolean) => {
40
+ if (shouldWrap) {
41
+ setWrappedColumnKeys([...wrappedColumnKeys, key]);
42
+ } else {
43
+ setWrappedColumnKeys(wrappedColumnKeys.filter(k => k !== key));
44
+ }
45
+ },
46
+ [wrappedColumnKeys],
47
+ );
48
+
49
+ return {
50
+ visibleColumnKeys,
51
+ onVisibleColumnKeysChange,
52
+ columnCustomSizes,
53
+ onColumnResize,
54
+ wrappedColumnKeys,
55
+ onWrappedColumnChange,
56
+ };
57
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "1.27.4",
3
+ "version": "1.28.0",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -52,10 +52,12 @@
52
52
  "@atlaskit/link-client-extension": "^1.8.0",
53
53
  "@atlaskit/linking-common": "^5.6.0",
54
54
  "@atlaskit/linking-types": "^8.8.0",
55
+ "@atlaskit/logo": "^13.15.0",
55
56
  "@atlaskit/lozenge": "^11.6.0",
56
57
  "@atlaskit/modal-dialog": "^12.11.0",
57
58
  "@atlaskit/outbound-auth-flow-client": "^3.4.5",
58
59
  "@atlaskit/platform-feature-flags": "^0.2.4",
60
+ "@atlaskit/popup": "^1.14.0",
59
61
  "@atlaskit/pragmatic-drag-and-drop": "^1.1.0",
60
62
  "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.0",
61
63
  "@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll": "^1.1.0",
@@ -161,6 +163,9 @@
161
163
  },
162
164
  "platform.editor-update-tag-link-and-color_x6hcf": {
163
165
  "type": "boolean"
166
+ },
167
+ "platform.linking-platform.datasource-assets_objects_add_jsm_promotional_tag": {
168
+ "type": "boolean"
164
169
  }
165
170
  }
166
171
  }