@atlaskit/link-datasource 1.29.2 → 1.29.4

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 (53) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE.md +13 -0
  3. package/dist/cjs/services/mocks.js +44 -2
  4. package/dist/cjs/services/useBasicFilterAGG.js +19 -7
  5. package/dist/cjs/services/utils.js +3 -2
  6. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.js +15 -3
  7. package/dist/cjs/ui/confluence-search-modal/basic-filters/hooks/useBasicFilterHydration.js +79 -0
  8. package/dist/cjs/ui/confluence-search-modal/basic-filters/hooks/useCurrentUserInfo.js +2 -6
  9. package/dist/cjs/ui/confluence-search-modal/basic-filters/hooks/useRecommendation.js +1 -0
  10. package/dist/cjs/ui/confluence-search-modal/basic-filters/index.js +4 -2
  11. package/dist/cjs/ui/confluence-search-modal/confluence-search-container/index.js +23 -1
  12. package/dist/cjs/ui/confluence-search-modal/modal/index.js +19 -2
  13. package/dist/es2019/services/mocks.js +43 -1
  14. package/dist/es2019/services/useBasicFilterAGG.js +16 -6
  15. package/dist/es2019/services/utils.js +7 -0
  16. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.js +15 -4
  17. package/dist/es2019/ui/confluence-search-modal/basic-filters/hooks/useBasicFilterHydration.js +39 -0
  18. package/dist/es2019/ui/confluence-search-modal/basic-filters/hooks/useCurrentUserInfo.js +2 -7
  19. package/dist/es2019/ui/confluence-search-modal/basic-filters/hooks/useRecommendation.js +1 -0
  20. package/dist/es2019/ui/confluence-search-modal/basic-filters/index.js +4 -2
  21. package/dist/es2019/ui/confluence-search-modal/confluence-search-container/index.js +24 -1
  22. package/dist/es2019/ui/confluence-search-modal/modal/index.js +17 -2
  23. package/dist/esm/services/mocks.js +43 -1
  24. package/dist/esm/services/useBasicFilterAGG.js +20 -8
  25. package/dist/esm/services/utils.js +2 -1
  26. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.js +16 -4
  27. package/dist/esm/ui/confluence-search-modal/basic-filters/hooks/useBasicFilterHydration.js +72 -0
  28. package/dist/esm/ui/confluence-search-modal/basic-filters/hooks/useCurrentUserInfo.js +2 -6
  29. package/dist/esm/ui/confluence-search-modal/basic-filters/hooks/useRecommendation.js +1 -0
  30. package/dist/esm/ui/confluence-search-modal/basic-filters/index.js +4 -2
  31. package/dist/esm/ui/confluence-search-modal/confluence-search-container/index.js +23 -1
  32. package/dist/esm/ui/confluence-search-modal/modal/index.js +19 -2
  33. package/dist/types/services/mocks.d.ts +11 -0
  34. package/dist/types/services/useBasicFilterAGG.d.ts +2 -1
  35. package/dist/types/services/utils.d.ts +1 -0
  36. package/dist/types/ui/common/modal/popup-select/types.d.ts +4 -0
  37. package/dist/types/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.d.ts +2 -1
  38. package/dist/types/ui/confluence-search-modal/basic-filters/hooks/useBasicFilterHydration.d.ts +6 -0
  39. package/dist/types/ui/confluence-search-modal/basic-filters/index.d.ts +2 -1
  40. package/dist/types/ui/confluence-search-modal/basic-filters/types.d.ts +8 -0
  41. package/dist/types/ui/confluence-search-modal/confluence-search-container/index.d.ts +6 -2
  42. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.d.ts +2 -3
  43. package/dist/types-ts4.5/services/mocks.d.ts +11 -0
  44. package/dist/types-ts4.5/services/useBasicFilterAGG.d.ts +2 -1
  45. package/dist/types-ts4.5/services/utils.d.ts +1 -0
  46. package/dist/types-ts4.5/ui/common/modal/popup-select/types.d.ts +4 -0
  47. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.d.ts +2 -1
  48. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/hooks/useBasicFilterHydration.d.ts +6 -0
  49. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/index.d.ts +2 -1
  50. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/types.d.ts +8 -0
  51. package/dist/types-ts4.5/ui/confluence-search-modal/confluence-search-container/index.d.ts +6 -2
  52. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.d.ts +2 -3
  53. package/package.json +3 -2
