@atlaskit/media-card 71.0.0 → 73.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 +104 -0
- package/dist/cjs/actions.js +2 -2
- package/dist/cjs/errors.js +83 -8
- 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 +8 -8
- package/dist/cjs/root/card/cardAnalytics.js +4 -16
- 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 +10 -5
- 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 +177 -97
- package/dist/cjs/root/card/getCardStatus.js +7 -1
- package/dist/cjs/root/card/index.js +384 -285
- package/dist/cjs/root/cardView.js +113 -88
- package/dist/cjs/root/inline/loader.js +47 -15
- package/dist/cjs/root/inline/mediaInlineCard.js +33 -12
- package/dist/cjs/root/inlinePlayer.js +77 -24
- 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 +47 -123
- package/dist/cjs/root/ui/loadingRateLimited/loadingRateLimited.js +6 -4
- package/dist/cjs/root/ui/loadingRateLimited/styled.js +2 -2
- package/dist/cjs/root/ui/playButton/styled.js +1 -1
- package/dist/cjs/root/ui/progressBar/progressBar.js +7 -4
- package/dist/cjs/root/ui/progressBar/styled.js +8 -9
- 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 +7 -44
- package/dist/cjs/utils/breakpoint.js +1 -1
- package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +18 -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 +49 -22
- 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/root/card/cardAnalytics.js +3 -14
- 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 -73
- package/dist/es2019/root/card/getCardStatus.js +1 -0
- package/dist/es2019/root/card/index.js +308 -190
- package/dist/es2019/root/cardView.js +97 -68
- package/dist/es2019/root/inline/loader.js +17 -5
- package/dist/es2019/root/inline/mediaInlineCard.js +32 -11
- package/dist/es2019/root/inlinePlayer.js +56 -4
- 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 +35 -88
- package/dist/es2019/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
- package/dist/es2019/root/ui/loadingRateLimited/styled.js +1 -1
- package/dist/es2019/root/ui/progressBar/progressBar.js +5 -3
- package/dist/es2019/root/ui/progressBar/styled.js +7 -6
- package/dist/es2019/root/ui/styled.js +65 -4
- 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 +5 -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/utils/viewportDetector.js +48 -18
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions.js +2 -2
- package/dist/esm/errors.js +64 -4
- package/dist/esm/files/cardImageView/index.js +51 -102
- package/dist/esm/files/index.js +1 -1
- package/dist/esm/root/card/cardAnalytics.js +3 -15
- 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 +9 -2
- 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 +144 -91
- package/dist/esm/root/card/getCardStatus.js +3 -0
- package/dist/esm/root/card/index.js +396 -288
- package/dist/esm/root/cardView.js +113 -86
- package/dist/esm/root/inline/loader.js +48 -15
- package/dist/esm/root/inline/mediaInlineCard.js +32 -11
- package/dist/esm/root/inlinePlayer.js +74 -23
- 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 +37 -116
- package/dist/esm/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
- package/dist/esm/root/ui/loadingRateLimited/styled.js +1 -1
- package/dist/esm/root/ui/progressBar/progressBar.js +6 -3
- package/dist/esm/root/ui/progressBar/styled.js +7 -7
- 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 +5 -36
- package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +17 -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/utils/viewportDetector.js +48 -21
- 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 -4
- package/dist/types/root/card/cardAnalytics.d.ts +1 -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 +20 -18
- package/dist/types/root/cardView.d.ts +13 -8
- package/dist/types/root/inline/loader.d.ts +2 -0
- package/dist/types/root/inline/mediaInlineCard.d.ts +3 -5
- package/dist/types/root/inlinePlayer.d.ts +8 -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 +14 -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 +4 -2
- package/dist/types/root/ui/progressBar/styled.d.ts +3 -2
- 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 +6 -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/dist/types/utils/viewportDetector.d.ts +13 -5
- 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 -16
- package/dist/cjs/root/card/cardSSRView.js +0 -112
- 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/cjs/utils/lazyContent/index.js +0 -56
- package/dist/cjs/utils/lazyContent/styled.js +0 -23
- package/dist/es2019/root/card/cardSSRView.js +0 -92
- package/dist/es2019/root/card/getCardPreview/types.js +0 -1
- 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/es2019/utils/lazyContent/index.js +0 -18
- package/dist/es2019/utils/lazyContent/styled.js +0 -12
- package/dist/esm/root/card/cardSSRView.js +0 -91
- package/dist/esm/root/card/getCardPreview/types.js +0 -1
- 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/esm/utils/lazyContent/index.js +0 -41
- package/dist/esm/utils/lazyContent/styled.js +0 -14
- package/dist/types/root/card/cardSSRView.d.ts +0 -13
- 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
- package/dist/types/utils/lazyContent/index.d.ts +0 -11
- package/dist/types/utils/lazyContent/styled.d.ts +0 -5
|
@@ -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,57 +50,23 @@ var _helpers = require("./helpers");
|
|
|
41
50
|
|
|
42
51
|
var _errors = require("../../../errors");
|
|
43
52
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
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; }
|
|
47
|
-
|
|
48
|
-
// TODO: align these checks with helpers from Media Client
|
|
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
|
-
};
|
|
53
|
+
var _dimensionComparer = require("../../../utils/dimensionComparer");
|
|
77
54
|
|
|
78
|
-
|
|
55
|
+
var _filePreviewStatus = require("./filePreviewStatus");
|
|
79
56
|
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
isSupportedByBrowser = _ref3.isSupportedByBrowser;
|
|
84
|
-
return cardStatus === 'loading-preview' || cardStatus === 'uploading' && hasPreview && isPreviewable || cardStatus === 'processing' && hasPreview && isPreviewable && isSupportedByBrowser;
|
|
85
|
-
};
|
|
57
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
58
|
+
|
|
59
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
86
60
|
|
|
87
|
-
exports.shouldGetCardPreview = shouldGetCardPreview;
|
|
88
61
|
var getCardPreviewFromCache = _cache.default.get;
|
|
62
|
+
exports.getCardPreviewFromCache = getCardPreviewFromCache;
|
|
63
|
+
var removeCardPreviewFromCache = _cache.default.remove;
|
|
89
64
|
/**
|
|
90
65
|
* Will return the preview if available and supported by the browser
|
|
91
66
|
* See extractFilePreviewStatus "hasLocalPreview" logic
|
|
92
67
|
*/
|
|
93
68
|
|
|
94
|
-
exports.
|
|
69
|
+
exports.removeCardPreviewFromCache = removeCardPreviewFromCache;
|
|
95
70
|
|
|
96
71
|
var getFilePreviewFromFileState = function getFilePreviewFromFileState(fileState) {
|
|
97
72
|
return 'mimeType' in fileState && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(fileState.mimeType) && (0, _mediaClient.isPreviewableFileState)(fileState) ? fileState.preview : undefined;
|
|
@@ -99,6 +74,42 @@ var getFilePreviewFromFileState = function getFilePreviewFromFileState(fileState
|
|
|
99
74
|
|
|
100
75
|
exports.getFilePreviewFromFileState = getFilePreviewFromFileState;
|
|
101
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
|
+
};
|
|
102
113
|
/**
|
|
103
114
|
* This function will try to return a Card preview, either from cache, local preview or remote preview.
|
|
104
115
|
* It should only be called if there is a chance to get either a remote or a local preview, or both.
|
|
@@ -109,49 +120,48 @@ exports.getFilePreviewFromFileState = getFilePreviewFromFileState;
|
|
|
109
120
|
* In that case, we still want to report the local preview error to the caller, for feature realiability track.
|
|
110
121
|
* hence the use of the optional callback onLocalPreviewError
|
|
111
122
|
*/
|
|
123
|
+
|
|
124
|
+
|
|
112
125
|
var getCardPreview = /*#__PURE__*/function () {
|
|
113
|
-
var
|
|
114
|
-
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;
|
|
115
128
|
|
|
116
129
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
117
130
|
while (1) {
|
|
118
131
|
switch (_context.prev = _context.next) {
|
|
119
132
|
case 0:
|
|
120
|
-
mediaClient =
|
|
121
|
-
|
|
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);
|
|
122
135
|
|
|
123
|
-
if (!
|
|
136
|
+
if (!cachedPreview) {
|
|
124
137
|
_context.next = 4;
|
|
125
138
|
break;
|
|
126
139
|
}
|
|
127
140
|
|
|
128
|
-
return _context.abrupt("return",
|
|
129
|
-
source: 'cache'
|
|
130
|
-
}));
|
|
141
|
+
return _context.abrupt("return", cachedPreview);
|
|
131
142
|
|
|
132
143
|
case 4:
|
|
133
144
|
_context.prev = 4;
|
|
134
|
-
_context.t0 = filePreview;
|
|
135
145
|
|
|
136
|
-
if (!
|
|
146
|
+
if (!filePreview) {
|
|
137
147
|
_context.next = 10;
|
|
138
148
|
break;
|
|
139
149
|
}
|
|
140
150
|
|
|
141
|
-
_context.next =
|
|
151
|
+
_context.next = 8;
|
|
142
152
|
return (0, _helpers.getCardPreviewFromFilePreview)(filePreview);
|
|
143
153
|
|
|
144
|
-
case
|
|
145
|
-
|
|
154
|
+
case 8:
|
|
155
|
+
localPreview = _context.sent;
|
|
156
|
+
return _context.abrupt("return", extendAndCachePreview(id, dimensions, localPreview, mediaBlobUrlAttrs));
|
|
146
157
|
|
|
147
158
|
case 10:
|
|
148
|
-
|
|
149
|
-
_context.next = 18;
|
|
159
|
+
_context.next = 17;
|
|
150
160
|
break;
|
|
151
161
|
|
|
152
|
-
case
|
|
153
|
-
_context.prev =
|
|
154
|
-
_context.
|
|
162
|
+
case 12:
|
|
163
|
+
_context.prev = 12;
|
|
164
|
+
_context.t0 = _context["catch"](4);
|
|
155
165
|
|
|
156
166
|
/**
|
|
157
167
|
* We report the error if:
|
|
@@ -163,8 +173,8 @@ var getCardPreview = /*#__PURE__*/function () {
|
|
|
163
173
|
* i.e. local preview is available and not supported,
|
|
164
174
|
* but we are after the remote preview instead.
|
|
165
175
|
*/
|
|
166
|
-
if (!(0, _errors.isUnsupportedLocalPreviewError)(_context.
|
|
167
|
-
onLocalPreviewError && onLocalPreviewError(_context.
|
|
176
|
+
if (!(0, _errors.isUnsupportedLocalPreviewError)(_context.t0) || (0, _errors.isUnsupportedLocalPreviewError)(_context.t0) && !isRemotePreviewReady) {
|
|
177
|
+
onLocalPreviewError && onLocalPreviewError(_context.t0);
|
|
168
178
|
}
|
|
169
179
|
/**
|
|
170
180
|
* No matter the reason why the local preview failed, we break the process
|
|
@@ -173,56 +183,126 @@ var getCardPreview = /*#__PURE__*/function () {
|
|
|
173
183
|
|
|
174
184
|
|
|
175
185
|
if (isRemotePreviewReady) {
|
|
176
|
-
_context.next =
|
|
186
|
+
_context.next = 17;
|
|
177
187
|
break;
|
|
178
188
|
}
|
|
179
189
|
|
|
180
|
-
throw _context.
|
|
181
|
-
|
|
182
|
-
case 18:
|
|
183
|
-
if (cardPreview) {
|
|
184
|
-
_context.next = 24;
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
190
|
+
throw _context.t0;
|
|
187
191
|
|
|
192
|
+
case 17:
|
|
188
193
|
if (isRemotePreviewReady) {
|
|
189
|
-
_context.next =
|
|
194
|
+
_context.next = 19;
|
|
190
195
|
break;
|
|
191
196
|
}
|
|
192
197
|
|
|
193
198
|
throw new _errors.MediaCardError('remote-preview-not-ready');
|
|
194
199
|
|
|
195
|
-
case
|
|
196
|
-
_context.
|
|
197
|
-
|
|
200
|
+
case 19:
|
|
201
|
+
return _context.abrupt("return", fetchAndCacheRemotePreview(mediaClient, id, dimensions, imageUrlParams, mediaBlobUrlAttrs));
|
|
202
|
+
|
|
203
|
+
case 20:
|
|
204
|
+
case "end":
|
|
205
|
+
return _context.stop();
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}, _callee, null, [[4, 12]]);
|
|
209
|
+
}));
|
|
198
210
|
|
|
199
|
-
|
|
200
|
-
|
|
211
|
+
return function getCardPreview(_x) {
|
|
212
|
+
return _ref2.apply(this, arguments);
|
|
213
|
+
};
|
|
214
|
+
}();
|
|
201
215
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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;
|
|
210
232
|
|
|
211
|
-
|
|
233
|
+
var getSSRCardPreview = function getSSRCardPreview(ssr, mediaClient, id, params, mediaBlobUrlAttrs) {
|
|
234
|
+
var dataURI;
|
|
212
235
|
|
|
213
|
-
|
|
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
|
+
};
|
|
251
|
+
|
|
252
|
+
exports.getSSRCardPreview = getSSRCardPreview;
|
|
253
|
+
|
|
254
|
+
var isLocalPreview = function isLocalPreview(preview) {
|
|
255
|
+
var localSources = ['local', 'cache-local'];
|
|
256
|
+
return localSources.includes(preview.source);
|
|
257
|
+
};
|
|
214
258
|
|
|
215
|
-
|
|
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);
|
|
290
|
+
|
|
291
|
+
case 2:
|
|
292
|
+
remotePreview = _context2.sent;
|
|
293
|
+
return _context2.abrupt("return", extendAndCachePreview(id, dimensions, remotePreview, mediaBlobUrlAttrs));
|
|
294
|
+
|
|
295
|
+
case 4:
|
|
216
296
|
case "end":
|
|
217
|
-
return
|
|
297
|
+
return _context2.stop();
|
|
218
298
|
}
|
|
219
299
|
}
|
|
220
|
-
},
|
|
300
|
+
}, _callee2);
|
|
221
301
|
}));
|
|
222
302
|
|
|
223
|
-
return function
|
|
224
|
-
return
|
|
303
|
+
return function fetchAndCacheRemotePreview(_x2, _x3, _x4, _x5, _x6) {
|
|
304
|
+
return _ref4.apply(this, arguments);
|
|
225
305
|
};
|
|
226
306
|
}();
|
|
227
307
|
|
|
228
|
-
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,
|