105 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\v;
 | |
| 
 | |
| use nur\v\html5\Html5IconManager;
 | |
| use nur\v\model\IIconManager;
 | |
| 
 | |
| /**
 | |
|  * Class icon: gestion des icones
 | |
|  */
 | |
| class icon {
 | |
|   const MANAGER_CLASS = Html5IconManager::class;
 | |
| 
 | |
|   protected static $manager_class;
 | |
| 
 | |
|   /**
 | |
|    * spécifier la classe à utiliser pour instancier le gestionnaire de
 | |
|    * iconulaires
 | |
|    *
 | |
|    * cette méthode *doit* être appelée avant d'appeler la méthode
 | |
|    * {@link manager()}
 | |
|    */
 | |
|   static final function set_manager_class(string $manager_class) {
 | |
|     self::$manager_class = $manager_class;
 | |
|   }
 | |
| 
 | |
|   /** @var IIconManager */
 | |
|   protected static $manager;
 | |
| 
 | |
|   static final function set_manager(IIconManager $manager) {
 | |
|     self::$manager = $manager;
 | |
|   }
 | |
| 
 | |
|   /** obtenir l'instance globale de gestionnaire de iconulaire */
 | |
|   static final function manager(): IIconManager {
 | |
|     if (self::$manager === null) {
 | |
|       $manager_class = self::$manager_class;
 | |
|       if ($manager_class === null) $manager_class = static::MANAGER_CLASS;
 | |
|       self::$manager = new $manager_class();
 | |
|     }
 | |
|     return self::$manager;
 | |
|   }
 | |
| 
 | |
|   static final function __callStatic($name, $args) {
 | |
|     $name = str_replace("_", "-", $name);
 | |
|     return self::manager()->getIcon($name, ...$args);
 | |
|   }
 | |
| 
 | |
|   #############################################################################
 | |
| 
 | |
|   static final function info($suffix=null, ?string $alt="INFO: "): array { return self::manager()->getIcon("info", $suffix, $alt); }
 | |
|   static final function success($suffix=null, ?string $alt="SUCCESS: "): array { return self::manager()->getIcon("success", $suffix, $alt); }
 | |
|   static final function warning($suffix=null, ?string $alt="WARNING: "): array { return self::manager()->getIcon("warning", $suffix, $alt); }
 | |
|   static final function error($suffix=null, ?string $alt="ERROR: "): array { return self::manager()->getIcon("error", $suffix, $alt); }
 | |
| 
 | |
|   static final function pending($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("hourglass", $suffix, $alt); }
 | |
|   static final function refresh($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("refresh", $suffix, $alt); }
 | |
|   static final function config($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("config", $suffix, $alt); }
 | |
|   static final function save($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("save", $suffix, $alt); }
 | |
|   static final function download($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("download", $suffix, $alt); }
 | |
|   static final function upload($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("upload", $suffix, $alt); }
 | |
|   static final function bin($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("bin", $suffix, $alt); }
 | |
|   static final function mail($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("mail", $suffix, $alt); }
 | |
|   static final function search($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("search", $suffix, $alt); }
 | |
|   static final function user($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("user", $suffix, $alt); }
 | |
|   static final function login($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("login", $suffix, $alt); }
 | |
|   static final function logout($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("logout", $suffix, $alt); }
 | |
|   static final function new_window($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("new_window", $suffix, $alt); }
 | |
| 
 | |
|   static final function ignore($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("fast-forward", $suffix, $alt); }
 | |
|   static final function replace($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("erase", $suffix, $alt); }
 | |
|   static final function delete($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("remove", $suffix, $alt); }
 | |
| 
 | |
|   static final function arrow_up($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("arrow_up", $suffix, $alt); }
 | |
|   static final function arrow_down($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("arrow_down", $suffix, $alt); }
 | |
|   static final function arrow_left($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("arrow_left", $suffix, $alt); }
 | |
|   static final function arrow_right($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("arrow_right", $suffix, $alt); }
 | |
|   static final function chevron_up($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("chevron_up", $suffix, $alt); }
 | |
|   static final function chevron_down($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("chevron_down", $suffix, $alt); }
 | |
|   static final function chevron_left($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("chevron_left", $suffix, $alt); }
 | |
|   static final function chevron_right($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("chevron_right", $suffix, $alt); }
 | |
|   static final function hand_up($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("hand_up", $suffix, $alt); }
 | |
|   static final function hand_down($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("hand_down", $suffix, $alt); }
 | |
|   static final function hand_left($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("hand_left", $suffix, $alt); }
 | |
|   static final function hand_right($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("hand_right", $suffix, $alt); }
 | |
|   static final function menu_up($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("menu_up", $suffix, $alt); }
 | |
|   static final function menu_down($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("menu_down", $suffix, $alt); }
 | |
|   static final function menu_left($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("menu_left", $suffix, $alt); }
 | |
|   static final function menu_right($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("menu_right", $suffix, $alt); }
 | |
|   static final function triangle_up($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("triangle_up", $suffix, $alt); }
 | |
|   static final function triangle_down($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("triangle_down", $suffix, $alt); }
 | |
|   static final function triangle_left($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("triangle_left", $suffix, $alt); }
 | |
|   static final function triangle_right($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("triangle_right", $suffix, $alt); }
 | |
| 
 | |
|   static final function star($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("star", $suffix, $alt); }
 | |
|   static final function star_empty($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("star_empty", $suffix, $alt); }
 | |
|   static final function heart($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("heart", $suffix, $alt); }
 | |
|   static final function heart_empty($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("heart_empty", $suffix, $alt); }
 | |
| 
 | |
|   static final function plus($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("plus", $suffix, $alt); }
 | |
|   static final function minus($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("minus", $suffix, $alt); }
 | |
| 
 | |
|   # template:
 | |
|   #static final function xxx($suffix=null, ?string $alt=null): array { return self::manager()->getIcon("xxx", $suffix, $alt); }
 | |
| }
 |