calvient/arbol

Laravel 应用程序的一个简单数据可视化工具。

安装: 3,307

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 0

开放问题: 0

语言: TypeScript

0.1.9 2024-08-21 16:10 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Arbol 是使用 TypeScript 构建的 Laravel 应用程序的简单数据可视化工具。

它允许客户创建自己的报告、提取和简单的仪表板。

这是一个解决复杂问题 80% 的简单工具!所以你可能仍然需要付费的数据可视化工具。但如果你需要简单的东西,这可能正是你需要的。

安装

您可以通过 composer 安装此包

composer require calvient/arbol

使用以下命令发布所有资产:

php artisan vendor:publish --provider="Calvient\Arbol\ArbolServiceProvider"

使用以下命令运行迁移:

php artisan migrate

核心概念

Arbol 通过以下 4 个概念工作

  • 序列
  • 切片
  • 过滤器
  • 格式

序列

序列是用户可以与之交互的原始数据集。例如,您可能有一个“播客流”系列,它包含来自一个或多个来源的数据。唯一的限制是它必须以二维表的形式返回数据。

切片

切片是分组数据的一种方式。例如,您可能希望按州查看“播客流”。

过滤器

过滤器是您定义应用于数据的过滤器集合。例如,用户可能只关心查看过去一周的“播客流”。

快速入门

安装包

composer require calvient/arbol

发布包资产并运行迁移

php artisan vendor:publish --provider='Calvient\Arbol\ArbolServiceProvider' php artisan migrate

每次更新后发布包资产

将以下内容添加到 composer.json 中“scripts” -> “post-update-cmd”键下

@php artisan vendor:publish --tag=arbol-assets --ansi --force

进行配置

我们假设您的 User 模型是 App\Models\User。如果不是,您可以在 arbol.php 配置文件中覆盖它。

因为 Arbol 可以将报告分配给用户,所以您可能还想进一步限制哪些用户可以看到 Arbol。您可以在 User.php 中添加以下范围。

public function scopeArbol($query)
{
    return $query->where('is_admin', true);
}

创建一个新的序列

php artisan make:arbol-series PodcastStreams

添加数据和配置

示例

<?php

namespace App\Arbol\Series;

use Calvient\Arbol\DataObjects\ArbolBag;

class PodcastStreams {
  public function data(ArbolBag $arbolBag)
  {
    // You should apply the filters here, which are in the variable $arbolBag.
    return PodcastStream::all();
  }

  public function slices()
  {
    return [
      'States' => fn($row) => $row['state'],
    ];
  }

  public function filters()
  {
    return [
      'Best State Ever' => fn($row) => $row['state'] === 'OK' ? 'Oklahoma' : 'Everyone else',
      'Length Listened' => [
        '< 15 minutes' => fn($row) => $row['listen_length'] < 15,
        '>= 15 minutes' => fn($row) => $row['listen_length'] >= 15,
      ]
    ];
  }
}

测试

composer test

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

致谢

许可

MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。