lib/Ajde/Crud/Options/List/Buttons.php
<?php
class Ajde_Crud_Options_List_Buttons extends Ajde_Crud_Options
{
/**
* @return Ajde_Crud_Options_List
*/
public function up($obj = false)
{
return parent::up($this);
}
// =========================================================================
// Select functions
// =========================================================================
// =========================================================================
// Set functions
// =========================================================================
/**
* Show the delete button.
*
* @param bool $show
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function setDelete($show)
{
return $this->_set('delete', $show);
}
/**
* Show the new button.
*
* @param bool $show
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function setNew($show)
{
return $this->_set('new', $show);
}
/**
* Show the edit button.
*
* @param bool $show
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function setEdit($show)
{
return $this->_set('edit', $show);
}
/**
* Show the view button.
*
* @param bool $show
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function setView($show)
{
return $this->_set('view', $show);
}
/**
* Sets the view URL.
*
* @param string $function
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function setViewUrlFunction($function)
{
return $this->_set('viewUrlFunction', $function);
}
/**
* Shows checkboxes.
*
* @param bool $show
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function setSelect($show)
{
return $this->_set('select', $show);
}
/**
* Adds a custom button for every item in the list.
*
* @param name $name Identifier of the button
* @param text $text Text to display
* @param string $class Optional classname to add
* @param bool $persistent Don't fold button
* @param bool $function Call model function defined in $text (return false to omit button)
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function addItemButton($name, $text, $class = null, $persistent = false, $function = false)
{
$buttons = ($this->has('itemButtons') ? $this->get('itemButtons') : []);
$buttons[$name] = [
'text' => $text,
'class' => isset($class) ? $class : $name,
'persistent' => $persistent,
'function' => $function,
];
return $this->_set('itemButtons', $buttons);
}
public function resetItemButtons()
{
return $this->_set('itemButtons', []);
}
/**
* Adds a custom button for every item in the list.
*
* @param name $name Identifier of the button
* @param text $text Text to display
* @param type $class Optional classname to add
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function addToolbarHtml($name, $html)
{
$toolbarHtml = ($this->has('toolbarHtml') ? $this->get('toolbarHtml') : []);
$toolbarHtml[$name] = $html;
return $this->_set('toolbarHtml', $toolbarHtml);
}
/**
* Do not group toolbar buttons.
*
* @param bool $value
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function setDoNotGroup($value)
{
return $this->_set('doNotGroup', $value);
}
/**
* Adds a custom button to the list toolbar.
*
* @param string $name Identifier of the button
* @param string $text Text to display
* @param string $class Optional classname to add
*
* @return Ajde_Crud_Options_List_Buttons
*/
public function addToolbarButton($name, $text, $class = null)
{
$buttons = ($this->has('toolbarButtons') ? $this->get('toolbarButtons') : []);
$buttons[$name] = ['text' => $text, 'class' => isset($class) ? $class : $name];
return $this->_set('toolbarButtons', $buttons);
}
}