@concord-consortium/cloud-file-manager 2.1.0-pre.8 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/347 +276 -0
- package/dist/autolaunch/autolaunch.js +1 -1
- package/dist/autolaunch/autolaunch.js.map +1 -1
- package/dist/cjs/app-options.d.ts +2 -0
- package/dist/cjs/client.d.ts +2 -1
- package/dist/cjs/client.js +54 -79
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/cloud-file-manager.js +2 -2
- package/dist/cjs/cloud-file-manager.js.map +1 -1
- package/dist/cjs/create-react-factory.d.ts +1 -0
- package/dist/cjs/create-react-factory.js.map +1 -1
- package/dist/cjs/providers/document-store-provider.js +7 -10
- package/dist/cjs/providers/document-store-provider.js.map +1 -1
- package/dist/cjs/providers/document-store-share-provider.js +4 -4
- package/dist/cjs/providers/document-store-share-provider.js.map +1 -1
- package/dist/cjs/providers/google-drive-provider.js +30 -34
- package/dist/cjs/providers/google-drive-provider.js.map +1 -1
- package/dist/cjs/providers/interactive-api-provider.d.ts +5 -2
- package/dist/cjs/providers/interactive-api-provider.js +27 -21
- package/dist/cjs/providers/interactive-api-provider.js.map +1 -1
- package/dist/cjs/providers/lara-provider.js +18 -26
- package/dist/cjs/providers/lara-provider.js.map +1 -1
- package/dist/cjs/providers/legacy-google-drive-provider.js +21 -27
- package/dist/cjs/providers/legacy-google-drive-provider.js.map +1 -1
- package/dist/cjs/providers/localstorage-provider.js +11 -13
- package/dist/cjs/providers/localstorage-provider.js.map +1 -1
- package/dist/cjs/providers/patchable-content.js +1 -1
- package/dist/cjs/providers/patchable-content.js.map +1 -1
- package/dist/cjs/providers/post-message-provider.js +1 -1
- package/dist/cjs/providers/post-message-provider.js.map +1 -1
- package/dist/cjs/providers/provider-interface.d.ts +1 -2
- package/dist/cjs/providers/provider-interface.js +11 -14
- package/dist/cjs/providers/provider-interface.js.map +1 -1
- package/dist/cjs/providers/readonly-provider.js +6 -6
- package/dist/cjs/providers/readonly-provider.js.map +1 -1
- package/dist/cjs/providers/s3-provider.js +1 -2
- package/dist/cjs/providers/s3-provider.js.map +1 -1
- package/dist/cjs/providers/s3-share-provider.js +1 -1
- package/dist/cjs/providers/s3-share-provider.js.map +1 -1
- package/dist/cjs/providers/test-provider.js +5 -5
- package/dist/cjs/providers/test-provider.js.map +1 -1
- package/dist/cjs/providers/url-provider.js +1 -1
- package/dist/cjs/providers/url-provider.js.map +1 -1
- package/dist/cjs/ui.d.ts +2 -1
- package/dist/cjs/ui.js +5 -3
- package/dist/cjs/ui.js.map +1 -1
- package/dist/cjs/utils/focus-tracker.d.ts +3 -0
- package/dist/cjs/utils/focus-tracker.js +44 -0
- package/dist/cjs/utils/focus-tracker.js.map +1 -0
- package/dist/cjs/utils/ios-file-saver.d.ts +42 -0
- package/dist/cjs/utils/ios-file-saver.js +98 -0
- package/dist/cjs/utils/ios-file-saver.js.map +1 -0
- package/dist/cjs/utils/lang/en-US.json +9 -0
- package/dist/cjs/utils/s3-share-provider-token-service-helper.js +19 -13
- package/dist/cjs/utils/s3-share-provider-token-service-helper.js.map +1 -1
- package/dist/cjs/utils/url-params.js +1 -2
- package/dist/cjs/utils/url-params.js.map +1 -1
- package/dist/cjs/views/alert-dialog-view.d.ts +9 -3
- package/dist/cjs/views/alert-dialog-view.js +9 -24
- package/dist/cjs/views/alert-dialog-view.js.map +1 -1
- package/dist/cjs/views/app-view.d.ts +12 -5
- package/dist/cjs/views/app-view.js +167 -173
- package/dist/cjs/views/app-view.js.map +1 -1
- package/dist/cjs/views/blocking-modal-view.d.ts +9 -3
- package/dist/cjs/views/blocking-modal-view.js +8 -25
- package/dist/cjs/views/blocking-modal-view.js.map +1 -1
- package/dist/cjs/views/confirm-dialog-view.d.ts +14 -3
- package/dist/cjs/views/confirm-dialog-view.js +14 -31
- package/dist/cjs/views/confirm-dialog-view.js.map +1 -1
- package/dist/cjs/views/download-dialog-view.d.ts +12 -3
- package/dist/cjs/views/download-dialog-view.js +36 -63
- package/dist/cjs/views/download-dialog-view.js.map +1 -1
- package/dist/cjs/views/dropdown-anchors.d.ts +2 -2
- package/dist/cjs/views/dropdown-anchors.js +4 -10
- package/dist/cjs/views/dropdown-anchors.js.map +1 -1
- package/dist/cjs/views/dropdown-view.d.ts +20 -3
- package/dist/cjs/views/dropdown-view.js +40 -157
- package/dist/cjs/views/dropdown-view.js.map +1 -1
- package/dist/cjs/views/file-dialog-tab-view.d.ts +24 -2
- package/dist/cjs/views/file-dialog-tab-view.js +255 -315
- package/dist/cjs/views/file-dialog-tab-view.js.map +1 -1
- package/dist/cjs/views/icons/spin.d.ts +2 -2
- package/dist/cjs/views/icons/spin.js +2 -39
- package/dist/cjs/views/icons/spin.js.map +1 -1
- package/dist/cjs/views/import-tabbed-dialog-view.d.ts +12 -3
- package/dist/cjs/views/import-tabbed-dialog-view.js +33 -65
- package/dist/cjs/views/import-tabbed-dialog-view.js.map +1 -1
- package/dist/cjs/views/local-file-tab-list-view.d.ts +14 -3
- package/dist/cjs/views/local-file-tab-list-view.js +57 -66
- package/dist/cjs/views/local-file-tab-list-view.js.map +1 -1
- package/dist/cjs/views/local-file-tab-save-view.d.ts +32 -3
- package/dist/cjs/views/local-file-tab-save-view.js +125 -138
- package/dist/cjs/views/local-file-tab-save-view.js.map +1 -1
- package/dist/cjs/views/menu-bar-view.d.ts +58 -3
- package/dist/cjs/views/menu-bar-view.js +196 -183
- package/dist/cjs/views/menu-bar-view.js.map +1 -1
- package/dist/cjs/views/modal-dialog-view.js +7 -8
- package/dist/cjs/views/modal-dialog-view.js.map +1 -1
- package/dist/cjs/views/modal-tabbed-dialog-view.d.ts +15 -3
- package/dist/cjs/views/modal-tabbed-dialog-view.js +5 -17
- package/dist/cjs/views/modal-tabbed-dialog-view.js.map +1 -1
- package/dist/cjs/views/modal-view.d.ts +5 -32
- package/dist/cjs/views/modal-view.js +20 -64
- package/dist/cjs/views/modal-view.js.map +1 -1
- package/dist/cjs/views/provider-tabbed-dialog-view.d.ts +23 -3
- package/dist/cjs/views/provider-tabbed-dialog-view.js +43 -51
- package/dist/cjs/views/provider-tabbed-dialog-view.js.map +1 -1
- package/dist/cjs/views/rename-dialog-view.d.ts +8 -3
- package/dist/cjs/views/rename-dialog-view.js +25 -51
- package/dist/cjs/views/rename-dialog-view.js.map +1 -1
- package/dist/cjs/views/select-interactive-state-dialog-view.d.ts +1 -1
- package/dist/cjs/views/select-interactive-state-dialog-view.js +4 -30
- package/dist/cjs/views/select-interactive-state-dialog-view.js.map +1 -1
- package/dist/cjs/views/select-provider-dialog-tab-view.d.ts +6 -1
- package/dist/cjs/views/select-provider-dialog-tab-view.js +4 -12
- package/dist/cjs/views/select-provider-dialog-tab-view.js.map +1 -1
- package/dist/cjs/views/share-dialog-status-view.js +6 -13
- package/dist/cjs/views/share-dialog-status-view.js.map +1 -1
- package/dist/cjs/views/share-dialog-tabs-view.js +22 -61
- package/dist/cjs/views/share-dialog-tabs-view.js.map +1 -1
- package/dist/cjs/views/share-dialog-view.d.ts +1 -1
- package/dist/cjs/views/share-dialog-view.js +15 -21
- package/dist/cjs/views/share-dialog-view.js.map +1 -1
- package/dist/cjs/views/share-loading-view.d.ts +2 -2
- package/dist/cjs/views/share-loading-view.js +2 -4
- package/dist/cjs/views/share-loading-view.js.map +1 -1
- package/dist/cjs/views/tabbed-panel-view.d.ts +16 -3
- package/dist/cjs/views/tabbed-panel-view.js +25 -75
- package/dist/cjs/views/tabbed-panel-view.js.map +1 -1
- package/dist/cjs/views/url-tab-view.d.ts +12 -3
- package/dist/cjs/views/url-tab-view.js +31 -46
- package/dist/cjs/views/url-tab-view.js.map +1 -1
- package/dist/css/app.css +1 -1
- package/dist/css/app.css.map +1 -1
- package/dist/esm/app-options.d.ts +2 -0
- package/dist/esm/client.d.ts +2 -1
- package/dist/esm/client.js +54 -79
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/cloud-file-manager.js +2 -2
- package/dist/esm/cloud-file-manager.js.map +1 -1
- package/dist/esm/create-react-factory.d.ts +1 -0
- package/dist/esm/create-react-factory.js.map +1 -1
- package/dist/esm/providers/document-store-provider.js +7 -10
- package/dist/esm/providers/document-store-provider.js.map +1 -1
- package/dist/esm/providers/document-store-share-provider.js +4 -4
- package/dist/esm/providers/document-store-share-provider.js.map +1 -1
- package/dist/esm/providers/google-drive-provider.js +30 -34
- package/dist/esm/providers/google-drive-provider.js.map +1 -1
- package/dist/esm/providers/interactive-api-provider.d.ts +5 -2
- package/dist/esm/providers/interactive-api-provider.js +25 -20
- package/dist/esm/providers/interactive-api-provider.js.map +1 -1
- package/dist/esm/providers/lara-provider.js +18 -26
- package/dist/esm/providers/lara-provider.js.map +1 -1
- package/dist/esm/providers/legacy-google-drive-provider.js +21 -27
- package/dist/esm/providers/legacy-google-drive-provider.js.map +1 -1
- package/dist/esm/providers/localstorage-provider.js +11 -13
- package/dist/esm/providers/localstorage-provider.js.map +1 -1
- package/dist/esm/providers/patchable-content.js +1 -1
- package/dist/esm/providers/patchable-content.js.map +1 -1
- package/dist/esm/providers/post-message-provider.js +1 -1
- package/dist/esm/providers/post-message-provider.js.map +1 -1
- package/dist/esm/providers/provider-interface.d.ts +1 -2
- package/dist/esm/providers/provider-interface.js +11 -14
- package/dist/esm/providers/provider-interface.js.map +1 -1
- package/dist/esm/providers/readonly-provider.js +6 -6
- package/dist/esm/providers/readonly-provider.js.map +1 -1
- package/dist/esm/providers/s3-provider.js +1 -2
- package/dist/esm/providers/s3-provider.js.map +1 -1
- package/dist/esm/providers/s3-share-provider.js +1 -1
- package/dist/esm/providers/s3-share-provider.js.map +1 -1
- package/dist/esm/providers/test-provider.js +5 -5
- package/dist/esm/providers/test-provider.js.map +1 -1
- package/dist/esm/providers/url-provider.js +1 -1
- package/dist/esm/providers/url-provider.js.map +1 -1
- package/dist/esm/ui.d.ts +2 -1
- package/dist/esm/ui.js +5 -3
- package/dist/esm/ui.js.map +1 -1
- package/dist/esm/utils/focus-tracker.d.ts +3 -0
- package/dist/esm/utils/focus-tracker.js +38 -0
- package/dist/esm/utils/focus-tracker.js.map +1 -0
- package/dist/esm/utils/ios-file-saver.d.ts +42 -0
- package/dist/esm/utils/ios-file-saver.js +91 -0
- package/dist/esm/utils/ios-file-saver.js.map +1 -0
- package/dist/esm/utils/lang/en-US.json +9 -0
- package/dist/esm/utils/s3-share-provider-token-service-helper.js +19 -10
- package/dist/esm/utils/s3-share-provider-token-service-helper.js.map +1 -1
- package/dist/esm/utils/url-params.js +1 -2
- package/dist/esm/utils/url-params.js.map +1 -1
- package/dist/esm/views/alert-dialog-view.d.ts +9 -3
- package/dist/esm/views/alert-dialog-view.js +10 -25
- package/dist/esm/views/alert-dialog-view.js.map +1 -1
- package/dist/esm/views/app-view.d.ts +12 -5
- package/dist/esm/views/app-view.js +176 -182
- package/dist/esm/views/app-view.js.map +1 -1
- package/dist/esm/views/blocking-modal-view.d.ts +9 -3
- package/dist/esm/views/blocking-modal-view.js +9 -26
- package/dist/esm/views/blocking-modal-view.js.map +1 -1
- package/dist/esm/views/confirm-dialog-view.d.ts +14 -3
- package/dist/esm/views/confirm-dialog-view.js +15 -32
- package/dist/esm/views/confirm-dialog-view.js.map +1 -1
- package/dist/esm/views/download-dialog-view.d.ts +12 -3
- package/dist/esm/views/download-dialog-view.js +36 -63
- package/dist/esm/views/download-dialog-view.js.map +1 -1
- package/dist/esm/views/dropdown-anchors.d.ts +2 -2
- package/dist/esm/views/dropdown-anchors.js +4 -7
- package/dist/esm/views/dropdown-anchors.js.map +1 -1
- package/dist/esm/views/dropdown-view.d.ts +20 -3
- package/dist/esm/views/dropdown-view.js +40 -154
- package/dist/esm/views/dropdown-view.js.map +1 -1
- package/dist/esm/views/file-dialog-tab-view.d.ts +24 -2
- package/dist/esm/views/file-dialog-tab-view.js +256 -316
- package/dist/esm/views/file-dialog-tab-view.js.map +1 -1
- package/dist/esm/views/icons/spin.d.ts +2 -2
- package/dist/esm/views/icons/spin.js +2 -36
- package/dist/esm/views/icons/spin.js.map +1 -1
- package/dist/esm/views/import-tabbed-dialog-view.d.ts +12 -3
- package/dist/esm/views/import-tabbed-dialog-view.js +36 -68
- package/dist/esm/views/import-tabbed-dialog-view.js.map +1 -1
- package/dist/esm/views/local-file-tab-list-view.d.ts +14 -3
- package/dist/esm/views/local-file-tab-list-view.js +57 -66
- package/dist/esm/views/local-file-tab-list-view.js.map +1 -1
- package/dist/esm/views/local-file-tab-save-view.d.ts +32 -3
- package/dist/esm/views/local-file-tab-save-view.js +125 -138
- package/dist/esm/views/local-file-tab-save-view.js.map +1 -1
- package/dist/esm/views/menu-bar-view.d.ts +58 -3
- package/dist/esm/views/menu-bar-view.js +198 -185
- package/dist/esm/views/menu-bar-view.js.map +1 -1
- package/dist/esm/views/modal-dialog-view.js +7 -8
- package/dist/esm/views/modal-dialog-view.js.map +1 -1
- package/dist/esm/views/modal-tabbed-dialog-view.d.ts +15 -3
- package/dist/esm/views/modal-tabbed-dialog-view.js +7 -19
- package/dist/esm/views/modal-tabbed-dialog-view.js.map +1 -1
- package/dist/esm/views/modal-view.d.ts +5 -32
- package/dist/esm/views/modal-view.js +21 -61
- package/dist/esm/views/modal-view.js.map +1 -1
- package/dist/esm/views/provider-tabbed-dialog-view.d.ts +23 -3
- package/dist/esm/views/provider-tabbed-dialog-view.js +46 -54
- package/dist/esm/views/provider-tabbed-dialog-view.js.map +1 -1
- package/dist/esm/views/rename-dialog-view.d.ts +8 -3
- package/dist/esm/views/rename-dialog-view.js +25 -51
- package/dist/esm/views/rename-dialog-view.js.map +1 -1
- package/dist/esm/views/select-interactive-state-dialog-view.d.ts +1 -1
- package/dist/esm/views/select-interactive-state-dialog-view.js +4 -30
- package/dist/esm/views/select-interactive-state-dialog-view.js.map +1 -1
- package/dist/esm/views/select-provider-dialog-tab-view.d.ts +6 -1
- package/dist/esm/views/select-provider-dialog-tab-view.js +4 -9
- package/dist/esm/views/select-provider-dialog-tab-view.js.map +1 -1
- package/dist/esm/views/share-dialog-status-view.js +6 -13
- package/dist/esm/views/share-dialog-status-view.js.map +1 -1
- package/dist/esm/views/share-dialog-tabs-view.js +22 -61
- package/dist/esm/views/share-dialog-tabs-view.js.map +1 -1
- package/dist/esm/views/share-dialog-view.d.ts +1 -1
- package/dist/esm/views/share-dialog-view.js +15 -21
- package/dist/esm/views/share-dialog-view.js.map +1 -1
- package/dist/esm/views/share-loading-view.d.ts +2 -2
- package/dist/esm/views/share-loading-view.js +2 -4
- package/dist/esm/views/share-loading-view.js.map +1 -1
- package/dist/esm/views/tabbed-panel-view.d.ts +16 -3
- package/dist/esm/views/tabbed-panel-view.js +25 -72
- package/dist/esm/views/tabbed-panel-view.js.map +1 -1
- package/dist/esm/views/url-tab-view.d.ts +12 -3
- package/dist/esm/views/url-tab-view.js +31 -46
- package/dist/esm/views/url-tab-view.js.map +1 -1
- package/dist/examples/codap3-local-file.html +42 -0
- package/dist/examples/index.html +2 -0
- package/dist/examples/local-json-save.html +36 -0
- package/dist/index.html +1 -1
- package/dist/js/app.js +1 -1
- package/dist/js/app.js.LICENSE.txt +41 -11
- package/dist/js/app.js.map +1 -1
- package/dist/js/globals.js +1 -1
- package/dist/js/globals.js.map +1 -1
- package/package.json +40 -36
- package/readme.md +4 -0
- package/dist/cjs/lib/file-saver.d.ts +0 -2
- package/dist/cjs/lib/file-saver.js +0 -164
- package/dist/cjs/lib/file-saver.js.map +0 -1
- package/dist/esm/lib/file-saver.d.ts +0 -2
- package/dist/esm/lib/file-saver.js +0 -164
- package/dist/esm/lib/file-saver.js.map +0 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utilities for detecting iOS Safari and handling iOS-specific file download issues.
|
|
4
|
+
*
|
|
5
|
+
* iOS Safari 18.2+ has a bug where blob URLs created with URL.createObjectURL()
|
|
6
|
+
* don't properly save to the Files app - they get stuck in Safari's temporary
|
|
7
|
+
* download cache. This module provides detection and a data URL workaround.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.handleIOSDownload = exports.downloadViaDataUrl = exports.blobToDataUrl = exports.isIOSSafari = void 0;
|
|
11
|
+
/**
|
|
12
|
+
* Detects if the current browser is Safari on iOS.
|
|
13
|
+
* This includes iPad in desktop mode (which reports as "Macintosh" but has touch).
|
|
14
|
+
*/
|
|
15
|
+
function isIOSSafari() {
|
|
16
|
+
if (typeof navigator === 'undefined')
|
|
17
|
+
return false;
|
|
18
|
+
const ua = navigator.userAgent;
|
|
19
|
+
// Check for iOS devices (iPhone, iPad, iPod)
|
|
20
|
+
// Also check for iPad in desktop mode (reports as Macintosh but has touch capability)
|
|
21
|
+
// Regular Macs report maxTouchPoints = 0, iPads report 5
|
|
22
|
+
const isIOS = /iPad|iPhone|iPod/.test(ua) ||
|
|
23
|
+
(navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 0);
|
|
24
|
+
// Check for Safari (not Chrome, Firefox, Edge, etc. on iOS)
|
|
25
|
+
// All iOS browsers use WebKit, but we specifically want Safari's behavior
|
|
26
|
+
const isSafari = /Safari/.test(ua) && !/Chrome|CriOS|FxiOS|EdgiOS|OPiOS/.test(ua);
|
|
27
|
+
return isIOS && isSafari;
|
|
28
|
+
}
|
|
29
|
+
exports.isIOSSafari = isIOSSafari;
|
|
30
|
+
/**
|
|
31
|
+
* Converts a Blob to a data URL using FileReader.
|
|
32
|
+
* This is a workaround for iOS Safari's blob URL issues.
|
|
33
|
+
*
|
|
34
|
+
* @param blob - The blob to convert
|
|
35
|
+
* @returns Promise<string> - The data URL
|
|
36
|
+
*/
|
|
37
|
+
function blobToDataUrl(blob) {
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
|
+
const reader = new FileReader();
|
|
40
|
+
reader.onloadend = () => {
|
|
41
|
+
if (typeof reader.result === 'string') {
|
|
42
|
+
resolve(reader.result);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
reject(new Error('FileReader did not return a string'));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
reader.onerror = () => reject(reader.error);
|
|
49
|
+
reader.readAsDataURL(blob);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
exports.blobToDataUrl = blobToDataUrl;
|
|
53
|
+
/**
|
|
54
|
+
* Downloads a file using a data URL approach.
|
|
55
|
+
* Creates a temporary anchor element with the data URL and triggers a click.
|
|
56
|
+
*
|
|
57
|
+
* Note: The `download` attribute behavior varies by browser for data URLs.
|
|
58
|
+
* Testing on iOS Safari 18.7 showed the filename is honored, though older
|
|
59
|
+
* versions may use a generic name. Desktop browsers generally respect the
|
|
60
|
+
* filename value.
|
|
61
|
+
*
|
|
62
|
+
* @param blob - The file content as a Blob
|
|
63
|
+
* @param filename - The filename for the download
|
|
64
|
+
*/
|
|
65
|
+
async function downloadViaDataUrl(blob, filename) {
|
|
66
|
+
const dataUrl = await blobToDataUrl(blob);
|
|
67
|
+
// Create a temporary link and click it
|
|
68
|
+
const link = document.createElement('a');
|
|
69
|
+
link.href = dataUrl;
|
|
70
|
+
link.download = filename;
|
|
71
|
+
link.style.display = 'none';
|
|
72
|
+
document.body.appendChild(link);
|
|
73
|
+
link.click();
|
|
74
|
+
document.body.removeChild(link);
|
|
75
|
+
}
|
|
76
|
+
exports.downloadViaDataUrl = downloadViaDataUrl;
|
|
77
|
+
/**
|
|
78
|
+
* Handles file download on iOS Safari, working around the blob URL bug.
|
|
79
|
+
* Uses data URL approach which triggers Safari's standard download dialog.
|
|
80
|
+
*
|
|
81
|
+
* @param blob - The file content as a Blob
|
|
82
|
+
* @param filename - The filename to use
|
|
83
|
+
* @returns Promise<boolean> - true if handled, false if should use default behavior
|
|
84
|
+
*/
|
|
85
|
+
async function handleIOSDownload(blob, filename) {
|
|
86
|
+
if (!isIOSSafari())
|
|
87
|
+
return false;
|
|
88
|
+
try {
|
|
89
|
+
await downloadViaDataUrl(blob, filename);
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
// If data URL approach fails, let the caller use default behavior
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.handleIOSDownload = handleIOSDownload;
|
|
98
|
+
//# sourceMappingURL=ios-file-saver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ios-file-saver.js","sourceRoot":"","sources":["../../../src/code/utils/ios-file-saver.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;GAGG;AACH,SAAgB,WAAW;IACzB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,KAAK,CAAA;IAElD,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IAE9B,6CAA6C;IAC7C,sFAAsF;IACtF,yDAAyD;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,CAAC,SAAS,CAAC,QAAQ,KAAK,UAAU,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAA;IAErE,4DAA4D;IAC5D,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEjF,OAAO,KAAK,IAAI,QAAQ,CAAA;AAC1B,CAAC;AAhBD,kCAgBC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;QAC/B,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;YACtB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAA;YACzD,CAAC;QACH,CAAC,CAAA;QACD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;AACJ,CAAC;AAbD,sCAaC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,kBAAkB,CAAC,IAAU,EAAE,QAAgB;IACnE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;IAEzC,uCAAuC;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAA;IACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACxB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAA;IACZ,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC;AAXD,gDAWC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,iBAAiB,CAAC,IAAU,EAAE,QAAgB;IAClE,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,KAAK,CAAA;IAEhC,IAAI,CAAC;QACH,MAAM,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,kEAAkE;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAVD,8CAUC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"~MENUBAR.UNTITLED_DOCUMENT": "Untitled Document",
|
|
3
|
+
"~MENUBAR.APP_IFRAME_TITLE": "Application",
|
|
4
|
+
"~MENUBAR.TOOLBAR_LABEL": "Menu bar",
|
|
5
|
+
"~MENUBAR.ABOUT_APP": "About %{appName}",
|
|
6
|
+
"~MENUBAR.ABOUT": "About this application",
|
|
7
|
+
"~MENUBAR.RENAME_DOCUMENT": "Document name",
|
|
8
|
+
"~MENUBAR.RENAME_FILENAME": "Rename %{filename}",
|
|
3
9
|
"~MENU.NEW": "New",
|
|
4
10
|
"~MENU.OPEN": "Open ...",
|
|
5
11
|
"~MENU.CLOSE": "Close",
|
|
@@ -57,7 +63,9 @@
|
|
|
57
63
|
"~FILE_DIALOG.LOAD_FOLDER_ERROR": "*** Error loading folder contents ***",
|
|
58
64
|
"~FILE_DIALOG.DOWNLOAD": "Download",
|
|
59
65
|
"~FILE_DIALOG.FILTER": "Filter results...",
|
|
66
|
+
"~FILE_DIALOG.CLEAR_FILTER": "Clear filter",
|
|
60
67
|
"~FILE_DIALOG.OVERWRITE_CONFIRM": "Are you sure you want to overwrite %{filename}?",
|
|
68
|
+
"~FILE_DIALOG.FILE_NOT_FOUND": "%{filename} not found",
|
|
61
69
|
"~DOWNLOAD_DIALOG.DOWNLOAD": "Download",
|
|
62
70
|
"~DOWNLOAD_DIALOG.CANCEL": "Cancel",
|
|
63
71
|
"~DOWNLOAD_DIALOG.INCLUDE_SHARE_INFO": "Include sharing information in downloaded file",
|
|
@@ -122,6 +130,7 @@
|
|
|
122
130
|
"~GOOGLE_DRIVE.ERROR_MISSING_APPID": "Missing required appId in googleDrive provider options",
|
|
123
131
|
"~GOOGLE_DRIVE.UNABLE_TO_UPLOAD": "Unable to upload file",
|
|
124
132
|
"~GOOGLE_DRIVE.UNABLE_TO_UPLOAD_MSG": "Unable to upload file: %{message}",
|
|
133
|
+
"~GOOGLE_DRIVE.UNABLE_TO_LOAD": "Unable to load file",
|
|
125
134
|
"~GOOGLE_DRIVE.MISSING_SCOPES_MESSAGE": "Please try logging in again and check all the boxes when prompted in the popup",
|
|
126
135
|
"~GOOGLE_DRIVE.USERNAME_LABEL": "Username:",
|
|
127
136
|
"~GOOGLE_DRIVE.SELECT_DIFFERENT_ACCOUNT": "Select Different Google Account",
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getLegacyUrl = exports.deleteFile = exports.updateFile = exports.createFile = void 0;
|
|
7
4
|
const token_service_1 = require("@concord-consortium/token-service");
|
|
8
|
-
const
|
|
5
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
9
6
|
const config_1 = require("./config");
|
|
10
7
|
// Token Service creates a (sub)folder in a S3 bucket and gives access to it. Multiple files can be created there,
|
|
11
8
|
// but it's not desired in CFM. In fact each new subfolder should include just one file - CFM document.
|
|
@@ -30,9 +27,12 @@ const createFile = async ({ fileContent }) => {
|
|
|
30
27
|
// S3 configuration is based both on resource and credentials info.
|
|
31
28
|
const { bucket, region } = resource;
|
|
32
29
|
const { accessKeyId, secretAccessKey, sessionToken } = credentials;
|
|
33
|
-
const s3 = new
|
|
30
|
+
const s3 = new client_s3_1.S3Client({
|
|
31
|
+
region,
|
|
32
|
+
credentials: { accessKeyId, secretAccessKey, sessionToken }
|
|
33
|
+
});
|
|
34
34
|
const publicPath = client.getPublicS3Path(resource, FILENAME);
|
|
35
|
-
await s3.
|
|
35
|
+
await s3.send(new client_s3_1.PutObjectCommand({
|
|
36
36
|
Bucket: bucket,
|
|
37
37
|
Key: publicPath,
|
|
38
38
|
Body: fileContent,
|
|
@@ -40,7 +40,7 @@ const createFile = async ({ fileContent }) => {
|
|
|
40
40
|
ContentEncoding: "UTF-8",
|
|
41
41
|
// Remember to update "~SHARE_UPDATE.MESSAGE" message when caching time is updated.
|
|
42
42
|
CacheControl: `max-age=${config_1.DEFAULT_MAX_AGE_SECONDS}`
|
|
43
|
-
})
|
|
43
|
+
}));
|
|
44
44
|
return {
|
|
45
45
|
publicUrl: client.getPublicS3Url(resource, FILENAME),
|
|
46
46
|
resourceId: resource.id,
|
|
@@ -55,9 +55,12 @@ const updateFile = async ({ newFileContent, resourceId, readWriteToken }) => {
|
|
|
55
55
|
// S3 configuration is based both on resource and credentials info.
|
|
56
56
|
const { bucket, region } = resource;
|
|
57
57
|
const { accessKeyId, secretAccessKey, sessionToken } = credentials;
|
|
58
|
-
const s3 = new
|
|
58
|
+
const s3 = new client_s3_1.S3Client({
|
|
59
|
+
region,
|
|
60
|
+
credentials: { accessKeyId, secretAccessKey, sessionToken }
|
|
61
|
+
});
|
|
59
62
|
const publicPath = client.getPublicS3Path(resource, FILENAME);
|
|
60
|
-
await s3.
|
|
63
|
+
await s3.send(new client_s3_1.PutObjectCommand({
|
|
61
64
|
Bucket: bucket,
|
|
62
65
|
Key: publicPath,
|
|
63
66
|
Body: newFileContent,
|
|
@@ -65,7 +68,7 @@ const updateFile = async ({ newFileContent, resourceId, readWriteToken }) => {
|
|
|
65
68
|
ContentEncoding: "UTF-8",
|
|
66
69
|
// Remember to update "~SHARE_UPDATE.MESSAGE" message when caching time is updated.
|
|
67
70
|
CacheControl: `max-age=${config_1.DEFAULT_MAX_AGE_SECONDS}`
|
|
68
|
-
})
|
|
71
|
+
}));
|
|
69
72
|
};
|
|
70
73
|
exports.updateFile = updateFile;
|
|
71
74
|
const deleteFile = async ({ resourceId, readWriteToken }) => {
|
|
@@ -75,12 +78,15 @@ const deleteFile = async ({ resourceId, readWriteToken }) => {
|
|
|
75
78
|
// S3 configuration is based both on resource and credentials info.
|
|
76
79
|
const { bucket, region } = resource;
|
|
77
80
|
const { accessKeyId, secretAccessKey, sessionToken } = credentials;
|
|
78
|
-
const s3 = new
|
|
81
|
+
const s3 = new client_s3_1.S3Client({
|
|
82
|
+
region,
|
|
83
|
+
credentials: { accessKeyId, secretAccessKey, sessionToken }
|
|
84
|
+
});
|
|
79
85
|
const publicPath = client.getPublicS3Path(resource, FILENAME);
|
|
80
|
-
await s3.
|
|
86
|
+
await s3.send(new client_s3_1.DeleteObjectCommand({
|
|
81
87
|
Bucket: bucket,
|
|
82
88
|
Key: publicPath,
|
|
83
|
-
})
|
|
89
|
+
}));
|
|
84
90
|
};
|
|
85
91
|
exports.deleteFile = deleteFile;
|
|
86
92
|
const getBaseDocumentUrl = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-share-provider-token-service-helper.js","sourceRoot":"","sources":["../../../src/code/utils/s3-share-provider-token-service-helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"s3-share-provider-token-service-helper.js","sourceRoot":"","sources":["../../../src/code/utils/s3-share-provider-token-service-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
// http://stackoverflow.com/a/2880929
|
|
5
4
|
var urlParams = {};
|
|
6
|
-
if (
|
|
5
|
+
if (window?.location?.search) {
|
|
7
6
|
(window.onpopstate = popState)();
|
|
8
7
|
}
|
|
9
8
|
function popState() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-params.js","sourceRoot":"","sources":["../../../src/code/utils/url-params.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"url-params.js","sourceRoot":"","sources":["../../../src/code/utils/url-params.ts"],"names":[],"mappings":";;AAAA,qCAAqC;AACrC,IAAI,SAAS,GAA2B,EAAE,CAAA;AAC1C,IAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAClC,CAAC;AAED,SAAS,QAAQ;IACf,IAAI,KAAK,EACL,EAAE,GAAO,KAAK,EAAG,mDAAmD;IACpE,MAAM,GAAG,oBAAoB,EAC7B,MAAM,GAAG,UAAU,CAAM,IAAI,OAAO,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC,EAC5E,KAAK,GAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAEhD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,kBAAe,SAAS,CAAA"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface AlertDialogViewProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
message: string;
|
|
5
|
+
callback?: () => void;
|
|
6
|
+
close?: () => void;
|
|
7
|
+
}
|
|
8
|
+
declare const AlertDialogView: React.FC<AlertDialogViewProps>;
|
|
9
|
+
export default AlertDialogView;
|
|
@@ -1,32 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// TODO: This file was created by bulk-decaffeinate.
|
|
3
|
-
// Sanity-check the conversion and remove this comment.
|
|
4
|
-
/*
|
|
5
|
-
* decaffeinate suggestions:
|
|
6
|
-
* DS102: Remove unnecessary code created because of implicit returns
|
|
7
|
-
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
|
8
|
-
*/
|
|
9
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
4
|
};
|
|
12
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
const
|
|
14
|
-
const react_dom_factories_1 = __importDefault(require("react-dom-factories"));
|
|
15
|
-
const create_react_factory_1 = require("../create-react-factory");
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
7
|
const modal_dialog_view_1 = __importDefault(require("./modal-dialog-view"));
|
|
17
8
|
const translate_1 = __importDefault(require("../utils/translate"));
|
|
18
|
-
const {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return (typeof this.props.callback === 'function' ? this.props.callback() : undefined);
|
|
27
|
-
},
|
|
28
|
-
render() {
|
|
29
|
-
return (ModalDialog({ title: this.props.title || ((0, translate_1.default)('~ALERT_DIALOG.TITLE')), close: this.close, zIndex: 500 }, (div({ className: 'alert-dialog' }, (div({ className: 'alert-dialog-message', dangerouslySetInnerHTML: { __html: this.props.message } })), (div({ className: 'buttons' }, (button({ onClick: this.close }, (0, translate_1.default)('~ALERT_DIALOG.CLOSE')))))))));
|
|
30
|
-
}
|
|
31
|
-
});
|
|
9
|
+
const AlertDialogView = ({ title, message, callback, close }) => {
|
|
10
|
+
const handleClose = () => {
|
|
11
|
+
close?.();
|
|
12
|
+
callback?.();
|
|
13
|
+
};
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(modal_dialog_view_1.default, { title: title || (0, translate_1.default)('~ALERT_DIALOG.TITLE'), close: handleClose, zIndex: 500, children: (0, jsx_runtime_1.jsxs)("div", { className: "alert-dialog", children: [(0, jsx_runtime_1.jsx)("div", { className: "alert-dialog-message", dangerouslySetInnerHTML: { __html: message } }), (0, jsx_runtime_1.jsx)("div", { className: "buttons", children: (0, jsx_runtime_1.jsx)("button", { onClick: handleClose, children: (0, translate_1.default)('~ALERT_DIALOG.CLOSE') }) })] }) }));
|
|
15
|
+
};
|
|
16
|
+
exports.default = AlertDialogView;
|
|
32
17
|
//# sourceMappingURL=alert-dialog-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/alert-dialog-view.
|
|
1
|
+
{"version":3,"file":"alert-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/alert-dialog-view.tsx"],"names":[],"mappings":";;;;;;AACA,4EAAiD;AACjD,mEAAmC;AASnC,MAAM,eAAe,GAAmC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9F,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,KAAK,EAAE,EAAE,CAAA;QACT,QAAQ,EAAE,EAAE,CAAA;IACd,CAAC,CAAA;IAED,OAAO,CACL,uBAAC,2BAAe,IAAC,KAAK,EAAE,KAAK,IAAI,IAAA,mBAAE,EAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,YACzF,iCAAK,SAAS,EAAC,cAAc,aAC3B,gCAAK,SAAS,EAAC,sBAAsB,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAI,EACtF,gCAAK,SAAS,EAAC,SAAS,YACtB,mCAAQ,OAAO,EAAE,WAAW,YAAG,IAAA,mBAAE,EAAC,qBAAqB,CAAC,GAAU,GAC9D,IACF,GACU,CACnB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,eAAe,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { CloudMetadata } from "../providers/provider-interface";
|
|
3
3
|
import { CFMMenuBarOptions, CFMMenuItem, CFMShareDialogSettings, CFMUIOptions } from "../app-options";
|
|
4
|
-
import { CloudFileManagerClient } from "../client";
|
|
4
|
+
import { CloudFileManagerClient, CloudFileManagerClientEvent } from "../client";
|
|
5
|
+
import { CloudFileManagerUIEvent } from "../ui";
|
|
5
6
|
import { SelectInteractiveStateDialogProps } from "./select-interactive-state-dialog-view";
|
|
6
7
|
interface IAppViewProps {
|
|
7
8
|
client?: CloudFileManagerClient;
|
|
@@ -36,14 +37,20 @@ interface IAppViewState {
|
|
|
36
37
|
declare class AppView extends React.Component<IAppViewProps, IAppViewState> {
|
|
37
38
|
displayName: string;
|
|
38
39
|
state: IAppViewState;
|
|
39
|
-
constructor(props:
|
|
40
|
-
getFilename(metadata
|
|
40
|
+
constructor(props: IAppViewProps);
|
|
41
|
+
getFilename(metadata?: CloudMetadata): string;
|
|
42
|
+
getFileStatus(event: CloudFileManagerClientEvent): {
|
|
43
|
+
message: string;
|
|
44
|
+
type: string;
|
|
45
|
+
} | undefined;
|
|
46
|
+
handleUIEvent(event: CloudFileManagerUIEvent): void;
|
|
41
47
|
componentDidMount(): void;
|
|
42
48
|
_getMenuItemIndex: (key: string) => number;
|
|
43
49
|
closeDialogs: () => void;
|
|
44
50
|
closeAlert: () => void;
|
|
45
51
|
closeConfirm: () => void;
|
|
46
|
-
renderDialogs: () =>
|
|
47
|
-
|
|
52
|
+
renderDialogs: () => JSX.Element;
|
|
53
|
+
componentWillUnmount(): void;
|
|
54
|
+
render(): JSX.Element;
|
|
48
55
|
}
|
|
49
56
|
export default AppView;
|