@atlaskit/link-datasource 7.5.2 → 7.5.3
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 +10 -0
- package/compass.yml +1 -1
- package/dist/cjs/ui/issue-like-table/edit-type/icon/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/edit-type/inline-edit-layer/index.js +49 -0
- package/dist/cjs/ui/issue-like-table/edit-type/status/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/edit-type/text/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/edit-type/user/index.js +2 -4
- package/dist/es2019/ui/issue-like-table/edit-type/icon/index.js +2 -4
- package/dist/es2019/ui/issue-like-table/edit-type/inline-edit-layer/index.js +43 -0
- package/dist/es2019/ui/issue-like-table/edit-type/status/index.js +2 -4
- package/dist/es2019/ui/issue-like-table/edit-type/text/index.js +2 -4
- package/dist/es2019/ui/issue-like-table/edit-type/user/index.js +2 -4
- package/dist/esm/ui/issue-like-table/edit-type/icon/index.js +2 -4
- package/dist/esm/ui/issue-like-table/edit-type/inline-edit-layer/index.js +42 -0
- package/dist/esm/ui/issue-like-table/edit-type/status/index.js +2 -4
- package/dist/esm/ui/issue-like-table/edit-type/text/index.js +2 -4
- package/dist/esm/ui/issue-like-table/edit-type/user/index.js +2 -4
- package/dist/types/ui/issue-like-table/edit-type/inline-edit-layer/index.d.ts +7 -0
- package/package.json +9 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 7.5.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`0cc2e73141eea`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0cc2e73141eea) -
|
|
8
|
+
Behind the `platform-dst-top-layer` feature gate, no longer uses `@atlaskit/layering`. Open
|
|
9
|
+
overlays are found with the `@atlaskit/top-layer/page-surface` entry points instead
|
|
10
|
+
(`platform-dst-top-layer-tooltip` for tooltip). Behaviour with the gate off is unchanged.
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
3
13
|
## 7.5.2
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/compass.yml
CHANGED
|
@@ -27,7 +27,7 @@ links:
|
|
|
27
27
|
url: https://opsj.atlassian.net/jira/ops/teams/62c5672c-3754-4ebe-8a0f-4d1c87ded5b5/on-call
|
|
28
28
|
- name: Slack Channel
|
|
29
29
|
type: CHAT_CHANNEL
|
|
30
|
-
url: https://atlassian.enterprise.slack.com/archives/C09LKUEEPGT #
|
|
30
|
+
url: https://atlassian.enterprise.slack.com/archives/C09LKUEEPGT #rovo-growth
|
|
31
31
|
- name: Link Datasource
|
|
32
32
|
type: REPOSITORY
|
|
33
33
|
url: https://bitbucket.org/atlassian/atlassian-frontend-monorepo/src/master/platform/packages/linking-platform/link-datasource
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _layering = require("@atlaskit/layering/layering");
|
|
12
11
|
var _default2 = _interopRequireDefault(require("@atlaskit/select/default"));
|
|
13
12
|
var _Tooltip = _interopRequireDefault(require("@atlaskit/tooltip/Tooltip"));
|
|
14
13
|
var _failUfoExperience = require("../../../../analytics/ufoExperiences/failUfoExperience");
|
|
@@ -18,6 +17,7 @@ var _useLoadOptions2 = require("../../../../hooks/useLoadOptions");
|
|
|
18
17
|
var _getCleanedSelectProps = require("../../get-cleaned-select-props");
|
|
19
18
|
var _icon = require("../../shared-components/icon");
|
|
20
19
|
var _inlineEdit = require("../../table-cell-content/inline-edit");
|
|
20
|
+
var _inlineEditLayer = require("../inline-edit-layer");
|
|
21
21
|
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); }
|
|
22
22
|
var IconEditType = function IconEditType(props) {
|
|
23
23
|
var _currentValue$values;
|
|
@@ -45,9 +45,7 @@ var IconEditType = function IconEditType(props) {
|
|
|
45
45
|
}, experienceId);
|
|
46
46
|
}
|
|
47
47
|
}, [experienceId, isLoading, hasFailed]);
|
|
48
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
49
|
-
isDisabled: false
|
|
50
|
-
}, /*#__PURE__*/_react.default.createElement(_default2.default, (0, _extends2.default)({}, (0, _getCleanedSelectProps.getCleanedSelectProps)(props), {
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_inlineEditLayer.InlineEditLayer, null, /*#__PURE__*/_react.default.createElement(_default2.default, (0, _extends2.default)({}, (0, _getCleanedSelectProps.getCleanedSelectProps)(props), {
|
|
51
49
|
menuPortalTarget: document.body,
|
|
52
50
|
autoFocus: true,
|
|
53
51
|
blurInputOnSelect: true,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.InlineEditLayer = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _layering = require("@atlaskit/layering/layering");
|
|
10
|
+
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
11
|
+
var _hasOpenDialogOrPopover = require("@atlaskit/top-layer/page-surface/has-open-dialog-or-popover");
|
|
12
|
+
var _requestClosePopovers = require("@atlaskit/top-layer/page-surface/request-close-popovers");
|
|
13
|
+
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); }
|
|
14
|
+
/**
|
|
15
|
+
* Wraps an inline edit view, so that Escape cancels the edit and does not close a containing modal.
|
|
16
|
+
*/
|
|
17
|
+
var InlineEditLayer = exports.InlineEditLayer = function InlineEditLayer(_ref) {
|
|
18
|
+
var children = _ref.children;
|
|
19
|
+
var onKeyDown = (0, _react.useCallback)(function (event) {
|
|
20
|
+
if (event.key !== 'Escape') {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// An open menu takes the first Escape, and the edit stays open (as with layering).
|
|
25
|
+
if ((0, _hasOpenDialogOrPopover.hasOpenDialogOrPopover)({
|
|
26
|
+
within: event.currentTarget
|
|
27
|
+
})) {
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
(0, _requestClosePopovers.requestClosePopovers)({
|
|
31
|
+
within: event.currentTarget
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// The inline edit form still cancels the edit. A containing modal ignores a prevented Escape.
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
}, []);
|
|
39
|
+
if (!(0, _fg.fg)('platform-dst-top-layer')) {
|
|
40
|
+
// The Escape handler of a containing modal yields while this layer is open.
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(_layering.Layering, {
|
|
42
|
+
isDisabled: false
|
|
43
|
+
}, children);
|
|
44
|
+
}
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
46
|
+
role: "presentation",
|
|
47
|
+
onKeyDown: onKeyDown
|
|
48
|
+
}, children);
|
|
49
|
+
};
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _layering = require("@atlaskit/layering/layering");
|
|
12
11
|
var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge/new/lozenge"));
|
|
13
12
|
var _default2 = _interopRequireDefault(require("@atlaskit/select/default"));
|
|
14
13
|
var _Tooltip = _interopRequireDefault(require("@atlaskit/tooltip/Tooltip"));
|
|
@@ -18,6 +17,7 @@ var _useDatasourceExperienceId = require("../../../../contexts/datasource-experi
|
|
|
18
17
|
var _useLoadOptions2 = require("../../../../hooks/useLoadOptions");
|
|
19
18
|
var _getCleanedSelectProps = require("../../get-cleaned-select-props");
|
|
20
19
|
var _inlineEdit = require("../../table-cell-content/inline-edit");
|
|
20
|
+
var _inlineEditLayer = require("../inline-edit-layer");
|
|
21
21
|
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); }
|
|
22
22
|
var StatusEditType = function StatusEditType(props) {
|
|
23
23
|
var _currentValue$values;
|
|
@@ -45,9 +45,7 @@ var StatusEditType = function StatusEditType(props) {
|
|
|
45
45
|
}, experienceId);
|
|
46
46
|
}
|
|
47
47
|
}, [experienceId, isLoading, hasFailed]);
|
|
48
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
49
|
-
isDisabled: false
|
|
50
|
-
}, /*#__PURE__*/_react.default.createElement(_default2.default, (0, _extends2.default)({}, (0, _getCleanedSelectProps.getCleanedSelectProps)(props), {
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_inlineEditLayer.InlineEditLayer, null, /*#__PURE__*/_react.default.createElement(_default2.default, (0, _extends2.default)({}, (0, _getCleanedSelectProps.getCleanedSelectProps)(props), {
|
|
51
49
|
menuPortalTarget: document.body,
|
|
52
50
|
autoFocus: true,
|
|
53
51
|
options: options,
|
|
@@ -8,10 +8,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _layering = require("@atlaskit/layering/layering");
|
|
12
11
|
var _textField = _interopRequireDefault(require("@atlaskit/textfield/text-field"));
|
|
13
12
|
var _succeedUfoExperience = require("../../../../analytics/ufoExperiences/succeedUfoExperience");
|
|
14
13
|
var _useDatasourceExperienceId = require("../../../../contexts/datasource-experience-id/use-datasource-experience-id");
|
|
14
|
+
var _inlineEditLayer = require("../inline-edit-layer");
|
|
15
15
|
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); }
|
|
16
16
|
var TextEditType = function TextEditType(props) {
|
|
17
17
|
var _currentValue$values$, _currentValue$values;
|
|
@@ -25,9 +25,7 @@ var TextEditType = function TextEditType(props) {
|
|
|
25
25
|
}, experienceId);
|
|
26
26
|
}
|
|
27
27
|
}, [experienceId]);
|
|
28
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
29
|
-
isDisabled: false
|
|
30
|
-
}, /*#__PURE__*/_react.default.createElement(_textField.default, (0, _extends2.default)({}, props, {
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement(_inlineEditLayer.InlineEditLayer, null, /*#__PURE__*/_react.default.createElement(_textField.default, (0, _extends2.default)({}, props, {
|
|
31
29
|
autoFocus: true,
|
|
32
30
|
isCompact: true,
|
|
33
31
|
testId: "inline-edit-text",
|
|
@@ -13,7 +13,6 @@ var _reactIntl = require("react-intl");
|
|
|
13
13
|
var _useDebounce = require("use-debounce");
|
|
14
14
|
var _avatar = _interopRequireDefault(require("@atlaskit/avatar/avatar"));
|
|
15
15
|
var _avatarItem = _interopRequireDefault(require("@atlaskit/avatar/avatar-item"));
|
|
16
|
-
var _layering = require("@atlaskit/layering/layering");
|
|
17
16
|
var _default2 = _interopRequireDefault(require("@atlaskit/select/default"));
|
|
18
17
|
var _Tooltip = _interopRequireDefault(require("@atlaskit/tooltip/Tooltip"));
|
|
19
18
|
var _failUfoExperience = require("../../../../analytics/ufoExperiences/failUfoExperience");
|
|
@@ -25,6 +24,7 @@ var _getCleanedSelectProps = require("../../get-cleaned-select-props");
|
|
|
25
24
|
var _user = require("../../render-type/user");
|
|
26
25
|
var _messages = require("../../render-type/user/messages");
|
|
27
26
|
var _inlineEdit = require("../../table-cell-content/inline-edit");
|
|
27
|
+
var _inlineEditLayer = require("../inline-edit-layer");
|
|
28
28
|
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); }
|
|
29
29
|
var UserEditType = function UserEditType(props) {
|
|
30
30
|
var _currentValue$values;
|
|
@@ -76,9 +76,7 @@ var UserEditType = function UserEditType(props) {
|
|
|
76
76
|
}, experienceId);
|
|
77
77
|
}
|
|
78
78
|
}, [experienceId, isLoading, hasFailed]);
|
|
79
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
80
|
-
isDisabled: false
|
|
81
|
-
}, /*#__PURE__*/_react.default.createElement(_default2.default, (0, _extends2.default)({}, (0, _getCleanedSelectProps.getCleanedSelectProps)(props), {
|
|
79
|
+
return /*#__PURE__*/_react.default.createElement(_inlineEditLayer.InlineEditLayer, null, /*#__PURE__*/_react.default.createElement(_default2.default, (0, _extends2.default)({}, (0, _getCleanedSelectProps.getCleanedSelectProps)(props), {
|
|
82
80
|
menuPortalTarget: document.body,
|
|
83
81
|
autoFocus: true,
|
|
84
82
|
defaultMenuIsOpen: true,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import React, { useEffect } from 'react';
|
|
3
|
-
import { Layering } from '@atlaskit/layering/layering';
|
|
4
3
|
import Select from '@atlaskit/select/default';
|
|
5
4
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
6
5
|
import { failUfoExperience } from '../../../../analytics/ufoExperiences/failUfoExperience';
|
|
@@ -10,6 +9,7 @@ import { useLoadOptions } from '../../../../hooks/useLoadOptions';
|
|
|
10
9
|
import { getCleanedSelectProps } from '../../get-cleaned-select-props';
|
|
11
10
|
import { SharedIconComponent } from '../../shared-components/icon';
|
|
12
11
|
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
12
|
+
import { InlineEditLayer } from '../inline-edit-layer';
|
|
13
13
|
const IconEditType = props => {
|
|
14
14
|
var _currentValue$values;
|
|
15
15
|
const {
|
|
@@ -39,9 +39,7 @@ const IconEditType = props => {
|
|
|
39
39
|
}, experienceId);
|
|
40
40
|
}
|
|
41
41
|
}, [experienceId, isLoading, hasFailed]);
|
|
42
|
-
return /*#__PURE__*/React.createElement(
|
|
43
|
-
isDisabled: false
|
|
44
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
42
|
+
return /*#__PURE__*/React.createElement(InlineEditLayer, null, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
45
43
|
menuPortalTarget: document.body,
|
|
46
44
|
autoFocus: true,
|
|
47
45
|
blurInputOnSelect: true,
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { Layering } from '@atlaskit/layering/layering';
|
|
3
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
4
|
+
import { hasOpenDialogOrPopover } from '@atlaskit/top-layer/page-surface/has-open-dialog-or-popover';
|
|
5
|
+
import { requestClosePopovers } from '@atlaskit/top-layer/page-surface/request-close-popovers';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Wraps an inline edit view, so that Escape cancels the edit and does not close a containing modal.
|
|
9
|
+
*/
|
|
10
|
+
export const InlineEditLayer = ({
|
|
11
|
+
children
|
|
12
|
+
}) => {
|
|
13
|
+
const onKeyDown = useCallback(event => {
|
|
14
|
+
if (event.key !== 'Escape') {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// An open menu takes the first Escape, and the edit stays open (as with layering).
|
|
19
|
+
if (hasOpenDialogOrPopover({
|
|
20
|
+
within: event.currentTarget
|
|
21
|
+
})) {
|
|
22
|
+
event.stopPropagation();
|
|
23
|
+
event.preventDefault();
|
|
24
|
+
requestClosePopovers({
|
|
25
|
+
within: event.currentTarget
|
|
26
|
+
});
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// The inline edit form still cancels the edit. A containing modal ignores a prevented Escape.
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
}, []);
|
|
33
|
+
if (!fg('platform-dst-top-layer')) {
|
|
34
|
+
// The Escape handler of a containing modal yields while this layer is open.
|
|
35
|
+
return /*#__PURE__*/React.createElement(Layering, {
|
|
36
|
+
isDisabled: false
|
|
37
|
+
}, children);
|
|
38
|
+
}
|
|
39
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
40
|
+
role: "presentation",
|
|
41
|
+
onKeyDown: onKeyDown
|
|
42
|
+
}, children);
|
|
43
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import React, { useEffect } from 'react';
|
|
3
|
-
import { Layering } from '@atlaskit/layering/layering';
|
|
4
3
|
import Lozenge from '@atlaskit/lozenge/new/lozenge';
|
|
5
4
|
import Select from '@atlaskit/select/default';
|
|
6
5
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
@@ -10,6 +9,7 @@ import { useDatasourceExperienceId } from '../../../../contexts/datasource-exper
|
|
|
10
9
|
import { useLoadOptions } from '../../../../hooks/useLoadOptions';
|
|
11
10
|
import { getCleanedSelectProps } from '../../get-cleaned-select-props';
|
|
12
11
|
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
12
|
+
import { InlineEditLayer } from '../inline-edit-layer';
|
|
13
13
|
const StatusEditType = props => {
|
|
14
14
|
var _currentValue$values;
|
|
15
15
|
const {
|
|
@@ -39,9 +39,7 @@ const StatusEditType = props => {
|
|
|
39
39
|
}, experienceId);
|
|
40
40
|
}
|
|
41
41
|
}, [experienceId, isLoading, hasFailed]);
|
|
42
|
-
return /*#__PURE__*/React.createElement(
|
|
43
|
-
isDisabled: false
|
|
44
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
42
|
+
return /*#__PURE__*/React.createElement(InlineEditLayer, null, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
45
43
|
menuPortalTarget: document.body,
|
|
46
44
|
autoFocus: true,
|
|
47
45
|
options: options,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import React, { useEffect } from 'react';
|
|
3
|
-
import { Layering } from '@atlaskit/layering/layering';
|
|
4
3
|
import Textfield from '@atlaskit/textfield/text-field';
|
|
5
4
|
import { succeedUfoExperience } from '../../../../analytics/ufoExperiences/succeedUfoExperience';
|
|
6
5
|
import { useDatasourceExperienceId } from '../../../../contexts/datasource-experience-id/use-datasource-experience-id';
|
|
6
|
+
import { InlineEditLayer } from '../inline-edit-layer';
|
|
7
7
|
const TextEditType = props => {
|
|
8
8
|
var _currentValue$values$, _currentValue$values;
|
|
9
9
|
const experienceId = useDatasourceExperienceId();
|
|
@@ -18,9 +18,7 @@ const TextEditType = props => {
|
|
|
18
18
|
}, experienceId);
|
|
19
19
|
}
|
|
20
20
|
}, [experienceId]);
|
|
21
|
-
return /*#__PURE__*/React.createElement(
|
|
22
|
-
isDisabled: false
|
|
23
|
-
}, /*#__PURE__*/React.createElement(Textfield, _extends({}, props, {
|
|
21
|
+
return /*#__PURE__*/React.createElement(InlineEditLayer, null, /*#__PURE__*/React.createElement(Textfield, _extends({}, props, {
|
|
24
22
|
autoFocus: true,
|
|
25
23
|
isCompact: true,
|
|
26
24
|
testId: "inline-edit-text",
|
|
@@ -4,7 +4,6 @@ import { useIntl } from 'react-intl';
|
|
|
4
4
|
import { useDebouncedCallback } from 'use-debounce';
|
|
5
5
|
import Avatar from '@atlaskit/avatar/avatar';
|
|
6
6
|
import AvatarItem from '@atlaskit/avatar/avatar-item';
|
|
7
|
-
import { Layering } from '@atlaskit/layering/layering';
|
|
8
7
|
import Select from '@atlaskit/select/default';
|
|
9
8
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
10
9
|
import { failUfoExperience } from '../../../../analytics/ufoExperiences/failUfoExperience';
|
|
@@ -16,6 +15,7 @@ import { getCleanedSelectProps } from '../../get-cleaned-select-props';
|
|
|
16
15
|
import { USER_TYPE_TEST_ID } from '../../render-type/user';
|
|
17
16
|
import { userTypeMessages } from '../../render-type/user/messages';
|
|
18
17
|
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
18
|
+
import { InlineEditLayer } from '../inline-edit-layer';
|
|
19
19
|
const UserEditType = props => {
|
|
20
20
|
var _currentValue$values;
|
|
21
21
|
const {
|
|
@@ -61,9 +61,7 @@ const UserEditType = props => {
|
|
|
61
61
|
}, experienceId);
|
|
62
62
|
}
|
|
63
63
|
}, [experienceId, isLoading, hasFailed]);
|
|
64
|
-
return /*#__PURE__*/React.createElement(
|
|
65
|
-
isDisabled: false
|
|
66
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
64
|
+
return /*#__PURE__*/React.createElement(InlineEditLayer, null, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
67
65
|
menuPortalTarget: document.body,
|
|
68
66
|
autoFocus: true,
|
|
69
67
|
defaultMenuIsOpen: true,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import React, { useEffect } from 'react';
|
|
3
|
-
import { Layering } from '@atlaskit/layering/layering';
|
|
4
3
|
import Select from '@atlaskit/select/default';
|
|
5
4
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
6
5
|
import { failUfoExperience } from '../../../../analytics/ufoExperiences/failUfoExperience';
|
|
@@ -10,6 +9,7 @@ import { useLoadOptions } from '../../../../hooks/useLoadOptions';
|
|
|
10
9
|
import { getCleanedSelectProps } from '../../get-cleaned-select-props';
|
|
11
10
|
import { SharedIconComponent } from '../../shared-components/icon';
|
|
12
11
|
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
12
|
+
import { InlineEditLayer } from '../inline-edit-layer';
|
|
13
13
|
var IconEditType = function IconEditType(props) {
|
|
14
14
|
var _currentValue$values;
|
|
15
15
|
var currentValue = props.currentValue,
|
|
@@ -36,9 +36,7 @@ var IconEditType = function IconEditType(props) {
|
|
|
36
36
|
}, experienceId);
|
|
37
37
|
}
|
|
38
38
|
}, [experienceId, isLoading, hasFailed]);
|
|
39
|
-
return /*#__PURE__*/React.createElement(
|
|
40
|
-
isDisabled: false
|
|
41
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
39
|
+
return /*#__PURE__*/React.createElement(InlineEditLayer, null, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
42
40
|
menuPortalTarget: document.body,
|
|
43
41
|
autoFocus: true,
|
|
44
42
|
blurInputOnSelect: true,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { Layering } from '@atlaskit/layering/layering';
|
|
3
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
4
|
+
import { hasOpenDialogOrPopover } from '@atlaskit/top-layer/page-surface/has-open-dialog-or-popover';
|
|
5
|
+
import { requestClosePopovers } from '@atlaskit/top-layer/page-surface/request-close-popovers';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Wraps an inline edit view, so that Escape cancels the edit and does not close a containing modal.
|
|
9
|
+
*/
|
|
10
|
+
export var InlineEditLayer = function InlineEditLayer(_ref) {
|
|
11
|
+
var children = _ref.children;
|
|
12
|
+
var onKeyDown = useCallback(function (event) {
|
|
13
|
+
if (event.key !== 'Escape') {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// An open menu takes the first Escape, and the edit stays open (as with layering).
|
|
18
|
+
if (hasOpenDialogOrPopover({
|
|
19
|
+
within: event.currentTarget
|
|
20
|
+
})) {
|
|
21
|
+
event.stopPropagation();
|
|
22
|
+
event.preventDefault();
|
|
23
|
+
requestClosePopovers({
|
|
24
|
+
within: event.currentTarget
|
|
25
|
+
});
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// The inline edit form still cancels the edit. A containing modal ignores a prevented Escape.
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
}, []);
|
|
32
|
+
if (!fg('platform-dst-top-layer')) {
|
|
33
|
+
// The Escape handler of a containing modal yields while this layer is open.
|
|
34
|
+
return /*#__PURE__*/React.createElement(Layering, {
|
|
35
|
+
isDisabled: false
|
|
36
|
+
}, children);
|
|
37
|
+
}
|
|
38
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
role: "presentation",
|
|
40
|
+
onKeyDown: onKeyDown
|
|
41
|
+
}, children);
|
|
42
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import React, { useEffect } from 'react';
|
|
3
|
-
import { Layering } from '@atlaskit/layering/layering';
|
|
4
3
|
import Lozenge from '@atlaskit/lozenge/new/lozenge';
|
|
5
4
|
import Select from '@atlaskit/select/default';
|
|
6
5
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
@@ -10,6 +9,7 @@ import { useDatasourceExperienceId } from '../../../../contexts/datasource-exper
|
|
|
10
9
|
import { useLoadOptions } from '../../../../hooks/useLoadOptions';
|
|
11
10
|
import { getCleanedSelectProps } from '../../get-cleaned-select-props';
|
|
12
11
|
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
12
|
+
import { InlineEditLayer } from '../inline-edit-layer';
|
|
13
13
|
var StatusEditType = function StatusEditType(props) {
|
|
14
14
|
var _currentValue$values;
|
|
15
15
|
var currentValue = props.currentValue,
|
|
@@ -36,9 +36,7 @@ var StatusEditType = function StatusEditType(props) {
|
|
|
36
36
|
}, experienceId);
|
|
37
37
|
}
|
|
38
38
|
}, [experienceId, isLoading, hasFailed]);
|
|
39
|
-
return /*#__PURE__*/React.createElement(
|
|
40
|
-
isDisabled: false
|
|
41
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
39
|
+
return /*#__PURE__*/React.createElement(InlineEditLayer, null, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
42
40
|
menuPortalTarget: document.body,
|
|
43
41
|
autoFocus: true,
|
|
44
42
|
options: options,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import React, { useEffect } from 'react';
|
|
3
|
-
import { Layering } from '@atlaskit/layering/layering';
|
|
4
3
|
import Textfield from '@atlaskit/textfield/text-field';
|
|
5
4
|
import { succeedUfoExperience } from '../../../../analytics/ufoExperiences/succeedUfoExperience';
|
|
6
5
|
import { useDatasourceExperienceId } from '../../../../contexts/datasource-experience-id/use-datasource-experience-id';
|
|
6
|
+
import { InlineEditLayer } from '../inline-edit-layer';
|
|
7
7
|
var TextEditType = function TextEditType(props) {
|
|
8
8
|
var _currentValue$values$, _currentValue$values;
|
|
9
9
|
var experienceId = useDatasourceExperienceId();
|
|
@@ -16,9 +16,7 @@ var TextEditType = function TextEditType(props) {
|
|
|
16
16
|
}, experienceId);
|
|
17
17
|
}
|
|
18
18
|
}, [experienceId]);
|
|
19
|
-
return /*#__PURE__*/React.createElement(
|
|
20
|
-
isDisabled: false
|
|
21
|
-
}, /*#__PURE__*/React.createElement(Textfield, _extends({}, props, {
|
|
19
|
+
return /*#__PURE__*/React.createElement(InlineEditLayer, null, /*#__PURE__*/React.createElement(Textfield, _extends({}, props, {
|
|
22
20
|
autoFocus: true,
|
|
23
21
|
isCompact: true,
|
|
24
22
|
testId: "inline-edit-text",
|
|
@@ -5,7 +5,6 @@ import { useIntl } from 'react-intl';
|
|
|
5
5
|
import { useDebouncedCallback } from 'use-debounce';
|
|
6
6
|
import Avatar from '@atlaskit/avatar/avatar';
|
|
7
7
|
import AvatarItem from '@atlaskit/avatar/avatar-item';
|
|
8
|
-
import { Layering } from '@atlaskit/layering/layering';
|
|
9
8
|
import Select from '@atlaskit/select/default';
|
|
10
9
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
11
10
|
import { failUfoExperience } from '../../../../analytics/ufoExperiences/failUfoExperience';
|
|
@@ -17,6 +16,7 @@ import { getCleanedSelectProps } from '../../get-cleaned-select-props';
|
|
|
17
16
|
import { USER_TYPE_TEST_ID } from '../../render-type/user';
|
|
18
17
|
import { userTypeMessages } from '../../render-type/user/messages';
|
|
19
18
|
import { InlineEditUFOExperience } from '../../table-cell-content/inline-edit';
|
|
19
|
+
import { InlineEditLayer } from '../inline-edit-layer';
|
|
20
20
|
var UserEditType = function UserEditType(props) {
|
|
21
21
|
var _currentValue$values;
|
|
22
22
|
var currentValue = props.currentValue,
|
|
@@ -67,9 +67,7 @@ var UserEditType = function UserEditType(props) {
|
|
|
67
67
|
}, experienceId);
|
|
68
68
|
}
|
|
69
69
|
}, [experienceId, isLoading, hasFailed]);
|
|
70
|
-
return /*#__PURE__*/React.createElement(
|
|
71
|
-
isDisabled: false
|
|
72
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
70
|
+
return /*#__PURE__*/React.createElement(InlineEditLayer, null, /*#__PURE__*/React.createElement(Select, _extends({}, getCleanedSelectProps(props), {
|
|
73
71
|
menuPortalTarget: document.body,
|
|
74
72
|
autoFocus: true,
|
|
75
73
|
defaultMenuIsOpen: true,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "7.5.
|
|
3
|
+
"version": "7.5.3",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@atlaskit/avatar": "^30.0.0",
|
|
47
47
|
"@atlaskit/avatar-group": "^14.4.0",
|
|
48
48
|
"@atlaskit/badge": "^22.0.0",
|
|
49
|
-
"@atlaskit/button": "^25.
|
|
49
|
+
"@atlaskit/button": "^25.6.0",
|
|
50
50
|
"@atlaskit/css": "^1.1.0",
|
|
51
51
|
"@atlaskit/datetime-picker": "^19.3.0",
|
|
52
52
|
"@atlaskit/dropdown-menu": "^21.0.0",
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"@atlaskit/inline-edit": "^16.4.0",
|
|
62
62
|
"@atlaskit/intl-messages-provider": "^5.0.0",
|
|
63
63
|
"@atlaskit/jql-ast": "^4.2.0",
|
|
64
|
-
"@atlaskit/jql-editor": "^8.
|
|
64
|
+
"@atlaskit/jql-editor": "^8.5.0",
|
|
65
65
|
"@atlaskit/jql-editor-autocomplete-rest": "^4.6.0",
|
|
66
|
-
"@atlaskit/layering": "^6.
|
|
66
|
+
"@atlaskit/layering": "^6.1.0",
|
|
67
67
|
"@atlaskit/link": "^5.1.0",
|
|
68
68
|
"@atlaskit/link-client-extension": "^8.0.0",
|
|
69
69
|
"@atlaskit/link-provider": "^6.0.0",
|
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
"@atlaskit/toggle": "^17.3.0",
|
|
96
96
|
"@atlaskit/tokens": "^20.6.0",
|
|
97
97
|
"@atlaskit/tooltip": "^24.4.0",
|
|
98
|
+
"@atlaskit/top-layer": "^6.6.0",
|
|
98
99
|
"@atlaskit/ufo": "^2.0.0",
|
|
99
100
|
"@atlaskit/user-picker": "^14.2.0",
|
|
100
101
|
"@atlaskit/visually-hidden": "^4.4.0",
|
|
@@ -120,6 +121,7 @@
|
|
|
120
121
|
"@af/integration-testing": "workspace:^",
|
|
121
122
|
"@af/visual-regression": "workspace:^",
|
|
122
123
|
"@atlaskit/code": "^20.0.0",
|
|
124
|
+
"@atlaskit/docs": "^12.3.0",
|
|
123
125
|
"@atlaskit/json-ld-types": "^2.1.0",
|
|
124
126
|
"@atlaskit/link-test-helpers": "^11.2.0",
|
|
125
127
|
"@atlaskit/radio": "^10.2.0",
|
|
@@ -179,6 +181,9 @@
|
|
|
179
181
|
"electric_issue_like_table_xpc_url_wrapping": {
|
|
180
182
|
"type": "boolean"
|
|
181
183
|
},
|
|
184
|
+
"platform-dst-top-layer": {
|
|
185
|
+
"type": "boolean"
|
|
186
|
+
},
|
|
182
187
|
"platform-dst-top-layer-tooltip": {
|
|
183
188
|
"type": "boolean",
|
|
184
189
|
"referenceOnly": true
|