parent = $parent;
}
/**
@brief Output this row as a string.
@since 2015-12-21 23:32:03
**/
public function __toString()
{
$sorted = $this->sort_by( function( $action )
{
return $action->get_sort_order() . ' ' . $action->text;
} );
$actions = [];
foreach( $sorted as $action )
$actions []= $action . '';
// Put separators between.
$actions = implode( ' | ', $actions );
$r = '';
if ( $this->main !== null )
$r .= $this->main;
$r .= sprintf( '
%s
', $actions );
return $r;
}
/**
@brief Create a new action.
@since 2015-12-21 23:26:23
**/
public function action( $id )
{
if ( ! $this->has( $id ) )
{
$action = new Action( $this );
$this->set( $id, $action );
}
return $this->get( $id );
}
/**
@brief Return the main action.
@since 2015-12-21 23:57:17
**/
public function main()
{
if ( ! is_object( $this->main ) )
$this->main = new Main( $this );
return $this->main;
}
/**
@brief Set the url.
@details If the url is an array, we will run add_query_arg on it.
@since 2015-12-21 23:42:05
**/
public function url( $url )
{
if ( is_array( $url ) )
$url = add_query_arg( $url );
$this->url = $url;
return $this;
}
}