@atlaskit/media-viewer 47.4.2 → 47.5.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 +16 -0
- package/dist/cjs/analytics/index.js +1 -1
- package/dist/cjs/analytics/ufoExperiences.js +1 -1
- package/dist/cjs/components/media-viewer.js +30 -119
- package/dist/cjs/components/normaliseInput.js +65 -0
- package/dist/cjs/media-viewer.js +38 -49
- package/dist/cjs/utils/index.js +1 -11
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics/index.js +1 -1
- package/dist/es2019/analytics/ufoExperiences.js +1 -1
- package/dist/es2019/components/media-viewer.js +31 -97
- package/dist/es2019/components/normaliseInput.js +52 -0
- package/dist/es2019/media-viewer.js +36 -54
- package/dist/es2019/utils/index.js +0 -8
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics/index.js +1 -1
- package/dist/esm/analytics/ufoExperiences.js +1 -1
- package/dist/esm/components/media-viewer.js +29 -116
- package/dist/esm/components/normaliseInput.js +57 -0
- package/dist/esm/media-viewer.js +38 -49
- package/dist/esm/utils/index.js +0 -8
- package/dist/esm/version.json +1 -1
- package/dist/types/components/media-viewer.d.ts +3 -7
- package/dist/types/components/normaliseInput.d.ts +13 -0
- package/dist/types/components/types.d.ts +12 -1
- package/dist/types/domain/index.d.ts +0 -9
- package/dist/types/media-viewer.d.ts +12 -3
- package/dist/types/utils/index.d.ts +1 -2
- package/package.json +9 -9
- package/report.api.md +5 -3
- package/dist/cjs/collection.js +0 -195
- package/dist/es2019/collection.js +0 -145
- package/dist/esm/collection.js +0 -187
- package/dist/types/collection.d.ts +0 -36
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/media-viewer
|
|
2
2
|
|
|
3
|
+
## 47.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`c3eba8c788d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c3eba8c788d) - Deprecation notice: Media Viewer no longer accepts a collection name as a data source. Integrators should pass the full list of files to browse through the new "items" property.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
13
|
+
## 47.4.3
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
|
|
3
19
|
## 47.4.2
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -12,7 +12,7 @@ var componentName = 'mediaViewer';
|
|
|
12
12
|
exports.component = exports.componentName = componentName;
|
|
13
13
|
var packageName = "@atlaskit/media-viewer";
|
|
14
14
|
exports.packageName = packageName;
|
|
15
|
-
var packageVersion = "47.
|
|
15
|
+
var packageVersion = "47.5.0";
|
|
16
16
|
exports.packageVersion = packageVersion;
|
|
17
17
|
var relevantFlags = {
|
|
18
18
|
newCardExperience: false,
|
|
@@ -12,7 +12,7 @@ var _ = require(".");
|
|
|
12
12
|
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; }
|
|
13
13
|
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; }
|
|
14
14
|
var packageName = "@atlaskit/media-viewer";
|
|
15
|
-
var packageVersion = "47.
|
|
15
|
+
var packageVersion = "47.5.0";
|
|
16
16
|
var ufoExperience;
|
|
17
17
|
var getExperience = function getExperience() {
|
|
18
18
|
if (!ufoExperience) {
|
|
@@ -1,128 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.MediaViewer = void 0;
|
|
9
|
-
var
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
-
var _mediaClient = require("@atlaskit/media-client");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
19
9
|
var _mediaViewer = require("../media-viewer");
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return dataSource;
|
|
50
|
-
});
|
|
51
|
-
return _this;
|
|
52
|
-
}
|
|
53
|
-
(0, _createClass2.default)(MediaViewer, [{
|
|
54
|
-
key: "render",
|
|
55
|
-
value: function render() {
|
|
56
|
-
var _this$props = this.props,
|
|
57
|
-
featureFlags = _this$props.featureFlags,
|
|
58
|
-
onClose = _this$props.onClose,
|
|
59
|
-
mediaClient = _this$props.mediaClient,
|
|
60
|
-
selectedItem = _this$props.selectedItem,
|
|
61
|
-
collectionName = _this$props.collectionName,
|
|
62
|
-
dataSource = _this$props.dataSource,
|
|
63
|
-
pageSize = _this$props.pageSize,
|
|
64
|
-
extensions = _this$props.extensions,
|
|
65
|
-
contextId = _this$props.contextId;
|
|
66
|
-
var defaultPageSize = 30;
|
|
67
|
-
var dataSourceWithSelectedItem = this.getDataSourceWithSelectedItem(dataSource, selectedItem);
|
|
68
|
-
if (dataSourceWithSelectedItem.list) {
|
|
69
|
-
var items = dataSourceWithSelectedItem.list.map(function (identifier) {
|
|
70
|
-
return _objectSpread(_objectSpread({}, identifier), {}, {
|
|
71
|
-
collectionName: (0, _getIdentifierCollection.getIdentifierCollection)(identifier, collectionName)
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
var itemSource = {
|
|
75
|
-
kind: 'ARRAY',
|
|
76
|
-
items: items
|
|
77
|
-
};
|
|
78
|
-
var identifier = _objectSpread(_objectSpread({}, selectedItem), {}, {
|
|
79
|
-
collectionName: collectionName
|
|
80
|
-
});
|
|
81
|
-
return /*#__PURE__*/_react.default.createElement(_mediaViewer.MediaViewer, {
|
|
82
|
-
mediaClient: mediaClient,
|
|
83
|
-
selectedItem: identifier,
|
|
84
|
-
onClose: onClose,
|
|
85
|
-
itemSource: itemSource,
|
|
86
|
-
featureFlags: featureFlags,
|
|
87
|
-
extensions: extensions,
|
|
88
|
-
contextId: contextId
|
|
89
|
-
});
|
|
90
|
-
} else if (dataSourceWithSelectedItem.collectionName) {
|
|
91
|
-
if ((0, _mediaClient.isExternalImageIdentifier)(selectedItem)) {
|
|
92
|
-
// if integrators pass an external image + collection, we remove the collection and just show the selectedItem
|
|
93
|
-
return /*#__PURE__*/_react.default.createElement(_mediaViewer.MediaViewer, {
|
|
94
|
-
mediaClient: mediaClient,
|
|
95
|
-
selectedItem: selectedItem,
|
|
96
|
-
onClose: onClose,
|
|
97
|
-
itemSource: {
|
|
98
|
-
kind: 'ARRAY',
|
|
99
|
-
items: [selectedItem]
|
|
100
|
-
},
|
|
101
|
-
featureFlags: featureFlags,
|
|
102
|
-
contextId: contextId
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
var _itemSource = {
|
|
106
|
-
kind: 'COLLECTION',
|
|
107
|
-
collectionName: dataSourceWithSelectedItem.collectionName,
|
|
108
|
-
pageSize: pageSize || defaultPageSize
|
|
109
|
-
};
|
|
110
|
-
var _identifier = _objectSpread(_objectSpread({}, selectedItem), {}, {
|
|
111
|
-
collectionName: dataSourceWithSelectedItem.collectionName
|
|
112
|
-
});
|
|
113
|
-
return /*#__PURE__*/_react.default.createElement(_mediaViewer.MediaViewer, {
|
|
114
|
-
mediaClient: mediaClient,
|
|
115
|
-
selectedItem: _identifier,
|
|
116
|
-
onClose: onClose,
|
|
117
|
-
itemSource: _itemSource,
|
|
118
|
-
featureFlags: featureFlags,
|
|
119
|
-
contextId: contextId
|
|
120
|
-
});
|
|
121
|
-
} else {
|
|
122
|
-
throw new Error();
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}]);
|
|
126
|
-
return MediaViewer;
|
|
127
|
-
}(_react.Component);
|
|
10
|
+
var _normaliseInput2 = require("./normaliseInput");
|
|
11
|
+
var MediaViewer = function MediaViewer(_ref) {
|
|
12
|
+
var featureFlags = _ref.featureFlags,
|
|
13
|
+
onClose = _ref.onClose,
|
|
14
|
+
mediaClient = _ref.mediaClient,
|
|
15
|
+
selectedItem = _ref.selectedItem,
|
|
16
|
+
collectionName = _ref.collectionName,
|
|
17
|
+
items = _ref.items,
|
|
18
|
+
extensions = _ref.extensions,
|
|
19
|
+
contextId = _ref.contextId,
|
|
20
|
+
dataSource = _ref.dataSource;
|
|
21
|
+
var _normaliseInput = (0, _normaliseInput2.normaliseInput)({
|
|
22
|
+
selectedItem: selectedItem,
|
|
23
|
+
collectionName: collectionName,
|
|
24
|
+
items: items,
|
|
25
|
+
dataSource: dataSource
|
|
26
|
+
}),
|
|
27
|
+
normalisedSelectedItem = _normaliseInput.normalisedSelectedItem,
|
|
28
|
+
normalisedItems = _normaliseInput.normalisedItems;
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement(_mediaViewer.MediaViewer, {
|
|
30
|
+
mediaClient: mediaClient,
|
|
31
|
+
selectedItem: normalisedSelectedItem,
|
|
32
|
+
onClose: onClose,
|
|
33
|
+
items: normalisedItems,
|
|
34
|
+
featureFlags: featureFlags,
|
|
35
|
+
extensions: extensions,
|
|
36
|
+
contextId: contextId
|
|
37
|
+
});
|
|
38
|
+
};
|
|
128
39
|
exports.MediaViewer = MediaViewer;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.normaliseInput = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _mediaClient = require("@atlaskit/media-client");
|
|
11
|
+
var _getIdentifierCollection = require("../utils/getIdentifierCollection");
|
|
12
|
+
var _utils = require("../utils");
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
var ensureCollectionName = function ensureCollectionName(items, collectionName) {
|
|
16
|
+
return items.map(function (identifier) {
|
|
17
|
+
return (0, _mediaClient.isExternalImageIdentifier)(identifier) ? identifier : _objectSpread(_objectSpread({}, identifier), {}, {
|
|
18
|
+
collectionName: (0, _getIdentifierCollection.getIdentifierCollection)(identifier, collectionName)
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// returns a valid MV data source including current the card identifier
|
|
24
|
+
var ensureSelectedItem = function ensureSelectedItem(items, selectedItem) {
|
|
25
|
+
// we want to ensure the card identifier is in the list
|
|
26
|
+
var selectedItemIndex = (0, _utils.getSelectedIndex)(items, selectedItem);
|
|
27
|
+
if (selectedItemIndex === -1) {
|
|
28
|
+
return [selectedItem].concat((0, _toConsumableArray2.default)(items));
|
|
29
|
+
}
|
|
30
|
+
return items;
|
|
31
|
+
};
|
|
32
|
+
var normaliseItems = function normaliseItems(selectedItem, items, collectionName) {
|
|
33
|
+
var itemsWithCollection = ensureCollectionName(items, collectionName);
|
|
34
|
+
return ensureSelectedItem(itemsWithCollection, selectedItem);
|
|
35
|
+
};
|
|
36
|
+
var normaliseInput = function normaliseInput(_ref) {
|
|
37
|
+
var dataSource = _ref.dataSource,
|
|
38
|
+
selectedItem = _ref.selectedItem,
|
|
39
|
+
items = _ref.items,
|
|
40
|
+
collectionName = _ref.collectionName;
|
|
41
|
+
var normalisedSelectedItem = (0, _mediaClient.isExternalImageIdentifier)(selectedItem) ? selectedItem : _objectSpread(_objectSpread({}, selectedItem), {}, {
|
|
42
|
+
collectionName: collectionName
|
|
43
|
+
});
|
|
44
|
+
if (items) {
|
|
45
|
+
return {
|
|
46
|
+
normalisedSelectedItem: normalisedSelectedItem,
|
|
47
|
+
normalisedItems: normaliseItems(normalisedSelectedItem, items, collectionName)
|
|
48
|
+
};
|
|
49
|
+
} else if (dataSource !== null && dataSource !== void 0 && dataSource.list) {
|
|
50
|
+
return {
|
|
51
|
+
normalisedSelectedItem: normalisedSelectedItem,
|
|
52
|
+
normalisedItems: normaliseItems(normalisedSelectedItem, dataSource.list, collectionName)
|
|
53
|
+
};
|
|
54
|
+
} else if (dataSource !== null && dataSource !== void 0 && dataSource.collectionName && !(0, _mediaClient.isExternalImageIdentifier)(selectedItem)) {
|
|
55
|
+
return {
|
|
56
|
+
normalisedSelectedItem: normalisedSelectedItem,
|
|
57
|
+
normalisedItems: undefined
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
normalisedSelectedItem: normalisedSelectedItem,
|
|
62
|
+
normalisedItems: [normalisedSelectedItem]
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
exports.normaliseInput = normaliseInput;
|
package/dist/cjs/media-viewer.js
CHANGED
|
@@ -21,11 +21,12 @@ var _analytics = require("./analytics");
|
|
|
21
21
|
var _modal = require("./analytics/events/screen/modal");
|
|
22
22
|
var _closed = require("./analytics/events/ui/closed");
|
|
23
23
|
var _list = require("./list");
|
|
24
|
-
var _collection = require("./collection");
|
|
25
24
|
var _content = require("./content");
|
|
26
25
|
var _styleWrappers = require("./styleWrappers");
|
|
27
26
|
var _perfMarks = require("perf-marks");
|
|
28
27
|
var _classnames = require("./classnames");
|
|
28
|
+
var _errorMessage = _interopRequireDefault(require("./errorMessage"));
|
|
29
|
+
var _errors = require("./errors");
|
|
29
30
|
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); }; }
|
|
30
31
|
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; } }
|
|
31
32
|
var MediaViewerComponent = /*#__PURE__*/function (_React$Component) {
|
|
@@ -93,18 +94,36 @@ var MediaViewerComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
93
94
|
key: "defaultSelectedItem",
|
|
94
95
|
get: function get() {
|
|
95
96
|
var _this$props = this.props,
|
|
96
|
-
|
|
97
|
+
items = _this$props.items,
|
|
97
98
|
selectedItem = _this$props.selectedItem;
|
|
98
|
-
|
|
99
|
-
return selectedItem;
|
|
100
|
-
}
|
|
101
|
-
var items = itemSource.items;
|
|
102
|
-
var firstItem = items[0];
|
|
99
|
+
var firstItem = items === null || items === void 0 ? void 0 : items[0];
|
|
103
100
|
return selectedItem || firstItem;
|
|
104
101
|
}
|
|
102
|
+
}, {
|
|
103
|
+
key: "renderError",
|
|
104
|
+
value:
|
|
105
|
+
/**
|
|
106
|
+
* TODO: https://product-fabric.atlassian.net/browse/MEX-2207
|
|
107
|
+
* This error message is simulating the current error thrown by the backend when consumer provides a collection as datasource.
|
|
108
|
+
* This is displayed at this level when no items are provided from the parent component.
|
|
109
|
+
* This error message should be removed when the deprecated API is removed.
|
|
110
|
+
*/
|
|
111
|
+
function renderError() {
|
|
112
|
+
return /*#__PURE__*/_react.default.createElement(_errorMessage.default, {
|
|
113
|
+
fileId: 'undefined',
|
|
114
|
+
error: new _errors.MediaViewerError('collection-fetch-metadata', new Error('collection as datasource is no longer supported'))
|
|
115
|
+
});
|
|
116
|
+
}
|
|
105
117
|
}, {
|
|
106
118
|
key: "render",
|
|
107
119
|
value: function render() {
|
|
120
|
+
var _this$props2 = this.props,
|
|
121
|
+
mediaClient = _this$props2.mediaClient,
|
|
122
|
+
onClose = _this$props2.onClose,
|
|
123
|
+
items = _this$props2.items,
|
|
124
|
+
extensions = _this$props2.extensions,
|
|
125
|
+
contextId = _this$props2.contextId,
|
|
126
|
+
featureFlags = _this$props2.featureFlags;
|
|
108
127
|
var isSidebarVisible = this.state.isSidebarVisible;
|
|
109
128
|
var content = /*#__PURE__*/_react.default.createElement(_styleWrappers.Blanket, {
|
|
110
129
|
"data-testid": "media-viewer-popup",
|
|
@@ -115,52 +134,22 @@ var MediaViewerComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
115
134
|
}), /*#__PURE__*/_react.default.createElement(_content.Content, {
|
|
116
135
|
isSidebarVisible: isSidebarVisible,
|
|
117
136
|
onClose: this.onContentClose
|
|
118
|
-
}, this.
|
|
137
|
+
}, !items ? this.renderError() : /*#__PURE__*/_react.default.createElement(_list.List, {
|
|
138
|
+
defaultSelectedItem: this.defaultSelectedItem || items[0],
|
|
139
|
+
items: items,
|
|
140
|
+
mediaClient: mediaClient,
|
|
141
|
+
onClose: onClose,
|
|
142
|
+
extensions: extensions,
|
|
143
|
+
onNavigationChange: this.onNavigationChange,
|
|
144
|
+
onSidebarButtonClick: this.toggleSidebar,
|
|
145
|
+
isSidebarVisible: isSidebarVisible,
|
|
146
|
+
contextId: contextId,
|
|
147
|
+
featureFlags: featureFlags
|
|
148
|
+
})), this.renderSidebar());
|
|
119
149
|
return this.props.intl ? content : /*#__PURE__*/_react.default.createElement(_reactIntlNext.IntlProvider, {
|
|
120
150
|
locale: "en"
|
|
121
151
|
}, content);
|
|
122
152
|
}
|
|
123
|
-
}, {
|
|
124
|
-
key: "renderContent",
|
|
125
|
-
value: function renderContent() {
|
|
126
|
-
var _this$props2 = this.props,
|
|
127
|
-
mediaClient = _this$props2.mediaClient,
|
|
128
|
-
onClose = _this$props2.onClose,
|
|
129
|
-
itemSource = _this$props2.itemSource,
|
|
130
|
-
extensions = _this$props2.extensions,
|
|
131
|
-
contextId = _this$props2.contextId,
|
|
132
|
-
featureFlags = _this$props2.featureFlags;
|
|
133
|
-
var isSidebarVisible = this.state.isSidebarVisible;
|
|
134
|
-
if (itemSource.kind === 'COLLECTION') {
|
|
135
|
-
return /*#__PURE__*/_react.default.createElement(_collection.Collection, {
|
|
136
|
-
pageSize: itemSource.pageSize,
|
|
137
|
-
defaultSelectedItem: this.defaultSelectedItem,
|
|
138
|
-
collectionName: itemSource.collectionName,
|
|
139
|
-
mediaClient: mediaClient,
|
|
140
|
-
onClose: onClose,
|
|
141
|
-
extensions: extensions,
|
|
142
|
-
onNavigationChange: this.onNavigationChange,
|
|
143
|
-
onSidebarButtonClick: this.toggleSidebar,
|
|
144
|
-
featureFlags: featureFlags
|
|
145
|
-
});
|
|
146
|
-
} else if (itemSource.kind === 'ARRAY') {
|
|
147
|
-
var items = itemSource.items;
|
|
148
|
-
return /*#__PURE__*/_react.default.createElement(_list.List, {
|
|
149
|
-
defaultSelectedItem: this.defaultSelectedItem || items[0],
|
|
150
|
-
items: items,
|
|
151
|
-
mediaClient: mediaClient,
|
|
152
|
-
onClose: onClose,
|
|
153
|
-
extensions: extensions,
|
|
154
|
-
onNavigationChange: this.onNavigationChange,
|
|
155
|
-
onSidebarButtonClick: this.toggleSidebar,
|
|
156
|
-
isSidebarVisible: isSidebarVisible,
|
|
157
|
-
contextId: contextId,
|
|
158
|
-
featureFlags: featureFlags
|
|
159
|
-
});
|
|
160
|
-
} else {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
153
|
}]);
|
|
165
154
|
return MediaViewerComponent;
|
|
166
155
|
}(_react.default.Component);
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -4,23 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.rejectAfter = exports.isMacPrivateFile = exports.getSelectedIndex = exports.getMimeTypeFromFilename = exports.getMediaTypeFromFilename = exports.getFormattedFolderName = exports.getFolderParent = exports.extractArchiveFolderName = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _mediaClient = require("@atlaskit/media-client");
|
|
11
11
|
var _mime = require("mime");
|
|
12
|
-
var toIdentifier = function toIdentifier(item, collectionName) {
|
|
13
|
-
return {
|
|
14
|
-
id: item.id,
|
|
15
|
-
mediaItemType: 'file',
|
|
16
|
-
occurrenceKey: item.occurrenceKey,
|
|
17
|
-
collectionName: collectionName
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
|
|
21
12
|
// TODO MS-1752 - current implementation makes viewer navigation to misbehave
|
|
22
13
|
// if passed a file with the same id (with different occurrenceKeys) or with the same dataURI twice
|
|
23
|
-
exports.toIdentifier = toIdentifier;
|
|
24
14
|
var getSelectedIndex = function getSelectedIndex(items, selectedItem) {
|
|
25
15
|
return items.findIndex(function (item) {
|
|
26
16
|
if ((0, _mediaClient.isFileIdentifier)(item) && (0, _mediaClient.isFileIdentifier)(selectedItem)) {
|
package/dist/cjs/version.json
CHANGED
|
@@ -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
|
+
const packageVersion = "47.5.0";
|
|
5
5
|
export { packageName, packageVersion, componentName, componentName as component };
|
|
6
6
|
export const relevantFlags = {
|
|
7
7
|
newCardExperience: false,
|
|
@@ -2,7 +2,7 @@ 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.
|
|
5
|
+
const packageVersion = "47.5.0";
|
|
6
6
|
let ufoExperience;
|
|
7
7
|
const getExperience = () => {
|
|
8
8
|
if (!ufoExperience) {
|
|
@@ -1,99 +1,33 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { Component } from 'react';
|
|
4
|
-
import { isExternalImageIdentifier } from '@atlaskit/media-client';
|
|
5
2
|
import { MediaViewer as MediaViewerNextGen } from '../media-viewer';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
contextId
|
|
38
|
-
} = this.props;
|
|
39
|
-
const defaultPageSize = 30;
|
|
40
|
-
const dataSourceWithSelectedItem = this.getDataSourceWithSelectedItem(dataSource, selectedItem);
|
|
41
|
-
if (dataSourceWithSelectedItem.list) {
|
|
42
|
-
const items = dataSourceWithSelectedItem.list.map(identifier => ({
|
|
43
|
-
...identifier,
|
|
44
|
-
collectionName: getIdentifierCollection(identifier, collectionName)
|
|
45
|
-
}));
|
|
46
|
-
const itemSource = {
|
|
47
|
-
kind: 'ARRAY',
|
|
48
|
-
items: items
|
|
49
|
-
};
|
|
50
|
-
const identifier = {
|
|
51
|
-
...selectedItem,
|
|
52
|
-
collectionName
|
|
53
|
-
};
|
|
54
|
-
return /*#__PURE__*/React.createElement(MediaViewerNextGen, {
|
|
55
|
-
mediaClient: mediaClient,
|
|
56
|
-
selectedItem: identifier,
|
|
57
|
-
onClose: onClose,
|
|
58
|
-
itemSource: itemSource,
|
|
59
|
-
featureFlags: featureFlags,
|
|
60
|
-
extensions: extensions,
|
|
61
|
-
contextId: contextId
|
|
62
|
-
});
|
|
63
|
-
} else if (dataSourceWithSelectedItem.collectionName) {
|
|
64
|
-
if (isExternalImageIdentifier(selectedItem)) {
|
|
65
|
-
// if integrators pass an external image + collection, we remove the collection and just show the selectedItem
|
|
66
|
-
return /*#__PURE__*/React.createElement(MediaViewerNextGen, {
|
|
67
|
-
mediaClient: mediaClient,
|
|
68
|
-
selectedItem: selectedItem,
|
|
69
|
-
onClose: onClose,
|
|
70
|
-
itemSource: {
|
|
71
|
-
kind: 'ARRAY',
|
|
72
|
-
items: [selectedItem]
|
|
73
|
-
},
|
|
74
|
-
featureFlags: featureFlags,
|
|
75
|
-
contextId: contextId
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
const itemSource = {
|
|
79
|
-
kind: 'COLLECTION',
|
|
80
|
-
collectionName: dataSourceWithSelectedItem.collectionName,
|
|
81
|
-
pageSize: pageSize || defaultPageSize
|
|
82
|
-
};
|
|
83
|
-
const identifier = {
|
|
84
|
-
...selectedItem,
|
|
85
|
-
collectionName: dataSourceWithSelectedItem.collectionName
|
|
86
|
-
};
|
|
87
|
-
return /*#__PURE__*/React.createElement(MediaViewerNextGen, {
|
|
88
|
-
mediaClient: mediaClient,
|
|
89
|
-
selectedItem: identifier,
|
|
90
|
-
onClose: onClose,
|
|
91
|
-
itemSource: itemSource,
|
|
92
|
-
featureFlags: featureFlags,
|
|
93
|
-
contextId: contextId
|
|
94
|
-
});
|
|
95
|
-
} else {
|
|
96
|
-
throw new Error();
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
3
|
+
import { normaliseInput } from './normaliseInput';
|
|
4
|
+
export const MediaViewer = ({
|
|
5
|
+
featureFlags,
|
|
6
|
+
onClose,
|
|
7
|
+
mediaClient,
|
|
8
|
+
selectedItem,
|
|
9
|
+
collectionName,
|
|
10
|
+
items,
|
|
11
|
+
extensions,
|
|
12
|
+
contextId,
|
|
13
|
+
dataSource
|
|
14
|
+
}) => {
|
|
15
|
+
const {
|
|
16
|
+
normalisedSelectedItem,
|
|
17
|
+
normalisedItems
|
|
18
|
+
} = normaliseInput({
|
|
19
|
+
selectedItem,
|
|
20
|
+
collectionName,
|
|
21
|
+
items,
|
|
22
|
+
dataSource
|
|
23
|
+
});
|
|
24
|
+
return /*#__PURE__*/React.createElement(MediaViewerNextGen, {
|
|
25
|
+
mediaClient: mediaClient,
|
|
26
|
+
selectedItem: normalisedSelectedItem,
|
|
27
|
+
onClose: onClose,
|
|
28
|
+
items: normalisedItems,
|
|
29
|
+
featureFlags: featureFlags,
|
|
30
|
+
extensions: extensions,
|
|
31
|
+
contextId: contextId
|
|
32
|
+
});
|
|
33
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { isExternalImageIdentifier } from '@atlaskit/media-client';
|
|
2
|
+
import { getIdentifierCollection } from '../utils/getIdentifierCollection';
|
|
3
|
+
import { getSelectedIndex } from '../utils';
|
|
4
|
+
const ensureCollectionName = (items, collectionName) => items.map(identifier => isExternalImageIdentifier(identifier) ? identifier : {
|
|
5
|
+
...identifier,
|
|
6
|
+
collectionName: getIdentifierCollection(identifier, collectionName)
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// returns a valid MV data source including current the card identifier
|
|
10
|
+
const ensureSelectedItem = (items, selectedItem) => {
|
|
11
|
+
// we want to ensure the card identifier is in the list
|
|
12
|
+
const selectedItemIndex = getSelectedIndex(items, selectedItem);
|
|
13
|
+
if (selectedItemIndex === -1) {
|
|
14
|
+
return [selectedItem, ...items];
|
|
15
|
+
}
|
|
16
|
+
return items;
|
|
17
|
+
};
|
|
18
|
+
const normaliseItems = (selectedItem, items, collectionName) => {
|
|
19
|
+
const itemsWithCollection = ensureCollectionName(items, collectionName);
|
|
20
|
+
return ensureSelectedItem(itemsWithCollection, selectedItem);
|
|
21
|
+
};
|
|
22
|
+
export const normaliseInput = ({
|
|
23
|
+
dataSource,
|
|
24
|
+
selectedItem,
|
|
25
|
+
items,
|
|
26
|
+
collectionName
|
|
27
|
+
}) => {
|
|
28
|
+
const normalisedSelectedItem = isExternalImageIdentifier(selectedItem) ? selectedItem : {
|
|
29
|
+
...selectedItem,
|
|
30
|
+
collectionName
|
|
31
|
+
};
|
|
32
|
+
if (items) {
|
|
33
|
+
return {
|
|
34
|
+
normalisedSelectedItem,
|
|
35
|
+
normalisedItems: normaliseItems(normalisedSelectedItem, items, collectionName)
|
|
36
|
+
};
|
|
37
|
+
} else if (dataSource !== null && dataSource !== void 0 && dataSource.list) {
|
|
38
|
+
return {
|
|
39
|
+
normalisedSelectedItem,
|
|
40
|
+
normalisedItems: normaliseItems(normalisedSelectedItem, dataSource.list, collectionName)
|
|
41
|
+
};
|
|
42
|
+
} else if (dataSource !== null && dataSource !== void 0 && dataSource.collectionName && !isExternalImageIdentifier(selectedItem)) {
|
|
43
|
+
return {
|
|
44
|
+
normalisedSelectedItem,
|
|
45
|
+
normalisedItems: undefined
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
normalisedSelectedItem,
|
|
50
|
+
normalisedItems: [normalisedSelectedItem]
|
|
51
|
+
};
|
|
52
|
+
};
|