@atlaskit/media-viewer 46.1.0 → 46.2.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 +87 -0
- package/dist/cjs/analytics/ufoExperiences.js +66 -0
- package/dist/cjs/errorMessage.js +17 -0
- package/dist/cjs/item-viewer.js +81 -15
- package/dist/cjs/styled.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/viewers/archiveSidebar/styled.js +2 -2
- package/dist/es2019/analytics/ufoExperiences.js +40 -0
- package/dist/es2019/errorMessage.js +10 -0
- package/dist/es2019/item-viewer.js +27 -5
- package/dist/es2019/styled.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/viewers/archiveSidebar/styled.js +6 -6
- package/dist/esm/analytics/ufoExperiences.js +47 -0
- package/dist/esm/errorMessage.js +15 -0
- package/dist/esm/item-viewer.js +57 -5
- package/dist/esm/styled.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/esm/viewers/archiveSidebar/styled.js +2 -2
- package/dist/types/analytics/ufoExperiences.d.ts +13 -0
- package/dist/types/item-viewer.d.ts +1 -1
- package/package.json +10 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,92 @@
|
|
|
1
1
|
# @atlaskit/media-viewer
|
|
2
2
|
|
|
3
|
+
## 46.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`60136fd1e34`](https://bitbucket.org/atlassian/atlassian-frontend/commits/60136fd1e34) - Replicate Media Viewer Reliability Events using UFO client library
|
|
8
|
+
- [`f862d5ae7aa`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f862d5ae7aa) - remove RxJs peer dependency
|
|
9
|
+
- [`dea110be493`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dea110be493) - [ux] MEX-1334 Implemented code splitting in media-viewer
|
|
10
|
+
- [`118f3af101f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/118f3af101f) - Media Client APIs has been updated to use MediaSubscribable which provides subscription functionality (similar to RxJs observables).
|
|
11
|
+
It exposes subscribe method that is called with MediaObserver as an argument and returns MediaSubscription.
|
|
12
|
+
MediaSubscription exposes unsubscribe method.
|
|
13
|
+
|
|
14
|
+
getFileState:
|
|
15
|
+
The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
|
|
19
|
+
|
|
20
|
+
const mediaClient = new MediaClient({ authProvider });
|
|
21
|
+
|
|
22
|
+
const fileStateSubscribable: MediaSubscribable<FileState> = mediaClient.file.getFileState(id);
|
|
23
|
+
|
|
24
|
+
const mediaObserver: MediaObserver<FileState> = {
|
|
25
|
+
next: (fileState) => {
|
|
26
|
+
nextCallback(fileState)
|
|
27
|
+
},
|
|
28
|
+
error: (error) => {
|
|
29
|
+
errorCallback(error)
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const subscription: MediaSubscription = fileStateSubscribable.subscribe(mediaObserver);
|
|
34
|
+
|
|
35
|
+
subscription.unsubscribe();
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
upload:
|
|
39
|
+
The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
|
|
43
|
+
|
|
44
|
+
const mediaClient = new MediaClient({ authProvider });
|
|
45
|
+
|
|
46
|
+
const uploadFileSubscribable: MediaSubscribable<FileState> = mediaClient.file.upload(uploadableFile);
|
|
47
|
+
|
|
48
|
+
const mediaObserver: MediaObserver<FileState> = {
|
|
49
|
+
next: (fileState) => {
|
|
50
|
+
nextCallback(fileState)
|
|
51
|
+
},
|
|
52
|
+
error: (error) => {
|
|
53
|
+
errorCallback(error)
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const subscription: MediaSubscription = uploadFileSubscribable.subscribe(mediaObserver);
|
|
58
|
+
|
|
59
|
+
subscription.unsubscribe();
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
getItems:
|
|
63
|
+
The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
|
|
67
|
+
|
|
68
|
+
const mediaClient = new MediaClient({ authProvider });
|
|
69
|
+
|
|
70
|
+
const collectionItemsSubscribable: MediaSubscribable<MediaCollectionItem[]> = mediaClient.collection.getItems(collectionName);
|
|
71
|
+
|
|
72
|
+
const mediaObserver: MediaObserver<MediaCollectionItem[]> = {
|
|
73
|
+
next: (items) => {
|
|
74
|
+
nextCallback(items)
|
|
75
|
+
},
|
|
76
|
+
error: (error) => {
|
|
77
|
+
errorCallback(error)
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const subscription: MediaSubscription = collectionItemsSubscribable.subscribe(mediaObserver);
|
|
82
|
+
|
|
83
|
+
subscription.unsubscribe();
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Patch Changes
|
|
87
|
+
|
|
88
|
+
- Updated dependencies
|
|
89
|
+
|
|
3
90
|
## 46.1.0
|
|
4
91
|
|
|
5
92
|
### Minor Changes
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.succeedMediaFileUfoExperience = exports.startMediaFileUfoExperience = exports.failMediaFileUfoExperience = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _ufo = require("@atlaskit/ufo");
|
|
13
|
+
|
|
14
|
+
var _version = require("../version.json");
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
var ufoExperience;
|
|
21
|
+
|
|
22
|
+
var getExperience = function getExperience() {
|
|
23
|
+
if (!ufoExperience) {
|
|
24
|
+
var inlineExperience = {
|
|
25
|
+
platform: {
|
|
26
|
+
component: 'media-viewer'
|
|
27
|
+
},
|
|
28
|
+
type: _ufo.ExperienceTypes.Experience,
|
|
29
|
+
performanceType: _ufo.ExperiencePerformanceTypes.InlineResult
|
|
30
|
+
};
|
|
31
|
+
ufoExperience = new _ufo.UFOExperience('media-file', inlineExperience);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return ufoExperience;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var startMediaFileUfoExperience = function startMediaFileUfoExperience() {
|
|
38
|
+
getExperience().start();
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.startMediaFileUfoExperience = startMediaFileUfoExperience;
|
|
42
|
+
|
|
43
|
+
var succeedMediaFileUfoExperience = function succeedMediaFileUfoExperience(properties) {
|
|
44
|
+
getExperience().success({
|
|
45
|
+
metadata: {
|
|
46
|
+
fileAttributes: properties,
|
|
47
|
+
packageName: _version.name,
|
|
48
|
+
packageVersion: _version.version
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
exports.succeedMediaFileUfoExperience = succeedMediaFileUfoExperience;
|
|
54
|
+
|
|
55
|
+
var failMediaFileUfoExperience = function failMediaFileUfoExperience(properties) {
|
|
56
|
+
var refinedMetadata = _objectSpread(_objectSpread({}, properties), {}, {
|
|
57
|
+
packageName: _version.name,
|
|
58
|
+
packageVersion: _version.version
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
getExperience().failure({
|
|
62
|
+
metadata: refinedMetadata
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
exports.failMediaFileUfoExperience = failMediaFileUfoExperience;
|
package/dist/cjs/errorMessage.js
CHANGED
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.getErrorMessageFromError = exports.errorReasonToMessages = exports.default = exports.ErrorMessage = void 0;
|
|
9
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
10
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
13
|
|
|
12
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -37,6 +39,12 @@ var _loadFailed = require("./analytics/events/operational/loadFailed");
|
|
|
37
39
|
|
|
38
40
|
var _previewUnsupported = require("./analytics/events/operational/previewUnsupported");
|
|
39
41
|
|
|
42
|
+
var _ufoExperiences = require("./analytics/ufoExperiences");
|
|
43
|
+
|
|
44
|
+
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; }
|
|
45
|
+
|
|
46
|
+
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; }
|
|
47
|
+
|
|
40
48
|
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); }; }
|
|
41
49
|
|
|
42
50
|
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; } }
|
|
@@ -100,6 +108,15 @@ var ErrorMessage = /*#__PURE__*/function (_React$Component) {
|
|
|
100
108
|
if (supressAnalytics !== true) {
|
|
101
109
|
var payload = ErrorMessage.getEventPayload(error, fileId, fileState);
|
|
102
110
|
(0, _analytics.fireAnalytics)(payload, props);
|
|
111
|
+
|
|
112
|
+
var rawPayload = _objectSpread({}, payload === null || payload === void 0 ? void 0 : payload.attributes);
|
|
113
|
+
|
|
114
|
+
if (Object.keys(rawPayload).includes('status')) {
|
|
115
|
+
delete rawPayload['status'];
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
var failMediaFileUfoExperiencePayload = rawPayload;
|
|
119
|
+
(0, _ufoExperiences.failMediaFileUfoExperience)(failMediaFileUfoExperiencePayload);
|
|
103
120
|
}
|
|
104
121
|
}
|
|
105
122
|
}, {
|
package/dist/cjs/item-viewer.js
CHANGED
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.isFileStateItem = exports.isExternalImageItem = exports.ItemViewerBase = exports.ItemViewer = void 0;
|
|
9
9
|
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
10
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
13
|
|
|
12
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -25,6 +27,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
25
27
|
|
|
26
28
|
var _react = _interopRequireDefault(require("react"));
|
|
27
29
|
|
|
30
|
+
var _reactLoadable = _interopRequireDefault(require("react-loadable"));
|
|
31
|
+
|
|
28
32
|
var _mediaClient = require("@atlaskit/media-client");
|
|
29
33
|
|
|
30
34
|
var _reactIntlNext = require("react-intl-next");
|
|
@@ -35,14 +39,6 @@ var _codeViewer = require("@atlaskit/media-ui/codeViewer");
|
|
|
35
39
|
|
|
36
40
|
var _domain = require("./domain");
|
|
37
41
|
|
|
38
|
-
var _image = require("./viewers/image");
|
|
39
|
-
|
|
40
|
-
var _video = require("./viewers/video");
|
|
41
|
-
|
|
42
|
-
var _doc = require("./viewers/doc");
|
|
43
|
-
|
|
44
|
-
var _codeViewer2 = require("./viewers/codeViewer");
|
|
45
|
-
|
|
46
42
|
var _loading = require("./loading");
|
|
47
43
|
|
|
48
44
|
var _deepEqual = _interopRequireDefault(require("deep-equal"));
|
|
@@ -61,16 +57,81 @@ var _loadSucceeded = require("./analytics/events/operational/loadSucceeded");
|
|
|
61
57
|
|
|
62
58
|
var _analytics = require("./analytics");
|
|
63
59
|
|
|
64
|
-
var _audio = require("./viewers/audio");
|
|
65
|
-
|
|
66
60
|
var _interactiveImg = require("./viewers/image/interactive-img");
|
|
67
61
|
|
|
68
62
|
var _archiveViewerLoader = _interopRequireDefault(require("./viewers/archiveSidebar/archiveViewerLoader"));
|
|
69
63
|
|
|
64
|
+
var _ufoExperiences = require("./analytics/ufoExperiences");
|
|
65
|
+
|
|
70
66
|
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); }; }
|
|
71
67
|
|
|
72
68
|
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; } }
|
|
73
69
|
|
|
70
|
+
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); }
|
|
71
|
+
|
|
72
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(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; }
|
|
73
|
+
|
|
74
|
+
var ImageViewer = (0, _reactLoadable.default)({
|
|
75
|
+
loader: function loader() {
|
|
76
|
+
return Promise.resolve().then(function () {
|
|
77
|
+
return _interopRequireWildcard(require('./viewers/image'));
|
|
78
|
+
}).then(function (mod) {
|
|
79
|
+
return mod.ImageViewer;
|
|
80
|
+
});
|
|
81
|
+
},
|
|
82
|
+
loading: function loading() {
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
var VideoViewer = (0, _reactLoadable.default)({
|
|
87
|
+
loader: function loader() {
|
|
88
|
+
return Promise.resolve().then(function () {
|
|
89
|
+
return _interopRequireWildcard(require('./viewers/video'));
|
|
90
|
+
}).then(function (mod) {
|
|
91
|
+
return mod.VideoViewer;
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
loading: function loading() {
|
|
95
|
+
return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
var AudioViewer = (0, _reactLoadable.default)({
|
|
99
|
+
loader: function loader() {
|
|
100
|
+
return Promise.resolve().then(function () {
|
|
101
|
+
return _interopRequireWildcard(require('./viewers/audio'));
|
|
102
|
+
}).then(function (mod) {
|
|
103
|
+
return mod.AudioViewer;
|
|
104
|
+
});
|
|
105
|
+
},
|
|
106
|
+
loading: function loading() {
|
|
107
|
+
return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
var DocViewer = (0, _reactLoadable.default)({
|
|
111
|
+
loader: function loader() {
|
|
112
|
+
return Promise.resolve().then(function () {
|
|
113
|
+
return _interopRequireWildcard(require('./viewers/doc'));
|
|
114
|
+
}).then(function (mod) {
|
|
115
|
+
return mod.DocViewer;
|
|
116
|
+
});
|
|
117
|
+
},
|
|
118
|
+
loading: function loading() {
|
|
119
|
+
return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
var CodeViewer = (0, _reactLoadable.default)({
|
|
123
|
+
loader: function loader() {
|
|
124
|
+
return Promise.resolve().then(function () {
|
|
125
|
+
return _interopRequireWildcard(require('./viewers/codeViewer'));
|
|
126
|
+
}).then(function (mod) {
|
|
127
|
+
return mod.CodeViewer;
|
|
128
|
+
});
|
|
129
|
+
},
|
|
130
|
+
loading: function loading() {
|
|
131
|
+
return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
|
|
74
135
|
var isExternalImageItem = function isExternalImageItem(fileItem) {
|
|
75
136
|
return fileItem === 'external-image';
|
|
76
137
|
};
|
|
@@ -108,6 +169,7 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
|
|
|
108
169
|
if (isFileStateItem(fileItem)) {
|
|
109
170
|
var fileAttributes = (0, _analytics.getFileAttributes)(fileItem);
|
|
110
171
|
(0, _analytics.fireAnalytics)((0, _loadSucceeded.createLoadSucceededEvent)(fileAttributes), _this.props);
|
|
172
|
+
(0, _ufoExperiences.succeedMediaFileUfoExperience)(fileAttributes);
|
|
111
173
|
}
|
|
112
174
|
});
|
|
113
175
|
});
|
|
@@ -120,6 +182,9 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
|
|
|
120
182
|
(0, _analytics.fireAnalytics)((0, _loadSucceeded.createLoadSucceededEvent)({
|
|
121
183
|
fileId: 'external-image'
|
|
122
184
|
}), _this.props);
|
|
185
|
+
(0, _ufoExperiences.succeedMediaFileUfoExperience)({
|
|
186
|
+
fileId: 'external-image'
|
|
187
|
+
});
|
|
123
188
|
});
|
|
124
189
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onExternalImgError", function () {
|
|
125
190
|
_this.setState({
|
|
@@ -174,7 +239,7 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
|
|
|
174
239
|
};
|
|
175
240
|
|
|
176
241
|
if ((0, _codeViewer.isCodeViewerItem)(fileState.name)) {
|
|
177
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
242
|
+
return /*#__PURE__*/_react.default.createElement(CodeViewer, (0, _extends2.default)({
|
|
178
243
|
onSuccess: this.onSuccess,
|
|
179
244
|
onError: this.onLoadFail
|
|
180
245
|
}, viewerProps));
|
|
@@ -182,28 +247,28 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
|
|
|
182
247
|
|
|
183
248
|
switch (fileState.mediaType) {
|
|
184
249
|
case 'image':
|
|
185
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
250
|
+
return /*#__PURE__*/_react.default.createElement(ImageViewer, (0, _extends2.default)({
|
|
186
251
|
onLoad: this.onSuccess,
|
|
187
252
|
onError: this.onLoadFail,
|
|
188
253
|
contextId: contextId
|
|
189
254
|
}, viewerProps));
|
|
190
255
|
|
|
191
256
|
case 'audio':
|
|
192
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
257
|
+
return /*#__PURE__*/_react.default.createElement(AudioViewer, (0, _extends2.default)({
|
|
193
258
|
showControls: showControls,
|
|
194
259
|
onCanPlay: this.onSuccess,
|
|
195
260
|
onError: this.onLoadFail
|
|
196
261
|
}, viewerProps));
|
|
197
262
|
|
|
198
263
|
case 'video':
|
|
199
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
264
|
+
return /*#__PURE__*/_react.default.createElement(VideoViewer, (0, _extends2.default)({
|
|
200
265
|
showControls: showControls,
|
|
201
266
|
onCanPlay: this.onSuccess,
|
|
202
267
|
onError: this.onLoadFail
|
|
203
268
|
}, viewerProps));
|
|
204
269
|
|
|
205
270
|
case 'doc':
|
|
206
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
271
|
+
return /*#__PURE__*/_react.default.createElement(DocViewer, (0, _extends2.default)({
|
|
207
272
|
onSuccess: this.onSuccess,
|
|
208
273
|
onError: this.onLoadFail
|
|
209
274
|
}, viewerProps));
|
|
@@ -326,6 +391,7 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
|
|
|
326
391
|
|
|
327
392
|
var id = identifier.id;
|
|
328
393
|
(0, _analytics.fireAnalytics)((0, _commenced.createCommencedEvent)(id), this.props);
|
|
394
|
+
(0, _ufoExperiences.startMediaFileUfoExperience)();
|
|
329
395
|
this.subscription = mediaClient.file.getFileState(id, {
|
|
330
396
|
collectionName: identifier.collectionName
|
|
331
397
|
}).subscribe({
|
package/dist/cjs/styled.js
CHANGED
|
@@ -176,7 +176,7 @@ var Audio = _styledComponents.default.audio(_templateObject33 || (_templateObjec
|
|
|
176
176
|
|
|
177
177
|
exports.Audio = Audio;
|
|
178
178
|
|
|
179
|
-
var AudioCover = _styledComponents.default.img(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n background-color: #
|
|
179
|
+
var AudioCover = _styledComponents.default.img(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n background-color: #000;\n"])));
|
|
180
180
|
|
|
181
181
|
exports.AudioCover = AudioCover;
|
|
182
182
|
|
package/dist/cjs/version.json
CHANGED
|
@@ -63,11 +63,11 @@ var Separator = _styledComponents.default.div(_templateObject10 || (_templateObj
|
|
|
63
63
|
|
|
64
64
|
exports.Separator = Separator;
|
|
65
65
|
|
|
66
|
-
var SidebarHeaderWrapper = _styledComponents.default.span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n display: flex
|
|
66
|
+
var SidebarHeaderWrapper = _styledComponents.default.span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n"])));
|
|
67
67
|
|
|
68
68
|
exports.SidebarHeaderWrapper = SidebarHeaderWrapper;
|
|
69
69
|
|
|
70
|
-
var SidebarHeaderIcon = _styledComponents.default.div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n display: flex
|
|
70
|
+
var SidebarHeaderIcon = _styledComponents.default.div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n margin-right: 10px;\n flex-shrink: 0;\n"])));
|
|
71
71
|
|
|
72
72
|
exports.SidebarHeaderIcon = SidebarHeaderIcon;
|
|
73
73
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { UFOExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
|
|
2
|
+
import { name as packageName, version as packageVersion } from '../version.json';
|
|
3
|
+
let ufoExperience;
|
|
4
|
+
|
|
5
|
+
const getExperience = () => {
|
|
6
|
+
if (!ufoExperience) {
|
|
7
|
+
const inlineExperience = {
|
|
8
|
+
platform: {
|
|
9
|
+
component: 'media-viewer'
|
|
10
|
+
},
|
|
11
|
+
type: ExperienceTypes.Experience,
|
|
12
|
+
performanceType: ExperiencePerformanceTypes.InlineResult
|
|
13
|
+
};
|
|
14
|
+
ufoExperience = new UFOExperience('media-file', inlineExperience);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return ufoExperience;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const startMediaFileUfoExperience = () => {
|
|
21
|
+
getExperience().start();
|
|
22
|
+
};
|
|
23
|
+
export const succeedMediaFileUfoExperience = properties => {
|
|
24
|
+
getExperience().success({
|
|
25
|
+
metadata: {
|
|
26
|
+
fileAttributes: properties,
|
|
27
|
+
packageName,
|
|
28
|
+
packageVersion
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export const failMediaFileUfoExperience = properties => {
|
|
33
|
+
const refinedMetadata = { ...properties,
|
|
34
|
+
packageName,
|
|
35
|
+
packageVersion
|
|
36
|
+
};
|
|
37
|
+
getExperience().failure({
|
|
38
|
+
metadata: refinedMetadata
|
|
39
|
+
});
|
|
40
|
+
};
|
|
@@ -8,6 +8,7 @@ import { fireAnalytics } from './analytics';
|
|
|
8
8
|
import { getPrimaryErrorReason, getSecondaryErrorReason } from './errors';
|
|
9
9
|
import { createLoadFailedEvent } from './analytics/events/operational/loadFailed';
|
|
10
10
|
import { createPreviewUnsupportedEvent } from './analytics/events/operational/previewUnsupported';
|
|
11
|
+
import { failMediaFileUfoExperience } from './analytics/ufoExperiences';
|
|
11
12
|
|
|
12
13
|
const errorLoadingFileImage = formatMessage => /*#__PURE__*/React.createElement(ErrorImage, {
|
|
13
14
|
src: errorLoadingFile,
|
|
@@ -54,6 +55,15 @@ export class ErrorMessage extends React.Component {
|
|
|
54
55
|
if (supressAnalytics !== true) {
|
|
55
56
|
const payload = ErrorMessage.getEventPayload(error, fileId, fileState);
|
|
56
57
|
fireAnalytics(payload, props);
|
|
58
|
+
const rawPayload = { ...(payload === null || payload === void 0 ? void 0 : payload.attributes)
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
if (Object.keys(rawPayload).includes('status')) {
|
|
62
|
+
delete rawPayload['status'];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const failMediaFileUfoExperiencePayload = rawPayload;
|
|
66
|
+
failMediaFileUfoExperience(failMediaFileUfoExperiencePayload);
|
|
57
67
|
}
|
|
58
68
|
}
|
|
59
69
|
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import React from 'react';
|
|
4
|
+
import Loadable from 'react-loadable';
|
|
4
5
|
import { isExternalImageIdentifier, isFileIdentifier } from '@atlaskit/media-client';
|
|
5
6
|
import { FormattedMessage } from 'react-intl-next';
|
|
6
7
|
import { messages } from '@atlaskit/media-ui';
|
|
7
8
|
import { isCodeViewerItem } from '@atlaskit/media-ui/codeViewer';
|
|
8
9
|
import { Outcome } from './domain';
|
|
9
|
-
import { ImageViewer } from './viewers/image';
|
|
10
|
-
import { VideoViewer } from './viewers/video';
|
|
11
|
-
import { DocViewer } from './viewers/doc';
|
|
12
|
-
import { CodeViewer } from './viewers/codeViewer';
|
|
13
10
|
import { Spinner } from './loading';
|
|
14
11
|
import deepEqual from 'deep-equal';
|
|
15
12
|
import ErrorMessage from './errorMessage';
|
|
@@ -19,9 +16,29 @@ import { withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
|
19
16
|
import { createCommencedEvent } from './analytics/events/operational/commenced';
|
|
20
17
|
import { createLoadSucceededEvent } from './analytics/events/operational/loadSucceeded';
|
|
21
18
|
import { fireAnalytics, getFileAttributes } from './analytics';
|
|
22
|
-
import { AudioViewer } from './viewers/audio';
|
|
23
19
|
import { InteractiveImg } from './viewers/image/interactive-img';
|
|
24
20
|
import ArchiveViewerLoader from './viewers/archiveSidebar/archiveViewerLoader';
|
|
21
|
+
import { startMediaFileUfoExperience, succeedMediaFileUfoExperience } from './analytics/ufoExperiences';
|
|
22
|
+
const ImageViewer = Loadable({
|
|
23
|
+
loader: () => import('./viewers/image').then(mod => mod.ImageViewer),
|
|
24
|
+
loading: () => /*#__PURE__*/React.createElement(Spinner, null)
|
|
25
|
+
});
|
|
26
|
+
const VideoViewer = Loadable({
|
|
27
|
+
loader: () => import('./viewers/video').then(mod => mod.VideoViewer),
|
|
28
|
+
loading: () => /*#__PURE__*/React.createElement(Spinner, null)
|
|
29
|
+
});
|
|
30
|
+
const AudioViewer = Loadable({
|
|
31
|
+
loader: () => import('./viewers/audio').then(mod => mod.AudioViewer),
|
|
32
|
+
loading: () => /*#__PURE__*/React.createElement(Spinner, null)
|
|
33
|
+
});
|
|
34
|
+
const DocViewer = Loadable({
|
|
35
|
+
loader: () => import('./viewers/doc').then(mod => mod.DocViewer),
|
|
36
|
+
loading: () => /*#__PURE__*/React.createElement(Spinner, null)
|
|
37
|
+
});
|
|
38
|
+
const CodeViewer = Loadable({
|
|
39
|
+
loader: () => import('./viewers/codeViewer').then(mod => mod.CodeViewer),
|
|
40
|
+
loading: () => /*#__PURE__*/React.createElement(Spinner, null)
|
|
41
|
+
});
|
|
25
42
|
export const isExternalImageItem = fileItem => fileItem === 'external-image';
|
|
26
43
|
export const isFileStateItem = fileItem => !isExternalImageItem(fileItem);
|
|
27
44
|
const initialState = {
|
|
@@ -41,6 +58,7 @@ export class ItemViewerBase extends React.Component {
|
|
|
41
58
|
if (isFileStateItem(fileItem)) {
|
|
42
59
|
const fileAttributes = getFileAttributes(fileItem);
|
|
43
60
|
fireAnalytics(createLoadSucceededEvent(fileAttributes), this.props);
|
|
61
|
+
succeedMediaFileUfoExperience(fileAttributes);
|
|
44
62
|
}
|
|
45
63
|
});
|
|
46
64
|
});
|
|
@@ -55,6 +73,9 @@ export class ItemViewerBase extends React.Component {
|
|
|
55
73
|
fireAnalytics(createLoadSucceededEvent({
|
|
56
74
|
fileId: 'external-image'
|
|
57
75
|
}), this.props);
|
|
76
|
+
succeedMediaFileUfoExperience({
|
|
77
|
+
fileId: 'external-image'
|
|
78
|
+
});
|
|
58
79
|
});
|
|
59
80
|
|
|
60
81
|
_defineProperty(this, "onExternalImgError", () => {
|
|
@@ -256,6 +277,7 @@ export class ItemViewerBase extends React.Component {
|
|
|
256
277
|
id
|
|
257
278
|
} = identifier;
|
|
258
279
|
fireAnalytics(createCommencedEvent(id), this.props);
|
|
280
|
+
startMediaFileUfoExperience();
|
|
259
281
|
this.subscription = mediaClient.file.getFileState(id, {
|
|
260
282
|
collectionName: identifier.collectionName
|
|
261
283
|
}).subscribe({
|
package/dist/es2019/styled.js
CHANGED
package/dist/es2019/version.json
CHANGED
|
@@ -80,15 +80,15 @@ export const Separator = styled.div`
|
|
|
80
80
|
flex-shrink: 0;
|
|
81
81
|
`;
|
|
82
82
|
export const SidebarHeaderWrapper = styled.span`
|
|
83
|
-
display: flex
|
|
84
|
-
align-items: center
|
|
85
|
-
flex-shrink: 0
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: center;
|
|
85
|
+
flex-shrink: 0;
|
|
86
86
|
`;
|
|
87
87
|
export const SidebarHeaderIcon = styled.div`
|
|
88
|
-
display: flex
|
|
89
|
-
align-items: center
|
|
88
|
+
display: flex;
|
|
89
|
+
align-items: center;
|
|
90
90
|
margin-right: 10px;
|
|
91
|
-
flex-shrink: 0
|
|
91
|
+
flex-shrink: 0;
|
|
92
92
|
`;
|
|
93
93
|
export const SidebarHeaderEntry = styled.div`
|
|
94
94
|
flex: 1 1 auto;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
|
|
3
|
+
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; }
|
|
4
|
+
|
|
5
|
+
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) { _defineProperty(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; }
|
|
6
|
+
|
|
7
|
+
import { UFOExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
|
|
8
|
+
import { name as packageName, version as packageVersion } from '../version.json';
|
|
9
|
+
var ufoExperience;
|
|
10
|
+
|
|
11
|
+
var getExperience = function getExperience() {
|
|
12
|
+
if (!ufoExperience) {
|
|
13
|
+
var inlineExperience = {
|
|
14
|
+
platform: {
|
|
15
|
+
component: 'media-viewer'
|
|
16
|
+
},
|
|
17
|
+
type: ExperienceTypes.Experience,
|
|
18
|
+
performanceType: ExperiencePerformanceTypes.InlineResult
|
|
19
|
+
};
|
|
20
|
+
ufoExperience = new UFOExperience('media-file', inlineExperience);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return ufoExperience;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export var startMediaFileUfoExperience = function startMediaFileUfoExperience() {
|
|
27
|
+
getExperience().start();
|
|
28
|
+
};
|
|
29
|
+
export var succeedMediaFileUfoExperience = function succeedMediaFileUfoExperience(properties) {
|
|
30
|
+
getExperience().success({
|
|
31
|
+
metadata: {
|
|
32
|
+
fileAttributes: properties,
|
|
33
|
+
packageName: packageName,
|
|
34
|
+
packageVersion: packageVersion
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
export var failMediaFileUfoExperience = function failMediaFileUfoExperience(properties) {
|
|
39
|
+
var refinedMetadata = _objectSpread(_objectSpread({}, properties), {}, {
|
|
40
|
+
packageName: packageName,
|
|
41
|
+
packageVersion: packageVersion
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
getExperience().failure({
|
|
45
|
+
metadata: refinedMetadata
|
|
46
|
+
});
|
|
47
|
+
};
|
package/dist/esm/errorMessage.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
1
2
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
3
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
4
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
5
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
7
|
|
|
8
|
+
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; }
|
|
9
|
+
|
|
10
|
+
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) { _defineProperty(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; }
|
|
11
|
+
|
|
7
12
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
8
13
|
|
|
9
14
|
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; } }
|
|
@@ -18,6 +23,7 @@ import { fireAnalytics } from './analytics';
|
|
|
18
23
|
import { getPrimaryErrorReason, getSecondaryErrorReason } from './errors';
|
|
19
24
|
import { createLoadFailedEvent } from './analytics/events/operational/loadFailed';
|
|
20
25
|
import { createPreviewUnsupportedEvent } from './analytics/events/operational/previewUnsupported';
|
|
26
|
+
import { failMediaFileUfoExperience } from './analytics/ufoExperiences';
|
|
21
27
|
|
|
22
28
|
var errorLoadingFileImage = function errorLoadingFileImage(formatMessage) {
|
|
23
29
|
return /*#__PURE__*/React.createElement(ErrorImage, {
|
|
@@ -74,6 +80,15 @@ export var ErrorMessage = /*#__PURE__*/function (_React$Component) {
|
|
|
74
80
|
if (supressAnalytics !== true) {
|
|
75
81
|
var payload = ErrorMessage.getEventPayload(error, fileId, fileState);
|
|
76
82
|
fireAnalytics(payload, props);
|
|
83
|
+
|
|
84
|
+
var rawPayload = _objectSpread({}, payload === null || payload === void 0 ? void 0 : payload.attributes);
|
|
85
|
+
|
|
86
|
+
if (Object.keys(rawPayload).includes('status')) {
|
|
87
|
+
delete rawPayload['status'];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var failMediaFileUfoExperiencePayload = rawPayload;
|
|
91
|
+
failMediaFileUfoExperience(failMediaFileUfoExperiencePayload);
|
|
77
92
|
}
|
|
78
93
|
}
|
|
79
94
|
}, {
|
package/dist/esm/item-viewer.js
CHANGED
|
@@ -12,15 +12,12 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
12
12
|
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; } }
|
|
13
13
|
|
|
14
14
|
import React from 'react';
|
|
15
|
+
import Loadable from 'react-loadable';
|
|
15
16
|
import { isExternalImageIdentifier, isFileIdentifier } from '@atlaskit/media-client';
|
|
16
17
|
import { FormattedMessage } from 'react-intl-next';
|
|
17
18
|
import { messages } from '@atlaskit/media-ui';
|
|
18
19
|
import { isCodeViewerItem } from '@atlaskit/media-ui/codeViewer';
|
|
19
20
|
import { Outcome } from './domain';
|
|
20
|
-
import { ImageViewer } from './viewers/image';
|
|
21
|
-
import { VideoViewer } from './viewers/video';
|
|
22
|
-
import { DocViewer } from './viewers/doc';
|
|
23
|
-
import { CodeViewer } from './viewers/codeViewer';
|
|
24
21
|
import { Spinner } from './loading';
|
|
25
22
|
import deepEqual from 'deep-equal';
|
|
26
23
|
import ErrorMessage from './errorMessage';
|
|
@@ -30,9 +27,59 @@ import { withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
|
30
27
|
import { createCommencedEvent } from './analytics/events/operational/commenced';
|
|
31
28
|
import { createLoadSucceededEvent } from './analytics/events/operational/loadSucceeded';
|
|
32
29
|
import { fireAnalytics, getFileAttributes } from './analytics';
|
|
33
|
-
import { AudioViewer } from './viewers/audio';
|
|
34
30
|
import { InteractiveImg } from './viewers/image/interactive-img';
|
|
35
31
|
import ArchiveViewerLoader from './viewers/archiveSidebar/archiveViewerLoader';
|
|
32
|
+
import { startMediaFileUfoExperience, succeedMediaFileUfoExperience } from './analytics/ufoExperiences';
|
|
33
|
+
var ImageViewer = Loadable({
|
|
34
|
+
loader: function loader() {
|
|
35
|
+
return import('./viewers/image').then(function (mod) {
|
|
36
|
+
return mod.ImageViewer;
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
loading: function loading() {
|
|
40
|
+
return /*#__PURE__*/React.createElement(Spinner, null);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
var VideoViewer = Loadable({
|
|
44
|
+
loader: function loader() {
|
|
45
|
+
return import('./viewers/video').then(function (mod) {
|
|
46
|
+
return mod.VideoViewer;
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
loading: function loading() {
|
|
50
|
+
return /*#__PURE__*/React.createElement(Spinner, null);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
var AudioViewer = Loadable({
|
|
54
|
+
loader: function loader() {
|
|
55
|
+
return import('./viewers/audio').then(function (mod) {
|
|
56
|
+
return mod.AudioViewer;
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
loading: function loading() {
|
|
60
|
+
return /*#__PURE__*/React.createElement(Spinner, null);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
var DocViewer = Loadable({
|
|
64
|
+
loader: function loader() {
|
|
65
|
+
return import('./viewers/doc').then(function (mod) {
|
|
66
|
+
return mod.DocViewer;
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
loading: function loading() {
|
|
70
|
+
return /*#__PURE__*/React.createElement(Spinner, null);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
var CodeViewer = Loadable({
|
|
74
|
+
loader: function loader() {
|
|
75
|
+
return import('./viewers/codeViewer').then(function (mod) {
|
|
76
|
+
return mod.CodeViewer;
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
loading: function loading() {
|
|
80
|
+
return /*#__PURE__*/React.createElement(Spinner, null);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
36
83
|
export var isExternalImageItem = function isExternalImageItem(fileItem) {
|
|
37
84
|
return fileItem === 'external-image';
|
|
38
85
|
};
|
|
@@ -66,6 +113,7 @@ export var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
|
|
|
66
113
|
if (isFileStateItem(fileItem)) {
|
|
67
114
|
var fileAttributes = getFileAttributes(fileItem);
|
|
68
115
|
fireAnalytics(createLoadSucceededEvent(fileAttributes), _this.props);
|
|
116
|
+
succeedMediaFileUfoExperience(fileAttributes);
|
|
69
117
|
}
|
|
70
118
|
});
|
|
71
119
|
});
|
|
@@ -80,6 +128,9 @@ export var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
|
|
|
80
128
|
fireAnalytics(createLoadSucceededEvent({
|
|
81
129
|
fileId: 'external-image'
|
|
82
130
|
}), _this.props);
|
|
131
|
+
succeedMediaFileUfoExperience({
|
|
132
|
+
fileId: 'external-image'
|
|
133
|
+
});
|
|
83
134
|
});
|
|
84
135
|
|
|
85
136
|
_defineProperty(_assertThisInitialized(_this), "onExternalImgError", function () {
|
|
@@ -288,6 +339,7 @@ export var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
|
|
|
288
339
|
|
|
289
340
|
var id = identifier.id;
|
|
290
341
|
fireAnalytics(createCommencedEvent(id), this.props);
|
|
342
|
+
startMediaFileUfoExperience();
|
|
291
343
|
this.subscription = mediaClient.file.getFileState(id, {
|
|
292
344
|
collectionName: identifier.collectionName
|
|
293
345
|
}).subscribe({
|
package/dist/esm/styled.js
CHANGED
|
@@ -66,7 +66,7 @@ export var CustomAudioPlayerWrapper = styled.div(_templateObject31 || (_template
|
|
|
66
66
|
export var AudioPlayer = styled.div(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral(["\n background-color: ", ";\n border-radius: ", ";\n align-items: center;\n justify-content: center;\n width: 400px;\n height: 400px;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n"])), blanketColor, borderRadius());
|
|
67
67
|
AudioPlayer.displayName = 'AudioPlayer';
|
|
68
68
|
export var Audio = styled.audio(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n left: 0;\n"])));
|
|
69
|
-
export var AudioCover = styled.img(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n background-color: #
|
|
69
|
+
export var AudioCover = styled.img(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n background-color: #000;\n"])));
|
|
70
70
|
export var DefaultCoverWrapper = styled.div(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n\n > * {\n transform: scale(2);\n }\n"])));
|
|
71
71
|
export var DownloadButtonWrapper = styled.div(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral(["\n margin-top: 28px;\n text-align: center;\n\n button {\n font-weight: bold;\n }\n"])));
|
|
72
72
|
export var CustomVideoPlayerWrapper = styled.div(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral(["\n video {\n flex: 1;\n width: 100vw;\n height: 100vh;\n max-height: 100vh;\n }\n"])));
|
package/dist/esm/version.json
CHANGED
|
@@ -16,8 +16,8 @@ export var ArchiveSidebarFileEntryWrapper = styled.div(_templateObject7 || (_tem
|
|
|
16
16
|
export var ArchiveLayout = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
|
|
17
17
|
export var ArchiveViewerWrapper = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: ", "px;\n right: 0;\n bottom: 0;\n align-items: center;\n display: flex;\n"])), ArchiveSideBarWidth);
|
|
18
18
|
export var Separator = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n border-radius: 1px;\n height: 2px;\n margin: ", "px 0;\n background-color: rgb(36, 50, 76);\n flex-shrink: 0;\n"])), (gridSize() * 5 - 2) / 2);
|
|
19
|
-
export var SidebarHeaderWrapper = styled.span(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex
|
|
20
|
-
export var SidebarHeaderIcon = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex
|
|
19
|
+
export var SidebarHeaderWrapper = styled.span(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n"])));
|
|
20
|
+
export var SidebarHeaderIcon = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n margin-right: 10px;\n flex-shrink: 0;\n"])));
|
|
21
21
|
export var SidebarHeaderEntry = styled.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 1.14286;\n color: ", ";\n"])), DN500);
|
|
22
22
|
/** TODO Replace background colors of item with theme from @atlaskit/tokens once ready*/
|
|
23
23
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FileAttributes } from '@atlaskit/media-common';
|
|
2
|
+
import { RequestMetadata } from '@atlaskit/media-client';
|
|
3
|
+
import { PrimaryErrorReason } from '../errors';
|
|
4
|
+
export declare type UFOFailedEventPayload = {
|
|
5
|
+
failReason?: PrimaryErrorReason;
|
|
6
|
+
error?: string;
|
|
7
|
+
errorDetail?: string;
|
|
8
|
+
request?: RequestMetadata;
|
|
9
|
+
fileAttributes: FileAttributes;
|
|
10
|
+
};
|
|
11
|
+
export declare const startMediaFileUfoExperience: () => void;
|
|
12
|
+
export declare const succeedMediaFileUfoExperience: (properties?: FileAttributes | undefined) => void;
|
|
13
|
+
export declare const failMediaFileUfoExperience: (properties?: UFOFailedEventPayload | undefined) => void;
|
|
@@ -38,4 +38,4 @@ export declare class ItemViewerBase extends React.Component<Props, State> {
|
|
|
38
38
|
private needsReset;
|
|
39
39
|
private release;
|
|
40
40
|
}
|
|
41
|
-
export declare const ItemViewer: React.ForwardRefExoticComponent<Pick<Props, "
|
|
41
|
+
export declare const ItemViewer: React.ForwardRefExoticComponent<Pick<Props, "mediaClient" | "identifier" | "onClose" | "featureFlags" | "showControls" | "contextId" | "previewCount"> & React.RefAttributes<any>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/media-viewer",
|
|
3
|
-
"version": "46.
|
|
3
|
+
"version": "46.2.0",
|
|
4
4
|
"description": "MediaViewer is Atlassian's powerful solution for viewing files on the web. It's both powerful and extendable yet easy-to-integrate",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -32,33 +32,34 @@
|
|
|
32
32
|
"@atlaskit/code": "^14.3.0",
|
|
33
33
|
"@atlaskit/icon": "^21.10.0",
|
|
34
34
|
"@atlaskit/icon-file-type": "^6.3.0",
|
|
35
|
-
"@atlaskit/media-client": "^
|
|
35
|
+
"@atlaskit/media-client": "^15.0.0",
|
|
36
36
|
"@atlaskit/media-common": "^2.11.0",
|
|
37
|
-
"@atlaskit/media-ui": "^
|
|
37
|
+
"@atlaskit/media-ui": "^21.0.0",
|
|
38
38
|
"@atlaskit/side-navigation": "^1.2.3",
|
|
39
39
|
"@atlaskit/spinner": "^15.0.0",
|
|
40
40
|
"@atlaskit/theme": "^12.1.0",
|
|
41
|
+
"@atlaskit/ufo": "^0.1.0",
|
|
41
42
|
"@babel/runtime": "^7.0.0",
|
|
42
43
|
"@kenjiuno/msgreader": "^1.2.6",
|
|
43
44
|
"deep-equal": "^1.0.1",
|
|
44
45
|
"mime": "^2.4.6",
|
|
45
46
|
"pdfjs-dist": "2.0.943",
|
|
46
47
|
"perf-marks": "^1.5.0",
|
|
48
|
+
"react-loadable": "^5.1.0",
|
|
47
49
|
"unzipit": "^1.3.0"
|
|
48
50
|
},
|
|
49
51
|
"peerDependencies": {
|
|
50
52
|
"react": "^16.8.0",
|
|
51
53
|
"react-intl-next": "npm:react-intl@^5.18.1",
|
|
52
|
-
"rxjs": "^5.5.0",
|
|
53
54
|
"styled-components": "^3.2.6"
|
|
54
55
|
},
|
|
55
56
|
"devDependencies": {
|
|
56
57
|
"@atlaskit/button": "^16.2.0",
|
|
57
58
|
"@atlaskit/docs": "*",
|
|
58
|
-
"@atlaskit/media-card": "^73.
|
|
59
|
-
"@atlaskit/media-core": "^32.
|
|
59
|
+
"@atlaskit/media-card": "^73.4.0",
|
|
60
|
+
"@atlaskit/media-core": "^32.3.0",
|
|
60
61
|
"@atlaskit/media-integration-test-helpers": "^2.5.0",
|
|
61
|
-
"@atlaskit/media-test-helpers": "^29.
|
|
62
|
+
"@atlaskit/media-test-helpers": "^29.3.0",
|
|
62
63
|
"@atlaskit/modal-dialog": "^12.2.0",
|
|
63
64
|
"@atlaskit/ssr": "*",
|
|
64
65
|
"@atlaskit/visual-regression": "*",
|
|
@@ -67,11 +68,13 @@
|
|
|
67
68
|
"@types/deep-equal": "^1.0.1",
|
|
68
69
|
"@types/enzyme": "^3.1.15",
|
|
69
70
|
"@types/mime": "^2.0.1",
|
|
71
|
+
"@types/react-loadable": "^5.4.1",
|
|
70
72
|
"enzyme": "^3.10.0",
|
|
71
73
|
"exenv": "^1.2.2",
|
|
72
74
|
"jsverify": "^0.8.3",
|
|
73
75
|
"react-dom": "^16.8.0",
|
|
74
76
|
"react-intl-next": "npm:react-intl@^5.18.1",
|
|
77
|
+
"rxjs": "^5.5.0",
|
|
75
78
|
"typescript": "3.9.6",
|
|
76
79
|
"wait-for-expect": "^1.2.0"
|
|
77
80
|
},
|