Example #1
0
 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'));
 }
Example #2
0
 /**
  * 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');
 }
Example #3
0
 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;
 }
Example #4
0
 public function index()
 {
     $this->setActions([Button::create()->link('home')->active()]);
     return $this->birdmin('cms::home');
 }
Example #5
0
 /**
  * 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;
 }
Example #6
0
 /**
  * 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');
 }