@atlaskit/link-datasource 6.1.12 → 6.2.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 +9 -0
- package/dist/cjs/hooks/useAssetsClient.js +63 -33
- package/dist/cjs/services/cmdbService.js +76 -40
- package/dist/cjs/services/getMeta.js +33 -0
- package/dist/cjs/types/assets/types.js +5 -0
- package/dist/cjs/ui/assets-modal/modal/index.js +2 -2
- package/dist/cjs/ui/confluence-search-modal/modal/index.js +2 -2
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +2 -2
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +2 -2
- package/dist/es2019/hooks/useAssetsClient.js +22 -3
- package/dist/es2019/services/cmdbService.js +16 -0
- package/dist/es2019/services/getMeta.js +27 -0
- package/dist/es2019/types/assets/types.js +5 -0
- package/dist/es2019/ui/assets-modal/modal/index.js +1 -1
- package/dist/es2019/ui/confluence-search-modal/modal/index.js +1 -1
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +1 -1
- package/dist/es2019/ui/jira-issues-modal/modal/index.js +1 -1
- package/dist/esm/hooks/useAssetsClient.js +64 -34
- package/dist/esm/services/cmdbService.js +75 -39
- package/dist/esm/services/getMeta.js +27 -0
- package/dist/esm/types/assets/types.js +5 -0
- package/dist/esm/ui/assets-modal/modal/index.js +1 -1
- package/dist/esm/ui/confluence-search-modal/modal/index.js +1 -1
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +1 -1
- package/dist/esm/ui/jira-issues-modal/modal/index.js +1 -1
- package/dist/types/common/utils/locale/fetch-messages-for-locale.d.ts +1 -1
- package/dist/types/services/cmdbService.d.ts +3 -0
- package/dist/types/services/getMeta.d.ts +5 -0
- package/dist/types/types/assets/types.d.ts +9 -0
- package/examples-helpers/buildAssetsIssuesTable.tsx +1 -1
- package/examples-helpers/buildConfluenceSearchTable.tsx +1 -1
- package/examples-helpers/buildIssueLikeTable.tsx +1 -1
- package/examples-helpers/buildIssueLikeTableLoadingError.tsx +1 -1
- package/examples-helpers/buildJiraIssuesTable.tsx +1 -1
- package/package.json +7 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 6.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`fea8ee4d97d15`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/fea8ee4d97d15) -
|
|
8
|
+
Assets macro in Confluence now resolves the primary Unit workspace on non-primary sites via an
|
|
9
|
+
in-package unit-aware resolver, behind the astral_units_workspace_host_resolver gate (default
|
|
10
|
+
off). Gate-off and single-site behaviour is unchanged.
|
|
11
|
+
|
|
3
12
|
## 6.1.12
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -9,8 +9,10 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
var _react = require("react");
|
|
12
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
13
|
var _analytics = require("../analytics");
|
|
13
14
|
var _cmdbService = require("../services/cmdbService");
|
|
15
|
+
var _getMeta2 = require("../services/getMeta");
|
|
14
16
|
var handleAssetsClientErrors = function handleAssetsClientErrors(errorSetter, error) {
|
|
15
17
|
if (error instanceof Error) {
|
|
16
18
|
errorSetter(error);
|
|
@@ -19,6 +21,7 @@ var handleAssetsClientErrors = function handleAssetsClientErrors(errorSetter, er
|
|
|
19
21
|
}
|
|
20
22
|
};
|
|
21
23
|
var useAssetsClient = exports.useAssetsClient = function useAssetsClient(initialParameters) {
|
|
24
|
+
var _getMeta;
|
|
22
25
|
var _useState = (0, _react.useState)(false),
|
|
23
26
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
24
27
|
loading = _useState2[0],
|
|
@@ -54,6 +57,9 @@ var useAssetsClient = exports.useAssetsClient = function useAssetsClient(initial
|
|
|
54
57
|
var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
|
|
55
58
|
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
56
59
|
|
|
60
|
+
// cloudId resolved from <meta name="ajs-cloud-id"> rendered by the host page.
|
|
61
|
+
var cloudId = (_getMeta = (0, _getMeta2.getMeta)('ajs-cloud-id')) !== null && _getMeta !== void 0 ? _getMeta : '';
|
|
62
|
+
|
|
57
63
|
/*
|
|
58
64
|
* We wrap this in nested try/catch blocks because we want to handle
|
|
59
65
|
* workspaceError/existingObjectSchemaError/objectSchemasError differently
|
|
@@ -61,67 +67,91 @@ var useAssetsClient = exports.useAssetsClient = function useAssetsClient(initial
|
|
|
61
67
|
*/
|
|
62
68
|
(0, _react.useEffect)(function () {
|
|
63
69
|
(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
64
|
-
var _workspaceId, fetchedObjectSchema, fetchedObjectSchemasResponse, _t, _t2, _t3;
|
|
70
|
+
var _workspaceId, _yield$resolvePrimary, fetchedObjectSchema, fetchedObjectSchemasResponse, _t, _t2, _t3, _t4;
|
|
65
71
|
return _regenerator.default.wrap(function (_context) {
|
|
66
72
|
while (1) switch (_context.prev = _context.next) {
|
|
67
73
|
case 0:
|
|
68
74
|
setLoading(true);
|
|
69
75
|
setWorkspaceError(undefined);
|
|
70
76
|
_context.prev = 1;
|
|
71
|
-
|
|
77
|
+
if (!(cloudId && (0, _platformFeatureFlags.fg)('astral_units_workspace_host_resolver'))) {
|
|
78
|
+
_context.next = 7;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
_context.prev = 2;
|
|
82
|
+
_context.next = 3;
|
|
83
|
+
return (0, _cmdbService.resolvePrimaryWorkspace)(cloudId);
|
|
84
|
+
case 3:
|
|
85
|
+
_yield$resolvePrimary = _context.sent;
|
|
86
|
+
_workspaceId = _yield$resolvePrimary.workspaceId;
|
|
87
|
+
_context.next = 6;
|
|
88
|
+
break;
|
|
89
|
+
case 4:
|
|
90
|
+
_context.prev = 4;
|
|
91
|
+
_t = _context["catch"](2);
|
|
92
|
+
_context.next = 5;
|
|
93
|
+
return (0, _cmdbService.getWorkspaceId)(fireEvent);
|
|
94
|
+
case 5:
|
|
95
|
+
_workspaceId = _context.sent;
|
|
96
|
+
case 6:
|
|
97
|
+
_context.next = 9;
|
|
98
|
+
break;
|
|
99
|
+
case 7:
|
|
100
|
+
_context.next = 8;
|
|
72
101
|
return (0, _cmdbService.getWorkspaceId)(fireEvent);
|
|
73
|
-
case
|
|
102
|
+
case 8:
|
|
74
103
|
_workspaceId = _context.sent;
|
|
104
|
+
case 9:
|
|
75
105
|
setWorkspaceId(_workspaceId);
|
|
76
106
|
// Check schema from initial parameters still exists and fetch name/permissions for schema select
|
|
77
107
|
if (!(initialParameters !== null && initialParameters !== void 0 && initialParameters.schemaId)) {
|
|
78
|
-
_context.next =
|
|
108
|
+
_context.next = 13;
|
|
79
109
|
break;
|
|
80
110
|
}
|
|
81
|
-
_context.prev =
|
|
82
|
-
_context.next =
|
|
111
|
+
_context.prev = 10;
|
|
112
|
+
_context.next = 11;
|
|
83
113
|
return (0, _cmdbService.fetchObjectSchema)(_workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId, fireEvent);
|
|
84
|
-
case
|
|
114
|
+
case 11:
|
|
85
115
|
fetchedObjectSchema = _context.sent;
|
|
86
116
|
setExistingObjectSchema(fetchedObjectSchema);
|
|
87
|
-
_context.next =
|
|
117
|
+
_context.next = 13;
|
|
88
118
|
break;
|
|
89
|
-
case
|
|
90
|
-
_context.prev =
|
|
91
|
-
|
|
92
|
-
handleAssetsClientErrors(setExistingObjectSchemaError,
|
|
93
|
-
case
|
|
94
|
-
_context.prev =
|
|
95
|
-
_context.next =
|
|
119
|
+
case 12:
|
|
120
|
+
_context.prev = 12;
|
|
121
|
+
_t2 = _context["catch"](10);
|
|
122
|
+
handleAssetsClientErrors(setExistingObjectSchemaError, _t2);
|
|
123
|
+
case 13:
|
|
124
|
+
_context.prev = 13;
|
|
125
|
+
_context.next = 14;
|
|
96
126
|
return (0, _cmdbService.fetchObjectSchemas)(_workspaceId, undefined, fireEvent);
|
|
97
|
-
case
|
|
127
|
+
case 14:
|
|
98
128
|
fetchedObjectSchemasResponse = _context.sent;
|
|
99
129
|
setObjectSchemas(fetchedObjectSchemasResponse.values);
|
|
100
130
|
setTotalObjectSchemas(fetchedObjectSchemasResponse.total);
|
|
101
|
-
_context.next =
|
|
131
|
+
_context.next = 16;
|
|
102
132
|
break;
|
|
103
|
-
case
|
|
104
|
-
_context.prev =
|
|
105
|
-
|
|
106
|
-
handleAssetsClientErrors(setObjectSchemasError,
|
|
107
|
-
case
|
|
108
|
-
_context.next =
|
|
133
|
+
case 15:
|
|
134
|
+
_context.prev = 15;
|
|
135
|
+
_t3 = _context["catch"](13);
|
|
136
|
+
handleAssetsClientErrors(setObjectSchemasError, _t3);
|
|
137
|
+
case 16:
|
|
138
|
+
_context.next = 18;
|
|
109
139
|
break;
|
|
110
|
-
case
|
|
111
|
-
_context.prev =
|
|
112
|
-
|
|
113
|
-
handleAssetsClientErrors(setWorkspaceError,
|
|
114
|
-
case
|
|
115
|
-
_context.prev =
|
|
140
|
+
case 17:
|
|
141
|
+
_context.prev = 17;
|
|
142
|
+
_t4 = _context["catch"](1);
|
|
143
|
+
handleAssetsClientErrors(setWorkspaceError, _t4);
|
|
144
|
+
case 18:
|
|
145
|
+
_context.prev = 18;
|
|
116
146
|
setLoading(false);
|
|
117
|
-
return _context.finish(
|
|
118
|
-
case
|
|
147
|
+
return _context.finish(18);
|
|
148
|
+
case 19:
|
|
119
149
|
case "end":
|
|
120
150
|
return _context.stop();
|
|
121
151
|
}
|
|
122
|
-
}, _callee, null, [[1,
|
|
152
|
+
}, _callee, null, [[1, 17, 18, 19], [2, 4], [10, 12], [13, 15]]);
|
|
123
153
|
}))();
|
|
124
|
-
}, [initialParameters, fireEvent]);
|
|
154
|
+
}, [initialParameters, fireEvent, cloudId]);
|
|
125
155
|
return {
|
|
126
156
|
workspaceId: workspaceId,
|
|
127
157
|
workspaceError: workspaceError,
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.validateAql = exports.getWorkspaceId = exports.fetchObjectSchemas = exports.fetchObjectSchema = void 0;
|
|
7
|
+
exports.validateAql = exports.resolvePrimaryWorkspace = exports.getWorkspaceId = exports.fetchObjectSchemas = exports.fetchObjectSchema = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _linkingCommon = require("@atlaskit/linking-common");
|
|
@@ -53,26 +53,62 @@ var getWorkspaceId = exports.getWorkspaceId = /*#__PURE__*/function () {
|
|
|
53
53
|
return _ref.apply(this, arguments);
|
|
54
54
|
};
|
|
55
55
|
}();
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
|
|
57
|
+
// Resolves the primary Unit workspace via the unit-aware resolver, keyed by the
|
|
58
|
+
// current-site cloudId. Gated at the call-site behind
|
|
59
|
+
// `astral_units_workspace_host_resolver`.
|
|
60
|
+
var resolvePrimaryWorkspace = exports.resolvePrimaryWorkspace = /*#__PURE__*/function () {
|
|
61
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(cloudId) {
|
|
62
|
+
var url, res;
|
|
59
63
|
return _regenerator.default.wrap(function (_context2) {
|
|
60
64
|
while (1) switch (_context2.prev = _context2.next) {
|
|
65
|
+
case 0:
|
|
66
|
+
url = '/assets/internal/workspace?productContext=confluence';
|
|
67
|
+
_context2.next = 1;
|
|
68
|
+
return (0, _linkingCommon.request)('get', url, undefined, {
|
|
69
|
+
'x-atlassian-cloud-id': cloudId
|
|
70
|
+
}, [200]);
|
|
71
|
+
case 1:
|
|
72
|
+
res = _context2.sent;
|
|
73
|
+
if (res !== null && res !== void 0 && res.linkedAssetsWorkspaceId) {
|
|
74
|
+
_context2.next = 2;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
throw new Error('Assets workspace resolver returned no workspaceId');
|
|
78
|
+
case 2:
|
|
79
|
+
return _context2.abrupt("return", {
|
|
80
|
+
workspaceId: res.linkedAssetsWorkspaceId
|
|
81
|
+
});
|
|
82
|
+
case 3:
|
|
83
|
+
case "end":
|
|
84
|
+
return _context2.stop();
|
|
85
|
+
}
|
|
86
|
+
}, _callee2);
|
|
87
|
+
}));
|
|
88
|
+
return function resolvePrimaryWorkspace(_x2) {
|
|
89
|
+
return _ref2.apply(this, arguments);
|
|
90
|
+
};
|
|
91
|
+
}();
|
|
92
|
+
var validateAql = exports.validateAql = /*#__PURE__*/function () {
|
|
93
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(workspaceId, data, fireEvent) {
|
|
94
|
+
var url, response, error, _t2;
|
|
95
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
96
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
61
97
|
case 0:
|
|
62
98
|
url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/aql/validate");
|
|
63
|
-
|
|
64
|
-
|
|
99
|
+
_context3.prev = 1;
|
|
100
|
+
_context3.next = 2;
|
|
65
101
|
return (0, _linkingCommon.request)('post', url, {
|
|
66
102
|
qlQuery: data.qlQuery,
|
|
67
103
|
context: 'SMART_LINKS'
|
|
68
104
|
}, undefined, [200, 201, 202, 203, 204]);
|
|
69
105
|
case 2:
|
|
70
|
-
response =
|
|
106
|
+
response = _context3.sent;
|
|
71
107
|
fireEvent && fireEvent('operational.validateAql.success', {});
|
|
72
|
-
return
|
|
108
|
+
return _context3.abrupt("return", response);
|
|
73
109
|
case 3:
|
|
74
|
-
|
|
75
|
-
_t2 =
|
|
110
|
+
_context3.prev = 3;
|
|
111
|
+
_t2 = _context3["catch"](1);
|
|
76
112
|
error = (0, _cmdbService.mapFetchErrors)(_t2);
|
|
77
113
|
if (error instanceof _cmdbService.FetchError) {
|
|
78
114
|
fireEvent && fireEvent('operational.validateAql.failed', {
|
|
@@ -85,31 +121,31 @@ var validateAql = exports.validateAql = /*#__PURE__*/function () {
|
|
|
85
121
|
throw error;
|
|
86
122
|
case 4:
|
|
87
123
|
case "end":
|
|
88
|
-
return
|
|
124
|
+
return _context3.stop();
|
|
89
125
|
}
|
|
90
|
-
},
|
|
126
|
+
}, _callee3, null, [[1, 3]]);
|
|
91
127
|
}));
|
|
92
|
-
return function validateAql(
|
|
93
|
-
return
|
|
128
|
+
return function validateAql(_x3, _x4, _x5) {
|
|
129
|
+
return _ref3.apply(this, arguments);
|
|
94
130
|
};
|
|
95
131
|
}();
|
|
96
132
|
var fetchObjectSchema = exports.fetchObjectSchema = /*#__PURE__*/function () {
|
|
97
|
-
var
|
|
133
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(workspaceId, schemaId, fireEvent) {
|
|
98
134
|
var url, response, error, _t3;
|
|
99
|
-
return _regenerator.default.wrap(function (
|
|
100
|
-
while (1) switch (
|
|
135
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
136
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
101
137
|
case 0:
|
|
102
138
|
url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/objectschema/").concat(schemaId);
|
|
103
|
-
|
|
104
|
-
|
|
139
|
+
_context4.prev = 1;
|
|
140
|
+
_context4.next = 2;
|
|
105
141
|
return (0, _linkingCommon.request)('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
|
|
106
142
|
case 2:
|
|
107
|
-
response =
|
|
143
|
+
response = _context4.sent;
|
|
108
144
|
fireEvent && fireEvent('operational.objectSchema.success', {});
|
|
109
|
-
return
|
|
145
|
+
return _context4.abrupt("return", response);
|
|
110
146
|
case 3:
|
|
111
|
-
|
|
112
|
-
_t3 =
|
|
147
|
+
_context4.prev = 3;
|
|
148
|
+
_t3 = _context4["catch"](1);
|
|
113
149
|
error = (0, _cmdbService.mapFetchErrors)(_t3);
|
|
114
150
|
if (error instanceof _cmdbService.FetchError) {
|
|
115
151
|
fireEvent && fireEvent('operational.objectSchema.failed', {
|
|
@@ -122,35 +158,35 @@ var fetchObjectSchema = exports.fetchObjectSchema = /*#__PURE__*/function () {
|
|
|
122
158
|
throw error;
|
|
123
159
|
case 4:
|
|
124
160
|
case "end":
|
|
125
|
-
return
|
|
161
|
+
return _context4.stop();
|
|
126
162
|
}
|
|
127
|
-
},
|
|
163
|
+
}, _callee4, null, [[1, 3]]);
|
|
128
164
|
}));
|
|
129
|
-
return function fetchObjectSchema(
|
|
130
|
-
return
|
|
165
|
+
return function fetchObjectSchema(_x6, _x7, _x8) {
|
|
166
|
+
return _ref4.apply(this, arguments);
|
|
131
167
|
};
|
|
132
168
|
}();
|
|
133
169
|
var fetchObjectSchemas = exports.fetchObjectSchemas = /*#__PURE__*/function () {
|
|
134
|
-
var
|
|
170
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(workspaceId, query, fireEvent) {
|
|
135
171
|
var queryParams, url, response, error, _t4;
|
|
136
|
-
return _regenerator.default.wrap(function (
|
|
137
|
-
while (1) switch (
|
|
172
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
173
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
138
174
|
case 0:
|
|
139
175
|
queryParams = new URLSearchParams();
|
|
140
176
|
queryParams.set('maxResults', '20');
|
|
141
177
|
queryParams.set('includeCounts', 'false');
|
|
142
178
|
query && queryParams.set('query', query);
|
|
143
179
|
url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/objectschema/list?").concat(queryParams);
|
|
144
|
-
|
|
145
|
-
|
|
180
|
+
_context5.prev = 1;
|
|
181
|
+
_context5.next = 2;
|
|
146
182
|
return (0, _linkingCommon.request)('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
|
|
147
183
|
case 2:
|
|
148
|
-
response =
|
|
184
|
+
response = _context5.sent;
|
|
149
185
|
fireEvent && fireEvent('operational.objectSchemas.success', {});
|
|
150
|
-
return
|
|
186
|
+
return _context5.abrupt("return", response);
|
|
151
187
|
case 3:
|
|
152
|
-
|
|
153
|
-
_t4 =
|
|
188
|
+
_context5.prev = 3;
|
|
189
|
+
_t4 = _context5["catch"](1);
|
|
154
190
|
error = (0, _cmdbService.mapFetchErrors)(_t4);
|
|
155
191
|
if (error instanceof _cmdbService.FetchError) {
|
|
156
192
|
fireEvent && fireEvent('operational.objectSchemas.failed', {
|
|
@@ -163,11 +199,11 @@ var fetchObjectSchemas = exports.fetchObjectSchemas = /*#__PURE__*/function () {
|
|
|
163
199
|
throw error;
|
|
164
200
|
case 4:
|
|
165
201
|
case "end":
|
|
166
|
-
return
|
|
202
|
+
return _context5.stop();
|
|
167
203
|
}
|
|
168
|
-
},
|
|
204
|
+
}, _callee5, null, [[1, 3]]);
|
|
169
205
|
}));
|
|
170
|
-
return function fetchObjectSchemas(
|
|
171
|
-
return
|
|
206
|
+
return function fetchObjectSchemas(_x9, _x0, _x1) {
|
|
207
|
+
return _ref5.apply(this, arguments);
|
|
172
208
|
};
|
|
173
209
|
}();
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getMeta = exports.__clearMetaCacheForTests = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Read a `<meta name="...">` tag's content from the current document, with
|
|
9
|
+
* per-name caching. Browser-only: returns `undefined` under SSR or when absent.
|
|
10
|
+
*/
|
|
11
|
+
var cache = new Map();
|
|
12
|
+
var getMeta = exports.getMeta = function getMeta(name) {
|
|
13
|
+
var _document$querySelect, _document$querySelect2;
|
|
14
|
+
if (typeof document === 'undefined') {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
if (cache.has(name)) {
|
|
18
|
+
return cache.get(name);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// `name` is interpolated into a CSS attribute selector
|
|
22
|
+
var escapedName = typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(name) : name;
|
|
23
|
+
var value = (_document$querySelect = (_document$querySelect2 = document.querySelector("meta[name=\"".concat(escapedName, "\"]"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.getAttribute('content')) !== null && _document$querySelect !== void 0 ? _document$querySelect : undefined;
|
|
24
|
+
cache.set(name, value);
|
|
25
|
+
return value;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Test-only: clear the cache so each test starts with a clean slate.
|
|
30
|
+
*/
|
|
31
|
+
var __clearMetaCacheForTests = exports.__clearMetaCacheForTests = function __clearMetaCacheForTests() {
|
|
32
|
+
cache.clear();
|
|
33
|
+
};
|
|
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.objectSchemaKey = exports.aqlKey = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Wire shape of the unit-aware `/assets/internal/workspace` resolver response.
|
|
9
|
+
* `linkedAssetsWorkspaceId` is the workspace of the Unit's primary Assets site.
|
|
10
|
+
*/
|
|
11
|
+
|
|
7
12
|
// These are to enforce the field "name" property and keep everything typed
|
|
8
13
|
var objectSchemaKey = exports.objectSchemaKey = 'objectSchema';
|
|
9
14
|
var aqlKey = exports.aqlKey = 'aql';
|
|
@@ -17,7 +17,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
17
17
|
var _reactIntl = require("react-intl");
|
|
18
18
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
19
19
|
var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
|
|
20
|
-
var
|
|
20
|
+
var _main = _interopRequireDefault(require("@atlaskit/intl-messages-provider/main"));
|
|
21
21
|
var _modalDialog = require("@atlaskit/modal-dialog");
|
|
22
22
|
var _analytics = require("../../../analytics");
|
|
23
23
|
var _constants = require("../../../analytics/constants");
|
|
@@ -335,7 +335,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
335
335
|
actions: userInteractions.get()
|
|
336
336
|
});
|
|
337
337
|
}, [analyticsPayload, userInteractions]);
|
|
338
|
-
return /*#__PURE__*/React.createElement(
|
|
338
|
+
return /*#__PURE__*/React.createElement(_main.default, {
|
|
339
339
|
defaultMessages: _en.default,
|
|
340
340
|
loaderFn: _fetchMessagesForLocale.fetchMessagesForLocale
|
|
341
341
|
}, /*#__PURE__*/React.createElement(_modalDialog.ModalTransition, null, /*#__PURE__*/React.createElement(_datasourceModal.DatasourceModal, {
|
|
@@ -14,7 +14,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
var _reactIntl = require("react-intl");
|
|
16
16
|
var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
|
|
17
|
-
var
|
|
17
|
+
var _main = _interopRequireDefault(require("@atlaskit/intl-messages-provider/main"));
|
|
18
18
|
var _link = _interopRequireDefault(require("@atlaskit/link"));
|
|
19
19
|
var _modalDialog = require("@atlaskit/modal-dialog");
|
|
20
20
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
@@ -334,7 +334,7 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
|
|
|
334
334
|
actions: userInteractions.get()
|
|
335
335
|
};
|
|
336
336
|
}, [destinationObjectTypes, extensionKey, userInteractions]);
|
|
337
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
337
|
+
return /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
338
338
|
defaultMessages: _en.default,
|
|
339
339
|
loaderFn: _fetchMessagesForLocale.fetchMessagesForLocale
|
|
340
340
|
}, /*#__PURE__*/_react.default.createElement(_datasourceModal.DatasourceModal, {
|
|
@@ -15,7 +15,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
15
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
16
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
17
17
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
18
|
-
var
|
|
18
|
+
var _main = _interopRequireDefault(require("@atlaskit/intl-messages-provider/main"));
|
|
19
19
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
20
20
|
var _analytics = require("../../analytics");
|
|
21
21
|
var _constants = require("../../analytics/constants");
|
|
@@ -209,7 +209,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
209
209
|
url: url
|
|
210
210
|
});
|
|
211
211
|
}
|
|
212
|
-
return /*#__PURE__*/React.createElement(
|
|
212
|
+
return /*#__PURE__*/React.createElement(_main.default, {
|
|
213
213
|
defaultMessages: _en.default,
|
|
214
214
|
loaderFn: _fetchMessagesForLocale.fetchMessagesForLocale
|
|
215
215
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -15,7 +15,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
16
|
var _reactIntl = require("react-intl");
|
|
17
17
|
var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
|
|
18
|
-
var
|
|
18
|
+
var _main = _interopRequireDefault(require("@atlaskit/intl-messages-provider/main"));
|
|
19
19
|
var _link = _interopRequireDefault(require("@atlaskit/link"));
|
|
20
20
|
var _modalDialog = require("@atlaskit/modal-dialog");
|
|
21
21
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
@@ -382,7 +382,7 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
|
|
|
382
382
|
var updateParametersJql = (0, _react.useCallback)(function (parameters) {
|
|
383
383
|
parameters.jql = searchBarJql;
|
|
384
384
|
}, [searchBarJql]);
|
|
385
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
385
|
+
return /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
386
386
|
defaultMessages: _en.default,
|
|
387
387
|
loaderFn: _fetchMessagesForLocale.fetchMessagesForLocale
|
|
388
388
|
}, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTransition, null, /*#__PURE__*/_react.default.createElement(_datasourceModal.DatasourceModal, {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { useEffect, useState } from 'react';
|
|
2
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
3
|
import { useDatasourceAnalyticsEvents } from '../analytics';
|
|
3
|
-
import { fetchObjectSchema, fetchObjectSchemas, getWorkspaceId } from '../services/cmdbService';
|
|
4
|
+
import { fetchObjectSchema, fetchObjectSchemas, getWorkspaceId, resolvePrimaryWorkspace } from '../services/cmdbService';
|
|
5
|
+
import { getMeta } from '../services/getMeta';
|
|
4
6
|
const handleAssetsClientErrors = (errorSetter, error) => {
|
|
5
7
|
if (error instanceof Error) {
|
|
6
8
|
errorSetter(error);
|
|
@@ -9,6 +11,7 @@ const handleAssetsClientErrors = (errorSetter, error) => {
|
|
|
9
11
|
}
|
|
10
12
|
};
|
|
11
13
|
export const useAssetsClient = initialParameters => {
|
|
14
|
+
var _getMeta;
|
|
12
15
|
const [loading, setLoading] = useState(false);
|
|
13
16
|
const [workspaceId, setWorkspaceId] = useState();
|
|
14
17
|
const [workspaceError, setWorkspaceError] = useState();
|
|
@@ -21,6 +24,9 @@ export const useAssetsClient = initialParameters => {
|
|
|
21
24
|
fireEvent
|
|
22
25
|
} = useDatasourceAnalyticsEvents();
|
|
23
26
|
|
|
27
|
+
// cloudId resolved from <meta name="ajs-cloud-id"> rendered by the host page.
|
|
28
|
+
const cloudId = (_getMeta = getMeta('ajs-cloud-id')) !== null && _getMeta !== void 0 ? _getMeta : '';
|
|
29
|
+
|
|
24
30
|
/*
|
|
25
31
|
* We wrap this in nested try/catch blocks because we want to handle
|
|
26
32
|
* workspaceError/existingObjectSchemaError/objectSchemasError differently
|
|
@@ -31,7 +37,20 @@ export const useAssetsClient = initialParameters => {
|
|
|
31
37
|
setLoading(true);
|
|
32
38
|
setWorkspaceError(undefined);
|
|
33
39
|
try {
|
|
34
|
-
|
|
40
|
+
// When the gate is on and a cloudId is present, resolve the primary Unit
|
|
41
|
+
// workspace; on any failure fall back to the legacy current-site lookup.
|
|
42
|
+
let workspaceId;
|
|
43
|
+
if (cloudId && fg('astral_units_workspace_host_resolver')) {
|
|
44
|
+
try {
|
|
45
|
+
({
|
|
46
|
+
workspaceId
|
|
47
|
+
} = await resolvePrimaryWorkspace(cloudId));
|
|
48
|
+
} catch (resolvePrimaryWorkspaceError) {
|
|
49
|
+
workspaceId = await getWorkspaceId(fireEvent);
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
workspaceId = await getWorkspaceId(fireEvent);
|
|
53
|
+
}
|
|
35
54
|
setWorkspaceId(workspaceId);
|
|
36
55
|
// Check schema from initial parameters still exists and fetch name/permissions for schema select
|
|
37
56
|
if (initialParameters !== null && initialParameters !== void 0 && initialParameters.schemaId) {
|
|
@@ -55,7 +74,7 @@ export const useAssetsClient = initialParameters => {
|
|
|
55
74
|
setLoading(false);
|
|
56
75
|
}
|
|
57
76
|
})();
|
|
58
|
-
}, [initialParameters, fireEvent]);
|
|
77
|
+
}, [initialParameters, fireEvent, cloudId]);
|
|
59
78
|
return {
|
|
60
79
|
workspaceId,
|
|
61
80
|
workspaceError,
|
|
@@ -24,6 +24,22 @@ export const getWorkspaceId = async fireEvent => {
|
|
|
24
24
|
throw error;
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
+
|
|
28
|
+
// Resolves the primary Unit workspace via the unit-aware resolver, keyed by the
|
|
29
|
+
// current-site cloudId. Gated at the call-site behind
|
|
30
|
+
// `astral_units_workspace_host_resolver`.
|
|
31
|
+
export const resolvePrimaryWorkspace = async cloudId => {
|
|
32
|
+
const url = '/assets/internal/workspace?productContext=confluence';
|
|
33
|
+
const res = await request('get', url, undefined, {
|
|
34
|
+
'x-atlassian-cloud-id': cloudId
|
|
35
|
+
}, [200]);
|
|
36
|
+
if (!(res !== null && res !== void 0 && res.linkedAssetsWorkspaceId)) {
|
|
37
|
+
throw new Error('Assets workspace resolver returned no workspaceId');
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
workspaceId: res.linkedAssetsWorkspaceId
|
|
41
|
+
};
|
|
42
|
+
};
|
|
27
43
|
export const validateAql = async (workspaceId, data, fireEvent) => {
|
|
28
44
|
const url = `/gateway/api/jsm/assets/workspace/${workspaceId}/v1/aql/validate`;
|
|
29
45
|
try {
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read a `<meta name="...">` tag's content from the current document, with
|
|
3
|
+
* per-name caching. Browser-only: returns `undefined` under SSR or when absent.
|
|
4
|
+
*/
|
|
5
|
+
const cache = new Map();
|
|
6
|
+
export const getMeta = name => {
|
|
7
|
+
var _document$querySelect, _document$querySelect2;
|
|
8
|
+
if (typeof document === 'undefined') {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
if (cache.has(name)) {
|
|
12
|
+
return cache.get(name);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// `name` is interpolated into a CSS attribute selector
|
|
16
|
+
const escapedName = typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(name) : name;
|
|
17
|
+
const value = (_document$querySelect = (_document$querySelect2 = document.querySelector(`meta[name="${escapedName}"]`)) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.getAttribute('content')) !== null && _document$querySelect !== void 0 ? _document$querySelect : undefined;
|
|
18
|
+
cache.set(name, value);
|
|
19
|
+
return value;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Test-only: clear the cache so each test starts with a clean slate.
|
|
24
|
+
*/
|
|
25
|
+
export const __clearMetaCacheForTests = () => {
|
|
26
|
+
cache.clear();
|
|
27
|
+
};
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire shape of the unit-aware `/assets/internal/workspace` resolver response.
|
|
3
|
+
* `linkedAssetsWorkspaceId` is the workspace of the Unit's primary Assets site.
|
|
4
|
+
*/
|
|
5
|
+
|
|
1
6
|
// These are to enforce the field "name" property and keep everything typed
|
|
2
7
|
export const objectSchemaKey = 'objectSchema';
|
|
3
8
|
export const aqlKey = 'aql';
|
|
@@ -7,7 +7,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
|
7
7
|
import { FormattedMessage } from 'react-intl';
|
|
8
8
|
import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
9
9
|
import Button from '@atlaskit/button/standard-button';
|
|
10
|
-
import
|
|
10
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
11
11
|
import { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
|
|
12
12
|
import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics';
|
|
13
13
|
import { componentMetadata } from '../../../analytics/constants';
|
|
@@ -5,7 +5,7 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
5
5
|
import React, { Fragment, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
6
6
|
import { FormattedMessage, useIntl } from 'react-intl';
|
|
7
7
|
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
8
|
-
import
|
|
8
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
9
9
|
import LinkComponent from '@atlaskit/link';
|
|
10
10
|
import { CloseButton, ModalBody, ModalFooter, ModalHeader, ModalTitle } from '@atlaskit/modal-dialog';
|
|
11
11
|
import { Box, Flex } from '@atlaskit/primitives/compiled';
|
|
@@ -6,7 +6,7 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
6
6
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
7
7
|
import isEqual from 'lodash/isEqual';
|
|
8
8
|
import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
9
|
-
import
|
|
9
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
10
10
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
11
11
|
import { useDatasourceAnalyticsEvents } from '../../analytics';
|
|
12
12
|
import { componentMetadata } from '../../analytics/constants';
|
|
@@ -6,7 +6,7 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
6
6
|
import React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
7
7
|
import { FormattedMessage, useIntl } from 'react-intl';
|
|
8
8
|
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
9
|
-
import
|
|
9
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
10
10
|
import LinkComponent from '@atlaskit/link';
|
|
11
11
|
import { CloseButton, ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
|
|
12
12
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
@@ -2,8 +2,10 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
4
|
import { useEffect, useState } from 'react';
|
|
5
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
5
6
|
import { useDatasourceAnalyticsEvents } from '../analytics';
|
|
6
|
-
import { fetchObjectSchema, fetchObjectSchemas, getWorkspaceId } from '../services/cmdbService';
|
|
7
|
+
import { fetchObjectSchema, fetchObjectSchemas, getWorkspaceId, resolvePrimaryWorkspace } from '../services/cmdbService';
|
|
8
|
+
import { getMeta } from '../services/getMeta';
|
|
7
9
|
var handleAssetsClientErrors = function handleAssetsClientErrors(errorSetter, error) {
|
|
8
10
|
if (error instanceof Error) {
|
|
9
11
|
errorSetter(error);
|
|
@@ -12,6 +14,7 @@ var handleAssetsClientErrors = function handleAssetsClientErrors(errorSetter, er
|
|
|
12
14
|
}
|
|
13
15
|
};
|
|
14
16
|
export var useAssetsClient = function useAssetsClient(initialParameters) {
|
|
17
|
+
var _getMeta;
|
|
15
18
|
var _useState = useState(false),
|
|
16
19
|
_useState2 = _slicedToArray(_useState, 2),
|
|
17
20
|
loading = _useState2[0],
|
|
@@ -47,6 +50,9 @@ export var useAssetsClient = function useAssetsClient(initialParameters) {
|
|
|
47
50
|
var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
|
|
48
51
|
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
49
52
|
|
|
53
|
+
// cloudId resolved from <meta name="ajs-cloud-id"> rendered by the host page.
|
|
54
|
+
var cloudId = (_getMeta = getMeta('ajs-cloud-id')) !== null && _getMeta !== void 0 ? _getMeta : '';
|
|
55
|
+
|
|
50
56
|
/*
|
|
51
57
|
* We wrap this in nested try/catch blocks because we want to handle
|
|
52
58
|
* workspaceError/existingObjectSchemaError/objectSchemasError differently
|
|
@@ -54,67 +60,91 @@ export var useAssetsClient = function useAssetsClient(initialParameters) {
|
|
|
54
60
|
*/
|
|
55
61
|
useEffect(function () {
|
|
56
62
|
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
57
|
-
var _workspaceId, fetchedObjectSchema, fetchedObjectSchemasResponse, _t, _t2, _t3;
|
|
63
|
+
var _workspaceId, _yield$resolvePrimary, fetchedObjectSchema, fetchedObjectSchemasResponse, _t, _t2, _t3, _t4;
|
|
58
64
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
59
65
|
while (1) switch (_context.prev = _context.next) {
|
|
60
66
|
case 0:
|
|
61
67
|
setLoading(true);
|
|
62
68
|
setWorkspaceError(undefined);
|
|
63
69
|
_context.prev = 1;
|
|
64
|
-
|
|
70
|
+
if (!(cloudId && fg('astral_units_workspace_host_resolver'))) {
|
|
71
|
+
_context.next = 7;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
_context.prev = 2;
|
|
75
|
+
_context.next = 3;
|
|
76
|
+
return resolvePrimaryWorkspace(cloudId);
|
|
77
|
+
case 3:
|
|
78
|
+
_yield$resolvePrimary = _context.sent;
|
|
79
|
+
_workspaceId = _yield$resolvePrimary.workspaceId;
|
|
80
|
+
_context.next = 6;
|
|
81
|
+
break;
|
|
82
|
+
case 4:
|
|
83
|
+
_context.prev = 4;
|
|
84
|
+
_t = _context["catch"](2);
|
|
85
|
+
_context.next = 5;
|
|
86
|
+
return getWorkspaceId(fireEvent);
|
|
87
|
+
case 5:
|
|
88
|
+
_workspaceId = _context.sent;
|
|
89
|
+
case 6:
|
|
90
|
+
_context.next = 9;
|
|
91
|
+
break;
|
|
92
|
+
case 7:
|
|
93
|
+
_context.next = 8;
|
|
65
94
|
return getWorkspaceId(fireEvent);
|
|
66
|
-
case
|
|
95
|
+
case 8:
|
|
67
96
|
_workspaceId = _context.sent;
|
|
97
|
+
case 9:
|
|
68
98
|
setWorkspaceId(_workspaceId);
|
|
69
99
|
// Check schema from initial parameters still exists and fetch name/permissions for schema select
|
|
70
100
|
if (!(initialParameters !== null && initialParameters !== void 0 && initialParameters.schemaId)) {
|
|
71
|
-
_context.next =
|
|
101
|
+
_context.next = 13;
|
|
72
102
|
break;
|
|
73
103
|
}
|
|
74
|
-
_context.prev =
|
|
75
|
-
_context.next =
|
|
104
|
+
_context.prev = 10;
|
|
105
|
+
_context.next = 11;
|
|
76
106
|
return fetchObjectSchema(_workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId, fireEvent);
|
|
77
|
-
case
|
|
107
|
+
case 11:
|
|
78
108
|
fetchedObjectSchema = _context.sent;
|
|
79
109
|
setExistingObjectSchema(fetchedObjectSchema);
|
|
80
|
-
_context.next =
|
|
110
|
+
_context.next = 13;
|
|
81
111
|
break;
|
|
82
|
-
case
|
|
83
|
-
_context.prev =
|
|
84
|
-
|
|
85
|
-
handleAssetsClientErrors(setExistingObjectSchemaError,
|
|
86
|
-
case
|
|
87
|
-
_context.prev =
|
|
88
|
-
_context.next =
|
|
112
|
+
case 12:
|
|
113
|
+
_context.prev = 12;
|
|
114
|
+
_t2 = _context["catch"](10);
|
|
115
|
+
handleAssetsClientErrors(setExistingObjectSchemaError, _t2);
|
|
116
|
+
case 13:
|
|
117
|
+
_context.prev = 13;
|
|
118
|
+
_context.next = 14;
|
|
89
119
|
return fetchObjectSchemas(_workspaceId, undefined, fireEvent);
|
|
90
|
-
case
|
|
120
|
+
case 14:
|
|
91
121
|
fetchedObjectSchemasResponse = _context.sent;
|
|
92
122
|
setObjectSchemas(fetchedObjectSchemasResponse.values);
|
|
93
123
|
setTotalObjectSchemas(fetchedObjectSchemasResponse.total);
|
|
94
|
-
_context.next =
|
|
124
|
+
_context.next = 16;
|
|
95
125
|
break;
|
|
96
|
-
case
|
|
97
|
-
_context.prev =
|
|
98
|
-
|
|
99
|
-
handleAssetsClientErrors(setObjectSchemasError,
|
|
100
|
-
case
|
|
101
|
-
_context.next =
|
|
126
|
+
case 15:
|
|
127
|
+
_context.prev = 15;
|
|
128
|
+
_t3 = _context["catch"](13);
|
|
129
|
+
handleAssetsClientErrors(setObjectSchemasError, _t3);
|
|
130
|
+
case 16:
|
|
131
|
+
_context.next = 18;
|
|
102
132
|
break;
|
|
103
|
-
case
|
|
104
|
-
_context.prev =
|
|
105
|
-
|
|
106
|
-
handleAssetsClientErrors(setWorkspaceError,
|
|
107
|
-
case
|
|
108
|
-
_context.prev =
|
|
133
|
+
case 17:
|
|
134
|
+
_context.prev = 17;
|
|
135
|
+
_t4 = _context["catch"](1);
|
|
136
|
+
handleAssetsClientErrors(setWorkspaceError, _t4);
|
|
137
|
+
case 18:
|
|
138
|
+
_context.prev = 18;
|
|
109
139
|
setLoading(false);
|
|
110
|
-
return _context.finish(
|
|
111
|
-
case
|
|
140
|
+
return _context.finish(18);
|
|
141
|
+
case 19:
|
|
112
142
|
case "end":
|
|
113
143
|
return _context.stop();
|
|
114
144
|
}
|
|
115
|
-
}, _callee, null, [[1,
|
|
145
|
+
}, _callee, null, [[1, 17, 18, 19], [2, 4], [10, 12], [13, 15]]);
|
|
116
146
|
}))();
|
|
117
|
-
}, [initialParameters, fireEvent]);
|
|
147
|
+
}, [initialParameters, fireEvent, cloudId]);
|
|
118
148
|
return {
|
|
119
149
|
workspaceId: workspaceId,
|
|
120
150
|
workspaceError: workspaceError,
|
|
@@ -46,26 +46,62 @@ export var getWorkspaceId = /*#__PURE__*/function () {
|
|
|
46
46
|
return _ref.apply(this, arguments);
|
|
47
47
|
};
|
|
48
48
|
}();
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
|
|
50
|
+
// Resolves the primary Unit workspace via the unit-aware resolver, keyed by the
|
|
51
|
+
// current-site cloudId. Gated at the call-site behind
|
|
52
|
+
// `astral_units_workspace_host_resolver`.
|
|
53
|
+
export var resolvePrimaryWorkspace = /*#__PURE__*/function () {
|
|
54
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(cloudId) {
|
|
55
|
+
var url, res;
|
|
52
56
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
53
57
|
while (1) switch (_context2.prev = _context2.next) {
|
|
58
|
+
case 0:
|
|
59
|
+
url = '/assets/internal/workspace?productContext=confluence';
|
|
60
|
+
_context2.next = 1;
|
|
61
|
+
return request('get', url, undefined, {
|
|
62
|
+
'x-atlassian-cloud-id': cloudId
|
|
63
|
+
}, [200]);
|
|
64
|
+
case 1:
|
|
65
|
+
res = _context2.sent;
|
|
66
|
+
if (res !== null && res !== void 0 && res.linkedAssetsWorkspaceId) {
|
|
67
|
+
_context2.next = 2;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
throw new Error('Assets workspace resolver returned no workspaceId');
|
|
71
|
+
case 2:
|
|
72
|
+
return _context2.abrupt("return", {
|
|
73
|
+
workspaceId: res.linkedAssetsWorkspaceId
|
|
74
|
+
});
|
|
75
|
+
case 3:
|
|
76
|
+
case "end":
|
|
77
|
+
return _context2.stop();
|
|
78
|
+
}
|
|
79
|
+
}, _callee2);
|
|
80
|
+
}));
|
|
81
|
+
return function resolvePrimaryWorkspace(_x2) {
|
|
82
|
+
return _ref2.apply(this, arguments);
|
|
83
|
+
};
|
|
84
|
+
}();
|
|
85
|
+
export var validateAql = /*#__PURE__*/function () {
|
|
86
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(workspaceId, data, fireEvent) {
|
|
87
|
+
var url, response, error, _t2;
|
|
88
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
89
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
54
90
|
case 0:
|
|
55
91
|
url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/aql/validate");
|
|
56
|
-
|
|
57
|
-
|
|
92
|
+
_context3.prev = 1;
|
|
93
|
+
_context3.next = 2;
|
|
58
94
|
return request('post', url, {
|
|
59
95
|
qlQuery: data.qlQuery,
|
|
60
96
|
context: 'SMART_LINKS'
|
|
61
97
|
}, undefined, [200, 201, 202, 203, 204]);
|
|
62
98
|
case 2:
|
|
63
|
-
response =
|
|
99
|
+
response = _context3.sent;
|
|
64
100
|
fireEvent && fireEvent('operational.validateAql.success', {});
|
|
65
|
-
return
|
|
101
|
+
return _context3.abrupt("return", response);
|
|
66
102
|
case 3:
|
|
67
|
-
|
|
68
|
-
_t2 =
|
|
103
|
+
_context3.prev = 3;
|
|
104
|
+
_t2 = _context3["catch"](1);
|
|
69
105
|
error = mapFetchErrors(_t2);
|
|
70
106
|
if (error instanceof FetchError) {
|
|
71
107
|
fireEvent && fireEvent('operational.validateAql.failed', {
|
|
@@ -78,31 +114,31 @@ export var validateAql = /*#__PURE__*/function () {
|
|
|
78
114
|
throw error;
|
|
79
115
|
case 4:
|
|
80
116
|
case "end":
|
|
81
|
-
return
|
|
117
|
+
return _context3.stop();
|
|
82
118
|
}
|
|
83
|
-
},
|
|
119
|
+
}, _callee3, null, [[1, 3]]);
|
|
84
120
|
}));
|
|
85
|
-
return function validateAql(
|
|
86
|
-
return
|
|
121
|
+
return function validateAql(_x3, _x4, _x5) {
|
|
122
|
+
return _ref3.apply(this, arguments);
|
|
87
123
|
};
|
|
88
124
|
}();
|
|
89
125
|
export var fetchObjectSchema = /*#__PURE__*/function () {
|
|
90
|
-
var
|
|
126
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(workspaceId, schemaId, fireEvent) {
|
|
91
127
|
var url, response, error, _t3;
|
|
92
|
-
return _regeneratorRuntime.wrap(function (
|
|
93
|
-
while (1) switch (
|
|
128
|
+
return _regeneratorRuntime.wrap(function (_context4) {
|
|
129
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
94
130
|
case 0:
|
|
95
131
|
url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/objectschema/").concat(schemaId);
|
|
96
|
-
|
|
97
|
-
|
|
132
|
+
_context4.prev = 1;
|
|
133
|
+
_context4.next = 2;
|
|
98
134
|
return request('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
|
|
99
135
|
case 2:
|
|
100
|
-
response =
|
|
136
|
+
response = _context4.sent;
|
|
101
137
|
fireEvent && fireEvent('operational.objectSchema.success', {});
|
|
102
|
-
return
|
|
138
|
+
return _context4.abrupt("return", response);
|
|
103
139
|
case 3:
|
|
104
|
-
|
|
105
|
-
_t3 =
|
|
140
|
+
_context4.prev = 3;
|
|
141
|
+
_t3 = _context4["catch"](1);
|
|
106
142
|
error = mapFetchErrors(_t3);
|
|
107
143
|
if (error instanceof FetchError) {
|
|
108
144
|
fireEvent && fireEvent('operational.objectSchema.failed', {
|
|
@@ -115,35 +151,35 @@ export var fetchObjectSchema = /*#__PURE__*/function () {
|
|
|
115
151
|
throw error;
|
|
116
152
|
case 4:
|
|
117
153
|
case "end":
|
|
118
|
-
return
|
|
154
|
+
return _context4.stop();
|
|
119
155
|
}
|
|
120
|
-
},
|
|
156
|
+
}, _callee4, null, [[1, 3]]);
|
|
121
157
|
}));
|
|
122
|
-
return function fetchObjectSchema(
|
|
123
|
-
return
|
|
158
|
+
return function fetchObjectSchema(_x6, _x7, _x8) {
|
|
159
|
+
return _ref4.apply(this, arguments);
|
|
124
160
|
};
|
|
125
161
|
}();
|
|
126
162
|
export var fetchObjectSchemas = /*#__PURE__*/function () {
|
|
127
|
-
var
|
|
163
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(workspaceId, query, fireEvent) {
|
|
128
164
|
var queryParams, url, response, error, _t4;
|
|
129
|
-
return _regeneratorRuntime.wrap(function (
|
|
130
|
-
while (1) switch (
|
|
165
|
+
return _regeneratorRuntime.wrap(function (_context5) {
|
|
166
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
131
167
|
case 0:
|
|
132
168
|
queryParams = new URLSearchParams();
|
|
133
169
|
queryParams.set('maxResults', '20');
|
|
134
170
|
queryParams.set('includeCounts', 'false');
|
|
135
171
|
query && queryParams.set('query', query);
|
|
136
172
|
url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/objectschema/list?").concat(queryParams);
|
|
137
|
-
|
|
138
|
-
|
|
173
|
+
_context5.prev = 1;
|
|
174
|
+
_context5.next = 2;
|
|
139
175
|
return request('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
|
|
140
176
|
case 2:
|
|
141
|
-
response =
|
|
177
|
+
response = _context5.sent;
|
|
142
178
|
fireEvent && fireEvent('operational.objectSchemas.success', {});
|
|
143
|
-
return
|
|
179
|
+
return _context5.abrupt("return", response);
|
|
144
180
|
case 3:
|
|
145
|
-
|
|
146
|
-
_t4 =
|
|
181
|
+
_context5.prev = 3;
|
|
182
|
+
_t4 = _context5["catch"](1);
|
|
147
183
|
error = mapFetchErrors(_t4);
|
|
148
184
|
if (error instanceof FetchError) {
|
|
149
185
|
fireEvent && fireEvent('operational.objectSchemas.failed', {
|
|
@@ -156,11 +192,11 @@ export var fetchObjectSchemas = /*#__PURE__*/function () {
|
|
|
156
192
|
throw error;
|
|
157
193
|
case 4:
|
|
158
194
|
case "end":
|
|
159
|
-
return
|
|
195
|
+
return _context5.stop();
|
|
160
196
|
}
|
|
161
|
-
},
|
|
197
|
+
}, _callee5, null, [[1, 3]]);
|
|
162
198
|
}));
|
|
163
|
-
return function fetchObjectSchemas(
|
|
164
|
-
return
|
|
199
|
+
return function fetchObjectSchemas(_x9, _x0, _x1) {
|
|
200
|
+
return _ref5.apply(this, arguments);
|
|
165
201
|
};
|
|
166
202
|
}();
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read a `<meta name="...">` tag's content from the current document, with
|
|
3
|
+
* per-name caching. Browser-only: returns `undefined` under SSR or when absent.
|
|
4
|
+
*/
|
|
5
|
+
var cache = new Map();
|
|
6
|
+
export var getMeta = function getMeta(name) {
|
|
7
|
+
var _document$querySelect, _document$querySelect2;
|
|
8
|
+
if (typeof document === 'undefined') {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
if (cache.has(name)) {
|
|
12
|
+
return cache.get(name);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// `name` is interpolated into a CSS attribute selector
|
|
16
|
+
var escapedName = typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(name) : name;
|
|
17
|
+
var value = (_document$querySelect = (_document$querySelect2 = document.querySelector("meta[name=\"".concat(escapedName, "\"]"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.getAttribute('content')) !== null && _document$querySelect !== void 0 ? _document$querySelect : undefined;
|
|
18
|
+
cache.set(name, value);
|
|
19
|
+
return value;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Test-only: clear the cache so each test starts with a clean slate.
|
|
24
|
+
*/
|
|
25
|
+
export var __clearMetaCacheForTests = function __clearMetaCacheForTests() {
|
|
26
|
+
cache.clear();
|
|
27
|
+
};
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire shape of the unit-aware `/assets/internal/workspace` resolver response.
|
|
3
|
+
* `linkedAssetsWorkspaceId` is the workspace of the Unit's primary Assets site.
|
|
4
|
+
*/
|
|
5
|
+
|
|
1
6
|
// These are to enforce the field "name" property and keep everything typed
|
|
2
7
|
export var objectSchemaKey = 'objectSchema';
|
|
3
8
|
export var aqlKey = 'aql';
|
|
@@ -11,7 +11,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
|
11
11
|
import { FormattedMessage } from 'react-intl';
|
|
12
12
|
import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
13
13
|
import Button from '@atlaskit/button/standard-button';
|
|
14
|
-
import
|
|
14
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
15
15
|
import { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
|
|
16
16
|
import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics';
|
|
17
17
|
import { componentMetadata } from '../../../analytics/constants';
|
|
@@ -8,7 +8,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
8
8
|
import React, { Fragment, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
9
9
|
import { FormattedMessage, useIntl } from 'react-intl';
|
|
10
10
|
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
11
|
-
import
|
|
11
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
12
12
|
import LinkComponent from '@atlaskit/link';
|
|
13
13
|
import { CloseButton, ModalBody, ModalFooter, ModalHeader, ModalTitle } from '@atlaskit/modal-dialog';
|
|
14
14
|
import { Box, Flex } from '@atlaskit/primitives/compiled';
|
|
@@ -7,7 +7,7 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
7
7
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
8
8
|
import isEqual from 'lodash/isEqual';
|
|
9
9
|
import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
10
|
-
import
|
|
10
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
11
11
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
12
|
import { useDatasourceAnalyticsEvents } from '../../analytics';
|
|
13
13
|
import { componentMetadata } from '../../analytics/constants';
|
|
@@ -10,7 +10,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
10
10
|
import React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
11
11
|
import { FormattedMessage, useIntl } from 'react-intl';
|
|
12
12
|
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
13
|
-
import
|
|
13
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
14
14
|
import LinkComponent from '@atlaskit/link';
|
|
15
15
|
import { CloseButton, ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
|
|
16
16
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { I18NMessages } from '@atlaskit/intl-messages-provider/types';
|
|
2
2
|
export declare const fetchMessagesForLocale: (locale: string) => Promise<I18NMessages | undefined>;
|
|
@@ -3,6 +3,9 @@ import type createEventPayload from '../analytics/generated/create-event-payload
|
|
|
3
3
|
import { type AqlValidateResponse, type FetchObjectSchemasResponse, type ObjectSchema } from '../types/assets/types';
|
|
4
4
|
type AnalyticsFireEvent = <K extends EventKey>(...params: Parameters<typeof createEventPayload<K>>) => void;
|
|
5
5
|
export declare const getWorkspaceId: (fireEvent?: AnalyticsFireEvent) => Promise<string>;
|
|
6
|
+
export declare const resolvePrimaryWorkspace: (cloudId: string) => Promise<{
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
}>;
|
|
6
9
|
export declare const validateAql: (workspaceId: string, data: {
|
|
7
10
|
qlQuery: string;
|
|
8
11
|
}, fireEvent?: AnalyticsFireEvent) => Promise<AqlValidateResponse>;
|
|
@@ -5,6 +5,15 @@ export type GetWorkspaceDetailsResponse = {
|
|
|
5
5
|
}
|
|
6
6
|
];
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Wire shape of the unit-aware `/assets/internal/workspace` resolver response.
|
|
10
|
+
* `linkedAssetsWorkspaceId` is the workspace of the Unit's primary Assets site.
|
|
11
|
+
*/
|
|
12
|
+
export type ResolvePrimaryWorkspaceResponse = {
|
|
13
|
+
linkedAssetsSiteCloudId?: string;
|
|
14
|
+
linkedAssetsWorkspaceId?: string;
|
|
15
|
+
siteWithJiraUrl?: string;
|
|
16
|
+
};
|
|
8
17
|
export type ObjectSchema = {
|
|
9
18
|
id: string;
|
|
10
19
|
name: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
4
4
|
import type { DatasourceTableView } from '@atlaskit/link-datasource';
|
|
5
5
|
import { SmartCardProvider } from '@atlaskit/link-provider';
|
|
6
6
|
import { type DatasourceParameters } from '@atlaskit/linking-types';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useMemo } from 'react';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
4
4
|
import { SmartCardProvider } from '@atlaskit/link-provider';
|
|
5
5
|
import { mockDatasourceFetchRequests } from '@atlaskit/link-test-helpers/datasource';
|
|
6
6
|
import { type DatasourceParameters } from '@atlaskit/linking-types';
|
|
@@ -6,7 +6,7 @@ import { useEffect, useMemo } from 'react';
|
|
|
6
6
|
|
|
7
7
|
import { jsx, styled } from '@compiled/react';
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
10
10
|
import { SmartCardProvider } from '@atlaskit/link-provider';
|
|
11
11
|
import { mockDatasourceFetchRequests } from '@atlaskit/link-test-helpers/datasource';
|
|
12
12
|
import { Text } from '@atlaskit/primitives/compiled';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { jsx, styled } from '@compiled/react';
|
|
6
6
|
|
|
7
|
-
import
|
|
7
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
8
8
|
import { SmartCardProvider } from '@atlaskit/link-provider';
|
|
9
9
|
import { token } from '@atlaskit/tokens';
|
|
10
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import IntlMessagesProvider from '@atlaskit/intl-messages-provider/main';
|
|
4
4
|
import { type ProviderProps, SmartCardProvider } from '@atlaskit/link-provider';
|
|
5
5
|
import { mockDatasourceFetchRequests } from '@atlaskit/link-test-helpers/datasource';
|
|
6
6
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@atlaskit/icon": "^37.1.0",
|
|
56
56
|
"@atlaskit/image": "^4.2.0",
|
|
57
57
|
"@atlaskit/inline-edit": "^16.2.0",
|
|
58
|
-
"@atlaskit/intl-messages-provider": "^4.
|
|
58
|
+
"@atlaskit/intl-messages-provider": "^4.2.0",
|
|
59
59
|
"@atlaskit/jql-ast": "^4.0.0",
|
|
60
60
|
"@atlaskit/jql-editor": "^7.4.0",
|
|
61
61
|
"@atlaskit/jql-editor-autocomplete-rest": "^4.2.0",
|
|
@@ -80,13 +80,13 @@
|
|
|
80
80
|
"@atlaskit/react-compiler-gating": "^0.2.0",
|
|
81
81
|
"@atlaskit/react-select": "^4.5.0",
|
|
82
82
|
"@atlaskit/select": "^22.5.0",
|
|
83
|
-
"@atlaskit/smart-card": "^45.
|
|
83
|
+
"@atlaskit/smart-card": "^45.12.0",
|
|
84
84
|
"@atlaskit/smart-user-picker": "^11.1.0",
|
|
85
85
|
"@atlaskit/spinner": "^20.1.0",
|
|
86
86
|
"@atlaskit/tag": "^15.4.0",
|
|
87
87
|
"@atlaskit/textfield": "^9.1.0",
|
|
88
88
|
"@atlaskit/theme": "^26.1.0",
|
|
89
|
-
"@atlaskit/tokens": "^16.
|
|
89
|
+
"@atlaskit/tokens": "^16.3.0",
|
|
90
90
|
"@atlaskit/tooltip": "^23.1.0",
|
|
91
91
|
"@atlaskit/ufo": "^1.0.0",
|
|
92
92
|
"@atlaskit/visually-hidden": "^4.2.0",
|
|
@@ -196,6 +196,9 @@
|
|
|
196
196
|
},
|
|
197
197
|
"navx-5290-sllv-modal-a11y-updates": {
|
|
198
198
|
"type": "boolean"
|
|
199
|
+
},
|
|
200
|
+
"astral_units_workspace_host_resolver": {
|
|
201
|
+
"type": "boolean"
|
|
199
202
|
}
|
|
200
203
|
},
|
|
201
204
|
"compassUnitTestMetricSourceId": "ari:cloud:compass:a436116f-02ce-4520-8fbb-7301462a1674:metric-source/c5751cc6-3513-4070-9deb-af31e86aed34/9c893299-a527-4457-9b46-f3bc4c828766"
|