v1.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace zin;
  3. class riskLabel extends wg
  4. {
  5. /**
  6. * @var mixed[]
  7. */
  8. protected static $defineProps = array(
  9. 'text?: string', // 标签文本
  10. 'level?: string' // 风险等级:高('high' 或 'h')、中('middle' 或 'm')、低('low' 或 'l')
  11. );
  12. public static function getPageCSS()
  13. {
  14. return file_get_contents(__DIR__ . DS . 'css' . DS . 'v1.css');
  15. }
  16. /**
  17. * @param mixed $child
  18. */
  19. protected function onAddChild($child)
  20. {
  21. if(is_string($child) && !$this->props->has('text'))
  22. {
  23. $this->props->set('text', $child);
  24. return false;
  25. }
  26. }
  27. private function getThemeClass()
  28. {
  29. $level = $this->prop('level');
  30. if($level === 'h' || $level === 'high') return 'risk-high';
  31. if($level === 'm' || $level === 'middle') return 'risk-middle';
  32. return 'risk-low';
  33. }
  34. protected function build()
  35. {
  36. $text = $this->prop('text');
  37. return span
  38. (
  39. set($this->getRestProps()),
  40. setClass($this->getThemeClass()),
  41. $text
  42. );
  43. }
  44. }