@concord-consortium/cloud-file-manager 2.0.0-pre.1
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/autolaunch/autolaunch.css +220 -0
- package/dist/autolaunch/autolaunch.html +133 -0
- package/dist/autolaunch/autolaunch.js +3 -0
- package/dist/autolaunch/autolaunch.js.LICENSE.txt +16 -0
- package/dist/autolaunch/autolaunch.js.map +1 -0
- package/dist/cjs/app-options.d.ts +118 -0
- package/dist/cjs/app-options.js +6 -0
- package/dist/cjs/app-options.js.map +1 -0
- package/dist/cjs/client.d.ts +165 -0
- package/dist/cjs/client.js +1391 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/cloud-file-manager.d.ts +16 -0
- package/dist/cjs/cloud-file-manager.js +79 -0
- package/dist/cjs/cloud-file-manager.js.map +1 -0
- package/dist/cjs/create-react-factory.d.ts +3 -0
- package/dist/cjs/create-react-factory.js +14 -0
- package/dist/cjs/create-react-factory.js.map +1 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/file-saver.d.ts +2 -0
- package/dist/cjs/lib/file-saver.js +164 -0
- package/dist/cjs/lib/file-saver.js.map +1 -0
- package/dist/cjs/providers/document-store-provider.d.ts +48 -0
- package/dist/cjs/providers/document-store-provider.js +541 -0
- package/dist/cjs/providers/document-store-provider.js.map +1 -0
- package/dist/cjs/providers/document-store-share-provider.d.ts +17 -0
- package/dist/cjs/providers/document-store-share-provider.js +126 -0
- package/dist/cjs/providers/document-store-share-provider.js.map +1 -0
- package/dist/cjs/providers/document-store-url.d.ts +32 -0
- package/dist/cjs/providers/document-store-url.js +75 -0
- package/dist/cjs/providers/document-store-url.js.map +1 -0
- package/dist/cjs/providers/google-drive-provider.d.ts +75 -0
- package/dist/cjs/providers/google-drive-provider.js +684 -0
- package/dist/cjs/providers/google-drive-provider.js.map +1 -0
- package/dist/cjs/providers/interactive-api-provider.d.ts +55 -0
- package/dist/cjs/providers/interactive-api-provider.js +382 -0
- package/dist/cjs/providers/interactive-api-provider.js.map +1 -0
- package/dist/cjs/providers/lara-provider.d.ts +47 -0
- package/dist/cjs/providers/lara-provider.js +547 -0
- package/dist/cjs/providers/lara-provider.js.map +1 -0
- package/dist/cjs/providers/legacy-google-drive-provider.d.ts +74 -0
- package/dist/cjs/providers/legacy-google-drive-provider.js +600 -0
- package/dist/cjs/providers/legacy-google-drive-provider.js.map +1 -0
- package/dist/cjs/providers/local-file-provider.d.ts +16 -0
- package/dist/cjs/providers/local-file-provider.js +65 -0
- package/dist/cjs/providers/local-file-provider.js.map +1 -0
- package/dist/cjs/providers/localstorage-provider.d.ts +20 -0
- package/dist/cjs/providers/localstorage-provider.js +122 -0
- package/dist/cjs/providers/localstorage-provider.js.map +1 -0
- package/dist/cjs/providers/patchable-content.d.ts +16 -0
- package/dist/cjs/providers/patchable-content.js +65 -0
- package/dist/cjs/providers/patchable-content.js.map +1 -0
- package/dist/cjs/providers/post-message-provider.d.ts +12 -0
- package/dist/cjs/providers/post-message-provider.js +39 -0
- package/dist/cjs/providers/post-message-provider.js.map +1 -0
- package/dist/cjs/providers/provider-interface.d.ts +168 -0
- package/dist/cjs/providers/provider-interface.js +399 -0
- package/dist/cjs/providers/provider-interface.js.map +1 -0
- package/dist/cjs/providers/readonly-provider.d.ts +22 -0
- package/dist/cjs/providers/readonly-provider.js +303 -0
- package/dist/cjs/providers/readonly-provider.js.map +1 -0
- package/dist/cjs/providers/s3-provider.d.ts +14 -0
- package/dist/cjs/providers/s3-provider.js +109 -0
- package/dist/cjs/providers/s3-provider.js.map +1 -0
- package/dist/cjs/providers/s3-share-provider.d.ts +18 -0
- package/dist/cjs/providers/s3-share-provider.js +124 -0
- package/dist/cjs/providers/s3-share-provider.js.map +1 -0
- package/dist/cjs/providers/share-provider-interface.d.ts +15 -0
- package/dist/cjs/providers/share-provider-interface.js +3 -0
- package/dist/cjs/providers/share-provider-interface.js.map +1 -0
- package/dist/cjs/providers/test-provider.d.ts +26 -0
- package/dist/cjs/providers/test-provider.js +73 -0
- package/dist/cjs/providers/test-provider.js.map +1 -0
- package/dist/cjs/providers/url-provider.d.ts +13 -0
- package/dist/cjs/providers/url-provider.js +58 -0
- package/dist/cjs/providers/url-provider.js.map +1 -0
- package/dist/cjs/ui.d.ts +51 -0
- package/dist/cjs/ui.js +216 -0
- package/dist/cjs/ui.js.map +1 -0
- package/dist/cjs/utils/config.d.ts +6 -0
- package/dist/cjs/utils/config.js +10 -0
- package/dist/cjs/utils/config.js.map +1 -0
- package/dist/cjs/utils/get-hash-param.d.ts +1 -0
- package/dist/cjs/utils/get-hash-param.js +24 -0
- package/dist/cjs/utils/get-hash-param.js.map +1 -0
- package/dist/cjs/utils/get-query-param.d.ts +1 -0
- package/dist/cjs/utils/get-query-param.js +23 -0
- package/dist/cjs/utils/get-query-param.js.map +1 -0
- package/dist/cjs/utils/is-array.d.ts +2 -0
- package/dist/cjs/utils/is-array.js +4 -0
- package/dist/cjs/utils/is-array.js.map +1 -0
- package/dist/cjs/utils/is-empty-object.d.ts +1 -0
- package/dist/cjs/utils/is-empty-object.js +7 -0
- package/dist/cjs/utils/is-empty-object.js.map +1 -0
- package/dist/cjs/utils/is-string.d.ts +2 -0
- package/dist/cjs/utils/is-string.js +4 -0
- package/dist/cjs/utils/is-string.js.map +1 -0
- package/dist/cjs/utils/lang/de.json +156 -0
- package/dist/cjs/utils/lang/el.json +156 -0
- package/dist/cjs/utils/lang/en-US.json +156 -0
- package/dist/cjs/utils/lang/es.json +156 -0
- package/dist/cjs/utils/lang/fa.json +156 -0
- package/dist/cjs/utils/lang/he.json +156 -0
- package/dist/cjs/utils/lang/ja.json +156 -0
- package/dist/cjs/utils/lang/ko.json +156 -0
- package/dist/cjs/utils/lang/nb.json +156 -0
- package/dist/cjs/utils/lang/nn.json +156 -0
- package/dist/cjs/utils/lang/pl.json +156 -0
- package/dist/cjs/utils/lang/pt-BR.json +156 -0
- package/dist/cjs/utils/lang/th.json +156 -0
- package/dist/cjs/utils/lang/tr.json +156 -0
- package/dist/cjs/utils/lang/zh-Hans.json +156 -0
- package/dist/cjs/utils/lang/zh-TW.json +156 -0
- package/dist/cjs/utils/report-error.d.ts +1 -0
- package/dist/cjs/utils/report-error.js +10 -0
- package/dist/cjs/utils/report-error.js.map +1 -0
- package/dist/cjs/utils/s3-share-provider-token-service-helper.d.ts +21 -0
- package/dist/cjs/utils/s3-share-provider-token-service-helper.js +97 -0
- package/dist/cjs/utils/s3-share-provider-token-service-helper.js.map +1 -0
- package/dist/cjs/utils/translate.d.ts +3 -0
- package/dist/cjs/utils/translate.js +108 -0
- package/dist/cjs/utils/translate.js.map +1 -0
- package/dist/cjs/utils/url-params.d.ts +2 -0
- package/dist/cjs/utils/url-params.js +16 -0
- package/dist/cjs/utils/url-params.js.map +1 -0
- package/dist/cjs/views/alert-dialog-view.d.ts +3 -0
- package/dist/cjs/views/alert-dialog-view.js +32 -0
- package/dist/cjs/views/alert-dialog-view.js.map +1 -0
- package/dist/cjs/views/app-view.d.ts +49 -0
- package/dist/cjs/views/app-view.js +272 -0
- package/dist/cjs/views/app-view.js.map +1 -0
- package/dist/cjs/views/authorize-mixin.d.ts +10 -0
- package/dist/cjs/views/authorize-mixin.js +69 -0
- package/dist/cjs/views/authorize-mixin.js.map +1 -0
- package/dist/cjs/views/blocking-modal-view.d.ts +3 -0
- package/dist/cjs/views/blocking-modal-view.js +32 -0
- package/dist/cjs/views/blocking-modal-view.js.map +1 -0
- package/dist/cjs/views/confirm-dialog-view.d.ts +3 -0
- package/dist/cjs/views/confirm-dialog-view.js +40 -0
- package/dist/cjs/views/confirm-dialog-view.js.map +1 -0
- package/dist/cjs/views/download-dialog-view.d.ts +3 -0
- package/dist/cjs/views/download-dialog-view.js +79 -0
- package/dist/cjs/views/download-dialog-view.js.map +1 -0
- package/dist/cjs/views/dropdown-anchors.d.ts +4 -0
- package/dist/cjs/views/dropdown-anchors.js +17 -0
- package/dist/cjs/views/dropdown-anchors.js.map +1 -0
- package/dist/cjs/views/dropdown-view.d.ts +3 -0
- package/dist/cjs/views/dropdown-view.js +152 -0
- package/dist/cjs/views/dropdown-view.js.map +1 -0
- package/dist/cjs/views/file-dialog-tab-view.d.ts +3 -0
- package/dist/cjs/views/file-dialog-tab-view.js +405 -0
- package/dist/cjs/views/file-dialog-tab-view.js.map +1 -0
- package/dist/cjs/views/icons/spin.d.ts +5 -0
- package/dist/cjs/views/icons/spin.js +46 -0
- package/dist/cjs/views/icons/spin.js.map +1 -0
- package/dist/cjs/views/import-tabbed-dialog-view.d.ts +3 -0
- package/dist/cjs/views/import-tabbed-dialog-view.js +78 -0
- package/dist/cjs/views/import-tabbed-dialog-view.js.map +1 -0
- package/dist/cjs/views/local-file-tab-list-view.d.ts +3 -0
- package/dist/cjs/views/local-file-tab-list-view.js +84 -0
- package/dist/cjs/views/local-file-tab-list-view.js.map +1 -0
- package/dist/cjs/views/local-file-tab-save-view.d.ts +3 -0
- package/dist/cjs/views/local-file-tab-save-view.js +157 -0
- package/dist/cjs/views/local-file-tab-save-view.js.map +1 -0
- package/dist/cjs/views/menu-bar-view.d.ts +3 -0
- package/dist/cjs/views/menu-bar-view.js +201 -0
- package/dist/cjs/views/menu-bar-view.js.map +1 -0
- package/dist/cjs/views/modal-dialog-view.d.ts +8 -0
- package/dist/cjs/views/modal-dialog-view.js +18 -0
- package/dist/cjs/views/modal-dialog-view.js.map +1 -0
- package/dist/cjs/views/modal-tabbed-dialog-view.d.ts +3 -0
- package/dist/cjs/views/modal-tabbed-dialog-view.js +25 -0
- package/dist/cjs/views/modal-tabbed-dialog-view.js.map +1 -0
- package/dist/cjs/views/modal-view.d.ts +36 -0
- package/dist/cjs/views/modal-view.js +70 -0
- package/dist/cjs/views/modal-view.js.map +1 -0
- package/dist/cjs/views/provider-tabbed-dialog-view.d.ts +3 -0
- package/dist/cjs/views/provider-tabbed-dialog-view.js +67 -0
- package/dist/cjs/views/provider-tabbed-dialog-view.js.map +1 -0
- package/dist/cjs/views/rename-dialog-view.d.ts +3 -0
- package/dist/cjs/views/rename-dialog-view.js +60 -0
- package/dist/cjs/views/rename-dialog-view.js.map +1 -0
- package/dist/cjs/views/select-interactive-state-dialog-view.d.ts +22 -0
- package/dist/cjs/views/select-interactive-state-dialog-view.js +93 -0
- package/dist/cjs/views/select-interactive-state-dialog-view.js.map +1 -0
- package/dist/cjs/views/select-provider-dialog-tab-view.d.ts +2 -0
- package/dist/cjs/views/select-provider-dialog-tab-view.js +16 -0
- package/dist/cjs/views/select-provider-dialog-tab-view.js.map +1 -0
- package/dist/cjs/views/share-dialog-status-view.d.ts +9 -0
- package/dist/cjs/views/share-dialog-status-view.js +24 -0
- package/dist/cjs/views/share-dialog-status-view.js.map +1 -0
- package/dist/cjs/views/share-dialog-tabs-view.d.ts +45 -0
- package/dist/cjs/views/share-dialog-tabs-view.js +93 -0
- package/dist/cjs/views/share-dialog-tabs-view.js.map +1 -0
- package/dist/cjs/views/share-dialog-view.d.ts +50 -0
- package/dist/cjs/views/share-dialog-view.js +220 -0
- package/dist/cjs/views/share-dialog-view.js.map +1 -0
- package/dist/cjs/views/share-loading-view.d.ts +2 -0
- package/dist/cjs/views/share-loading-view.js +16 -0
- package/dist/cjs/views/share-loading-view.js.map +1 -0
- package/dist/cjs/views/tabbed-panel-view.d.ts +3 -0
- package/dist/cjs/views/tabbed-panel-view.js +79 -0
- package/dist/cjs/views/tabbed-panel-view.js.map +1 -0
- package/dist/cjs/views/url-tab-view.d.ts +3 -0
- package/dist/cjs/views/url-tab-view.js +67 -0
- package/dist/cjs/views/url-tab-view.js.map +1 -0
- package/dist/css/app.css +6 -0
- package/dist/css/app.css.map +1 -0
- package/dist/esm/app-options.d.ts +118 -0
- package/dist/esm/app-options.js +2 -0
- package/dist/esm/app-options.js.map +1 -0
- package/dist/esm/client.d.ts +165 -0
- package/dist/esm/client.js +1384 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/cloud-file-manager.d.ts +16 -0
- package/dist/esm/cloud-file-manager.js +72 -0
- package/dist/esm/cloud-file-manager.js.map +1 -0
- package/dist/esm/create-react-factory.d.ts +3 -0
- package/dist/esm/create-react-factory.js +6 -0
- package/dist/esm/create-react-factory.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/file-saver.d.ts +2 -0
- package/dist/esm/lib/file-saver.js +164 -0
- package/dist/esm/lib/file-saver.js.map +1 -0
- package/dist/esm/providers/document-store-provider.d.ts +48 -0
- package/dist/esm/providers/document-store-provider.js +536 -0
- package/dist/esm/providers/document-store-provider.js.map +1 -0
- package/dist/esm/providers/document-store-share-provider.d.ts +17 -0
- package/dist/esm/providers/document-store-share-provider.js +121 -0
- package/dist/esm/providers/document-store-share-provider.js.map +1 -0
- package/dist/esm/providers/document-store-url.d.ts +32 -0
- package/dist/esm/providers/document-store-url.js +73 -0
- package/dist/esm/providers/document-store-url.js.map +1 -0
- package/dist/esm/providers/google-drive-provider.d.ts +75 -0
- package/dist/esm/providers/google-drive-provider.js +656 -0
- package/dist/esm/providers/google-drive-provider.js.map +1 -0
- package/dist/esm/providers/interactive-api-provider.d.ts +55 -0
- package/dist/esm/providers/interactive-api-provider.js +374 -0
- package/dist/esm/providers/interactive-api-provider.js.map +1 -0
- package/dist/esm/providers/lara-provider.d.ts +47 -0
- package/dist/esm/providers/lara-provider.js +542 -0
- package/dist/esm/providers/lara-provider.js.map +1 -0
- package/dist/esm/providers/legacy-google-drive-provider.d.ts +74 -0
- package/dist/esm/providers/legacy-google-drive-provider.js +595 -0
- package/dist/esm/providers/legacy-google-drive-provider.js.map +1 -0
- package/dist/esm/providers/local-file-provider.d.ts +16 -0
- package/dist/esm/providers/local-file-provider.js +60 -0
- package/dist/esm/providers/local-file-provider.js.map +1 -0
- package/dist/esm/providers/localstorage-provider.d.ts +20 -0
- package/dist/esm/providers/localstorage-provider.js +117 -0
- package/dist/esm/providers/localstorage-provider.js.map +1 -0
- package/dist/esm/providers/patchable-content.d.ts +16 -0
- package/dist/esm/providers/patchable-content.js +60 -0
- package/dist/esm/providers/patchable-content.js.map +1 -0
- package/dist/esm/providers/post-message-provider.d.ts +12 -0
- package/dist/esm/providers/post-message-provider.js +34 -0
- package/dist/esm/providers/post-message-provider.js.map +1 -0
- package/dist/esm/providers/provider-interface.d.ts +168 -0
- package/dist/esm/providers/provider-interface.js +389 -0
- package/dist/esm/providers/provider-interface.js.map +1 -0
- package/dist/esm/providers/readonly-provider.d.ts +22 -0
- package/dist/esm/providers/readonly-provider.js +298 -0
- package/dist/esm/providers/readonly-provider.js.map +1 -0
- package/dist/esm/providers/s3-provider.d.ts +14 -0
- package/dist/esm/providers/s3-provider.js +104 -0
- package/dist/esm/providers/s3-provider.js.map +1 -0
- package/dist/esm/providers/s3-share-provider.d.ts +18 -0
- package/dist/esm/providers/s3-share-provider.js +122 -0
- package/dist/esm/providers/s3-share-provider.js.map +1 -0
- package/dist/esm/providers/share-provider-interface.d.ts +15 -0
- package/dist/esm/providers/share-provider-interface.js +2 -0
- package/dist/esm/providers/share-provider-interface.js.map +1 -0
- package/dist/esm/providers/test-provider.d.ts +26 -0
- package/dist/esm/providers/test-provider.js +71 -0
- package/dist/esm/providers/test-provider.js.map +1 -0
- package/dist/esm/providers/url-provider.d.ts +13 -0
- package/dist/esm/providers/url-provider.js +53 -0
- package/dist/esm/providers/url-provider.js.map +1 -0
- package/dist/esm/ui.d.ts +51 -0
- package/dist/esm/ui.js +208 -0
- package/dist/esm/ui.js.map +1 -0
- package/dist/esm/utils/config.d.ts +6 -0
- package/dist/esm/utils/config.js +6 -0
- package/dist/esm/utils/config.js.map +1 -0
- package/dist/esm/utils/get-hash-param.d.ts +1 -0
- package/dist/esm/utils/get-hash-param.js +21 -0
- package/dist/esm/utils/get-hash-param.js.map +1 -0
- package/dist/esm/utils/get-query-param.d.ts +1 -0
- package/dist/esm/utils/get-query-param.js +20 -0
- package/dist/esm/utils/get-query-param.js.map +1 -0
- package/dist/esm/utils/is-array.d.ts +2 -0
- package/dist/esm/utils/is-array.js +2 -0
- package/dist/esm/utils/is-array.js.map +1 -0
- package/dist/esm/utils/is-empty-object.d.ts +1 -0
- package/dist/esm/utils/is-empty-object.js +3 -0
- package/dist/esm/utils/is-empty-object.js.map +1 -0
- package/dist/esm/utils/is-string.d.ts +2 -0
- package/dist/esm/utils/is-string.js +2 -0
- package/dist/esm/utils/is-string.js.map +1 -0
- package/dist/esm/utils/lang/de.json +156 -0
- package/dist/esm/utils/lang/el.json +156 -0
- package/dist/esm/utils/lang/en-US.json +156 -0
- package/dist/esm/utils/lang/es.json +156 -0
- package/dist/esm/utils/lang/fa.json +156 -0
- package/dist/esm/utils/lang/he.json +156 -0
- package/dist/esm/utils/lang/ja.json +156 -0
- package/dist/esm/utils/lang/ko.json +156 -0
- package/dist/esm/utils/lang/nb.json +156 -0
- package/dist/esm/utils/lang/nn.json +156 -0
- package/dist/esm/utils/lang/pl.json +156 -0
- package/dist/esm/utils/lang/pt-BR.json +156 -0
- package/dist/esm/utils/lang/th.json +156 -0
- package/dist/esm/utils/lang/tr.json +156 -0
- package/dist/esm/utils/lang/zh-Hans.json +156 -0
- package/dist/esm/utils/lang/zh-TW.json +156 -0
- package/dist/esm/utils/report-error.d.ts +1 -0
- package/dist/esm/utils/report-error.js +6 -0
- package/dist/esm/utils/report-error.js.map +1 -0
- package/dist/esm/utils/s3-share-provider-token-service-helper.d.ts +21 -0
- package/dist/esm/utils/s3-share-provider-token-service-helper.js +87 -0
- package/dist/esm/utils/s3-share-provider-token-service-helper.js.map +1 -0
- package/dist/esm/utils/translate.d.ts +3 -0
- package/dist/esm/utils/translate.js +101 -0
- package/dist/esm/utils/translate.js.map +1 -0
- package/dist/esm/utils/url-params.d.ts +2 -0
- package/dist/esm/utils/url-params.js +14 -0
- package/dist/esm/utils/url-params.js.map +1 -0
- package/dist/esm/views/alert-dialog-view.d.ts +3 -0
- package/dist/esm/views/alert-dialog-view.js +27 -0
- package/dist/esm/views/alert-dialog-view.js.map +1 -0
- package/dist/esm/views/app-view.d.ts +49 -0
- package/dist/esm/views/app-view.js +267 -0
- package/dist/esm/views/app-view.js.map +1 -0
- package/dist/esm/views/authorize-mixin.d.ts +10 -0
- package/dist/esm/views/authorize-mixin.js +67 -0
- package/dist/esm/views/authorize-mixin.js.map +1 -0
- package/dist/esm/views/blocking-modal-view.d.ts +3 -0
- package/dist/esm/views/blocking-modal-view.js +27 -0
- package/dist/esm/views/blocking-modal-view.js.map +1 -0
- package/dist/esm/views/confirm-dialog-view.d.ts +3 -0
- package/dist/esm/views/confirm-dialog-view.js +35 -0
- package/dist/esm/views/confirm-dialog-view.js.map +1 -0
- package/dist/esm/views/download-dialog-view.d.ts +3 -0
- package/dist/esm/views/download-dialog-view.js +74 -0
- package/dist/esm/views/download-dialog-view.js.map +1 -0
- package/dist/esm/views/dropdown-anchors.d.ts +4 -0
- package/dist/esm/views/dropdown-anchors.js +10 -0
- package/dist/esm/views/dropdown-anchors.js.map +1 -0
- package/dist/esm/views/dropdown-view.d.ts +3 -0
- package/dist/esm/views/dropdown-view.js +147 -0
- package/dist/esm/views/dropdown-view.js.map +1 -0
- package/dist/esm/views/file-dialog-tab-view.d.ts +3 -0
- package/dist/esm/views/file-dialog-tab-view.js +400 -0
- package/dist/esm/views/file-dialog-tab-view.js.map +1 -0
- package/dist/esm/views/icons/spin.d.ts +5 -0
- package/dist/esm/views/icons/spin.js +39 -0
- package/dist/esm/views/icons/spin.js.map +1 -0
- package/dist/esm/views/import-tabbed-dialog-view.d.ts +3 -0
- package/dist/esm/views/import-tabbed-dialog-view.js +73 -0
- package/dist/esm/views/import-tabbed-dialog-view.js.map +1 -0
- package/dist/esm/views/local-file-tab-list-view.d.ts +3 -0
- package/dist/esm/views/local-file-tab-list-view.js +79 -0
- package/dist/esm/views/local-file-tab-list-view.js.map +1 -0
- package/dist/esm/views/local-file-tab-save-view.d.ts +3 -0
- package/dist/esm/views/local-file-tab-save-view.js +152 -0
- package/dist/esm/views/local-file-tab-save-view.js.map +1 -0
- package/dist/esm/views/menu-bar-view.d.ts +3 -0
- package/dist/esm/views/menu-bar-view.js +196 -0
- package/dist/esm/views/menu-bar-view.js.map +1 -0
- package/dist/esm/views/modal-dialog-view.d.ts +8 -0
- package/dist/esm/views/modal-dialog-view.js +13 -0
- package/dist/esm/views/modal-dialog-view.js.map +1 -0
- package/dist/esm/views/modal-tabbed-dialog-view.d.ts +3 -0
- package/dist/esm/views/modal-tabbed-dialog-view.js +20 -0
- package/dist/esm/views/modal-tabbed-dialog-view.js.map +1 -0
- package/dist/esm/views/modal-view.d.ts +36 -0
- package/dist/esm/views/modal-view.js +64 -0
- package/dist/esm/views/modal-view.js.map +1 -0
- package/dist/esm/views/provider-tabbed-dialog-view.d.ts +3 -0
- package/dist/esm/views/provider-tabbed-dialog-view.js +62 -0
- package/dist/esm/views/provider-tabbed-dialog-view.js.map +1 -0
- package/dist/esm/views/rename-dialog-view.d.ts +3 -0
- package/dist/esm/views/rename-dialog-view.js +55 -0
- package/dist/esm/views/rename-dialog-view.js.map +1 -0
- package/dist/esm/views/select-interactive-state-dialog-view.d.ts +22 -0
- package/dist/esm/views/select-interactive-state-dialog-view.js +87 -0
- package/dist/esm/views/select-interactive-state-dialog-view.js.map +1 -0
- package/dist/esm/views/select-provider-dialog-tab-view.d.ts +2 -0
- package/dist/esm/views/select-provider-dialog-tab-view.js +11 -0
- package/dist/esm/views/select-provider-dialog-tab-view.js.map +1 -0
- package/dist/esm/views/share-dialog-status-view.d.ts +9 -0
- package/dist/esm/views/share-dialog-status-view.js +17 -0
- package/dist/esm/views/share-dialog-status-view.js.map +1 -0
- package/dist/esm/views/share-dialog-tabs-view.d.ts +45 -0
- package/dist/esm/views/share-dialog-tabs-view.js +83 -0
- package/dist/esm/views/share-dialog-tabs-view.js.map +1 -0
- package/dist/esm/views/share-dialog-view.d.ts +50 -0
- package/dist/esm/views/share-dialog-view.js +214 -0
- package/dist/esm/views/share-dialog-view.js.map +1 -0
- package/dist/esm/views/share-loading-view.d.ts +2 -0
- package/dist/esm/views/share-loading-view.js +9 -0
- package/dist/esm/views/share-loading-view.js.map +1 -0
- package/dist/esm/views/tabbed-panel-view.d.ts +3 -0
- package/dist/esm/views/tabbed-panel-view.js +74 -0
- package/dist/esm/views/tabbed-panel-view.js.map +1 -0
- package/dist/esm/views/url-tab-view.d.ts +3 -0
- package/dist/esm/views/url-tab-view.js +62 -0
- package/dist/esm/views/url-tab-view.js.map +1 -0
- package/dist/examples/all-providers-react-18.html +74 -0
- package/dist/examples/all-providers.html +61 -0
- package/dist/examples/auto-saving.html +50 -0
- package/dist/examples/client-logging-provider.html +107 -0
- package/dist/examples/close-file.html +63 -0
- package/dist/examples/deprecate-phase-one.html +60 -0
- package/dist/examples/deprecate-phase-three.html +60 -0
- package/dist/examples/deprecate-phase-two.html +60 -0
- package/dist/examples/enable-demo-extension.html +52 -0
- package/dist/examples/enable-lara-sharing.html +51 -0
- package/dist/examples/example-app/index.html +133 -0
- package/dist/examples/hide-hamburger-2.html +55 -0
- package/dist/examples/hide-hamburger.html +34 -0
- package/dist/examples/index.html +40 -0
- package/dist/examples/interactive-api-provider.html +27 -0
- package/dist/examples/language-menu.html +86 -0
- package/dist/examples/lara-provider.html +52 -0
- package/dist/examples/load-url-query-param.html +54 -0
- package/dist/examples/menu-madness.html +67 -0
- package/dist/examples/new-does-not-use-new-tab.html +47 -0
- package/dist/examples/no-flag-language-menu.html +86 -0
- package/dist/examples/no-frame.html +130 -0
- package/dist/examples/no-shared-google-drives.html +47 -0
- package/dist/examples/read-only-with-folders.html +120 -0
- package/dist/examples/show-close-confirm.html +47 -0
- package/dist/examples/splash-screen.html +70 -0
- package/dist/examples/view-no-frame-nowrap.html +167 -0
- package/dist/examples/view-no-frame.html +129 -0
- package/dist/favicon.ico +0 -0
- package/dist/fonts/CodapIvy.eot +0 -0
- package/dist/fonts/CodapIvy.svg +61 -0
- package/dist/fonts/CodapIvy.ttf +0 -0
- package/dist/fonts/CodapIvy.woff +0 -0
- package/dist/fonts/Montserrat-Bold.otf +0 -0
- package/dist/fonts/Montserrat-Regular.otf +0 -0
- package/dist/fonts/MuseoSans_500.otf +0 -0
- package/dist/fonts/MuseoSans_500_Italic.otf +0 -0
- package/dist/fonts/icon-menu.eot +0 -0
- package/dist/fonts/icon-menu.svg +24 -0
- package/dist/fonts/icon-menu.ttf +0 -0
- package/dist/fonts/icon-menu.woff +0 -0
- package/dist/img/bb-chrome/arrow-collapse.svg +8 -0
- package/dist/img/bb-chrome/arrow-expand.svg +8 -0
- package/dist/img/bb-chrome/bg-horiz.png +0 -0
- package/dist/img/bb-chrome/btn-nodeLink.svg +298 -0
- package/dist/img/bb-chrome/chevron-down.png +0 -0
- package/dist/img/bb-chrome/chevron-left.png +0 -0
- package/dist/img/bb-chrome/chevron-right.png +0 -0
- package/dist/img/bb-chrome/chevron-up.png +0 -0
- package/dist/img/bb-chrome/global-nav-bg.png +0 -0
- package/dist/img/bb-chrome/icon-checkmark.svg +10 -0
- package/dist/img/bb-chrome/slider.svg +286 -0
- package/dist/img/bb-chrome/spin.svg +54 -0
- package/dist/img/concord-logo.png +0 -0
- package/dist/img/debug/grid.jpg +0 -0
- package/dist/img/document-store-16.png +0 -0
- package/dist/img/earth.svg +48 -0
- package/dist/img/flags.png +0 -0
- package/dist/img/fullscreen-dark.svg +22 -0
- package/dist/img/fullscreen-exit-dark.svg +22 -0
- package/dist/img/fullscreen-exit.svg +22 -0
- package/dist/img/fullscreen.svg +22 -0
- package/dist/img/google-drive-16.png +0 -0
- package/dist/img/google-drive-logo.png +0 -0
- package/dist/img/loading.gif +0 -0
- package/dist/index.html +21 -0
- package/dist/js/app.js +3 -0
- package/dist/js/app.js.LICENSE.txt +287 -0
- package/dist/js/app.js.map +1 -0
- package/dist/js/globals.js +3 -0
- package/dist/js/globals.js.LICENSE.txt +52 -0
- package/dist/js/globals.js.map +1 -0
- package/license.md +21 -0
- package/package.json +127 -0
- package/readme.md +275 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Spinner = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const Spinner = ({ size = 100, fill = "#000" }) => {
|
|
9
|
+
return (react_1.default.createElement("svg", { width: `${size}px`, height: `${size}px`, xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${size} ${size}`, preserveAspectRatio: "xMidYMid", className: "uil-spin" },
|
|
10
|
+
react_1.default.createElement("rect", { x: "0", y: "0", width: size, height: size, fill: "none", className: "bk" }),
|
|
11
|
+
react_1.default.createElement("g", { transform: "translate(50 50)" },
|
|
12
|
+
react_1.default.createElement("g", { transform: "rotate(0) translate(34 0)" },
|
|
13
|
+
react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
|
|
14
|
+
react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0s", dur: "1s", repeatCount: "indefinite" }),
|
|
15
|
+
react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0s", dur: "1s", repeatCount: "indefinite" }))),
|
|
16
|
+
react_1.default.createElement("g", { transform: "rotate(45) translate(34 0)" },
|
|
17
|
+
react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
|
|
18
|
+
react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.12s", dur: "1s", repeatCount: "indefinite" }),
|
|
19
|
+
react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.12s", dur: "1s", repeatCount: "indefinite" }))),
|
|
20
|
+
react_1.default.createElement("g", { transform: "rotate(90) translate(34 0)" },
|
|
21
|
+
react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
|
|
22
|
+
react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.25s", dur: "1s", repeatCount: "indefinite" }),
|
|
23
|
+
react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.25s", dur: "1s", repeatCount: "indefinite" }))),
|
|
24
|
+
react_1.default.createElement("g", { transform: "rotate(135) translate(34 0)" },
|
|
25
|
+
react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
|
|
26
|
+
react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.37s", dur: "1s", repeatCount: "indefinite" }),
|
|
27
|
+
react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.37s", dur: "1s", repeatCount: "indefinite" }))),
|
|
28
|
+
react_1.default.createElement("g", { transform: "rotate(180) translate(34 0)" },
|
|
29
|
+
react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
|
|
30
|
+
react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.5s", dur: "1s", repeatCount: "indefinite" }),
|
|
31
|
+
react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.5s", dur: "1s", repeatCount: "indefinite" }))),
|
|
32
|
+
react_1.default.createElement("g", { transform: "rotate(225) translate(34 0)" },
|
|
33
|
+
react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
|
|
34
|
+
react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.62s", dur: "1s", repeatCount: "indefinite" }),
|
|
35
|
+
react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.62s", dur: "1s", repeatCount: "indefinite" }))),
|
|
36
|
+
react_1.default.createElement("g", { transform: "rotate(270) translate(34 0)" },
|
|
37
|
+
react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
|
|
38
|
+
react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.75s", dur: "1s", repeatCount: "indefinite" }),
|
|
39
|
+
react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.75s", dur: "1s", repeatCount: "indefinite" }))),
|
|
40
|
+
react_1.default.createElement("g", { transform: "rotate(315) translate(34 0)" },
|
|
41
|
+
react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
|
|
42
|
+
react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.87s", dur: "1s", repeatCount: "indefinite" }),
|
|
43
|
+
react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.87s", dur: "1s", repeatCount: "indefinite" }))))));
|
|
44
|
+
};
|
|
45
|
+
exports.Spinner = Spinner;
|
|
46
|
+
//# sourceMappingURL=spin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spin.js","sourceRoot":"","sources":["../../../../src/code/views/icons/spin.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
// TODO: This file was created by bulk-decaffeinate.
|
|
7
|
+
// Sanity-check the conversion and remove this comment.
|
|
8
|
+
/*
|
|
9
|
+
* decaffeinate suggestions:
|
|
10
|
+
* DS102: Remove unnecessary code created because of implicit returns
|
|
11
|
+
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
|
12
|
+
*/
|
|
13
|
+
const create_react_class_1 = __importDefault(require("create-react-class"));
|
|
14
|
+
const create_react_factory_1 = require("../create-react-factory");
|
|
15
|
+
const tabbed_panel_view_1 = __importDefault(require("./tabbed-panel-view"));
|
|
16
|
+
const translate_1 = __importDefault(require("../utils/translate"));
|
|
17
|
+
const modal_tabbed_dialog_view_1 = __importDefault(require("./modal-tabbed-dialog-view"));
|
|
18
|
+
const local_file_tab_list_view_1 = __importDefault(require("./local-file-tab-list-view"));
|
|
19
|
+
const url_tab_view_1 = __importDefault(require("./url-tab-view"));
|
|
20
|
+
const ModalTabbedDialog = (0, create_react_factory_1.createReactFactory)(modal_tabbed_dialog_view_1.default);
|
|
21
|
+
const LocalFileTab = (0, create_react_factory_1.createReactFactory)(local_file_tab_list_view_1.default);
|
|
22
|
+
const UrlTab = (0, create_react_factory_1.createReactFactory)(url_tab_view_1.default);
|
|
23
|
+
exports.default = (0, create_react_class_1.default)({
|
|
24
|
+
displayName: 'ImportTabbedDialog',
|
|
25
|
+
importFile(metadata, via) {
|
|
26
|
+
switch (metadata.provider) {
|
|
27
|
+
case 'localFile':
|
|
28
|
+
var reader = new FileReader();
|
|
29
|
+
reader.onload = loaded => {
|
|
30
|
+
const data = {
|
|
31
|
+
file: {
|
|
32
|
+
name: metadata.providerData.file.name,
|
|
33
|
+
content: loaded.target.result,
|
|
34
|
+
object: metadata.providerData.file
|
|
35
|
+
},
|
|
36
|
+
via
|
|
37
|
+
};
|
|
38
|
+
return (typeof this.props.dialog.callback === 'function' ? this.props.dialog.callback(data) : undefined);
|
|
39
|
+
};
|
|
40
|
+
return reader.readAsText(metadata.providerData.file);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
importUrl(url, via) {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
return (_b = (_a = this.props.dialog).callback) === null || _b === void 0 ? void 0 : _b.call(_a, { url, via });
|
|
46
|
+
},
|
|
47
|
+
render() {
|
|
48
|
+
const tabs = [
|
|
49
|
+
// "static" functions defined in the "statics" property don't get typed appropriately
|
|
50
|
+
tabbed_panel_view_1.default.Tab({
|
|
51
|
+
key: 0,
|
|
52
|
+
label: ((0, translate_1.default)("~IMPORT.LOCAL_FILE")),
|
|
53
|
+
component: LocalFileTab({
|
|
54
|
+
client: this.props.client,
|
|
55
|
+
dialog: {
|
|
56
|
+
callback: this.importFile
|
|
57
|
+
},
|
|
58
|
+
provider: 'localFile', // we are faking the provider here so we can reuse the local file tab
|
|
59
|
+
close: this.props.close
|
|
60
|
+
})
|
|
61
|
+
}),
|
|
62
|
+
// "static" functions defined in the "statics" property don't get typed appropriately
|
|
63
|
+
tabbed_panel_view_1.default.Tab({
|
|
64
|
+
key: 1,
|
|
65
|
+
label: ((0, translate_1.default)("~IMPORT.URL")),
|
|
66
|
+
component: UrlTab({
|
|
67
|
+
client: this.props.client,
|
|
68
|
+
dialog: {
|
|
69
|
+
callback: this.importUrl
|
|
70
|
+
},
|
|
71
|
+
close: this.props.close
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
];
|
|
75
|
+
return (ModalTabbedDialog({ title: ((0, translate_1.default)("~DIALOG.IMPORT_DATA")), close: this.props.close, tabs, selectedTabIndex: 0 }));
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=import-tabbed-dialog-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-tabbed-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/import-tabbed-dialog-view.ts"],"names":[],"mappings":";;;;;AAAA,oDAAoD;AACpD,uDAAuD;AACvD;;;;GAIG;AACH,4EAAiD;AACjD,kEAA4D;AAC5D,4EAA8C;AAC9C,mEAAoC;AAEpC,0FAA8D;AAC9D,0FAA6D;AAC7D,kEAAuC;AAEvC,MAAM,iBAAiB,GAAG,IAAA,yCAAkB,EAAC,kCAAqB,CAAC,CAAA;AACnE,MAAM,YAAY,GAAG,IAAA,yCAAkB,EAAC,kCAAoB,CAAC,CAAA;AAC7D,MAAM,MAAM,GAAG,IAAA,yCAAkB,EAAC,sBAAU,CAAC,CAAA;AAE7C,kBAAe,IAAA,4BAAgB,EAAC;IAC9B,WAAW,EAAE,oBAAoB;IAEjC,UAAU,CAAC,QAAa,EAAE,GAAQ;QAChC,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,WAAW;gBACd,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;gBAC7B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;oBACvB,MAAM,IAAI,GAAG;wBACX,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;4BACrC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;4BAC7B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI;yBACnC;wBACD,GAAG;qBACJ,CAAA;oBACD,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBAC1G,CAAC,CAAA;gBACD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,GAAQ;;QAC7B,OAAO,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,QAAQ,mDAAG,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAA;IACjD,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG;YACX,qFAAqF;YACpF,2BAAmB,CAAC,GAAG,CAAC;gBACvB,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC,IAAA,mBAAE,EAAC,oBAAoB,CAAC,CAAC;gBACjC,SAAS,EAAE,YAAY,CAAC;oBACtB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBACzB,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI,CAAC,UAAU;qBAC1B;oBACD,QAAQ,EAAE,WAAW,EAAE,qEAAqE;oBAC5F,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;iBACxB,CAAC;aACH,CAAC;YACF,qFAAqF;YACpF,2BAAmB,CAAC,GAAG,CAAC;gBACvB,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC,IAAA,mBAAE,EAAC,aAAa,CAAC,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBACzB,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI,CAAC,SAAS;qBACzB;oBACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;iBACxB,CAAC;aACH,CAAC;SACH,CAAA;QACD,OAAO,CAAC,iBAAiB,CAAC,EAAC,KAAK,EAAE,CAAC,IAAA,mBAAE,EAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;IACtH,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
// TODO: This file was created by bulk-decaffeinate.
|
|
7
|
+
// Sanity-check the conversion and remove this comment.
|
|
8
|
+
/*
|
|
9
|
+
* decaffeinate suggestions:
|
|
10
|
+
* DS102: Remove unnecessary code created because of implicit returns
|
|
11
|
+
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
|
12
|
+
*/
|
|
13
|
+
const create_react_class_1 = __importDefault(require("create-react-class"));
|
|
14
|
+
const react_dom_factories_1 = __importDefault(require("react-dom-factories"));
|
|
15
|
+
const { div, input, button } = react_dom_factories_1.default;
|
|
16
|
+
const translate_1 = __importDefault(require("../utils/translate"));
|
|
17
|
+
const provider_interface_1 = require("../providers/provider-interface");
|
|
18
|
+
exports.default = (0, create_react_class_1.default)({
|
|
19
|
+
displayName: 'LocalFileListTab',
|
|
20
|
+
// Standard React 'drop' event handlers are triggered after client 'drop' event handlers.
|
|
21
|
+
// By explicitly installing DOM event handlers we get first crack at the 'drop' event.
|
|
22
|
+
componentDidMount() {
|
|
23
|
+
this.dropZoneRef.addEventListener('drop', this.drop);
|
|
24
|
+
},
|
|
25
|
+
componentWillUnmount() {
|
|
26
|
+
this.dropZoneRef.removeEventListener('drop', this.drop);
|
|
27
|
+
},
|
|
28
|
+
getInitialState() {
|
|
29
|
+
return { hover: false };
|
|
30
|
+
},
|
|
31
|
+
changed(e) {
|
|
32
|
+
const { files } = e.target;
|
|
33
|
+
if (files.length > 1) {
|
|
34
|
+
return this.props.client.alert((0, translate_1.default)("~LOCAL_FILE_DIALOG.MULTIPLE_FILES_SELECTED"));
|
|
35
|
+
}
|
|
36
|
+
else if (files.length === 1) {
|
|
37
|
+
return this.openFile(files[0], 'select');
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
openFile(file, via) {
|
|
41
|
+
const metadata = new provider_interface_1.CloudMetadata({
|
|
42
|
+
name: file.name.split('.')[0],
|
|
43
|
+
type: provider_interface_1.CloudMetadata.File,
|
|
44
|
+
parent: null,
|
|
45
|
+
provider: this.props.provider,
|
|
46
|
+
providerData: {
|
|
47
|
+
file
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
if (typeof this.props.dialog.callback === 'function') {
|
|
51
|
+
this.props.dialog.callback(metadata, via);
|
|
52
|
+
}
|
|
53
|
+
return this.props.close();
|
|
54
|
+
},
|
|
55
|
+
cancel() {
|
|
56
|
+
return this.props.close();
|
|
57
|
+
},
|
|
58
|
+
dragEnter(e) {
|
|
59
|
+
e.preventDefault();
|
|
60
|
+
return this.setState({ hover: true });
|
|
61
|
+
},
|
|
62
|
+
dragLeave(e) {
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
return this.setState({ hover: false });
|
|
65
|
+
},
|
|
66
|
+
drop(e) {
|
|
67
|
+
e.preventDefault();
|
|
68
|
+
e.stopPropagation();
|
|
69
|
+
const droppedFiles = e.dataTransfer ? e.dataTransfer.files : e.target.files;
|
|
70
|
+
if (droppedFiles.length > 1) {
|
|
71
|
+
this.props.client.alert((0, translate_1.default)("~LOCAL_FILE_DIALOG.MULTIPLE_FILES_DROPPED"));
|
|
72
|
+
}
|
|
73
|
+
else if (droppedFiles.length === 1) {
|
|
74
|
+
this.openFile(droppedFiles[0], 'drop');
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
render() {
|
|
78
|
+
const dropClass = `dropArea${this.state.hover ? ' dropHover' : ''}`;
|
|
79
|
+
return (div({ className: 'dialogTab localFileLoad' },
|
|
80
|
+
// 'drop' event handler installed as DOM event handler in componentDidMount()
|
|
81
|
+
(div({ ref: ((elt) => { return this.dropZoneRef = elt; }), className: dropClass, onDragEnter: this.dragEnter, onDragLeave: this.dragLeave }, ((0, translate_1.default)("~LOCAL_FILE_DIALOG.DROP_FILE_HERE")), (input({ type: 'file', onChange: this.changed })))), (div({ className: 'buttons' }, (button({ onClick: this.cancel }, ((0, translate_1.default)("~FILE_DIALOG.CANCEL"))))))));
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=local-file-tab-list-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-file-tab-list-view.js","sourceRoot":"","sources":["../../../src/code/views/local-file-tab-list-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
// TODO: This file was created by bulk-decaffeinate.
|
|
7
|
+
// Sanity-check the conversion and remove this comment.
|
|
8
|
+
/*
|
|
9
|
+
* decaffeinate suggestions:
|
|
10
|
+
* DS102: Remove unnecessary code created because of implicit returns
|
|
11
|
+
* DS103: Rewrite code to no longer use __guard__
|
|
12
|
+
* DS207: Consider shorter variations of null checks
|
|
13
|
+
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
|
14
|
+
*/
|
|
15
|
+
const create_react_class_1 = __importDefault(require("create-react-class"));
|
|
16
|
+
const react_dom_factories_1 = __importDefault(require("react-dom-factories"));
|
|
17
|
+
const { div, input, button, a } = react_dom_factories_1.default;
|
|
18
|
+
const translate_1 = __importDefault(require("../utils/translate"));
|
|
19
|
+
const provider_interface_1 = require("../providers/provider-interface");
|
|
20
|
+
const provider_interface_2 = require("../providers/provider-interface");
|
|
21
|
+
const file_saver_1 = __importDefault(require("../lib/file-saver"));
|
|
22
|
+
exports.default = (0, create_react_class_1.default)({
|
|
23
|
+
displayName: 'LocalFileSaveTab',
|
|
24
|
+
getInitialState() {
|
|
25
|
+
// If the dialog has the content to save, which occurs when saving secondary content
|
|
26
|
+
// like CSV files, then use that instead of the document content and make sure that
|
|
27
|
+
// it doesn't get modified by (for instance) trying to remove sharing metadata. To
|
|
28
|
+
// do so, we specify that we want to include the share info, which tells the client
|
|
29
|
+
// to leave the content alone.
|
|
30
|
+
const hasPropsContent = ((this.props.dialog.data != null ? this.props.dialog.data.content : undefined) != null);
|
|
31
|
+
const extension = hasPropsContent && this.props.dialog.data.extension
|
|
32
|
+
? this.props.dialog.data.extension : 'json';
|
|
33
|
+
const filename = (this.props.client.state.metadata != null ? this.props.client.state.metadata.name : undefined) || ((0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT"));
|
|
34
|
+
return {
|
|
35
|
+
filename,
|
|
36
|
+
supportsDownloadAttribute: document.createElement('a').download !== undefined,
|
|
37
|
+
downloadFilename: this.getDownloadFilename(hasPropsContent, filename, extension),
|
|
38
|
+
extension,
|
|
39
|
+
mimeType: hasPropsContent && (this.props.dialog.data.mimeType != null)
|
|
40
|
+
? this.props.dialog.data.mimeType : 'text/plain',
|
|
41
|
+
shared: this.props.client.isShared(),
|
|
42
|
+
hasPropsContent,
|
|
43
|
+
includeShareInfo: hasPropsContent,
|
|
44
|
+
gotContent: hasPropsContent,
|
|
45
|
+
content: (this.props.dialog.data != null ? this.props.dialog.data.content : undefined)
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
componentDidMount() {
|
|
49
|
+
if (!this.state.hasPropsContent) {
|
|
50
|
+
this.props.client._event('getContent', { shared: this.props.client._sharedMetadata() }, (content) => {
|
|
51
|
+
const envelopedContent = provider_interface_2.cloudContentFactory.createEnvelopedCloudContent(content);
|
|
52
|
+
__guard__(this.props.client.state != null ? this.props.client.state.currentContent : undefined, (x) => x.copyMetadataTo(envelopedContent));
|
|
53
|
+
return this.setState({
|
|
54
|
+
gotContent: true,
|
|
55
|
+
content: envelopedContent
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// Using the React onClick handler for the download button yielded odd behaviors
|
|
60
|
+
// in which the onClick handler got triggered multiple times and the default
|
|
61
|
+
// handler could not be prevented, presumably due to React's SyntheticEvent system.
|
|
62
|
+
// The solution here is to use standard browser event handlers.
|
|
63
|
+
return this.downloadRef.addEventListener('click', this.confirm);
|
|
64
|
+
},
|
|
65
|
+
componentWillUnmount() {
|
|
66
|
+
return this.downloadRef.removeEventListener('click', this.confirm);
|
|
67
|
+
},
|
|
68
|
+
filenameChanged() {
|
|
69
|
+
const filename = this.filenameRef.value;
|
|
70
|
+
return this.setState({
|
|
71
|
+
filename,
|
|
72
|
+
downloadFilename: this.getDownloadFilename(this.state.hasPropsContent, filename, this.state.extension)
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
includeShareInfoChanged() {
|
|
76
|
+
return this.setState({ includeShareInfo: this.includeShareInfoRef.checked });
|
|
77
|
+
},
|
|
78
|
+
getDownloadFilename(hasPropsContent, filename, extension) {
|
|
79
|
+
const newName = filename.replace(/^\s+|\s+$/, '');
|
|
80
|
+
if (hasPropsContent) {
|
|
81
|
+
return provider_interface_1.CloudMetadata.newExtension(newName, extension);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return provider_interface_1.CloudMetadata.withExtension(newName, extension);
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
confirm(e, simulateClick) {
|
|
88
|
+
if (!this.confirmDisabled()) {
|
|
89
|
+
if (this.state.supportsDownloadAttribute) {
|
|
90
|
+
this.downloadRef.href = this.props.client.getDownloadUrl(this.state.content, this.state.includeShareInfo, this.state.mimeType);
|
|
91
|
+
if (simulateClick) {
|
|
92
|
+
this.downloadRef.click();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const blob = this.props.client.getDownloadBlob(this.state.content, this.state.includeShareInfo, this.state.mimeType);
|
|
97
|
+
file_saver_1.default.saveAs(blob, this.state.downloadFilename, true);
|
|
98
|
+
if (e != null) {
|
|
99
|
+
e.preventDefault();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const metadata = new provider_interface_1.CloudMetadata({
|
|
103
|
+
name: this.state.downloadFilename.split('.')[0],
|
|
104
|
+
type: provider_interface_1.CloudMetadata.File,
|
|
105
|
+
parent: null,
|
|
106
|
+
provider: this.props.provider
|
|
107
|
+
});
|
|
108
|
+
this.props.dialog.callback(metadata);
|
|
109
|
+
this.props.close();
|
|
110
|
+
// return value indicates whether to trigger href
|
|
111
|
+
return this.state.supportsDownloadAttribute;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
if (e != null) {
|
|
115
|
+
e.preventDefault();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
contextMenu(e) {
|
|
120
|
+
this.downloadRef.href = this.props.client.getDownloadUrl(this.state.content, this.state.includeShareInfo, this.state.mimeType);
|
|
121
|
+
},
|
|
122
|
+
cancel() {
|
|
123
|
+
this.props.close();
|
|
124
|
+
},
|
|
125
|
+
watchForEnter(e) {
|
|
126
|
+
if ((e.keyCode === 13) && !this.confirmDisabled()) {
|
|
127
|
+
e.preventDefault();
|
|
128
|
+
e.stopPropagation();
|
|
129
|
+
this.confirm(null, true);
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
confirmDisabled() {
|
|
133
|
+
return (this.state.downloadFilename.length === 0) || !this.state.gotContent;
|
|
134
|
+
},
|
|
135
|
+
render() {
|
|
136
|
+
const confirmDisabled = this.confirmDisabled();
|
|
137
|
+
// for modern browsers
|
|
138
|
+
const downloadAnchor = (a({
|
|
139
|
+
href: '#',
|
|
140
|
+
ref: (elt) => { return this.downloadRef = elt; },
|
|
141
|
+
className: (confirmDisabled ? 'disabled' : ''),
|
|
142
|
+
download: this.state.downloadFilename,
|
|
143
|
+
onContextMenu: this.contextMenu
|
|
144
|
+
}, (0, translate_1.default)('~FILE_DIALOG.DOWNLOAD')));
|
|
145
|
+
// for Safari (or other non-modern browsers)
|
|
146
|
+
const downloadButton = (button({
|
|
147
|
+
ref: (elt) => { return this.downloadRef = elt; },
|
|
148
|
+
className: (confirmDisabled ? 'disabled' : '')
|
|
149
|
+
}, (0, translate_1.default)('~FILE_DIALOG.DOWNLOAD')));
|
|
150
|
+
return (div({ className: 'dialogTab localFileSave' }, (input({ type: 'text', ref: ((elt) => { return this.filenameRef = elt; }), value: this.state.filename, placeholder: ((0, translate_1.default)("~FILE_DIALOG.FILENAME")), onChange: this.filenameChanged, onKeyDown: this.watchForEnter })), (div({ className: 'saveArea' }, this.state.shared && !this.state.hasPropsContent ?
|
|
151
|
+
(div({ className: 'shareCheckbox' }, (input({ type: 'checkbox', ref: ((elt) => { return this.includeShareInfoRef = elt; }), value: this.state.includeShareInfo, onChange: this.includeShareInfoChanged })), ((0, translate_1.default)('~DOWNLOAD_DIALOG.INCLUDE_SHARE_INFO')))) : undefined)), (div({ className: 'buttons' }, this.state.supportsDownloadAttribute ? downloadAnchor : downloadButton, (button({ onClick: this.cancel }, ((0, translate_1.default)("~FILE_DIALOG.CANCEL"))))))));
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
function __guard__(value, transform) {
|
|
155
|
+
return (typeof value !== 'undefined' && value !== null) ? transform(value) : undefined;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=local-file-tab-save-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-file-tab-save-view.js","sourceRoot":"","sources":["../../../src/code/views/local-file-tab-save-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
// TODO: This file was created by bulk-decaffeinate.
|
|
7
|
+
// Sanity-check the conversion and remove this comment.
|
|
8
|
+
/*
|
|
9
|
+
* decaffeinate suggestions:
|
|
10
|
+
* DS102: Remove unnecessary code created because of implicit returns
|
|
11
|
+
* DS207: Consider shorter variations of null checks
|
|
12
|
+
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
|
13
|
+
*/
|
|
14
|
+
const create_react_class_1 = __importDefault(require("create-react-class"));
|
|
15
|
+
const react_dom_1 = __importDefault(require("react-dom"));
|
|
16
|
+
const react_dom_factories_1 = __importDefault(require("react-dom-factories"));
|
|
17
|
+
const create_react_factory_1 = require("../create-react-factory");
|
|
18
|
+
const dropdown_view_1 = __importDefault(require("./dropdown-view"));
|
|
19
|
+
const dropdown_anchors_1 = require("./dropdown-anchors");
|
|
20
|
+
const translate_1 = __importDefault(require("../utils/translate"));
|
|
21
|
+
const { div, i, span, input } = react_dom_factories_1.default;
|
|
22
|
+
const Dropdown = (0, create_react_factory_1.createReactFactory)(dropdown_view_1.default);
|
|
23
|
+
exports.default = (0, create_react_class_1.default)({
|
|
24
|
+
displayName: 'MenuBar',
|
|
25
|
+
componentDidMount() {
|
|
26
|
+
// need to use direct DOM events because the event needs to be captured
|
|
27
|
+
if (window.addEventListener) {
|
|
28
|
+
window.addEventListener('mousedown', this.checkBlur, true);
|
|
29
|
+
window.addEventListener('touchstart', this.checkBlur, true);
|
|
30
|
+
}
|
|
31
|
+
return this.props.client._ui.listen((event) => {
|
|
32
|
+
switch (event.type) {
|
|
33
|
+
case 'editInitialFilename':
|
|
34
|
+
this.setState({
|
|
35
|
+
editingFilename: true,
|
|
36
|
+
editingInitialFilename: true
|
|
37
|
+
});
|
|
38
|
+
return setTimeout((() => this.focusFilename()), 10);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
componentWillUnmount() {
|
|
43
|
+
if (window.removeEventListener) {
|
|
44
|
+
window.removeEventListener('mousedown', this.checkBlur, true);
|
|
45
|
+
return window.removeEventListener('touchstart', this.checkBlur, true);
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
getFilename(props) {
|
|
49
|
+
if ((props.filename != null ? props.filename.length : undefined) > 0) {
|
|
50
|
+
return props.filename;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return ((0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT"));
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
getEditableFilename(props) {
|
|
57
|
+
if ((props.filename != null ? props.filename.length : undefined) > 0) {
|
|
58
|
+
return props.filename;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return ((0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT"));
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
getInitialState() {
|
|
65
|
+
return {
|
|
66
|
+
editingFilename: false,
|
|
67
|
+
filename: this.getFilename(this.props),
|
|
68
|
+
editableFilename: this.getEditableFilename(this.props),
|
|
69
|
+
initialEditableFilename: this.getEditableFilename(this.props),
|
|
70
|
+
editingInitialFilename: false
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
74
|
+
return this.setState({
|
|
75
|
+
filename: this.getFilename(nextProps),
|
|
76
|
+
editableFilename: this.getEditableFilename(nextProps),
|
|
77
|
+
provider: nextProps.provider
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
filenameClicked(e) {
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
e.stopPropagation();
|
|
83
|
+
this.setState({
|
|
84
|
+
editingFilename: true,
|
|
85
|
+
editingInitialFilename: false
|
|
86
|
+
});
|
|
87
|
+
return setTimeout((() => this.focusFilename()), 10);
|
|
88
|
+
},
|
|
89
|
+
filenameChanged() {
|
|
90
|
+
return this.setState({
|
|
91
|
+
editableFilename: this.filename().value
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
filenameBlurred() {
|
|
95
|
+
return this.rename();
|
|
96
|
+
},
|
|
97
|
+
filename() {
|
|
98
|
+
return react_dom_1.default.findDOMNode(this.filenameRef);
|
|
99
|
+
},
|
|
100
|
+
focusFilename() {
|
|
101
|
+
const el = this.filename();
|
|
102
|
+
el.focus();
|
|
103
|
+
return el.select();
|
|
104
|
+
},
|
|
105
|
+
cancelEdit() {
|
|
106
|
+
return this.setState({
|
|
107
|
+
editingFilename: false,
|
|
108
|
+
editableFilename: (this.state.filename != null ? this.state.filename.length : undefined) > 0 ? this.state.filename : this.state.initialEditableFilename
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
rename() {
|
|
112
|
+
const filename = this.state.editableFilename.replace(/^\s+|\s+$/, '');
|
|
113
|
+
if (filename.length > 0) {
|
|
114
|
+
if (this.state.editingInitialFilename) {
|
|
115
|
+
this.props.client.setInitialFilename(filename);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.props.client.rename(this.props.client.state.metadata, filename);
|
|
119
|
+
}
|
|
120
|
+
return this.setState({
|
|
121
|
+
editingFilename: false,
|
|
122
|
+
filename,
|
|
123
|
+
editableFilename: filename
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
return this.cancelEdit();
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
watchForEnter(e) {
|
|
131
|
+
if (e.keyCode === 13) {
|
|
132
|
+
return this.rename();
|
|
133
|
+
}
|
|
134
|
+
else if (e.keyCode === 27) {
|
|
135
|
+
return this.cancelEdit();
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
help() {
|
|
139
|
+
return window.open(this.props.options.help, '_blank');
|
|
140
|
+
},
|
|
141
|
+
infoClicked() {
|
|
142
|
+
return (typeof this.props.options.onInfoClicked === 'function' ? this.props.options.onInfoClicked(this.props.client) : undefined);
|
|
143
|
+
},
|
|
144
|
+
// CODAP eats the click events in the main workspace which causes the blur event not to fire so we need to check for a non-bubbling global click event when editing
|
|
145
|
+
checkBlur(e) {
|
|
146
|
+
if (this.state.editingFilename && (e.target !== this.filename())) {
|
|
147
|
+
return this.filenameBlurred();
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
langChanged(langCode) {
|
|
151
|
+
const { client, options } = this.props;
|
|
152
|
+
const { onLangChanged } = options.languageMenu;
|
|
153
|
+
if (onLangChanged != null) {
|
|
154
|
+
return client.changeLanguage(langCode, onLangChanged);
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
renderLanguageMenu() {
|
|
158
|
+
const langMenu = this.props.options.languageMenu;
|
|
159
|
+
const items = langMenu.options
|
|
160
|
+
// Do not show current language in the menu.
|
|
161
|
+
.filter((option) => option.langCode !== langMenu.currentLang)
|
|
162
|
+
.map((option) => {
|
|
163
|
+
let className;
|
|
164
|
+
const label = option.label || option.langCode.toUpperCase();
|
|
165
|
+
if (option.flag) {
|
|
166
|
+
className = `flag flag-${option.flag}`;
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
content: (span({ className: 'lang-option' }, (div({ className })), label)),
|
|
170
|
+
action: () => this.langChanged(option.langCode)
|
|
171
|
+
};
|
|
172
|
+
});
|
|
173
|
+
const hasFlags = langMenu.options.filter((option) => option.flag != null).length > 0;
|
|
174
|
+
const currentOption = langMenu.options.filter((option) => option.langCode === langMenu.currentLang)[0];
|
|
175
|
+
const defaultOption = hasFlags ? { flag: "us" } : { label: "English" };
|
|
176
|
+
const { flag, label } = currentOption || defaultOption;
|
|
177
|
+
const menuAnchor = flag ?
|
|
178
|
+
(div({ className: `flag flag-${flag}` }))
|
|
179
|
+
:
|
|
180
|
+
(div({ className: "lang-menu with-border" }, (span({ className: "lang-label" }, label || defaultOption.label)), dropdown_anchors_1.TriangleOnlyAnchor));
|
|
181
|
+
return (Dropdown({
|
|
182
|
+
className: "lang-menu",
|
|
183
|
+
menuAnchorClassName: "menu-anchor-right",
|
|
184
|
+
items,
|
|
185
|
+
menuAnchor
|
|
186
|
+
}));
|
|
187
|
+
},
|
|
188
|
+
render() {
|
|
189
|
+
const { provider } = this.props;
|
|
190
|
+
const isAuthorized = provider && provider.isAuthorizationRequired() && provider.authorized();
|
|
191
|
+
return (div({ className: 'menu-bar' }, (div({ className: 'menu-bar-left' }, (Dropdown({ items: this.props.items })), this.state.editingFilename ?
|
|
192
|
+
(div({ className: 'menu-bar-content-filename' }, (input({ ref: ((elt) => { return this.filenameRef = elt; }), value: this.state.editableFilename, onChange: this.filenameChanged, onKeyDown: this.watchForEnter }))))
|
|
193
|
+
:
|
|
194
|
+
(div({ className: 'menu-bar-content-filename', onClick: this.filenameClicked }, this.state.filename)), this.props.fileStatus ?
|
|
195
|
+
(span({ className: `menu-bar-file-status-${this.props.fileStatus.type}` }, this.props.fileStatus.message)) : undefined)), (div({ className: 'menu-bar-right' }, this.props.options.info ?
|
|
196
|
+
(span({ className: 'menu-bar-info', onClick: this.infoClicked }, this.props.options.info)) : undefined, isAuthorized ? this.props.provider.renderUser() : undefined, this.props.options.help ?
|
|
197
|
+
(i({ style: { fontSize: "13px" }, className: 'clickable icon-help', onClick: this.help })) : undefined, this.props.options.languageMenu ?
|
|
198
|
+
this.renderLanguageMenu() : undefined))));
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
//# sourceMappingURL=menu-bar-view.js.map
|