@atlaskit/media-viewer 48.2.15 → 48.3.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.
Files changed (52) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/analytics/events/screen/passwordPdf.js +14 -0
  3. package/dist/cjs/analytics/events/screen/pdfPasswordInput.js +14 -0
  4. package/dist/cjs/analytics/index.js +1 -1
  5. package/dist/cjs/analytics/ufoExperiences.js +1 -1
  6. package/dist/cjs/domain/outcome.js +5 -22
  7. package/dist/cjs/item-viewer.js +23 -17
  8. package/dist/cjs/media-viewer.js +2 -1
  9. package/dist/cjs/navigation.js +4 -2
  10. package/dist/cjs/v2/item-viewer-v2.js +10 -10
  11. package/dist/cjs/viewers/doc/index.js +50 -67
  12. package/dist/cjs/viewers/doc/pdfPasswordInput.js +100 -0
  13. package/dist/cjs/viewers/doc/pdfRenderer.js +114 -21
  14. package/dist/es2019/analytics/events/screen/passwordPdf.js +6 -0
  15. package/dist/es2019/analytics/events/screen/pdfPasswordInput.js +6 -0
  16. package/dist/es2019/analytics/index.js +1 -1
  17. package/dist/es2019/analytics/ufoExperiences.js +1 -1
  18. package/dist/es2019/domain/outcome.js +5 -18
  19. package/dist/es2019/item-viewer.js +14 -9
  20. package/dist/es2019/media-viewer.js +2 -1
  21. package/dist/es2019/navigation.js +4 -2
  22. package/dist/es2019/v2/item-viewer-v2.js +10 -10
  23. package/dist/es2019/viewers/doc/index.js +20 -17
  24. package/dist/es2019/viewers/doc/pdfPasswordInput.js +85 -0
  25. package/dist/es2019/viewers/doc/pdfRenderer.js +98 -75
  26. package/dist/esm/analytics/events/screen/passwordPdf.js +8 -0
  27. package/dist/esm/analytics/events/screen/pdfPasswordInput.js +8 -0
  28. package/dist/esm/analytics/index.js +1 -1
  29. package/dist/esm/analytics/ufoExperiences.js +1 -1
  30. package/dist/esm/domain/outcome.js +5 -22
  31. package/dist/esm/item-viewer.js +23 -17
  32. package/dist/esm/media-viewer.js +2 -1
  33. package/dist/esm/navigation.js +4 -2
  34. package/dist/esm/v2/item-viewer-v2.js +10 -10
  35. package/dist/esm/viewers/doc/index.js +50 -62
  36. package/dist/esm/viewers/doc/pdfPasswordInput.js +90 -0
  37. package/dist/esm/viewers/doc/pdfRenderer.js +115 -22
  38. package/dist/types/analytics/events/index.d.ts +3 -1
  39. package/dist/types/analytics/events/screen/passwordPdf.d.ts +3 -0
  40. package/dist/types/analytics/events/screen/pdfPasswordInput.d.ts +3 -0
  41. package/dist/types/domain/outcome.d.ts +5 -6
  42. package/dist/types/viewers/doc/index.d.ts +0 -3
  43. package/dist/types/viewers/doc/pdfPasswordInput.d.ts +11 -0
  44. package/dist/types/viewers/doc/pdfRenderer.d.ts +4 -3
  45. package/dist/types-ts4.5/analytics/events/index.d.ts +3 -1
  46. package/dist/types-ts4.5/analytics/events/screen/passwordPdf.d.ts +3 -0
  47. package/dist/types-ts4.5/analytics/events/screen/pdfPasswordInput.d.ts +3 -0
  48. package/dist/types-ts4.5/domain/outcome.d.ts +5 -6
  49. package/dist/types-ts4.5/viewers/doc/index.d.ts +0 -3
  50. package/dist/types-ts4.5/viewers/doc/pdfPasswordInput.d.ts +11 -0
  51. package/dist/types-ts4.5/viewers/doc/pdfRenderer.d.ts +4 -3
  52. package/package.json +14 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @atlaskit/media-viewer
2
2
 
