@atlaskit/link-datasource 1.11.1 → 1.12.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.
- package/CHANGELOG.md +20 -0
- package/dist/cjs/analytics/constants.js +1 -1
- package/dist/cjs/services/mocks.js +134 -0
- package/dist/cjs/services/useBasicFilterAGG.js +119 -0
- package/dist/cjs/services/utils.js +8 -0
- package/dist/cjs/ui/assets-modal/modal/index.js +2 -2
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +5 -1
- package/dist/cjs/ui/issue-like-table/draggable-table-heading.js +109 -5
- package/dist/cjs/ui/issue-like-table/index.js +109 -95
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.js +20 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.js +155 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.js +82 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.js +87 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.js +97 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.js +18 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.js +111 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/types.js +15 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -1
- package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/transformers.js +97 -0
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +16 -5
- package/dist/es2019/analytics/constants.js +1 -1
- package/dist/es2019/services/mocks.js +128 -0
- package/dist/es2019/services/useBasicFilterAGG.js +72 -0
- package/dist/es2019/services/utils.js +113 -0
- package/dist/es2019/ui/assets-modal/modal/index.js +2 -2
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +5 -1
- package/dist/es2019/ui/issue-like-table/draggable-table-heading.js +113 -5
- package/dist/es2019/ui/issue-like-table/index.js +82 -72
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.js +14 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.js +149 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.js +76 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.js +81 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.js +91 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.js +12 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.js +105 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/types.js +9 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -1
- package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/transformers.js +91 -0
- package/dist/es2019/ui/jira-issues-modal/modal/index.js +15 -4
- package/dist/esm/analytics/constants.js +1 -1
- package/dist/esm/services/mocks.js +128 -0
- package/dist/esm/services/useBasicFilterAGG.js +112 -0
- package/dist/esm/services/utils.js +2 -0
- package/dist/esm/ui/assets-modal/modal/index.js +2 -2
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +5 -1
- package/dist/esm/ui/issue-like-table/draggable-table-heading.js +109 -5
- package/dist/esm/ui/issue-like-table/index.js +108 -94
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.js +14 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.js +149 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.js +76 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.js +81 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.js +91 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.js +12 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.js +105 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/types.js +9 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -1
- package/dist/esm/ui/jira-issues-modal/basic-filters/utils/transformers.js +89 -0
- package/dist/esm/ui/jira-issues-modal/modal/index.js +17 -6
- package/dist/types/services/mocks.d.ts +3 -0
- package/dist/types/services/useBasicFilterAGG.d.ts +5 -0
- package/dist/types/services/utils.d.ts +2 -0
- package/dist/types/ui/datasource-table-view/types.d.ts +4 -0
- package/dist/types/ui/issue-like-table/draggable-table-heading.d.ts +3 -2
- package/dist/types/ui/issue-like-table/index.d.ts +5 -3
- package/dist/types/ui/issue-like-table/types.d.ts +5 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.d.ts +3 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.d.ts +17 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.d.ts +8 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.d.ts +8 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.d.ts +8 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.d.ts +3 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.d.ts +29 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/types.d.ts +93 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/utils/transformers.d.ts +8 -0
- package/dist/types/ui/jira-issues-modal/jira-search-container/buildJQL.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/types.d.ts +4 -0
- package/dist/types-ts4.5/services/mocks.d.ts +3 -0
- package/dist/types-ts4.5/services/useBasicFilterAGG.d.ts +5 -0
- package/dist/types-ts4.5/services/utils.d.ts +2 -0
- package/dist/types-ts4.5/ui/datasource-table-view/types.d.ts +4 -0
- package/dist/types-ts4.5/ui/issue-like-table/draggable-table-heading.d.ts +3 -2
- package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +5 -3
- package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +5 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.d.ts +3 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.d.ts +17 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.d.ts +3 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.d.ts +29 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/types.d.ts +93 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/utils/transformers.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/buildJQL.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +4 -0
- package/examples-helpers/buildIssueLikeTable.tsx +15 -1
- package/examples-helpers/buildJiraIssuesTable.tsx +15 -1
- package/package.json +6 -6
- package/report.api.md +11 -0
- package/tmp/api-report-tmp.d.ts +11 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +0 -5
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +0 -1
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +0 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.d.ts +0 -23
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.d.ts +0 -23
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ControlProps } from '@atlaskit/select';
|
|
3
|
-
import { SelectOption } from '
|
|
3
|
+
import { SelectOption } from '../../types';
|
|
4
4
|
export declare const CustomControl: ({ children, ...innerProps }: ControlProps<SelectOption, true>) => JSX.Element;
|
|
5
5
|
export default CustomControl;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { BasicFilterFieldType, SelectOption } from '
|
|
2
|
+
import { BasicFilterFieldType, SelectOption } from '../../types';
|
|
3
3
|
export interface AsyncPopupSelectProps {
|
|
4
4
|
filterType: BasicFilterFieldType;
|
|
5
5
|
selection: SelectOption[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FieldValuesResponse, HydrateResponse, SelectOption } from '../types';
|
|
2
|
+
export declare function mapHydrateResponseData({ data }: HydrateResponse): {
|
|
3
|
+
status?: SelectOption[] | undefined;
|
|
4
|
+
assignee?: SelectOption[] | undefined;
|
|
5
|
+
project?: SelectOption[] | undefined;
|
|
6
|
+
issuetype?: SelectOption[] | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare function mapFieldValuesResponseData({ data, }: FieldValuesResponse): SelectOption[];
|
|
@@ -26,6 +26,7 @@ export interface JiraIssuesDatasourceAdf extends DatasourceAdf {
|
|
|
26
26
|
properties?: {
|
|
27
27
|
columns: {
|
|
28
28
|
key: string;
|
|
29
|
+
width?: number;
|
|
29
30
|
}[];
|
|
30
31
|
};
|
|
31
32
|
}
|
|
@@ -38,6 +39,9 @@ export interface JiraIssuesConfigModalProps {
|
|
|
38
39
|
datasourceId: string;
|
|
39
40
|
/** The keys for each of the visible columns to the shown in the rendered table */
|
|
40
41
|
visibleColumnKeys?: string[];
|
|
42
|
+
columnCustomSizes?: {
|
|
43
|
+
[key: string]: number;
|
|
44
|
+
};
|
|
41
45
|
/** The url that was used to insert a Jira List of Links */
|
|
42
46
|
url?: string;
|
|
43
47
|
/** Parameters for making the data requests necessary to render data within the table */
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BasicFilterFieldType, FieldValuesResponse, HydrateResponse } from '../ui/jira-issues-modal/basic-filters/types';
|
|
2
|
+
export declare const useBasicFilterAGG: () => {
|
|
3
|
+
getHydratedJQL: (cloudId: string, jql: string) => Promise<HydrateResponse>;
|
|
4
|
+
getFieldValues: (cloudId: string, jql: string, jqlTerm: BasicFilterFieldType, searchString: string, pageCursor?: string) => Promise<FieldValuesResponse>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
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}";
|
|
2
|
+
export declare const fieldValuesQuery = "query fieldValues($cloudId: ID!, $first: Int = 10, $jqlTerm: String!, $jql: String!, $searchString: String!, $after: String, $projectOptions: JiraProjectOptions) {\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}";
|
|
@@ -14,4 +14,8 @@ export interface DatasourceTableViewProps {
|
|
|
14
14
|
visibleColumnKeys?: string[];
|
|
15
15
|
/** Url for an existing datasource, initially used for displaying to a user unauthorized to query that site */
|
|
16
16
|
url?: string;
|
|
17
|
+
columnCustomSizes?: {
|
|
18
|
+
[key: string]: number;
|
|
19
|
+
};
|
|
20
|
+
onColumnResize?: (key: string, width: number) => void;
|
|
17
21
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { jsx } from '@emotion/react';
|
|
4
|
-
export declare const DraggableTableHeading: ({ children, id, index, tableId, dndPreviewHeight, dragPreview,
|
|
4
|
+
export declare const DraggableTableHeading: ({ children, id, index, tableId, dndPreviewHeight, dragPreview, width, onWidthChange, }: {
|
|
5
5
|
children: ReactNode;
|
|
6
6
|
id: string;
|
|
7
7
|
index: number;
|
|
8
8
|
tableId: Symbol;
|
|
9
9
|
dndPreviewHeight: number;
|
|
10
10
|
dragPreview: React.ReactNode;
|
|
11
|
-
|
|
11
|
+
width: number;
|
|
12
|
+
onWidthChange?: ((width: number) => void) | undefined;
|
|
12
13
|
}) => jsx.JSX.Element;
|
|
@@ -10,9 +10,11 @@ export interface RowType {
|
|
|
10
10
|
}
|
|
11
11
|
export interface RowCellType {
|
|
12
12
|
key: string;
|
|
13
|
+
width: number;
|
|
14
|
+
shouldTruncate?: boolean;
|
|
13
15
|
content?: React.ReactNode | string;
|
|
14
|
-
maxWidth?: number;
|
|
15
16
|
}
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const getOrderedColumns: (columns: DatasourceResponseSchemaProperty[], visibleColumnKeys: string[]) => DatasourceResponseSchemaProperty[];
|
|
18
|
+
export declare const COLUMN_MIN_WIDTH: number;
|
|
19
|
+
export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, columnCustomSizes, onColumnResize, status, hasNextPage, scrollableContainerHeight, parentContainerRenderInstanceId, extensionKey, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
|
|
18
20
|
export declare const EmptyState: ({ isCompact, testId }: import("./empty-state").Props) => jsx.JSX.Element;
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType, DatasourceType } from '@atlaskit/linking-types';
|
|
3
3
|
import { NextPageType } from '../../hooks/useDatasourceTableState';
|
|
4
4
|
export type TableViewPropsRenderType = (item: DatasourceType) => React.ReactNode;
|
|
5
|
+
export interface ColumnSizesMap {
|
|
6
|
+
[key: string]: number;
|
|
7
|
+
}
|
|
5
8
|
export interface IssueLikeDataTableViewProps {
|
|
6
9
|
testId?: string;
|
|
7
10
|
/**
|
|
@@ -50,4 +53,6 @@ export interface IssueLikeDataTableViewProps {
|
|
|
50
53
|
* It this number is undefined it will not restrict height and not make container scrollable.
|
|
51
54
|
*/
|
|
52
55
|
scrollableContainerHeight?: number;
|
|
56
|
+
columnCustomSizes?: ColumnSizesMap;
|
|
57
|
+
onColumnResize?: (key: string, width: number) => void;
|
|
53
58
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FieldValuesResponse } from '../types';
|
|
2
|
+
export declare const fieldValuesResponseForAssignees: FieldValuesResponse;
|
|
3
|
+
export declare const fieldValuesResponseForAssigneesMapped: ({
|
|
4
|
+
isGroup: boolean;
|
|
5
|
+
label: string;
|
|
6
|
+
optionType: string;
|
|
7
|
+
value: string;
|
|
8
|
+
avatar?: undefined;
|
|
9
|
+
isSquare?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
avatar: string;
|
|
12
|
+
isSquare: boolean;
|
|
13
|
+
label: string;
|
|
14
|
+
optionType: string;
|
|
15
|
+
value: string;
|
|
16
|
+
isGroup?: undefined;
|
|
17
|
+
})[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FieldValuesResponse } from '../types';
|
|
2
|
+
export declare const fieldValuesResponseForStatuses: FieldValuesResponse;
|
|
3
|
+
export declare const fieldValuesResponseForStatusesMapped: {
|
|
4
|
+
appearance: string;
|
|
5
|
+
label: string;
|
|
6
|
+
optionType: string;
|
|
7
|
+
value: string;
|
|
8
|
+
}[];
|
package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { HydrateResponse } from '../types';
|
|
2
|
+
export declare const hydrateJqlStandardResponse: HydrateResponse;
|
|
3
|
+
export declare const hydrateJqlStandardResponseMapped: {
|
|
4
|
+
issuetype: {
|
|
5
|
+
icon: string;
|
|
6
|
+
label: string;
|
|
7
|
+
optionType: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}[];
|
|
10
|
+
project: {
|
|
11
|
+
icon: string;
|
|
12
|
+
label: string;
|
|
13
|
+
optionType: string;
|
|
14
|
+
value: string;
|
|
15
|
+
}[];
|
|
16
|
+
assignee: {
|
|
17
|
+
avatar: string;
|
|
18
|
+
isSquare: boolean;
|
|
19
|
+
label: string;
|
|
20
|
+
optionType: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}[];
|
|
23
|
+
status: {
|
|
24
|
+
appearance: string;
|
|
25
|
+
label: string;
|
|
26
|
+
optionType: string;
|
|
27
|
+
value: string;
|
|
28
|
+
}[];
|
|
29
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
export type BasicFilterFieldType = 'project' | 'assignee' | 'issuetype' | 'status';
|
|
3
|
+
export interface OptionBase {
|
|
4
|
+
label: string;
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
export type IconLabelOption = OptionBase & {
|
|
8
|
+
optionType: 'iconLabel';
|
|
9
|
+
icon: string;
|
|
10
|
+
};
|
|
11
|
+
export type LozengeLabelOption = OptionBase & {
|
|
12
|
+
optionType: 'lozengeLabel';
|
|
13
|
+
appearance?: LozengeAppearance;
|
|
14
|
+
};
|
|
15
|
+
export type LozengeAppearance = 'default' | 'inprogress' | 'moved' | 'new' | 'removed' | 'success';
|
|
16
|
+
export type AvatarLabelOption = OptionBase & {
|
|
17
|
+
optionType: 'avatarLabel';
|
|
18
|
+
avatar?: string;
|
|
19
|
+
isSquare?: boolean;
|
|
20
|
+
isGroup?: boolean;
|
|
21
|
+
};
|
|
22
|
+
export type SelectOption = IconLabelOption | LozengeLabelOption | AvatarLabelOption;
|
|
23
|
+
export type FormatOptionLabel = (option: SelectOption) => ReactElement;
|
|
24
|
+
export declare const appearanceMap: {
|
|
25
|
+
readonly BLUE_GRAY: "default";
|
|
26
|
+
readonly MEDIUM_GRAY: "default";
|
|
27
|
+
readonly BROWN: "default";
|
|
28
|
+
readonly GREEN: "success";
|
|
29
|
+
readonly YELLOW: "inprogress";
|
|
30
|
+
readonly WARM_RED: "removed";
|
|
31
|
+
};
|
|
32
|
+
export type ColorName = keyof typeof appearanceMap;
|
|
33
|
+
export type Appearance = (typeof appearanceMap)[ColorName];
|
|
34
|
+
type JQLBuilderResponse<T> = {
|
|
35
|
+
data: {
|
|
36
|
+
jira?: {
|
|
37
|
+
jqlBuilder: T;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
errors?: Array<object>;
|
|
41
|
+
};
|
|
42
|
+
type HydrateJqlQueryBody = {
|
|
43
|
+
hydrateJqlQuery: {
|
|
44
|
+
fields: Array<{
|
|
45
|
+
jqlTerm: BasicFilterFieldType;
|
|
46
|
+
values: Array<{
|
|
47
|
+
values: Array<AggJqlBuilderFieldNode>;
|
|
48
|
+
}>;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
type FieldValuesBody = {
|
|
53
|
+
fieldValues: {
|
|
54
|
+
totalCount: number;
|
|
55
|
+
pageInfo: {
|
|
56
|
+
endCursor?: string;
|
|
57
|
+
};
|
|
58
|
+
edges: Array<{
|
|
59
|
+
node: AggJqlBuilderFieldNode;
|
|
60
|
+
}>;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
type JqlBuilderProject = {
|
|
64
|
+
avatar: {
|
|
65
|
+
small: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
type JqlBuilderUser = {
|
|
69
|
+
picture?: string;
|
|
70
|
+
};
|
|
71
|
+
type JqlBuilderGroup = {
|
|
72
|
+
name: string;
|
|
73
|
+
};
|
|
74
|
+
type JqlBuilderIssueType = {
|
|
75
|
+
avatar: {
|
|
76
|
+
small: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
type JqlBuilderStatusCategory = {
|
|
80
|
+
colorName: string;
|
|
81
|
+
};
|
|
82
|
+
export type AggJqlBuilderFieldNode = {
|
|
83
|
+
jqlTerm: string;
|
|
84
|
+
displayName: string;
|
|
85
|
+
project?: JqlBuilderProject;
|
|
86
|
+
user?: JqlBuilderUser;
|
|
87
|
+
issueTypes?: Array<JqlBuilderIssueType>;
|
|
88
|
+
statusCategory?: JqlBuilderStatusCategory;
|
|
89
|
+
group?: JqlBuilderGroup;
|
|
90
|
+
};
|
|
91
|
+
export type HydrateResponse = JQLBuilderResponse<HydrateJqlQueryBody>;
|
|
92
|
+
export type FieldValuesResponse = JQLBuilderResponse<FieldValuesBody>;
|
|
93
|
+
export {};
|
package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ControlProps } from '@atlaskit/select';
|
|
3
|
-
import { SelectOption } from '
|
|
3
|
+
import { SelectOption } from '../../types';
|
|
4
4
|
export declare const CustomControl: ({ children, ...innerProps }: ControlProps<SelectOption, true>) => JSX.Element;
|
|
5
5
|
export default CustomControl;
|
package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { BasicFilterFieldType, SelectOption } from '
|
|
2
|
+
import { BasicFilterFieldType, SelectOption } from '../../types';
|
|
3
3
|
export interface AsyncPopupSelectProps {
|
|
4
4
|
filterType: BasicFilterFieldType;
|
|
5
5
|
selection: SelectOption[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FieldValuesResponse, HydrateResponse, SelectOption } from '../types';
|
|
2
|
+
export declare function mapHydrateResponseData({ data }: HydrateResponse): {
|
|
3
|
+
status?: SelectOption[] | undefined;
|
|
4
|
+
assignee?: SelectOption[] | undefined;
|
|
5
|
+
project?: SelectOption[] | undefined;
|
|
6
|
+
issuetype?: SelectOption[] | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare function mapFieldValuesResponseData({ data, }: FieldValuesResponse): SelectOption[];
|
|
@@ -26,6 +26,7 @@ export interface JiraIssuesDatasourceAdf extends DatasourceAdf {
|
|
|
26
26
|
properties?: {
|
|
27
27
|
columns: {
|
|
28
28
|
key: string;
|
|
29
|
+
width?: number;
|
|
29
30
|
}[];
|
|
30
31
|
};
|
|
31
32
|
}
|
|
@@ -38,6 +39,9 @@ export interface JiraIssuesConfigModalProps {
|
|
|
38
39
|
datasourceId: string;
|
|
39
40
|
/** The keys for each of the visible columns to the shown in the rendered table */
|
|
40
41
|
visibleColumnKeys?: string[];
|
|
42
|
+
columnCustomSizes?: {
|
|
43
|
+
[key: string]: number;
|
|
44
|
+
};
|
|
41
45
|
/** The url that was used to insert a Jira List of Links */
|
|
42
46
|
url?: string;
|
|
43
47
|
/** Parameters for making the data requests necessary to render data within the table */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
|
-
import { useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
3
|
|
|
4
4
|
import { jsx } from '@emotion/react';
|
|
5
5
|
import styled from '@emotion/styled';
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
|
|
14
14
|
import { useDatasourceTableState } from '../src/hooks/useDatasourceTableState';
|
|
15
15
|
import { IssueLikeDataTableView } from '../src/ui/issue-like-table';
|
|
16
|
+
import { ColumnSizesMap } from '../src/ui/issue-like-table/types';
|
|
16
17
|
import { JiraIssueDatasourceParameters } from '../src/ui/jira-issues-modal/types';
|
|
17
18
|
|
|
18
19
|
import SmartLinkClient from './smartLinkCustomClient';
|
|
@@ -57,6 +58,17 @@ const ExampleBody = ({ isReadonly }: Props) => {
|
|
|
57
58
|
defaultInitialVisibleColumnKeys,
|
|
58
59
|
);
|
|
59
60
|
|
|
61
|
+
const [columnCustomSizes, setColumnCustomSizes] = useState<
|
|
62
|
+
ColumnSizesMap | undefined
|
|
63
|
+
>();
|
|
64
|
+
|
|
65
|
+
const onColumnResize = useCallback(
|
|
66
|
+
(key: string, width: number) => {
|
|
67
|
+
setColumnCustomSizes({ ...columnCustomSizes, [key]: width });
|
|
68
|
+
},
|
|
69
|
+
[columnCustomSizes],
|
|
70
|
+
);
|
|
71
|
+
|
|
60
72
|
useEffect(() => {
|
|
61
73
|
if (visibleColumnKeys.length === 0 && defaultVisibleColumnKeys.length > 0) {
|
|
62
74
|
setVisibleColumnKeys(defaultVisibleColumnKeys);
|
|
@@ -78,6 +90,8 @@ const ExampleBody = ({ isReadonly }: Props) => {
|
|
|
78
90
|
onVisibleColumnKeysChange={
|
|
79
91
|
isReadonly ? undefined : setVisibleColumnKeys
|
|
80
92
|
}
|
|
93
|
+
onColumnResize={isReadonly ? undefined : onColumnResize}
|
|
94
|
+
columnCustomSizes={columnCustomSizes}
|
|
81
95
|
/>
|
|
82
96
|
) : (
|
|
83
97
|
<span>Loading ...</span>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useMemo, useState } from 'react';
|
|
1
|
+
import React, { useCallback, useMemo, useState } from 'react';
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
defaultInitialVisibleColumnKeys,
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
} from '@atlaskit/link-test-helpers/datasource';
|
|
7
7
|
|
|
8
8
|
import { DatasourceTableView } from '../src';
|
|
9
|
+
import { ColumnSizesMap } from '../src/ui/issue-like-table/types';
|
|
9
10
|
import { JiraIssueDatasourceParameters } from '../src/ui/jira-issues-modal/types';
|
|
10
11
|
|
|
11
12
|
mockDatasourceFetchRequests();
|
|
@@ -25,12 +26,25 @@ export const ExampleJiraIssuesTableView = () => {
|
|
|
25
26
|
[cloudId],
|
|
26
27
|
);
|
|
27
28
|
|
|
29
|
+
const [columnCustomSizes, setColumnCustomSizes] = useState<
|
|
30
|
+
ColumnSizesMap | undefined
|
|
31
|
+
>();
|
|
32
|
+
|
|
33
|
+
const onColumnResize = useCallback(
|
|
34
|
+
(key: string, width: number) => {
|
|
35
|
+
setColumnCustomSizes({ ...columnCustomSizes, [key]: width });
|
|
36
|
+
},
|
|
37
|
+
[columnCustomSizes],
|
|
38
|
+
);
|
|
39
|
+
|
|
28
40
|
return (
|
|
29
41
|
<DatasourceTableView
|
|
30
42
|
datasourceId={'some-datasource-id'}
|
|
31
43
|
parameters={parameters}
|
|
32
44
|
visibleColumnKeys={visibleColumnKeys}
|
|
33
45
|
onVisibleColumnKeysChange={setVisibleColumnKeys}
|
|
46
|
+
columnCustomSizes={columnCustomSizes}
|
|
47
|
+
onColumnResize={onColumnResize}
|
|
34
48
|
/>
|
|
35
49
|
);
|
|
36
50
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@atlaskit/adf-schema": "^32.0.0",
|
|
34
34
|
"@atlaskit/analytics-next": "^9.1.3",
|
|
35
35
|
"@atlaskit/avatar": "^21.4.0",
|
|
36
|
-
"@atlaskit/button": "^16.
|
|
36
|
+
"@atlaskit/button": "^16.13.0",
|
|
37
37
|
"@atlaskit/editor-prosemirror": "1.1.0",
|
|
38
38
|
"@atlaskit/empty-state": "^7.5.0",
|
|
39
39
|
"@atlaskit/form": "^8.11.0",
|
|
@@ -45,15 +45,16 @@
|
|
|
45
45
|
"@atlaskit/jql-ast": "^3.0.0",
|
|
46
46
|
"@atlaskit/jql-editor-autocomplete-rest": "^2.0.0",
|
|
47
47
|
"@atlaskit/link-client-extension": "^1.8.0",
|
|
48
|
-
"@atlaskit/
|
|
48
|
+
"@atlaskit/link-provider": "^1.6.12",
|
|
49
|
+
"@atlaskit/linking-common": "^4.14.0",
|
|
49
50
|
"@atlaskit/linking-types": "^8.4.0",
|
|
50
51
|
"@atlaskit/lozenge": "^11.4.0",
|
|
51
52
|
"@atlaskit/modal-dialog": "^12.8.0",
|
|
52
53
|
"@atlaskit/platform-feature-flags": "^0.2.4",
|
|
53
54
|
"@atlaskit/pragmatic-drag-and-drop": "^0.24.0",
|
|
54
|
-
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^0.
|
|
55
|
+
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^0.12.0",
|
|
55
56
|
"@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll": "^0.6.0",
|
|
56
|
-
"@atlaskit/pragmatic-drag-and-drop-react-indicator": "^0.
|
|
57
|
+
"@atlaskit/pragmatic-drag-and-drop-react-indicator": "^0.17.0",
|
|
57
58
|
"@atlaskit/primitives": "^1.9.0",
|
|
58
59
|
"@atlaskit/select": "^16.7.0",
|
|
59
60
|
"@atlaskit/smart-card": "^26.41.0",
|
|
@@ -82,7 +83,6 @@
|
|
|
82
83
|
"devDependencies": {
|
|
83
84
|
"@af/integration-testing": "*",
|
|
84
85
|
"@af/visual-regression": "*",
|
|
85
|
-
"@atlaskit/link-provider": "^1.6.0",
|
|
86
86
|
"@atlaskit/link-test-helpers": "^6.2.0",
|
|
87
87
|
"@atlaskit/ssr": "*",
|
|
88
88
|
"@atlaskit/visual-regression": "*",
|
package/report.api.md
CHANGED
|
@@ -87,9 +87,15 @@ export const DatasourceTableView: (
|
|
|
87
87
|
|
|
88
88
|
// @public (undocumented)
|
|
89
89
|
interface DatasourceTableViewProps {
|
|
90
|
+
// (undocumented)
|
|
91
|
+
columnCustomSizes?: {
|
|
92
|
+
[key: string]: number;
|
|
93
|
+
};
|
|
90
94
|
datasourceId: string;
|
|
91
95
|
// (undocumented)
|
|
92
96
|
fields?: string[];
|
|
97
|
+
// (undocumented)
|
|
98
|
+
onColumnResize?: (key: string, width: number) => void;
|
|
93
99
|
onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
|
|
94
100
|
parameters: object;
|
|
95
101
|
url?: string;
|
|
@@ -122,6 +128,10 @@ export const JiraIssuesConfigModal: (
|
|
|
122
128
|
|
|
123
129
|
// @public (undocumented)
|
|
124
130
|
interface JiraIssuesConfigModalProps {
|
|
131
|
+
// (undocumented)
|
|
132
|
+
columnCustomSizes?: {
|
|
133
|
+
[key: string]: number;
|
|
134
|
+
};
|
|
125
135
|
datasourceId: string;
|
|
126
136
|
onCancel: () => void;
|
|
127
137
|
onInsert: (
|
|
@@ -148,6 +158,7 @@ export interface JiraIssuesDatasourceAdf extends DatasourceAdf {
|
|
|
148
158
|
properties?: {
|
|
149
159
|
columns: {
|
|
150
160
|
key: string;
|
|
161
|
+
width?: number;
|
|
151
162
|
}[];
|
|
152
163
|
};
|
|
153
164
|
},
|
package/tmp/api-report-tmp.d.ts
CHANGED
|
@@ -68,9 +68,15 @@ export const DatasourceTableView: (props: DatasourceTableViewProps) => JSX.Eleme
|
|
|
68
68
|
|
|
69
69
|
// @public (undocumented)
|
|
70
70
|
interface DatasourceTableViewProps {
|
|
71
|
+
// (undocumented)
|
|
72
|
+
columnCustomSizes?: {
|
|
73
|
+
[key: string]: number;
|
|
74
|
+
};
|
|
71
75
|
datasourceId: string;
|
|
72
76
|
// (undocumented)
|
|
73
77
|
fields?: string[];
|
|
78
|
+
// (undocumented)
|
|
79
|
+
onColumnResize?: (key: string, width: number) => void;
|
|
74
80
|
onVisibleColumnKeysChange?: (visibleColumnKeys: string[]) => void;
|
|
75
81
|
parameters: object;
|
|
76
82
|
url?: string;
|
|
@@ -97,6 +103,10 @@ export const JiraIssuesConfigModal: (props: JiraIssuesConfigModalProps) => JSX.E
|
|
|
97
103
|
|
|
98
104
|
// @public (undocumented)
|
|
99
105
|
interface JiraIssuesConfigModalProps {
|
|
106
|
+
// (undocumented)
|
|
107
|
+
columnCustomSizes?: {
|
|
108
|
+
[key: string]: number;
|
|
109
|
+
};
|
|
100
110
|
datasourceId: string;
|
|
101
111
|
onCancel: () => void;
|
|
102
112
|
onInsert: (adf: InlineCardAdf | JiraIssuesDatasourceAdf, analyticsEvent?: UIAnalyticsEvent) => void;
|
|
@@ -120,6 +130,7 @@ export interface JiraIssuesDatasourceAdf extends DatasourceAdf {
|
|
|
120
130
|
properties?: {
|
|
121
131
|
columns: {
|
|
122
132
|
key: string;
|
|
133
|
+
width?: number;
|
|
123
134
|
}[];
|
|
124
135
|
};
|
|
125
136
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export type BasicFilterFieldType = 'project' | 'assignee' | 'issuetype' | 'status';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
3
|
-
interface OptionBase {
|
|
4
|
-
label: string;
|
|
5
|
-
value: string;
|
|
6
|
-
}
|
|
7
|
-
export type IconLabelOption = OptionBase & {
|
|
8
|
-
optionType: 'iconLabel';
|
|
9
|
-
icon: string;
|
|
10
|
-
};
|
|
11
|
-
export type LozengeLabelOption = OptionBase & {
|
|
12
|
-
optionType: 'lozengeLabel';
|
|
13
|
-
appearance?: 'default' | 'inprogress' | 'moved' | 'new' | 'removed' | 'success';
|
|
14
|
-
isBold?: boolean;
|
|
15
|
-
};
|
|
16
|
-
export type AvatarLabelOption = OptionBase & {
|
|
17
|
-
optionType: 'avatarLabel';
|
|
18
|
-
avatar?: string;
|
|
19
|
-
isSquare?: boolean;
|
|
20
|
-
};
|
|
21
|
-
export type SelectOption = IconLabelOption | LozengeLabelOption | AvatarLabelOption;
|
|
22
|
-
export type FormatOptionLabel = (option: SelectOption) => ReactElement;
|
|
23
|
-
export {};
|