xref: /plugin/mikioplugin/syntax/buttongroup.php (revision 7935713e90ae66bca4380ea057ab7fd4f3e18daa)
1ac31aaceSJames Collins<?php
2ac31aaceSJames Collins/**
3ac31aaceSJames Collins * Mikio Syntax Plugin: Button Group
4ac31aaceSJames Collins *
5*7935713eSJames Collins * @link        http://github.com/nomadjimbob/mikioplugin
6ac31aaceSJames Collins * @license     GPL 2 (http://www.gnu.org/licenses/gpl.html)
7ac31aaceSJames Collins * @author      James Collins <james.collins@outlook.com.au>
8ac31aaceSJames Collins */
9ac31aaceSJames Collinsif (!defined('DOKU_INC')) die();
10ac31aaceSJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
11ac31aaceSJames Collinsrequire_once(dirname(__FILE__).'/core.php');
12ac31aaceSJames Collins
13ac31aaceSJames Collinsclass syntax_plugin_mikioplugin_buttongroup extends syntax_plugin_mikioplugin_core {
14ac31aaceSJames Collins    public $tag                 = 'button-group';
15*7935713eSJames Collins    public $hasEndTag           = true;
16*7935713eSJames Collins    public $options             = array(
17*7935713eSJames Collins        'size'          => array('type'     => 'choice',
18*7935713eSJames Collins                                 'data'     => array('large'=> array('large', 'lg'), 'small' => array('small', 'sm')),
19*7935713eSJames Collins                                 'default'  => ''),
20*7935713eSJames Collins        'vertical'      => array('type'     => 'boolean',   'default'   => 'false'));
21ac31aaceSJames Collins
22*7935713eSJames Collins    public function __construct() {
23*7935713eSJames Collins        $this->addCommonOptions('align shadow');
24*7935713eSJames Collins    }
25*7935713eSJames Collins
26*7935713eSJames Collins    public function getAllowedTypes() { return array('formatting', 'substition', 'disabled'); }
27*7935713eSJames Collins    public function getPType() { return 'normal'; }
28ac31aaceSJames Collins
29ac31aaceSJames Collins    public function render_lexer_enter(Doku_Renderer $renderer, $data) {
30*7935713eSJames Collins        $classes = $this->buildClass($data, array('size', 'vertical'));
31ac31aaceSJames Collins
32*7935713eSJames Collins        $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'button-group' . $classes . '" role="group">';
33*7935713eSJames Collins        $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'button-group-inner" role="group">';
34ac31aaceSJames Collins    }
35ac31aaceSJames Collins
36ac31aaceSJames Collins
37ac31aaceSJames Collins    public function render_lexer_exit(Doku_Renderer $renderer, $data) {
38*7935713eSJames Collins        $renderer->doc .= '</div></div>';
39ac31aaceSJames Collins    }
40ac31aaceSJames Collins}
41ac31aaceSJames Collins?>