cozy-viewer 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/LICENSE +21 -0
- package/Readme.md +44 -0
- package/babel.config.js +23 -0
- package/dist/Footer/BottomSheetContent.d.ts +12 -0
- package/dist/Footer/BottomSheetContent.js +45 -0
- package/dist/Footer/DownloadButton.d.ts +16 -0
- package/dist/Footer/DownloadButton.js +113 -0
- package/dist/Footer/FooterActionButtons.d.ts +13 -0
- package/dist/Footer/FooterActionButtons.js +33 -0
- package/dist/Footer/FooterActionButtons.spec.d.ts +1 -0
- package/dist/Footer/FooterContent.d.ts +16 -0
- package/dist/Footer/FooterContent.js +120 -0
- package/dist/Footer/ForwardButton.d.ts +20 -0
- package/dist/Footer/ForwardButton.js +177 -0
- package/dist/Footer/ForwardButton.spec.d.ts +1 -0
- package/dist/Footer/ForwardOrDownloadButton.d.ts +11 -0
- package/dist/Footer/ForwardOrDownloadButton.js +42 -0
- package/dist/Footer/Sharing.d.ts +16 -0
- package/dist/Footer/Sharing.js +79 -0
- package/dist/Footer/helpers.d.ts +8 -0
- package/dist/Footer/helpers.js +179 -0
- package/dist/Footer/helpers.spec.d.ts +1 -0
- package/dist/NoViewer/DownloadButton.d.ts +2 -0
- package/dist/NoViewer/DownloadButton.js +52 -0
- package/dist/NoViewer/FileIcon.d.ts +4 -0
- package/dist/NoViewer/FileIcon.js +76 -0
- package/dist/NoViewer/NoViewer.d.ts +18 -0
- package/dist/NoViewer/NoViewer.js +64 -0
- package/dist/NoViewer/NoViewer.spec.d.ts +1 -0
- package/dist/NoViewer/index.d.ts +1 -0
- package/dist/NoViewer/index.js +15 -0
- package/dist/Panel/ActionMenuDesktop.d.ts +3 -0
- package/dist/Panel/ActionMenuDesktop.js +91 -0
- package/dist/Panel/ActionMenuMobile.d.ts +20 -0
- package/dist/Panel/ActionMenuMobile.js +95 -0
- package/dist/Panel/ActionMenuWrapper.d.ts +3 -0
- package/dist/Panel/ActionMenuWrapper.js +155 -0
- package/dist/Panel/Certifications.d.ts +2 -0
- package/dist/Panel/Certifications.js +80 -0
- package/dist/Panel/PanelContent.d.ts +2 -0
- package/dist/Panel/PanelContent.js +71 -0
- package/dist/Panel/Qualification.d.ts +2 -0
- package/dist/Panel/Qualification.js +148 -0
- package/dist/Panel/QualificationListItemContact.d.ts +10 -0
- package/dist/Panel/QualificationListItemContact.js +123 -0
- package/dist/Panel/QualificationListItemDate.d.ts +3 -0
- package/dist/Panel/QualificationListItemDate.js +90 -0
- package/dist/Panel/QualificationListItemInformation.d.ts +3 -0
- package/dist/Panel/QualificationListItemInformation.js +84 -0
- package/dist/Panel/QualificationListItemInformation.spec.d.ts +1 -0
- package/dist/Panel/QualificationListItemOther.d.ts +3 -0
- package/dist/Panel/QualificationListItemOther.js +78 -0
- package/dist/Panel/QualificationListItemText.d.ts +13 -0
- package/dist/Panel/QualificationListItemText.js +42 -0
- package/dist/Panel/getPanelBlocks.d.ts +26 -0
- package/dist/Panel/getPanelBlocks.js +79 -0
- package/dist/Panel/getPanelBlocks.spec.d.ts +1 -0
- package/dist/Viewer.d.ts +39 -0
- package/dist/Viewer.js +191 -0
- package/dist/ViewerContainer.d.ts +22 -0
- package/dist/ViewerContainer.js +221 -0
- package/dist/ViewerExposer.d.ts +2 -0
- package/dist/ViewerExposer.js +13 -0
- package/dist/ViewerInformationsWrapper.d.ts +20 -0
- package/dist/ViewerInformationsWrapper.js +68 -0
- package/dist/ViewerInformationsWrapper.spec.d.ts +1 -0
- package/dist/ViewerWithCustomPanelAndFooter.d.ts +2 -0
- package/dist/ViewerWithCustomPanelAndFooter.js +78 -0
- package/dist/ViewersByFile/AudioViewer.d.ts +74 -0
- package/dist/ViewersByFile/AudioViewer.js +57 -0
- package/dist/ViewersByFile/AudioViewer.spec.d.ts +1 -0
- package/dist/ViewersByFile/BlankPaperViewer.d.ts +2 -0
- package/dist/ViewersByFile/BlankPaperViewer.js +97 -0
- package/dist/ViewersByFile/ImageViewer.d.ts +31 -0
- package/dist/ViewersByFile/ImageViewer.js +385 -0
- package/dist/ViewersByFile/ImageViewer.spec.d.ts +1 -0
- package/dist/ViewersByFile/NoNetworkViewer.d.ts +2 -0
- package/dist/ViewersByFile/NoNetworkViewer.js +54 -0
- package/dist/ViewersByFile/OnlyOfficeViewer.d.ts +2 -0
- package/dist/ViewersByFile/OnlyOfficeViewer.js +46 -0
- package/dist/ViewersByFile/PdfJsViewer.d.ts +31 -0
- package/dist/ViewersByFile/PdfJsViewer.js +283 -0
- package/dist/ViewersByFile/PdfJsViewer.spec.d.ts +1 -0
- package/dist/ViewersByFile/PdfMobileViewer.d.ts +4 -0
- package/dist/ViewersByFile/PdfMobileViewer.js +185 -0
- package/dist/ViewersByFile/PdfMobileViewer.spec.d.ts +1 -0
- package/dist/ViewersByFile/ShortcutViewer.d.ts +2 -0
- package/dist/ViewersByFile/ShortcutViewer.js +61 -0
- package/dist/ViewersByFile/ShortcutViewer.spec.d.ts +4 -0
- package/dist/ViewersByFile/TextViewer.d.ts +90 -0
- package/dist/ViewersByFile/TextViewer.js +250 -0
- package/dist/ViewersByFile/TextViewer.spec.d.ts +1 -0
- package/dist/ViewersByFile/VideoViewer.d.ts +74 -0
- package/dist/ViewersByFile/VideoViewer.js +46 -0
- package/dist/ViewersByFile/VideoViewer.spec.d.ts +1 -0
- package/dist/assets/IlluGenericNewPage.svg +10 -0
- package/dist/components/ExpirationAlert.d.ts +2 -0
- package/dist/components/ExpirationAlert.js +129 -0
- package/dist/components/ExpirationAnnotation.d.ts +10 -0
- package/dist/components/ExpirationAnnotation.js +56 -0
- package/dist/components/Footer.d.ts +4 -0
- package/dist/components/Footer.js +41 -0
- package/dist/components/InformationPanel.d.ts +12 -0
- package/dist/components/InformationPanel.js +36 -0
- package/dist/components/Navigation.d.ts +18 -0
- package/dist/components/Navigation.js +63 -0
- package/dist/components/PdfToolbarButton.d.ts +16 -0
- package/dist/components/PdfToolbarButton.js +40 -0
- package/dist/components/PrintButton.d.ts +16 -0
- package/dist/components/PrintButton.js +163 -0
- package/dist/components/Toolbar.d.ts +2 -0
- package/dist/components/Toolbar.js +146 -0
- package/dist/components/ToolbarButtons.d.ts +5 -0
- package/dist/components/ToolbarButtons.js +20 -0
- package/dist/components/ToolbarFilePath.d.ts +3 -0
- package/dist/components/ToolbarFilePath.js +92 -0
- package/dist/components/ViewerByFile.d.ts +7 -0
- package/dist/components/ViewerByFile.js +137 -0
- package/dist/components/ViewerByFile.spec.d.ts +1 -0
- package/dist/components/ViewerControls.d.ts +9 -0
- package/dist/components/ViewerControls.js +251 -0
- package/dist/components/ViewerControls.spec.d.ts +1 -0
- package/dist/components/ViewerSpinner.d.ts +2 -0
- package/dist/components/ViewerSpinner.js +31 -0
- package/dist/docs/DemoProvider.d.ts +6 -0
- package/dist/docs/DemoProvider.js +159 -0
- package/dist/helpers.d.ts +37 -0
- package/dist/helpers.js +190 -0
- package/dist/helpers.spec.d.ts +1 -0
- package/dist/hoc/withFileUrl.d.ts +75 -0
- package/dist/hoc/withFileUrl.js +231 -0
- package/dist/hoc/withViewerLocales.d.ts +1 -0
- package/dist/hoc/withViewerLocales.js +15 -0
- package/dist/hooks/useReferencedContactName.d.ts +5 -0
- package/dist/hooks/useReferencedContactName.js +45 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +75 -0
- package/dist/locales/index.d.ts +6 -0
- package/dist/locales/index.js +18 -0
- package/dist/proptypes.d.ts +7 -0
- package/dist/proptypes.js +25 -0
- package/dist/providers/ActionMenuProvider.d.ts +13 -0
- package/dist/providers/ActionMenuProvider.js +47 -0
- package/dist/providers/EncryptedProvider.d.ts +8 -0
- package/dist/providers/EncryptedProvider.js +43 -0
- package/dist/queries.d.ts +15 -0
- package/dist/queries.js +40 -0
- package/dist/stylesheet.css +218 -0
- package/jest.config.js +23 -0
- package/package.json +62 -0
- package/preprocess.js +16 -0
- package/src/Footer/BottomSheetContent.jsx +30 -0
- package/src/Footer/DownloadButton.jsx +66 -0
- package/src/Footer/FooterActionButtons.jsx +22 -0
- package/src/Footer/FooterActionButtons.spec.jsx +30 -0
- package/src/Footer/FooterContent.jsx +102 -0
- package/src/Footer/ForwardButton.jsx +95 -0
- package/src/Footer/ForwardButton.spec.jsx +87 -0
- package/src/Footer/ForwardOrDownloadButton.jsx +24 -0
- package/src/Footer/Sharing.jsx +59 -0
- package/src/Footer/helpers.js +106 -0
- package/src/Footer/helpers.spec.js +77 -0
- package/src/NoViewer/DownloadButton.jsx +28 -0
- package/src/NoViewer/FileIcon.jsx +46 -0
- package/src/NoViewer/NoViewer.jsx +30 -0
- package/src/NoViewer/NoViewer.spec.jsx +44 -0
- package/src/NoViewer/__snapshots__/NoViewer.spec.jsx.snap +82 -0
- package/src/NoViewer/index.jsx +1 -0
- package/src/Panel/ActionMenuDesktop.jsx +69 -0
- package/src/Panel/ActionMenuMobile.jsx +76 -0
- package/src/Panel/ActionMenuWrapper.jsx +104 -0
- package/src/Panel/Certifications.jsx +63 -0
- package/src/Panel/PanelContent.jsx +50 -0
- package/src/Panel/Qualification.jsx +114 -0
- package/src/Panel/QualificationListItemContact.jsx +85 -0
- package/src/Panel/QualificationListItemDate.jsx +78 -0
- package/src/Panel/QualificationListItemInformation.jsx +68 -0
- package/src/Panel/QualificationListItemInformation.spec.jsx +73 -0
- package/src/Panel/QualificationListItemOther.jsx +61 -0
- package/src/Panel/QualificationListItemText.jsx +30 -0
- package/src/Panel/getPanelBlocks.jsx +56 -0
- package/src/Panel/getPanelBlocks.spec.jsx +79 -0
- package/src/Panel/styles.styl +13 -0
- package/src/Readme.md +352 -0
- package/src/Viewer.jsx +135 -0
- package/src/ViewerContainer.jsx +170 -0
- package/src/ViewerExposer.js +3 -0
- package/src/ViewerInformationsWrapper.jsx +70 -0
- package/src/ViewerInformationsWrapper.spec.jsx +63 -0
- package/src/ViewerWithCustomPanelAndFooter.jsx +57 -0
- package/src/ViewersByFile/AudioViewer.jsx +22 -0
- package/src/ViewersByFile/AudioViewer.spec.jsx +40 -0
- package/src/ViewersByFile/BlankPaperViewer.jsx +47 -0
- package/src/ViewersByFile/ImageViewer.jsx +331 -0
- package/src/ViewersByFile/ImageViewer.spec.jsx +73 -0
- package/src/ViewersByFile/NoNetworkViewer.jsx +18 -0
- package/src/ViewersByFile/OnlyOfficeViewer.jsx +29 -0
- package/src/ViewersByFile/PdfJsViewer.jsx +210 -0
- package/src/ViewersByFile/PdfJsViewer.spec.jsx +161 -0
- package/src/ViewersByFile/PdfMobileViewer.jsx +106 -0
- package/src/ViewersByFile/PdfMobileViewer.spec.jsx +76 -0
- package/src/ViewersByFile/ShortcutViewer.jsx +38 -0
- package/src/ViewersByFile/ShortcutViewer.spec.jsx +32 -0
- package/src/ViewersByFile/TextViewer.jsx +126 -0
- package/src/ViewersByFile/TextViewer.spec.jsx +118 -0
- package/src/ViewersByFile/VideoViewer.jsx +13 -0
- package/src/ViewersByFile/VideoViewer.spec.jsx +40 -0
- package/src/ViewersByFile/__snapshots__/AudioViewer.spec.jsx.snap +43 -0
- package/src/ViewersByFile/__snapshots__/ShortcutViewer.spec.jsx.snap +57 -0
- package/src/ViewersByFile/__snapshots__/TextViewer.spec.jsx.snap +100 -0
- package/src/ViewersByFile/__snapshots__/VideoViewer.spec.jsx.snap +19 -0
- package/src/ViewersByFile/styles.styl +87 -0
- package/src/assets/IlluGenericNewPage.svg +10 -0
- package/src/components/ExpirationAlert.jsx +86 -0
- package/src/components/ExpirationAnnotation.jsx +39 -0
- package/src/components/Footer.jsx +14 -0
- package/src/components/InformationPanel.jsx +26 -0
- package/src/components/Navigation.jsx +40 -0
- package/src/components/PdfToolbarButton.jsx +26 -0
- package/src/components/PrintButton.jsx +89 -0
- package/src/components/Toolbar.jsx +111 -0
- package/src/components/ToolbarButtons.jsx +11 -0
- package/src/components/ToolbarFilePath.jsx +61 -0
- package/src/components/ViewerByFile.jsx +112 -0
- package/src/components/ViewerByFile.spec.jsx +100 -0
- package/src/components/ViewerControls.jsx +191 -0
- package/src/components/ViewerControls.spec.jsx +54 -0
- package/src/components/ViewerSpinner.jsx +17 -0
- package/src/components/styles.styl +93 -0
- package/src/docs/DemoProvider.jsx +90 -0
- package/src/helpers.js +131 -0
- package/src/helpers.spec.js +136 -0
- package/src/hoc/withFileUrl.jsx +93 -0
- package/src/hoc/withViewerLocales.jsx +5 -0
- package/src/hooks/useReferencedContactName.jsx +26 -0
- package/src/index.jsx +12 -0
- package/src/locales/en.json +66 -0
- package/src/locales/fr.json +66 -0
- package/src/locales/index.js +4 -0
- package/src/proptypes.js +12 -0
- package/src/providers/ActionMenuProvider.jsx +35 -0
- package/src/providers/EncryptedProvider.jsx +25 -0
- package/src/queries.js +20 -0
- package/src/styles.styl +22 -0
- package/src/vars.styl +6 -0
- package/test/__mocks__/fileMock.js +3 -0
- package/test/jestLib/setup.js +5 -0
- package/tsconfig-build.json +13 -0
- package/tsconfig.json +34 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export default ForwardOrDownloadButton;
|
|
2
|
+
declare function ForwardOrDownloadButton({ file, ...props }: {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
file: any;
|
|
5
|
+
}): JSX.Element;
|
|
6
|
+
declare namespace ForwardOrDownloadButton {
|
|
7
|
+
namespace propTypes {
|
|
8
|
+
const file: PropTypes.Requireable<object>;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
|
|
18
|
+
var _cozyClient = require("cozy-client");
|
|
19
|
+
|
|
20
|
+
var _DownloadButton = _interopRequireDefault(require("./DownloadButton"));
|
|
21
|
+
|
|
22
|
+
var _ForwardButton = _interopRequireDefault(require("./ForwardButton"));
|
|
23
|
+
|
|
24
|
+
var _helpers = require("./helpers");
|
|
25
|
+
|
|
26
|
+
var _excluded = ["file"];
|
|
27
|
+
|
|
28
|
+
var ForwardOrDownloadButton = function ForwardOrDownloadButton(_ref) {
|
|
29
|
+
var file = _ref.file,
|
|
30
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
31
|
+
var client = (0, _cozyClient.useClient)();
|
|
32
|
+
var FileActionButton = (0, _helpers.shouldBeForwardButton)(client) ? _ForwardButton.default : _DownloadButton.default;
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement(FileActionButton, (0, _extends2.default)({
|
|
34
|
+
file: file
|
|
35
|
+
}, props));
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
ForwardOrDownloadButton.propTypes = {
|
|
39
|
+
file: _propTypes.default.object
|
|
40
|
+
};
|
|
41
|
+
var _default = ForwardOrDownloadButton;
|
|
42
|
+
exports.default = _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default Sharing;
|
|
2
|
+
declare function Sharing({ file, variant }: {
|
|
3
|
+
file: any;
|
|
4
|
+
variant: any;
|
|
5
|
+
}): JSX.Element;
|
|
6
|
+
declare namespace Sharing {
|
|
7
|
+
namespace propTypes {
|
|
8
|
+
const file: PropTypes.Requireable<object>;
|
|
9
|
+
const variant: PropTypes.Requireable<string>;
|
|
10
|
+
}
|
|
11
|
+
namespace defaultProptypes {
|
|
12
|
+
const variant_1: string;
|
|
13
|
+
export { variant_1 as variant };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _cozyClient = require("cozy-client");
|
|
17
|
+
|
|
18
|
+
var _cozySharing = require("cozy-sharing");
|
|
19
|
+
|
|
20
|
+
var _SharingProvider = require("cozy-sharing/dist/SharingProvider");
|
|
21
|
+
|
|
22
|
+
var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
|
|
23
|
+
|
|
24
|
+
var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
|
|
25
|
+
|
|
26
|
+
var _Share = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Share"));
|
|
27
|
+
|
|
28
|
+
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); }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
var Sharing = function Sharing(_ref) {
|
|
33
|
+
var file = _ref.file,
|
|
34
|
+
variant = _ref.variant;
|
|
35
|
+
var client = (0, _cozyClient.useClient)();
|
|
36
|
+
|
|
37
|
+
var _useState = (0, _react.useState)(false),
|
|
38
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
39
|
+
showShareModal = _useState2[0],
|
|
40
|
+
setShowShareModal = _useState2[1];
|
|
41
|
+
|
|
42
|
+
var SharingButton = variant === 'iconButton' ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
43
|
+
className: "u-white",
|
|
44
|
+
onClick: function onClick() {
|
|
45
|
+
return setShowShareModal(true);
|
|
46
|
+
}
|
|
47
|
+
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
48
|
+
icon: _Share.default
|
|
49
|
+
})) : /*#__PURE__*/_react.default.createElement(_cozySharing.ShareButton, {
|
|
50
|
+
fullWidth: true,
|
|
51
|
+
useShortLabel: true,
|
|
52
|
+
docId: file.id,
|
|
53
|
+
onClick: function onClick() {
|
|
54
|
+
return setShowShareModal(true);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_SharingProvider.SharingProvider, {
|
|
58
|
+
client: client,
|
|
59
|
+
doctype: "io.cozy.files",
|
|
60
|
+
documentType: "Files"
|
|
61
|
+
}, showShareModal && /*#__PURE__*/_react.default.createElement(_cozySharing.ShareModal, {
|
|
62
|
+
document: file,
|
|
63
|
+
documentType: "Files",
|
|
64
|
+
sharingDesc: file.name,
|
|
65
|
+
onClose: function onClose() {
|
|
66
|
+
return setShowShareModal(false);
|
|
67
|
+
}
|
|
68
|
+
}), SharingButton));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
Sharing.propTypes = {
|
|
72
|
+
file: _propTypes.default.object,
|
|
73
|
+
variant: _propTypes.default.oneOf(['default', 'iconButton'])
|
|
74
|
+
};
|
|
75
|
+
Sharing.defaultProptypes = {
|
|
76
|
+
variant: 'default'
|
|
77
|
+
};
|
|
78
|
+
var _default = Sharing;
|
|
79
|
+
exports.default = _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function shouldBeForwardButton(client: any): boolean;
|
|
2
|
+
export function exportFilesNative(client: CozyClient, files: array, filename: string): Promise<void>;
|
|
3
|
+
export function mapToAllChildren(children: any, cb: any): any;
|
|
4
|
+
export function extractChildrenCompByName({ children, file, name }: {
|
|
5
|
+
children: any;
|
|
6
|
+
file: any;
|
|
7
|
+
name: any;
|
|
8
|
+
}): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.shouldBeForwardButton = exports.mapToAllChildren = exports.extractChildrenCompByName = exports.exportFilesNative = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
|
|
16
|
+
var _fsnative = require("cozy-client/dist/models/fsnative");
|
|
17
|
+
|
|
18
|
+
var _cozyDeviceHelper = require("cozy-device-helper");
|
|
19
|
+
|
|
20
|
+
var _Alerter = _interopRequireDefault(require("cozy-ui/transpiled/react/deprecated/Alerter"));
|
|
21
|
+
|
|
22
|
+
var shouldBeForwardButton = function shouldBeForwardButton(client) {
|
|
23
|
+
var _client$appMetadata;
|
|
24
|
+
|
|
25
|
+
var isDrive = (client === null || client === void 0 ? void 0 : (_client$appMetadata = client.appMetadata) === null || _client$appMetadata === void 0 ? void 0 : _client$appMetadata.slug) === 'drive';
|
|
26
|
+
if ((0, _cozyDeviceHelper.isMobileApp)() || navigator.share && !isDrive) return true;
|
|
27
|
+
return false;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.shouldBeForwardButton = shouldBeForwardButton;
|
|
31
|
+
|
|
32
|
+
var isMissingFileError = function isMissingFileError(error) {
|
|
33
|
+
return error.status === 404;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var downloadFileError = function downloadFileError(error) {
|
|
37
|
+
return isMissingFileError(error) ? 'Viewer.error.downloadFile.missing' : 'Viewer.error.missing';
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* exportFilesNative - Triggers a prompt to download a file on mobile devices
|
|
41
|
+
*
|
|
42
|
+
* @param {CozyClient} client
|
|
43
|
+
* @param {array} files One or more files to download
|
|
44
|
+
* @param {string} filename The name of the file that will be saved
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
var exportFilesNative = /*#__PURE__*/function () {
|
|
49
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(client, files, filename) {
|
|
50
|
+
var downloadAllFiles, urls;
|
|
51
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
52
|
+
while (1) {
|
|
53
|
+
switch (_context2.prev = _context2.next) {
|
|
54
|
+
case 0:
|
|
55
|
+
downloadAllFiles = files.map( /*#__PURE__*/function () {
|
|
56
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(file) {
|
|
57
|
+
var response, blob, filenameToUse, localFile;
|
|
58
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
59
|
+
while (1) {
|
|
60
|
+
switch (_context.prev = _context.next) {
|
|
61
|
+
case 0:
|
|
62
|
+
_context.next = 2;
|
|
63
|
+
return client.collection('io.cozy.files').fetchFileContentById(file.id);
|
|
64
|
+
|
|
65
|
+
case 2:
|
|
66
|
+
response = _context.sent;
|
|
67
|
+
_context.next = 5;
|
|
68
|
+
return response.blob();
|
|
69
|
+
|
|
70
|
+
case 5:
|
|
71
|
+
blob = _context.sent;
|
|
72
|
+
filenameToUse = filename ? filename : file.name;
|
|
73
|
+
_context.next = 9;
|
|
74
|
+
return (0, _fsnative.saveFileWithCordova)(blob, filenameToUse);
|
|
75
|
+
|
|
76
|
+
case 9:
|
|
77
|
+
localFile = _context.sent;
|
|
78
|
+
return _context.abrupt("return", localFile.nativeURL);
|
|
79
|
+
|
|
80
|
+
case 11:
|
|
81
|
+
case "end":
|
|
82
|
+
return _context.stop();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}, _callee);
|
|
86
|
+
}));
|
|
87
|
+
|
|
88
|
+
return function (_x4) {
|
|
89
|
+
return _ref2.apply(this, arguments);
|
|
90
|
+
};
|
|
91
|
+
}());
|
|
92
|
+
_context2.prev = 1;
|
|
93
|
+
|
|
94
|
+
_Alerter.default.info('Viewer.alert.preparing', {
|
|
95
|
+
duration: Math.min(downloadAllFiles.length * 2000, 6000)
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
_context2.next = 5;
|
|
99
|
+
return Promise.all(downloadAllFiles);
|
|
100
|
+
|
|
101
|
+
case 5:
|
|
102
|
+
urls = _context2.sent;
|
|
103
|
+
|
|
104
|
+
if (urls.length === 1 && (0, _cozyDeviceHelper.isIOS)()) {
|
|
105
|
+
// TODO
|
|
106
|
+
// It seems that files: is not well supported on iOS. url seems to work well
|
|
107
|
+
// at with one file. Need to check when severals
|
|
108
|
+
window.plugins.socialsharing.shareWithOptions({
|
|
109
|
+
url: urls[0]
|
|
110
|
+
}, function (result) {
|
|
111
|
+
if (result.completed === true) {
|
|
112
|
+
_Alerter.default.success('Viewer.share.success');
|
|
113
|
+
}
|
|
114
|
+
}, function (error) {
|
|
115
|
+
throw error;
|
|
116
|
+
});
|
|
117
|
+
} else {
|
|
118
|
+
window.plugins.socialsharing.shareWithOptions({
|
|
119
|
+
files: urls
|
|
120
|
+
}, null, function (error) {
|
|
121
|
+
throw error;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
_context2.next = 12;
|
|
126
|
+
break;
|
|
127
|
+
|
|
128
|
+
case 9:
|
|
129
|
+
_context2.prev = 9;
|
|
130
|
+
_context2.t0 = _context2["catch"](1);
|
|
131
|
+
|
|
132
|
+
_Alerter.default.error(downloadFileError(_context2.t0));
|
|
133
|
+
|
|
134
|
+
case 12:
|
|
135
|
+
case "end":
|
|
136
|
+
return _context2.stop();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}, _callee2, null, [[1, 9]]);
|
|
140
|
+
}));
|
|
141
|
+
|
|
142
|
+
return function exportFilesNative(_x, _x2, _x3) {
|
|
143
|
+
return _ref.apply(this, arguments);
|
|
144
|
+
};
|
|
145
|
+
}();
|
|
146
|
+
|
|
147
|
+
exports.exportFilesNative = exportFilesNative;
|
|
148
|
+
|
|
149
|
+
var mapToAllChildren = function mapToAllChildren(children, cb) {
|
|
150
|
+
return _react.Children.map(children, function (child) {
|
|
151
|
+
if (! /*#__PURE__*/(0, _react.isValidElement)(child)) return child;
|
|
152
|
+
var grandchildren = child.props.children;
|
|
153
|
+
|
|
154
|
+
if (grandchildren) {
|
|
155
|
+
return /*#__PURE__*/(0, _react.cloneElement)(child, {
|
|
156
|
+
children: mapToAllChildren(grandchildren, cb)
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return cb(child);
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
exports.mapToAllChildren = mapToAllChildren;
|
|
165
|
+
|
|
166
|
+
var extractChildrenCompByName = function extractChildrenCompByName(_ref3) {
|
|
167
|
+
var children = _ref3.children,
|
|
168
|
+
file = _ref3.file,
|
|
169
|
+
name = _ref3.name;
|
|
170
|
+
var ChildrenComp = _react.Children.toArray(children).find(function (child) {
|
|
171
|
+
return child.type.name === name || child.type.displayName === name;
|
|
172
|
+
}) || null;
|
|
173
|
+
var ChildrenCompWithFile = /*#__PURE__*/(0, _react.isValidElement)(ChildrenComp) ? /*#__PURE__*/(0, _react.cloneElement)(ChildrenComp, {
|
|
174
|
+
file: file
|
|
175
|
+
}) : null;
|
|
176
|
+
return ChildrenCompWithFile;
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
exports.extractChildrenCompByName = extractChildrenCompByName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _cozyClient = require("cozy-client");
|
|
15
|
+
|
|
16
|
+
var _Button = _interopRequireDefault(require("cozy-ui/transpiled/react/deprecated/Button"));
|
|
17
|
+
|
|
18
|
+
var _proptypes = require("cozy-ui/transpiled/react/proptypes");
|
|
19
|
+
|
|
20
|
+
var _I18n = require("cozy-ui/transpiled/react/providers/I18n");
|
|
21
|
+
|
|
22
|
+
var _helpers = require("../helpers");
|
|
23
|
+
|
|
24
|
+
var DownloadButton = function DownloadButton(_ref) {
|
|
25
|
+
var client = _ref.client,
|
|
26
|
+
file = _ref.file,
|
|
27
|
+
url = _ref.url;
|
|
28
|
+
|
|
29
|
+
var _useI18n = (0, _I18n.useI18n)(),
|
|
30
|
+
t = _useI18n.t;
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
33
|
+
onClick: function onClick() {
|
|
34
|
+
return (0, _helpers.downloadFile)({
|
|
35
|
+
client: client,
|
|
36
|
+
file: file,
|
|
37
|
+
url: url
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
label: t('Viewer.download')
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
DownloadButton.propTypes = {
|
|
45
|
+
client: _propTypes.default.object.isRequired,
|
|
46
|
+
file: _proptypes.FileDoctype,
|
|
47
|
+
url: _propTypes.default.string
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var _default = (0, _cozyClient.withClient)(DownloadButton);
|
|
51
|
+
|
|
52
|
+
exports.default = _default;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
|
|
13
|
+
|
|
14
|
+
var _FileTypeBin = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeBin"));
|
|
15
|
+
|
|
16
|
+
var _FileTypeCode = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeCode"));
|
|
17
|
+
|
|
18
|
+
var _FileTypeFiles = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeFiles"));
|
|
19
|
+
|
|
20
|
+
var _FileTypePdf = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypePdf"));
|
|
21
|
+
|
|
22
|
+
var _FileTypeSheet = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeSheet"));
|
|
23
|
+
|
|
24
|
+
var _FileTypeSlide = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeSlide"));
|
|
25
|
+
|
|
26
|
+
var _FileTypeText = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeText"));
|
|
27
|
+
|
|
28
|
+
var _FileTypeZip = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeZip"));
|
|
29
|
+
|
|
30
|
+
var FileIcon = function FileIcon(_ref) {
|
|
31
|
+
var type = _ref.type;
|
|
32
|
+
var icon;
|
|
33
|
+
|
|
34
|
+
switch (type) {
|
|
35
|
+
case 'bin':
|
|
36
|
+
icon = _FileTypeBin.default;
|
|
37
|
+
break;
|
|
38
|
+
|
|
39
|
+
case 'code':
|
|
40
|
+
icon = _FileTypeCode.default;
|
|
41
|
+
break;
|
|
42
|
+
|
|
43
|
+
case 'spreadsheet':
|
|
44
|
+
icon = _FileTypeSheet.default;
|
|
45
|
+
break;
|
|
46
|
+
|
|
47
|
+
case 'slide':
|
|
48
|
+
icon = _FileTypeSlide.default;
|
|
49
|
+
break;
|
|
50
|
+
|
|
51
|
+
case 'text':
|
|
52
|
+
icon = _FileTypeText.default;
|
|
53
|
+
break;
|
|
54
|
+
|
|
55
|
+
case 'zip':
|
|
56
|
+
icon = _FileTypeZip.default;
|
|
57
|
+
break;
|
|
58
|
+
|
|
59
|
+
case 'pdf':
|
|
60
|
+
icon = _FileTypePdf.default;
|
|
61
|
+
break;
|
|
62
|
+
|
|
63
|
+
default:
|
|
64
|
+
icon = _FileTypeFiles.default;
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
69
|
+
icon: icon,
|
|
70
|
+
width: 160,
|
|
71
|
+
height: 140
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
var _default = FileIcon;
|
|
76
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default NoViewer;
|
|
2
|
+
declare function NoViewer({ file, url, renderFallbackExtraContent }: {
|
|
3
|
+
file: any;
|
|
4
|
+
url: any;
|
|
5
|
+
renderFallbackExtraContent: any;
|
|
6
|
+
}): JSX.Element;
|
|
7
|
+
declare namespace NoViewer {
|
|
8
|
+
namespace propTypes {
|
|
9
|
+
const file: any;
|
|
10
|
+
const renderFallbackExtraContent: PropTypes.Requireable<(...args: any[]) => any>;
|
|
11
|
+
const url: PropTypes.Requireable<string>;
|
|
12
|
+
}
|
|
13
|
+
namespace defaultProps {
|
|
14
|
+
export function renderFallbackExtraContent_1(file: any, url: any): JSX.Element;
|
|
15
|
+
export { renderFallbackExtraContent_1 as renderFallbackExtraContent };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _proptypes = require("cozy-ui/transpiled/react/proptypes");
|
|
15
|
+
|
|
16
|
+
var _DownloadButton = _interopRequireDefault(require("./DownloadButton"));
|
|
17
|
+
|
|
18
|
+
var _FileIcon = _interopRequireDefault(require("./FileIcon"));
|
|
19
|
+
|
|
20
|
+
var styles = {
|
|
21
|
+
"viewer-imageviewer": "styles__viewer-imageviewer___2O8pW",
|
|
22
|
+
"viewer-noviewer": "styles__viewer-noviewer___3HRGf",
|
|
23
|
+
"viewer-audioviewer": "styles__viewer-audioviewer___dpxUM",
|
|
24
|
+
"viewer-videoviewer": "styles__viewer-videoviewer___3yUQ5",
|
|
25
|
+
"viewer-pdfviewer": "styles__viewer-pdfviewer___3MJPk",
|
|
26
|
+
"viewer-textviewer": "styles__viewer-textviewer___1fl1c",
|
|
27
|
+
"viewer-canceled": "styles__viewer-canceled___3KRBk",
|
|
28
|
+
"viewer-textviewer-content": "styles__viewer-textviewer-content___30dhP",
|
|
29
|
+
"viewer-filename": "styles__viewer-filename___1-DIz",
|
|
30
|
+
"viewer-pdfviewer-pdf": "styles__viewer-pdfviewer-pdf___3R4jL",
|
|
31
|
+
"viewer-pdfviewer-page": "styles__viewer-pdfviewer-page___VvOF3",
|
|
32
|
+
"viewer-pdfviewer-toolbar": "styles__viewer-pdfviewer-toolbar___2Eat3",
|
|
33
|
+
"viewer-pdfMobile": "styles__viewer-pdfMobile___ym7we",
|
|
34
|
+
"viewer-pdfMobile--image": "styles__viewer-pdfMobile--image___3_zsS"
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var NoViewer = function NoViewer(_ref) {
|
|
38
|
+
var file = _ref.file,
|
|
39
|
+
url = _ref.url,
|
|
40
|
+
renderFallbackExtraContent = _ref.renderFallbackExtraContent;
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
42
|
+
className: styles['viewer-noviewer']
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_FileIcon.default, {
|
|
44
|
+
type: file.class
|
|
45
|
+
}), /*#__PURE__*/_react.default.createElement("p", {
|
|
46
|
+
className: styles['viewer-filename']
|
|
47
|
+
}, file.name), renderFallbackExtraContent(file, url));
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
NoViewer.propTypes = {
|
|
51
|
+
file: _proptypes.FileDoctype.isRequired,
|
|
52
|
+
renderFallbackExtraContent: _propTypes.default.func,
|
|
53
|
+
url: _propTypes.default.string
|
|
54
|
+
};
|
|
55
|
+
NoViewer.defaultProps = {
|
|
56
|
+
renderFallbackExtraContent: function renderFallbackExtraContent(file, url) {
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(_DownloadButton.default, {
|
|
58
|
+
file: file,
|
|
59
|
+
url: url
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var _default = NoViewer;
|
|
64
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./NoViewer";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _NoViewer.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _NoViewer = _interopRequireDefault(require("./NoViewer"));
|