Source of file IconFontPickerField.php
Size: 2,830 Bytes - Last Modified: 2022-02-21T10:01:42+00:00
/var/www/docs.ssmods.com/process/src/code/formfields/IconFontPickerField.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 | <?php /** * IconFontPickerField * */ class IconFontPickerField extends TextField { /** * @var null|string */ private $customFontURI = null; /** * @var string */ private $customFontBaseClass = ''; /** * @var array */ private $available_icons = []; /** * @var bool */ private $use_fa = true; /** * @param string $str */ public function setCustomFontURI($str) { $this->customFontURI = $str; } /** * @param string $class */ public function setCustomFontBaseClass($class) { $this->customFontBaseClass = $class; } /** * @param array $icons */ public function setAvailableIcons($icons = []) { $this->available_icons = $icons; } /** * @param bool $boolean */ public function setUseFontAwesome($boolean = true) { $this->use_fa = $boolean; } /** * @return bool */ public function getUseFa() { return $this->use_fa; } /** * @return string */ public function getAvailableIconsJson() { return json_encode($this->available_icons); } /** * @return string */ public function getCustomFontBaseClass() { return $this->customFontBaseClass; } /** * @return string */ public function Type() { return 'text'; } /** * @param array $properties * * @return mixed */ public function Field($properties = []) { $this->addExtraClass('form-control icp icp-auto'); //Libraries Requirements::css(ICONFONT_PICKER_DIR . '/css/lib/bootstrap.min.css'); Requirements::css(ICONFONT_PICKER_DIR . '/css/lib/font-awesome.min.css'); Requirements::css(ICONFONT_PICKER_DIR . '/css/lib/font-awesome-iconpicker.min.css'); Requirements::javascript(ICONFONT_PICKER_DIR . '/js/lib/font-awesome-iconpicker.min.js'); if ($this->customFontURI) { Requirements::css($this->customFontURI); } // Module Requirements::css(ICONFONT_PICKER_DIR . '/css/icon-font-picker.css'); Requirements::javascript(ICONFONT_PICKER_DIR . '/js/icon-font-picker.js'); Requirements::set_force_js_to_bottom(true); return parent::Field($properties); } /** * @param $validator * * @return bool */ public function validate($validator) { //if (!empty ($this->value) && !preg_match('/^fa-[a-z]+/', $this->value)) { // $validator->validationError( // $this->name, 'Please enter a valid Font Awesome font name format.', 'validation', false // ); // return false; //} return true; } } |