UNPKG

@plone/volto

Version:
174 lines (169 loc) 5.49 kB
import { AlignWidget, ButtonsWidget, ArrayWidget, CheckboxWidget, FileWidget, IdWidget, HiddenWidget, PasswordWidget, QueryWidget, QuerySortOnWidget, QuerystringWidget, SchemaWidget, SelectWidget, TextareaWidget, TextWidget, TokenWidget, UrlWidget, InternalUrlWidget, EmailWidget, NumberWidget, ImageSizeWidget, RegistryImageWidget, ReferenceWidget, ObjectBrowserWidget, ObjectWidget, ObjectListWidget, VocabularyTermsWidget, SelectMetadataWidget, SelectAutoComplete, StaticTextWidget, ColorPickerWidget, DatetimeWidget, TimeWidget, RecurrenceWidget, RadioGroupWidget, CheckboxGroupWidget, } from '@plone/volto/components/manage/Widgets'; import ArrayViewWidget from '@plone/volto/components/theme/Widgets/ArrayWidget'; import BooleanViewWidget from '@plone/volto/components/theme/Widgets/BooleanWidget'; import DatetimeViewWidget from '@plone/volto/components/theme/Widgets/DatetimeWidget'; import DateViewWidget from '@plone/volto/components/theme/Widgets/DateWidget'; import DescriptionViewWidget from '@plone/volto/components/theme/Widgets/DescriptionWidget'; import EmailViewWidget from '@plone/volto/components/theme/Widgets/EmailWidget'; import FileViewWidget from '@plone/volto/components/theme/Widgets/FileWidget'; import { getWidgetView } from '@plone/volto/helpers/Widget/widget'; import ImageViewWidget from '@plone/volto/components/theme/Widgets/ImageWidget'; import PasswordViewWidget from '@plone/volto/components/theme/Widgets/PasswordWidget'; import RelationsViewWidget from '@plone/volto/components/theme/Widgets/RelationsWidget'; import RelationViewWidget from '@plone/volto/components/theme/Widgets/RelationWidget'; import RichTextViewWidget from '@plone/volto/components/theme/Widgets/RichTextWidget'; import SelectViewWidget from '@plone/volto/components/theme/Widgets/SelectWidget'; import TextViewWidget from '@plone/volto/components/theme/Widgets/TextWidget'; import TitleViewWidget from '@plone/volto/components/theme/Widgets/TitleWidget'; import TokenViewWidget from '@plone/volto/components/theme/Widgets/TokenWidget'; import UrlViewWidget from '@plone/volto/components/theme/Widgets/UrlWidget'; import ImageWidget from '@plone/volto/components/manage/Widgets/ImageWidget'; import HiddenViewWidget from '@plone/volto/components/manage/Widgets/HiddenWidget'; import StaticTextViewWidget from '@plone/volto/components/manage/Widgets/StaticTextWidget'; // Widgets mapping export const widgetMapping = { id: { subjects: TokenWidget, query: QuerystringWidget, recurrence: RecurrenceWidget, remoteUrl: UrlWidget, id: IdWidget, site_logo: RegistryImageWidget, frontend_domain: TextWidget, }, widget: { textarea: TextareaWidget, datetime: DatetimeWidget, date: DatetimeWidget, time: TimeWidget, password: PasswordWidget, file: FileWidget, image: ImageWidget, align: AlignWidget, buttons: ButtonsWidget, url: UrlWidget, internal_url: InternalUrlWidget, email: EmailWidget, array: ArrayWidget, token: TokenWidget, query: QueryWidget, query_sort_on: QuerySortOnWidget, querystring: QuerystringWidget, object_browser: ObjectBrowserWidget, object: ObjectWidget, object_list: ObjectListWidget, vocabularyterms: VocabularyTermsWidget, image_size: ImageSizeWidget, select_querystring_field: SelectMetadataWidget, autocomplete: SelectAutoComplete, color_picker: ColorPickerWidget, select: SelectWidget, schema: SchemaWidget, static_text: StaticTextWidget, hidden: HiddenWidget, radio_group: RadioGroupWidget, checkbox_group: CheckboxGroupWidget, }, vocabulary: { 'plone.app.vocabularies.Catalog': ObjectBrowserWidget, }, factory: { 'Relation List': ObjectBrowserWidget, 'Relation Choice': ReferenceWidget, }, choices: SelectWidget, type: { boolean: CheckboxWidget, array: ArrayWidget, object: FileWidget, datetime: DatetimeWidget, date: DatetimeWidget, password: PasswordWidget, number: NumberWidget, integer: NumberWidget, id: IdWidget, }, views: { getWidget: getWidgetView, default: TextViewWidget, id: { file: FileViewWidget, image: ImageViewWidget, relatedItems: RelationsViewWidget, subjects: TokenViewWidget, }, widget: { array: ArrayViewWidget, boolean: BooleanViewWidget, choices: SelectViewWidget, date: DateViewWidget, datetime: DatetimeViewWidget, description: DescriptionViewWidget, email: EmailViewWidget, file: FileViewWidget, image: ImageViewWidget, password: PasswordViewWidget, relation: RelationViewWidget, relations: RelationsViewWidget, richtext: RichTextViewWidget, string: TextViewWidget, tags: TokenViewWidget, textarea: TextViewWidget, title: TitleViewWidget, url: UrlViewWidget, internal_url: InternalUrlWidget, static_text: StaticTextViewWidget, hidden: HiddenViewWidget, object: () => '', // TODO: Not implemented yet: Object View widget }, vocabulary: {}, choices: SelectViewWidget, type: { array: ArrayViewWidget, boolean: BooleanViewWidget, }, }, }; // Default Widget export const defaultWidget = TextWidget; export function installDefaultWidgets(config) { config.widgets = widgetMapping; config.widgets.default = defaultWidget; }