@atlaskit/editor-synced-block-renderer 5.6.2 → 5.6.4
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 +17 -0
- package/afm-cc/tsconfig.json +3 -0
- package/afm-jira/tsconfig.json +3 -0
- package/afm-products/tsconfig.json +3 -0
- package/dist/cjs/ui/SyncedBlockErrorComponent.js +10 -3
- package/dist/cjs/ui/SyncedBlockErrorStateCard.compiled.css +3 -5
- package/dist/cjs/ui/SyncedBlockErrorStateCard.js +5 -2
- package/dist/cjs/ui/SyncedBlockLoadError.compiled.css +3 -0
- package/dist/cjs/ui/SyncedBlockLoadError.js +16 -5
- package/dist/cjs/ui/SyncedBlockNodeComponentRenderer.js +12 -0
- package/dist/cjs/ui/SyncedBlockNotFoundError.compiled.css +10 -0
- package/dist/cjs/ui/SyncedBlockNotFoundError.js +155 -17
- package/dist/cjs/ui/SyncedBlockRenderer.js +14 -0
- package/dist/cjs/ui/SyncedBlockUnpublishedError.compiled.css +3 -0
- package/dist/cjs/ui/SyncedBlockUnpublishedError.js +37 -0
- package/dist/cjs/useSyncedBlockNodeComponent.js +6 -1
- package/dist/es2019/ui/SyncedBlockErrorComponent.js +10 -3
- package/dist/es2019/ui/SyncedBlockErrorStateCard.compiled.css +3 -5
- package/dist/es2019/ui/SyncedBlockErrorStateCard.js +5 -2
- package/dist/es2019/ui/SyncedBlockLoadError.compiled.css +3 -0
- package/dist/es2019/ui/SyncedBlockLoadError.js +16 -5
- package/dist/es2019/ui/SyncedBlockNodeComponentRenderer.js +12 -0
- package/dist/es2019/ui/SyncedBlockNotFoundError.compiled.css +10 -0
- package/dist/es2019/ui/SyncedBlockNotFoundError.js +128 -14
- package/dist/es2019/ui/SyncedBlockRenderer.js +14 -0
- package/dist/es2019/ui/SyncedBlockUnpublishedError.compiled.css +3 -0
- package/dist/es2019/ui/SyncedBlockUnpublishedError.js +30 -0
- package/dist/es2019/useSyncedBlockNodeComponent.js +4 -1
- package/dist/esm/ui/SyncedBlockErrorComponent.js +10 -3
- package/dist/esm/ui/SyncedBlockErrorStateCard.compiled.css +3 -5
- package/dist/esm/ui/SyncedBlockErrorStateCard.js +5 -2
- package/dist/esm/ui/SyncedBlockLoadError.compiled.css +3 -0
- package/dist/esm/ui/SyncedBlockLoadError.js +16 -5
- package/dist/esm/ui/SyncedBlockNodeComponentRenderer.js +12 -0
- package/dist/esm/ui/SyncedBlockNotFoundError.compiled.css +10 -0
- package/dist/esm/ui/SyncedBlockNotFoundError.js +153 -17
- package/dist/esm/ui/SyncedBlockRenderer.js +14 -0
- package/dist/esm/ui/SyncedBlockUnpublishedError.compiled.css +3 -0
- package/dist/esm/ui/SyncedBlockUnpublishedError.js +30 -0
- package/dist/esm/useSyncedBlockNodeComponent.js +6 -1
- package/dist/types/ui/SyncedBlockErrorComponent.d.ts +2 -1
- package/dist/types/ui/SyncedBlockErrorStateCard.d.ts +0 -1
- package/dist/types/ui/SyncedBlockLoadError.d.ts +1 -1
- package/dist/types/ui/SyncedBlockNotFoundError.d.ts +2 -1
- package/dist/types/ui/SyncedBlockUnpublishedError.d.ts +4 -0
- package/dist/types-ts4.5/ui/SyncedBlockErrorComponent.d.ts +2 -1
- package/dist/types-ts4.5/ui/SyncedBlockErrorStateCard.d.ts +0 -1
- package/dist/types-ts4.5/ui/SyncedBlockLoadError.d.ts +1 -1
- package/dist/types-ts4.5/ui/SyncedBlockNotFoundError.d.ts +2 -1
- package/dist/types-ts4.5/ui/SyncedBlockUnpublishedError.d.ts +4 -0
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atlaskit/editor-synced-block-renderer
|
|
2
2
|
|
|
3
|
+
## 5.6.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`faddbf566c913`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/faddbf566c913) -
|
|
8
|
+
[ux] Add error message in reference sync block when source is unpublished
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 5.6.3
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [`f11ff647ea458`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f11ff647ea458) -
|
|
16
|
+
[ux] [EDITOR-4521] Implement source deleted reference UI, update block deleted/unsynced reference
|
|
17
|
+
UI to add delete button, unsynced label and source title/url
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
|
|
3
20
|
## 5.6.2
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/afm-cc/tsconfig.json
CHANGED
package/afm-jira/tsconfig.json
CHANGED
|
@@ -14,6 +14,7 @@ var _SyncedBlockLoadError = require("./SyncedBlockLoadError");
|
|
|
14
14
|
var _SyncedBlockNotFoundError = require("./SyncedBlockNotFoundError");
|
|
15
15
|
var _SyncedBlockOfflineError = require("./SyncedBlockOfflineError");
|
|
16
16
|
var _SyncedBlockPermissionDenied = require("./SyncedBlockPermissionDenied");
|
|
17
|
+
var _SyncedBlockUnpublishedError = require("./SyncedBlockUnpublishedError");
|
|
17
18
|
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); }
|
|
18
19
|
var getForbiddenErrorContent = function getForbiddenErrorContent(resourceId, fireAnalyticsEvent) {
|
|
19
20
|
try {
|
|
@@ -40,7 +41,8 @@ var SyncedBlockErrorComponent = exports.SyncedBlockErrorComponent = function Syn
|
|
|
40
41
|
isLoading = _ref.isLoading,
|
|
41
42
|
onRetry = _ref.onRetry,
|
|
42
43
|
resourceId = _ref.resourceId,
|
|
43
|
-
fireAnalyticsEvent = _ref.fireAnalyticsEvent
|
|
44
|
+
fireAnalyticsEvent = _ref.fireAnalyticsEvent,
|
|
45
|
+
sourceURL = _ref.sourceURL;
|
|
44
46
|
var getErrorContent = (0, _react.useMemo)(function () {
|
|
45
47
|
switch (error === null || error === void 0 ? void 0 : error.type) {
|
|
46
48
|
case _editorSyncedBlockProvider.SyncBlockError.Offline:
|
|
@@ -49,7 +51,12 @@ var SyncedBlockErrorComponent = exports.SyncedBlockErrorComponent = function Syn
|
|
|
49
51
|
return getForbiddenErrorContent(resourceId, fireAnalyticsEvent);
|
|
50
52
|
case _editorSyncedBlockProvider.SyncBlockError.NotFound:
|
|
51
53
|
return /*#__PURE__*/_react.default.createElement(_SyncedBlockNotFoundError.SyncedBlockNotFoundError, {
|
|
52
|
-
reason: error.reason
|
|
54
|
+
reason: error.reason,
|
|
55
|
+
sourceAri: error.sourceAri
|
|
56
|
+
});
|
|
57
|
+
case _editorSyncedBlockProvider.SyncBlockError.Unpublished:
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement(_SyncedBlockUnpublishedError.SyncedBlockUnpublishedError, {
|
|
59
|
+
sourceURL: sourceURL
|
|
53
60
|
});
|
|
54
61
|
case _editorSyncedBlockProvider.SyncBlockError.Errored:
|
|
55
62
|
case _editorSyncedBlockProvider.SyncBlockError.RateLimited:
|
|
@@ -61,7 +68,7 @@ var SyncedBlockErrorComponent = exports.SyncedBlockErrorComponent = function Syn
|
|
|
61
68
|
default:
|
|
62
69
|
return /*#__PURE__*/_react.default.createElement(_SyncedBlockGenericError.SyncedBlockGenericError, null);
|
|
63
70
|
}
|
|
64
|
-
}, [error, isLoading, onRetry, resourceId, fireAnalyticsEvent]);
|
|
71
|
+
}, [error, isLoading, onRetry, resourceId, fireAnalyticsEvent, sourceURL]);
|
|
65
72
|
return (
|
|
66
73
|
/*#__PURE__*/
|
|
67
74
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
._zulppxbi{gap:var(--ds-space-200,1pc)}
|
|
3
|
-
._1bahv2br{justify-content:start}
|
|
2
|
+
._zulppxbi{gap:var(--ds-space-200,1pc)}
|
|
3
|
+
._1rjc12x7{padding-block:var(--ds-space-075,6px)}._1bahv2br{justify-content:start}
|
|
4
4
|
._1e0c1txw{display:flex}
|
|
5
5
|
._4cvr1h6o{align-items:center}
|
|
6
|
-
.
|
|
7
|
-
._n3tdu2gc{padding-bottom:var(--ds-space-100,8px)}
|
|
8
|
-
._u5f3pxbi{padding-right:var(--ds-space-200,1pc)}
|
|
6
|
+
._bozgpxbi{padding-inline-start:var(--ds-space-200,1pc)}
|
|
@@ -13,7 +13,8 @@ var _warningOutline = _interopRequireDefault(require("@atlaskit/icon-lab/core/wa
|
|
|
13
13
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
14
14
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
15
15
|
var styles = {
|
|
16
|
-
wrapper: "_zulppxbi
|
|
16
|
+
wrapper: "_zulppxbi _1rjc12x7 _bozgpxbi _1e0c1txw _1bahv2br _4cvr1h6o",
|
|
17
|
+
container: "_1e0c1txw"
|
|
17
18
|
};
|
|
18
19
|
var SyncedBlockErrorStateCard = exports.SyncedBlockErrorStateCard = function SyncedBlockErrorStateCard(_ref) {
|
|
19
20
|
var children = _ref.children,
|
|
@@ -21,11 +22,13 @@ var SyncedBlockErrorStateCard = exports.SyncedBlockErrorStateCard = function Syn
|
|
|
21
22
|
icon = _ref.icon;
|
|
22
23
|
var Icon = (0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding') ? icon !== null && icon !== void 0 ? icon : _warningOutline.default : _warningOutline.default;
|
|
23
24
|
return /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
25
|
+
xcss: styles.container
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
24
27
|
xcss: styles.wrapper
|
|
25
28
|
}, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
26
29
|
color: "var(--ds-icon-subtle, #505258)",
|
|
27
30
|
label: ""
|
|
28
31
|
}), /*#__PURE__*/_react.default.createElement(_compiled.Text, {
|
|
29
32
|
color: "color.text.subtle"
|
|
30
|
-
}, description), children);
|
|
33
|
+
}, description), !(0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding') && children), (0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding') && children);
|
|
31
34
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* SyncedBlockLoadError.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -5,27 +6,37 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.SyncedBlockLoadError = void 0;
|
|
9
|
+
require("./SyncedBlockLoadError.compiled.css");
|
|
10
|
+
var _runtime = require("@compiled/react/runtime");
|
|
8
11
|
var _react = _interopRequireDefault(require("react"));
|
|
9
12
|
var _reactIntlNext = require("react-intl-next");
|
|
10
13
|
var _new = _interopRequireDefault(require("@atlaskit/button/new"));
|
|
11
14
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
15
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
|
+
var _compiled = require("@atlaskit/primitives/compiled");
|
|
12
17
|
var _SyncedBlockErrorStateCard = require("./SyncedBlockErrorStateCard");
|
|
18
|
+
var styles = {
|
|
19
|
+
buttonContainer: "_18u0u2gc _1e0c1txw _4cvr1h6o"
|
|
20
|
+
};
|
|
13
21
|
var SyncedBlockLoadError = exports.SyncedBlockLoadError = function SyncedBlockLoadError(_ref) {
|
|
14
22
|
var onRetry = _ref.onRetry,
|
|
15
23
|
isLoading = _ref.isLoading;
|
|
16
24
|
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
17
25
|
formatMessage = _useIntl.formatMessage;
|
|
18
|
-
|
|
19
|
-
description: formatMessage(_messages.syncBlockMessages.generalErrorDescription)
|
|
20
|
-
}, onRetry && /*#__PURE__*/_react.default.createElement(_new.default, {
|
|
26
|
+
var button = /*#__PURE__*/_react.default.createElement(_new.default, {
|
|
21
27
|
appearance: "default",
|
|
22
28
|
spacing: "compact",
|
|
23
29
|
onClick: function onClick(event) {
|
|
24
30
|
event.preventDefault();
|
|
25
31
|
event.stopPropagation();
|
|
26
|
-
onRetry();
|
|
32
|
+
onRetry === null || onRetry === void 0 || onRetry();
|
|
27
33
|
},
|
|
28
34
|
isLoading: isLoading,
|
|
29
35
|
testId: "sync-block-retry-btn"
|
|
30
|
-
}, formatMessage(_messages.syncBlockMessages.retryButton))
|
|
36
|
+
}, formatMessage(_messages.syncBlockMessages.retryButton));
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorStateCard.SyncedBlockErrorStateCard, {
|
|
38
|
+
description: formatMessage(_messages.syncBlockMessages.generalErrorDescription)
|
|
39
|
+
}, onRetry && ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding') ? /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
40
|
+
xcss: styles.buttonContainer
|
|
41
|
+
}, button) : button));
|
|
31
42
|
};
|
|
@@ -20,6 +20,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
20
20
|
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; }
|
|
21
21
|
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; }
|
|
22
22
|
var SyncedBlockNodeComponentRenderer = exports.SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentRenderer(_ref) {
|
|
23
|
+
var _syncBlockInstance$da2;
|
|
23
24
|
var nodeProps = _ref.nodeProps,
|
|
24
25
|
syncBlockStoreManager = _ref.syncBlockStoreManager,
|
|
25
26
|
rendererOptions = _ref.rendererOptions;
|
|
@@ -73,6 +74,17 @@ var SyncedBlockNodeComponentRenderer = exports.SyncedBlockNodeComponentRenderer
|
|
|
73
74
|
fireAnalyticsEvent: fireAnalyticsEvent
|
|
74
75
|
});
|
|
75
76
|
}
|
|
77
|
+
if ((syncBlockInstance === null || syncBlockInstance === void 0 || (_syncBlockInstance$da2 = syncBlockInstance.data) === null || _syncBlockInstance$da2 === void 0 ? void 0 : _syncBlockInstance$da2.status) === 'unpublished' && (0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
78
|
+
var _syncBlockInstance$da3;
|
|
79
|
+
return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
|
|
80
|
+
error: {
|
|
81
|
+
type: _editorSyncedBlockProvider.SyncBlockError.Unpublished
|
|
82
|
+
},
|
|
83
|
+
resourceId: syncBlockInstance === null || syncBlockInstance === void 0 ? void 0 : syncBlockInstance.resourceId,
|
|
84
|
+
sourceURL: (_syncBlockInstance$da3 = syncBlockInstance.data) === null || _syncBlockInstance$da3 === void 0 ? void 0 : _syncBlockInstance$da3.sourceURL,
|
|
85
|
+
fireAnalyticsEvent: fireAnalyticsEvent
|
|
86
|
+
});
|
|
87
|
+
}
|
|
76
88
|
var syncBlockDoc = {
|
|
77
89
|
content: syncBlockInstance.data.content,
|
|
78
90
|
version: 1,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
._1rjcutpp{padding-block:var(--ds-space-150,9pt)}._16jlkb7n{flex-grow:1}
|
|
3
|
+
._1bah1h6o{justify-content:center}
|
|
4
|
+
._1bahesu3{justify-content:flex-end}
|
|
5
|
+
._1e0c1txw{display:flex}
|
|
6
|
+
._1hmsglyw{text-decoration-line:none}
|
|
7
|
+
._1o9zkb7n{flex-shrink:1}
|
|
8
|
+
._4bfu1r31{text-decoration-color:currentColor}
|
|
9
|
+
._ajmmnqa1{text-decoration-style:solid}
|
|
10
|
+
._i0dlf1ug{flex-basis:0%}
|
|
@@ -1,16 +1,36 @@
|
|
|
1
|
+
/* SyncedBlockNotFoundError.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
6
|
Object.defineProperty(exports, "__esModule", {
|
|
5
7
|
value: true
|
|
6
8
|
});
|
|
7
9
|
exports.SyncedBlockNotFoundError = void 0;
|
|
8
|
-
|
|
10
|
+
require("./SyncedBlockNotFoundError.compiled.css");
|
|
11
|
+
var _runtime = require("@compiled/react/runtime");
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
16
|
var _reactIntlNext = require("react-intl-next");
|
|
10
|
-
var
|
|
17
|
+
var _new = require("@atlaskit/button/new");
|
|
18
|
+
var _messages = _interopRequireWildcard(require("@atlaskit/editor-common/messages"));
|
|
19
|
+
var _syncBlock = require("@atlaskit/editor-common/sync-block");
|
|
20
|
+
var _cross = _interopRequireDefault(require("@atlaskit/icon/core/cross"));
|
|
21
|
+
var _eyeOpenStrikethrough = _interopRequireDefault(require("@atlaskit/icon/core/eye-open-strikethrough"));
|
|
11
22
|
var _linkBroken = _interopRequireDefault(require("@atlaskit/icon/core/link-broken"));
|
|
12
23
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
24
|
+
var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react");
|
|
25
|
+
var _compiled = require("@atlaskit/primitives/compiled");
|
|
26
|
+
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
13
27
|
var _SyncedBlockErrorStateCard = require("./SyncedBlockErrorStateCard");
|
|
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
|
+
var styles = {
|
|
30
|
+
link: "_4bfu1r31 _1hmsglyw _ajmmnqa1",
|
|
31
|
+
spinner: "_1rjcutpp _1e0c1txw _1bah1h6o",
|
|
32
|
+
closeButton: "_16jlkb7n _1o9zkb7n _i0dlf1ug _1e0c1txw _1bahesu3"
|
|
33
|
+
};
|
|
14
34
|
var errorMap = {
|
|
15
35
|
'source-block-unsynced': {
|
|
16
36
|
description: _messages.syncBlockMessages.sourceUnsyncedDescription,
|
|
@@ -19,25 +39,143 @@ var errorMap = {
|
|
|
19
39
|
'source-block-deleted': {
|
|
20
40
|
description: _messages.syncBlockMessages.sourceDeletedDescription,
|
|
21
41
|
icon: _linkBroken.default
|
|
42
|
+
},
|
|
43
|
+
'source-document-deleted': {
|
|
44
|
+
description: _messages.syncBlockMessages.notFoundDescription,
|
|
45
|
+
icon: _eyeOpenStrikethrough.default
|
|
46
|
+
},
|
|
47
|
+
generic: {
|
|
48
|
+
description: _messages.syncBlockMessages.genericNotFoundDescription,
|
|
49
|
+
icon: _linkBroken.default
|
|
22
50
|
}
|
|
23
51
|
};
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
52
|
+
var useSyncBlockInfo = (0, _platformFeatureFlagsReact.conditionalHooksFactory)(function () {
|
|
53
|
+
return (0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding');
|
|
54
|
+
}, function () {
|
|
55
|
+
var _useSyncBlockActions;
|
|
56
|
+
var _ref = (_useSyncBlockActions = (0, _syncBlock.useSyncBlockActions)()) !== null && _useSyncBlockActions !== void 0 ? _useSyncBlockActions : {},
|
|
57
|
+
deleteSyncBlock = _ref.deleteSyncBlock,
|
|
58
|
+
fetchSourceInfo = _ref.fetchSourceInfo;
|
|
59
|
+
return {
|
|
60
|
+
deleteSyncBlock: deleteSyncBlock,
|
|
61
|
+
fetchSourceInfo: fetchSourceInfo
|
|
62
|
+
};
|
|
63
|
+
}, function () {
|
|
64
|
+
return {
|
|
65
|
+
deleteSyncBlock: undefined,
|
|
66
|
+
fetchSourceInfo: undefined
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
var useErrorInfo = (0, _platformFeatureFlagsReact.conditionalHooksFactory)(function () {
|
|
70
|
+
return (0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding');
|
|
71
|
+
}, function (reason, url, title) {
|
|
27
72
|
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
28
73
|
formatMessage = _useIntl.formatMessage;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
74
|
+
if (reason === 'source-document-deleted') {
|
|
75
|
+
var _errorMap$sourceDocu = errorMap['source-document-deleted'],
|
|
76
|
+
_icon = _errorMap$sourceDocu.icon,
|
|
77
|
+
_description = _errorMap$sourceDocu.description;
|
|
78
|
+
return {
|
|
79
|
+
description: formatMessage(_description),
|
|
80
|
+
icon: _icon
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (!url || !title) {
|
|
84
|
+
var _errorMap$generic = errorMap['generic'],
|
|
85
|
+
_icon2 = _errorMap$generic.icon,
|
|
86
|
+
_description2 = _errorMap$generic.description;
|
|
87
|
+
return {
|
|
88
|
+
description: formatMessage(_description2),
|
|
89
|
+
icon: _icon2
|
|
90
|
+
};
|
|
35
91
|
}
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return
|
|
40
|
-
description: formatMessage(description
|
|
92
|
+
var _errorMap = errorMap[reason || 'generic'],
|
|
93
|
+
icon = _errorMap.icon,
|
|
94
|
+
description = _errorMap.description;
|
|
95
|
+
return {
|
|
96
|
+
description: formatMessage(description, {
|
|
97
|
+
title: title,
|
|
98
|
+
a: function a(chunk) {
|
|
99
|
+
return /*#__PURE__*/_react.default.createElement(_compiled.Anchor, {
|
|
100
|
+
href: url,
|
|
101
|
+
target: "_blank",
|
|
102
|
+
xcss: styles.link
|
|
103
|
+
}, chunk);
|
|
104
|
+
}
|
|
105
|
+
}),
|
|
106
|
+
icon: icon
|
|
107
|
+
};
|
|
108
|
+
}, function (_) {
|
|
109
|
+
var _useIntl2 = (0, _reactIntlNext.useIntl)(),
|
|
110
|
+
formatMessage = _useIntl2.formatMessage;
|
|
111
|
+
return {
|
|
112
|
+
description: formatMessage(_messages.syncBlockMessages.notFoundDescription),
|
|
113
|
+
icon: undefined
|
|
114
|
+
};
|
|
115
|
+
});
|
|
116
|
+
var SyncedBlockNotFoundError = exports.SyncedBlockNotFoundError = function SyncedBlockNotFoundError(_ref2) {
|
|
117
|
+
var _ref2$reason = _ref2.reason,
|
|
118
|
+
reason = _ref2$reason === void 0 ? 'source-block-deleted' : _ref2$reason,
|
|
119
|
+
sourceAri = _ref2.sourceAri;
|
|
120
|
+
var _useSyncBlockInfo = useSyncBlockInfo(),
|
|
121
|
+
deleteSyncBlock = _useSyncBlockInfo.deleteSyncBlock,
|
|
122
|
+
fetchSourceInfo = _useSyncBlockInfo.fetchSourceInfo;
|
|
123
|
+
var _useState = (0, _react.useState)(undefined),
|
|
124
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
125
|
+
sourceInfo = _useState2[0],
|
|
126
|
+
setSourceInfo = _useState2[1];
|
|
127
|
+
var _useIntl3 = (0, _reactIntlNext.useIntl)(),
|
|
128
|
+
formatMessage = _useIntl3.formatMessage;
|
|
129
|
+
(0, _react.useEffect)(function () {
|
|
130
|
+
if (!(0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding') || !sourceAri ||
|
|
131
|
+
// Only fetch source info for these 2 cases
|
|
132
|
+
!['source-block-deleted', 'source-block-unsynced'].includes(reason)) {
|
|
133
|
+
setSourceInfo({});
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
var getSourceInfo = /*#__PURE__*/function () {
|
|
137
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
138
|
+
var sourceInfo;
|
|
139
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
140
|
+
while (1) switch (_context.prev = _context.next) {
|
|
141
|
+
case 0:
|
|
142
|
+
_context.next = 2;
|
|
143
|
+
return fetchSourceInfo === null || fetchSourceInfo === void 0 ? void 0 : fetchSourceInfo(sourceAri, true);
|
|
144
|
+
case 2:
|
|
145
|
+
sourceInfo = _context.sent;
|
|
146
|
+
setSourceInfo({
|
|
147
|
+
url: sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.url,
|
|
148
|
+
title: sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.title
|
|
149
|
+
});
|
|
150
|
+
case 4:
|
|
151
|
+
case "end":
|
|
152
|
+
return _context.stop();
|
|
153
|
+
}
|
|
154
|
+
}, _callee);
|
|
155
|
+
}));
|
|
156
|
+
return function getSourceInfo() {
|
|
157
|
+
return _ref3.apply(this, arguments);
|
|
158
|
+
};
|
|
159
|
+
}();
|
|
160
|
+
getSourceInfo();
|
|
161
|
+
}, [reason, sourceAri, fetchSourceInfo]);
|
|
162
|
+
var _useErrorInfo = useErrorInfo(reason, sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.url, sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.title),
|
|
163
|
+
description = _useErrorInfo.description,
|
|
164
|
+
icon = _useErrorInfo.icon;
|
|
165
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding') ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, sourceInfo === undefined ? /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
166
|
+
xcss: styles.spinner
|
|
167
|
+
}, /*#__PURE__*/_react.default.createElement(_spinner.default, null)) : /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorStateCard.SyncedBlockErrorStateCard, {
|
|
168
|
+
description: description,
|
|
169
|
+
icon: icon
|
|
170
|
+
}, deleteSyncBlock && /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
171
|
+
xcss: styles.closeButton
|
|
172
|
+
}, /*#__PURE__*/_react.default.createElement(_new.IconButton, {
|
|
173
|
+
appearance: "subtle",
|
|
174
|
+
icon: _cross.default,
|
|
175
|
+
label: formatMessage(_messages.default.delete),
|
|
176
|
+
onClick: deleteSyncBlock
|
|
177
|
+
})))) : /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorStateCard.SyncedBlockErrorStateCard, {
|
|
178
|
+
description: description,
|
|
41
179
|
icon: icon
|
|
42
|
-
});
|
|
180
|
+
}));
|
|
43
181
|
};
|
|
@@ -19,6 +19,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
19
19
|
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; }
|
|
20
20
|
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; }
|
|
21
21
|
var SyncedBlockRendererComponent = function SyncedBlockRendererComponent(_ref) {
|
|
22
|
+
var _syncBlockInstance$da2;
|
|
22
23
|
var syncBlockRendererOptions = _ref.syncBlockRendererOptions,
|
|
23
24
|
syncBlockFetchResult = _ref.syncBlockFetchResult,
|
|
24
25
|
api = _ref.api;
|
|
@@ -84,6 +85,19 @@ var SyncedBlockRendererComponent = function SyncedBlockRendererComponent(_ref) {
|
|
|
84
85
|
fireAnalyticsEvent: api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions.fireAnalyticsEvent
|
|
85
86
|
});
|
|
86
87
|
}
|
|
88
|
+
|
|
89
|
+
// Check for unpublished status
|
|
90
|
+
if (((_syncBlockInstance$da2 = syncBlockInstance.data) === null || _syncBlockInstance$da2 === void 0 ? void 0 : _syncBlockInstance$da2.status) === 'unpublished' && (0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
91
|
+
var _syncBlockInstance$da3, _api$analytics2;
|
|
92
|
+
return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
|
|
93
|
+
error: {
|
|
94
|
+
type: _editorSyncedBlockProvider.SyncBlockError.Unpublished
|
|
95
|
+
},
|
|
96
|
+
resourceId: syncBlockInstance.resourceId,
|
|
97
|
+
sourceURL: (_syncBlockInstance$da3 = syncBlockInstance.data) === null || _syncBlockInstance$da3 === void 0 ? void 0 : _syncBlockInstance$da3.sourceURL,
|
|
98
|
+
fireAnalyticsEvent: api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions.fireAnalyticsEvent
|
|
99
|
+
});
|
|
100
|
+
}
|
|
87
101
|
var syncBlockDoc = {
|
|
88
102
|
content: syncBlockInstance.data.content,
|
|
89
103
|
version: 1,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/* SyncedBlockUnpublishedError.tsx generated by @compiled/babel-plugin v0.38.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SyncedBlockUnpublishedError = void 0;
|
|
9
|
+
require("./SyncedBlockUnpublishedError.compiled.css");
|
|
10
|
+
var _runtime = require("@compiled/react/runtime");
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _reactIntlNext = require("react-intl-next");
|
|
13
|
+
var _messages = require("@atlaskit/editor-common/messages");
|
|
14
|
+
var _eyeOpenStrikethrough = _interopRequireDefault(require("@atlaskit/icon/core/eye-open-strikethrough"));
|
|
15
|
+
var _compiled = require("@atlaskit/primitives/compiled");
|
|
16
|
+
var _SyncedBlockErrorStateCard = require("./SyncedBlockErrorStateCard");
|
|
17
|
+
var styles = {
|
|
18
|
+
link: "_4bfu1r31 _1hmsglyw _ajmmnqa1"
|
|
19
|
+
};
|
|
20
|
+
var SyncedBlockUnpublishedError = exports.SyncedBlockUnpublishedError = function SyncedBlockUnpublishedError(_ref) {
|
|
21
|
+
var sourceURL = _ref.sourceURL;
|
|
22
|
+
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
23
|
+
formatMessage = _useIntl.formatMessage;
|
|
24
|
+
var description = formatMessage(_messages.syncBlockMessages.unpublishedError, {
|
|
25
|
+
link: function link(chunks) {
|
|
26
|
+
return sourceURL ? /*#__PURE__*/_react.default.createElement(_compiled.Text, null, /*#__PURE__*/_react.default.createElement(_compiled.Anchor, {
|
|
27
|
+
href: sourceURL,
|
|
28
|
+
target: "_blank",
|
|
29
|
+
xcss: styles.link
|
|
30
|
+
}, chunks)) : chunks;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorStateCard.SyncedBlockErrorStateCard, {
|
|
34
|
+
description: description,
|
|
35
|
+
icon: _eyeOpenStrikethrough.default
|
|
36
|
+
});
|
|
37
|
+
};
|
|
@@ -8,6 +8,7 @@ exports.useMemoizedSyncedBlockNodeComponent = exports.getSyncBlockNodesFromDoc =
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
10
10
|
var _errorBoundary = require("@atlaskit/editor-common/error-boundary");
|
|
11
|
+
var _syncBlock = require("@atlaskit/editor-common/sync-block");
|
|
11
12
|
var _editorSyncedBlockProvider = require("@atlaskit/editor-synced-block-provider");
|
|
12
13
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
13
14
|
var _SyncedBlockNodeComponentRenderer = require("./ui/SyncedBlockNodeComponentRenderer");
|
|
@@ -49,12 +50,16 @@ var useMemoizedSyncedBlockNodeComponent = exports.useMemoizedSyncedBlockNodeComp
|
|
|
49
50
|
component: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
50
51
|
dispatchAnalyticsEvent: fireAnalyticsEvent,
|
|
51
52
|
fallbackComponent: null
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(_syncBlock.SyncBlockActionsProvider, {
|
|
54
|
+
fetchSyncBlockSourceInfo: function fetchSyncBlockSourceInfo(sourceAri) {
|
|
55
|
+
return syncBlockStoreManager.referenceManager.fetchSyncBlockSourceInfoBySourceAri(sourceAri);
|
|
56
|
+
}
|
|
52
57
|
}, /*#__PURE__*/_react.default.createElement(_SyncedBlockNodeComponentRenderer.SyncedBlockNodeComponentRenderer, {
|
|
53
58
|
key: props.localId,
|
|
54
59
|
nodeProps: props,
|
|
55
60
|
syncBlockStoreManager: syncBlockStoreManager,
|
|
56
61
|
rendererOptions: syncBlockRendererOptions
|
|
57
|
-
})) : /*#__PURE__*/_react.default.createElement(_SyncedBlockNodeComponentRenderer.SyncedBlockNodeComponentRenderer, {
|
|
62
|
+
}))) : /*#__PURE__*/_react.default.createElement(_SyncedBlockNodeComponentRenderer.SyncedBlockNodeComponentRenderer, {
|
|
58
63
|
key: props.localId,
|
|
59
64
|
nodeProps: props,
|
|
60
65
|
syncBlockStoreManager: syncBlockStoreManager,
|
|
@@ -7,6 +7,7 @@ import { SyncedBlockLoadError } from './SyncedBlockLoadError';
|
|
|
7
7
|
import { SyncedBlockNotFoundError } from './SyncedBlockNotFoundError';
|
|
8
8
|
import { SyncedBlockOfflineError } from './SyncedBlockOfflineError';
|
|
9
9
|
import { SyncedBlockPermissionDenied } from './SyncedBlockPermissionDenied';
|
|
10
|
+
import { SyncedBlockUnpublishedError } from './SyncedBlockUnpublishedError';
|
|
10
11
|
const getForbiddenErrorContent = (resourceId, fireAnalyticsEvent) => {
|
|
11
12
|
try {
|
|
12
13
|
if (!resourceId) {
|
|
@@ -33,7 +34,8 @@ export const SyncedBlockErrorComponent = ({
|
|
|
33
34
|
isLoading,
|
|
34
35
|
onRetry,
|
|
35
36
|
resourceId,
|
|
36
|
-
fireAnalyticsEvent
|
|
37
|
+
fireAnalyticsEvent,
|
|
38
|
+
sourceURL
|
|
37
39
|
}) => {
|
|
38
40
|
const getErrorContent = useMemo(() => {
|
|
39
41
|
switch (error === null || error === void 0 ? void 0 : error.type) {
|
|
@@ -43,7 +45,12 @@ export const SyncedBlockErrorComponent = ({
|
|
|
43
45
|
return getForbiddenErrorContent(resourceId, fireAnalyticsEvent);
|
|
44
46
|
case SyncBlockError.NotFound:
|
|
45
47
|
return /*#__PURE__*/React.createElement(SyncedBlockNotFoundError, {
|
|
46
|
-
reason: error.reason
|
|
48
|
+
reason: error.reason,
|
|
49
|
+
sourceAri: error.sourceAri
|
|
50
|
+
});
|
|
51
|
+
case SyncBlockError.Unpublished:
|
|
52
|
+
return /*#__PURE__*/React.createElement(SyncedBlockUnpublishedError, {
|
|
53
|
+
sourceURL: sourceURL
|
|
47
54
|
});
|
|
48
55
|
case SyncBlockError.Errored:
|
|
49
56
|
case SyncBlockError.RateLimited:
|
|
@@ -55,7 +62,7 @@ export const SyncedBlockErrorComponent = ({
|
|
|
55
62
|
default:
|
|
56
63
|
return /*#__PURE__*/React.createElement(SyncedBlockGenericError, null);
|
|
57
64
|
}
|
|
58
|
-
}, [error, isLoading, onRetry, resourceId, fireAnalyticsEvent]);
|
|
65
|
+
}, [error, isLoading, onRetry, resourceId, fireAnalyticsEvent, sourceURL]);
|
|
59
66
|
return (
|
|
60
67
|
/*#__PURE__*/
|
|
61
68
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
._zulppxbi{gap:var(--ds-space-200,1pc)}
|
|
3
|
-
._1bahv2br{justify-content:start}
|
|
2
|
+
._zulppxbi{gap:var(--ds-space-200,1pc)}
|
|
3
|
+
._1rjc12x7{padding-block:var(--ds-space-075,6px)}._1bahv2br{justify-content:start}
|
|
4
4
|
._1e0c1txw{display:flex}
|
|
5
5
|
._4cvr1h6o{align-items:center}
|
|
6
|
-
.
|
|
7
|
-
._n3tdu2gc{padding-bottom:var(--ds-space-100,8px)}
|
|
8
|
-
._u5f3pxbi{padding-right:var(--ds-space-200,1pc)}
|
|
6
|
+
._bozgpxbi{padding-inline-start:var(--ds-space-200,1pc)}
|
|
@@ -6,7 +6,8 @@ import WarningOutlineIcon from '@atlaskit/icon-lab/core/warning-outline';
|
|
|
6
6
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
7
|
import { Box, Text } from '@atlaskit/primitives/compiled';
|
|
8
8
|
const styles = {
|
|
9
|
-
wrapper: "_zulppxbi
|
|
9
|
+
wrapper: "_zulppxbi _1rjc12x7 _bozgpxbi _1e0c1txw _1bahv2br _4cvr1h6o",
|
|
10
|
+
container: "_1e0c1txw"
|
|
10
11
|
};
|
|
11
12
|
export const SyncedBlockErrorStateCard = ({
|
|
12
13
|
children,
|
|
@@ -15,11 +16,13 @@ export const SyncedBlockErrorStateCard = ({
|
|
|
15
16
|
}) => {
|
|
16
17
|
const Icon = fg('platform_synced_block_dogfooding') ? icon !== null && icon !== void 0 ? icon : WarningOutlineIcon : WarningOutlineIcon;
|
|
17
18
|
return /*#__PURE__*/React.createElement(Box, {
|
|
19
|
+
xcss: styles.container
|
|
20
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
18
21
|
xcss: styles.wrapper
|
|
19
22
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
20
23
|
color: "var(--ds-icon-subtle, #505258)",
|
|
21
24
|
label: ""
|
|
22
25
|
}), /*#__PURE__*/React.createElement(Text, {
|
|
23
26
|
color: "color.text.subtle"
|
|
24
|
-
}, description), children);
|
|
27
|
+
}, description), !fg('platform_synced_block_dogfooding') && children), fg('platform_synced_block_dogfooding') && children);
|
|
25
28
|
};
|