import { DatabaseApplicationType } from '@baserow/modules/database/applicationTypes' import { GridViewType, FormViewType } from '@baserow/modules/database/viewTypes' import { TextFieldType, LongTextFieldType, URLFieldType, EmailFieldType, LinkRowFieldType, NumberFieldType, BooleanFieldType, DateFieldType, LastModifiedFieldType, FileFieldType, SingleSelectFieldType, PhoneNumberFieldType, CreatedOnFieldType, } from '@baserow/modules/database/fieldTypes' import { EqualViewFilterType, NotEqualViewFilterType, DateEqualViewFilterType, DateNotEqualViewFilterType, ContainsViewFilterType, FilenameContainsViewFilterType, ContainsNotViewFilterType, HigherThanViewFilterType, LowerThanViewFilterType, SingleSelectEqualViewFilterType, SingleSelectNotEqualViewFilterType, BooleanViewFilterType, EmptyViewFilterType, NotEmptyViewFilterType, DateEqualsTodayViewFilterType, DateEqualsCurrentMonthViewFilterType, DateEqualsCurrentYearViewFilterType, DateBeforeViewFilterType, DateAfterViewFilterType, LinkRowHasFilterType, LinkRowHasNotFilterType, } from '@baserow/modules/database/viewFilters' import { CSVImporterType, PasteImporterType, XMLImporterType, JSONImporterType, } from '@baserow/modules/database/importerTypes' import { APITokenSettingsType } from '@baserow/modules/database/settingsTypes' import tableStore from '@baserow/modules/database/store/table' import viewStore from '@baserow/modules/database/store/view' import fieldStore from '@baserow/modules/database/store/field' import gridStore from '@baserow/modules/database/store/view/grid' import formStore from '@baserow/modules/database/store/view/form' import { registerRealtimeEvents } from '@baserow/modules/database/realtime' import { CSVTableExporterType } from '@baserow/modules/database/exporterTypes' export default (context) => { const { store, app } = context store.registerModule('table', tableStore) store.registerModule('view', viewStore) store.registerModule('field', fieldStore) store.registerModule('page/view/grid', gridStore) store.registerModule('page/view/form', formStore) store.registerModule('template/view/grid', gridStore) store.registerModule('template/view/form', formStore) app.$registry.register('application', new DatabaseApplicationType(context)) app.$registry.register('view', new GridViewType(context)) app.$registry.register('view', new FormViewType(context)) app.$registry.register('viewFilter', new EqualViewFilterType(context)) app.$registry.register('viewFilter', new NotEqualViewFilterType(context)) app.$registry.register('viewFilter', new DateEqualViewFilterType(context)) app.$registry.register('viewFilter', new DateNotEqualViewFilterType(context)) app.$registry.register( 'viewFilter', new DateEqualsTodayViewFilterType(context) ) app.$registry.register( 'viewFilter', new DateEqualsCurrentMonthViewFilterType(context) ) app.$registry.register( 'viewFilter', new DateEqualsCurrentYearViewFilterType(context) ) app.$registry.register('viewFilter', new DateBeforeViewFilterType(context)) app.$registry.register('viewFilter', new DateAfterViewFilterType(context)) app.$registry.register('viewFilter', new ContainsViewFilterType(context)) app.$registry.register( 'viewFilter', new FilenameContainsViewFilterType(context) ) app.$registry.register('viewFilter', new ContainsNotViewFilterType(context)) app.$registry.register('viewFilter', new HigherThanViewFilterType(context)) app.$registry.register('viewFilter', new LowerThanViewFilterType(context)) app.$registry.register( 'viewFilter', new SingleSelectEqualViewFilterType(context) ) app.$registry.register( 'viewFilter', new SingleSelectNotEqualViewFilterType(context) ) app.$registry.register('viewFilter', new BooleanViewFilterType(context)) app.$registry.register('viewFilter', new LinkRowHasFilterType(context)) app.$registry.register('viewFilter', new LinkRowHasNotFilterType(context)) app.$registry.register('viewFilter', new EmptyViewFilterType(context)) app.$registry.register('viewFilter', new NotEmptyViewFilterType(context)) app.$registry.register('field', new TextFieldType(context)) app.$registry.register('field', new LongTextFieldType(context)) app.$registry.register('field', new LinkRowFieldType(context)) app.$registry.register('field', new NumberFieldType(context)) app.$registry.register('field', new BooleanFieldType(context)) app.$registry.register('field', new DateFieldType(context)) app.$registry.register('field', new LastModifiedFieldType(context)) app.$registry.register('field', new CreatedOnFieldType(context)) app.$registry.register('field', new URLFieldType(context)) app.$registry.register('field', new EmailFieldType(context)) app.$registry.register('field', new FileFieldType(context)) app.$registry.register('field', new SingleSelectFieldType(context)) app.$registry.register('field', new PhoneNumberFieldType(context)) app.$registry.register('importer', new CSVImporterType(context)) app.$registry.register('importer', new PasteImporterType(context)) app.$registry.register('importer', new XMLImporterType(context)) app.$registry.register('importer', new JSONImporterType(context)) app.$registry.register('settings', new APITokenSettingsType(context)) app.$registry.register('exporter', new CSVTableExporterType(context)) registerRealtimeEvents(app.$realtime) }