Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
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 ...
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

  1. <?php
  2.         $bar = new TProgressBar;
  3.         $bar->setValue(100);
  4.         $bar->setStriped(true);
  5. ?>




CODIGO

  1. <?php
  2. namespace Adianti\Widget\Util;
  3. use Adianti\Widget\Base\TElement;
  4. /**
  5.  * TProgressBar
  6.  *
  7.  * @version    5.0
  8.  * @package    widget
  9.  * @subpackage util
  10.  * @author     Ademilson Nunes
  11.  * @author     Pablo Dall'Oglio
  12.  * @copyright  Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
  13.  * @license    http://www.adianti.com.br/framework-license
  14.  * @Update     MarcoARCampos
  15.  */
  16. class TProgressBar_V51 extends TElement
  17. {
  18.     private $value;
  19.     private $mask;
  20.     private $className;
  21.     private $striped;
  22.     
  23.     public function __construct() 
  24.     {
  25.         parent::__construct('div');
  26.         $this->{'class'} = 'progress';
  27.         $this->{'id'} = 'tprogressbar_'.mt_rand(10000000001999999999);
  28.         $this->{'style'} = 'margin-bottom:0; text-shadow: none;';
  29.         $this->mask '{value}%';
  30.         $this->className 'info';
  31.         $this->striped '';   // by MarcoARCampos
  32.     }
  33.     
  34.     /**
  35.      * set mask for progress bar value Ex: "{value}%"
  36.      */
  37.     public function setMask($mask)
  38.     {
  39.         $this->mask $mask;
  40.     }
  41.     
  42.     /**
  43.      * set style class
  44.      */
  45.     public function setClass($class)
  46.     {
  47.         $this->className $class;
  48.     }
  49.     
  50.     /**
  51.      * Set the value of progress bar
  52.      */ 
  53.     public function setValue($value)
  54.     {
  55.        $this->value $value;
  56.     }
  57.             
  58.             
  59.     /**
  60.      * Set Progress bars can also be striped:
  61.      * parameter - $active -> Add class .active to animate the progress bar 
  62.      * By MarcoARCampos
  63.      */ 
  64.     public function setStriped$active FALSE )
  65.     {
  66.        $this->striped = (( $active ) ? "progress-bar-striped active" "progress-bar-striped" );
  67.     }
  68.             
  69.             
  70.     /**
  71.      * Shows the widget at the screen
  72.      */       
  73.     public function show()
  74.     {                   
  75.         $progressBar = new TElement('div');
  76.         // Striped by MarcoARCampos        
  77.         $progressBar->{'class'} = "progress-bar progress-bar-{$this->className} {$this->striped}";
  78.         $progressBar->{'role'}  = 'progressbar';
  79.         $progressBar->{'arial-valuenow'} = $this->value;
  80.         $progressBar->{'arial-valuemin'} = '0';
  81.         $progressBar->{'arial-valuemax'} = '100';
  82.         $progressBar->{'style'} = 'width: ' $this->value '%;';
  83.          
  84.         $value str_replace'{value}'$this->value$this->mask );
  85.          
  86.         $progressBar->add$value );
  87.         
  88.         parent::add$progressBar );
  89.        
  90.         parent::show();
  91.     }
  92. }
  93. ?>





Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (0)