1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace Tests\Controllers;
- use Dcat\Admin\Admin;
- use Dcat\Admin\Layout\Content;
- use Dcat\Admin\Layout\Row;
- use Dcat\Admin\Widgets\Box;
- use Dcat\Admin\Widgets\Dropdown;
- use Illuminate\Routing\Controller;
- class DropdownController extends Controller
- {
- protected $tian = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸'];
- protected $di = ['寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥', '子', '丑'];
- public function index(Content $content)
- {
- return $content->header('Dropdown Menu')
- ->row(function (Row $row) {
- $row->column(3, $this->example1());
- $row->column(3, $this->example2());
- $row->column(3, $this->example3());
- });
- }
- protected function example1()
- {
- $menu1 = Dropdown::make($this->tian)->button('天干');
- $menu2 = Dropdown::make()
- ->button('使用标题')
- ->buttonClass('btn btn-sm btn-inverse')
- ->options($this->tian, '天干')
- ->options($this->di, '地支');
- $menu3 = Dropdown::make([1, 2, 3, Dropdown::DIVIDER, 4, 5])->button('中间加分隔线');
- return Box::make(
- 'Example1',
- $menu1->render().' '.$menu2->render().' '.$menu3->render()
- );
- }
- protected function example2()
- {
- $menu = Dropdown::make($this->tian);
- $menu->map(function ($v, $k) {
- if ($k === 7) {
- $this->divider();
- }
- $k++;
- return "{$k}. $v";
- });
- return Box::make('Example2', function () use ($menu) {
- return "<div class='dropdown'><a class='btn no-shadow text-muted' data-toggle='dropdown' href='javascript:void(0)'><i class='ti-email'></i> 自定义按钮 </a>{$menu->render()}</div>";
- });
- }
- protected function example3()
- {
- $menu1 = Dropdown::make()
- ->options($this->tian, '天干')
- ->options($this->di, '地支')
- ->click()
- ->buttonClass('btn btn-sm btn-light')
- ->map(function ($v, $k) {
- $k++;
- return "<a class='test_item' data-id='$k', data-value='{$v}' data-test='Hello world.' href='javascript:void(0)'>{$k}. $v</a>";
- });
- Admin::script(
- <<<'JS'
- $('.test_item').click(function () {
- LA.info("Selected: " + JSON.stringify($(this).data()));
- });
- JS
- );
- return Box::make('Example3', $menu1);
- }
- }
|