3
+ ## 48.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#78016](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/78016) [`dc83676a7490`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/dc83676a7490) - add integration test for password protected pdf
8
+
9
+ ## 48.3.1
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 48.3.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [#77668](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/77668) [`c8a08df51a9f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/c8a08df51a9f) - Add password protected pdf support for media viewer
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies
24
+
3
25
  ## 48.2.15
4
26
 
5
27
  ### Patch Changes
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPasswordPdfScreenEvent = void 0;
7
+ var createPasswordPdfScreenEvent = exports.createPasswordPdfScreenEvent = function createPasswordPdfScreenEvent() {
8
+ return {
9
+ eventType: 'screen',
10
+ action: 'viewed',
11
+ actionSubject: 'mediaViewerPasswordPdfScreen',
12
+ name: 'mediaViewerPasswordPdfScreen'
13
+ };
14
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPdfPasswordInputScreenEvent = void 0;
7
+ var createPdfPasswordInputScreenEvent = exports.createPdfPasswordInputScreenEvent = function createPdfPasswordInputScreenEvent() {
8
+ return {
9
+ eventType: 'screen',
10
+ action: 'viewed',
11
+ actionSubject: 'mediaViewerPdfPasswordInputScreen',
12
+ name: 'mediaViewerPdfPasswordInputScreen'
13
+ };
14
+ };
@@ -10,7 +10,7 @@ exports.packageVersion = exports.packageName = void 0;
10
10
  var _mediaCommon = require("@atlaskit/media-common");
11
11
  var componentName = exports.component = exports.componentName = 'mediaViewer';
12
12
  var packageName = exports.packageName = "@atlaskit/media-viewer";
13
- var packageVersion = exports.packageVersion = "48.2.15";
13
+ var packageVersion = exports.packageVersion = "48.3.2";
14
14
  function getFileAttributes(fileState) {
15
15
  if (!fileState) {
16
16
  return {
@@ -12,7 +12,7 @@ var _mediaCommon = require("@atlaskit/media-common");
12
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
13
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
14
  var packageName = "@atlaskit/media-viewer";
15
- var packageVersion = "48.2.15";
15
+ var packageVersion = "48.3.2";
16
16
  var ufoExperience;
17
17
  var getExperience = function getExperience() {
18
18
  if (!ufoExperience) {
@@ -20,7 +20,7 @@ var Outcome = exports.Outcome = /*#__PURE__*/function () {
20
20
  }, {
21
21
  key: "data",
22
22
  get: function get() {
23
- if (this.state.status === 'SUCCESSFUL') {
23
+ if (this.state.status === 'SUCCESSFUL' || this.state.status === 'FAILED') {
24
24
  return this.state.data;
25
25
  } else {
26
26
  return;
@@ -68,25 +68,7 @@ var Outcome = exports.Outcome = /*#__PURE__*/function () {
68
68
  case 'PENDING':
69
69
  return pending();
70
70
  case 'FAILED':
71
- return failed(this.state.err);
72
- }
73
- }
74
- }, {
75
- key: "mapSuccessful",
76
- value: function mapSuccessful(map) {
77
- if (this.state.status === 'SUCCESSFUL') {
78
- return Outcome.successful(map(this.state.data));
79
- } else {
80
- return new Outcome(this.state);
81
- }
82
- }
83
- }, {
84
- key: "mapFailed",
85
- value: function mapFailed(map) {
86
- if (this.state.status === 'FAILED') {
87
- return Outcome.failed(map(this.state.err));
88
- } else {
89
- return new Outcome(this.state);
71
+ return failed(this.state.err, this.state.data);
90
72
  }
91
73
  }
92
74
  }], [{
@@ -106,10 +88,11 @@ var Outcome = exports.Outcome = /*#__PURE__*/function () {
106
88
  }
107
89
  }, {
108
90
  key: "failed",
109
- value: function failed(err) {
91
+ value: function failed(err, data) {
110
92
  return new Outcome({
111
93
  status: 'FAILED',
112
- err: err
94
+ err: err,
95
+ data: data
113
96
  });
114
97
  }
115
98
  }]);
@@ -17,6 +17,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
17
17
  var _react = _interopRequireDefault(require("react"));
18
18
  var _reactLoadable = _interopRequireDefault(require("react-loadable"));
19
19
  var _mediaClient = require("@atlaskit/media-client");
20
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
20
21
  var _reactIntlNext = require("react-intl-next");
21
22
  var _mediaUi = require("@atlaskit/media-ui");
22
23
  var _codeViewer = require("@atlaskit/media-ui/codeViewer");
@@ -145,9 +146,9 @@ var ItemViewerBase = exports.ItemViewerBase = /*#__PURE__*/function (_React$Comp
145
146
  }
146
147
  });
147
148
  });
148
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onLoadFail", function (mediaViewerError) {
149
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onLoadFail", function (mediaViewerError, data) {
149
150
  _this.safeSetState({
150
- item: _domain.Outcome.failed(mediaViewerError)
151
+ item: _domain.Outcome.failed(mediaViewerError, data)
151
152
  });
152
153
  });
153
154
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onExternalImgSuccess", function () {
@@ -198,6 +199,7 @@ var ItemViewerBase = exports.ItemViewerBase = /*#__PURE__*/function (_React$Comp
198
199
  }, {
199
200
  key: "renderItem",
200
201
  value: function renderItem(fileState) {
202
+ var _this2 = this;
201
203
  var _this$props = this.props,
202
204
  mediaClient = _this$props.mediaClient,
203
205
  identifier = _this$props.identifier,
@@ -247,7 +249,9 @@ var ItemViewerBase = exports.ItemViewerBase = /*#__PURE__*/function (_React$Comp
247
249
  case 'doc':
248
250
  return /*#__PURE__*/_react.default.createElement(DocViewer, (0, _extends2.default)({
249
251
  onSuccess: this.onSuccess,
250
- onError: this.onLoadFail
252
+ onError: function onError(err) {
253
+ _this2.onLoadFail(err, fileState);
254
+ }
251
255
  }, viewerProps));
252
256
  case 'archive':
253
257
  return /*#__PURE__*/_react.default.createElement(_archiveViewerLoader.default, (0, _extends2.default)({
@@ -291,7 +295,7 @@ var ItemViewerBase = exports.ItemViewerBase = /*#__PURE__*/function (_React$Comp
291
295
  }, {
292
296
  key: "render",
293
297
  value: function render() {
294
- var _this2 = this;
298
+ var _this3 = this;
295
299
  var item = this.state.item;
296
300
  var identifier = this.props.identifier;
297
301
  return item.match({
@@ -302,29 +306,31 @@ var ItemViewerBase = exports.ItemViewerBase = /*#__PURE__*/function (_React$Comp
302
306
  dataURI = _ref.dataURI;
303
307
  return /*#__PURE__*/_react.default.createElement(_interactiveImg.InteractiveImg, {
304
308
  src: dataURI,
305
- onLoad: _this2.onExternalImgSuccess,
306
- onError: _this2.onExternalImgError
309
+ onLoad: _this3.onExternalImgSuccess,
310
+ onError: _this3.onExternalImgError
307
311
  });
308
312
  } else {
309
313
  // render a FileState fetched through media-client
310
- var fileState = fileItem;
311
- switch (fileState.status) {
314
+ switch (fileItem.status) {
312
315
  case 'processed':
313
316
  case 'uploading':
314
317
  case 'processing':
315
- return _this2.renderItem(fileState);
318
+ return _this3.renderItem(fileItem);
316
319
  case 'failed-processing':
317
- return _this2.renderError(new _errors.MediaViewerError('itemviewer-file-failed-processing-status'), fileState);
320
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.corex.password-protected-pdf_ht8re') && fileItem.mediaType === 'doc' && fileItem.mimeType === 'application/pdf') {
321
+ return _this3.renderItem(fileItem);
322
+ }
323
+ return _this3.renderError(new _errors.MediaViewerError('itemviewer-file-failed-processing-status'), fileItem);
318
324
  case 'error':
319
- return _this2.renderError(new _errors.MediaViewerError('itemviewer-file-error-status'), fileState);
325
+ return _this3.renderError(new _errors.MediaViewerError('itemviewer-file-error-status'), fileItem);
320
326
  }
321
327
  }
322
328
  },
323
329
  pending: function pending() {
324
330
  return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
325
331
  },
326
- failed: function failed(error) {
327
- return _this2.renderError(error, item.data);
332
+ failed: function failed(error, data) {
333
+ return _this3.renderError(error, data);
328
334
  }
329
335
  });
330
336
  }
@@ -358,7 +364,7 @@ var ItemViewerBase = exports.ItemViewerBase = /*#__PURE__*/function (_React$Comp
358
364
  }, {
359
365
  key: "init",
360
366
  value: function init(props) {
361
- var _this3 = this;
367
+ var _this4 = this;
362
368
  var mediaClient = props.mediaClient,
363
369
  identifier = props.identifier,
364
370
  createAnalyticsEvent = props.createAnalyticsEvent;
@@ -378,13 +384,13 @@ var ItemViewerBase = exports.ItemViewerBase = /*#__PURE__*/function (_React$Comp
378
384
  collectionName: identifier.collectionName
379
385
  }).subscribe({
380
386
  next: function next(file) {
381
- _this3.updateFileStateFlag(file);
382
- _this3.safeSetState({
387
+ _this4.updateFileStateFlag(file);
388
+ _this4.safeSetState({
383
389
  item: _domain.Outcome.successful(file)
384
390
  });
385
391
  },
386
392
  error: function error(_error) {
387
- _this3.safeSetState({
393
+ _this4.safeSetState({
388
394
  item: _domain.Outcome.failed(new _errors.MediaViewerError('itemviewer-fetch-metadata', _error))
389
395
  });
390
396
  }
@@ -123,7 +123,8 @@ var MediaViewerComponent = exports.MediaViewerComponent = /*#__PURE__*/function
123
123
  className: _classnames.mediaViewerPopupClass
124
124
  }, /*#__PURE__*/_react.default.createElement(_mediaUi.Shortcut, {
125
125
  code: 'Escape',
126
- handler: this.onShortcutClosed
126
+ handler: this.onShortcutClosed,
127
+ eventType: 'keyup'
127
128
  }), /*#__PURE__*/_react.default.createElement(_content.Content, {
128
129
  isSidebarVisible: isSidebarVisible,
129
130
  onClose: this.onContentClose
@@ -84,7 +84,8 @@ var NavigationBase = exports.NavigationBase = /*#__PURE__*/function (_Component)
84
84
  className: _mediaUi.hideControlsClassName
85
85
  }, /*#__PURE__*/_react.default.createElement(_mediaUi.Shortcut, {
86
86
  code: 'ArrowLeft',
87
- handler: prev('keyboard')
87
+ handler: prev('keyboard'),
88
+ eventType: 'keyup'
88
89
  }), /*#__PURE__*/_react.default.createElement(_standardButton.default, {
89
90
  testId: prevNavButtonId,
90
91
  onClick: prev('mouse'),
@@ -102,7 +103,8 @@ var NavigationBase = exports.NavigationBase = /*#__PURE__*/function (_Component)
102
103
  className: _mediaUi.hideControlsClassName
103
104
  }, /*#__PURE__*/_react.default.createElement(_mediaUi.Shortcut, {
104
105
  code: 'ArrowRight',
105
- handler: next('keyboard')
106
+ handler: next('keyboard'),
107
+ eventType: 'keyup'
106
108
  }), /*#__PURE__*/_react.default.createElement(_standardButton.default, {
107
109
  testId: nextNavButtonId,
108
110
  onClick: next('mouse'),
@@ -30,7 +30,7 @@ var _mediaCommon = require("@atlaskit/media-common");
30
30
  var _ufoExperiences = require("../analytics/ufoExperiences");
31
31
  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); }
32
32
  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; }
33
- var ImageViewer = (0, _reactLoadable.default)({
33
+ var ImageViewerV2 = (0, _reactLoadable.default)({
34
34
  loader: function loader() {
35
35
  return Promise.resolve().then(function () {
36
36
  return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_imageViewer" */'../viewers/image'));
@@ -42,7 +42,7 @@ var ImageViewer = (0, _reactLoadable.default)({
42
42
  return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
43
43
  }
44
44
  });
45
- var VideoViewer = (0, _reactLoadable.default)({
45
+ var VideoViewerV2 = (0, _reactLoadable.default)({
46
46
  loader: function loader() {
47
47
  return Promise.resolve().then(function () {
48
48
  return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_videoViewer" */'../viewers/video'));
@@ -54,7 +54,7 @@ var VideoViewer = (0, _reactLoadable.default)({
54
54
  return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
55
55
  }
56
56
  });
57
- var AudioViewer = (0, _reactLoadable.default)({
57
+ var AudioViewerV2 = (0, _reactLoadable.default)({
58
58
  loader: function loader() {
59
59
  return Promise.resolve().then(function () {
60
60
  return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_audioViewer" */'../viewers/audio'));
@@ -66,7 +66,7 @@ var AudioViewer = (0, _reactLoadable.default)({
66
66
  return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
67
67
  }
68
68
  });
69
- var DocViewer = (0, _reactLoadable.default)({
69
+ var DocViewerV2 = (0, _reactLoadable.default)({
70
70
  loader: function loader() {
71
71
  return Promise.resolve().then(function () {
72
72
  return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_docViewer" */'../viewers/doc'));
@@ -78,7 +78,7 @@ var DocViewer = (0, _reactLoadable.default)({
78
78
  return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
79
79
  }
80
80
  });
81
- var CodeViewer = (0, _reactLoadable.default)({
81
+ var CodeViewerV2 = (0, _reactLoadable.default)({
82
82
  loader: function loader() {
83
83
  return Promise.resolve().then(function () {
84
84
  return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_codeViewer" */'../viewers/codeViewer'));
@@ -259,7 +259,7 @@ var ItemViewerV2Base = exports.ItemViewerV2Base = function ItemViewerV2Base(_ref
259
259
  if (fileItem.size > MAX_FILE_SIZE_SUPPORTED_BY_CODEVIEWER) {
260
260
  return renderError(new _errors.MediaViewerError('codeviewer-file-size-exceeds'), fileItem);
261
261
  }
262
- return /*#__PURE__*/_react.default.createElement(CodeViewer, (0, _extends2.default)({
262
+ return /*#__PURE__*/_react.default.createElement(CodeViewerV2, (0, _extends2.default)({
263
263
  onSuccess: onSuccess,
264
264
  onError: onLoadFail
265
265
  }, viewerProps));
@@ -267,26 +267,26 @@ var ItemViewerV2Base = exports.ItemViewerV2Base = function ItemViewerV2Base(_ref
267
267
  var mediaType = fileItem.mediaType;
268
268
  switch (mediaType) {
269
269
  case 'image':
270
- return /*#__PURE__*/_react.default.createElement(ImageViewer, (0, _extends2.default)({
270
+ return /*#__PURE__*/_react.default.createElement(ImageViewerV2, (0, _extends2.default)({
271
271
  onLoad: onSuccess,
272
272
  onError: onLoadFail,
273
273
  contextId: contextId,
274
274
  traceContext: traceContext.current
275
275
  }, viewerProps));
276
276
  case 'audio':
277
- return /*#__PURE__*/_react.default.createElement(AudioViewer, (0, _extends2.default)({
277
+ return /*#__PURE__*/_react.default.createElement(AudioViewerV2, (0, _extends2.default)({
278
278
  showControls: showControls,
279
279
  onCanPlay: onSuccess,
280
280
  onError: onLoadFail
281
281
  }, viewerProps));
282
282
  case 'video':
283
- return /*#__PURE__*/_react.default.createElement(VideoViewer, (0, _extends2.default)({
283
+ return /*#__PURE__*/_react.default.createElement(VideoViewerV2, (0, _extends2.default)({
284
284
  showControls: showControls,
285
285
  onCanPlay: onSuccess,
286
286
  onError: onLoadFail
287
287
  }, viewerProps));
288
288
  case 'doc':
289
- return /*#__PURE__*/_react.default.createElement(DocViewer, (0, _extends2.default)({
289
+ return /*#__PURE__*/_react.default.createElement(DocViewerV2, (0, _extends2.default)({
290
290
  onSuccess: onSuccess,
291
291
  onError: onLoadFail
292
292
  }, viewerProps));
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.DocViewer = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -17,23 +16,11 @@ var _react = _interopRequireDefault(require("react"));
17
16
  var _mediaClient = require("@atlaskit/media-client");
18
17
  var _domain = require("../../domain");
19
18
  var _errors = require("../../errors");
20
- var _loading = require("../../loading");
19
+ var _pdfRenderer = require("./pdfRenderer");
21
20
  var _baseViewer = require("../base-viewer");
22
21
  var _getObjectUrlFromFileState = require("../../utils/getObjectUrlFromFileState");
23
22
  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); }; }
24
23
  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; } }
25
- 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); }
26
- 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; }
27
- var moduleLoader = function moduleLoader() {
28
- return Promise.resolve().then(function () {
29
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_media-pdf-viewer" */'./pdfRenderer'));
30
- });
31
- };
32
- var componentLoader = function componentLoader() {
33
- return moduleLoader().then(function (module) {
34
- return module.PDFRenderer;
35
- });
36
- };
37
24
  var DocViewer = exports.DocViewer = /*#__PURE__*/function (_BaseViewer) {
38
25
  (0, _inherits2.default)(DocViewer, _BaseViewer);
39
26
  var _super = _createSuper(DocViewer);
@@ -52,59 +39,52 @@ var DocViewer = exports.DocViewer = /*#__PURE__*/function (_BaseViewer) {
52
39
  key: "init",
53
40
  value: function () {
54
41
  var _init = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
55
- var _this$props, item, mediaClient, collectionName, onError, src, _src, docError;
42
+ var _this$props, item, mediaClient, collectionName, onError, src, _src, docError, _src2, _docError;
56
43
  return _regenerator.default.wrap(function _callee$(_context) {
57
44
  while (1) switch (_context.prev = _context.next) {
58
45
  case 0:
59
- if (DocViewer.PDFComponent) {
60
- _context.next = 3;
61
- break;
62
- }
63
- _context.next = 3;
64
- return this.loadDocViewer();
65
- case 3:
66
46
  _this$props = this.props, item = _this$props.item, mediaClient = _this$props.mediaClient, collectionName = _this$props.collectionName, onError = _this$props.onError;
67
47
  if (!(0, _mediaClient.isPreviewableFileState)(item)) {
68
- _context.next = 14;
48
+ _context.next = 11;
69
49
  break;
70
50
  }
71
- _context.next = 7;
51
+ _context.next = 4;
72
52
  return (0, _getObjectUrlFromFileState.getObjectUrlFromFileState)(item);
73
- case 7:
53
+ case 4:
74
54
  src = _context.sent;
75
55
  if (src) {
76
- _context.next = 11;
56
+ _context.next = 8;
77
57
  break;
78
58
  }
79
59
  this.setState({
80
60
  content: _domain.Outcome.pending()
81
61
  });
82
62
  return _context.abrupt("return");
83
- case 11:
63
+ case 8:
84
64
  this.setState({
85
65
  content: _domain.Outcome.successful(src)
86
66
  });
87
- _context.next = 28;
67
+ _context.next = 41;
88
68
  break;
89
- case 14:
69
+ case 11:
90
70
  if (!(item.status === 'processed')) {
91
- _context.next = 28;
71
+ _context.next = 27;
92
72
  break;
93
73
  }
94
- _context.prev = 15;
95
- _context.next = 18;
74
+ _context.prev = 12;
75
+ _context.next = 15;
96
76
  return mediaClient.file.getArtifactURL(item.artifacts, 'document.pdf', collectionName);
97
- case 18:
77
+ case 15:
98
78
  _src = _context.sent;
99
79
  this.onMediaDisplayed();
100
80
  this.setState({
101
81
  content: _domain.Outcome.successful(_src)
102
82
  });
103
- _context.next = 28;
83
+ _context.next = 25;
104
84
  break;
105
- case 23:
106
- _context.prev = 23;
107
- _context.t0 = _context["catch"](15);
85
+ case 20:
86
+ _context.prev = 20;
87
+ _context.t0 = _context["catch"](12);
108
88
  docError = new _errors.MediaViewerError('docviewer-fetch-url', _context.t0 instanceof Error ? _context.t0 : undefined);
109
89
  this.setState({
110
90
  content: _domain.Outcome.failed(docError)
@@ -112,40 +92,47 @@ var DocViewer = exports.DocViewer = /*#__PURE__*/function (_BaseViewer) {
112
92
  if (onError) {
113
93
  onError(docError);
114
94
  }
115
- case 28:
95
+ case 25:
96
+ _context.next = 41;
97
+ break;
98
+ case 27:
99
+ if (!(item.status === 'failed-processing')) {
100
+ _context.next = 41;
101
+ break;
102
+ }
103
+ _context.prev = 28;
104
+ _context.next = 31;
105
+ return mediaClient.file.getFileBinaryURL(item.id, collectionName, 2940 // 2940 seconds ~= 50 mins
106
+ );
107
+ case 31:
108
+ _src2 = _context.sent;
109
+ this.onMediaDisplayed();
110
+ this.setState({
111
+ content: _domain.Outcome.successful(_src2)
112
+ });
113
+ _context.next = 41;
114
+ break;
115
+ case 36:
116
+ _context.prev = 36;
117
+ _context.t1 = _context["catch"](28);
118
+ _docError = new _errors.MediaViewerError('docviewer-fetch-url', _context.t1 instanceof Error ? _context.t1 : undefined);
119
+ this.setState({
120
+ content: _domain.Outcome.failed(_docError)
121
+ });
122
+ if (onError) {
123
+ onError(_docError);
124
+ }
125
+ case 41:
116
126
  case "end":
117
127
  return _context.stop();
118
128
  }
119
- }, _callee, this, [[15, 23]]);
129
+ }, _callee, this, [[12, 20], [28, 36]]);
120
130
  }));
121
131
  function init() {
122
132
  return _init.apply(this, arguments);
123
133
  }
124
134
  return init;
125
135
  }()
126
- }, {
127
- key: "loadDocViewer",
128
- value: function () {
129
- var _loadDocViewer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
130
- return _regenerator.default.wrap(function _callee2$(_context2) {
131
- while (1) switch (_context2.prev = _context2.next) {
132
- case 0:
133
- _context2.next = 2;
134
- return componentLoader();
135
- case 2:
136
- DocViewer.PDFComponent = _context2.sent;
137
- this.forceUpdate();
138
- case 4:
139
- case "end":
140
- return _context2.stop();
141
- }
142
- }, _callee2, this);
143
- }));
144
- function loadDocViewer() {
145
- return _loadDocViewer.apply(this, arguments);
146
- }
147
- return loadDocViewer;
148
- }()
149
136
  }, {
150
137
  key: "release",
151
138
  value: function release() {
@@ -163,11 +150,7 @@ var DocViewer = exports.DocViewer = /*#__PURE__*/function (_BaseViewer) {
163
150
  onClose = _this$props2.onClose,
164
151
  onSuccess = _this$props2.onSuccess,
165
152
  onError = _this$props2.onError;
166
- var PDFComponent = DocViewer.PDFComponent;
167
- if (!PDFComponent) {
168
- return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
169
- }
170
- return /*#__PURE__*/_react.default.createElement(PDFComponent, {
153
+ return /*#__PURE__*/_react.default.createElement(_pdfRenderer.PDFRenderer, {
171
154
  item: item,
172
155
  src: content,
173
156
  onSuccess: onSuccess,
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PDFPasswordInput = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _loadingButton = _interopRequireDefault(require("@atlaskit/button/loading-button"));
13
+ var _textfield = _interopRequireDefault(require("@atlaskit/textfield"));
14
+ var _lock = _interopRequireDefault(require("@atlaskit/icon/glyph/lock"));
15
+ var _form = _interopRequireWildcard(require("@atlaskit/form"));
16
+ var _reactIntlNext = require("react-intl-next");
17
+ var _mediaUi = require("@atlaskit/media-ui");
18
+ var _heading = _interopRequireDefault(require("@atlaskit/heading"));
19
+ var _primitives = require("@atlaskit/primitives");
20
+ 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); }
21
+ 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; }
22
+ var headerStyles = (0, _primitives.xcss)({
23
+ textAlign: 'center',
24
+ marginTop: 'space.300',
25
+ marginBottom: 'space.100'
26
+ });
27
+ var inputStyle = (0, _primitives.xcss)({
28
+ width: '330px'
29
+ });
30
+ var footerStyles = (0, _primitives.xcss)({
31
+ marginTop: 'space.200',
32
+ display: 'flex',
33
+ justifyContent: 'center'
34
+ });
35
+ var PDFPasswordInput = exports.PDFPasswordInput = function PDFPasswordInput(_ref) {
36
+ var onSubmit = _ref.onSubmit,
37
+ hasPasswordError = _ref.hasPasswordError,
38
+ onRender = _ref.onRender;
39
+ var passwordInputRef = (0, _react.useRef)(null);
40
+ var onRenderRef = (0, _react.useRef)(onRender);
41
+ var _useState = (0, _react.useState)(hasPasswordError),
42
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
43
+ formError = _useState2[0],
44
+ setFormError = _useState2[1];
45
+ var intl = (0, _reactIntlNext.useIntl)();
46
+ (0, _react.useEffect)(function () {
47
+ var _onRenderRef$current;
48
+ (_onRenderRef$current = onRenderRef.current) === null || _onRenderRef$current === void 0 || _onRenderRef$current.call(onRenderRef);
49
+ }, []);
50
+ (0, _react.useEffect)(function () {
51
+ if (hasPasswordError) {
52
+ var _passwordInputRef$cur;
53
+ setFormError(true);
54
+ (_passwordInputRef$cur = passwordInputRef.current) === null || _passwordInputRef$cur === void 0 || _passwordInputRef$cur.focus();
55
+ }
56
+ }, [hasPasswordError]);
57
+ return /*#__PURE__*/_react.default.createElement(_form.default, {
58
+ onSubmit: onSubmit
59
+ }, function (_ref2) {
60
+ var formProps = _ref2.formProps,
61
+ submitting = _ref2.submitting;
62
+ return /*#__PURE__*/_react.default.createElement("form", formProps, /*#__PURE__*/_react.default.createElement(_primitives.Flex, {
63
+ justifyContent: "center",
64
+ "aria-hidden": true
65
+ }, /*#__PURE__*/_react.default.createElement(_lock.default, {
66
+ label: "forbidden-lock-icon",
67
+ size: "xlarge",
68
+ primaryColor: "var(--ds-text, #c7d1db)"
69
+ })), /*#__PURE__*/_react.default.createElement(_primitives.Box, {
70
+ xcss: headerStyles
71
+ }, /*#__PURE__*/_react.default.createElement(_heading.default, {
72
+ as: "h1",
73
+ level: "h200"
74
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _mediaUi.messages.password_protected_pdf))), /*#__PURE__*/_react.default.createElement(_form.Field, {
75
+ "aria-required": true,
76
+ name: "password",
77
+ label: "Password",
78
+ isRequired: true
79
+ }, function (_ref3) {
80
+ var fieldProps = _ref3.fieldProps;
81
+ return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
82
+ xcss: inputStyle
83
+ }, /*#__PURE__*/_react.default.createElement(_textfield.default, (0, _extends2.default)({}, fieldProps, {
84
+ type: "password",
85
+ placeholder: intl.formatMessage(_mediaUi.messages.enter_password),
86
+ ref: passwordInputRef,
87
+ onChange: function onChange(value) {
88
+ fieldProps.onChange(value);
89
+ setFormError(false);
90
+ }
91
+ })), formError && /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _mediaUi.messages.incorrect_password)));
92
+ }), /*#__PURE__*/_react.default.createElement(_primitives.Box, {
93
+ xcss: footerStyles
94
+ }, /*#__PURE__*/_react.default.createElement(_loadingButton.default, {
95
+ appearance: "primary",
96
+ type: "submit",
97
+ isLoading: submitting
98
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _mediaUi.messages.submit))));
99
+ });
100
+ };