@atlaskit/link-create 1.5.0 → 1.6.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 +14 -0
- package/analytics.spec.yaml +14 -0
- package/dist/cjs/common/ui/Button/index.js +37 -0
- package/dist/cjs/common/ui/error-boundary-modal/index.js +30 -0
- package/dist/cjs/common/utils/analytics/analytics.codegen.js +1 -1
- package/dist/cjs/common/utils/analytics/components.js +20 -0
- package/dist/cjs/controllers/edit-post-create-context/index.js +14 -3
- package/dist/cjs/controllers/plugin-context/index.js +1 -1
- package/dist/cjs/ui/create-form/main.js +24 -6
- package/dist/cjs/ui/link-create/confirm-dismiss-dialog/main.js +18 -5
- package/dist/cjs/ui/link-create/edit-modal/index.js +12 -3
- package/dist/cjs/ui/link-create/error-boundary/error-boundary-base/index.js +4 -7
- package/dist/cjs/ui/link-create/error-boundary/index.js +4 -3
- package/dist/cjs/ui/link-create/main.js +53 -6
- package/dist/cjs/ui/main.js +12 -1
- package/dist/es2019/common/ui/Button/index.js +27 -0
- package/dist/es2019/common/ui/error-boundary-modal/index.js +22 -0
- package/dist/es2019/common/utils/analytics/analytics.codegen.js +1 -1
- package/dist/es2019/common/utils/analytics/components.js +15 -0
- package/dist/es2019/controllers/edit-post-create-context/index.js +11 -4
- package/dist/es2019/controllers/plugin-context/index.js +1 -1
- package/dist/es2019/ui/create-form/main.js +20 -3
- package/dist/es2019/ui/link-create/confirm-dismiss-dialog/main.js +17 -4
- package/dist/es2019/ui/link-create/edit-modal/index.js +13 -3
- package/dist/es2019/ui/link-create/error-boundary/error-boundary-base/index.js +4 -4
- package/dist/es2019/ui/link-create/error-boundary/index.js +4 -3
- package/dist/es2019/ui/link-create/main.js +38 -6
- package/dist/es2019/ui/main.js +12 -1
- package/dist/esm/common/ui/Button/index.js +27 -0
- package/dist/esm/common/ui/error-boundary-modal/index.js +21 -0
- package/dist/esm/common/utils/analytics/analytics.codegen.js +1 -1
- package/dist/esm/common/utils/analytics/components.js +13 -0
- package/dist/esm/controllers/edit-post-create-context/index.js +15 -4
- package/dist/esm/controllers/plugin-context/index.js +1 -1
- package/dist/esm/ui/create-form/main.js +24 -5
- package/dist/esm/ui/link-create/confirm-dismiss-dialog/main.js +17 -4
- package/dist/esm/ui/link-create/edit-modal/index.js +12 -3
- package/dist/esm/ui/link-create/error-boundary/error-boundary-base/index.js +4 -4
- package/dist/esm/ui/link-create/error-boundary/index.js +4 -3
- package/dist/esm/ui/link-create/main.js +54 -7
- package/dist/esm/ui/main.js +12 -1
- package/dist/types/common/types.d.ts +14 -0
- package/dist/types/common/ui/Button/index.d.ts +5 -0
- package/dist/types/common/ui/error-boundary-modal/index.d.ts +11 -0
- package/dist/types/common/utils/analytics/analytics.codegen.d.ts +6 -2
- package/dist/types/common/utils/analytics/components.d.ts +8 -0
- package/dist/types/controllers/edit-post-create-context/index.d.ts +23 -3
- package/dist/types/controllers/plugin-context/index.d.ts +4 -1
- package/dist/types/ui/create-form/main.d.ts +18 -2
- package/dist/types/ui/link-create/edit-modal/index.d.ts +8 -4
- package/dist/types/ui/link-create/error-boundary/error-boundary-base/index.d.ts +3 -3
- package/dist/types/ui/link-create/error-boundary/index.d.ts +5 -1
- package/dist/types/ui/link-create/main.d.ts +3 -3
- package/dist/types-ts4.5/common/types.d.ts +14 -0
- package/dist/types-ts4.5/common/ui/Button/index.d.ts +5 -0
- package/dist/types-ts4.5/common/ui/error-boundary-modal/index.d.ts +11 -0
- package/dist/types-ts4.5/common/utils/analytics/analytics.codegen.d.ts +6 -2
- package/dist/types-ts4.5/common/utils/analytics/components.d.ts +8 -0
- package/dist/types-ts4.5/controllers/edit-post-create-context/index.d.ts +23 -3
- package/dist/types-ts4.5/controllers/plugin-context/index.d.ts +4 -1
- package/dist/types-ts4.5/ui/create-form/main.d.ts +20 -2
- package/dist/types-ts4.5/ui/link-create/edit-modal/index.d.ts +8 -4
- package/dist/types-ts4.5/ui/link-create/error-boundary/error-boundary-base/index.d.ts +3 -3
- package/dist/types-ts4.5/ui/link-create/error-boundary/index.d.ts +5 -1
- package/dist/types-ts4.5/ui/link-create/main.d.ts +3 -3
- package/package.json +6 -3
- package/report.api.md +25 -4
- package/tmp/api-report-tmp.d.ts +25 -4
- /package/dist/cjs/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/error-svg/index.js +0 -0
- /package/dist/cjs/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/index.js +0 -0
- /package/dist/cjs/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/messages.js +0 -0
- /package/dist/es2019/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/error-svg/index.js +0 -0
- /package/dist/es2019/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/index.js +0 -0
- /package/dist/es2019/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/messages.js +0 -0
- /package/dist/esm/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/error-svg/index.js +0 -0
- /package/dist/esm/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/index.js +0 -0
- /package/dist/esm/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/messages.js +0 -0
- /package/dist/types/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/error-svg/index.d.ts +0 -0
- /package/dist/types/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/index.d.ts +0 -0
- /package/dist/types/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/messages.d.ts +0 -0
- /package/dist/types-ts4.5/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/error-svg/index.d.ts +0 -0
- /package/dist/types-ts4.5/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/index.d.ts +0 -0
- /package/dist/types-ts4.5/{ui/link-create/error-boundary → common/ui}/error-boundary-ui/messages.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/link-create
|
|
2
2
|
|
|
3
|
+
## 1.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#42487](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42487) [`0b6245f9d18`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0b6245f9d18) - EDM-8376: Introduces a editView field to the LinkCreatePlugin interface which will allow plugins to register a screen to edit objects post-creation in a future release.
|
|
8
|
+
|
|
9
|
+
## 1.5.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#42575](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42575) [`d7338b9229e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d7338b9229e) - Updates exit warning dialog to fire analytics on open, and button clicks
|
|
14
|
+
- [#42553](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42553) [`76b95198067`](https://bitbucket.org/atlassian/atlassian-frontend/commits/76b95198067) - Add error boundary to catch unhandled errors outside the link create modal
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
3
17
|
## 1.5.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
package/analytics.spec.yaml
CHANGED
|
@@ -35,6 +35,13 @@ events:
|
|
|
35
35
|
<<: *PackageMetaDataContext
|
|
36
36
|
<<: *LinkCreateAnalyticContext
|
|
37
37
|
|
|
38
|
+
- linkCreateExitWarningScreen viewed:
|
|
39
|
+
type: screen
|
|
40
|
+
description: fired when the link create warning modal is shown to the users to warn them of losing their changes
|
|
41
|
+
attributes:
|
|
42
|
+
<<: *PackageMetaDataContext
|
|
43
|
+
<<: *LinkCreateAnalyticContext
|
|
44
|
+
|
|
38
45
|
- button clicked (create):
|
|
39
46
|
type: ui
|
|
40
47
|
description: fired when the create button is clicked
|
|
@@ -49,6 +56,13 @@ events:
|
|
|
49
56
|
<<: *PackageMetaDataContext
|
|
50
57
|
<<: *LinkCreateAnalyticContext
|
|
51
58
|
|
|
59
|
+
- button clicked (confirm):
|
|
60
|
+
type: ui
|
|
61
|
+
description: fired when the confirmation button is clicked
|
|
62
|
+
attributes:
|
|
63
|
+
<<: *PackageMetaDataContext
|
|
64
|
+
<<: *LinkCreateAnalyticContext
|
|
65
|
+
|
|
52
66
|
- modalDialog closed (linkCreate):
|
|
53
67
|
type: ui
|
|
54
68
|
description: fired when the link create component is unmounted/dismissed for any reason
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Button = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
13
|
+
var _button = _interopRequireDefault(require("@atlaskit/button"));
|
|
14
|
+
var _constants = require("../../../common/constants");
|
|
15
|
+
var _analytics = _interopRequireDefault(require("../../../common/utils/analytics/analytics.codegen"));
|
|
16
|
+
var _excluded = ["actionSubjectId"];
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
var Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
20
|
+
var actionSubjectId = _ref.actionSubjectId,
|
|
21
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
22
|
+
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
23
|
+
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_button.default, (0, _extends2.default)({}, props, {
|
|
25
|
+
ref: ref,
|
|
26
|
+
onClick: function onClick(event) {
|
|
27
|
+
var _props$onClick;
|
|
28
|
+
var payload = (0, _analytics.default)("ui.button.clicked.".concat(actionSubjectId), {});
|
|
29
|
+
var analyticEvent = createAnalyticsEvent(payload);
|
|
30
|
+
var cloned = analyticEvent.clone();
|
|
31
|
+
analyticEvent.fire(_constants.ANALYTICS_CHANNEL);
|
|
32
|
+
(_props$onClick = props.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props, event, cloned !== null && cloned !== void 0 ? cloned : new _analyticsNext.UIAnalyticsEvent({
|
|
33
|
+
payload: payload
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}));
|
|
37
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ErrorBoundaryModal = void 0;
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
|
+
var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
|
|
10
|
+
var _constants = require("../../constants");
|
|
11
|
+
var _errorBoundaryUi = require("../error-boundary-ui");
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
/** @jsx jsx */
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* ErrorBoundaryModal props are the same as those passed to LinkCreate, which
|
|
18
|
+
* are used to control its active state
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
var ErrorBoundaryModal = exports.ErrorBoundaryModal = function ErrorBoundaryModal(_ref) {
|
|
22
|
+
var active = _ref.active,
|
|
23
|
+
onClose = _ref.onClose;
|
|
24
|
+
return (0, _react.jsx)(_modalDialog.ModalTransition, null, active && (0, _react.jsx)(_modalDialog.default, {
|
|
25
|
+
testId: "link-create-error-boundary-modal",
|
|
26
|
+
onClose: onClose,
|
|
27
|
+
shouldScrollInViewport: true,
|
|
28
|
+
width: "".concat(_constants.CREATE_FORM_MAX_WIDTH_IN_PX, "px")
|
|
29
|
+
}, (0, _react.jsx)(_modalDialog.ModalBody, null, (0, _react.jsx)(_errorBoundaryUi.ErrorBoundaryUI, null))));
|
|
30
|
+
};
|
|
@@ -11,7 +11,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
*
|
|
12
12
|
* Generates Typescript types for analytics events from analytics.spec.yaml
|
|
13
13
|
*
|
|
14
|
-
* @codegen <<SignedSource::
|
|
14
|
+
* @codegen <<SignedSource::af0139619517f37a8bca32ddb6b7d6e0>>
|
|
15
15
|
* @codegenCommand yarn workspace @atlaskit/link-create run codegen-analytics
|
|
16
16
|
*/
|
|
17
17
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ScreenViewedEvent = void 0;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
10
|
+
var _constants = require("../../../common/constants");
|
|
11
|
+
var _analytics = _interopRequireDefault(require("./analytics.codegen"));
|
|
12
|
+
var ScreenViewedEvent = exports.ScreenViewedEvent = function ScreenViewedEvent(_ref) {
|
|
13
|
+
var screen = _ref.screen;
|
|
14
|
+
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
15
|
+
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
16
|
+
(0, _react.useEffect)(function () {
|
|
17
|
+
createAnalyticsEvent((0, _analytics.default)("screen.".concat(screen, ".viewed"), {})).fire(_constants.ANALYTICS_CHANNEL);
|
|
18
|
+
}, [createAnalyticsEvent, screen]);
|
|
19
|
+
return null;
|
|
20
|
+
};
|
|
@@ -12,11 +12,16 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
12
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
13
|
var EditPostCreateModalContext = /*#__PURE__*/(0, _react.createContext)({
|
|
14
14
|
editViewPayload: undefined,
|
|
15
|
-
setEditViewPayload: function setEditViewPayload() {}
|
|
15
|
+
setEditViewPayload: function setEditViewPayload() {},
|
|
16
|
+
enableEditView: function enableEditView() {},
|
|
17
|
+
shouldActivateEditView: function shouldActivateEditView() {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
16
20
|
});
|
|
17
21
|
var EditPostCreateModalProvider = exports.EditPostCreateModalProvider = function EditPostCreateModalProvider(_ref) {
|
|
18
22
|
var active = _ref.active,
|
|
19
23
|
children = _ref.children;
|
|
24
|
+
var _shouldActivateEditView = (0, _react.useRef)(false);
|
|
20
25
|
var _useState = (0, _react.useState)(undefined),
|
|
21
26
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
22
27
|
editViewPayload = _useState2[0],
|
|
@@ -24,7 +29,13 @@ var EditPostCreateModalProvider = exports.EditPostCreateModalProvider = function
|
|
|
24
29
|
var value = (0, _react.useMemo)(function () {
|
|
25
30
|
return {
|
|
26
31
|
editViewPayload: editViewPayload,
|
|
27
|
-
setEditViewPayload: setEditViewPayload
|
|
32
|
+
setEditViewPayload: setEditViewPayload,
|
|
33
|
+
enableEditView: function enableEditView(enable) {
|
|
34
|
+
_shouldActivateEditView.current = enable;
|
|
35
|
+
},
|
|
36
|
+
shouldActivateEditView: function shouldActivateEditView() {
|
|
37
|
+
return _shouldActivateEditView.current;
|
|
38
|
+
}
|
|
28
39
|
};
|
|
29
40
|
}, [editViewPayload, setEditViewPayload]);
|
|
30
41
|
if (editViewPayload && !active) {
|
|
@@ -32,7 +43,7 @@ var EditPostCreateModalProvider = exports.EditPostCreateModalProvider = function
|
|
|
32
43
|
}
|
|
33
44
|
return /*#__PURE__*/_react.default.createElement(EditPostCreateModalContext.Provider, {
|
|
34
45
|
value: value
|
|
35
|
-
}, children);
|
|
46
|
+
}, typeof children === 'function' ? children(value) : children);
|
|
36
47
|
};
|
|
37
48
|
var useEditPostCreateModal = exports.useEditPostCreateModal = function useEditPostCreateModal() {
|
|
38
49
|
var value = (0, _react.useContext)(EditPostCreateModalContext);
|
|
@@ -28,7 +28,7 @@ var LinkCreatePluginsProvider = exports.LinkCreatePluginsProvider = function Lin
|
|
|
28
28
|
}, [entityKey, plugins]);
|
|
29
29
|
return /*#__PURE__*/_react.default.createElement(LinkCreatePluginsContext.Provider, {
|
|
30
30
|
value: value
|
|
31
|
-
}, children);
|
|
31
|
+
}, typeof children === 'function' ? children(value) : children);
|
|
32
32
|
};
|
|
33
33
|
var useLinkCreatePlugins = exports.useLinkCreatePlugins = function useLinkCreatePlugins() {
|
|
34
34
|
var value = (0, _react.useContext)(LinkCreatePluginsContext);
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.TEST_ID = exports.CreateForm = void 0;
|
|
8
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
12
|
var _react = require("react");
|
|
12
13
|
var _react2 = require("@emotion/react");
|
|
13
14
|
var _reactFinalForm = require("react-final-form");
|
|
14
15
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
16
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
15
17
|
var _primitives = require("@atlaskit/primitives");
|
|
16
18
|
var _constants = require("../../common/constants");
|
|
17
19
|
var _analytics = _interopRequireDefault(require("../../common/utils/analytics/analytics.codegen"));
|
|
@@ -20,12 +22,14 @@ var _formFooter = require("./form-footer");
|
|
|
20
22
|
var _formLoader = require("./form-loader");
|
|
21
23
|
var _utils = require("./utils");
|
|
22
24
|
var _excluded = ["submitting"];
|
|
23
|
-
|
|
25
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
26
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /** @jsx jsx */
|
|
24
27
|
var formStyles = (0, _react2.css)({
|
|
25
28
|
maxWidth: "".concat(_constants.CREATE_FORM_MAX_WIDTH_IN_PX, "px"),
|
|
26
29
|
padding: "0 0 ".concat("var(--ds-space-300, 24px)", " 0"),
|
|
27
30
|
margin: "var(--ds-space-0, 0px)".concat(" auto")
|
|
28
31
|
});
|
|
32
|
+
var RESERVED_FIELDS = [_constants.LINK_CREATE_FORM_POST_CREATE_FIELD];
|
|
29
33
|
var TEST_ID = exports.TEST_ID = 'link-create-form';
|
|
30
34
|
var CreateForm = exports.CreateForm = function CreateForm(_ref) {
|
|
31
35
|
var children = _ref.children,
|
|
@@ -41,10 +45,11 @@ var CreateForm = exports.CreateForm = function CreateForm(_ref) {
|
|
|
41
45
|
var _useFormContext = (0, _formContext.useFormContext)(),
|
|
42
46
|
getValidators = _useFormContext.getValidators,
|
|
43
47
|
formErrorMessage = _useFormContext.formErrorMessage,
|
|
44
|
-
setFormDirty = _useFormContext.setFormDirty
|
|
48
|
+
setFormDirty = _useFormContext.setFormDirty,
|
|
49
|
+
enableEditView = _useFormContext.enableEditView;
|
|
45
50
|
var handleSubmit = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
46
51
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
|
|
47
|
-
var validators, errors;
|
|
52
|
+
var validators, errors, shouldEnableEditView, formData;
|
|
48
53
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
49
54
|
while (1) switch (_context.prev = _context.next) {
|
|
50
55
|
case 0:
|
|
@@ -60,8 +65,21 @@ var CreateForm = exports.CreateForm = function CreateForm(_ref) {
|
|
|
60
65
|
}
|
|
61
66
|
return _context.abrupt("return", errors);
|
|
62
67
|
case 5:
|
|
68
|
+
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-create.enable-edit')) {
|
|
69
|
+
_context.next = 9;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
shouldEnableEditView = data[_constants.LINK_CREATE_FORM_POST_CREATE_FIELD], formData = (0, _objectWithoutProperties2.default)(data, [_constants.LINK_CREATE_FORM_POST_CREATE_FIELD].map(_toPropertyKey));
|
|
73
|
+
/**
|
|
74
|
+
* If form has post-create field set to trigger post-create edit
|
|
75
|
+
* send this to the form context so we know what to do next
|
|
76
|
+
* if submission is successful
|
|
77
|
+
*/
|
|
78
|
+
enableEditView === null || enableEditView === void 0 || enableEditView(!!shouldEnableEditView);
|
|
79
|
+
return _context.abrupt("return", onSubmit(formData));
|
|
80
|
+
case 9:
|
|
63
81
|
return _context.abrupt("return", onSubmit(data));
|
|
64
|
-
case
|
|
82
|
+
case 10:
|
|
65
83
|
case "end":
|
|
66
84
|
return _context.stop();
|
|
67
85
|
}
|
|
@@ -70,7 +88,7 @@ var CreateForm = exports.CreateForm = function CreateForm(_ref) {
|
|
|
70
88
|
return function (_x) {
|
|
71
89
|
return _ref2.apply(this, arguments);
|
|
72
90
|
};
|
|
73
|
-
}(), [createAnalyticsEvent, getValidators, onSubmit]);
|
|
91
|
+
}(), [createAnalyticsEvent, getValidators, onSubmit, enableEditView]);
|
|
74
92
|
var handleCancel = (0, _react.useCallback)(function () {
|
|
75
93
|
createAnalyticsEvent((0, _analytics.default)('ui.button.clicked.cancel', {})).fire(_constants.ANALYTICS_CHANNEL);
|
|
76
94
|
onCancel && onCancel();
|
|
@@ -8,25 +8,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.ConfirmDismissDialog = void 0;
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _reactIntlNext = require("react-intl-next");
|
|
11
|
-
var
|
|
11
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
12
12
|
var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
|
|
13
|
+
var _Button = require("../../../common/ui/Button");
|
|
14
|
+
var _components = require("../../../common/utils/analytics/components");
|
|
13
15
|
var _messages = _interopRequireDefault(require("./messages"));
|
|
14
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
var screen = 'linkCreateExitWarningScreen';
|
|
19
|
+
var context = {
|
|
20
|
+
component: screen,
|
|
21
|
+
source: screen
|
|
22
|
+
};
|
|
16
23
|
var ConfirmDismissDialog = exports.ConfirmDismissDialog = function ConfirmDismissDialog(_ref) {
|
|
17
24
|
var active = _ref.active,
|
|
18
25
|
onCancelDismiss = _ref.onCancelDismiss,
|
|
19
26
|
onConfirmDismiss = _ref.onConfirmDismiss;
|
|
20
27
|
var intl = (0, _reactIntlNext.useIntl)();
|
|
21
|
-
return /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTransition, null, active && /*#__PURE__*/_react.default.createElement(
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTransition, null, active && /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsContext, {
|
|
29
|
+
data: context
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement(_modalDialog.default, {
|
|
22
31
|
testId: "link-create-confirm-dismiss-dialog",
|
|
23
32
|
onClose: onCancelDismiss,
|
|
24
33
|
width: "small"
|
|
25
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement(_components.ScreenViewedEvent, {
|
|
35
|
+
screen: "linkCreateExitWarningScreen"
|
|
36
|
+
}), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalHeader, null, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, null, intl.formatMessage(_messages.default.title))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, intl.formatMessage(_messages.default.description)), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
37
|
+
actionSubjectId: "cancel",
|
|
26
38
|
appearance: "subtle",
|
|
27
39
|
onClick: onCancelDismiss
|
|
28
|
-
}, intl.formatMessage(_messages.default.cancelButtonLabel)), /*#__PURE__*/_react.default.createElement(
|
|
40
|
+
}, intl.formatMessage(_messages.default.cancelButtonLabel)), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
41
|
+
actionSubjectId: "confirm",
|
|
29
42
|
appearance: "primary",
|
|
30
43
|
onClick: onConfirmDismiss
|
|
31
|
-
}, intl.formatMessage(_messages.default.confirmButtonLabel)))));
|
|
44
|
+
}, intl.formatMessage(_messages.default.confirmButtonLabel))))));
|
|
32
45
|
};
|
|
@@ -9,17 +9,26 @@ exports.EditModal = void 0;
|
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
|
|
11
11
|
var _editPostCreateContext = require("../../../controllers/edit-post-create-context");
|
|
12
|
+
var _pluginContext = require("../../../controllers/plugin-context");
|
|
12
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
15
|
var EditModal = exports.EditModal = function EditModal(_ref) {
|
|
15
|
-
var
|
|
16
|
+
var _activePlugin$editVie;
|
|
17
|
+
var onClose = _ref.onClose,
|
|
18
|
+
onCloseComplete = _ref.onCloseComplete;
|
|
16
19
|
var _useEditPostCreateMod = (0, _editPostCreateContext.useEditPostCreateModal)(),
|
|
17
20
|
editViewPayload = _useEditPostCreateMod.editViewPayload;
|
|
21
|
+
var _useLinkCreatePlugins = (0, _pluginContext.useLinkCreatePlugins)(),
|
|
22
|
+
activePlugin = _useLinkCreatePlugins.activePlugin;
|
|
18
23
|
return /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTransition, null, !!editViewPayload && /*#__PURE__*/_react.default.createElement(_modalDialog.default, {
|
|
19
24
|
testId: "link-create-edit-modal",
|
|
20
25
|
onClose: onClose,
|
|
21
26
|
shouldScrollInViewport: true,
|
|
22
27
|
width: "calc(100vw - 120px)",
|
|
23
|
-
height: "calc(100vh - 120px)"
|
|
24
|
-
|
|
28
|
+
height: "calc(100vh - 120px)",
|
|
29
|
+
onCloseComplete: onCloseComplete
|
|
30
|
+
}, activePlugin === null || activePlugin === void 0 || (_activePlugin$editVie = activePlugin.editView) === null || _activePlugin$editVie === void 0 ? void 0 : _activePlugin$editVie.call(activePlugin, {
|
|
31
|
+
payload: editViewPayload,
|
|
32
|
+
onClose: onClose
|
|
33
|
+
})));
|
|
25
34
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,9 +10,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
11
10
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
11
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
12
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _react =
|
|
15
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
+
var _react = require("react");
|
|
17
14
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
18
15
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
19
16
|
// eslint-disable-next-line @repo/internal/react/no-class-components
|
|
@@ -43,10 +40,10 @@ var BaseErrorBoundary = exports.BaseErrorBoundary = /*#__PURE__*/function (_Comp
|
|
|
43
40
|
value: function render() {
|
|
44
41
|
var _this$props = this.props,
|
|
45
42
|
children = _this$props.children,
|
|
46
|
-
|
|
43
|
+
errorComponent = _this$props.errorComponent;
|
|
47
44
|
var hasError = this.state.hasError;
|
|
48
|
-
if (hasError &&
|
|
49
|
-
return
|
|
45
|
+
if (hasError && errorComponent) {
|
|
46
|
+
return errorComponent;
|
|
50
47
|
}
|
|
51
48
|
return children;
|
|
52
49
|
}
|
|
@@ -9,13 +9,14 @@ exports.ErrorBoundary = void 0;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
11
11
|
var _constants = require("../../../common/constants");
|
|
12
|
+
var _errorBoundaryUi = require("../../../common/ui/error-boundary-ui");
|
|
12
13
|
var _analytics = _interopRequireDefault(require("../../../common/utils/analytics/analytics.codegen"));
|
|
13
14
|
var _errorBoundaryBase = require("./error-boundary-base");
|
|
14
|
-
var _errorBoundaryUi = require("./error-boundary-ui");
|
|
15
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
17
|
var ErrorBoundary = exports.ErrorBoundary = function ErrorBoundary(_ref) {
|
|
18
|
-
var children = _ref.children
|
|
18
|
+
var children = _ref.children,
|
|
19
|
+
errorComponent = _ref.errorComponent;
|
|
19
20
|
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
20
21
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
21
22
|
var handleError = (0, _react.useCallback)(function (error, info) {
|
|
@@ -32,6 +33,6 @@ var ErrorBoundary = exports.ErrorBoundary = function ErrorBoundary(_ref) {
|
|
|
32
33
|
}, [createAnalyticsEvent]);
|
|
33
34
|
return /*#__PURE__*/_react.default.createElement(_errorBoundaryBase.BaseErrorBoundary, {
|
|
34
35
|
onError: handleError,
|
|
35
|
-
|
|
36
|
+
errorComponent: errorComponent !== null && errorComponent !== void 0 ? errorComponent : /*#__PURE__*/_react.default.createElement(_errorBoundaryUi.ErrorBoundaryUI, null)
|
|
36
37
|
}, children);
|
|
37
38
|
};
|
|
@@ -129,6 +129,7 @@ var LinkCreateWithModal = function LinkCreateWithModal(_ref4) {
|
|
|
129
129
|
}, (0, _react2.jsx)(_modalDialog.ModalHeader, null, (0, _react2.jsx)(_modalDialog.ModalTitle, null, modalTitle || intl.formatMessage(_messages.messages.heading))), (0, _react2.jsx)(_modalDialog.ModalBody, null, (0, _react2.jsx)(LinkCreate, (0, _extends2.default)({}, createProps, {
|
|
130
130
|
onCancel: handleCancel
|
|
131
131
|
}))))), (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-create.enable-edit') && (0, _react2.jsx)(_editModal.EditModal, {
|
|
132
|
+
onCloseComplete: onCloseComplete,
|
|
132
133
|
onClose: handleCancel
|
|
133
134
|
}), (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-create.confirm-dismiss-dialog') && (0, _react2.jsx)(_confirmDismissDialog.ConfirmDismissDialog, {
|
|
134
135
|
active: dismissDialog,
|
|
@@ -136,14 +137,60 @@ var LinkCreateWithModal = function LinkCreateWithModal(_ref4) {
|
|
|
136
137
|
onConfirmDismiss: handleConfirmDismiss
|
|
137
138
|
}));
|
|
138
139
|
};
|
|
139
|
-
var
|
|
140
|
+
var LinkCreateModalInternal = function LinkCreateModalInternal(props) {
|
|
140
141
|
if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-create.enable-edit')) {
|
|
141
142
|
return (0, _react2.jsx)(_pluginContext.LinkCreatePluginsProvider, {
|
|
142
143
|
plugins: props.plugins,
|
|
143
144
|
entityKey: props.entityKey
|
|
144
|
-
}, (
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
}, function (pluginsProvider) {
|
|
146
|
+
return (0, _react2.jsx)(_editPostCreateContext.EditPostCreateModalProvider, {
|
|
147
|
+
active: !!props.active
|
|
148
|
+
}, function (_ref5) {
|
|
149
|
+
var _pluginsProvider$acti;
|
|
150
|
+
var setEditViewPayload = _ref5.setEditViewPayload,
|
|
151
|
+
editViewPayload = _ref5.editViewPayload,
|
|
152
|
+
shouldActivateEditView = _ref5.shouldActivateEditView,
|
|
153
|
+
enableEditView = _ref5.enableEditView;
|
|
154
|
+
return (0, _react2.jsx)(_formContext.FormContextProvider, {
|
|
155
|
+
enableEditView: pluginsProvider !== null && pluginsProvider !== void 0 && (_pluginsProvider$acti = pluginsProvider.activePlugin) !== null && _pluginsProvider$acti !== void 0 && _pluginsProvider$acti.editView ? enableEditView : undefined
|
|
156
|
+
}, (0, _react2.jsx)(LinkCreateWithModal, (0, _extends2.default)({}, props, {
|
|
157
|
+
active: props.active && !editViewPayload,
|
|
158
|
+
onCreate: /*#__PURE__*/function () {
|
|
159
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(payload) {
|
|
160
|
+
var _props$onCreate;
|
|
161
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
162
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
163
|
+
case 0:
|
|
164
|
+
_context2.next = 2;
|
|
165
|
+
return (_props$onCreate = props.onCreate) === null || _props$onCreate === void 0 ? void 0 : _props$onCreate.call(props, payload);
|
|
166
|
+
case 2:
|
|
167
|
+
// if onComplete exists then there is an edit flow
|
|
168
|
+
if (props.onComplete) {
|
|
169
|
+
if (shouldActivateEditView()) {
|
|
170
|
+
//edit button is pressed
|
|
171
|
+
setEditViewPayload(payload);
|
|
172
|
+
} else {
|
|
173
|
+
//create button is pressed
|
|
174
|
+
props.onComplete();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
case 3:
|
|
178
|
+
case "end":
|
|
179
|
+
return _context2.stop();
|
|
180
|
+
}
|
|
181
|
+
}, _callee2);
|
|
182
|
+
}));
|
|
183
|
+
return function (_x2) {
|
|
184
|
+
return _ref6.apply(this, arguments);
|
|
185
|
+
};
|
|
186
|
+
}()
|
|
187
|
+
})));
|
|
188
|
+
});
|
|
189
|
+
});
|
|
147
190
|
}
|
|
148
|
-
return (0, _react2.jsx)(LinkCreateWithModal, props);
|
|
149
|
-
}
|
|
191
|
+
return (0, _react2.jsx)(_formContext.FormContextProvider, null, (0, _react2.jsx)(LinkCreateWithModal, props));
|
|
192
|
+
};
|
|
193
|
+
var LinkCreateModalPublic = function LinkCreateModalPublic(props) {
|
|
194
|
+
return (0, _react2.jsx)(LinkCreateModalInternal, props);
|
|
195
|
+
};
|
|
196
|
+
var _default = exports.default = LinkCreateModalPublic;
|
package/dist/cjs/ui/main.js
CHANGED
|
@@ -11,20 +11,31 @@ var _react = require("react");
|
|
|
11
11
|
var _react2 = require("@emotion/react");
|
|
12
12
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
13
13
|
var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
|
|
14
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
14
15
|
var _constants = require("../common/constants");
|
|
16
|
+
var _errorBoundaryModal = require("../common/ui/error-boundary-modal");
|
|
15
17
|
var _analytics = require("../common/utils/analytics");
|
|
16
18
|
var _fetchMessagesForLocale = require("../common/utils/locale/fetch-messages-for-locale");
|
|
17
19
|
var _en = _interopRequireDefault(require("../i18n/en"));
|
|
18
20
|
var _linkCreate = _interopRequireDefault(require("./link-create"));
|
|
21
|
+
var _errorBoundary = require("./link-create/error-boundary");
|
|
19
22
|
/** @jsx jsx */
|
|
20
23
|
|
|
21
24
|
var LinkCreateWithAnalyticsContext = (0, _analytics.withLinkCreateAnalyticsContext)( /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
22
25
|
var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
|
|
26
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-create.outer-error-boundary')) {
|
|
27
|
+
return (0, _react2.jsx)(_errorBoundary.ErrorBoundary, {
|
|
28
|
+
errorComponent: (0, _react2.jsx)(_errorBoundaryModal.ErrorBoundaryModal, {
|
|
29
|
+
active: props.active,
|
|
30
|
+
onClose: props.onCancel
|
|
31
|
+
})
|
|
32
|
+
}, (0, _react2.jsx)(_linkCreate.default, props));
|
|
33
|
+
}
|
|
23
34
|
return (0, _react2.jsx)(_linkCreate.default, props);
|
|
24
35
|
}));
|
|
25
36
|
var PACKAGE_DATA = exports.PACKAGE_DATA = {
|
|
26
37
|
packageName: "@atlaskit/link-create" || '',
|
|
27
|
-
packageVersion: "1.
|
|
38
|
+
packageVersion: "1.6.0" || '',
|
|
28
39
|
componentName: _constants.COMPONENT_NAME,
|
|
29
40
|
source: _constants.COMPONENT_NAME
|
|
30
41
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import { UIAnalyticsEvent, useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
4
|
+
import AkButton from '@atlaskit/button';
|
|
5
|
+
import { ANALYTICS_CHANNEL } from '../../../common/constants';
|
|
6
|
+
import createEventPayload from '../../../common/utils/analytics/analytics.codegen';
|
|
7
|
+
export const Button = /*#__PURE__*/forwardRef(({
|
|
8
|
+
actionSubjectId,
|
|
9
|
+
...props
|
|
10
|
+
}, ref) => {
|
|
11
|
+
const {
|
|
12
|
+
createAnalyticsEvent
|
|
13
|
+
} = useAnalyticsEvents();
|
|
14
|
+
return /*#__PURE__*/React.createElement(AkButton, _extends({}, props, {
|
|
15
|
+
ref: ref,
|
|
16
|
+
onClick: event => {
|
|
17
|
+
var _props$onClick;
|
|
18
|
+
const payload = createEventPayload(`ui.button.clicked.${actionSubjectId}`, {});
|
|
19
|
+
const analyticEvent = createAnalyticsEvent(payload);
|
|
20
|
+
const cloned = analyticEvent.clone();
|
|
21
|
+
analyticEvent.fire(ANALYTICS_CHANNEL);
|
|
22
|
+
(_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props, event, cloned !== null && cloned !== void 0 ? cloned : new UIAnalyticsEvent({
|
|
23
|
+
payload
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
}));
|
|
27
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
import { jsx } from '@emotion/react';
|
|
3
|
+
import Modal, { ModalBody, ModalTransition } from '@atlaskit/modal-dialog';
|
|
4
|
+
import { CREATE_FORM_MAX_WIDTH_IN_PX } from '../../constants';
|
|
5
|
+
import { ErrorBoundaryUI } from '../error-boundary-ui';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* ErrorBoundaryModal props are the same as those passed to LinkCreate, which
|
|
9
|
+
* are used to control its active state
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export const ErrorBoundaryModal = ({
|
|
13
|
+
active,
|
|
14
|
+
onClose
|
|
15
|
+
}) => {
|
|
16
|
+
return jsx(ModalTransition, null, active && jsx(Modal, {
|
|
17
|
+
testId: "link-create-error-boundary-modal",
|
|
18
|
+
onClose: onClose,
|
|
19
|
+
shouldScrollInViewport: true,
|
|
20
|
+
width: `${CREATE_FORM_MAX_WIDTH_IN_PX}px`
|
|
21
|
+
}, jsx(ModalBody, null, jsx(ErrorBoundaryUI, null))));
|
|
22
|
+
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generates Typescript types for analytics events from analytics.spec.yaml
|
|
5
5
|
*
|
|
6
|
-
* @codegen <<SignedSource::
|
|
6
|
+
* @codegen <<SignedSource::af0139619517f37a8bca32ddb6b7d6e0>>
|
|
7
7
|
* @codegenCommand yarn workspace @atlaskit/link-create run codegen-analytics
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
3
|
+
import { ANALYTICS_CHANNEL } from '../../../common/constants';
|
|
4
|
+
import createEventPayload from './analytics.codegen';
|
|
5
|
+
export const ScreenViewedEvent = ({
|
|
6
|
+
screen
|
|
7
|
+
}) => {
|
|
8
|
+
const {
|
|
9
|
+
createAnalyticsEvent
|
|
10
|
+
} = useAnalyticsEvents();
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
createAnalyticsEvent(createEventPayload(`screen.${screen}.viewed`, {})).fire(ANALYTICS_CHANNEL);
|
|
13
|
+
}, [createAnalyticsEvent, screen]);
|
|
14
|
+
return null;
|
|
15
|
+
};
|