插件概览
Day Flow 使用插件架构来扩展功能。插件提供模块化的功能特性,可以根据您的需要启用、禁用或配置。
为什么使用插件?
插件系统允许您:
- 按需加载 - 仅加载您需要的功能(例如:默认仅包含英文以减小包体积)。
- 配置行为 - 为特定用例定制插件设置。
- 扩展功能 - 为您的独特需求创建自定义插件。
- 访问插件 API - 直接在业务逻辑中使用插件服务。
可用插件
Day Flow 提供以下官方插件:
i18n
支持多种语言。将非英文语言包提取到插件中,可以让仅使用英文的应用拥有更小的核心包体积。了解更多
拖拽 (Drag & Drop)
启用交互式事件管理,包括移动、调整大小以及双击创建事件。了解更多
事件服务 (Events Service)
提供高级事件管理功能,包括验证、过滤和日期范围查询。了解更多
插件生命周期
- 创建插件 - 调用工厂函数(如
createDragPlugin())并传入配置。 - 注册插件 - 在初始化日历时,将插件实例添加到
plugins数组中。 - 安装 -
install()函数会自动调用,并传入CalendarApp实例。 - 使用 - 通过
app.getPlugin('plugin-name')访问插件 API。
创建自定义插件
您可以通过实现 CalendarPlugin 接口来创建自己的插件:
import { CalendarPlugin, ICalendarApp } from '@dayflow/core';
export const myPlugin: CalendarPlugin = {
name: 'my-custom-plugin',
install(app: ICalendarApp) {
console.log('插件已安装!');
// 在此处扩展应用功能
},
};