import en from '@baserow/modules/builder/locales/en.json' import fr from '@baserow/modules/builder/locales/fr.json' import nl from '@baserow/modules/builder/locales/nl.json' import de from '@baserow/modules/builder/locales/de.json' import es from '@baserow/modules/builder/locales/es.json' import it from '@baserow/modules/builder/locales/it.json' import pl from '@baserow/modules/builder/locales/pl.json' import { GeneralBuilderSettingsType, DomainsBuilderSettingsType, IntegrationsBuilderSettingsType, ThemeBuilderSettingsType, UserSourcesBuilderSettingsType, } from '@baserow/modules/builder/builderSettingTypes' import pageStore from '@baserow/modules/builder/store/page' import elementStore from '@baserow/modules/builder/store/element' import domainStore from '@baserow/modules/builder/store/domain' import publicBuilderStore from '@baserow/modules/builder/store/publicBuilder' import dataSourceStore from '@baserow/modules/builder/store/dataSource' import pageParameterStore from '@baserow/modules/builder/store/pageParameter' import dataSourceContentStore from '@baserow/modules/builder/store/dataSourceContent' import elementContentStore from '@baserow/modules/builder/store/elementContent' import themeStore from '@baserow/modules/builder/store/theme' import workflowActionStore from '@baserow/modules/builder/store/workflowAction' import formDataStore from '@baserow/modules/builder/store/formData' import { registerRealtimeEvents } from '@baserow/modules/builder/realtime' import { HeadingElementType, ImageElementType, TextElementType, LinkElementType, InputTextElementType, ColumnElementType, ButtonElementType, TableElementType, FormContainerElementType, DropdownElementType, CheckboxElementType, IFrameElementType, RepeatElementType, } from '@baserow/modules/builder/elementTypes' import { DesktopDeviceType, SmartphoneDeviceType, TabletDeviceType, } from '@baserow/modules/builder/deviceTypes' import { DuplicatePageJobType } from '@baserow/modules/builder/jobTypes' import { BuilderApplicationType } from '@baserow/modules/builder/applicationTypes' import { PublicSiteErrorPageType } from '@baserow/modules/builder/errorPageTypes' import { DataSourcesPageHeaderItemType, ElementsPageHeaderItemType, SettingsPageHeaderItemType, } from '@baserow/modules/builder/pageHeaderItemTypes' import { EventsPageSidePanelType, GeneralPageSidePanelType, StylePageSidePanelType, VisibilityPageSidePanelType, } from '@baserow/modules/builder/pageSidePanelTypes' import { CustomDomainType, SubDomainType, } from '@baserow/modules/builder/domainTypes' import { PagePageSettingsType } from '@baserow/modules/builder/pageSettingsTypes' import { TextPathParamType, NumericPathParamType, } from '@baserow/modules/builder/pathParamTypes' import { PreviewPageActionType, PublishPageActionType, } from '@baserow/modules/builder/pageActionTypes' import { PageParameterDataProviderType, DataSourceDataProviderType, CurrentRecordDataProviderType, FormDataProviderType, PreviousActionDataProviderType, UserDataProviderType, } from '@baserow/modules/builder/dataProviderTypes' import { MainThemeConfigBlock } from '@baserow/modules/builder/themeConfigBlockTypes' import { CreateRowWorkflowActionType, NotificationWorkflowActionType, OpenPageWorkflowActionType, UpdateRowWorkflowActionType, LogoutWorkflowActionType, RefreshDataSourceWorkflowActionType, } from '@baserow/modules/builder/workflowActionTypes' import { BooleanCollectionFieldType, TextCollectionFieldType, LinkCollectionFieldType, TagsCollectionFieldType, } from '@baserow/modules/builder/collectionFieldTypes' export default (context) => { const { store, app, isDev } = context // Allow locale file hot reloading in dev if (isDev && app.i18n) { const { i18n } = app i18n.mergeLocaleMessage('en', en) i18n.mergeLocaleMessage('fr', fr) i18n.mergeLocaleMessage('nl', nl) i18n.mergeLocaleMessage('de', de) i18n.mergeLocaleMessage('es', es) i18n.mergeLocaleMessage('it', it) i18n.mergeLocaleMessage('pl', pl) } registerRealtimeEvents(app.$realtime) store.registerModule('page', pageStore) store.registerModule('element', elementStore) store.registerModule('domain', domainStore) store.registerModule('publicBuilder', publicBuilderStore) store.registerModule('dataSource', dataSourceStore) store.registerModule('pageParameter', pageParameterStore) store.registerModule('dataSourceContent', dataSourceContentStore) store.registerModule('elementContent', elementContentStore) store.registerModule('theme', themeStore) store.registerModule('workflowAction', workflowActionStore) store.registerModule('formData', formDataStore) app.$registry.registerNamespace('builderSettings') app.$registry.registerNamespace('element') app.$registry.registerNamespace('device') app.$registry.registerNamespace('pageHeaderItem') app.$registry.registerNamespace('domain') app.$registry.registerNamespace('pageSettings') app.$registry.registerNamespace('pathParamType') app.$registry.registerNamespace('builderDataProvider') app.$registry.registerNamespace('themeConfigBlock') app.$registry.register('application', new BuilderApplicationType(context)) app.$registry.register('job', new DuplicatePageJobType(context)) app.$registry.register( 'builderSettings', new GeneralBuilderSettingsType(context) ) app.$registry.register( 'builderSettings', new IntegrationsBuilderSettingsType(context) ) app.$registry.register( 'builderSettings', new ThemeBuilderSettingsType(context) ) app.$registry.register( 'builderSettings', new DomainsBuilderSettingsType(context) ) app.$registry.register( 'builderSettings', new UserSourcesBuilderSettingsType(context) ) app.$registry.register('errorPage', new PublicSiteErrorPageType(context)) app.$registry.register('element', new HeadingElementType(context)) app.$registry.register('element', new TextElementType(context)) app.$registry.register('element', new ImageElementType(context)) app.$registry.register('element', new IFrameElementType(context)) app.$registry.register('element', new LinkElementType(context)) app.$registry.register('element', new ButtonElementType(context)) app.$registry.register('element', new TableElementType(context)) app.$registry.register('element', new ColumnElementType(context)) app.$registry.register('element', new FormContainerElementType(context)) app.$registry.register('element', new InputTextElementType(context)) app.$registry.register('element', new DropdownElementType(context)) app.$registry.register('element', new CheckboxElementType(context)) app.$registry.register('element', new RepeatElementType(context)) app.$registry.register('device', new DesktopDeviceType(context)) app.$registry.register('device', new TabletDeviceType(context)) app.$registry.register('device', new SmartphoneDeviceType(context)) app.$registry.register( 'pageHeaderItem', new ElementsPageHeaderItemType(context) ) app.$registry.register( 'pageHeaderItem', new DataSourcesPageHeaderItemType(context) ) app.$registry.register( 'pageHeaderItem', new SettingsPageHeaderItemType(context) ) app.$registry.register('pageSidePanel', new GeneralPageSidePanelType(context)) app.$registry.register('pageSidePanel', new StylePageSidePanelType(context)) app.$registry.register( 'pageSidePanel', new VisibilityPageSidePanelType(context) ) app.$registry.register('pageSidePanel', new EventsPageSidePanelType(context)) app.$registry.register('domain', new CustomDomainType(context)) app.$registry.register('domain', new SubDomainType(context)) app.$registry.register('pageSettings', new PagePageSettingsType(context)) app.$registry.register('pathParamType', new TextPathParamType(context)) app.$registry.register('pathParamType', new NumericPathParamType(context)) app.$registry.register('pageAction', new PublishPageActionType(context)) app.$registry.register('pageAction', new PreviewPageActionType(context)) app.$registry.register( 'builderDataProvider', new UserDataProviderType(context) ) app.$registry.register( 'builderDataProvider', new CurrentRecordDataProviderType(context) ) app.$registry.register( 'builderDataProvider', new DataSourceDataProviderType(context) ) app.$registry.register( 'builderDataProvider', new PageParameterDataProviderType(context) ) app.$registry.register( 'builderDataProvider', new FormDataProviderType(context) ) app.$registry.register( 'builderDataProvider', new PreviousActionDataProviderType(context) ) app.$registry.register('themeConfigBlock', new MainThemeConfigBlock(context)) app.$registry.register( 'workflowAction', new NotificationWorkflowActionType(context) ) app.$registry.register( 'workflowAction', new OpenPageWorkflowActionType(context) ) app.$registry.register( 'workflowAction', new LogoutWorkflowActionType(context) ) app.$registry.register( 'workflowAction', new RefreshDataSourceWorkflowActionType(context) ) app.$registry.register( 'workflowAction', new CreateRowWorkflowActionType(context) ) app.$registry.register( 'workflowAction', new UpdateRowWorkflowActionType(context) ) app.$registry.register( 'collectionField', new BooleanCollectionFieldType(context) ) app.$registry.register( 'collectionField', new TextCollectionFieldType(context) ) app.$registry.register( 'collectionField', new LinkCollectionFieldType(context) ) app.$registry.register( 'collectionField', new TagsCollectionFieldType(context) ) }