public function test_button_components() { // Test object $page = Page::find(1); // Check the create method. $group = ButtonGroup::create(); $this->assertInstanceOf(ButtonGroup::class, $group); // Shouldn't have anything in it. $this->assertCount(0, $group->getButtons()); // Should return a zero count. $this->assertEquals(0, $group->count()); // Button groups $button = Button::create(); // Check default setting. $this->assertNull($button->getAttribute('href')); // Adding to the group will increment the button count. $group->add($button); $this->assertEquals(1, $group->count()); // Try adding the other way around. $button2 = Button::create(); $button2->addTo($group); $this->assertEquals(2, $group->count()); // Check if the button attributes are assigned correctly. $button->parent($page)->link('view'); $this->assertEquals("View Pages", $button->getLabel()); $this->assertEquals($page::getIcon(), $button->getIcon()); $this->assertEquals(cms_url($page::plural()), $button->getAttribute('href')); }
/** * Display the form for creating the object. * @usage /models/create * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\View\View */ public function create(Request $request) { $class = $this->setClass($request->Model->getClass()); $model = $this->setData('model', new $class()); $model->inputs(); $this->setActions([Button::create()->parent($model)->link('home'), Button::create()->parent($model)->link('view'), Button::create()->parent($model)->link('create')->active(), Button::create()->parent($model)->action('save')]); $this->setViews([Button::create()->parent($class)->link('list'), Button::create()->parent($class)->link('tree')]); return $this->birdmin('cms::manage.create'); }
public function child($class) { if (class_exists($class)) { $this->class = $class; $method = $class::plural(); $this->related = method_exists($this->model, $method) ? $this->model->{$method}()->get() : $this->model->related($class); $this->actions->add(Button::create()->parent($class)->link('create')->classes('button success')); } return $this; }
public function index() { $this->setActions([Button::create()->link('home')->active()]); return $this->birdmin('cms::home'); }
/** * Use a model class and set default navigation structure. * @param string $class * @return $this */ public function navigation($class) { Button::create()->parent($class)->link('navigation')->setView('cms::components.navigation')->addTo($this->navigation); return $this; }
/** * Display the media upload form. * @param Request $request * @return \Illuminate\Http\Response */ public function create(Request $request) { $this->setActions([Button::create()->parent($this->class)->link('home'), Button::create()->parent($this->class)->link('view'), Button::create()->parent($this->class)->link('upload')->active()]); $this->setData('dropzone', Dropzone::create()->handler('default', cms_url('media/upload'))); return $this->birdmin('cms::media.upload'); }