wdelfuego/nova-calendar

为 Laravel 的 Nova 4 提供的一个强大的事件日历工具。

资助包维护!
wdelfuego

v2.1.6 2024-02-26 19:38 UTC

README

一个事件日历,可以在您的 Nova 4 项目中以适应清晰和深色模式的月视图显示 Nova 资源或其他与时间相关的数据。

The design of the calendar in both clear and dark mode

安装

composer require wdelfuego/nova-calendar

有关实施和使用日历的帮助,请参阅文档

升级

此包的 2.0 版本于 2023 年 6 月 7 日发布。

为 v1.x 版本的用户提供了升级指南。升级不应需要超过 15 分钟。

许可证摘要

任何人都可以根据他们的意愿使用和修改此包,包括商业用途,只要商业用途是 a) 创建已实现的日历视图和/或 b) 使用已实现的日历视图。基本上唯一的条件是您不能转授权此包或将其嵌入到框架中(除非您在 AGPLv3 许可证下这样做)。在 Nova 中的使用与 AGPLv3 许可证不兼容。更多详细信息下面

支持和文档

对于您可能遇到的问题或疑虑,请提交一个问题。对于功能请求,请点赞或打开一个功能请求讨论。欢迎对此工具感兴趣的开发者一起合作。

它能做什么?

此 Nova 4 日历工具显示现有的 Nova 资源,如果您想的话,还可以动态生成事件,但它本身不提供数据库迁移或 Eloquent 模型。这被认为是一个功能。预计您的项目已经包含某些具有 DateTime 字段的 Nova 资源或某些其他可以用来生成显示给最终用户的事件的时间相关数据。

支持以下功能

  • 自动在月视图上显示 Nova 资源
  • 在同一个日历上混合多种类型的 Nova 资源
  • 显示与 Nova 资源无关的事件
  • 使用事件过滤器来限制日历上显示的事件数量
  • 为事件和日历天添加徽章以指示状态或吸引注意力
  • 自定义每个单独事件的视觉样式和内容
  • 尊重 Laravel 策略以自动排除日历中的事件
  • 允许最终用户使用热键在日历中导航
  • 允许最终用户通过单击事件导航到资源的详细信息或编辑视图

它不能做什么(目前)?

以下功能目前不受支持

  • 与外部日历服务的集成
  • 直接从日历视图创建新事件
  • 拖放以更改事件日期

请创建或点赞功能请求讨论,在 GitHub 存储库中为您认为最有价值的特性。

发布日志

v2.1

  • 在日历视图中顶部添加了年/月选择下拉菜单

v2.0

  • 支持多个日历实例,每个实例都有自己的日历数据提供者和配置
  • 支持事件过滤器,允许最终用户在日历中显示不同的事件子集
  • 现在在重新加载时,日历将恢复其之前的视图状态
  • 进行了一些小的UI和UX改进
  • 已为多个前端视图(周视图、日视图等)准备了包基础设施
  • 现在可以在PHP 7.4下安装包(之前仅支持8.0+)

v1.8

  • 添加了对Laravel 10的支持,感谢@pcorrick!
  • 修复了某些多日事件在某些情况下在日历中未正确显示的问题,感谢@SamMakesCode!

v1.7

  • 在按住Ctrl或Meta键的同时单击事件,现在将在新浏览器窗口中打开目标URL,感谢@vesper8!
  • 事件备注现在支持HTML内容

v1.6

  • 日历工具的URI现在可配置,感谢@kitchetof!
  • 添加了对自定义事件生成器的支持,以定义从Nova资源到日历事件的自定义映射
  • 对于此包的开发者:添加了第一套单元测试

v1.5

v1.4

  • 现在可以将徽章添加到日历天单元格中

v1.3

  • 现在将自动隐藏用户无权限查看的Nova资源的事件
  • 现在可以单独排除Nova资源的事件

v1.2

  • 添加了对自定义非Nova事件的支持
  • 添加了对将多个自定义样式应用到事件的支持

v1.1

  • 添加了对多日事件的支持
  • 改进了视觉设计
  • 更好地支持移动设备使用
  • 修复了徽章可能会覆盖事件标题的bug
  • 视图现在使用css grid而不是表格
  • 引入了新的双许可模式(请参阅此文件的末尾)

v1.0

  • 初始版本,仅支持单日事件

许可

版权 © 2022 • Willem Vervuurt,Studio Delfuego,wdelfuego

必须将此版权和许可通知包含在任何副本、备份、分支或任何其他修改版本的包中。

您可以使用此包在以下两种许可协议之一下使用

  1. GNU AGPLv3,用于与GPLv3或更高版本兼容的开源项目。请注意,此许可证与在Nova中使用不兼容,因此在此版本存在之前,此包不能在此许可证下使用。您可以在本存储库中的LICENSE-agpl-3.0.txt中找到此许可证的完整条款,也可以在https://gnu.ac.cn/licenses/上找到副本。

  2. 一个永久、不可撤销的、100%免费(指啤酒)的许可证,允许非商业用途和商业用途,以下列6个条件为准

  • 您可以使用此包在任意数量的服务器上实现和/或使用任意数量的日历,并对其收费,只要您和/或您的组织是以下之一:a) 负责实现日历的开发者,b) 实现日历的最终用户,或c) 两者都是。

  • 在此许可证下,不允许将此包(或其修改版本)的再许可、重新许可、转售或对其他开发者进行再分发以用于实现日历视图。

  • 您有权对软件进行任何修改,无需公开您的修改或宣布它们。

  • 只要您免费提供、作为一个独立软件包以及按照相同的双许可模式,您就可以公开制作和分发此软件包的修改版本。

  • 根据本许可协议,明确不允许将此软件包(或其修改版本)嵌入到可供您的组织外部的开发者使用的免费或付费的软件库或框架中。如果软件库或框架与GPLv3或更高版本兼容,您可以在GNU AGPLv3许可下这样做。

  • 以下声明适用

    • 软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是由于合同行为、侵权行为或其他行为引起的,与软件或其使用或其他方式有关。

    • 您必须承担与软件的安装和使用相关的所有风险。许可持有人负责确定使用的适当性,并承担使用软件相关的所有风险,包括但不限于程序错误的风险、设备损坏、数据或软件程序丢失,或操作不可用或中断的风险。