ealore/progress

基于日期的 Bootstrap 3 进度条生成器

v1.1.6 2015-12-07 21:05 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:03:57 UTC


README

Build Status

进度

基于日期的 Bootstrap 3 进度条生成器

安装

composer require ealore\progress

如果你使用 Laravel 5,可以将服务提供者添加到 config/app.php 的 providers 数组中

Ealore\Progress\ProgressServiceProvider::class,

用法

$progress = new Ealore\Progress('2013-01-01','2013-12-31','P30D');
echo $progress->render(); // generate the html for the progress bar, based on the dates you provided.

生成的 HTML 看起来是这样的

<div class="progress">
    <div class="progress-bar progress-bar-success" style="width: 31.24%"><span class="sr-only">31.24%</span></div>
    <div class="progress-bar progress-bar-warning" style="width: 2.81%"><span class="sr-only">2.81%</span></div>
    <div class="progress-bar progress-bar-danger" style="width: 65.95%"><span class="sr-only">65.95%</span></div>
</div>

你也可以使用设置器

$progress = new Ealore\Progress\Progress;
$progress->setStartDate('2013-01-01');
$progress->setWarningThresholdAsDate('2013-12-01');
$progress->setEndDate('2013-12-31');

echo $progress->render();

'警告'区域的阈值

你可以通过两种方式设置一个阈值来标记'警告'区域的开始

  • 作为日期: $progress->setWarningThresholdAsDate('2014-12-01');

  • 作为字符串,遵循 PHP 的 DateInterval 格式: $progress->setWarningThresholdAsString('P20D'); // 20天

  • 作为浮点值表示的百分比: $progress->setWarningThresholdAsString(25.0); // 25%

默认值

当开始和结束没有设置时,默认值是从初始化时间戳定义的:开始为 一个月前,结束为 下个月。默认情况下,'警告'区域开始于结束日期前一个月。如果开始和结束没有设置,这意味着'警告'开始于初始化时刻。阈值可以通过将其设置为零来完全移除

$progress->setWarningThresholdAsString('P0D');

请查看下面的示例,最后一个示例显示了将警告间隔设置为零的效果。

示例

Screenshot

贡献

欢迎提交 Pull Request

路线图

  • 创建一个更灵活的 setWarningThreshold 方法,该方法接受混合参数
  • 方法文档
  • 重构测试