@atlaskit/link-datasource 3.12.0 → 3.13.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.
- package/CHANGELOG.md +24 -0
- package/dist/cjs/hooks/useLoadOptions.js +100 -0
- package/dist/cjs/ui/issue-like-table/edit-type/icon/index.js +16 -106
- package/dist/cjs/ui/issue-like-table/edit-type/index.js +26 -9
- package/dist/cjs/ui/issue-like-table/edit-type/status/index.js +10 -112
- package/dist/cjs/ui/issue-like-table/edit-type/text/index.js +4 -6
- package/dist/cjs/ui/issue-like-table/edit-type/user/index.js +97 -0
- package/dist/cjs/ui/issue-like-table/index.js +28 -26
- package/dist/cjs/ui/issue-like-table/table-cell-content/inline-edit.js +5 -2
- package/dist/es2019/hooks/useLoadOptions.js +63 -0
- package/dist/es2019/ui/issue-like-table/edit-type/icon/index.js +13 -74
- package/dist/es2019/ui/issue-like-table/edit-type/index.js +24 -5
- package/dist/es2019/ui/issue-like-table/edit-type/status/index.js +8 -76
- package/dist/es2019/ui/issue-like-table/edit-type/text/index.js +5 -5
- package/dist/es2019/ui/issue-like-table/edit-type/user/index.js +74 -0
- package/dist/es2019/ui/issue-like-table/index.js +29 -27
- package/dist/es2019/ui/issue-like-table/table-cell-content/inline-edit.js +5 -2
- package/dist/esm/hooks/useLoadOptions.js +93 -0
- package/dist/esm/ui/issue-like-table/edit-type/icon/index.js +18 -107
- package/dist/esm/ui/issue-like-table/edit-type/index.js +25 -5
- package/dist/esm/ui/issue-like-table/edit-type/status/index.js +11 -113
- package/dist/esm/ui/issue-like-table/edit-type/text/index.js +3 -5
- package/dist/esm/ui/issue-like-table/edit-type/user/index.js +87 -0
- package/dist/esm/ui/issue-like-table/index.js +28 -26
- package/dist/esm/ui/issue-like-table/table-cell-content/inline-edit.js +5 -2
- package/dist/types/hooks/useLoadOptions.d.ts +11 -0
- package/dist/types/ui/issue-like-table/edit-type/icon/index.d.ts +2 -2
- package/dist/types/ui/issue-like-table/edit-type/index.d.ts +1 -0
- package/dist/types/ui/issue-like-table/edit-type/status/index.d.ts +4 -4
- package/dist/types/ui/issue-like-table/edit-type/text/index.d.ts +2 -3
- package/dist/types/ui/issue-like-table/edit-type/user/index.d.ts +11 -0
- package/dist/types/ui/issue-like-table/types.d.ts +3 -0
- package/dist/types-ts4.5/hooks/useLoadOptions.d.ts +11 -0
- package/dist/types-ts4.5/ui/issue-like-table/edit-type/icon/index.d.ts +2 -2
- package/dist/types-ts4.5/ui/issue-like-table/edit-type/index.d.ts +1 -0
- package/dist/types-ts4.5/ui/issue-like-table/edit-type/status/index.d.ts +4 -4
- package/dist/types-ts4.5/ui/issue-like-table/edit-type/text/index.d.ts +2 -3
- package/dist/types-ts4.5/ui/issue-like-table/edit-type/user/index.d.ts +11 -0
- package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +3 -0
- package/package.json +8 -5
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { useDebouncedCallback } from 'use-debounce';
|
|
5
|
+
import Avatar, { AvatarItem } from '@atlaskit/avatar';
|
|
6
|
+
import Select from '@atlaskit/select';
|
|
7
|
+
import { failUfoExperience, succeedUfoExperience } from '../../../../analytics/ufoExperiences';
|
|
8
|
+
import { useDatasourceExperienceId } from '../../../../contexts/datasource-experience-id';
|
|
9
|
+
import { useLoadOptions } from '../../../../hooks/useLoadOptions';
|
|
10
|
+
import { SEARCH_DEBOUNCE_MS } from '../../../common/modal/popup-select/constants';
|
|
11
|
+
import { USER_TYPE_TEST_ID } from '../../render-type/user';
|
|
12
|
+
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
13
|
+
var UserEditType = function UserEditType(props) {
|
|
14
|
+
var _currentValue$values;
|
|
15
|
+
var currentValue = props.currentValue,
|
|
16
|
+
executeFetch = props.executeFetch;
|
|
17
|
+
var _useState = useState({
|
|
18
|
+
query: ''
|
|
19
|
+
}),
|
|
20
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
+
fetchInputs = _useState2[0],
|
|
22
|
+
setFetchInputs = _useState2[1];
|
|
23
|
+
var _useDebouncedCallback = useDebouncedCallback(function (query) {
|
|
24
|
+
return setFetchInputs({
|
|
25
|
+
query: query
|
|
26
|
+
});
|
|
27
|
+
}, SEARCH_DEBOUNCE_MS),
|
|
28
|
+
_useDebouncedCallback2 = _slicedToArray(_useDebouncedCallback, 1),
|
|
29
|
+
handleUserInputDebounced = _useDebouncedCallback2[0];
|
|
30
|
+
var _useLoadOptions = useLoadOptions({
|
|
31
|
+
executeFetch: executeFetch,
|
|
32
|
+
fetchInputs: fetchInputs
|
|
33
|
+
}),
|
|
34
|
+
options = _useLoadOptions.options,
|
|
35
|
+
isLoading = _useLoadOptions.isLoading,
|
|
36
|
+
hasFailed = _useLoadOptions.hasFailed;
|
|
37
|
+
var experienceId = useDatasourceExperienceId();
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
if (!experienceId) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (hasFailed) {
|
|
43
|
+
failUfoExperience({
|
|
44
|
+
name: InlineEditUFOExperience
|
|
45
|
+
}, experienceId);
|
|
46
|
+
} else if (!isLoading) {
|
|
47
|
+
succeedUfoExperience({
|
|
48
|
+
name: InlineEditUFOExperience
|
|
49
|
+
}, experienceId);
|
|
50
|
+
}
|
|
51
|
+
}, [experienceId, isLoading, hasFailed]);
|
|
52
|
+
return /*#__PURE__*/React.createElement(Select, _extends({}, props, {
|
|
53
|
+
autoFocus: true,
|
|
54
|
+
defaultMenuIsOpen: true,
|
|
55
|
+
blurInputOnSelect: true,
|
|
56
|
+
options: options,
|
|
57
|
+
isLoading: isLoading,
|
|
58
|
+
testId: "inline-edit-user",
|
|
59
|
+
filterOption: function filterOption() {
|
|
60
|
+
return true;
|
|
61
|
+
} // necessary, otherwise by default all options will be filtered out on user input
|
|
62
|
+
,
|
|
63
|
+
onInputChange: handleUserInputDebounced,
|
|
64
|
+
defaultValue: currentValue === null || currentValue === void 0 || (_currentValue$values = currentValue.values) === null || _currentValue$values === void 0 ? void 0 : _currentValue$values[0],
|
|
65
|
+
getOptionValue: function getOptionValue(option) {
|
|
66
|
+
return option.atlassianUserId;
|
|
67
|
+
},
|
|
68
|
+
formatOptionLabel: function formatOptionLabel(option) {
|
|
69
|
+
return /*#__PURE__*/React.createElement(AvatarItem, {
|
|
70
|
+
avatar: /*#__PURE__*/React.createElement(Avatar, {
|
|
71
|
+
appearance: "circle",
|
|
72
|
+
size: 'small',
|
|
73
|
+
src: option.avatarSource,
|
|
74
|
+
testId: "".concat(USER_TYPE_TEST_ID, "--avatar--").concat(option.atlassianUserId)
|
|
75
|
+
}),
|
|
76
|
+
primaryText: option.displayName
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
onChange: function onChange(e) {
|
|
80
|
+
return props.setEditValues({
|
|
81
|
+
type: 'user',
|
|
82
|
+
values: e ? [e] : []
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
};
|
|
87
|
+
export default UserEditType;
|
|
@@ -715,35 +715,37 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
|
|
|
715
715
|
shouldUseWidth: shouldUseWidth,
|
|
716
716
|
width: width
|
|
717
717
|
});
|
|
718
|
-
|
|
719
718
|
// eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
|
|
720
|
-
if (fg('
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
if (key !== null && key !== void 0 && key.includes('loading')) {
|
|
733
|
-
loadingRowStyle = _objectSpread(_objectSpread({}, loadingRowStyle), {}, {
|
|
734
|
-
paddingBlock: "var(--ds-space-100, 8px)"
|
|
735
|
-
});
|
|
719
|
+
if (fg('enable_datasource_react_sweet_state')) {
|
|
720
|
+
// eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
|
|
721
|
+
if (fg('platform-datasources-enable-two-way-sync')) {
|
|
722
|
+
return jsx(InlineEditableTableCell, {
|
|
723
|
+
key: cellKey,
|
|
724
|
+
"data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
|
|
725
|
+
colSpan: isEditable && isLastCell ? 2 : undefined
|
|
726
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
727
|
+
,
|
|
728
|
+
style: loadingRowStyle,
|
|
729
|
+
css: [wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(cellKey) ? null : truncateStyles]
|
|
730
|
+
}, content);
|
|
736
731
|
}
|
|
737
|
-
return jsx(TableCell, {
|
|
738
|
-
key: cellKey,
|
|
739
|
-
"data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
|
|
740
|
-
colSpan: isEditable && isLastCell ? 2 : undefined
|
|
741
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
742
|
-
,
|
|
743
|
-
style: loadingRowStyle,
|
|
744
|
-
css: [wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(cellKey) ? null : truncateStyles]
|
|
745
|
-
}, content);
|
|
746
732
|
}
|
|
733
|
+
|
|
734
|
+
// extra padding is required around skeleton loader to avoid vertical jumps when data loads
|
|
735
|
+
if (key !== null && key !== void 0 && key.includes('loading')) {
|
|
736
|
+
loadingRowStyle = _objectSpread(_objectSpread({}, loadingRowStyle), {}, {
|
|
737
|
+
paddingBlock: "var(--ds-space-100, 8px)"
|
|
738
|
+
});
|
|
739
|
+
}
|
|
740
|
+
return jsx(TableCell, {
|
|
741
|
+
key: cellKey,
|
|
742
|
+
"data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
|
|
743
|
+
colSpan: isEditable && isLastCell ? 2 : undefined
|
|
744
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
745
|
+
,
|
|
746
|
+
style: loadingRowStyle,
|
|
747
|
+
css: [wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(cellKey) ? null : truncateStyles]
|
|
748
|
+
}, content);
|
|
747
749
|
}));
|
|
748
750
|
}))));
|
|
749
751
|
return fg('platform-datasources-enable-two-way-sync') ? jsx(FlagsProvider, null, view) : view;
|
|
@@ -19,14 +19,16 @@ var editContainerStyles = xcss({
|
|
|
19
19
|
marginBlockStart: 'space.negative.100'
|
|
20
20
|
});
|
|
21
21
|
var getBackendUpdateValue = function getBackendUpdateValue(typedNewValue) {
|
|
22
|
-
var _typedNewValue$values, _typedNewValue$values2;
|
|
22
|
+
var _typedNewValue$values, _typedNewValue$values2, _typedNewValue$values3;
|
|
23
23
|
switch (typedNewValue.type) {
|
|
24
24
|
case 'string':
|
|
25
25
|
return typedNewValue.values[0] || '';
|
|
26
26
|
case 'status':
|
|
27
27
|
return ((_typedNewValue$values = typedNewValue.values[0]) === null || _typedNewValue$values === void 0 ? void 0 : _typedNewValue$values.transitionId) || '';
|
|
28
|
+
case 'user':
|
|
29
|
+
return ((_typedNewValue$values2 = typedNewValue.values[0]) === null || _typedNewValue$values2 === void 0 ? void 0 : _typedNewValue$values2.atlassianUserId) || '';
|
|
28
30
|
case 'icon':
|
|
29
|
-
return ((_typedNewValue$
|
|
31
|
+
return ((_typedNewValue$values3 = typedNewValue.values[0]) === null || _typedNewValue$values3 === void 0 ? void 0 : _typedNewValue$values3.id) || '';
|
|
30
32
|
}
|
|
31
33
|
throw new Error("Datasource 2 way sync Backend update value not implemented for type ".concat(typedNewValue.type));
|
|
32
34
|
};
|
|
@@ -37,6 +39,7 @@ var mapUpdatedItem = function mapUpdatedItem(existingItem, columnKey, newValue)
|
|
|
37
39
|
data: newValue.values[0] || ''
|
|
38
40
|
}));
|
|
39
41
|
case 'status':
|
|
42
|
+
case 'user':
|
|
40
43
|
case 'icon':
|
|
41
44
|
return newValue.values[0] ? _objectSpread(_objectSpread({}, existingItem), {}, _defineProperty({}, columnKey, {
|
|
42
45
|
data: newValue.values[0]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type AtomicActionExecuteRequest } from '@atlaskit/linking-types';
|
|
2
|
+
import type { ExecuteFetch } from '../state/actions';
|
|
3
|
+
export type LoadOptionsProps = {
|
|
4
|
+
fetchInputs?: AtomicActionExecuteRequest['parameters']['inputs'];
|
|
5
|
+
executeFetch?: ExecuteFetch;
|
|
6
|
+
};
|
|
7
|
+
export declare const useLoadOptions: <T>({ fetchInputs, executeFetch }: LoadOptionsProps) => {
|
|
8
|
+
options: T[];
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
hasFailed: boolean;
|
|
11
|
+
};
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { type FieldProps } from '@atlaskit/form';
|
|
3
3
|
import { type ExecuteFetch } from '../../../../state/actions';
|
|
4
4
|
import type { DatasourceTypeWithOnlyTypeValues, DatasourceTypeWithOnlyValues } from '../../types';
|
|
5
|
-
interface
|
|
5
|
+
interface IconEditTypeProps extends Omit<FieldProps<string>, 'value'> {
|
|
6
6
|
currentValue: DatasourceTypeWithOnlyTypeValues<'icon'>;
|
|
7
7
|
setEditValues: React.Dispatch<React.SetStateAction<DatasourceTypeWithOnlyValues>>;
|
|
8
8
|
executeFetch?: ExecuteFetch;
|
|
@@ -10,5 +10,5 @@ interface Props extends Omit<FieldProps<string>, 'value'> {
|
|
|
10
10
|
/**
|
|
11
11
|
* Should be gated by FF rollout of platform-datasources-enable-two-way-sync-priority
|
|
12
12
|
*/
|
|
13
|
-
declare const IconEditType: (props:
|
|
13
|
+
declare const IconEditType: (props: IconEditTypeProps) => JSX.Element;
|
|
14
14
|
export default IconEditType;
|
|
@@ -11,3 +11,4 @@ export declare const editType: ({ defaultValue, currentValue, setEditValues, exe
|
|
|
11
11
|
}) => Pick<React.ComponentProps<typeof InlineEdit>, 'defaultValue' | 'editView'>;
|
|
12
12
|
export declare const isEditTypeSupported: (type: DatasourceType['type']) => boolean;
|
|
13
13
|
export declare const isEditTypeSelectable: (type: DatasourceType['type']) => boolean;
|
|
14
|
+
export declare const toValueType: <T>(typeWithValues: DatasourceTypeWithOnlyValues) => T;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type FieldProps } from '@atlaskit/form';
|
|
3
3
|
import type { ExecuteFetch } from '../../../../state/actions';
|
|
4
|
-
import type { DatasourceTypeWithOnlyValues } from '../../types';
|
|
5
|
-
interface
|
|
6
|
-
currentValue:
|
|
4
|
+
import type { DatasourceTypeWithOnlyTypeValues, DatasourceTypeWithOnlyValues } from '../../types';
|
|
5
|
+
interface StatusEditTypeProps extends Omit<FieldProps<string>, 'value'> {
|
|
6
|
+
currentValue: DatasourceTypeWithOnlyTypeValues<'status'>;
|
|
7
7
|
setEditValues: React.Dispatch<React.SetStateAction<DatasourceTypeWithOnlyValues>>;
|
|
8
8
|
executeFetch?: ExecuteFetch;
|
|
9
9
|
}
|
|
10
|
-
declare const StatusEditType: (props:
|
|
10
|
+
declare const StatusEditType: (props: StatusEditTypeProps) => JSX.Element;
|
|
11
11
|
export default StatusEditType;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type FieldProps } from '@atlaskit/form';
|
|
3
|
-
import type { DatasourceTypeWithOnlyValues } from '../../types';
|
|
3
|
+
import type { DatasourceTypeWithOnlyTypeValues, DatasourceTypeWithOnlyValues } from '../../types';
|
|
4
4
|
interface TextEditTypeProps extends Omit<FieldProps<string>, 'value'> {
|
|
5
|
-
currentValue:
|
|
5
|
+
currentValue: DatasourceTypeWithOnlyTypeValues<'string'>;
|
|
6
6
|
setEditValues: React.Dispatch<React.SetStateAction<DatasourceTypeWithOnlyValues>>;
|
|
7
7
|
}
|
|
8
|
-
export declare const toTextValue: (typeWithValues: DatasourceTypeWithOnlyValues) => string;
|
|
9
8
|
declare const TextEditType: (props: TextEditTypeProps) => JSX.Element;
|
|
10
9
|
export default TextEditType;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type FieldProps } from '@atlaskit/form';
|
|
3
|
+
import type { ExecuteFetch } from '../../../../state/actions';
|
|
4
|
+
import type { DatasourceTypeWithOnlyTypeValues, DatasourceTypeWithOnlyValues } from '../../types';
|
|
5
|
+
interface UserEditTypeProps extends Omit<FieldProps<string>, 'value'> {
|
|
6
|
+
currentValue: DatasourceTypeWithOnlyTypeValues<'user'>;
|
|
7
|
+
setEditValues: React.Dispatch<React.SetStateAction<DatasourceTypeWithOnlyValues>>;
|
|
8
|
+
executeFetch?: ExecuteFetch;
|
|
9
|
+
}
|
|
10
|
+
declare const UserEditType: (props: UserEditTypeProps) => JSX.Element;
|
|
11
|
+
export default UserEditType;
|
|
@@ -16,6 +16,9 @@ export type DatasourceTypeWithOnlyTypeValues<K> = {
|
|
|
16
16
|
type: K;
|
|
17
17
|
}>['value'][];
|
|
18
18
|
};
|
|
19
|
+
export type DatasourceTypeValueType<K> = Extract<DatasourceType, {
|
|
20
|
+
type: K;
|
|
21
|
+
}>['value'];
|
|
19
22
|
export type TableViewPropsRenderType = (item: DatasourceTypeWithOnlyValues) => React.ReactNode;
|
|
20
23
|
export interface ColumnSizesMap {
|
|
21
24
|
[key: string]: number;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type AtomicActionExecuteRequest } from '@atlaskit/linking-types';
|
|
2
|
+
import type { ExecuteFetch } from '../state/actions';
|
|
3
|
+
export type LoadOptionsProps = {
|
|
4
|
+
fetchInputs?: AtomicActionExecuteRequest['parameters']['inputs'];
|
|
5
|
+
executeFetch?: ExecuteFetch;
|
|
6
|
+
};
|
|
7
|
+
export declare const useLoadOptions: <T>({ fetchInputs, executeFetch }: LoadOptionsProps) => {
|
|
8
|
+
options: T[];
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
hasFailed: boolean;
|
|
11
|
+
};
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { type FieldProps } from '@atlaskit/form';
|
|
3
3
|
import { type ExecuteFetch } from '../../../../state/actions';
|
|
4
4
|
import type { DatasourceTypeWithOnlyTypeValues, DatasourceTypeWithOnlyValues } from '../../types';
|
|
5
|
-
interface
|
|
5
|
+
interface IconEditTypeProps extends Omit<FieldProps<string>, 'value'> {
|
|
6
6
|
currentValue: DatasourceTypeWithOnlyTypeValues<'icon'>;
|
|
7
7
|
setEditValues: React.Dispatch<React.SetStateAction<DatasourceTypeWithOnlyValues>>;
|
|
8
8
|
executeFetch?: ExecuteFetch;
|
|
@@ -10,5 +10,5 @@ interface Props extends Omit<FieldProps<string>, 'value'> {
|
|
|
10
10
|
/**
|
|
11
11
|
* Should be gated by FF rollout of platform-datasources-enable-two-way-sync-priority
|
|
12
12
|
*/
|
|
13
|
-
declare const IconEditType: (props:
|
|
13
|
+
declare const IconEditType: (props: IconEditTypeProps) => JSX.Element;
|
|
14
14
|
export default IconEditType;
|
|
@@ -11,3 +11,4 @@ export declare const editType: ({ defaultValue, currentValue, setEditValues, exe
|
|
|
11
11
|
}) => Pick<React.ComponentProps<typeof InlineEdit>, 'defaultValue' | 'editView'>;
|
|
12
12
|
export declare const isEditTypeSupported: (type: DatasourceType['type']) => boolean;
|
|
13
13
|
export declare const isEditTypeSelectable: (type: DatasourceType['type']) => boolean;
|
|
14
|
+
export declare const toValueType: <T>(typeWithValues: DatasourceTypeWithOnlyValues) => T;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type FieldProps } from '@atlaskit/form';
|
|
3
3
|
import type { ExecuteFetch } from '../../../../state/actions';
|
|
4
|
-
import type { DatasourceTypeWithOnlyValues } from '../../types';
|
|
5
|
-
interface
|
|
6
|
-
currentValue:
|
|
4
|
+
import type { DatasourceTypeWithOnlyTypeValues, DatasourceTypeWithOnlyValues } from '../../types';
|
|
5
|
+
interface StatusEditTypeProps extends Omit<FieldProps<string>, 'value'> {
|
|
6
|
+
currentValue: DatasourceTypeWithOnlyTypeValues<'status'>;
|
|
7
7
|
setEditValues: React.Dispatch<React.SetStateAction<DatasourceTypeWithOnlyValues>>;
|
|
8
8
|
executeFetch?: ExecuteFetch;
|
|
9
9
|
}
|
|
10
|
-
declare const StatusEditType: (props:
|
|
10
|
+
declare const StatusEditType: (props: StatusEditTypeProps) => JSX.Element;
|
|
11
11
|
export default StatusEditType;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type FieldProps } from '@atlaskit/form';
|
|
3
|
-
import type { DatasourceTypeWithOnlyValues } from '../../types';
|
|
3
|
+
import type { DatasourceTypeWithOnlyTypeValues, DatasourceTypeWithOnlyValues } from '../../types';
|
|
4
4
|
interface TextEditTypeProps extends Omit<FieldProps<string>, 'value'> {
|
|
5
|
-
currentValue:
|
|
5
|
+
currentValue: DatasourceTypeWithOnlyTypeValues<'string'>;
|
|
6
6
|
setEditValues: React.Dispatch<React.SetStateAction<DatasourceTypeWithOnlyValues>>;
|
|
7
7
|
}
|
|
8
|
-
export declare const toTextValue: (typeWithValues: DatasourceTypeWithOnlyValues) => string;
|
|
9
8
|
declare const TextEditType: (props: TextEditTypeProps) => JSX.Element;
|
|
10
9
|
export default TextEditType;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type FieldProps } from '@atlaskit/form';
|
|
3
|
+
import type { ExecuteFetch } from '../../../../state/actions';
|
|
4
|
+
import type { DatasourceTypeWithOnlyTypeValues, DatasourceTypeWithOnlyValues } from '../../types';
|
|
5
|
+
interface UserEditTypeProps extends Omit<FieldProps<string>, 'value'> {
|
|
6
|
+
currentValue: DatasourceTypeWithOnlyTypeValues<'user'>;
|
|
7
|
+
setEditValues: React.Dispatch<React.SetStateAction<DatasourceTypeWithOnlyValues>>;
|
|
8
|
+
executeFetch?: ExecuteFetch;
|
|
9
|
+
}
|
|
10
|
+
declare const UserEditType: (props: UserEditTypeProps) => JSX.Element;
|
|
11
|
+
export default UserEditType;
|
|
@@ -16,6 +16,9 @@ export type DatasourceTypeWithOnlyTypeValues<K> = {
|
|
|
16
16
|
type: K;
|
|
17
17
|
}>['value'][];
|
|
18
18
|
};
|
|
19
|
+
export type DatasourceTypeValueType<K> = Extract<DatasourceType, {
|
|
20
|
+
type: K;
|
|
21
|
+
}>['value'];
|
|
19
22
|
export type TableViewPropsRenderType = (item: DatasourceTypeWithOnlyValues) => React.ReactNode;
|
|
20
23
|
export interface ColumnSizesMap {
|
|
21
24
|
[key: string]: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.13.0",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"@atlaskit/badge": "^16.4.0",
|
|
43
43
|
"@atlaskit/button": "^20.3.0",
|
|
44
44
|
"@atlaskit/datetime-picker": "^15.9.0",
|
|
45
|
-
"@atlaskit/dropdown-menu": "^12.
|
|
45
|
+
"@atlaskit/dropdown-menu": "^12.23.0",
|
|
46
46
|
"@atlaskit/editor-prosemirror": "6.0.0",
|
|
47
47
|
"@atlaskit/empty-state": "^7.12.0",
|
|
48
48
|
"@atlaskit/flag": "^15.8.0",
|
|
49
49
|
"@atlaskit/form": "^10.5.0",
|
|
50
50
|
"@atlaskit/heading": "^3.1.0",
|
|
51
|
-
"@atlaskit/icon": "^22.
|
|
51
|
+
"@atlaskit/icon": "^22.26.0",
|
|
52
52
|
"@atlaskit/icon-object": "^6.7.0",
|
|
53
53
|
"@atlaskit/image": "^1.3.0",
|
|
54
54
|
"@atlaskit/inline-edit": "^13.7.0",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"@atlaskit/pragmatic-drag-and-drop-react-drop-indicator": "^1.1.0",
|
|
73
73
|
"@atlaskit/primitives": "^13.2.0",
|
|
74
74
|
"@atlaskit/react-select": "^1.4.0",
|
|
75
|
-
"@atlaskit/select": "^18.
|
|
75
|
+
"@atlaskit/select": "^18.6.0",
|
|
76
76
|
"@atlaskit/smart-card": "^30.3.0",
|
|
77
77
|
"@atlaskit/smart-user-picker": "6.11.2",
|
|
78
78
|
"@atlaskit/spinner": "^16.3.0",
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"devDependencies": {
|
|
102
102
|
"@af/integration-testing": "*",
|
|
103
103
|
"@af/visual-regression": "*",
|
|
104
|
-
"@atlaskit/link-provider": "^1.
|
|
104
|
+
"@atlaskit/link-provider": "^1.17.0",
|
|
105
105
|
"@atlaskit/link-test-helpers": "^7.5.0",
|
|
106
106
|
"@atlaskit/ssr": "*",
|
|
107
107
|
"@atlaskit/visual-regression": "*",
|
|
@@ -171,6 +171,9 @@
|
|
|
171
171
|
"platform-datasources-enable-two-way-sync-priority": {
|
|
172
172
|
"type": "boolean"
|
|
173
173
|
},
|
|
174
|
+
"platform-datasources-enable-two-way-sync-assignee": {
|
|
175
|
+
"type": "boolean"
|
|
176
|
+
},
|
|
174
177
|
"platform.linking-platform.datasource-assets_update_refresh_button_dt3qk": {
|
|
175
178
|
"type": "boolean"
|
|
176
179
|
},
|