@@ -2,6 +2,8 @@ import { SelectOption } from '../../common/modal/popup-select/types';
2
2
  export interface UserInfo {
3
3
  accountId: string;
4
4
  id: string;
5
+ name: string;
6
+ picture: string;
5
7
  }
6
8
  export interface UserInfoAGGResponse {
7
9
  data?: {
@@ -11,6 +13,12 @@ export interface UserInfoAGGResponse {
11
13
  };
12
14
  errors?: Array<object>;
13
15
  }
16
+ export interface UserHydrationAGGResponse {
17
+ data?: {
18
+ users: UserInfo[];
19
+ };
20
+ errors?: Array<object>;
21
+ }
14
22
  export declare enum CLOLBasicFilters {
15
23
  editedOrCreatedBy = "editedOrCreatedBy",
16
24
  lastModified = "lastModified"
@@ -1,10 +1,14 @@
1
1
  /// <reference types="react" />
2
- import { SelectedOptionsMap } from '../basic-filters/types';
2
+ import { CLOLBasicFilters, SelectedOptionsMap } from '../basic-filters/types';
3
+ export type FilterInitialSelectionMap = {
4
+ [CLOLBasicFilters.editedOrCreatedBy]?: string[];
5
+ };
3
6
  interface Props {
4
7
  cloudId?: string;
5
8
  initialSearchValue?: string;
9
+ initialFilterSelection?: FilterInitialSelectionMap;
6
10
  isSearching: boolean;
7
11
  onSearch: (searchTerm: string, filters?: SelectedOptionsMap) => void;
8
12
  }
9
- declare const ConfluenceSearchContainer: ({ cloudId, initialSearchValue, isSearching, onSearch, }: Props) => JSX.Element;
13
+ declare const ConfluenceSearchContainer: ({ cloudId, initialSearchValue, initialFilterSelection, isSearching, onSearch, }: Props) => JSX.Element;
10
14
  export default ConfluenceSearchContainer;
@@ -1,10 +1,9 @@
1
+ import { CommonBasicFilterHookState } from '../../../common/modal/popup-select/types';
1
2
  import { SelectedOptionsMap } from '../types';
2
- export interface HydrateJqlState {
3
+ export interface HydrateJqlState extends CommonBasicFilterHookState {
3
4
  hydratedOptions: SelectedOptionsMap & {
4
5
  basicInputTextValue?: string;
5
6
  };
6
7
  fetchHydratedJqlOptions: () => Promise<void>;
7
- status: 'empty' | 'loading' | 'resolved' | 'rejected';
8
- errors: unknown[];
9
8
  }
10
9
  export declare const useHydrateJqlQuery: (cloudId: string, jql: string) => HydrateJqlState;
@@ -1,3 +1,4 @@
1
+ import { SelectOption } from '../ui/common/modal/popup-select/types';
1
2
  import { FieldValuesResponse, HydrateResponse } from '../ui/jira-issues-modal/basic-filters/types';
2
3
  export declare const mockHydrateJqlResponse: HydrateResponse;
3
4
  export declare const mockFieldValuesResponse: FieldValuesResponse;
@@ -52,3 +53,13 @@ export declare const mockUserRecommendationsResponse: {
52
53
  email?: undefined;
53
54
  })[];
54
55
  };
56
+ export declare const mockUserHydrationResponse: {
57
+ data: {
58
+ users: {
59
+ accountId: string;
60
+ name: string;
61
+ picture: string;
62
+ }[];
63
+ };
64
+ };
65
+ export declare const mockTransformedUserHydrationResponse: SelectOption[];
@@ -1,4 +1,4 @@
1
- import { UserInfoAGGResponse } from '../ui/confluence-search-modal/basic-filters/types';
1
+ import { UserHydrationAGGResponse, UserInfoAGGResponse } from '../ui/confluence-search-modal/basic-filters/types';
2
2
  import { BasicFilterFieldType, FieldValuesResponse, HydrateResponse } from '../ui/jira-issues-modal/basic-filters/types';
3
3
  interface GetFieldValuesProps {
4
4
  cloudId: string;
@@ -11,5 +11,6 @@ export declare const useBasicFilterAGG: () => {
11
11
  getHydratedJQL: (cloudId: string, jql: string) => Promise<HydrateResponse>;
12
12
  getFieldValues: ({ cloudId, jql, jqlTerm, searchString, pageCursor, }: GetFieldValuesProps) => Promise<FieldValuesResponse>;
13
13
  getCurrentUserInfo: () => Promise<UserInfoAGGResponse>;
14
+ getUsersFromAccountIDs: (accountIds: string[]) => Promise<UserHydrationAGGResponse>;
14
15
  };
15
16
  export {};
@@ -7,3 +7,4 @@
7
7
  export declare const hydrateJQLQuery = "query hydrate($cloudId: ID!, $jql: String!) {\n jira {\n jqlBuilder(cloudId: $cloudId) {\n hydrateJqlQuery(query: $jql) {\n ... on JiraJqlHydratedQuery {\n fields {\n ... on JiraJqlQueryHydratedField {\n jqlTerm\n values {\n ... on JiraJqlQueryHydratedValue {\n values {\n ... on JiraJqlProjectFieldValue {\n jqlTerm\n displayName\n project {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlStatusFieldValue {\n jqlTerm\n displayName\n statusCategory {\n colorName\n }\n }\n ... on JiraJqlIssueTypeFieldValue {\n jqlTerm\n displayName\n issueTypes {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlUserFieldValue {\n jqlTerm\n displayName\n user {\n picture\n }\n }\n ... on JiraJqlGroupFieldValue {\n jqlTerm\n displayName\n group {\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}";
8
8
  export declare const fieldValuesQuery = "query fieldValues($cloudId: ID!, $first: Int = 10, $jqlTerm: String!, $jql: String!, $searchString: String!, $after: String) {\n jira {\n jqlBuilder(cloudId: $cloudId) {\n fieldValues(\n first: $first\n jqlTerm: $jqlTerm\n jqlContext: $jql\n searchString: $searchString\n after: $after\n ) {\n totalCount\n pageInfo {\n endCursor\n }\n edges {\n node {\n jqlTerm\n displayName\n ... on JiraJqlProjectFieldValue {\n project {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlIssueTypeFieldValue {\n issueTypes {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlStatusFieldValue {\n statusCategory {\n colorName\n }\n }\n ... on JiraJqlUserFieldValue {\n user {\n picture\n }\n }\n ... on JiraJqlGroupFieldValue {\n group {\n name\n }\n }\n }\n }\n }\n }\n }\n}";
9
9
  export declare const userQuery = "query userQuery {\n me {\n user {\n id\n accountId\n }\n }\n}";
10
+ export declare const userHydration = "query userHydration($accountIds: [ID!]!) {\n users(accountIds: $accountIds) {\n accountId\n name\n picture\n }\n}";
@@ -25,3 +25,7 @@ export type DateRangeOption = OptionBase & {
25
25
  };
26
26
  export type SelectOption = IconLabelOption | LozengeLabelOption | AvatarLabelOption | DateRangeOption;
27
27
  export type FormatOptionLabel = (option: SelectOption) => ReactElement;
28
+ export interface CommonBasicFilterHookState {
29
+ status: 'empty' | 'loading' | 'resolved' | 'rejected';
30
+ errors: unknown[];
31
+ }
@@ -4,7 +4,8 @@ import { CLOLBasicFilters } from '../../types';
4
4
  interface EditedOrCreatedByFilterProps {
5
5
  cloudId?: string;
6
6
  selection: SelectOption[];
7
+ isHydrating?: boolean;
7
8
  onSelectionChange: (filterType: CLOLBasicFilters, selection: SelectOption[]) => void;
8
9
  }
9
- declare const EditedOrCreatedByFilter: ({ cloudId, onSelectionChange, selection, }: EditedOrCreatedByFilterProps) => JSX.Element;
10
+ declare const EditedOrCreatedByFilter: ({ cloudId, onSelectionChange, selection, isHydrating, }: EditedOrCreatedByFilterProps) => JSX.Element;
10
11
  export default EditedOrCreatedByFilter;
@@ -0,0 +1,6 @@
1
+ import { CommonBasicFilterHookState, SelectOption } from '../../../common/modal/popup-select/types';
2
+ export interface BasicFilterHydrationState extends Omit<CommonBasicFilterHookState, 'errors'> {
3
+ hydrateUsersFromAccountIds: (accountIds: string[]) => void;
4
+ users: SelectOption[];
5
+ }
6
+ export declare const useBasicFilterHydration: () => BasicFilterHydrationState;
@@ -5,6 +5,7 @@ export interface BasicFilterContainerProps {
5
5
  cloudId?: string;
6
6
  selections: SelectedOptionsMap;
7
7
  onChange: (filterType: CLOLBasicFilters, options: SelectOption[]) => void;
8
+ isHydrating?: boolean;
8
9
  }
9
- declare const BasicFilterContainer: ({ cloudId, onChange, selections, }: BasicFilterContainerProps) => JSX.Element;
10
+ declare const BasicFilterContainer: ({ cloudId, onChange, selections, isHydrating, }: BasicFilterContainerProps) => JSX.Element;
10
11
  export default BasicFilterContainer;
@@ -2,6 +2,8 @@ import { SelectOption } from '../../common/modal/popup-select/types';
2
2
  export interface UserInfo {
3
3
  accountId: string;
4
4
  id: string;
5
+ name: string;
6
+ picture: string;
5
7
  }
6
8
  export interface UserInfoAGGResponse {
7
9
  data?: {
@@ -11,6 +13,12 @@ export interface UserInfoAGGResponse {
11
13
  };
12
14
  errors?: Array<object>;
13
15
  }
16
+ export interface UserHydrationAGGResponse {
17
+ data?: {
18
+ users: UserInfo[];
19
+ };
20
+ errors?: Array<object>;
21
+ }
14
22
  export declare enum CLOLBasicFilters {
15
23
  editedOrCreatedBy = "editedOrCreatedBy",
16
24
  lastModified = "lastModified"
@@ -1,10 +1,14 @@
1
1
  /// <reference types="react" />
2
- import { SelectedOptionsMap } from '../basic-filters/types';
2
+ import { CLOLBasicFilters, SelectedOptionsMap } from '../basic-filters/types';
3
+ export type FilterInitialSelectionMap = {
4
+ [CLOLBasicFilters.editedOrCreatedBy]?: string[];
5
+ };
3
6
  interface Props {
4
7
  cloudId?: string;
5
8
  initialSearchValue?: string;
9
+ initialFilterSelection?: FilterInitialSelectionMap;
6
10
  isSearching: boolean;
7
11
  onSearch: (searchTerm: string, filters?: SelectedOptionsMap) => void;
8
12
  }
9
- declare const ConfluenceSearchContainer: ({ cloudId, initialSearchValue, isSearching, onSearch, }: Props) => JSX.Element;
13
+ declare const ConfluenceSearchContainer: ({ cloudId, initialSearchValue, initialFilterSelection, isSearching, onSearch, }: Props) => JSX.Element;
10
14
  export default ConfluenceSearchContainer;
@@ -1,10 +1,9 @@
1
+ import { CommonBasicFilterHookState } from '../../../common/modal/popup-select/types';
1
2
  import { SelectedOptionsMap } from '../types';
2
- export interface HydrateJqlState {
3
+ export interface HydrateJqlState extends CommonBasicFilterHookState {
3
4
  hydratedOptions: SelectedOptionsMap & {
4
5
  basicInputTextValue?: string;
5
6
  };
6
7
  fetchHydratedJqlOptions: () => Promise<void>;
7
- status: 'empty' | 'loading' | 'resolved' | 'rejected';
8
- errors: unknown[];
9
8
  }
10
9
  export declare const useHydrateJqlQuery: (cloudId: string, jql: string) => HydrateJqlState;
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "1.29.2",
3
+ "version": "1.29.4",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
+ "author": "Atlassian Pty Ltd",
6
+ "license": "Apache-2.0",
5
7
  "publishConfig": {
6
8
  "registry": "https://registry.npmjs.org/"
7
9
  },
8
10
  "repository": "https://bitbucket.org/atlassian/atlassian-frontend-mirror",
9
- "author": "Atlassian Pty Ltd",
10
11
  "main": "dist/cjs/index.js",
11
12
  "module": "dist/esm/index.js",
12
13
  "module:es2019": "dist/es2019/index.js",