@atlaskit/link-datasource 3.11.0 → 3.12.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 +16 -0
- package/dist/cjs/ui/assets-modal/modal/index.js +9 -19
- package/dist/cjs/ui/issue-like-table/edit-type/icon/index.js +49 -8
- package/dist/es2019/ui/assets-modal/modal/index.js +5 -17
- package/dist/es2019/ui/issue-like-table/edit-type/icon/index.js +45 -6
- package/dist/esm/ui/assets-modal/modal/index.js +9 -19
- package/dist/esm/ui/issue-like-table/edit-type/icon/index.js +49 -8
- package/package.json +3 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 3.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#166988](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/166988)
|
|
8
|
+
[`0950f1f3c353f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/0950f1f3c353f) -
|
|
9
|
+
[ux] EDM-11263 Add UFO metrics to inline-edit icon field
|
|
10
|
+
|
|
11
|
+
## 3.11.1
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#166969](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/166969)
|
|
16
|
+
[`ba7fe3ec68dad`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/ba7fe3ec68dad) -
|
|
17
|
+
Feature flag removed - platform.linking-platform.datasource-assets_add_version_parameter
|
|
18
|
+
|
|
3
19
|
## 3.11.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
|
@@ -15,7 +15,6 @@ var _analyticsNext = require("@atlaskit/analytics-next");
|
|
|
15
15
|
var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
|
|
16
16
|
var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
|
|
17
17
|
var _modalDialog = require("@atlaskit/modal-dialog");
|
|
18
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
19
18
|
var _analytics = require("../../../analytics");
|
|
20
19
|
var _constants = require("../../../analytics/constants");
|
|
21
20
|
var _types = require("../../../analytics/types");
|
|
@@ -67,9 +66,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
67
66
|
schemaId = _useState4[0],
|
|
68
67
|
setSchemaId = _useState4[1];
|
|
69
68
|
var apiVersion = initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.version;
|
|
70
|
-
var _useState5 = (0, _react.useState)(
|
|
71
|
-
// eslint-disable-next-line @atlaskit/platform/no-preconditioning
|
|
72
|
-
(0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
|
|
69
|
+
var _useState5 = (0, _react.useState)(apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
|
|
73
70
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
74
71
|
visibleColumnKeys = _useState6[0],
|
|
75
72
|
setVisibleColumnKeys = _useState6[1];
|
|
@@ -124,13 +121,12 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
124
121
|
/* ------------------------------ END PERMISSIONS ------------------------------ */
|
|
125
122
|
|
|
126
123
|
var parameters = (0, _react.useMemo)(function () {
|
|
127
|
-
return
|
|
124
|
+
return {
|
|
128
125
|
aql: aql || '',
|
|
129
126
|
schemaId: schemaId || '',
|
|
130
|
-
workspaceId: workspaceId || ''
|
|
131
|
-
}, (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-assets_add_version_parameter') ? {
|
|
127
|
+
workspaceId: workspaceId || '',
|
|
132
128
|
version: VERSION_TWO
|
|
133
|
-
}
|
|
129
|
+
};
|
|
134
130
|
}, [aql, schemaId, workspaceId]);
|
|
135
131
|
var isParametersSet = !!(aql && workspaceId && schemaId);
|
|
136
132
|
var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)({
|
|
@@ -213,13 +209,8 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
213
209
|
setIsNewSearch(false);
|
|
214
210
|
}, []);
|
|
215
211
|
(0, _react.useEffect)(function () {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
219
|
-
} else {
|
|
220
|
-
var _newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
|
|
221
|
-
setVisibleColumnKeys(_newVisibleColumnKeys);
|
|
222
|
-
}
|
|
212
|
+
var newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
|
|
213
|
+
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
223
214
|
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion]);
|
|
224
215
|
(0, _react.useEffect)(function () {
|
|
225
216
|
if (isNewSearch) {
|
|
@@ -268,13 +259,12 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
268
259
|
} else {
|
|
269
260
|
onInsert((0, _adf.buildDatasourceAdf)({
|
|
270
261
|
id: datasourceId,
|
|
271
|
-
parameters:
|
|
262
|
+
parameters: {
|
|
272
263
|
workspaceId: workspaceId,
|
|
273
264
|
aql: aql,
|
|
274
|
-
schemaId: schemaId
|
|
275
|
-
}, (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-assets_add_version_parameter') ? {
|
|
265
|
+
schemaId: schemaId,
|
|
276
266
|
version: VERSION_TWO
|
|
277
|
-
}
|
|
267
|
+
},
|
|
278
268
|
views: [{
|
|
279
269
|
type: 'table',
|
|
280
270
|
properties: {
|
|
@@ -13,7 +13,11 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _linkingTypes = require("@atlaskit/linking-types");
|
|
15
15
|
var _select = _interopRequireDefault(require("@atlaskit/select"));
|
|
16
|
+
var _ufoExperiences = require("../../../../analytics/ufoExperiences");
|
|
17
|
+
var _datasourceExperienceId = require("../../../../contexts/datasource-experience-id");
|
|
18
|
+
var _useDatasourceTableFlag = require("../../../../hooks/useDatasourceTableFlag");
|
|
16
19
|
var _icon = require("../../shared-components/icon");
|
|
20
|
+
var _inlineEdit = require("../../table-cell-content/inline-edit");
|
|
17
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
23
|
// FilterOptionOption is used in the filterOption function which is part of the public API, but the type itself is not exported
|
|
@@ -28,7 +32,23 @@ var IconEditType = function IconEditType(props) {
|
|
|
28
32
|
executeFetch = props.executeFetch;
|
|
29
33
|
var _usePriorityOptions = usePriorityOptions(currentValue, executeFetch),
|
|
30
34
|
options = _usePriorityOptions.options,
|
|
31
|
-
isLoading = _usePriorityOptions.isLoading
|
|
35
|
+
isLoading = _usePriorityOptions.isLoading,
|
|
36
|
+
hasFailed = _usePriorityOptions.hasFailed;
|
|
37
|
+
var experienceId = (0, _datasourceExperienceId.useDatasourceExperienceId)();
|
|
38
|
+
(0, _react.useEffect)(function () {
|
|
39
|
+
if (!experienceId) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (hasFailed) {
|
|
43
|
+
(0, _ufoExperiences.failUfoExperience)({
|
|
44
|
+
name: _inlineEdit.InlineEditUFOExperience
|
|
45
|
+
}, experienceId);
|
|
46
|
+
} else if (!isLoading) {
|
|
47
|
+
(0, _ufoExperiences.succeedUfoExperience)({
|
|
48
|
+
name: _inlineEdit.InlineEditUFOExperience
|
|
49
|
+
}, experienceId);
|
|
50
|
+
}
|
|
51
|
+
}, [experienceId, isLoading, hasFailed]);
|
|
32
52
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_select.default, (0, _extends2.default)({}, props, {
|
|
33
53
|
testId: "inline-edit-priority",
|
|
34
54
|
autoFocus: true,
|
|
@@ -66,30 +86,45 @@ var filterOption = function filterOption(option, inputValue) {
|
|
|
66
86
|
var usePriorityOptions = function usePriorityOptions(currentValue, executeFetch) {
|
|
67
87
|
var _useState = (0, _react.useState)({
|
|
68
88
|
isLoading: true,
|
|
69
|
-
options: []
|
|
89
|
+
options: [],
|
|
90
|
+
hasFailed: false
|
|
70
91
|
}),
|
|
71
92
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
72
93
|
_useState2$ = _useState2[0],
|
|
73
94
|
options = _useState2$.options,
|
|
74
95
|
isLoading = _useState2$.isLoading,
|
|
96
|
+
hasFailed = _useState2$.hasFailed,
|
|
75
97
|
setOptions = _useState2[1];
|
|
98
|
+
var _useDatasourceTableFl = (0, _useDatasourceTableFlag.useDatasourceTableFlag)({
|
|
99
|
+
isFetchAction: true
|
|
100
|
+
}),
|
|
101
|
+
showErrorFlag = _useDatasourceTableFl.showErrorFlag;
|
|
76
102
|
(0, _react.useEffect)(function () {
|
|
77
103
|
var isMounted = true;
|
|
78
104
|
loadOptions(currentValue, executeFetch).then(function (options) {
|
|
79
105
|
if (isMounted) {
|
|
80
106
|
setOptions({
|
|
81
107
|
isLoading: false,
|
|
82
|
-
options: options
|
|
108
|
+
options: options,
|
|
109
|
+
hasFailed: false
|
|
83
110
|
});
|
|
84
111
|
}
|
|
112
|
+
}).catch(function (err) {
|
|
113
|
+
showErrorFlag();
|
|
114
|
+
setOptions({
|
|
115
|
+
isLoading: false,
|
|
116
|
+
options: [],
|
|
117
|
+
hasFailed: true
|
|
118
|
+
});
|
|
85
119
|
});
|
|
86
120
|
return function () {
|
|
87
121
|
isMounted = false;
|
|
88
122
|
};
|
|
89
|
-
}, [currentValue, executeFetch]);
|
|
123
|
+
}, [currentValue, executeFetch, showErrorFlag]);
|
|
90
124
|
return {
|
|
91
125
|
options: options,
|
|
92
|
-
isLoading: isLoading
|
|
126
|
+
isLoading: isLoading,
|
|
127
|
+
hasFailed: hasFailed
|
|
93
128
|
};
|
|
94
129
|
};
|
|
95
130
|
|
|
@@ -114,14 +149,20 @@ var loadOptions = /*#__PURE__*/function () {
|
|
|
114
149
|
_yield$executeFetch = _context.sent;
|
|
115
150
|
operationStatus = _yield$executeFetch.operationStatus;
|
|
116
151
|
entities = _yield$executeFetch.entities;
|
|
117
|
-
if (!(operationStatus === _linkingTypes.ActionOperationStatus.
|
|
152
|
+
if (!(operationStatus === _linkingTypes.ActionOperationStatus.FAILURE)) {
|
|
118
153
|
_context.next = 9;
|
|
119
154
|
break;
|
|
120
155
|
}
|
|
121
|
-
|
|
156
|
+
throw new Error('Failed to fetch icon options');
|
|
122
157
|
case 9:
|
|
158
|
+
if (!(operationStatus === _linkingTypes.ActionOperationStatus.SUCCESS && entities)) {
|
|
159
|
+
_context.next = 11;
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
return _context.abrupt("return", entities);
|
|
163
|
+
case 11:
|
|
123
164
|
return _context.abrupt("return", []);
|
|
124
|
-
case
|
|
165
|
+
case 12:
|
|
125
166
|
case "end":
|
|
126
167
|
return _context.stop();
|
|
127
168
|
}
|
|
@@ -12,7 +12,6 @@ import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
|
12
12
|
import Button from '@atlaskit/button/standard-button';
|
|
13
13
|
import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
|
|
14
14
|
import { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
|
|
15
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
16
15
|
import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics';
|
|
17
16
|
import { componentMetadata } from '../../../analytics/constants';
|
|
18
17
|
import { DatasourceAction, DatasourceDisplay, DatasourceSearchMethod } from '../../../analytics/types';
|
|
@@ -55,9 +54,7 @@ const PlainAssetsConfigModal = props => {
|
|
|
55
54
|
const [aql, setAql] = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.aql);
|
|
56
55
|
const [schemaId, setSchemaId] = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId);
|
|
57
56
|
const apiVersion = initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.version;
|
|
58
|
-
const [visibleColumnKeys, setVisibleColumnKeys] = useState(
|
|
59
|
-
// eslint-disable-next-line @atlaskit/platform/no-preconditioning
|
|
60
|
-
fg('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys);
|
|
57
|
+
const [visibleColumnKeys, setVisibleColumnKeys] = useState(apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys);
|
|
61
58
|
const [isNewSearch, setIsNewSearch] = useState(false);
|
|
62
59
|
const [errorState, setErrorState] = useState();
|
|
63
60
|
const {
|
|
@@ -108,9 +105,7 @@ const PlainAssetsConfigModal = props => {
|
|
|
108
105
|
aql: aql || '',
|
|
109
106
|
schemaId: schemaId || '',
|
|
110
107
|
workspaceId: workspaceId || '',
|
|
111
|
-
|
|
112
|
-
version: VERSION_TWO
|
|
113
|
-
} : {})
|
|
108
|
+
version: VERSION_TWO
|
|
114
109
|
}), [aql, schemaId, workspaceId]);
|
|
115
110
|
const isParametersSet = !!(aql && workspaceId && schemaId);
|
|
116
111
|
const {
|
|
@@ -194,13 +189,8 @@ const PlainAssetsConfigModal = props => {
|
|
|
194
189
|
setIsNewSearch(false);
|
|
195
190
|
}, []);
|
|
196
191
|
useEffect(() => {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
200
|
-
} else {
|
|
201
|
-
const newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
|
|
202
|
-
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
203
|
-
}
|
|
192
|
+
const newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
|
|
193
|
+
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
204
194
|
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion]);
|
|
205
195
|
useEffect(() => {
|
|
206
196
|
if (isNewSearch) {
|
|
@@ -253,9 +243,7 @@ const PlainAssetsConfigModal = props => {
|
|
|
253
243
|
workspaceId,
|
|
254
244
|
aql,
|
|
255
245
|
schemaId,
|
|
256
|
-
|
|
257
|
-
version: VERSION_TWO
|
|
258
|
-
} : {})
|
|
246
|
+
version: VERSION_TWO
|
|
259
247
|
},
|
|
260
248
|
views: [{
|
|
261
249
|
type: 'table',
|
|
@@ -5,7 +5,11 @@ import { ActionOperationStatus } from '@atlaskit/linking-types';
|
|
|
5
5
|
// eslint-disable-next-line import/no-extraneous-dependencies,no-restricted-imports
|
|
6
6
|
|
|
7
7
|
import Select from '@atlaskit/select';
|
|
8
|
+
import { failUfoExperience, succeedUfoExperience } from '../../../../analytics/ufoExperiences';
|
|
9
|
+
import { useDatasourceExperienceId } from '../../../../contexts/datasource-experience-id';
|
|
10
|
+
import { useDatasourceTableFlag } from '../../../../hooks/useDatasourceTableFlag';
|
|
8
11
|
import { SharedIconComponent } from '../../shared-components/icon';
|
|
12
|
+
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
9
13
|
/**
|
|
10
14
|
* Should be gated by FF rollout of platform-datasources-enable-two-way-sync-priority
|
|
11
15
|
*/
|
|
@@ -17,8 +21,24 @@ const IconEditType = props => {
|
|
|
17
21
|
} = props;
|
|
18
22
|
const {
|
|
19
23
|
options,
|
|
20
|
-
isLoading
|
|
24
|
+
isLoading,
|
|
25
|
+
hasFailed
|
|
21
26
|
} = usePriorityOptions(currentValue, executeFetch);
|
|
27
|
+
const experienceId = useDatasourceExperienceId();
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (!experienceId) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (hasFailed) {
|
|
33
|
+
failUfoExperience({
|
|
34
|
+
name: InlineEditUFOExperience
|
|
35
|
+
}, experienceId);
|
|
36
|
+
} else if (!isLoading) {
|
|
37
|
+
succeedUfoExperience({
|
|
38
|
+
name: InlineEditUFOExperience
|
|
39
|
+
}, experienceId);
|
|
40
|
+
}
|
|
41
|
+
}, [experienceId, isLoading, hasFailed]);
|
|
22
42
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Select, _extends({}, props, {
|
|
23
43
|
testId: "inline-edit-priority",
|
|
24
44
|
autoFocus: true,
|
|
@@ -49,10 +69,17 @@ const filterOption = (option, inputValue) => option.label.toLowerCase().includes
|
|
|
49
69
|
const usePriorityOptions = (currentValue, executeFetch) => {
|
|
50
70
|
const [{
|
|
51
71
|
options,
|
|
52
|
-
isLoading
|
|
72
|
+
isLoading,
|
|
73
|
+
hasFailed
|
|
53
74
|
}, setOptions] = useState({
|
|
54
75
|
isLoading: true,
|
|
55
|
-
options: []
|
|
76
|
+
options: [],
|
|
77
|
+
hasFailed: false
|
|
78
|
+
});
|
|
79
|
+
const {
|
|
80
|
+
showErrorFlag
|
|
81
|
+
} = useDatasourceTableFlag({
|
|
82
|
+
isFetchAction: true
|
|
56
83
|
});
|
|
57
84
|
useEffect(() => {
|
|
58
85
|
let isMounted = true;
|
|
@@ -60,17 +87,26 @@ const usePriorityOptions = (currentValue, executeFetch) => {
|
|
|
60
87
|
if (isMounted) {
|
|
61
88
|
setOptions({
|
|
62
89
|
isLoading: false,
|
|
63
|
-
options
|
|
90
|
+
options,
|
|
91
|
+
hasFailed: false
|
|
64
92
|
});
|
|
65
93
|
}
|
|
94
|
+
}).catch(err => {
|
|
95
|
+
showErrorFlag();
|
|
96
|
+
setOptions({
|
|
97
|
+
isLoading: false,
|
|
98
|
+
options: [],
|
|
99
|
+
hasFailed: true
|
|
100
|
+
});
|
|
66
101
|
});
|
|
67
102
|
return () => {
|
|
68
103
|
isMounted = false;
|
|
69
104
|
};
|
|
70
|
-
}, [currentValue, executeFetch]);
|
|
105
|
+
}, [currentValue, executeFetch, showErrorFlag]);
|
|
71
106
|
return {
|
|
72
107
|
options,
|
|
73
|
-
isLoading
|
|
108
|
+
isLoading,
|
|
109
|
+
hasFailed
|
|
74
110
|
};
|
|
75
111
|
};
|
|
76
112
|
|
|
@@ -85,6 +121,9 @@ const loadOptions = async (_currentValue, executeFetch) => {
|
|
|
85
121
|
operationStatus,
|
|
86
122
|
entities
|
|
87
123
|
} = await executeFetch({});
|
|
124
|
+
if (operationStatus === ActionOperationStatus.FAILURE) {
|
|
125
|
+
throw new Error('Failed to fetch icon options');
|
|
126
|
+
}
|
|
88
127
|
if (operationStatus === ActionOperationStatus.SUCCESS && entities) {
|
|
89
128
|
// Map entities here if the backend type is different from the type required by the select
|
|
90
129
|
return entities;
|
|
@@ -16,7 +16,6 @@ import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
|
16
16
|
import Button from '@atlaskit/button/standard-button';
|
|
17
17
|
import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
|
|
18
18
|
import { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
|
|
19
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
20
19
|
import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics';
|
|
21
20
|
import { componentMetadata } from '../../../analytics/constants';
|
|
22
21
|
import { DatasourceAction, DatasourceDisplay, DatasourceSearchMethod } from '../../../analytics/types';
|
|
@@ -63,9 +62,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
63
62
|
schemaId = _useState4[0],
|
|
64
63
|
setSchemaId = _useState4[1];
|
|
65
64
|
var apiVersion = initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.version;
|
|
66
|
-
var _useState5 = useState(
|
|
67
|
-
// eslint-disable-next-line @atlaskit/platform/no-preconditioning
|
|
68
|
-
fg('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
|
|
65
|
+
var _useState5 = useState(apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
|
|
69
66
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
70
67
|
visibleColumnKeys = _useState6[0],
|
|
71
68
|
setVisibleColumnKeys = _useState6[1];
|
|
@@ -120,13 +117,12 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
120
117
|
/* ------------------------------ END PERMISSIONS ------------------------------ */
|
|
121
118
|
|
|
122
119
|
var parameters = useMemo(function () {
|
|
123
|
-
return
|
|
120
|
+
return {
|
|
124
121
|
aql: aql || '',
|
|
125
122
|
schemaId: schemaId || '',
|
|
126
|
-
workspaceId: workspaceId || ''
|
|
127
|
-
}, fg('platform.linking-platform.datasource-assets_add_version_parameter') ? {
|
|
123
|
+
workspaceId: workspaceId || '',
|
|
128
124
|
version: VERSION_TWO
|
|
129
|
-
}
|
|
125
|
+
};
|
|
130
126
|
}, [aql, schemaId, workspaceId]);
|
|
131
127
|
var isParametersSet = !!(aql && workspaceId && schemaId);
|
|
132
128
|
var _useDatasourceTableSt = useDatasourceTableState({
|
|
@@ -209,13 +205,8 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
209
205
|
setIsNewSearch(false);
|
|
210
206
|
}, []);
|
|
211
207
|
useEffect(function () {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
215
|
-
} else {
|
|
216
|
-
var _newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
|
|
217
|
-
setVisibleColumnKeys(_newVisibleColumnKeys);
|
|
218
|
-
}
|
|
208
|
+
var newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
|
|
209
|
+
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
219
210
|
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion]);
|
|
220
211
|
useEffect(function () {
|
|
221
212
|
if (isNewSearch) {
|
|
@@ -264,13 +255,12 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
264
255
|
} else {
|
|
265
256
|
onInsert(buildDatasourceAdf({
|
|
266
257
|
id: datasourceId,
|
|
267
|
-
parameters:
|
|
258
|
+
parameters: {
|
|
268
259
|
workspaceId: workspaceId,
|
|
269
260
|
aql: aql,
|
|
270
|
-
schemaId: schemaId
|
|
271
|
-
}, fg('platform.linking-platform.datasource-assets_add_version_parameter') ? {
|
|
261
|
+
schemaId: schemaId,
|
|
272
262
|
version: VERSION_TWO
|
|
273
|
-
}
|
|
263
|
+
},
|
|
274
264
|
views: [{
|
|
275
265
|
type: 'table',
|
|
276
266
|
properties: {
|
|
@@ -8,7 +8,11 @@ import { ActionOperationStatus } from '@atlaskit/linking-types';
|
|
|
8
8
|
// eslint-disable-next-line import/no-extraneous-dependencies,no-restricted-imports
|
|
9
9
|
|
|
10
10
|
import Select from '@atlaskit/select';
|
|
11
|
+
import { failUfoExperience, succeedUfoExperience } from '../../../../analytics/ufoExperiences';
|
|
12
|
+
import { useDatasourceExperienceId } from '../../../../contexts/datasource-experience-id';
|
|
13
|
+
import { useDatasourceTableFlag } from '../../../../hooks/useDatasourceTableFlag';
|
|
11
14
|
import { SharedIconComponent } from '../../shared-components/icon';
|
|
15
|
+
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
12
16
|
/**
|
|
13
17
|
* Should be gated by FF rollout of platform-datasources-enable-two-way-sync-priority
|
|
14
18
|
*/
|
|
@@ -18,7 +22,23 @@ var IconEditType = function IconEditType(props) {
|
|
|
18
22
|
executeFetch = props.executeFetch;
|
|
19
23
|
var _usePriorityOptions = usePriorityOptions(currentValue, executeFetch),
|
|
20
24
|
options = _usePriorityOptions.options,
|
|
21
|
-
isLoading = _usePriorityOptions.isLoading
|
|
25
|
+
isLoading = _usePriorityOptions.isLoading,
|
|
26
|
+
hasFailed = _usePriorityOptions.hasFailed;
|
|
27
|
+
var experienceId = useDatasourceExperienceId();
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (!experienceId) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (hasFailed) {
|
|
33
|
+
failUfoExperience({
|
|
34
|
+
name: InlineEditUFOExperience
|
|
35
|
+
}, experienceId);
|
|
36
|
+
} else if (!isLoading) {
|
|
37
|
+
succeedUfoExperience({
|
|
38
|
+
name: InlineEditUFOExperience
|
|
39
|
+
}, experienceId);
|
|
40
|
+
}
|
|
41
|
+
}, [experienceId, isLoading, hasFailed]);
|
|
22
42
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Select, _extends({}, props, {
|
|
23
43
|
testId: "inline-edit-priority",
|
|
24
44
|
autoFocus: true,
|
|
@@ -56,30 +76,45 @@ var filterOption = function filterOption(option, inputValue) {
|
|
|
56
76
|
var usePriorityOptions = function usePriorityOptions(currentValue, executeFetch) {
|
|
57
77
|
var _useState = useState({
|
|
58
78
|
isLoading: true,
|
|
59
|
-
options: []
|
|
79
|
+
options: [],
|
|
80
|
+
hasFailed: false
|
|
60
81
|
}),
|
|
61
82
|
_useState2 = _slicedToArray(_useState, 2),
|
|
62
83
|
_useState2$ = _useState2[0],
|
|
63
84
|
options = _useState2$.options,
|
|
64
85
|
isLoading = _useState2$.isLoading,
|
|
86
|
+
hasFailed = _useState2$.hasFailed,
|
|
65
87
|
setOptions = _useState2[1];
|
|
88
|
+
var _useDatasourceTableFl = useDatasourceTableFlag({
|
|
89
|
+
isFetchAction: true
|
|
90
|
+
}),
|
|
91
|
+
showErrorFlag = _useDatasourceTableFl.showErrorFlag;
|
|
66
92
|
useEffect(function () {
|
|
67
93
|
var isMounted = true;
|
|
68
94
|
loadOptions(currentValue, executeFetch).then(function (options) {
|
|
69
95
|
if (isMounted) {
|
|
70
96
|
setOptions({
|
|
71
97
|
isLoading: false,
|
|
72
|
-
options: options
|
|
98
|
+
options: options,
|
|
99
|
+
hasFailed: false
|
|
73
100
|
});
|
|
74
101
|
}
|
|
102
|
+
}).catch(function (err) {
|
|
103
|
+
showErrorFlag();
|
|
104
|
+
setOptions({
|
|
105
|
+
isLoading: false,
|
|
106
|
+
options: [],
|
|
107
|
+
hasFailed: true
|
|
108
|
+
});
|
|
75
109
|
});
|
|
76
110
|
return function () {
|
|
77
111
|
isMounted = false;
|
|
78
112
|
};
|
|
79
|
-
}, [currentValue, executeFetch]);
|
|
113
|
+
}, [currentValue, executeFetch, showErrorFlag]);
|
|
80
114
|
return {
|
|
81
115
|
options: options,
|
|
82
|
-
isLoading: isLoading
|
|
116
|
+
isLoading: isLoading,
|
|
117
|
+
hasFailed: hasFailed
|
|
83
118
|
};
|
|
84
119
|
};
|
|
85
120
|
|
|
@@ -104,14 +139,20 @@ var loadOptions = /*#__PURE__*/function () {
|
|
|
104
139
|
_yield$executeFetch = _context.sent;
|
|
105
140
|
operationStatus = _yield$executeFetch.operationStatus;
|
|
106
141
|
entities = _yield$executeFetch.entities;
|
|
107
|
-
if (!(operationStatus === ActionOperationStatus.
|
|
142
|
+
if (!(operationStatus === ActionOperationStatus.FAILURE)) {
|
|
108
143
|
_context.next = 9;
|
|
109
144
|
break;
|
|
110
145
|
}
|
|
111
|
-
|
|
146
|
+
throw new Error('Failed to fetch icon options');
|
|
112
147
|
case 9:
|
|
148
|
+
if (!(operationStatus === ActionOperationStatus.SUCCESS && entities)) {
|
|
149
|
+
_context.next = 11;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
return _context.abrupt("return", entities);
|
|
153
|
+
case 11:
|
|
113
154
|
return _context.abrupt("return", []);
|
|
114
|
-
case
|
|
155
|
+
case 12:
|
|
115
156
|
case "end":
|
|
116
157
|
return _context.stop();
|
|
117
158
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.12.0",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
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.25.0",
|
|
52
52
|
"@atlaskit/icon-object": "^6.7.0",
|
|
53
53
|
"@atlaskit/image": "^1.3.0",
|
|
54
54
|
"@atlaskit/inline-edit": "^13.7.0",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll": "^1.2.0",
|
|
72
72
|
"@atlaskit/pragmatic-drag-and-drop-react-drop-indicator": "^1.1.0",
|
|
73
73
|
"@atlaskit/primitives": "^13.2.0",
|
|
74
|
-
"@atlaskit/react-select": "^1.
|
|
74
|
+
"@atlaskit/react-select": "^1.4.0",
|
|
75
75
|
"@atlaskit/select": "^18.5.0",
|
|
76
76
|
"@atlaskit/smart-card": "^30.3.0",
|
|
77
77
|
"@atlaskit/smart-user-picker": "6.11.2",
|
|
@@ -171,9 +171,6 @@
|
|
|
171
171
|
"platform-datasources-enable-two-way-sync-priority": {
|
|
172
172
|
"type": "boolean"
|
|
173
173
|
},
|
|
174
|
-
"platform.linking-platform.datasource-assets_add_version_parameter": {
|
|
175
|
-
"type": "boolean"
|
|
176
|
-
},
|
|
177
174
|
"platform.linking-platform.datasource-assets_update_refresh_button_dt3qk": {
|
|
178
175
|
"type": "boolean"
|
|
179
176
|
},
|