@atlaskit/link-datasource 4.11.20 → 4.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 +8 -0
- package/dist/cjs/ui/assets-modal/search-container/object-schema-select/index.js +87 -9
- package/dist/es2019/ui/assets-modal/search-container/object-schema-select/index.js +51 -4
- package/dist/esm/ui/assets-modal/search-container/object-schema-select/index.js +89 -10
- package/dist/types/ui/assets-modal/search-container/object-schema-select/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/assets-modal/search-container/object-schema-select/index.d.ts +2 -1
- package/package.json +10 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 4.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#181346](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/181346)
|
|
8
|
+
[`ac7e60f6123e7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ac7e60f6123e7) -
|
|
9
|
+
[ux] EDM-13018 migrating Assests modal schema selector to PopupSelect
|
|
10
|
+
|
|
3
11
|
## 4.11.20
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
|
@@ -13,12 +13,16 @@ var React = _react;
|
|
|
13
13
|
var _runtime = require("@compiled/react/runtime");
|
|
14
14
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
15
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
18
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
18
19
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
20
|
var _debouncePromise = _interopRequireDefault(require("debounce-promise"));
|
|
20
21
|
var _reactIntlNext = require("react-intl-next");
|
|
22
|
+
var _new = _interopRequireDefault(require("@atlaskit/button/new"));
|
|
21
23
|
var _form = require("@atlaskit/form");
|
|
24
|
+
var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/chevron-down"));
|
|
25
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
22
26
|
var _select = require("@atlaskit/select");
|
|
23
27
|
var _constants = require("@atlaskit/theme/constants");
|
|
24
28
|
var _useObjectSchemas2 = require("../../../../hooks/useObjectSchemas");
|
|
@@ -26,7 +30,8 @@ var _types = require("../../../../types/assets/types");
|
|
|
26
30
|
var _messages = require("./messages");
|
|
27
31
|
var _utils = require("./utils");
|
|
28
32
|
var _excluded = ["as", "style"],
|
|
29
|
-
_excluded2 = ["onChange", "onFocus"]
|
|
33
|
+
_excluded2 = ["onChange", "onFocus"],
|
|
34
|
+
_excluded3 = ["isOpen"];
|
|
30
35
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
31
36
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
32
37
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -71,12 +76,22 @@ var AssetsObjectSchemaSelect = exports.AssetsObjectSchemaSelect = function Asset
|
|
|
71
76
|
workspaceId = _ref2.workspaceId,
|
|
72
77
|
initialObjectSchemas = _ref2.initialObjectSchemas,
|
|
73
78
|
_ref2$classNamePrefix = _ref2.classNamePrefix,
|
|
74
|
-
classNamePrefix = _ref2$classNamePrefix === void 0 ? 'assets-datasource-modal--object-schema-select' : _ref2$classNamePrefix
|
|
79
|
+
classNamePrefix = _ref2$classNamePrefix === void 0 ? 'assets-datasource-modal--object-schema-select' : _ref2$classNamePrefix,
|
|
80
|
+
_ref2$testId = _ref2.testId,
|
|
81
|
+
testId = _ref2$testId === void 0 ? 'assets-datasource-modal--object-schema-select' : _ref2$testId;
|
|
75
82
|
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
76
83
|
formatMessage = _useIntl.formatMessage;
|
|
77
84
|
var _useObjectSchemas = (0, _useObjectSchemas2.useObjectSchemas)(workspaceId),
|
|
78
85
|
fetchObjectSchemas = _useObjectSchemas.fetchObjectSchemas,
|
|
79
86
|
objectSchemasLoading = _useObjectSchemas.objectSchemasLoading;
|
|
87
|
+
var _useState = (0, _react.useState)(''),
|
|
88
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
89
|
+
searchTerm = _useState2[0],
|
|
90
|
+
setSearchTerm = _useState2[1];
|
|
91
|
+
var _useState3 = (0, _react.useState)(mapObjectSchemasToOptions(initialObjectSchemas)),
|
|
92
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
93
|
+
options = _useState4[0],
|
|
94
|
+
setOptions = _useState4[1];
|
|
80
95
|
var selectedObjectSchema = value ? (0, _utils.objectSchemaToSelectOption)(value) : undefined;
|
|
81
96
|
var loadOptions = /*#__PURE__*/function () {
|
|
82
97
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(inputValue) {
|
|
@@ -107,18 +122,81 @@ var AssetsObjectSchemaSelect = exports.AssetsObjectSchemaSelect = function Asset
|
|
|
107
122
|
}
|
|
108
123
|
return undefined;
|
|
109
124
|
};
|
|
125
|
+
var handleInputChange = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
126
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(newSearchTerm, actionMeta) {
|
|
127
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
128
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
129
|
+
case 0:
|
|
130
|
+
if (!(actionMeta.action === 'input-change' && newSearchTerm !== searchTerm)) {
|
|
131
|
+
_context2.next = 7;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
setSearchTerm(newSearchTerm);
|
|
135
|
+
_context2.t0 = setOptions;
|
|
136
|
+
_context2.next = 5;
|
|
137
|
+
return debouncedLoadOptions(newSearchTerm);
|
|
138
|
+
case 5:
|
|
139
|
+
_context2.t1 = _context2.sent;
|
|
140
|
+
(0, _context2.t0)(_context2.t1);
|
|
141
|
+
case 7:
|
|
142
|
+
case "end":
|
|
143
|
+
return _context2.stop();
|
|
144
|
+
}
|
|
145
|
+
}, _callee2);
|
|
146
|
+
}));
|
|
147
|
+
return function (_x2, _x3) {
|
|
148
|
+
return _ref4.apply(this, arguments);
|
|
149
|
+
};
|
|
150
|
+
}(), [debouncedLoadOptions, searchTerm]);
|
|
151
|
+
var onClose = (0, _react.useCallback)(function () {
|
|
152
|
+
setSearchTerm('');
|
|
153
|
+
setOptions(mapObjectSchemasToOptions(initialObjectSchemas));
|
|
154
|
+
}, [initialObjectSchemas]);
|
|
110
155
|
return /*#__PURE__*/React.createElement(FieldContainer, null, /*#__PURE__*/React.createElement(_form.Field, {
|
|
111
156
|
name: _types.objectSchemaKey,
|
|
112
157
|
defaultValue: selectedObjectSchema,
|
|
113
158
|
validate: function validate(value) {
|
|
114
159
|
return validateSchema(value);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
160
|
+
},
|
|
161
|
+
testId: testId
|
|
162
|
+
}, function (_ref5) {
|
|
163
|
+
var _ref5$fieldProps = _ref5.fieldProps,
|
|
164
|
+
_onChange = _ref5$fieldProps.onChange,
|
|
165
|
+
onFocus = _ref5$fieldProps.onFocus,
|
|
166
|
+
restFieldProps = (0, _objectWithoutProperties2.default)(_ref5$fieldProps, _excluded2);
|
|
167
|
+
return (0, _platformFeatureFlags.fg)('linking-platform-assests-schema-selector-refresh') ? /*#__PURE__*/React.createElement(_select.PopupSelect, (0, _extends2.default)({
|
|
168
|
+
autoFocus: true,
|
|
169
|
+
maxMenuWidth: 300,
|
|
170
|
+
minMenuWidth: 300,
|
|
171
|
+
isSearchable: true,
|
|
172
|
+
searchThreshold: -1,
|
|
173
|
+
isLoading: objectSchemasLoading,
|
|
174
|
+
options: options,
|
|
175
|
+
placeholder: formatMessage(_messages.objectSchemaSelectMessages.placeholder),
|
|
176
|
+
onChange: function onChange(newOption) {
|
|
177
|
+
return newOption && _onChange(newOption);
|
|
178
|
+
},
|
|
179
|
+
inputValue: searchTerm,
|
|
180
|
+
onInputChange: handleInputChange,
|
|
181
|
+
onMenuClose: onClose
|
|
182
|
+
}, restFieldProps, {
|
|
183
|
+
label: formatMessage(_messages.objectSchemaSelectMessages.placeholder),
|
|
184
|
+
target: function target(_ref6) {
|
|
185
|
+
var _restFieldProps$value;
|
|
186
|
+
var isOpen = _ref6.isOpen,
|
|
187
|
+
triggerProps = (0, _objectWithoutProperties2.default)(_ref6, _excluded3);
|
|
188
|
+
return /*#__PURE__*/React.createElement(_new.default, (0, _extends2.default)({}, triggerProps, {
|
|
189
|
+
isSelected: isOpen,
|
|
190
|
+
iconAfter: function iconAfter() {
|
|
191
|
+
return /*#__PURE__*/React.createElement(_chevronDown.default, {
|
|
192
|
+
label: "",
|
|
193
|
+
color: "currentColor",
|
|
194
|
+
size: "small"
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}), ((_restFieldProps$value = restFieldProps.value) === null || _restFieldProps$value === void 0 ? void 0 : _restFieldProps$value.label) || formatMessage(_messages.objectSchemaSelectMessages.placeholder));
|
|
198
|
+
}
|
|
199
|
+
})) : /*#__PURE__*/React.createElement(_select.AsyncSelect, (0, _extends2.default)({
|
|
122
200
|
autoFocus: true,
|
|
123
201
|
classNamePrefix: classNamePrefix,
|
|
124
202
|
isLoading: objectSchemasLoading,
|
|
@@ -4,10 +4,14 @@ import "./index.compiled.css";
|
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { ax, ix } from "@compiled/react/runtime";
|
|
7
|
+
import { useCallback, useState } from 'react';
|
|
7
8
|
import debounce from 'debounce-promise';
|
|
8
9
|
import { useIntl } from 'react-intl-next';
|
|
10
|
+
import Button from '@atlaskit/button/new';
|
|
9
11
|
import { Field } from '@atlaskit/form';
|
|
10
|
-
import
|
|
12
|
+
import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
|
|
13
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
14
|
+
import { AsyncSelect, PopupSelect } from '@atlaskit/select';
|
|
11
15
|
import { layers } from '@atlaskit/theme/constants';
|
|
12
16
|
import { useObjectSchemas } from '../../../../hooks/useObjectSchemas';
|
|
13
17
|
import { objectSchemaKey } from '../../../../types/assets/types';
|
|
@@ -51,7 +55,8 @@ export const AssetsObjectSchemaSelect = ({
|
|
|
51
55
|
value,
|
|
52
56
|
workspaceId,
|
|
53
57
|
initialObjectSchemas,
|
|
54
|
-
classNamePrefix = 'assets-datasource-modal--object-schema-select'
|
|
58
|
+
classNamePrefix = 'assets-datasource-modal--object-schema-select',
|
|
59
|
+
testId = 'assets-datasource-modal--object-schema-select'
|
|
55
60
|
}) => {
|
|
56
61
|
const {
|
|
57
62
|
formatMessage
|
|
@@ -60,6 +65,8 @@ export const AssetsObjectSchemaSelect = ({
|
|
|
60
65
|
fetchObjectSchemas,
|
|
61
66
|
objectSchemasLoading
|
|
62
67
|
} = useObjectSchemas(workspaceId);
|
|
68
|
+
const [searchTerm, setSearchTerm] = useState('');
|
|
69
|
+
const [options, setOptions] = useState(mapObjectSchemasToOptions(initialObjectSchemas));
|
|
63
70
|
const selectedObjectSchema = value ? objectSchemaToSelectOption(value) : undefined;
|
|
64
71
|
const loadOptions = async inputValue => {
|
|
65
72
|
const {
|
|
@@ -74,17 +81,57 @@ export const AssetsObjectSchemaSelect = ({
|
|
|
74
81
|
}
|
|
75
82
|
return undefined;
|
|
76
83
|
};
|
|
84
|
+
const handleInputChange = useCallback(async (newSearchTerm, actionMeta) => {
|
|
85
|
+
if (actionMeta.action === 'input-change' && newSearchTerm !== searchTerm) {
|
|
86
|
+
setSearchTerm(newSearchTerm);
|
|
87
|
+
setOptions(await debouncedLoadOptions(newSearchTerm));
|
|
88
|
+
}
|
|
89
|
+
}, [debouncedLoadOptions, searchTerm]);
|
|
90
|
+
const onClose = useCallback(() => {
|
|
91
|
+
setSearchTerm('');
|
|
92
|
+
setOptions(mapObjectSchemasToOptions(initialObjectSchemas));
|
|
93
|
+
}, [initialObjectSchemas]);
|
|
77
94
|
return /*#__PURE__*/React.createElement(FieldContainer, null, /*#__PURE__*/React.createElement(Field, {
|
|
78
95
|
name: objectSchemaKey,
|
|
79
96
|
defaultValue: selectedObjectSchema,
|
|
80
|
-
validate: value => validateSchema(value)
|
|
97
|
+
validate: value => validateSchema(value),
|
|
98
|
+
testId: testId
|
|
81
99
|
}, ({
|
|
82
100
|
fieldProps: {
|
|
83
101
|
onChange,
|
|
84
102
|
onFocus,
|
|
85
103
|
...restFieldProps
|
|
86
104
|
}
|
|
87
|
-
}) => /*#__PURE__*/React.createElement(
|
|
105
|
+
}) => fg('linking-platform-assests-schema-selector-refresh') ? /*#__PURE__*/React.createElement(PopupSelect, _extends({
|
|
106
|
+
autoFocus: true,
|
|
107
|
+
maxMenuWidth: 300,
|
|
108
|
+
minMenuWidth: 300,
|
|
109
|
+
isSearchable: true,
|
|
110
|
+
searchThreshold: -1,
|
|
111
|
+
isLoading: objectSchemasLoading,
|
|
112
|
+
options: options,
|
|
113
|
+
placeholder: formatMessage(objectSchemaSelectMessages.placeholder),
|
|
114
|
+
onChange: newOption => newOption && onChange(newOption),
|
|
115
|
+
inputValue: searchTerm,
|
|
116
|
+
onInputChange: handleInputChange,
|
|
117
|
+
onMenuClose: onClose
|
|
118
|
+
}, restFieldProps, {
|
|
119
|
+
label: formatMessage(objectSchemaSelectMessages.placeholder),
|
|
120
|
+
target: ({
|
|
121
|
+
isOpen,
|
|
122
|
+
...triggerProps
|
|
123
|
+
}) => {
|
|
124
|
+
var _restFieldProps$value;
|
|
125
|
+
return /*#__PURE__*/React.createElement(Button, _extends({}, triggerProps, {
|
|
126
|
+
isSelected: isOpen,
|
|
127
|
+
iconAfter: () => /*#__PURE__*/React.createElement(ChevronDownIcon, {
|
|
128
|
+
label: "",
|
|
129
|
+
color: "currentColor",
|
|
130
|
+
size: "small"
|
|
131
|
+
})
|
|
132
|
+
}), ((_restFieldProps$value = restFieldProps.value) === null || _restFieldProps$value === void 0 ? void 0 : _restFieldProps$value.label) || formatMessage(objectSchemaSelectMessages.placeholder));
|
|
133
|
+
}
|
|
134
|
+
})) : /*#__PURE__*/React.createElement(AsyncSelect, _extends({
|
|
88
135
|
autoFocus: true,
|
|
89
136
|
classNamePrefix: classNamePrefix,
|
|
90
137
|
isLoading: objectSchemasLoading,
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/* index.tsx generated by @compiled/babel-plugin v0.36.1 */
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
4
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
5
|
import _extends from "@babel/runtime/helpers/extends";
|
|
5
6
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
6
7
|
var _excluded = ["as", "style"],
|
|
7
|
-
_excluded2 = ["onChange", "onFocus"]
|
|
8
|
+
_excluded2 = ["onChange", "onFocus"],
|
|
9
|
+
_excluded3 = ["isOpen"];
|
|
8
10
|
import "./index.compiled.css";
|
|
9
11
|
import { forwardRef } from 'react';
|
|
10
12
|
import * as React from 'react';
|
|
@@ -12,10 +14,14 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
12
14
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
13
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
16
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
import { useCallback, useState } from 'react';
|
|
15
18
|
import debounce from 'debounce-promise';
|
|
16
19
|
import { useIntl } from 'react-intl-next';
|
|
20
|
+
import Button from '@atlaskit/button/new';
|
|
17
21
|
import { Field } from '@atlaskit/form';
|
|
18
|
-
import
|
|
22
|
+
import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
|
|
23
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
24
|
+
import { AsyncSelect, PopupSelect } from '@atlaskit/select';
|
|
19
25
|
import { layers } from '@atlaskit/theme/constants';
|
|
20
26
|
import { useObjectSchemas } from '../../../../hooks/useObjectSchemas';
|
|
21
27
|
import { objectSchemaKey } from '../../../../types/assets/types';
|
|
@@ -63,12 +69,22 @@ export var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref2) {
|
|
|
63
69
|
workspaceId = _ref2.workspaceId,
|
|
64
70
|
initialObjectSchemas = _ref2.initialObjectSchemas,
|
|
65
71
|
_ref2$classNamePrefix = _ref2.classNamePrefix,
|
|
66
|
-
classNamePrefix = _ref2$classNamePrefix === void 0 ? 'assets-datasource-modal--object-schema-select' : _ref2$classNamePrefix
|
|
72
|
+
classNamePrefix = _ref2$classNamePrefix === void 0 ? 'assets-datasource-modal--object-schema-select' : _ref2$classNamePrefix,
|
|
73
|
+
_ref2$testId = _ref2.testId,
|
|
74
|
+
testId = _ref2$testId === void 0 ? 'assets-datasource-modal--object-schema-select' : _ref2$testId;
|
|
67
75
|
var _useIntl = useIntl(),
|
|
68
76
|
formatMessage = _useIntl.formatMessage;
|
|
69
77
|
var _useObjectSchemas = useObjectSchemas(workspaceId),
|
|
70
78
|
fetchObjectSchemas = _useObjectSchemas.fetchObjectSchemas,
|
|
71
79
|
objectSchemasLoading = _useObjectSchemas.objectSchemasLoading;
|
|
80
|
+
var _useState = useState(''),
|
|
81
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
82
|
+
searchTerm = _useState2[0],
|
|
83
|
+
setSearchTerm = _useState2[1];
|
|
84
|
+
var _useState3 = useState(mapObjectSchemasToOptions(initialObjectSchemas)),
|
|
85
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
86
|
+
options = _useState4[0],
|
|
87
|
+
setOptions = _useState4[1];
|
|
72
88
|
var selectedObjectSchema = value ? objectSchemaToSelectOption(value) : undefined;
|
|
73
89
|
var loadOptions = /*#__PURE__*/function () {
|
|
74
90
|
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(inputValue) {
|
|
@@ -99,18 +115,81 @@ export var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref2) {
|
|
|
99
115
|
}
|
|
100
116
|
return undefined;
|
|
101
117
|
};
|
|
118
|
+
var handleInputChange = useCallback( /*#__PURE__*/function () {
|
|
119
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(newSearchTerm, actionMeta) {
|
|
120
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
121
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
122
|
+
case 0:
|
|
123
|
+
if (!(actionMeta.action === 'input-change' && newSearchTerm !== searchTerm)) {
|
|
124
|
+
_context2.next = 7;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
setSearchTerm(newSearchTerm);
|
|
128
|
+
_context2.t0 = setOptions;
|
|
129
|
+
_context2.next = 5;
|
|
130
|
+
return debouncedLoadOptions(newSearchTerm);
|
|
131
|
+
case 5:
|
|
132
|
+
_context2.t1 = _context2.sent;
|
|
133
|
+
(0, _context2.t0)(_context2.t1);
|
|
134
|
+
case 7:
|
|
135
|
+
case "end":
|
|
136
|
+
return _context2.stop();
|
|
137
|
+
}
|
|
138
|
+
}, _callee2);
|
|
139
|
+
}));
|
|
140
|
+
return function (_x2, _x3) {
|
|
141
|
+
return _ref4.apply(this, arguments);
|
|
142
|
+
};
|
|
143
|
+
}(), [debouncedLoadOptions, searchTerm]);
|
|
144
|
+
var onClose = useCallback(function () {
|
|
145
|
+
setSearchTerm('');
|
|
146
|
+
setOptions(mapObjectSchemasToOptions(initialObjectSchemas));
|
|
147
|
+
}, [initialObjectSchemas]);
|
|
102
148
|
return /*#__PURE__*/React.createElement(FieldContainer, null, /*#__PURE__*/React.createElement(Field, {
|
|
103
149
|
name: objectSchemaKey,
|
|
104
150
|
defaultValue: selectedObjectSchema,
|
|
105
151
|
validate: function validate(value) {
|
|
106
152
|
return validateSchema(value);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
153
|
+
},
|
|
154
|
+
testId: testId
|
|
155
|
+
}, function (_ref5) {
|
|
156
|
+
var _ref5$fieldProps = _ref5.fieldProps,
|
|
157
|
+
_onChange = _ref5$fieldProps.onChange,
|
|
158
|
+
onFocus = _ref5$fieldProps.onFocus,
|
|
159
|
+
restFieldProps = _objectWithoutProperties(_ref5$fieldProps, _excluded2);
|
|
160
|
+
return fg('linking-platform-assests-schema-selector-refresh') ? /*#__PURE__*/React.createElement(PopupSelect, _extends({
|
|
161
|
+
autoFocus: true,
|
|
162
|
+
maxMenuWidth: 300,
|
|
163
|
+
minMenuWidth: 300,
|
|
164
|
+
isSearchable: true,
|
|
165
|
+
searchThreshold: -1,
|
|
166
|
+
isLoading: objectSchemasLoading,
|
|
167
|
+
options: options,
|
|
168
|
+
placeholder: formatMessage(objectSchemaSelectMessages.placeholder),
|
|
169
|
+
onChange: function onChange(newOption) {
|
|
170
|
+
return newOption && _onChange(newOption);
|
|
171
|
+
},
|
|
172
|
+
inputValue: searchTerm,
|
|
173
|
+
onInputChange: handleInputChange,
|
|
174
|
+
onMenuClose: onClose
|
|
175
|
+
}, restFieldProps, {
|
|
176
|
+
label: formatMessage(objectSchemaSelectMessages.placeholder),
|
|
177
|
+
target: function target(_ref6) {
|
|
178
|
+
var _restFieldProps$value;
|
|
179
|
+
var isOpen = _ref6.isOpen,
|
|
180
|
+
triggerProps = _objectWithoutProperties(_ref6, _excluded3);
|
|
181
|
+
return /*#__PURE__*/React.createElement(Button, _extends({}, triggerProps, {
|
|
182
|
+
isSelected: isOpen,
|
|
183
|
+
iconAfter: function iconAfter() {
|
|
184
|
+
return /*#__PURE__*/React.createElement(ChevronDownIcon, {
|
|
185
|
+
label: "",
|
|
186
|
+
color: "currentColor",
|
|
187
|
+
size: "small"
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}), ((_restFieldProps$value = restFieldProps.value) === null || _restFieldProps$value === void 0 ? void 0 : _restFieldProps$value.label) || formatMessage(objectSchemaSelectMessages.placeholder));
|
|
191
|
+
}
|
|
192
|
+
})) : /*#__PURE__*/React.createElement(AsyncSelect, _extends({
|
|
114
193
|
autoFocus: true,
|
|
115
194
|
classNamePrefix: classNamePrefix,
|
|
116
195
|
isLoading: objectSchemasLoading,
|
|
@@ -9,6 +9,7 @@ type AssetsObjectSchemaSelectProps = {
|
|
|
9
9
|
workspaceId: string;
|
|
10
10
|
initialObjectSchemas: ObjectSchema[] | undefined;
|
|
11
11
|
classNamePrefix?: string;
|
|
12
|
+
testId?: string;
|
|
12
13
|
};
|
|
13
14
|
export declare const SEARCH_DEBOUNCE_MS = 350;
|
|
14
15
|
/**
|
|
@@ -21,5 +22,5 @@ export declare const selectInAModalStyleFixProps: {
|
|
|
21
22
|
};
|
|
22
23
|
menuPortalTarget: HTMLElement;
|
|
23
24
|
};
|
|
24
|
-
export declare const AssetsObjectSchemaSelect: ({ value, workspaceId, initialObjectSchemas, classNamePrefix, }: AssetsObjectSchemaSelectProps) => JSX.Element;
|
|
25
|
+
export declare const AssetsObjectSchemaSelect: ({ value, workspaceId, initialObjectSchemas, classNamePrefix, testId, }: AssetsObjectSchemaSelectProps) => JSX.Element;
|
|
25
26
|
export {};
|
|
@@ -9,6 +9,7 @@ type AssetsObjectSchemaSelectProps = {
|
|
|
9
9
|
workspaceId: string;
|
|
10
10
|
initialObjectSchemas: ObjectSchema[] | undefined;
|
|
11
11
|
classNamePrefix?: string;
|
|
12
|
+
testId?: string;
|
|
12
13
|
};
|
|
13
14
|
export declare const SEARCH_DEBOUNCE_MS = 350;
|
|
14
15
|
/**
|
|
@@ -21,5 +22,5 @@ export declare const selectInAModalStyleFixProps: {
|
|
|
21
22
|
};
|
|
22
23
|
menuPortalTarget: HTMLElement;
|
|
23
24
|
};
|
|
24
|
-
export declare const AssetsObjectSchemaSelect: ({ value, workspaceId, initialObjectSchemas, classNamePrefix, }: AssetsObjectSchemaSelectProps) => JSX.Element;
|
|
25
|
+
export declare const AssetsObjectSchemaSelect: ({ value, workspaceId, initialObjectSchemas, classNamePrefix, testId, }: AssetsObjectSchemaSelectProps) => JSX.Element;
|
|
25
26
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.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",
|
|
@@ -29,8 +29,7 @@
|
|
|
29
29
|
"i18n": true,
|
|
30
30
|
"website": {
|
|
31
31
|
"name": "Link Datasource"
|
|
32
|
-
}
|
|
33
|
-
"runReact18": true
|
|
32
|
+
}
|
|
34
33
|
},
|
|
35
34
|
"scripts": {
|
|
36
35
|
"analytics:codegen": "yarn workspace @atlassian/analytics-tooling run analytics:codegen link-datasource --output ./src/analytics/generated",
|
|
@@ -41,7 +40,7 @@
|
|
|
41
40
|
"@atlaskit/analytics-next": "^11.1.0",
|
|
42
41
|
"@atlaskit/atlassian-context": "^0.3.0",
|
|
43
42
|
"@atlaskit/avatar": "^25.1.0",
|
|
44
|
-
"@atlaskit/avatar-group": "^12.
|
|
43
|
+
"@atlaskit/avatar-group": "^12.1.0",
|
|
45
44
|
"@atlaskit/badge": "^18.1.0",
|
|
46
45
|
"@atlaskit/button": "^23.2.0",
|
|
47
46
|
"@atlaskit/css": "^0.12.0",
|
|
@@ -76,9 +75,9 @@
|
|
|
76
75
|
"@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll": "^2.0.0",
|
|
77
76
|
"@atlaskit/pragmatic-drag-and-drop-react-drop-indicator": "^3.2.0",
|
|
78
77
|
"@atlaskit/primitives": "^14.10.0",
|
|
79
|
-
"@atlaskit/react-select": "^3.
|
|
78
|
+
"@atlaskit/react-select": "^3.1.0",
|
|
80
79
|
"@atlaskit/select": "^21.0.0",
|
|
81
|
-
"@atlaskit/smart-card": "^38.
|
|
80
|
+
"@atlaskit/smart-card": "^38.21.0",
|
|
82
81
|
"@atlaskit/smart-user-picker": "^8.0.0",
|
|
83
82
|
"@atlaskit/spinner": "^18.0.0",
|
|
84
83
|
"@atlaskit/tag": "^14.0.0",
|
|
@@ -108,7 +107,7 @@
|
|
|
108
107
|
"@af/visual-regression": "workspace:^",
|
|
109
108
|
"@atlaskit/json-ld-types": "^1.4.0",
|
|
110
109
|
"@atlaskit/link-provider": "^3.4.0",
|
|
111
|
-
"@atlaskit/link-test-helpers": "^8.
|
|
110
|
+
"@atlaskit/link-test-helpers": "^8.2.0",
|
|
112
111
|
"@atlaskit/ssr": "workspace:^",
|
|
113
112
|
"@atlaskit/visual-regression": "workspace:^",
|
|
114
113
|
"@atlassian/feature-flags-test-utils": "^0.3.0",
|
|
@@ -177,8 +176,7 @@
|
|
|
177
176
|
"type": "boolean"
|
|
178
177
|
},
|
|
179
178
|
"platform-linking-visual-refresh-v1": {
|
|
180
|
-
"type": "boolean"
|
|
181
|
-
"showOnWebsiteForTransitiveDependencies": true
|
|
179
|
+
"type": "boolean"
|
|
182
180
|
},
|
|
183
181
|
"platform-linking-visual-refresh-sllv": {
|
|
184
182
|
"type": "boolean"
|
|
@@ -200,6 +198,9 @@
|
|
|
200
198
|
},
|
|
201
199
|
"platform_linking_set_should_show_calender_button": {
|
|
202
200
|
"type": "boolean"
|
|
201
|
+
},
|
|
202
|
+
"linking-platform-assests-schema-selector-refresh": {
|
|
203
|
+
"type": "boolean"
|
|
203
204
|
}
|
|
204
205
|
},
|
|
205
206
|
"compassUnitTestMetricSourceId": "ari:cloud:compass:a436116f-02ce-4520-8fbb-7301462a1674:metric-source/c5751cc6-3513-4070-9deb-af31e86aed34/9c893299-a527-4457-9b46-f3bc4c828766"
|