29 lines
1.2 KiB
TypeScript
29 lines
1.2 KiB
TypeScript
|
import { Plugin, registerTemplate } from '@nocobase/client';
|
||
|
import { generateNTemplate } from '../locale';
|
||
|
import { CalendarV2 } from './calendar';
|
||
|
import { calendar } from './collection-templates/calendar';
|
||
|
import { CalendarBlockProvider, useCalendarBlockProps } from './schema-initializer/CalendarBlockProvider';
|
||
|
import { CalendarActionInitializers, CalendarFormActionInitializers } from './schema-initializer/initializers';
|
||
|
import { CalendarBlockInitializer, RecordAssociationCalendarBlockInitializer } from './schema-initializer/items';
|
||
|
|
||
|
export class PluginCalendarClient extends Plugin {
|
||
|
async load() {
|
||
|
this.app.schemaInitializerManager.addItem('BlockInitializers', 'dataBlocks.calendar', {
|
||
|
title: generateNTemplate('Calendar'),
|
||
|
Component: 'CalendarBlockInitializer',
|
||
|
});
|
||
|
this.app.addComponents({
|
||
|
CalendarBlockProvider,
|
||
|
CalendarBlockInitializer,
|
||
|
RecordAssociationCalendarBlockInitializer,
|
||
|
CalendarV2,
|
||
|
});
|
||
|
this.app.addScopes({ useCalendarBlockProps });
|
||
|
this.app.schemaInitializerManager.add(CalendarActionInitializers);
|
||
|
this.app.schemaInitializerManager.add(CalendarFormActionInitializers);
|
||
|
registerTemplate('calendar', calendar);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default PluginCalendarClient;
|