dbf-mirador 4.2.3
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/LICENSE +203 -0
- package/README.md +133 -0
- package/dist/CommentSharp-B0J_-jEq.js +325 -0
- package/dist/CommentSharp-B0J_-jEq.js.map +1 -0
- package/dist/FailedImageContext-aQXnWSHN.js +318 -0
- package/dist/FailedImageContext-aQXnWSHN.js.map +1 -0
- package/dist/PluginHook-CFw_6P5c.js +54 -0
- package/dist/PluginHook-CFw_6P5c.js.map +1 -0
- package/dist/WindowCanvasNavigationControls-CUX723BQ.js +242 -0
- package/dist/WindowCanvasNavigationControls-CUX723BQ.js.map +1 -0
- package/dist/action-types-DjIbTE-A.js +74 -0
- package/dist/action-types-DjIbTE-A.js.map +1 -0
- package/dist/canvas-C8oHvXFN.js +41 -0
- package/dist/canvas-C8oHvXFN.js.map +1 -0
- package/dist/canvases-gRqhr-IH.js +3154 -0
- package/dist/canvases-gRqhr-IH.js.map +1 -0
- package/dist/createSvgIcon-Cwt8YPfm.js +2 -0
- package/dist/getters-COus7Mvg.js +2066 -0
- package/dist/getters-COus7Mvg.js.map +1 -0
- package/dist/index.module-CbBRf_R8.js +403 -0
- package/dist/index.module-CbBRf_R8.js.map +1 -0
- package/dist/mirador.es.js +39600 -0
- package/dist/mirador.es.js.map +1 -0
- package/dist/mirador.min.js +334 -0
- package/dist/mirador.min.js.map +1 -0
- package/dist/react-error-boundary.esm-B_pT-oCS.js +67 -0
- package/dist/react-error-boundary.esm-B_pT-oCS.js.map +1 -0
- package/dist/visuallyHidden-DmYvwNdU.js +98 -0
- package/dist/visuallyHidden-DmYvwNdU.js.map +1 -0
- package/dist/window-zelwU7wz.js +138 -0
- package/dist/window-zelwU7wz.js.map +1 -0
- package/package.json +138 -0
- package/src/components/AccessTokenSender.jsx +34 -0
- package/src/components/AnnotationSettings.jsx +31 -0
- package/src/components/AnnotationsOverlay.jsx +328 -0
- package/src/components/App.jsx +34 -0
- package/src/components/AppProviders.jsx +129 -0
- package/src/components/AttributionPanel.jsx +78 -0
- package/src/components/AudioViewer.jsx +39 -0
- package/src/components/BackgroundPluginArea.jsx +9 -0
- package/src/components/Branding.jsx +33 -0
- package/src/components/CanvasAnnotations.jsx +125 -0
- package/src/components/CanvasInfo.jsx +46 -0
- package/src/components/CanvasLayers.jsx +367 -0
- package/src/components/ChangeThemeDialog.jsx +65 -0
- package/src/components/CollapsibleSection.jsx +53 -0
- package/src/components/CollectionDialog.jsx +236 -0
- package/src/components/CollectionInfo.jsx +48 -0
- package/src/components/CompanionArea.jsx +140 -0
- package/src/components/CompanionWindow.jsx +228 -0
- package/src/components/CompanionWindowFactory.jsx +38 -0
- package/src/components/CompanionWindowSection.jsx +11 -0
- package/src/components/CustomPanel.jsx +22 -0
- package/src/components/ErrorContent.jsx +65 -0
- package/src/components/ErrorDialog.jsx +47 -0
- package/src/components/FullScreenButton.jsx +47 -0
- package/src/components/GalleryView.jsx +36 -0
- package/src/components/GalleryViewThumbnail.jsx +160 -0
- package/src/components/IIIFAuthentication.jsx +144 -0
- package/src/components/IIIFDropTarget.jsx +168 -0
- package/src/components/IIIFIFrameCommunication.jsx +45 -0
- package/src/components/IIIFResourceLabel.jsx +26 -0
- package/src/components/IIIFThumbnail.jsx +214 -0
- package/src/components/ImageFailureMessage.jsx +42 -0
- package/src/components/LabelValueMetadata.jsx +46 -0
- package/src/components/LanguageSettings.jsx +46 -0
- package/src/components/LayersPanel.jsx +24 -0
- package/src/components/LocalePicker.jsx +56 -0
- package/src/components/ManifestForm.jsx +79 -0
- package/src/components/ManifestInfo.jsx +67 -0
- package/src/components/ManifestListItem.jsx +209 -0
- package/src/components/ManifestListItemError.jsx +53 -0
- package/src/components/ManifestRelatedLinks.jsx +154 -0
- package/src/components/MinimalWindow.jsx +104 -0
- package/src/components/MiradorMenuButton.jsx +71 -0
- package/src/components/MosaicRenderPreview.jsx +16 -0
- package/src/components/NestedMenu.jsx +42 -0
- package/src/components/NewBrowserWindow.jsx +34 -0
- package/src/components/OpenSeadragonComponent.jsx +258 -0
- package/src/components/OpenSeadragonTileSource.jsx +105 -0
- package/src/components/OpenSeadragonViewer.jsx +161 -0
- package/src/components/PluginHook.jsx +27 -0
- package/src/components/PrimaryWindow.jsx +115 -0
- package/src/components/SanitizedHtml.jsx +37 -0
- package/src/components/ScrollIndicatedDialogContent.jsx +60 -0
- package/src/components/ScrollTo.jsx +61 -0
- package/src/components/SearchHit.jsx +220 -0
- package/src/components/SearchPanel.jsx +80 -0
- package/src/components/SearchPanelControls.jsx +174 -0
- package/src/components/SearchPanelNavigation.jsx +84 -0
- package/src/components/SearchResults.jsx +138 -0
- package/src/components/SelectCollection.jsx +44 -0
- package/src/components/SidebarIndexItem.jsx +11 -0
- package/src/components/SidebarIndexList.jsx +73 -0
- package/src/components/SidebarIndexTableOfContents.jsx +170 -0
- package/src/components/SidebarIndexThumbnail.jsx +22 -0
- package/src/components/TextViewer.jsx +37 -0
- package/src/components/ThumbnailCanvasGrouping.jsx +122 -0
- package/src/components/ThumbnailNavigation.jsx +231 -0
- package/src/components/VideoViewer.jsx +35 -0
- package/src/components/ViewerInfo.jsx +55 -0
- package/src/components/ViewerNavigation.jsx +72 -0
- package/src/components/Window.jsx +150 -0
- package/src/components/WindowAuthenticationBar.jsx +176 -0
- package/src/components/WindowCanvasNavigationControls.jsx +91 -0
- package/src/components/WindowList.jsx +71 -0
- package/src/components/WindowListButton.jsx +57 -0
- package/src/components/WindowSideBar.jsx +48 -0
- package/src/components/WindowSideBarAnnotationsPanel.jsx +51 -0
- package/src/components/WindowSideBarButtons.jsx +151 -0
- package/src/components/WindowSideBarCanvasPanel.jsx +165 -0
- package/src/components/WindowSideBarCollectionPanel.jsx +179 -0
- package/src/components/WindowSideBarInfoPanel.jsx +67 -0
- package/src/components/WindowThumbnailSettings.jsx +130 -0
- package/src/components/WindowTopBar.jsx +125 -0
- package/src/components/WindowTopBarPluginArea.jsx +8 -0
- package/src/components/WindowTopBarPluginMenu.jsx +78 -0
- package/src/components/WindowTopBarTitle.jsx +73 -0
- package/src/components/WindowTopMenu.jsx +81 -0
- package/src/components/WindowTopMenuButton.jsx +49 -0
- package/src/components/WindowViewSettings.jsx +95 -0
- package/src/components/WindowViewer.jsx +26 -0
- package/src/components/Workspace.jsx +124 -0
- package/src/components/WorkspaceAdd.jsx +221 -0
- package/src/components/WorkspaceAddButton.jsx +73 -0
- package/src/components/WorkspaceArea.jsx +66 -0
- package/src/components/WorkspaceControlPanel.jsx +85 -0
- package/src/components/WorkspaceControlPanelButtons.jsx +20 -0
- package/src/components/WorkspaceDialog.jsx +11 -0
- package/src/components/WorkspaceElastic.jsx +88 -0
- package/src/components/WorkspaceElasticWindow.jsx +79 -0
- package/src/components/WorkspaceExport.jsx +99 -0
- package/src/components/WorkspaceImport.jsx +89 -0
- package/src/components/WorkspaceMenu.jsx +126 -0
- package/src/components/WorkspaceMenuButton.jsx +42 -0
- package/src/components/WorkspaceMosaic.jsx +149 -0
- package/src/components/WorkspaceOptionsButton.jsx +35 -0
- package/src/components/WorkspaceOptionsMenu.jsx +112 -0
- package/src/components/WorkspaceSelectionDialog.jsx +165 -0
- package/src/components/ZoomControls.jsx +57 -0
- package/src/components/icons/BookViewIcon.jsx +14 -0
- package/src/components/icons/CanvasIndexIcon.jsx +14 -0
- package/src/components/icons/GalleryViewIcon.jsx +17 -0
- package/src/components/icons/MiradorIcon.jsx +14 -0
- package/src/components/icons/RestoreZoomIcon.jsx +15 -0
- package/src/components/icons/ThumbnailNavigationBottomIcon.jsx +15 -0
- package/src/components/icons/ThumbnailNavigationRightIcon.jsx +16 -0
- package/src/components/icons/WindowMaxIcon.jsx +15 -0
- package/src/components/icons/WindowMinIcon.jsx +15 -0
- package/src/components/icons/WindowOptionsIcon.jsx +16 -0
- package/src/components/icons/WorkspaceTypeElasticIcon.jsx +157 -0
- package/src/components/icons/WorkspaceTypeMosaicIcon.jsx +162 -0
- package/src/components/icons/index.js +27 -0
- package/src/components/index.js +108 -0
- package/src/config/css-ns.js +10 -0
- package/src/config/index.js +2 -0
- package/src/config/settings.js +607 -0
- package/src/containers/AnnotationSettings.js +27 -0
- package/src/containers/AnnotationsOverlay.js +51 -0
- package/src/containers/AppProviders.js +20 -0
- package/src/containers/AttributionPanel.js +20 -0
- package/src/containers/AudioViewer.js +16 -0
- package/src/containers/BackgroundPluginArea.js +4 -0
- package/src/containers/Branding.js +4 -0
- package/src/containers/CanvasAnnotations.js +32 -0
- package/src/containers/CanvasInfo.js +20 -0
- package/src/containers/CanvasLayers.js +25 -0
- package/src/containers/ChangeThemeDialog.js +29 -0
- package/src/containers/CollapsibleSection.js +3 -0
- package/src/containers/CollectionDialog.js +48 -0
- package/src/containers/CollectionInfo.js +29 -0
- package/src/containers/CompanionArea.js +22 -0
- package/src/containers/CompanionWindow.js +40 -0
- package/src/containers/CompanionWindowFactory.js +23 -0
- package/src/containers/CustomPanel.js +13 -0
- package/src/containers/ErrorContent.js +20 -0
- package/src/containers/ErrorDialog.js +28 -0
- package/src/containers/FullScreenButton.js +22 -0
- package/src/containers/GalleryView.js +23 -0
- package/src/containers/GalleryViewThumbnail.js +51 -0
- package/src/containers/IIIFAuthentication.js +86 -0
- package/src/containers/IIIFThumbnail.js +17 -0
- package/src/containers/LabelValueMetadata.js +14 -0
- package/src/containers/LanguageSettings.js +26 -0
- package/src/containers/LayersPanel.js +16 -0
- package/src/containers/LocalePicker.js +3 -0
- package/src/containers/ManifestForm.js +16 -0
- package/src/containers/ManifestInfo.js +29 -0
- package/src/containers/ManifestListItem.js +52 -0
- package/src/containers/ManifestListItemError.js +15 -0
- package/src/containers/ManifestRelatedLinks.js +28 -0
- package/src/containers/MinimalWindow.js +25 -0
- package/src/containers/MiradorMenuButton.js +7 -0
- package/src/containers/MosaicRenderPreview.js +14 -0
- package/src/containers/OpenSeadragonViewer.js +59 -0
- package/src/containers/PrimaryWindow.js +27 -0
- package/src/containers/SanitizedHtml.js +3 -0
- package/src/containers/ScrollIndicatedDialogContent.js +3 -0
- package/src/containers/SearchHit.js +71 -0
- package/src/containers/SearchPanel.js +23 -0
- package/src/containers/SearchPanelControls.js +36 -0
- package/src/containers/SearchPanelNavigation.js +39 -0
- package/src/containers/SearchResults.js +38 -0
- package/src/containers/SelectCollection.js +24 -0
- package/src/containers/SidebarIndexItem.js +8 -0
- package/src/containers/SidebarIndexList.js +28 -0
- package/src/containers/SidebarIndexTableOfContents.js +31 -0
- package/src/containers/SidebarIndexThumbnail.js +18 -0
- package/src/containers/TextViewer.js +19 -0
- package/src/containers/ThumbnailCanvasGrouping.js +29 -0
- package/src/containers/ThumbnailNavigation.js +48 -0
- package/src/containers/VideoViewer.js +16 -0
- package/src/containers/ViewerInfo.js +30 -0
- package/src/containers/ViewerNavigation.js +31 -0
- package/src/containers/Window.js +45 -0
- package/src/containers/WindowAuthenticationBar.js +7 -0
- package/src/containers/WindowCanvasNavigationControls.js +15 -0
- package/src/containers/WindowList.js +30 -0
- package/src/containers/WindowListButton.js +15 -0
- package/src/containers/WindowSideBar.js +20 -0
- package/src/containers/WindowSideBarAnnotationsPanel.js +23 -0
- package/src/containers/WindowSideBarButtons.js +75 -0
- package/src/containers/WindowSideBarCanvasPanel.js +50 -0
- package/src/containers/WindowSideBarCollectionPanel.js +48 -0
- package/src/containers/WindowSideBarInfoPanel.js +35 -0
- package/src/containers/WindowThumbnailSettings.js +31 -0
- package/src/containers/WindowTopBar.js +39 -0
- package/src/containers/WindowTopBarPluginArea.js +8 -0
- package/src/containers/WindowTopBarPluginMenu.js +7 -0
- package/src/containers/WindowTopBarTitle.js +17 -0
- package/src/containers/WindowTopMenu.js +28 -0
- package/src/containers/WindowTopMenuButton.js +7 -0
- package/src/containers/WindowViewSettings.js +30 -0
- package/src/containers/WindowViewer.js +10 -0
- package/src/containers/Workspace.js +36 -0
- package/src/containers/WorkspaceAdd.js +27 -0
- package/src/containers/WorkspaceAddButton.js +30 -0
- package/src/containers/WorkspaceArea.js +21 -0
- package/src/containers/WorkspaceControlPanel.js +10 -0
- package/src/containers/WorkspaceControlPanelButtons.js +7 -0
- package/src/containers/WorkspaceElastic.js +41 -0
- package/src/containers/WorkspaceElasticWindow.js +36 -0
- package/src/containers/WorkspaceExport.js +18 -0
- package/src/containers/WorkspaceImport.js +19 -0
- package/src/containers/WorkspaceMenu.js +30 -0
- package/src/containers/WorkspaceMenuButton.js +10 -0
- package/src/containers/WorkspaceMosaic.js +32 -0
- package/src/containers/WorkspaceOptionsButton.js +7 -0
- package/src/containers/WorkspaceOptionsMenu.js +3 -0
- package/src/containers/WorkspaceSelectionDialog.js +26 -0
- package/src/containers/ZoomControls.js +26 -0
- package/src/containers/index.js +94 -0
- package/src/contexts/FailedImageContext.js +8 -0
- package/src/contexts/FailedImageProvider.jsx +34 -0
- package/src/contexts/FullScreenContext.js +5 -0
- package/src/contexts/LocaleContext.js +5 -0
- package/src/contexts/OpenSeadragonViewerContext.js +5 -0
- package/src/contexts/WorkspaceContext.js +5 -0
- package/src/contexts/index.js +4 -0
- package/src/extend/PluginContext.js +5 -0
- package/src/extend/PluginProvider.jsx +22 -0
- package/src/extend/index.js +9 -0
- package/src/extend/pluginMapping.js +44 -0
- package/src/extend/pluginPreprocessing.js +45 -0
- package/src/extend/pluginValidation.js +58 -0
- package/src/extend/usePlugins.js +13 -0
- package/src/extend/withPlugins.jsx +46 -0
- package/src/hooks/index.js +4 -0
- package/src/hooks/useCanvasWorldService.js +10 -0
- package/src/hooks/useThumbnailService.js +8 -0
- package/src/i18n.js +71 -0
- package/src/index.js +18 -0
- package/src/init.js +20 -0
- package/src/lib/AnnotationFactory.js +23 -0
- package/src/lib/AnnotationItem.js +123 -0
- package/src/lib/AnnotationList.js +31 -0
- package/src/lib/AnnotationPage.js +41 -0
- package/src/lib/AnnotationResource.js +122 -0
- package/src/lib/CanvasAnnotationDisplay.js +148 -0
- package/src/lib/CanvasGroupings.js +55 -0
- package/src/lib/CanvasWorld.js +214 -0
- package/src/lib/CompanionWindowRegistry.js +23 -0
- package/src/lib/FullScreenHandle.jsx +76 -0
- package/src/lib/MiradorCanvas.js +211 -0
- package/src/lib/MiradorManifest.js +44 -0
- package/src/lib/MiradorViewer.jsx +53 -0
- package/src/lib/MosaicLayout.js +77 -0
- package/src/lib/OpenSeadragonCanvasOverlay.js +114 -0
- package/src/lib/ThumbnailFactory.js +310 -0
- package/src/lib/TruncatedHit.js +34 -0
- package/src/lib/asArray.js +11 -0
- package/src/lib/htmlRules.js +28 -0
- package/src/lib/iiif.js +12 -0
- package/src/lib/index.js +23 -0
- package/src/lib/readImageMetadata.js +21 -0
- package/src/lib/svgShapesToPath.js +49 -0
- package/src/locales/README.md +60 -0
- package/src/locales/ar/translation.json +141 -0
- package/src/locales/bg/translation.json +164 -0
- package/src/locales/de/translation.json +169 -0
- package/src/locales/en/translation.json +170 -0
- package/src/locales/et/translation.json +164 -0
- package/src/locales/fa/translation.json +164 -0
- package/src/locales/fr/translation.json +158 -0
- package/src/locales/hr/translation.json +164 -0
- package/src/locales/hu/translation.json +166 -0
- package/src/locales/it/translation.json +162 -0
- package/src/locales/ja/translation.json +156 -0
- package/src/locales/kr/translation.json +162 -0
- package/src/locales/lt/translation.json +153 -0
- package/src/locales/nbNo/translation.json +162 -0
- package/src/locales/nl/translation.json +139 -0
- package/src/locales/pl/translation.json +162 -0
- package/src/locales/ptBr/translation.json +133 -0
- package/src/locales/sr/translation.json +155 -0
- package/src/locales/sv/translation.json +157 -0
- package/src/locales/ta/translation.json +167 -0
- package/src/locales/vi/translation.json +156 -0
- package/src/locales/zhCn/translation.json +163 -0
- package/src/locales/zhTw/translation.json +163 -0
- package/src/plugins/OSDReferences.js +15 -0
- package/src/plugins/index.js +1 -0
- package/src/state/actions/action-types.js +76 -0
- package/src/state/actions/annotation.js +123 -0
- package/src/state/actions/auth.js +109 -0
- package/src/state/actions/canvas.js +65 -0
- package/src/state/actions/catalog.js +22 -0
- package/src/state/actions/companionWindow.js +107 -0
- package/src/state/actions/config.js +49 -0
- package/src/state/actions/elasticLayout.js +10 -0
- package/src/state/actions/errors.js +22 -0
- package/src/state/actions/index.js +19 -0
- package/src/state/actions/infoResponse.js +90 -0
- package/src/state/actions/layers.js +14 -0
- package/src/state/actions/manifest.js +65 -0
- package/src/state/actions/search.js +97 -0
- package/src/state/actions/window.js +209 -0
- package/src/state/actions/workspace.js +84 -0
- package/src/state/createPluggableStore.js +24 -0
- package/src/state/createStore.js +33 -0
- package/src/state/index.js +21 -0
- package/src/state/reducers/accessTokens.js +59 -0
- package/src/state/reducers/annotations.js +48 -0
- package/src/state/reducers/auth.js +43 -0
- package/src/state/reducers/catalog.js +30 -0
- package/src/state/reducers/companionWindows.js +49 -0
- package/src/state/reducers/config.js +39 -0
- package/src/state/reducers/elasticLayout.js +29 -0
- package/src/state/reducers/errors.js +51 -0
- package/src/state/reducers/index.js +15 -0
- package/src/state/reducers/infoResponses.js +61 -0
- package/src/state/reducers/layers.js +23 -0
- package/src/state/reducers/manifests.js +52 -0
- package/src/state/reducers/rootReducer.js +44 -0
- package/src/state/reducers/search.js +145 -0
- package/src/state/reducers/utils.js +45 -0
- package/src/state/reducers/viewers.js +42 -0
- package/src/state/reducers/windows.js +185 -0
- package/src/state/reducers/workspace.js +111 -0
- package/src/state/sagas/annotations.js +48 -0
- package/src/state/sagas/app.js +56 -0
- package/src/state/sagas/auth.js +151 -0
- package/src/state/sagas/iiif.js +233 -0
- package/src/state/sagas/index.js +30 -0
- package/src/state/sagas/windows.js +293 -0
- package/src/state/selectors/annotations.js +138 -0
- package/src/state/selectors/auth.js +100 -0
- package/src/state/selectors/canvases.js +260 -0
- package/src/state/selectors/companionWindows.js +182 -0
- package/src/state/selectors/config.js +100 -0
- package/src/state/selectors/getters.js +90 -0
- package/src/state/selectors/index.js +17 -0
- package/src/state/selectors/layers.js +79 -0
- package/src/state/selectors/manifests.js +433 -0
- package/src/state/selectors/ranges.js +147 -0
- package/src/state/selectors/searches.js +249 -0
- package/src/state/selectors/sequences.js +134 -0
- package/src/state/selectors/thumbnails.js +28 -0
- package/src/state/selectors/utils.js +18 -0
- package/src/state/selectors/viewer.js +19 -0
- package/src/state/selectors/windows.js +98 -0
- package/src/state/selectors/workspace.js +52 -0
- package/src/state/selectors/wrappers.js +15 -0
- package/src/styles/react-mosaic-component.js +288 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import * as actions from '../state/actions';
|
|
5
|
+
import { WindowTopMenu } from '../components/WindowTopMenu';
|
|
6
|
+
import { getConfig } from '../state/selectors';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapStateToProps - to hook up connect
|
|
10
|
+
* @memberof WindowTopMenu
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapStateToProps = (state) => ({
|
|
14
|
+
showThumbnailNavigationSettings: getConfig(state).thumbnailNavigation.displaySettings,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* mapStateToProps - used to hook up connect to state
|
|
19
|
+
* @memberof WindowTopMenu
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
const mapDispatchToProps = (dispatch) => ({
|
|
23
|
+
toggleDraggingEnabled: () => dispatch(actions.toggleDraggingEnabled()),
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const enhance = compose(connect(mapStateToProps, mapDispatchToProps), withPlugins('WindowTopMenu'));
|
|
27
|
+
|
|
28
|
+
export default enhance(WindowTopMenu);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
3
|
+
import { WindowTopMenuButton } from '../components/WindowTopMenuButton';
|
|
4
|
+
|
|
5
|
+
const enhance = compose(withPlugins('WindowTopMenuButton'));
|
|
6
|
+
|
|
7
|
+
export default enhance(WindowTopMenuButton);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import * as actions from '../state/actions';
|
|
5
|
+
import { getAllowedWindowViewTypes, getWindowViewType } from '../state/selectors';
|
|
6
|
+
import { WindowViewSettings } from '../components/WindowViewSettings';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
10
|
+
* @memberof ManifestListItem
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapDispatchToProps = { setWindowViewType: actions.setWindowViewType };
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* mapStateToProps - to hook up connect
|
|
17
|
+
* @memberof WindowViewer
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
const mapStateToProps = (state, { windowId }) => ({
|
|
21
|
+
viewTypes: getAllowedWindowViewTypes(state, { windowId }),
|
|
22
|
+
windowViewType: getWindowViewType(state, { windowId }),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const enhance = compose(
|
|
26
|
+
connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true }),
|
|
27
|
+
withPlugins('WindowViewSettings'),
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
export default enhance(WindowViewSettings);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
3
|
+
import { WindowViewer } from '../components/WindowViewer';
|
|
4
|
+
|
|
5
|
+
const enhance = compose(
|
|
6
|
+
withPlugins('WindowViewer'),
|
|
7
|
+
// further HOC go here
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
export default enhance(WindowViewer);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import { Workspace } from '../components/Workspace';
|
|
5
|
+
import { getMaximizedWindowsIds, getWindowIds, getWorkspaceType, getConfig, getWorkspace } from '../state/selectors';
|
|
6
|
+
import * as actions from '../state/actions';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapStateToProps - to hook up connect
|
|
10
|
+
* @memberof Workspace
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapStateToProps = (state) => ({
|
|
14
|
+
allowNewWindows: getConfig(state).workspace.allowNewWindows,
|
|
15
|
+
maximizedWindowIds: getMaximizedWindowsIds(state),
|
|
16
|
+
windowIds: getWindowIds(state),
|
|
17
|
+
workspaceId: getWorkspace(state).id,
|
|
18
|
+
workspaceType: getWorkspaceType(state),
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
23
|
+
* @memberof Workspace
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
const mapDispatchToProps = {
|
|
27
|
+
addWindow: actions.addWindow,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const enhance = compose(
|
|
31
|
+
connect(mapStateToProps, mapDispatchToProps),
|
|
32
|
+
withPlugins('Workspace'),
|
|
33
|
+
// further HOC go here
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
export default enhance(Workspace);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import * as actions from '../state/actions';
|
|
5
|
+
import { WorkspaceAdd } from '../components/WorkspaceAdd';
|
|
6
|
+
import { getCatalog } from '../state/selectors';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapStateToProps - to hook up connect
|
|
10
|
+
* @memberof Workspace
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapStateToProps = (state) => ({ catalog: getCatalog(state) });
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
17
|
+
* @memberof Workspace
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
const mapDispatchToProps = {
|
|
21
|
+
addResource: actions.addResource,
|
|
22
|
+
setWorkspaceAddVisibility: actions.setWorkspaceAddVisibility,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const enhance = compose(connect(mapStateToProps, mapDispatchToProps), withPlugins('WorkspaceAdd'));
|
|
26
|
+
|
|
27
|
+
export default enhance(WorkspaceAdd);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { connect } from 'react-redux';
|
|
2
|
+
import { compose } from 'redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import * as actions from '../state/actions';
|
|
5
|
+
import { getWindowIds, getWorkspace } from '../state/selectors';
|
|
6
|
+
import { WorkspaceAddButton } from '../components/WorkspaceAddButton';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapStateToProps - to hook up connect
|
|
10
|
+
* @memberof WorkspaceControlPanel
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapStateToProps = (state, { width }) => {
|
|
14
|
+
const { isWorkspaceAddVisible } = getWorkspace(state);
|
|
15
|
+
return {
|
|
16
|
+
isWorkspaceAddVisible,
|
|
17
|
+
useExtendedFab: !isWorkspaceAddVisible && getWindowIds(state).length === 0,
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
23
|
+
* @memberof Workspace
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
const mapDispatchToProps = { setWorkspaceAddVisibility: actions.setWorkspaceAddVisibility };
|
|
27
|
+
|
|
28
|
+
const enhance = compose(connect(mapStateToProps, mapDispatchToProps), withPlugins('WorkspaceAddButton'));
|
|
29
|
+
|
|
30
|
+
export default enhance(WorkspaceAddButton);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import { WorkspaceArea } from '../components/WorkspaceArea';
|
|
5
|
+
import { getConfig, getWindowIds, getWorkspace } from '../state/selectors';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* mapStateToProps - to hook up connect
|
|
9
|
+
* @memberof App
|
|
10
|
+
* @private
|
|
11
|
+
*/
|
|
12
|
+
const mapStateToProps = (state) => ({
|
|
13
|
+
controlPanelVariant: getWorkspace(state).isWorkspaceAddVisible || getWindowIds(state).length > 0 ? undefined : 'wide',
|
|
14
|
+
isWorkspaceAddVisible: getWorkspace(state).isWorkspaceAddVisible,
|
|
15
|
+
isWorkspaceControlPanelVisible: getConfig(state).workspaceControlPanel.enabled,
|
|
16
|
+
lang: getConfig(state).language,
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const enhance = compose(connect(mapStateToProps), withPlugins('WorkspaceArea'));
|
|
20
|
+
|
|
21
|
+
export default enhance(WorkspaceArea);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
3
|
+
import { WorkspaceControlPanel } from '../components/WorkspaceControlPanel';
|
|
4
|
+
|
|
5
|
+
const enhance = compose(
|
|
6
|
+
withPlugins('WorkspaceControlPanel'),
|
|
7
|
+
// further HOC go here
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
export default enhance(WorkspaceControlPanel);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
3
|
+
import { WorkspaceControlPanelButtons } from '../components/WorkspaceControlPanelButtons';
|
|
4
|
+
|
|
5
|
+
const enhance = compose(withPlugins('WorkspaceControlPanelButtons'));
|
|
6
|
+
|
|
7
|
+
export default enhance(WorkspaceControlPanelButtons);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import * as actions from '../state/actions';
|
|
5
|
+
import WorkspaceElastic from '../components/WorkspaceElastic';
|
|
6
|
+
import { getElasticLayout, getWorkspace } from '../state/selectors';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapStateToProps - to hook up connect
|
|
10
|
+
* @memberof Workspace
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapStateToProps = (state) => ({
|
|
14
|
+
elasticLayout: getElasticLayout(state),
|
|
15
|
+
workspace: getWorkspace(state),
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
20
|
+
* @memberof Workspace
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
const mapDispatchToProps = (dispatch, props) => ({
|
|
24
|
+
setWorkspaceViewportDimensions: (position) => {
|
|
25
|
+
dispatch(actions.setWorkspaceViewportDimensions(position));
|
|
26
|
+
},
|
|
27
|
+
setWorkspaceViewportPosition: (position) => {
|
|
28
|
+
dispatch(actions.setWorkspaceViewportPosition(position));
|
|
29
|
+
},
|
|
30
|
+
updateElasticWindowLayout: (windowId, position) => {
|
|
31
|
+
dispatch(actions.updateElasticWindowLayout(windowId, position));
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const enhance = compose(
|
|
36
|
+
connect(mapStateToProps, mapDispatchToProps),
|
|
37
|
+
withPlugins('WorkspaceElastic'),
|
|
38
|
+
// further HOC go here
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
export default enhance(WorkspaceElastic);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import * as actions from '../state/actions';
|
|
4
|
+
import WorkspaceElasticWindow from '../components/WorkspaceElasticWindow';
|
|
5
|
+
import { selectCompanionWindowDimensions, getWorkspace, isFocused, getElasticLayout } from '../state/selectors';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* mapStateToProps - to hook up connect
|
|
9
|
+
* @memberof Workspace
|
|
10
|
+
* @private
|
|
11
|
+
*/
|
|
12
|
+
const mapStateToProps = (state, { windowId }) => ({
|
|
13
|
+
companionWindowDimensions: selectCompanionWindowDimensions(state, { windowId }),
|
|
14
|
+
focused: isFocused(state, { windowId }),
|
|
15
|
+
layout: getElasticLayout(state)[windowId],
|
|
16
|
+
workspace: getWorkspace(state),
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
21
|
+
* @memberof Workspace
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
const mapDispatchToProps = (dispatch, props) => ({
|
|
25
|
+
focusWindow: () => dispatch(actions.focusWindow(props.windowId)),
|
|
26
|
+
updateElasticWindowLayout: (windowId, position) => {
|
|
27
|
+
dispatch(actions.updateElasticWindowLayout(windowId, position));
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const enhance = compose(
|
|
32
|
+
connect(mapStateToProps, mapDispatchToProps),
|
|
33
|
+
// further HOC go here
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
export default enhance(WorkspaceElasticWindow);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import { WorkspaceExport } from '../components/WorkspaceExport';
|
|
5
|
+
import { getExportableState } from '../state/selectors';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* mapStateToProps - to hook up connect
|
|
9
|
+
* @memberof Workspace
|
|
10
|
+
* @private
|
|
11
|
+
*/
|
|
12
|
+
const mapStateToProps = (state) => ({
|
|
13
|
+
exportableState: getExportableState(state),
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const enhance = compose(connect(mapStateToProps, {}), withPlugins('WorkspaceExport'));
|
|
17
|
+
|
|
18
|
+
export default enhance(WorkspaceExport);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import { WorkspaceImport } from '../components/WorkspaceImport';
|
|
5
|
+
import * as actions from '../state/actions';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
9
|
+
* @memberof App
|
|
10
|
+
* @private
|
|
11
|
+
*/
|
|
12
|
+
const mapDispatchToProps = {
|
|
13
|
+
addError: actions.addError,
|
|
14
|
+
importConfig: actions.importMiradorState,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const enhance = compose(connect(null, mapDispatchToProps), withPlugins('WorkspaceImport'));
|
|
18
|
+
|
|
19
|
+
export default enhance(WorkspaceImport);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import * as actions from '../state/actions';
|
|
5
|
+
import { getShowZoomControlsConfig, getThemeIds, getWorkspace } from '../state/selectors';
|
|
6
|
+
import { WorkspaceMenu } from '../components/WorkspaceMenu';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
10
|
+
* @memberof WorkspaceMenu
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapDispatchToProps = {
|
|
14
|
+
toggleZoomControls: actions.toggleZoomControls,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* mapStateToProps - to hook up connect
|
|
19
|
+
* @memberof WindowViewer
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
const mapStateToProps = (state) => ({
|
|
23
|
+
isWorkspaceAddVisible: getWorkspace(state).isWorkspaceAddVisible,
|
|
24
|
+
showThemePicker: getThemeIds(state).length > 0,
|
|
25
|
+
showZoomControls: getShowZoomControlsConfig(state),
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const enhance = compose(connect(mapStateToProps, mapDispatchToProps), withPlugins('WorkspaceMenu'));
|
|
29
|
+
|
|
30
|
+
export default enhance(WorkspaceMenu);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
3
|
+
import { WorkspaceMenuButton } from '../components/WorkspaceMenuButton';
|
|
4
|
+
|
|
5
|
+
const enhance = compose(
|
|
6
|
+
withPlugins('WorkspaceMenuButton'),
|
|
7
|
+
// further HOC
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
export default enhance(WorkspaceMenuButton);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import { getWorkspace } from '../state/selectors';
|
|
5
|
+
import * as actions from '../state/actions';
|
|
6
|
+
import { WorkspaceMosaic } from '../components/WorkspaceMosaic';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapStateToProps - to hook up connect
|
|
10
|
+
* @memberof Workspace
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapStateToProps = (state) => ({
|
|
14
|
+
layout: getWorkspace(state).layout,
|
|
15
|
+
windowIds: getWorkspace(state).windowIds,
|
|
16
|
+
workspaceId: getWorkspace(state).id,
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
21
|
+
* @memberof Workspace
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
const mapDispatchToProps = { updateWorkspaceMosaicLayout: actions.updateWorkspaceMosaicLayout };
|
|
25
|
+
|
|
26
|
+
const enhance = compose(
|
|
27
|
+
connect(mapStateToProps, mapDispatchToProps),
|
|
28
|
+
withPlugins('WorkspaceMosaic'),
|
|
29
|
+
// further HOC go here
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
export default enhance(WorkspaceMosaic);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
3
|
+
import { WorkspaceOptionsButton } from '../components/WorkspaceOptionsButton';
|
|
4
|
+
|
|
5
|
+
const enhance = compose(withPlugins('WorkspaceOptionsButton'));
|
|
6
|
+
|
|
7
|
+
export default enhance(WorkspaceOptionsButton);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import { WorkspaceSelectionDialog } from '../components/WorkspaceSelectionDialog';
|
|
5
|
+
import * as actions from '../state/actions';
|
|
6
|
+
import { getWorkspaceType } from '../state/selectors';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
10
|
+
* @memberof ManifestListItem
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapDispatchToProps = {
|
|
14
|
+
updateWorkspace: actions.updateWorkspace,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* mapStateToProps - to hook up connect
|
|
19
|
+
* @memberof Workspace
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
const mapStateToProps = (state) => ({ workspaceType: getWorkspaceType(state) });
|
|
23
|
+
|
|
24
|
+
const enhance = compose(connect(mapStateToProps, mapDispatchToProps), withPlugins('WorkspaceSelectionDialog'));
|
|
25
|
+
|
|
26
|
+
export default enhance(WorkspaceSelectionDialog);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { compose } from 'redux';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { withPlugins } from '../extend/withPlugins';
|
|
4
|
+
import * as actions from '../state/actions';
|
|
5
|
+
import { getViewer } from '../state/selectors';
|
|
6
|
+
import { ZoomControls } from '../components/ZoomControls';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mapStateToProps - to hook up connect
|
|
10
|
+
* @memberof Workspace
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const mapStateToProps = (state, { windowId }) => ({
|
|
14
|
+
viewer: getViewer(state, { windowId }),
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* mapDispatchToProps - used to hook up connect to action creators
|
|
19
|
+
* @memberof Workspace
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
const mapDispatchToProps = { updateViewport: actions.updateViewport };
|
|
23
|
+
|
|
24
|
+
const enhance = compose(connect(mapStateToProps, mapDispatchToProps), withPlugins('ZoomControls'));
|
|
25
|
+
|
|
26
|
+
export default enhance(ZoomControls);
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export { default as ConnectedAnnotationSettings } from './AnnotationSettings';
|
|
2
|
+
export { default as ConnectedAnnotationsOverlay } from './AnnotationsOverlay';
|
|
3
|
+
export { default as ConnectedAppProviders } from './AppProviders';
|
|
4
|
+
export { default as ConnectedAttributionPanel } from './AttributionPanel';
|
|
5
|
+
export { default as ConnectedAudioViewer } from './AudioViewer';
|
|
6
|
+
export { default as ConnectedBackgroundPluginArea } from './BackgroundPluginArea';
|
|
7
|
+
export { default as ConnectedBranding } from './Branding';
|
|
8
|
+
export { default as ConnectedCanvasAnnotations } from './CanvasAnnotations';
|
|
9
|
+
export { default as ConnectedCanvasInfo } from './CanvasInfo';
|
|
10
|
+
export { default as ConnectedCanvasLayers } from './CanvasLayers';
|
|
11
|
+
export { default as ConnectedChangeThemeDialog } from './ChangeThemeDialog';
|
|
12
|
+
export { default as ConnectedCollapsibleSection } from './CollapsibleSection';
|
|
13
|
+
export { default as ConnectedCollectionDialog } from './CollectionDialog';
|
|
14
|
+
export { default as ConnectedCollectionInfo } from './CollectionInfo';
|
|
15
|
+
export { default as ConnectedCompanionArea } from './CompanionArea';
|
|
16
|
+
export { default as ConnectedCompanionWindow } from './CompanionWindow';
|
|
17
|
+
export { default as ConnectedCompanionWindowFactory } from './CompanionWindowFactory';
|
|
18
|
+
export { default as ConnectedCustomPanel } from './CustomPanel';
|
|
19
|
+
export { default as ConnectedErrorContent } from './ErrorContent';
|
|
20
|
+
export { default as ConnectedErrorDialog } from './ErrorDialog';
|
|
21
|
+
export { default as ConnectedFullScreenButton } from './FullScreenButton';
|
|
22
|
+
export { default as ConnectedGalleryView } from './GalleryView';
|
|
23
|
+
export { default as ConnectedGalleryViewThumbnail } from './GalleryViewThumbnail';
|
|
24
|
+
export { default as ConnectedIIIFAuthentication } from './IIIFAuthentication';
|
|
25
|
+
export { default as ConnectedIIIFThumbnail } from './IIIFThumbnail';
|
|
26
|
+
export { default as ConnectedLanguageSettings } from './LanguageSettings';
|
|
27
|
+
export { default as ConnectedLabelValueMetadata } from './LabelValueMetadata';
|
|
28
|
+
export { default as ConnectedLayersPanel } from './LayersPanel';
|
|
29
|
+
export { default as ConnectedLocalePicker } from './LocalePicker';
|
|
30
|
+
export { default as ConnectedManifestForm } from './ManifestForm';
|
|
31
|
+
export { default as ConnectedManifestInfo } from './ManifestInfo';
|
|
32
|
+
export { default as ConnectedManifestListItem } from './ManifestListItem';
|
|
33
|
+
export { default as ConnectedManifestListItemError } from './ManifestListItemError';
|
|
34
|
+
export { default as ConnectedManifestRelatedLinks } from './ManifestRelatedLinks';
|
|
35
|
+
export { default as ConnectedMinimalWindow } from './MinimalWindow';
|
|
36
|
+
export { default as ConnectedMiradorMenuButton } from './MiradorMenuButton';
|
|
37
|
+
export { default as ConnectedMosaicRenderPreview } from './MosaicRenderPreview';
|
|
38
|
+
export { default as ConnectedOpenSeadragonViewer } from './OpenSeadragonViewer';
|
|
39
|
+
export { default as ConnectedPrimaryWindow } from './PrimaryWindow';
|
|
40
|
+
export { default as ConnectedSanitizedHtml } from './SanitizedHtml';
|
|
41
|
+
export { default as ConnectedScrollIndicatedDialogContent } from './ScrollIndicatedDialogContent';
|
|
42
|
+
export { default as ConnectedSearchHit } from './SearchHit';
|
|
43
|
+
export { default as ConnectedSearchPanel } from './SearchPanel';
|
|
44
|
+
export { default as ConnectedSearchPanelControls } from './SearchPanelControls';
|
|
45
|
+
export { default as ConnectedSearchPanelNavigation } from './SearchPanelNavigation';
|
|
46
|
+
export { default as ConnectedSearchResults } from './SearchResults';
|
|
47
|
+
export { default as ConnectedSelectCollection } from './SelectCollection';
|
|
48
|
+
export { default as ConnectedSidebarIndexItem } from './SidebarIndexItem';
|
|
49
|
+
export { default as ConnectedSidebarIndexList } from './SidebarIndexList';
|
|
50
|
+
export { default as ConnectedSidebarIndexTableOfContents } from './SidebarIndexTableOfContents';
|
|
51
|
+
export { default as ConnectedSidebarIndexThumbnail } from './SidebarIndexThumbnail';
|
|
52
|
+
export { default as ConnectedTextViewer } from './TextViewer';
|
|
53
|
+
export { default as ConnectedThumbnailCanvasGrouping } from './ThumbnailCanvasGrouping';
|
|
54
|
+
export { default as ConnectedThumbnailNavigation } from './ThumbnailNavigation';
|
|
55
|
+
export { default as ConnectedVideoViewer } from './VideoViewer';
|
|
56
|
+
export { default as ConnectedViewerInfo } from './ViewerInfo';
|
|
57
|
+
export { default as ConnectedViewerNavigation } from './ViewerNavigation';
|
|
58
|
+
export { default as ConnectedWindow } from './Window';
|
|
59
|
+
export { default as ConnectedWindowAuthenticationBar } from './WindowAuthenticationBar';
|
|
60
|
+
export { default as ConnectedWindowCanvasNavigationControls } from './WindowCanvasNavigationControls';
|
|
61
|
+
export { default as ConnectedWindowList } from './WindowList';
|
|
62
|
+
export { default as ConnectedWindowListButton } from './WindowListButton';
|
|
63
|
+
export { default as ConnectedWindowSideBar } from './WindowSideBar';
|
|
64
|
+
export { default as ConnectedWindowSideBarAnnotationsPanel } from './WindowSideBarAnnotationsPanel';
|
|
65
|
+
export { default as ConnectedWindowSideBarButtons } from './WindowSideBarButtons';
|
|
66
|
+
export { default as ConnectedWindowSideBarCanvasPanel } from './WindowSideBarCanvasPanel';
|
|
67
|
+
export { default as ConnectedWindowSideBarCollectionPanel } from './WindowSideBarCollectionPanel';
|
|
68
|
+
export { default as ConnectedWindowSideBarInfoPanel } from './WindowSideBarInfoPanel';
|
|
69
|
+
export { default as ConnectedWindowThumbnailSettings } from './WindowThumbnailSettings';
|
|
70
|
+
export { default as ConnectedWindowTopBar } from './WindowTopBar';
|
|
71
|
+
export { default as ConnectedWindowTopBarPluginArea } from './WindowTopBarPluginArea';
|
|
72
|
+
export { default as ConnectedWindowTopBarPluginMenu } from './WindowTopBarPluginMenu';
|
|
73
|
+
export { default as ConnectedWindowTopBarTitle } from './WindowTopBarTitle';
|
|
74
|
+
export { default as ConnectedWindowTopMenu } from './WindowTopMenu';
|
|
75
|
+
export { default as ConnectedWindowTopMenuButton } from './WindowTopMenuButton';
|
|
76
|
+
export { default as ConnectedWindowViewSettings } from './WindowViewSettings';
|
|
77
|
+
export { default as ConnectedWindowViewer } from './WindowViewer';
|
|
78
|
+
export { default as ConnectedWorkspace } from './Workspace';
|
|
79
|
+
export { default as ConnectedWorkspaceAdd } from './WorkspaceAdd';
|
|
80
|
+
export { default as ConnectedWorkspaceAddButton } from './WorkspaceAddButton';
|
|
81
|
+
export { default as ConnectedWorkspaceArea } from './WorkspaceArea';
|
|
82
|
+
export { default as ConnectedWorkspaceControlPanel } from './WorkspaceControlPanel';
|
|
83
|
+
export { default as ConnectedWorkspaceControlPanelButtons } from './WorkspaceControlPanelButtons';
|
|
84
|
+
export { default as ConnectedWorkspaceElastic } from './WorkspaceElastic';
|
|
85
|
+
export { default as ConnectedWorkspaceElasticWindow } from './WorkspaceElasticWindow';
|
|
86
|
+
export { default as ConnectedWorkspaceExport } from './WorkspaceExport';
|
|
87
|
+
export { default as ConnectedWorkspaceImport } from './WorkspaceImport';
|
|
88
|
+
export { default as ConnectedWorkspaceMenu } from './WorkspaceMenu';
|
|
89
|
+
export { default as ConnectedWorkspaceMenuButton } from './WorkspaceMenuButton';
|
|
90
|
+
export { default as ConnectedWorkspaceMosaic } from './WorkspaceMosaic';
|
|
91
|
+
export { default as ConnectedWorkspaceOptionsButton } from './WorkspaceOptionsButton';
|
|
92
|
+
export { default as ConnectedWorkspaceOptionsMenu } from './WorkspaceOptionsMenu';
|
|
93
|
+
export { default as ConnectedWorkspaceSelectionDialog } from './WorkspaceSelectionDialog';
|
|
94
|
+
export { default as ConnectedZoomControls } from './ZoomControls';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useState, useCallback } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import FailedImageContext from './FailedImageContext';
|
|
4
|
+
import config from '../config/settings';
|
|
5
|
+
|
|
6
|
+
// SVG fallback with Material-UI Warning icon
|
|
7
|
+
// Uses default primary blue (#1967d2) - override entire image via config.fallbackImage if needed
|
|
8
|
+
const defaultFallback =
|
|
9
|
+
'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="600"%3E%3Crect width="400" height="600" fill="%23f5f5f5"/%3E%3Cpath d="M 200 240 L 254 354 L 146 354 Z M 200 228 L 128 372 L 272 372 Z M 204.5 336 L 195.5 336 L 195.5 345 L 204.5 345 Z M 204.5 309 L 195.5 309 L 195.5 327 L 204.5 327 Z" fill="%231967d2"/%3E%3C/svg%3E';
|
|
10
|
+
|
|
11
|
+
export default function FailedImageProvider({ children }) {
|
|
12
|
+
const fallbackImage = config.fallbackImage || defaultFallback;
|
|
13
|
+
const [failedImages, setFailedImages] = useState(new Set());
|
|
14
|
+
|
|
15
|
+
const notifyFailure = useCallback((imageId) => {
|
|
16
|
+
setFailedImages((prev) => new Set(prev).add(imageId));
|
|
17
|
+
}, []);
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<FailedImageContext.Provider
|
|
21
|
+
value={{
|
|
22
|
+
failedImages,
|
|
23
|
+
fallbackImage,
|
|
24
|
+
notifyFailure,
|
|
25
|
+
}}
|
|
26
|
+
>
|
|
27
|
+
{children}
|
|
28
|
+
</FailedImageContext.Provider>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
FailedImageProvider.propTypes = {
|
|
33
|
+
children: PropTypes.node.isRequired,
|
|
34
|
+
};
|