UNPKG

@plone/volto

Version:
151 lines (140 loc) 4.24 kB
import loadable from '@loadable/component'; import { defineMessages } from 'react-intl'; import DefaultView from '@plone/volto/components/theme/View/DefaultView'; import FileView from '@plone/volto/components/theme/View/FileView'; import ImageView from '@plone/volto/components/theme/View/ImageView'; import ListingView from '@plone/volto/components/theme/View/ListingView'; import NewsItemView from '@plone/volto/components/theme/View/NewsItemView'; import SummaryView from '@plone/volto/components/theme/View/SummaryView'; import TabularView from '@plone/volto/components/theme/View/TabularView'; import LinkView from '@plone/volto/components/theme/View/LinkView'; import NotFoundView from '@plone/volto/components/theme/NotFound/NotFound'; import ConnectionRefused from '@plone/volto/components/theme/ConnectionRefused/ConnectionRefused'; import CorsError from '@plone/volto/components/theme/CorsError/CorsError'; import RequestTimeout from '@plone/volto/components/theme/RequestTimeout/RequestTimeout'; import AlbumView from '@plone/volto/components/theme/View/AlbumView'; import Unauthorized from '@plone/volto/components/theme/Unauthorized/Unauthorized'; import Forbidden from '@plone/volto/components/theme/Forbidden/Forbidden'; import ServerError from '@plone/volto/components/theme/Error/ServerError'; const EventView = loadable( () => import('@plone/volto/components/theme/View/EventView'), ); defineMessages({ album_view: { id: 'Album view', defaultMessage: 'Album view', }, event_listing: { id: 'Event listing', defaultMessage: 'Event listing', }, full_view: { id: 'All content', defaultMessage: 'All content', }, listing_view: { id: 'Listing view', defaultMessage: 'Listing view', }, summary_view: { id: 'Summary view', defaultMessage: 'Summary view', }, tabular_view: { id: 'Tabular view', defaultMessage: 'Tabular view', }, layout_view: { id: 'Mosaic layout', defaultMessage: 'Mosaic layout', }, document_view: { id: 'Document view', defaultMessage: 'Document view', }, folder_listing: { id: 'Folder listing', defaultMessage: 'Folder listing', }, newsitem_view: { id: 'News item view', defaultMessage: 'News item view', }, link_redirect_view: { id: 'Link redirect view', defaultMessage: 'Link redirect view', }, file_view: { id: 'File view', defaultMessage: 'File view', }, image_view: { id: 'Image view', defaultMessage: 'Image view', }, event_view: { id: 'Event view', defaultMessage: 'Event view', }, view: { id: 'Default view', defaultMessage: 'Default view', }, default: { id: 'Default view', defaultMessage: 'Default view', }, }); // Layout View Registry export const layoutViews = { document_view: DefaultView, summary_view: SummaryView, tabular_view: TabularView, listing_view: ListingView, link_redirect_view: LinkView, album_view: AlbumView, }; // Content Types View Registry export const contentTypesViews = { 'News Item': NewsItemView, File: FileView, Image: ImageView, Event: EventView, }; // Default view export const defaultView = DefaultView; export const errorViews = { 404: NotFoundView, 401: Unauthorized, 403: Forbidden, 408: RequestTimeout, 500: ServerError, ECONNREFUSED: ConnectionRefused, corsError: CorsError, }; export const layoutViewsNamesMapping = { album_view: 'Album view', event_listing: 'Event listing', full_view: 'All content', listing_view: 'Listing view', summary_view: 'Summary view', tabular_view: 'Tabular view', layout_view: 'Mosaic layout', document_view: 'Document view', folder_listing: 'Folder listing', newsitem_view: 'News item view', link_redirect_view: 'Link redirect view', file_view: 'File view', image_view: 'Image view', event_view: 'Event view', view: 'Default view', default: 'Default view', }; export function installDefaultViews(config) { config.views.layoutViews = layoutViews; config.views.contentTypesViews = contentTypesViews; config.views.defaultView = defaultView; config.views.errorViews = errorViews; config.views.layoutViewsNamesMapping = layoutViewsNamesMapping; return config; }