silverware/calendar

SilverWare 日历模块。

安装次数: 41 493

依赖项: 1

建议者: 0

安全性: 0

星级: 17

关注者: 3

分支: 9

公开问题: 22

语言:CSS

类型:silverstripe-vendormodule


README

Latest Stable Version Latest Unstable Version License

这是一个为 SilverStripe v4 提供的日期和时间选择器模块,它将 flatpickr 添加到标准的 SilverStripe DateFieldDatetimeFieldTimeField 实例中。

Datepicker

内容

需求

安装

通过 Composer 进行安装

$ composer require silverware/calendar

注意: 如果网站使用 SilverWare,则网站上的表单将自动使用日期选择器。如果您使用的是纯 SilverStripe 项目,则需要将模块脚本和样式加载到您的应用程序包中(需要 jQuery)

  • silverware/calendar: client/dist/js/bundle.js
  • silverware/calendar: client/dist/styles/bundle.css

配置

与所有 SilverStripe 模块一样,配置通过 YAML 完成。对 LeftAndMainContentController 的扩展通过 config.yml 应用。

高亮颜色

该模块支持为 CMS 和网站表单提供自定义高亮颜色。要定义高亮颜色,请使用以下 YAML 配置

# Custom highlight color for CMS:

SilverStripe\Admin\LeftAndMain:
  calendar_highlight_color: '#abc'

# Custom highlight color for website forms:

SilverStripe\CMS\Controllers\ContentController:
  calendar_highlight_color: '#cba'

日期选择器类

SilverStripe 不会将其自己的 JavaScript 应用于具有特定日期选择器类的表单字段。为了防止冲突,请使用以下配置来定义 SilverStripe 将检测到的类

SilverStripe\Forms\FormField:
  calendar_datepicker_class: 'hasDatepicker'

通过配置禁用

如果您需要禁用特定表单字段的全部实例的日期选择器,请使用以下配置

# Disable for all date fields:

SilverStripe\Forms\DateField:
  calendar_disabled: true

使用

默认情况下,该模块将自动为所有 DateFieldDatetimeFieldTimeField 实例添加 flatpickr。每个字段将自动配置为每个用例的默认设置。

如果您需要应用由 flatpickr 支持的附加选项,您可以使用 setCalendarConfig() 方法

use SilverStripe\Forms\DateField;

$field = DateField::create('Date', 'Date');

$field->setCalendarConfig([
  'minDate' => date('Y-m-d'),
  'shorthandCurrentMonth' => true
]);

除了接受数组之外,setCalendarConfig() 方法还支持设置单个配置设置

$field->setCalendarConfig('weekNumbers', true);

有关支持选项的完整列表,请参阅 flatpickr 文档

通过实例禁用

如果您需要禁用特定字段实例的日期选择器,而不是所有实例,可以在字段上调用 setCalendarDisabled() 方法

$field->setCalendarDisabled(true);

问题

请使用 GitHub 问题跟踪器 来提交错误报告和功能请求。

贡献

我们欢迎您的贡献,以帮助改进此项目。有关更多信息,请参阅 贡献指南

归属

维护者

许可

BSD-3-Clause © Praxis Interactive