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