%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/ui/form/widgets/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/ui/form/widgets/ColorPicker.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2018 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\modules\ui\form\widgets; use Colors\RandomColor; use humhub\modules\ui\form\widgets\JsInputWidget; /** * Adds a color picker form field for the given model. * * @since 1.3 * @author buddha */ class ColorPicker extends JsInputWidget { /** * @deprecated since v1.2.2 use $attribute instead */ public $field; /** * @var string the container id used to append the actual color picker js widget. */ public $container; /** * @inheritdoc */ public $attribute = 'color'; /** * @var bool If set to true, a random color will be set as default */ public $randomDefault = true; /** * @inheritdoc */ public function init() { if (!empty($this->field) && is_array($this->field)) { $this->attribute = $this->field; } if (($this->hasModel() && !$this->getValue() && $this->randomDefault) || !$this->isCorrectColorValue()) { $attr = $this->attribute; $this->model->$attr = RandomColor::one(['luminosity' => 'dark']); } } /** * @inheritdoc */ public function run() { return $this->render('@ui/form/widgets/views/colorPickerField', [ 'model' => $this->model, 'field' => $this->attribute, 'container' => $this->container, 'inputId' => $this->getId(true) ]); } private function isCorrectColorValue(): bool { return preg_match('/^#[a-f0-9]{3,6}$/i', $this->model->{$this->attribute}); } }