1b3f11aacSJames Collins<?php 2b3f11aacSJames Collins/** 3b3f11aacSJames Collins * Mikio Syntax Plugin: Progress Bar 4b3f11aacSJames Collins * 57935713eSJames Collins * @link http://github.com/nomadjimbob/mikioplugin 6b3f11aacSJames Collins * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 7b3f11aacSJames Collins * @author James Collins <james.collins@outlook.com.au> 8b3f11aacSJames Collins */ 9b3f11aacSJames Collinsif (!defined('DOKU_INC')) die(); 10b3f11aacSJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 11*3a0ad8d3SJames Collinsrequire_once(__DIR__.'/core.php'); 12b3f11aacSJames Collins 13b3f11aacSJames Collinsclass syntax_plugin_mikioplugin_progressbar extends syntax_plugin_mikioplugin_core { 14b3f11aacSJames Collins public $tag = 'progressbar'; 157935713eSJames Collins public $hasEndTag = false; 16b3f11aacSJames Collins public $options = array( 177935713eSJames Collins 'width' => array('type' => 'number', 'default' => '0'), 187935713eSJames Collins // 'height' => array('type' => 'size', 'default' => '1em'), 197935713eSJames Collins 'striped' => array('type' => 'boolean', 'default' => 'false'), 207935713eSJames Collins 'animated' => array('type' => 'boolean', 'default' => 'false'), 217935713eSJames Collins 'text' => array('type' => 'text', 'default' => ''), 227935713eSJames Collins // 'type' => array('type' => 'choice', 237935713eSJames Collins // 'data' => array('primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark'), 247935713eSJames Collins // 'default' => 'primary'), 25b3f11aacSJames Collins ); 267935713eSJames Collins 277935713eSJames Collins public function __construct() { 287935713eSJames Collins $this->addCommonOptions('height type'); 297935713eSJames Collins $this->options['type']['default'] = 'primary'; 307935713eSJames Collins $this->options['height']['default'] = '1.5em'; 317935713eSJames Collins } 32b3f11aacSJames Collins 33b3f11aacSJames Collins 34b3f11aacSJames Collins public function render_lexer_special(Doku_Renderer $renderer, $data) { 357935713eSJames Collins $classes = $this->buildClass($data, array('striped', 'animated')); 368127a956SJames Collins $styles = $this->buildStyle(array('height' => $data['height'] ?? ''), TRUE); 37b3f11aacSJames Collins 387935713eSJames Collins $renderer->doc .= '<div class="' . $this->elemClass . ' mikiop-progress"' . $styles . '>'; 397935713eSJames Collins $renderer->doc .= '<div class="' . $this->elemClass . ' mikiop-progress-bar ' . $classes . '" role="progressbar" style="width:' . $data['width'] . '%" aria-valuenow="' . $data['width'] . '" aria-valuemin="0" aria-valuemax="100">' . $data['text'] . '</div>'; 407935713eSJames Collins $renderer->doc .= '</div>'; 41b3f11aacSJames Collins } 42b3f11aacSJames Collins} 43b3f11aacSJames Collins?>