paVLM/yii2-stats-widget

从应用程序的不同数据源探索时间序列数据的统计小部件

安装: 49

依赖项: 0

建议者: 0

安全: 0

星标: 4

关注者: 3

分支: 3

开放问题: 0

类型:yii2-extension

v0.1.2 2018-04-11 18:30 UTC

This package is auto-updated.

Last update: 2024-09-29 05:08:07 UTC


README

可视化应用程序中的时间序列数据。该包由两部分组成。

  • 基于 charts.js 库的交互式统计小部件。小部件功能包括:浏览不同的日期范围,更改数据分组间隔。
  • 数据提供者和格式化器,用于读取和适配应用程序统计数据的小部件。

安装

composer require pavlm/yii2-stats-widget

使用

1. 设置 StatsAction

将操作添加到某个控制器。配置时间序列提供者。

    public function actions()
    {
        return [
            'stats-users' => [
                'class' => StatsAction::class,
                'providerFactory' => new TimeSeriesProviderCallbackFactory(function ($rangeStart, $rangeEnd, $period, $timeZone) {
                    return new QueryStatsProvider([
                        'rangeStart' => $rangeStart,
                        'rangeEnd' => $rangeEnd,
                        'period' => $period,
                        'timeZone' => $timeZone,
                        'timeZoneConnection' => new \DateTimeZone('Europe/Moscow'),
                        'query' => (new Query())->from('user'),
                        'dateField' => 'created_at',
                        'dateFieldType' => QueryStatsProvider::DATETYPE_INT,
                    ]);
                }),
                'timeZone' => 'Europe/Moscow',
                'defaultRange' => 'P2Y',
                'defaultPeriod' => 'P1Y',
            ],
        ];
    }

注意:可以在 pavlm/yii2-stats-providers 包中找到额外的时序提供者。

2. 将小部件添加到某个应用程序视图。

小部件 statsAction 必须设置为步骤 1 中配置的操作路由。

echo StatsWidget::widget([
    'statsAction' => ['stats/stats-users'],
]);

3. 打开带有统计小部件的页面。

StatsWidget example

本地化

    'i18n' => [
        'translations' => [
            'stats-widget' => [
                'class' => yii\i18n\PhpMessageSource::class,
                'basePath' => '@pavlm/yii/stats/messages',
            ],
        ],
    ],