@atlaskit/media-viewer 47.4.0 → 47.4.2
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 +12 -0
- package/dist/cjs/analytics/events/operational/commenced.js +0 -2
- package/dist/cjs/analytics/events/operational/loadFailed.js +3 -8
- package/dist/cjs/analytics/events/operational/loadSucceeded.js +3 -5
- package/dist/cjs/analytics/events/operational/previewUnsupported.js +4 -8
- package/dist/cjs/analytics/events/operational/zipEntryLoadFailed.js +5 -11
- package/dist/cjs/analytics/events/operational/zipEntryLoadSucceeded.js +5 -10
- package/dist/cjs/analytics/events/screen/modal.js +0 -2
- package/dist/cjs/analytics/events/ui/closed.js +0 -3
- package/dist/cjs/analytics/events/ui/downloadButtonClicked.js +4 -8
- package/dist/cjs/analytics/events/ui/failedPreviewDownloadButtonClicked.js +4 -9
- package/dist/cjs/analytics/events/ui/navigated.js +0 -5
- package/dist/cjs/analytics/events/ui/zoomInButtonClicked.js +0 -1
- package/dist/cjs/analytics/events/ui/zoomOutButtonClicked.js +0 -1
- package/dist/cjs/analytics/index.js +4 -11
- package/dist/cjs/analytics/ufoExperiences.js +1 -18
- package/dist/cjs/classnames.js +0 -1
- package/dist/cjs/collection.js +15 -52
- package/dist/cjs/components/media-viewer-analytics-error-boundary.js +3 -20
- package/dist/cjs/components/media-viewer-loader.js +2 -41
- package/dist/cjs/components/media-viewer.js +9 -47
- package/dist/cjs/content.js +2 -24
- package/dist/cjs/domain/index.js +0 -1
- package/dist/cjs/domain/outcome.js +2 -11
- package/dist/cjs/domain/zoomLevel.js +0 -12
- package/dist/cjs/download.js +8 -37
- package/dist/cjs/errorMessage.js +6 -43
- package/dist/cjs/errors.js +5 -37
- package/dist/cjs/header.js +15 -58
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/item-viewer.js +13 -80
- package/dist/cjs/list.js +12 -40
- package/dist/cjs/loading.js +0 -6
- package/dist/cjs/media-viewer.js +10 -51
- package/dist/cjs/navigation.js +14 -45
- package/dist/cjs/styleWrappers.js +46 -117
- package/dist/cjs/styles.js +3 -20
- package/dist/cjs/utils/closeOnDirectClick.js +0 -1
- package/dist/cjs/utils/getIdentifierCollection.js +0 -3
- package/dist/cjs/utils/getObjectUrlFromFileState.js +0 -14
- package/dist/cjs/utils/index.js +3 -40
- package/dist/cjs/utils/isIE.js +0 -2
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/viewers/archiveSidebar/archive-sidebar-folder-entry.js +4 -46
- package/dist/cjs/viewers/archiveSidebar/archive-sidebar-header.js +2 -27
- package/dist/cjs/viewers/archiveSidebar/archive-sidebar-renderer.js +7 -43
- package/dist/cjs/viewers/archiveSidebar/archive-sidebar.js +10 -60
- package/dist/cjs/viewers/archiveSidebar/archive.js +10 -94
- package/dist/cjs/viewers/archiveSidebar/archiveViewerLoader.js +2 -38
- package/dist/cjs/viewers/archiveSidebar/styleWrappers.js +3 -28
- package/dist/cjs/viewers/archiveSidebar/styles.js +0 -7
- package/dist/cjs/viewers/audio.js +6 -70
- package/dist/cjs/viewers/base-viewer.js +8 -35
- package/dist/cjs/viewers/codeViewer/codeViewerRenderer.js +8 -50
- package/dist/cjs/viewers/codeViewer/index.js +4 -62
- package/dist/cjs/viewers/codeViewer/msg-parser.js +1 -24
- package/dist/cjs/viewers/codeViewer/styles.js +1 -8
- package/dist/cjs/viewers/codeViewer/util.js +1 -7
- package/dist/cjs/viewers/doc/index.js +4 -56
- package/dist/cjs/viewers/doc/pdfRenderer.js +1 -58
- package/dist/cjs/viewers/image/index.js +8 -65
- package/dist/cjs/viewers/image/interactive-img.js +44 -101
- package/dist/cjs/viewers/useThemeObserverHoc.js +2 -7
- package/dist/cjs/viewers/video.js +12 -64
- package/dist/cjs/zoomControls.js +6 -39
- package/dist/es2019/analytics/index.js +2 -5
- package/dist/es2019/analytics/ufoExperiences.js +5 -6
- package/dist/es2019/collection.js +2 -17
- package/dist/es2019/components/media-viewer-analytics-error-boundary.js +0 -2
- package/dist/es2019/components/media-viewer-loader.js +3 -16
- package/dist/es2019/components/media-viewer.js +6 -11
- package/dist/es2019/content.js +0 -1
- package/dist/es2019/domain/outcome.js +0 -15
- package/dist/es2019/domain/zoomLevel.js +0 -15
- package/dist/es2019/download.js +2 -6
- package/dist/es2019/errorMessage.js +2 -12
- package/dist/es2019/errors.js +5 -9
- package/dist/es2019/header.js +8 -31
- package/dist/es2019/item-viewer.js +3 -40
- package/dist/es2019/list.js +0 -8
- package/dist/es2019/media-viewer.js +0 -18
- package/dist/es2019/navigation.js +8 -13
- package/dist/es2019/styleWrappers.js +7 -3
- package/dist/es2019/styles.js +3 -1
- package/dist/es2019/utils/getObjectUrlFromFileState.js +0 -2
- package/dist/es2019/utils/index.js +3 -13
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/viewers/archiveSidebar/archive-sidebar-folder-entry.js +0 -16
- package/dist/es2019/viewers/archiveSidebar/archive-sidebar-header.js +0 -3
- package/dist/es2019/viewers/archiveSidebar/archive-sidebar-renderer.js +0 -5
- package/dist/es2019/viewers/archiveSidebar/archive-sidebar.js +4 -14
- package/dist/es2019/viewers/archiveSidebar/archive.js +10 -35
- package/dist/es2019/viewers/archiveSidebar/archiveViewerLoader.js +1 -9
- package/dist/es2019/viewers/archiveSidebar/styleWrappers.js +1 -0
- package/dist/es2019/viewers/audio.js +2 -26
- package/dist/es2019/viewers/base-viewer.js +5 -15
- package/dist/es2019/viewers/codeViewer/codeViewerRenderer.js +7 -17
- package/dist/es2019/viewers/codeViewer/index.js +5 -21
- package/dist/es2019/viewers/codeViewer/msg-parser.js +1 -18
- package/dist/es2019/viewers/codeViewer/styles.js +3 -3
- package/dist/es2019/viewers/codeViewer/util.js +1 -2
- package/dist/es2019/viewers/doc/index.js +1 -20
- package/dist/es2019/viewers/doc/pdfRenderer.js +0 -17
- package/dist/es2019/viewers/image/index.js +4 -21
- package/dist/es2019/viewers/image/interactive-img.js +13 -43
- package/dist/es2019/viewers/useThemeObserverHoc.js +3 -3
- package/dist/es2019/viewers/video.js +0 -15
- package/dist/es2019/zoomControls.js +0 -6
- package/dist/esm/analytics/events/operational/loadFailed.js +3 -4
- package/dist/esm/analytics/events/operational/loadSucceeded.js +3 -3
- package/dist/esm/analytics/events/operational/previewUnsupported.js +4 -5
- package/dist/esm/analytics/events/operational/zipEntryLoadFailed.js +5 -6
- package/dist/esm/analytics/events/operational/zipEntryLoadSucceeded.js +5 -6
- package/dist/esm/analytics/events/ui/downloadButtonClicked.js +4 -5
- package/dist/esm/analytics/events/ui/failedPreviewDownloadButtonClicked.js +4 -5
- package/dist/esm/analytics/index.js +4 -7
- package/dist/esm/analytics/ufoExperiences.js +1 -8
- package/dist/esm/collection.js +15 -38
- package/dist/esm/components/media-viewer-analytics-error-boundary.js +3 -14
- package/dist/esm/components/media-viewer-loader.js +3 -32
- package/dist/esm/components/media-viewer.js +9 -32
- package/dist/esm/content.js +2 -11
- package/dist/esm/domain/outcome.js +2 -8
- package/dist/esm/domain/zoomLevel.js +0 -9
- package/dist/esm/download.js +8 -13
- package/dist/esm/errorMessage.js +6 -24
- package/dist/esm/errors.js +5 -21
- package/dist/esm/header.js +15 -43
- package/dist/esm/item-viewer.js +13 -51
- package/dist/esm/list.js +12 -29
- package/dist/esm/loading.js +0 -1
- package/dist/esm/media-viewer.js +10 -34
- package/dist/esm/navigation.js +14 -26
- package/dist/esm/styleWrappers.js +46 -42
- package/dist/esm/styles.js +4 -4
- package/dist/esm/utils/getObjectUrlFromFileState.js +0 -8
- package/dist/esm/utils/index.js +3 -17
- package/dist/esm/version.json +1 -1
- package/dist/esm/viewers/archiveSidebar/archive-sidebar-folder-entry.js +4 -32
- package/dist/esm/viewers/archiveSidebar/archive-sidebar-header.js +2 -14
- package/dist/esm/viewers/archiveSidebar/archive-sidebar-renderer.js +7 -27
- package/dist/esm/viewers/archiveSidebar/archive-sidebar.js +10 -50
- package/dist/esm/viewers/archiveSidebar/archive.js +10 -64
- package/dist/esm/viewers/archiveSidebar/archiveViewerLoader.js +3 -27
- package/dist/esm/viewers/archiveSidebar/styleWrappers.js +3 -2
- package/dist/esm/viewers/archiveSidebar/styles.js +0 -2
- package/dist/esm/viewers/audio.js +6 -55
- package/dist/esm/viewers/base-viewer.js +8 -21
- package/dist/esm/viewers/codeViewer/codeViewerRenderer.js +11 -30
- package/dist/esm/viewers/codeViewer/index.js +5 -47
- package/dist/esm/viewers/codeViewer/msg-parser.js +1 -18
- package/dist/esm/viewers/codeViewer/styles.js +3 -5
- package/dist/esm/viewers/codeViewer/util.js +1 -2
- package/dist/esm/viewers/doc/index.js +5 -43
- package/dist/esm/viewers/doc/pdfRenderer.js +1 -37
- package/dist/esm/viewers/image/index.js +8 -52
- package/dist/esm/viewers/image/interactive-img.js +44 -89
- package/dist/esm/viewers/useThemeObserverHoc.js +2 -3
- package/dist/esm/viewers/video.js +12 -46
- package/dist/esm/zoomControls.js +6 -21
- package/package.json +5 -3
package/dist/cjs/zoomControls.js
CHANGED
|
@@ -1,76 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.ZoomControlsBase = exports.ZoomControls = void 0;
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
27
|
-
|
|
28
17
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
29
|
-
|
|
30
18
|
var _zoomOut = _interopRequireDefault(require("@atlaskit/icon/glyph/media-services/zoom-out"));
|
|
31
|
-
|
|
32
19
|
var _zoomIn = _interopRequireDefault(require("@atlaskit/icon/glyph/media-services/zoom-in"));
|
|
33
|
-
|
|
34
20
|
var _styleWrappers = require("./styleWrappers");
|
|
35
|
-
|
|
36
21
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
37
|
-
|
|
38
22
|
var _analytics = require("./analytics/");
|
|
39
|
-
|
|
40
23
|
var _zoomInButtonClicked = require("./analytics/events/ui/zoomInButtonClicked");
|
|
41
|
-
|
|
42
24
|
var _zoomOutButtonClicked = require("./analytics/events/ui/zoomOutButtonClicked");
|
|
43
|
-
|
|
44
25
|
var _reactIntlNext = require("react-intl-next");
|
|
45
|
-
|
|
46
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
47
|
-
|
|
48
27
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
49
|
-
|
|
50
28
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
51
|
-
|
|
52
29
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
53
|
-
|
|
54
30
|
var ZoomControlsBase = /*#__PURE__*/function (_Component) {
|
|
55
31
|
(0, _inherits2.default)(ZoomControlsBase, _Component);
|
|
56
|
-
|
|
57
32
|
var _super = _createSuper(ZoomControlsBase);
|
|
58
|
-
|
|
59
33
|
function ZoomControlsBase() {
|
|
60
34
|
var _this;
|
|
61
|
-
|
|
62
35
|
(0, _classCallCheck2.default)(this, ZoomControlsBase);
|
|
63
|
-
|
|
64
36
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
65
37
|
args[_key] = arguments[_key];
|
|
66
38
|
}
|
|
67
|
-
|
|
68
39
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
69
40
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "zoomIn", function () {
|
|
70
41
|
var _this$props = _this.props,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
42
|
+
onChange = _this$props.onChange,
|
|
43
|
+
zoomLevel = _this$props.zoomLevel;
|
|
74
44
|
if (zoomLevel.canZoomIn) {
|
|
75
45
|
var zoom = zoomLevel.zoomIn();
|
|
76
46
|
(0, _analytics.fireAnalytics)((0, _zoomInButtonClicked.createZoomInButtonClickEvent)(zoom.value), _this.props);
|
|
@@ -79,9 +49,8 @@ var ZoomControlsBase = /*#__PURE__*/function (_Component) {
|
|
|
79
49
|
});
|
|
80
50
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "zoomOut", function () {
|
|
81
51
|
var _this$props2 = _this.props,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
52
|
+
onChange = _this$props2.onChange,
|
|
53
|
+
zoomLevel = _this$props2.zoomLevel;
|
|
85
54
|
if (zoomLevel.canZoomOut) {
|
|
86
55
|
var zoom = zoomLevel.zoomOut();
|
|
87
56
|
(0, _analytics.fireAnalytics)((0, _zoomOutButtonClicked.createZoomOutButtonClickedEvent)(zoom.value), _this.props);
|
|
@@ -90,13 +59,12 @@ var ZoomControlsBase = /*#__PURE__*/function (_Component) {
|
|
|
90
59
|
});
|
|
91
60
|
return _this;
|
|
92
61
|
}
|
|
93
|
-
|
|
94
62
|
(0, _createClass2.default)(ZoomControlsBase, [{
|
|
95
63
|
key: "render",
|
|
96
64
|
value: function render() {
|
|
97
65
|
var _this$props3 = this.props,
|
|
98
|
-
|
|
99
|
-
|
|
66
|
+
zoomLevel = _this$props3.zoomLevel,
|
|
67
|
+
formatMessage = _this$props3.intl.formatMessage;
|
|
100
68
|
return /*#__PURE__*/_react.default.createElement(_styleWrappers.ZoomWrapper, {
|
|
101
69
|
className: _mediaUi.hideControlsClassName
|
|
102
70
|
}, /*#__PURE__*/_react.default.createElement(_styleWrappers.ZoomControlsWrapper, null, /*#__PURE__*/_react.default.createElement(_mediaUi.MediaButton, {
|
|
@@ -116,7 +84,6 @@ var ZoomControlsBase = /*#__PURE__*/function (_Component) {
|
|
|
116
84
|
}]);
|
|
117
85
|
return ZoomControlsBase;
|
|
118
86
|
}(_react.Component);
|
|
119
|
-
|
|
120
87
|
exports.ZoomControlsBase = ZoomControlsBase;
|
|
121
88
|
var ZoomControls = (0, _analyticsNext.withAnalyticsEvents)({})((0, _reactIntlNext.injectIntl)(ZoomControlsBase));
|
|
122
89
|
exports.ZoomControls = ZoomControls;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { filterFeatureFlagNames, filterFeatureFlagKeysAllProducts, ANALYTICS_MEDIA_CHANNEL } from '@atlaskit/media-common';
|
|
2
2
|
const componentName = 'mediaViewer';
|
|
3
3
|
const packageName = "@atlaskit/media-viewer";
|
|
4
|
-
const packageVersion = "47.4.
|
|
4
|
+
const packageVersion = "47.4.2";
|
|
5
5
|
export { packageName, packageVersion, componentName, componentName as component };
|
|
6
6
|
export const relevantFlags = {
|
|
7
7
|
newCardExperience: false,
|
|
@@ -21,11 +21,9 @@ export function getFileAttributes(fileState) {
|
|
|
21
21
|
fileId: 'undefined'
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
|
|
25
24
|
const {
|
|
26
25
|
id: fileId
|
|
27
26
|
} = fileState;
|
|
28
|
-
|
|
29
27
|
switch (fileState.status) {
|
|
30
28
|
case 'uploading':
|
|
31
29
|
case 'failed-processing':
|
|
@@ -42,20 +40,19 @@ export function getFileAttributes(fileState) {
|
|
|
42
40
|
fileMimetype,
|
|
43
41
|
fileSize
|
|
44
42
|
};
|
|
45
|
-
|
|
46
43
|
case 'error':
|
|
47
44
|
return {
|
|
48
45
|
fileId
|
|
49
46
|
};
|
|
50
47
|
}
|
|
51
48
|
}
|
|
49
|
+
|
|
52
50
|
/** This type takes FailureAttributes and redefines `failReason` to be the strong media-viewer type */
|
|
53
51
|
|
|
54
52
|
export function fireAnalytics(payload, props) {
|
|
55
53
|
const {
|
|
56
54
|
createAnalyticsEvent
|
|
57
55
|
} = props;
|
|
58
|
-
|
|
59
56
|
if (createAnalyticsEvent) {
|
|
60
57
|
const ev = createAnalyticsEvent(payload);
|
|
61
58
|
ev.fire(ANALYTICS_MEDIA_CHANNEL);
|
|
@@ -2,9 +2,8 @@ import { UFOExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atl
|
|
|
2
2
|
import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
|
|
3
3
|
import { LOGGED_FEATURE_FLAG_KEYS } from '.';
|
|
4
4
|
const packageName = "@atlaskit/media-viewer";
|
|
5
|
-
const packageVersion = "47.4.
|
|
5
|
+
const packageVersion = "47.4.2";
|
|
6
6
|
let ufoExperience;
|
|
7
|
-
|
|
8
7
|
const getExperience = () => {
|
|
9
8
|
if (!ufoExperience) {
|
|
10
9
|
const inlineExperience = {
|
|
@@ -17,16 +16,15 @@ const getExperience = () => {
|
|
|
17
16
|
};
|
|
18
17
|
ufoExperience = new UFOExperience('media-file', inlineExperience);
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
return ufoExperience;
|
|
22
20
|
};
|
|
23
|
-
|
|
24
21
|
export const startMediaFileUfoExperience = () => {
|
|
25
22
|
getExperience().start();
|
|
26
23
|
};
|
|
27
24
|
export const succeedMediaFileUfoExperience = properties => {
|
|
28
25
|
getExperience().success({
|
|
29
|
-
metadata: {
|
|
26
|
+
metadata: {
|
|
27
|
+
...properties,
|
|
30
28
|
packageName,
|
|
31
29
|
packageVersion,
|
|
32
30
|
mediaEnvironment: getMediaEnvironment(),
|
|
@@ -35,7 +33,8 @@ export const succeedMediaFileUfoExperience = properties => {
|
|
|
35
33
|
});
|
|
36
34
|
};
|
|
37
35
|
export const failMediaFileUfoExperience = properties => {
|
|
38
|
-
const refinedMetadata = {
|
|
36
|
+
const refinedMetadata = {
|
|
37
|
+
...properties,
|
|
39
38
|
packageName,
|
|
40
39
|
packageVersion,
|
|
41
40
|
mediaEnvironment: getMediaEnvironment(),
|
|
@@ -13,9 +13,7 @@ const initialState = {
|
|
|
13
13
|
export class Collection extends React.Component {
|
|
14
14
|
constructor(...args) {
|
|
15
15
|
super(...args);
|
|
16
|
-
|
|
17
16
|
_defineProperty(this, "state", initialState);
|
|
18
|
-
|
|
19
17
|
_defineProperty(this, "onNavigationChange", item => {
|
|
20
18
|
const {
|
|
21
19
|
mediaClient,
|
|
@@ -26,34 +24,28 @@ export class Collection extends React.Component {
|
|
|
26
24
|
this.setState({
|
|
27
25
|
item
|
|
28
26
|
});
|
|
29
|
-
|
|
30
27
|
if (this.shouldLoadNext(item)) {
|
|
31
28
|
mediaClient.collection.loadNextPage(collectionName, {
|
|
32
29
|
limit: pageSize
|
|
33
30
|
});
|
|
34
31
|
}
|
|
35
|
-
|
|
36
32
|
if (onNavigationChange) {
|
|
37
33
|
onNavigationChange(item);
|
|
38
34
|
}
|
|
39
35
|
});
|
|
40
36
|
}
|
|
41
|
-
|
|
42
37
|
UNSAFE_componentWillUpdate(nextProps) {
|
|
43
38
|
if (this.needsReset(this.props, nextProps)) {
|
|
44
39
|
this.release();
|
|
45
40
|
this.init(nextProps);
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
|
-
|
|
49
43
|
componentWillUnmount() {
|
|
50
44
|
this.release();
|
|
51
45
|
}
|
|
52
|
-
|
|
53
46
|
componentDidMount() {
|
|
54
47
|
this.init(this.props);
|
|
55
48
|
}
|
|
56
|
-
|
|
57
49
|
render() {
|
|
58
50
|
const {
|
|
59
51
|
defaultSelectedItem,
|
|
@@ -69,7 +61,8 @@ export class Collection extends React.Component {
|
|
|
69
61
|
pending: () => /*#__PURE__*/React.createElement(Spinner, null),
|
|
70
62
|
successful: items => {
|
|
71
63
|
const identifiers = items.map(x => toIdentifier(x, collectionName));
|
|
72
|
-
const item = defaultSelectedItem ? {
|
|
64
|
+
const item = defaultSelectedItem ? {
|
|
65
|
+
...defaultSelectedItem,
|
|
73
66
|
collectionName
|
|
74
67
|
} : identifiers[0];
|
|
75
68
|
return /*#__PURE__*/React.createElement(List, {
|
|
@@ -95,7 +88,6 @@ export class Collection extends React.Component {
|
|
|
95
88
|
}
|
|
96
89
|
});
|
|
97
90
|
}
|
|
98
|
-
|
|
99
91
|
init(props) {
|
|
100
92
|
this.setState(initialState);
|
|
101
93
|
const {
|
|
@@ -111,7 +103,6 @@ export class Collection extends React.Component {
|
|
|
111
103
|
this.setState({
|
|
112
104
|
items: Outcome.successful(items)
|
|
113
105
|
});
|
|
114
|
-
|
|
115
106
|
if (defaultSelectedItem && this.shouldLoadNext(defaultSelectedItem)) {
|
|
116
107
|
mediaClient.collection.loadNextPage(collectionName, {
|
|
117
108
|
limit: pageSize
|
|
@@ -125,22 +116,18 @@ export class Collection extends React.Component {
|
|
|
125
116
|
}
|
|
126
117
|
});
|
|
127
118
|
}
|
|
128
|
-
|
|
129
119
|
release() {
|
|
130
120
|
if (this.subscription) {
|
|
131
121
|
this.subscription.unsubscribe();
|
|
132
122
|
}
|
|
133
123
|
}
|
|
134
|
-
|
|
135
124
|
needsReset(propsA, propsB) {
|
|
136
125
|
return propsA.collectionName !== propsB.collectionName || propsA.mediaClient !== propsB.mediaClient;
|
|
137
126
|
}
|
|
138
|
-
|
|
139
127
|
shouldLoadNext(selectedItem) {
|
|
140
128
|
if (isExternalImageIdentifier(selectedItem)) {
|
|
141
129
|
return false;
|
|
142
130
|
}
|
|
143
|
-
|
|
144
131
|
const {
|
|
145
132
|
items
|
|
146
133
|
} = this.state;
|
|
@@ -150,11 +137,9 @@ export class Collection extends React.Component {
|
|
|
150
137
|
successful: items => items.length !== 0 && this.isLastItem(selectedItem, items)
|
|
151
138
|
});
|
|
152
139
|
}
|
|
153
|
-
|
|
154
140
|
isLastItem(selectedItem, items) {
|
|
155
141
|
const lastItem = items[items.length - 1];
|
|
156
142
|
const isLastItem = selectedItem.id === lastItem.id && selectedItem.occurrenceKey === lastItem.occurrenceKey;
|
|
157
143
|
return isLastItem;
|
|
158
144
|
}
|
|
159
|
-
|
|
160
145
|
}
|
|
@@ -6,24 +6,16 @@ import withThemeObserverHOC from '../viewers/useThemeObserverHoc';
|
|
|
6
6
|
export class AsyncMediaViewer extends React.PureComponent {
|
|
7
7
|
constructor(...args) {
|
|
8
8
|
super(...args);
|
|
9
|
-
|
|
10
9
|
_defineProperty(this, "state", {
|
|
11
10
|
// Set state value to equal to current static value of this class.
|
|
12
11
|
MediaViewer: AsyncMediaViewer.MediaViewer,
|
|
13
12
|
MediaViewerErrorBoundary: AsyncMediaViewer.MediaViewerErrorBoundary
|
|
14
13
|
});
|
|
15
14
|
}
|
|
16
|
-
|
|
17
15
|
async UNSAFE_componentWillMount() {
|
|
18
16
|
if (!this.state.MediaViewer || !this.state.MediaViewerErrorBoundary) {
|
|
19
17
|
try {
|
|
20
|
-
const [mediaClient, mediaViewerModule, mediaViewerErrorBoundaryModule] = await Promise.all([import(
|
|
21
|
-
/* webpackChunkName: "@atlaskit-internal_media-client" */
|
|
22
|
-
'@atlaskit/media-client'), import(
|
|
23
|
-
/* webpackChunkName: "@atlaskit-internal_media-viewer" */
|
|
24
|
-
'./media-viewer'), import(
|
|
25
|
-
/* webpackChunkName: "@atlaskit-internal_media-picker-error-boundary" */
|
|
26
|
-
'./media-viewer-analytics-error-boundary')]);
|
|
18
|
+
const [mediaClient, mediaViewerModule, mediaViewerErrorBoundaryModule] = await Promise.all([import( /* webpackChunkName: "@atlaskit-internal_media-client" */'@atlaskit/media-client'), import( /* webpackChunkName: "@atlaskit-internal_media-viewer" */'./media-viewer'), import( /* webpackChunkName: "@atlaskit-internal_media-picker-error-boundary" */'./media-viewer-analytics-error-boundary')]);
|
|
27
19
|
const MediaViewerWithClient = mediaClient.withMediaClient(mediaViewerModule.MediaViewer);
|
|
28
20
|
AsyncMediaViewer.MediaViewer = MediaViewerWithClient;
|
|
29
21
|
AsyncMediaViewer.MediaViewerErrorBoundary = mediaViewerErrorBoundaryModule.default;
|
|
@@ -31,11 +23,11 @@ export class AsyncMediaViewer extends React.PureComponent {
|
|
|
31
23
|
MediaViewer: MediaViewerWithClient,
|
|
32
24
|
MediaViewerErrorBoundary: AsyncMediaViewer.MediaViewerErrorBoundary
|
|
33
25
|
});
|
|
34
|
-
} catch (error) {
|
|
26
|
+
} catch (error) {
|
|
27
|
+
// TODO [MS-2277]: Add operational error to catch async import error
|
|
35
28
|
}
|
|
36
29
|
}
|
|
37
30
|
}
|
|
38
|
-
|
|
39
31
|
render() {
|
|
40
32
|
const {
|
|
41
33
|
theme
|
|
@@ -44,19 +36,14 @@ export class AsyncMediaViewer extends React.PureComponent {
|
|
|
44
36
|
MediaViewer,
|
|
45
37
|
MediaViewerErrorBoundary
|
|
46
38
|
} = this.state;
|
|
47
|
-
|
|
48
39
|
if (!MediaViewer || !MediaViewerErrorBoundary) {
|
|
49
40
|
return /*#__PURE__*/React.createElement(ModalSpinner, {
|
|
50
41
|
blankedColor: headerAndSidebarBackgroundColor,
|
|
51
42
|
invertSpinnerColor: theme !== 'dark'
|
|
52
43
|
});
|
|
53
44
|
}
|
|
54
|
-
|
|
55
45
|
return /*#__PURE__*/React.createElement(MediaViewerErrorBoundary, null, /*#__PURE__*/React.createElement(MediaViewer, this.props));
|
|
56
46
|
}
|
|
57
|
-
|
|
58
47
|
}
|
|
59
|
-
|
|
60
48
|
_defineProperty(AsyncMediaViewer, "displayName", 'AsyncMediaViewer');
|
|
61
|
-
|
|
62
49
|
export default withThemeObserverHOC(AsyncMediaViewer);
|
|
@@ -8,27 +8,22 @@ import { getSelectedIndex } from '../utils';
|
|
|
8
8
|
export class MediaViewer extends Component {
|
|
9
9
|
constructor(...args) {
|
|
10
10
|
super(...args);
|
|
11
|
-
|
|
12
11
|
_defineProperty(this, "getDataSourceWithSelectedItem", (dataSource, selectedItem) => {
|
|
13
12
|
// we want to ensure the card identifier is in the list
|
|
14
13
|
const {
|
|
15
14
|
list
|
|
16
15
|
} = dataSource;
|
|
17
|
-
|
|
18
16
|
if (list) {
|
|
19
17
|
const selectedItemIndex = getSelectedIndex(list, selectedItem);
|
|
20
|
-
|
|
21
18
|
if (selectedItemIndex === -1) {
|
|
22
19
|
return {
|
|
23
20
|
list: [selectedItem, ...list]
|
|
24
21
|
};
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
|
-
|
|
28
24
|
return dataSource;
|
|
29
25
|
});
|
|
30
26
|
}
|
|
31
|
-
|
|
32
27
|
render() {
|
|
33
28
|
const {
|
|
34
29
|
featureFlags,
|
|
@@ -43,16 +38,17 @@ export class MediaViewer extends Component {
|
|
|
43
38
|
} = this.props;
|
|
44
39
|
const defaultPageSize = 30;
|
|
45
40
|
const dataSourceWithSelectedItem = this.getDataSourceWithSelectedItem(dataSource, selectedItem);
|
|
46
|
-
|
|
47
41
|
if (dataSourceWithSelectedItem.list) {
|
|
48
|
-
const items = dataSourceWithSelectedItem.list.map(identifier => ({
|
|
42
|
+
const items = dataSourceWithSelectedItem.list.map(identifier => ({
|
|
43
|
+
...identifier,
|
|
49
44
|
collectionName: getIdentifierCollection(identifier, collectionName)
|
|
50
45
|
}));
|
|
51
46
|
const itemSource = {
|
|
52
47
|
kind: 'ARRAY',
|
|
53
48
|
items: items
|
|
54
49
|
};
|
|
55
|
-
const identifier = {
|
|
50
|
+
const identifier = {
|
|
51
|
+
...selectedItem,
|
|
56
52
|
collectionName
|
|
57
53
|
};
|
|
58
54
|
return /*#__PURE__*/React.createElement(MediaViewerNextGen, {
|
|
@@ -79,13 +75,13 @@ export class MediaViewer extends Component {
|
|
|
79
75
|
contextId: contextId
|
|
80
76
|
});
|
|
81
77
|
}
|
|
82
|
-
|
|
83
78
|
const itemSource = {
|
|
84
79
|
kind: 'COLLECTION',
|
|
85
80
|
collectionName: dataSourceWithSelectedItem.collectionName,
|
|
86
81
|
pageSize: pageSize || defaultPageSize
|
|
87
82
|
};
|
|
88
|
-
const identifier = {
|
|
83
|
+
const identifier = {
|
|
84
|
+
...selectedItem,
|
|
89
85
|
collectionName: dataSourceWithSelectedItem.collectionName
|
|
90
86
|
};
|
|
91
87
|
return /*#__PURE__*/React.createElement(MediaViewerNextGen, {
|
|
@@ -100,5 +96,4 @@ export class MediaViewer extends Component {
|
|
|
100
96
|
throw new Error();
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
|
-
|
|
104
99
|
}
|
package/dist/es2019/content.js
CHANGED
|
@@ -2,31 +2,26 @@ export class Outcome {
|
|
|
2
2
|
constructor(state) {
|
|
3
3
|
this.state = state;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
5
|
static successful(data) {
|
|
7
6
|
return new Outcome({
|
|
8
7
|
status: 'SUCCESSFUL',
|
|
9
8
|
data
|
|
10
9
|
});
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
static pending() {
|
|
14
12
|
return new Outcome({
|
|
15
13
|
status: 'PENDING'
|
|
16
14
|
});
|
|
17
15
|
}
|
|
18
|
-
|
|
19
16
|
static failed(err) {
|
|
20
17
|
return new Outcome({
|
|
21
18
|
status: 'FAILED',
|
|
22
19
|
err
|
|
23
20
|
});
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
get status() {
|
|
27
23
|
return this.state.status;
|
|
28
24
|
}
|
|
29
|
-
|
|
30
25
|
get data() {
|
|
31
26
|
if (this.state.status === 'SUCCESSFUL') {
|
|
32
27
|
return this.state.data;
|
|
@@ -34,7 +29,6 @@ export class Outcome {
|
|
|
34
29
|
return;
|
|
35
30
|
}
|
|
36
31
|
}
|
|
37
|
-
|
|
38
32
|
get err() {
|
|
39
33
|
if (this.state.status === 'FAILED') {
|
|
40
34
|
return this.state.err;
|
|
@@ -42,25 +36,21 @@ export class Outcome {
|
|
|
42
36
|
return;
|
|
43
37
|
}
|
|
44
38
|
}
|
|
45
|
-
|
|
46
39
|
whenSuccessful(successful) {
|
|
47
40
|
if (this.state.status === 'SUCCESSFUL') {
|
|
48
41
|
successful(this.state.data);
|
|
49
42
|
}
|
|
50
43
|
}
|
|
51
|
-
|
|
52
44
|
whenPending(pending) {
|
|
53
45
|
if (this.state.status === 'PENDING') {
|
|
54
46
|
pending();
|
|
55
47
|
}
|
|
56
48
|
}
|
|
57
|
-
|
|
58
49
|
whenFailed(failed) {
|
|
59
50
|
if (this.state.status === 'FAILED') {
|
|
60
51
|
failed(this.state.err);
|
|
61
52
|
}
|
|
62
53
|
}
|
|
63
|
-
|
|
64
54
|
match({
|
|
65
55
|
successful,
|
|
66
56
|
pending,
|
|
@@ -69,15 +59,12 @@ export class Outcome {
|
|
|
69
59
|
switch (this.state.status) {
|
|
70
60
|
case 'SUCCESSFUL':
|
|
71
61
|
return successful(this.state.data);
|
|
72
|
-
|
|
73
62
|
case 'PENDING':
|
|
74
63
|
return pending();
|
|
75
|
-
|
|
76
64
|
case 'FAILED':
|
|
77
65
|
return failed(this.state.err);
|
|
78
66
|
}
|
|
79
67
|
}
|
|
80
|
-
|
|
81
68
|
mapSuccessful(map) {
|
|
82
69
|
if (this.state.status === 'SUCCESSFUL') {
|
|
83
70
|
return Outcome.successful(map(this.state.data));
|
|
@@ -85,7 +72,6 @@ export class Outcome {
|
|
|
85
72
|
return new Outcome(this.state);
|
|
86
73
|
}
|
|
87
74
|
}
|
|
88
|
-
|
|
89
75
|
mapFailed(map) {
|
|
90
76
|
if (this.state.status === 'FAILED') {
|
|
91
77
|
return Outcome.failed(map(this.state.err));
|
|
@@ -93,5 +79,4 @@ export class Outcome {
|
|
|
93
79
|
return new Outcome(this.state);
|
|
94
80
|
}
|
|
95
81
|
}
|
|
96
|
-
|
|
97
82
|
}
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
const BASE_ZOOM_LEVELS = [0.06, 0.12, 0.24, 0.48, 1, 1.5, 2, 4, 6, 8];
|
|
2
|
-
|
|
3
2
|
const sortNumbers = nums => nums.sort((a, b) => a - b); // default sorting is alphabetically
|
|
4
3
|
|
|
5
|
-
|
|
6
4
|
const deduplicated = nums => {
|
|
7
5
|
return sortNumbers(nums).filter((num, pos) => pos === 0 || num !== nums[pos - 1]);
|
|
8
6
|
};
|
|
9
|
-
|
|
10
7
|
export class ZoomLevel {
|
|
11
8
|
constructor(initialValue, selectedValue) {
|
|
12
9
|
this.initialValue = initialValue;
|
|
13
|
-
|
|
14
10
|
if (!selectedValue) {
|
|
15
11
|
selectedValue = initialValue;
|
|
16
12
|
}
|
|
17
|
-
|
|
18
13
|
if (selectedValue < this.min) {
|
|
19
14
|
this.value = this.min;
|
|
20
15
|
} else if (selectedValue > this.max) {
|
|
@@ -23,7 +18,6 @@ export class ZoomLevel {
|
|
|
23
18
|
this.value = selectedValue;
|
|
24
19
|
}
|
|
25
20
|
}
|
|
26
|
-
|
|
27
21
|
get zoomLevels() {
|
|
28
22
|
return deduplicated(sortNumbers(BASE_ZOOM_LEVELS.map(zoomLevel => zoomLevel * this.initialValue).concat(1) // make sure 100% is selectable
|
|
29
23
|
)); // and that all levels are ordered
|
|
@@ -32,41 +26,32 @@ export class ZoomLevel {
|
|
|
32
26
|
get min() {
|
|
33
27
|
return this.zoomLevels[0];
|
|
34
28
|
}
|
|
35
|
-
|
|
36
29
|
get max() {
|
|
37
30
|
return this.zoomLevels.slice(-1)[0];
|
|
38
31
|
}
|
|
39
|
-
|
|
40
32
|
get asPercentage() {
|
|
41
33
|
return `${Math.round(this.value * 100)} %`;
|
|
42
34
|
}
|
|
43
|
-
|
|
44
35
|
zoomIn() {
|
|
45
36
|
const index = this.zoomLevels.indexOf(this.value);
|
|
46
37
|
const nextValue = this.zoomLevels[index + 1];
|
|
47
38
|
return nextValue ? new ZoomLevel(this.initialValue, nextValue) : this;
|
|
48
39
|
}
|
|
49
|
-
|
|
50
40
|
zoomOut() {
|
|
51
41
|
const index = this.zoomLevels.indexOf(this.value);
|
|
52
42
|
const nextValue = this.zoomLevels[index - 1];
|
|
53
43
|
return nextValue ? new ZoomLevel(this.initialValue, nextValue) : this;
|
|
54
44
|
}
|
|
55
|
-
|
|
56
45
|
fullyZoomIn() {
|
|
57
46
|
return new ZoomLevel(this.initialValue, this.max);
|
|
58
47
|
}
|
|
59
|
-
|
|
60
48
|
fullyZoomOut() {
|
|
61
49
|
return new ZoomLevel(this.initialValue, this.min);
|
|
62
50
|
}
|
|
63
|
-
|
|
64
51
|
get canZoomIn() {
|
|
65
52
|
return this.value < this.max;
|
|
66
53
|
}
|
|
67
|
-
|
|
68
54
|
get canZoomOut() {
|
|
69
55
|
return this.value > this.min;
|
|
70
56
|
}
|
|
71
|
-
|
|
72
57
|
}
|
package/dist/es2019/download.js
CHANGED
|
@@ -11,9 +11,7 @@ import { DownloadButtonWrapper } from './styleWrappers';
|
|
|
11
11
|
const downloadIcon = /*#__PURE__*/React.createElement(DownloadIcon, {
|
|
12
12
|
label: "Download"
|
|
13
13
|
});
|
|
14
|
-
|
|
15
14
|
function noop() {}
|
|
16
|
-
|
|
17
15
|
export function DownloadButton({
|
|
18
16
|
analyticspayload,
|
|
19
17
|
onClick: providedOnClick = noop,
|
|
@@ -21,12 +19,10 @@ export function DownloadButton({
|
|
|
21
19
|
}) {
|
|
22
20
|
const onClick = useCallback((event, analyticsEvent) => {
|
|
23
21
|
const clone = analyticsEvent.clone();
|
|
24
|
-
|
|
25
22
|
if (clone) {
|
|
26
23
|
clone.update(analyticspayload);
|
|
27
24
|
clone.fire(ANALYTICS_MEDIA_CHANNEL);
|
|
28
25
|
}
|
|
29
|
-
|
|
30
26
|
providedOnClick(event, analyticsEvent);
|
|
31
27
|
}, [analyticspayload, providedOnClick]);
|
|
32
28
|
return /*#__PURE__*/React.createElement(MediaButton, _extends({}, rest, {
|
|
@@ -57,12 +53,12 @@ export const ToolbarDownloadButton = props => {
|
|
|
57
53
|
mediaClient,
|
|
58
54
|
identifier
|
|
59
55
|
} = props;
|
|
60
|
-
const downloadEvent = createDownloadButtonClickedEvent(state);
|
|
56
|
+
const downloadEvent = createDownloadButtonClickedEvent(state);
|
|
61
57
|
|
|
58
|
+
// TODO [MS-1731]: make it work for external files as well
|
|
62
59
|
if (isExternalImageIdentifier(identifier)) {
|
|
63
60
|
return null;
|
|
64
61
|
}
|
|
65
|
-
|
|
66
62
|
return /*#__PURE__*/React.createElement(DownloadButton, {
|
|
67
63
|
testId: "media-viewer-download-button",
|
|
68
64
|
analyticspayload: downloadEvent,
|