Adminix Documentation Help

Chart Bar

image.png

Description

The Chart-Bar module displays the ratio of the number of records of a certain entity in accordance with specified criteria. For example it can display ratio of the number of users by roles.

Configuration

use App\Models\User; use AlexKudrya\Adminix\Enums\ColorsEnum; use AlexKudrya\Adminix\Modules\ChartBar\ChartBarItem; use AlexKudrya\Adminix\Modules\ChartBar\ChartBarModule; ... $page = new AdminixPage(); ... $page->addModule( ChartBarModule::title('USERS BY ROLES') ->name('users_by_roles') ->dataSource(User::class) ->criteria([ ['is_banned', '=', false], ]) ->addBars( ChartBarItem::label('Client') ->color(ColorsEnum::MEDIUM_SEA_GREEN) ->criteria([['role_id', '=', 1]]), ChartBarItem::label('Guest') ->color(ColorsEnum::ROYAL_BLUE) ->criteria([['role_id', '=', 2]]), ChartBarItem::label('Manager') ->color(ColorsEnum::ORANGE) ->criteria([['role_id', '=', 3]]), ChartBarItem::label('Admin') ->color(ColorsEnum::FIRE_BRICK) ->criteria([['role_id', '=', 4]]), ) );

To add to the page Chart Bar module you need paste AlexKudrya\Adminix\Modules\ChartBar\ChartBarModule class instance as an argument to addModule method of AdminixPage object.

ChartBarModule Configuration

Method

Description

title

Title of the chart on top of this module

title('USERS BY ROLES')

Required

name

Name of module, must be unique in current page.

name('users_by_roles')

Required

dataSource

Source of data for chart, can be an Eloquent Model - \App\Models\User::class or name of table in database users or public.users

dataSource(User::class) // or dataSource('users')

Required

criteria

Database Builder criteria all bars in chart. For example to not show banned users you need paste this:

criteria([ ['is_banned', '!=', 1] ])

Or you can paste parameter from route:

criteria([ ['store_id', '=', 'param:1'] )

For example, for https://site.com/adminix/users_by_store/2 it wiil be mean that you need dynamics for store_id == 2.

Optional

bars

Array of bars for this chart with personal configuration for each of them

Required

Bars

To add Bars to your ChartBar module you need paste AlexKudrya\Adminix\Modules\ChartBar\ChartBarItem class instance as an argument to addBar or addBars method of ChartBarModule object.

ChartBarItem configuration

Method

Description

label

Label for current bar in chart

label('Client')

Required

color

Color of current bar in chart, can be provided only by AlexKudrya\Adminix\Enums\ColorsEnum Enum class

color(ColorsEnum::MEDIUM_SEA_GREEN)

Required

criteria

Criteria for selection record to count in current bar

For example to display in bar number of users with role_id == 3 you need paste this:

criteria([ ['role_id', '=', 3], ])

Required

Appearance examples

image.png
image.png
Last modified: 04 June 2024