@atlaskit/media-card 70.10.0 → 72.1.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 +79 -0
- package/dist/cjs/errors.js +76 -5
- package/dist/cjs/files/cardImageView/index.js +58 -89
- package/dist/cjs/files/index.js +0 -6
- package/dist/cjs/index.js +16 -6
- package/dist/cjs/root/card/cardAnalytics.js +33 -19
- package/dist/cjs/root/card/cardConstants.js +8 -0
- package/dist/cjs/root/card/cardLoader.js +66 -124
- package/dist/cjs/root/card/cardState.js +50 -0
- package/dist/cjs/root/card/getCardPreview/cache.js +5 -0
- package/dist/cjs/root/card/getCardPreview/filePreviewStatus.js +50 -0
- package/dist/cjs/root/card/getCardPreview/helpers.js +13 -21
- package/dist/cjs/root/card/getCardPreview/index.js +171 -100
- package/dist/cjs/root/card/getCardStatus.js +7 -1
- package/dist/cjs/root/card/index.js +407 -322
- package/dist/cjs/root/cardView.js +115 -76
- package/dist/cjs/root/index.js +9 -1
- package/dist/cjs/root/inline/loader.js +22 -21
- package/dist/cjs/root/inline/{inlineMediaCard.js → mediaInlineCard.js} +72 -25
- package/dist/cjs/root/inlinePlayer.js +5 -15
- package/dist/cjs/root/ui/iconMessage/index.js +17 -9
- package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +36 -115
- package/dist/cjs/root/ui/styled.js +1 -1
- package/dist/cjs/root/ui/titleBox/failedTitleBox.js +7 -3
- package/dist/cjs/utils/analytics.js +26 -43
- package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +16 -9
- package/dist/cjs/utils/dimensionComparer.js +1 -1
- package/dist/cjs/utils/document.js +12 -0
- package/dist/cjs/utils/getDataURIDimension.js +13 -2
- package/dist/cjs/utils/metadata.js +11 -3
- package/dist/cjs/utils/objectURLCache.js +6 -0
- package/dist/cjs/utils/resizeModeToMediaImageProps.js +13 -0
- package/dist/cjs/utils/shouldDisplayImageThumbnail.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/errors.js +42 -2
- package/dist/es2019/files/cardImageView/index.js +12 -46
- package/dist/es2019/files/index.js +1 -1
- package/dist/es2019/index.js +3 -3
- package/dist/es2019/root/card/cardAnalytics.js +23 -17
- package/dist/es2019/root/card/cardConstants.js +1 -0
- package/dist/es2019/root/card/cardLoader.js +47 -53
- package/dist/es2019/root/card/cardState.js +26 -0
- package/dist/es2019/root/card/getCardPreview/cache.js +5 -0
- package/dist/es2019/root/card/getCardPreview/filePreviewStatus.js +35 -0
- package/dist/es2019/root/card/getCardPreview/helpers.js +2 -12
- package/dist/es2019/root/card/getCardPreview/index.js +112 -79
- package/dist/es2019/root/card/getCardStatus.js +1 -0
- package/dist/es2019/root/card/index.js +356 -254
- package/dist/es2019/root/cardView.js +98 -58
- package/dist/es2019/root/index.js +2 -1
- package/dist/es2019/root/inline/loader.js +16 -15
- package/dist/es2019/root/inline/mediaInlineCard.js +132 -0
- package/dist/es2019/root/inlinePlayer.js +5 -13
- package/dist/es2019/root/ui/iconMessage/index.js +10 -6
- package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +26 -74
- package/dist/es2019/root/ui/styled.js +1 -0
- package/dist/es2019/root/ui/titleBox/failedTitleBox.js +5 -3
- package/dist/es2019/utils/analytics.js +29 -40
- package/dist/es2019/utils/cardActions/cardActionsDropdownMenu.js +8 -4
- package/dist/es2019/utils/dimensionComparer.js +1 -1
- package/dist/es2019/utils/document.js +1 -0
- package/dist/es2019/utils/getDataURIDimension.js +8 -0
- package/dist/es2019/utils/metadata.js +12 -4
- package/dist/es2019/utils/objectURLCache.js +5 -0
- package/dist/es2019/utils/resizeModeToMediaImageProps.js +6 -0
- package/dist/es2019/utils/shouldDisplayImageThumbnail.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/errors.js +60 -1
- package/dist/esm/files/cardImageView/index.js +55 -87
- package/dist/esm/files/index.js +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/root/card/cardAnalytics.js +23 -18
- package/dist/esm/root/card/cardConstants.js +1 -0
- package/dist/esm/root/card/cardLoader.js +66 -126
- package/dist/esm/root/card/cardState.js +32 -0
- package/dist/esm/root/card/getCardPreview/cache.js +6 -0
- package/dist/esm/root/card/getCardPreview/filePreviewStatus.js +35 -0
- package/dist/esm/root/card/getCardPreview/helpers.js +13 -21
- package/dist/esm/root/card/getCardPreview/index.js +142 -95
- package/dist/esm/root/card/getCardStatus.js +3 -0
- package/dist/esm/root/card/index.js +416 -325
- package/dist/esm/root/cardView.js +114 -73
- package/dist/esm/root/index.js +2 -1
- package/dist/esm/root/inline/loader.js +23 -22
- package/dist/esm/root/inline/mediaInlineCard.js +145 -0
- package/dist/esm/root/inlinePlayer.js +5 -13
- package/dist/esm/root/ui/iconMessage/index.js +12 -7
- package/dist/esm/root/ui/imageRenderer/imageRenderer.js +28 -106
- package/dist/esm/root/ui/styled.js +1 -1
- package/dist/esm/root/ui/titleBox/failedTitleBox.js +6 -3
- package/dist/esm/utils/analytics.js +22 -35
- package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +16 -9
- package/dist/esm/utils/dimensionComparer.js +1 -1
- package/dist/esm/utils/document.js +3 -0
- package/dist/esm/utils/getDataURIDimension.js +8 -0
- package/dist/esm/utils/metadata.js +12 -4
- package/dist/esm/utils/objectURLCache.js +6 -0
- package/dist/esm/utils/resizeModeToMediaImageProps.js +6 -0
- package/dist/esm/utils/shouldDisplayImageThumbnail.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/errors.d.ts +15 -1
- package/dist/types/files/cardImageView/index.d.ts +5 -12
- package/dist/types/files/cardImageView/styled.d.ts +1 -1
- package/dist/types/files/index.d.ts +1 -1
- package/dist/types/index.d.ts +11 -13
- package/dist/types/root/card/cardAnalytics.d.ts +5 -7
- package/dist/types/root/card/cardConstants.d.ts +1 -0
- package/dist/types/root/card/cardLoader.d.ts +4 -18
- package/dist/types/root/card/cardState.d.ts +5 -0
- package/dist/types/root/card/getCardPreview/cache.d.ts +4 -2
- package/dist/types/root/card/getCardPreview/filePreviewStatus.d.ts +5 -0
- package/dist/types/root/card/getCardPreview/helpers.d.ts +4 -5
- package/dist/types/root/card/getCardPreview/index.d.ts +25 -14
- package/dist/types/root/card/getCardStatus.d.ts +1 -0
- package/dist/types/root/card/index.d.ts +18 -15
- package/dist/types/root/cardView.d.ts +14 -8
- package/dist/types/root/index.d.ts +1 -0
- package/dist/types/root/inline/loader.d.ts +8 -8
- package/dist/types/root/inline/{inlineMediaCard.d.ts → mediaInlineCard.d.ts} +4 -4
- package/dist/types/root/inlinePlayer.d.ts +1 -1
- package/dist/types/root/ui/iconMessage/index.d.ts +7 -2
- package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +5 -18
- package/dist/types/root/ui/titleBox/failedTitleBox.d.ts +2 -0
- package/dist/types/types.d.ts +9 -1
- package/dist/types/utils/analytics.d.ts +20 -21
- package/dist/types/utils/cardDimensions.d.ts +5 -1
- package/dist/types/utils/dimensionComparer.d.ts +1 -1
- package/dist/types/utils/document.d.ts +2 -0
- package/dist/types/utils/getDataURIDimension.d.ts +3 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/lazyContent/styled.d.ts +1 -1
- package/dist/types/utils/lightCards/types.d.ts +1 -1
- package/dist/types/utils/metadata.d.ts +2 -2
- package/dist/types/utils/objectURLCache.d.ts +2 -1
- package/dist/types/utils/resizeModeToMediaImageProps.d.ts +5 -0
- package/dist/types/utils/shouldDisplayImageThumbnail.d.ts +1 -1
- package/example-helpers/developmentUseMessage.tsx +14 -0
- package/example-helpers/index.tsx +55 -4
- package/example-helpers/selectableCard.tsx +2 -1
- package/package.json +18 -14
- package/dist/cjs/root/card/getCardPreview/types.js +0 -5
- package/dist/cjs/utils/fileAttributesContext.js +0 -40
- package/dist/es2019/root/card/getCardPreview/types.js +0 -1
- package/dist/es2019/root/inline/inlineMediaCard.js +0 -92
- package/dist/es2019/utils/fileAttributesContext.js +0 -19
- package/dist/esm/root/card/getCardPreview/types.js +0 -1
- package/dist/esm/root/inline/inlineMediaCard.js +0 -100
- package/dist/esm/utils/fileAttributesContext.js +0 -18
- package/dist/types/root/card/getCardPreview/types.d.ts +0 -5
- package/dist/types/utils/fileAttributesContext.d.ts +0 -10
|
@@ -23,14 +23,20 @@ Object.defineProperty(exports, "isSupportedLocalPreview", {
|
|
|
23
23
|
return _helpers.isSupportedLocalPreview;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
|
-
|
|
26
|
+
Object.defineProperty(exports, "extractFilePreviewStatus", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _filePreviewStatus.extractFilePreviewStatus;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
exports.fetchAndCacheRemotePreview = exports.isSSRClientPreview = exports.isSSRServerPreview = exports.isSSRPreview = exports.isLocalPreview = exports.getSSRCardPreview = exports.shouldResolvePreview = exports.getCardPreview = exports.getFilePreviewFromFileState = exports.removeCardPreviewFromCache = exports.getCardPreviewFromCache = void 0;
|
|
27
33
|
|
|
28
34
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
29
35
|
|
|
30
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
-
|
|
32
36
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
33
37
|
|
|
38
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
39
|
+
|
|
34
40
|
var _mediaClient = require("@atlaskit/media-client");
|
|
35
41
|
|
|
36
42
|
var _mediaCommon = require("@atlaskit/media-common");
|
|
@@ -41,63 +47,23 @@ var _helpers = require("./helpers");
|
|
|
41
47
|
|
|
42
48
|
var _errors = require("../../../errors");
|
|
43
49
|
|
|
44
|
-
|
|
50
|
+
var _dimensionComparer = require("../../../utils/dimensionComparer");
|
|
45
51
|
|
|
46
|
-
|
|
52
|
+
var _filePreviewStatus = require("./filePreviewStatus");
|
|
47
53
|
|
|
48
|
-
|
|
49
|
-
// https://product-fabric.atlassian.net/browse/BMPT-1300
|
|
50
|
-
var extractFilePreviewStatus = function extractFilePreviewStatus(fileState, featureFlags) {
|
|
51
|
-
var hasFilesize = 'size' in fileState && !!fileState.size;
|
|
52
|
-
|
|
53
|
-
var _ref = 'mediaType' in fileState && fileState || {},
|
|
54
|
-
mediaType = _ref.mediaType;
|
|
55
|
-
|
|
56
|
-
var _ref2 = 'mimeType' in fileState && fileState || {},
|
|
57
|
-
mimeType = _ref2.mimeType;
|
|
58
|
-
|
|
59
|
-
var isPreviewable = !!mediaType && (0, _mediaClient.isPreviewableType)(mediaType, featureFlags);
|
|
60
|
-
/**
|
|
61
|
-
* Local preview is available only if it's supported by browser and supported by Media Card (isSupportedLocalPreview)
|
|
62
|
-
* For example, SVGs are mime type NOT supported by browser but media type supported by Media Card (image)
|
|
63
|
-
* Then, local Preview NOT available
|
|
64
|
-
*/
|
|
65
|
-
|
|
66
|
-
var hasLocalPreview = (0, _mediaClient.isPreviewableFileState)(fileState) && (0, _helpers.isSupportedLocalPreview)(mediaType) && !!mimeType && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(mimeType);
|
|
67
|
-
var hasRemotePreview = (0, _mediaClient.isImageRepresentationReady)(fileState);
|
|
68
|
-
var hasPreview = hasLocalPreview || hasRemotePreview;
|
|
69
|
-
var isSupportedByBrowser = !!mimeType && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(mimeType);
|
|
70
|
-
return {
|
|
71
|
-
hasFilesize: hasFilesize,
|
|
72
|
-
isPreviewable: isPreviewable,
|
|
73
|
-
hasPreview: hasPreview,
|
|
74
|
-
isSupportedByBrowser: isSupportedByBrowser
|
|
75
|
-
};
|
|
76
|
-
};
|
|
54
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
77
55
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var shouldGetCardPreview = function shouldGetCardPreview(cardStatus, _ref3) {
|
|
81
|
-
var isPreviewable = _ref3.isPreviewable,
|
|
82
|
-
hasPreview = _ref3.hasPreview,
|
|
83
|
-
isSupportedByBrowser = _ref3.isSupportedByBrowser;
|
|
84
|
-
return cardStatus === 'loading-preview' || cardStatus === 'uploading' && hasPreview && isPreviewable ||
|
|
85
|
-
/**
|
|
86
|
-
* For Video, we can have local or remote preview while processing.
|
|
87
|
-
* Then, we only want to show the thumbnail if the file is supported by the browser,
|
|
88
|
-
* this way we prevent playing unsupported videos that are not procesed
|
|
89
|
-
*/
|
|
90
|
-
cardStatus === 'processing' && hasPreview && isPreviewable && isSupportedByBrowser;
|
|
91
|
-
};
|
|
56
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
92
57
|
|
|
93
|
-
exports.shouldGetCardPreview = shouldGetCardPreview;
|
|
94
58
|
var getCardPreviewFromCache = _cache.default.get;
|
|
59
|
+
exports.getCardPreviewFromCache = getCardPreviewFromCache;
|
|
60
|
+
var removeCardPreviewFromCache = _cache.default.remove;
|
|
95
61
|
/**
|
|
96
62
|
* Will return the preview if available and supported by the browser
|
|
97
63
|
* See extractFilePreviewStatus "hasLocalPreview" logic
|
|
98
64
|
*/
|
|
99
65
|
|
|
100
|
-
exports.
|
|
66
|
+
exports.removeCardPreviewFromCache = removeCardPreviewFromCache;
|
|
101
67
|
|
|
102
68
|
var getFilePreviewFromFileState = function getFilePreviewFromFileState(fileState) {
|
|
103
69
|
return 'mimeType' in fileState && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(fileState.mimeType) && (0, _mediaClient.isPreviewableFileState)(fileState) ? fileState.preview : undefined;
|
|
@@ -105,6 +71,42 @@ var getFilePreviewFromFileState = function getFilePreviewFromFileState(fileState
|
|
|
105
71
|
|
|
106
72
|
exports.getFilePreviewFromFileState = getFilePreviewFromFileState;
|
|
107
73
|
|
|
74
|
+
var extendAndCachePreview = function extendAndCachePreview(id, dimensions, preview, mediaBlobUrlAttrs) {
|
|
75
|
+
var source;
|
|
76
|
+
|
|
77
|
+
switch (preview.source) {
|
|
78
|
+
case 'local':
|
|
79
|
+
source = 'cache-local';
|
|
80
|
+
break;
|
|
81
|
+
|
|
82
|
+
case 'remote':
|
|
83
|
+
source = 'cache-remote';
|
|
84
|
+
break;
|
|
85
|
+
|
|
86
|
+
case 'ssr-server':
|
|
87
|
+
source = 'cache-ssr-server';
|
|
88
|
+
break;
|
|
89
|
+
|
|
90
|
+
case 'ssr-client':
|
|
91
|
+
source = 'cache-ssr-client';
|
|
92
|
+
break;
|
|
93
|
+
|
|
94
|
+
default:
|
|
95
|
+
source = preview.source;
|
|
96
|
+
} // We want to embed some meta context into dataURI for Copy/Paste to work.
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
var dataURI = mediaBlobUrlAttrs ? (0, _mediaClient.addFileAttrsToUrl)(preview.dataURI, mediaBlobUrlAttrs) : preview.dataURI; // We store new cardPreview into cache
|
|
100
|
+
|
|
101
|
+
_cache.default.set(id, dimensions, _objectSpread(_objectSpread({}, preview), {}, {
|
|
102
|
+
source: source,
|
|
103
|
+
dataURI: dataURI
|
|
104
|
+
}));
|
|
105
|
+
|
|
106
|
+
return _objectSpread(_objectSpread({}, preview), {}, {
|
|
107
|
+
dataURI: dataURI
|
|
108
|
+
});
|
|
109
|
+
};
|
|
108
110
|
/**
|
|
109
111
|
* This function will try to return a Card preview, either from cache, local preview or remote preview.
|
|
110
112
|
* It should only be called if there is a chance to get either a remote or a local preview, or both.
|
|
@@ -115,49 +117,48 @@ exports.getFilePreviewFromFileState = getFilePreviewFromFileState;
|
|
|
115
117
|
* In that case, we still want to report the local preview error to the caller, for feature realiability track.
|
|
116
118
|
* hence the use of the optional callback onLocalPreviewError
|
|
117
119
|
*/
|
|
120
|
+
|
|
121
|
+
|
|
118
122
|
var getCardPreview = /*#__PURE__*/function () {
|
|
119
|
-
var
|
|
120
|
-
var mediaClient, id,
|
|
123
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
|
|
124
|
+
var mediaClient, id, _ref$dimensions, dimensions, filePreview, onLocalPreviewError, isRemotePreviewReady, imageUrlParams, mediaBlobUrlAttrs, cachedPreview, localPreview;
|
|
121
125
|
|
|
122
126
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
123
127
|
while (1) {
|
|
124
128
|
switch (_context.prev = _context.next) {
|
|
125
129
|
case 0:
|
|
126
|
-
mediaClient =
|
|
127
|
-
|
|
130
|
+
mediaClient = _ref.mediaClient, id = _ref.id, _ref$dimensions = _ref.dimensions, dimensions = _ref$dimensions === void 0 ? {} : _ref$dimensions, filePreview = _ref.filePreview, onLocalPreviewError = _ref.onLocalPreviewError, isRemotePreviewReady = _ref.isRemotePreviewReady, imageUrlParams = _ref.imageUrlParams, mediaBlobUrlAttrs = _ref.mediaBlobUrlAttrs;
|
|
131
|
+
cachedPreview = _cache.default.get(id, dimensions);
|
|
128
132
|
|
|
129
|
-
if (!
|
|
133
|
+
if (!cachedPreview) {
|
|
130
134
|
_context.next = 4;
|
|
131
135
|
break;
|
|
132
136
|
}
|
|
133
137
|
|
|
134
|
-
return _context.abrupt("return",
|
|
135
|
-
source: 'cache'
|
|
136
|
-
}));
|
|
138
|
+
return _context.abrupt("return", cachedPreview);
|
|
137
139
|
|
|
138
140
|
case 4:
|
|
139
141
|
_context.prev = 4;
|
|
140
|
-
_context.t0 = filePreview;
|
|
141
142
|
|
|
142
|
-
if (!
|
|
143
|
+
if (!filePreview) {
|
|
143
144
|
_context.next = 10;
|
|
144
145
|
break;
|
|
145
146
|
}
|
|
146
147
|
|
|
147
|
-
_context.next =
|
|
148
|
+
_context.next = 8;
|
|
148
149
|
return (0, _helpers.getCardPreviewFromFilePreview)(filePreview);
|
|
149
150
|
|
|
150
|
-
case
|
|
151
|
-
|
|
151
|
+
case 8:
|
|
152
|
+
localPreview = _context.sent;
|
|
153
|
+
return _context.abrupt("return", extendAndCachePreview(id, dimensions, localPreview, mediaBlobUrlAttrs));
|
|
152
154
|
|
|
153
155
|
case 10:
|
|
154
|
-
|
|
155
|
-
_context.next = 18;
|
|
156
|
+
_context.next = 17;
|
|
156
157
|
break;
|
|
157
158
|
|
|
158
|
-
case
|
|
159
|
-
_context.prev =
|
|
160
|
-
_context.
|
|
159
|
+
case 12:
|
|
160
|
+
_context.prev = 12;
|
|
161
|
+
_context.t0 = _context["catch"](4);
|
|
161
162
|
|
|
162
163
|
/**
|
|
163
164
|
* We report the error if:
|
|
@@ -169,8 +170,8 @@ var getCardPreview = /*#__PURE__*/function () {
|
|
|
169
170
|
* i.e. local preview is available and not supported,
|
|
170
171
|
* but we are after the remote preview instead.
|
|
171
172
|
*/
|
|
172
|
-
if (!(0, _errors.isUnsupportedLocalPreviewError)(_context.
|
|
173
|
-
onLocalPreviewError && onLocalPreviewError(_context.
|
|
173
|
+
if (!(0, _errors.isUnsupportedLocalPreviewError)(_context.t0) || (0, _errors.isUnsupportedLocalPreviewError)(_context.t0) && !isRemotePreviewReady) {
|
|
174
|
+
onLocalPreviewError && onLocalPreviewError(_context.t0);
|
|
174
175
|
}
|
|
175
176
|
/**
|
|
176
177
|
* No matter the reason why the local preview failed, we break the process
|
|
@@ -179,56 +180,126 @@ var getCardPreview = /*#__PURE__*/function () {
|
|
|
179
180
|
|
|
180
181
|
|
|
181
182
|
if (isRemotePreviewReady) {
|
|
182
|
-
_context.next =
|
|
183
|
+
_context.next = 17;
|
|
183
184
|
break;
|
|
184
185
|
}
|
|
185
186
|
|
|
186
|
-
throw _context.
|
|
187
|
-
|
|
188
|
-
case 18:
|
|
189
|
-
if (cardPreview) {
|
|
190
|
-
_context.next = 24;
|
|
191
|
-
break;
|
|
192
|
-
}
|
|
187
|
+
throw _context.t0;
|
|
193
188
|
|
|
189
|
+
case 17:
|
|
194
190
|
if (isRemotePreviewReady) {
|
|
195
|
-
_context.next =
|
|
191
|
+
_context.next = 19;
|
|
196
192
|
break;
|
|
197
193
|
}
|
|
198
194
|
|
|
199
195
|
throw new _errors.MediaCardError('remote-preview-not-ready');
|
|
200
196
|
|
|
201
|
-
case
|
|
202
|
-
_context.
|
|
203
|
-
return (0, _helpers.getCardPreviewFromBackend)(mediaClient, id, requestedDimensions, collectionName, resizeMode);
|
|
197
|
+
case 19:
|
|
198
|
+
return _context.abrupt("return", fetchAndCacheRemotePreview(mediaClient, id, dimensions, imageUrlParams, mediaBlobUrlAttrs));
|
|
204
199
|
|
|
205
|
-
case
|
|
206
|
-
|
|
200
|
+
case 20:
|
|
201
|
+
case "end":
|
|
202
|
+
return _context.stop();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}, _callee, null, [[4, 12]]);
|
|
206
|
+
}));
|
|
207
207
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
208
|
+
return function getCardPreview(_x) {
|
|
209
|
+
return _ref2.apply(this, arguments);
|
|
210
|
+
};
|
|
211
|
+
}();
|
|
212
|
+
|
|
213
|
+
exports.getCardPreview = getCardPreview;
|
|
214
|
+
|
|
215
|
+
var shouldResolvePreview = function shouldResolvePreview(_ref3) {
|
|
216
|
+
var status = _ref3.status,
|
|
217
|
+
fileState = _ref3.fileState,
|
|
218
|
+
dimensions = _ref3.dimensions,
|
|
219
|
+
prevDimensions = _ref3.prevDimensions,
|
|
220
|
+
hasCardPreview = _ref3.hasCardPreview,
|
|
221
|
+
isBannedLocalPreview = _ref3.isBannedLocalPreview,
|
|
222
|
+
featureFlags = _ref3.featureFlags;
|
|
223
|
+
var statusIsPreviewable = (0, _filePreviewStatus.isPreviewableStatus)(status, (0, _filePreviewStatus.extractFilePreviewStatus)(fileState, isBannedLocalPreview, featureFlags));
|
|
224
|
+
var dimensionsAreBigger = (0, _dimensionComparer.isBigger)(prevDimensions, dimensions);
|
|
225
|
+
return statusIsPreviewable && (!hasCardPreview || dimensionsAreBigger);
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
exports.shouldResolvePreview = shouldResolvePreview;
|
|
229
|
+
|
|
230
|
+
var getSSRCardPreview = function getSSRCardPreview(ssr, mediaClient, id, params, mediaBlobUrlAttrs) {
|
|
231
|
+
var dataURI;
|
|
232
|
+
|
|
233
|
+
try {
|
|
234
|
+
var rawDataURI = mediaClient.getImageUrlSync(id, params); // We want to embed some meta context into dataURI for Copy/Paste to work.
|
|
235
|
+
|
|
236
|
+
dataURI = mediaBlobUrlAttrs ? (0, _mediaClient.addFileAttrsToUrl)(rawDataURI, mediaBlobUrlAttrs) : rawDataURI;
|
|
237
|
+
var source = ssr === 'client' ? 'ssr-client' : 'ssr-server';
|
|
238
|
+
return {
|
|
239
|
+
dataURI: dataURI,
|
|
240
|
+
source: source,
|
|
241
|
+
orientation: 1
|
|
242
|
+
};
|
|
243
|
+
} catch (e) {
|
|
244
|
+
var reason = ssr === 'server' ? 'ssr-server-uri' : 'ssr-client-uri';
|
|
245
|
+
throw new _errors.SsrPreviewError(reason, e);
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
exports.getSSRCardPreview = getSSRCardPreview;
|
|
216
250
|
|
|
217
|
-
|
|
251
|
+
var isLocalPreview = function isLocalPreview(preview) {
|
|
252
|
+
var localSources = ['local', 'cache-local'];
|
|
253
|
+
return localSources.includes(preview.source);
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
exports.isLocalPreview = isLocalPreview;
|
|
257
|
+
|
|
258
|
+
var isSSRPreview = function isSSRPreview(preview) {
|
|
259
|
+
return isSSRClientPreview(preview) || isSSRServerPreview(preview);
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
exports.isSSRPreview = isSSRPreview;
|
|
218
263
|
|
|
219
|
-
|
|
264
|
+
var isSSRServerPreview = function isSSRServerPreview(preview) {
|
|
265
|
+
var ssrClientSources = ['ssr-server', 'cache-ssr-server'];
|
|
266
|
+
return ssrClientSources.includes(preview.source);
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
exports.isSSRServerPreview = isSSRServerPreview;
|
|
270
|
+
|
|
271
|
+
var isSSRClientPreview = function isSSRClientPreview(preview) {
|
|
272
|
+
var ssrClientSources = ['ssr-client', 'cache-ssr-client'];
|
|
273
|
+
return ssrClientSources.includes(preview.source);
|
|
274
|
+
};
|
|
220
275
|
|
|
221
|
-
|
|
276
|
+
exports.isSSRClientPreview = isSSRClientPreview;
|
|
277
|
+
|
|
278
|
+
var fetchAndCacheRemotePreview = /*#__PURE__*/function () {
|
|
279
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(mediaClient, id, dimensions, params, mediaBlobUrlAttrs) {
|
|
280
|
+
var remotePreview;
|
|
281
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
282
|
+
while (1) {
|
|
283
|
+
switch (_context2.prev = _context2.next) {
|
|
284
|
+
case 0:
|
|
285
|
+
_context2.next = 2;
|
|
286
|
+
return (0, _helpers.getCardPreviewFromBackend)(mediaClient, id, params);
|
|
287
|
+
|
|
288
|
+
case 2:
|
|
289
|
+
remotePreview = _context2.sent;
|
|
290
|
+
return _context2.abrupt("return", extendAndCachePreview(id, dimensions, remotePreview, mediaBlobUrlAttrs));
|
|
291
|
+
|
|
292
|
+
case 4:
|
|
222
293
|
case "end":
|
|
223
|
-
return
|
|
294
|
+
return _context2.stop();
|
|
224
295
|
}
|
|
225
296
|
}
|
|
226
|
-
},
|
|
297
|
+
}, _callee2);
|
|
227
298
|
}));
|
|
228
299
|
|
|
229
|
-
return function
|
|
230
|
-
return
|
|
300
|
+
return function fetchAndCacheRemotePreview(_x2, _x3, _x4, _x5, _x6) {
|
|
301
|
+
return _ref4.apply(this, arguments);
|
|
231
302
|
};
|
|
232
303
|
}();
|
|
233
304
|
|
|
234
|
-
exports.
|
|
305
|
+
exports.fetchAndCacheRemotePreview = fetchAndCacheRemotePreview;
|
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getCardStatus = void 0;
|
|
6
|
+
exports.getCardStatus = exports.isFinalCardStatus = void 0;
|
|
7
|
+
|
|
8
|
+
var isFinalCardStatus = function isFinalCardStatus(status) {
|
|
9
|
+
return ['complete', 'error', 'failed-processing'].includes(status);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
exports.isFinalCardStatus = isFinalCardStatus;
|
|
7
13
|
|
|
8
14
|
var getCardStatus = function getCardStatus(fileStatus, _ref) {
|
|
9
15
|
var hasFilesize = _ref.hasFilesize,
|