MC
TProgressBar - Adição de Funcionalidade.
Boas,
O Classe TProgressBar tem diversas finalidades, eu costumo usa-la nas minhas grid's.
Fiz uma atualização da mesma na versão 4.0, acrescentando o STRIPED ( https://www.w3schools.com/bootstrap/bootstrap_progressbars.asp ) .
Como não houve nenhuma mudança na versão 5.0, assim resolvi compartilhar com vocês esta Atualização.
Abraços as Todos:
USO:
- Basta acionar o setStriped() caso não queira animação ou setStriped(true) com animação
CODIGO
O Classe TProgressBar tem diversas finalidades, eu costumo usa-la nas minhas grid's.
Fiz uma atualização da mesma na versão 4.0, acrescentando o STRIPED ( https://www.w3schools.com/bootstrap/bootstrap_progressbars.asp ) .
Como não houve nenhuma mudança na versão 5.0, assim resolvi compartilhar com vocês esta Atualização.
Abraços as Todos:
USO:
- Basta acionar o setStriped() caso não queira animação ou setStriped(true) com animação
- <?php
- $bar = new TProgressBar;
- $bar->setValue(100);
- $bar->setStriped(true);
- ?>
CODIGO
- <?php
- namespace Adianti\Widget\Util;
- use Adianti\Widget\Base\TElement;
- /**
- * TProgressBar
- *
- * @version 5.0
- * @package widget
- * @subpackage util
- * @author Ademilson Nunes
- * @author Pablo Dall'Oglio
- * @copyright Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
- * @license http://www.adianti.com.br/framework-license
- * @Update MarcoARCampos
- */
- class TProgressBar_V51 extends TElement
- {
- private $value;
- private $mask;
- private $className;
- private $striped;
- public function __construct()
- {
- parent::__construct('div');
- $this->{'class'} = 'progress';
- $this->{'id'} = 'tprogressbar_'.mt_rand(1000000000, 1999999999);
- $this->{'style'} = 'margin-bottom:0; text-shadow: none;';
- $this->mask = '{value}%';
- $this->className = 'info';
- $this->striped = ''; // by MarcoARCampos
- }
- /**
- * set mask for progress bar value Ex: "{value}%"
- */
- public function setMask($mask)
- {
- $this->mask = $mask;
- }
- /**
- * set style class
- */
- public function setClass($class)
- {
- $this->className = $class;
- }
- /**
- * Set the value of progress bar
- */
- public function setValue($value)
- {
- $this->value = $value;
- }
- /**
- * Set Progress bars can also be striped:
- * parameter - $active -> Add class .active to animate the progress bar
- * By MarcoARCampos
- */
- public function setStriped( $active = FALSE )
- {
- $this->striped = (( $active ) ? "progress-bar-striped active" : "progress-bar-striped" );
- }
- /**
- * Shows the widget at the screen
- */
- public function show()
- {
- $progressBar = new TElement('div');
- // Striped by MarcoARCampos
- $progressBar->{'class'} = "progress-bar progress-bar-{$this->className} {$this->striped}";
- $progressBar->{'role'} = 'progressbar';
- $progressBar->{'arial-valuenow'} = $this->value;
- $progressBar->{'arial-valuemin'} = '0';
- $progressBar->{'arial-valuemax'} = '100';
- $progressBar->{'style'} = 'width: ' . $this->value . '%;';
- $value = str_replace( '{value}', $this->value, $this->mask );
- $progressBar->add( $value );
- parent::add( $progressBar );
- parent::show();
- }
- }
- ?>