Source of file SliderField.php
Size: 3,099 Bytes - Last Modified: 2021-12-23T10:00:38+00:00
/var/www/docs.ssmods.com/process/src/code/fields/SliderField.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | <?php /** * Slider field using jquery ui * * @author lekoala */ class SliderField extends TextField { protected $units; protected $onlySlider = false; protected $editableField = false; protected $sliderOptions = array(); public function __construct($name, $title = null, $value = null) { parent::__construct($name, $title, $value); } public function Field($properties = array()) { FormExtraJquery::include_jquery(); FormExtraJquery::include_jquery_ui(); Requirements::javascript(FORM_EXTRAS_PATH.'/javascript/SliderField.js'); return parent::Field($properties); } public function SliderOptionsJson() { return json_encode($this->sliderOptions); } public function SliderOptions() { return $this->sliderOptions; } public function setSliderOptions(array $arr) { $this->sliderOptions = $arr; return $this; } public function setSliderOption($k, $v) { $this->sliderOptions[$k] = $v; return $this; } /** * @param string $v true,min,max * @return \SliderField */ public function setRange($v) { $this->setSliderOption('range', $v); return $this; } public function setMin($v) { $this->setSliderOption('min', (float) $v); return $this; } public function setMax($v) { $this->setSliderOption('max', (float) $v); return $this; } public function setValues($v1, $v2) { $this->setSliderOption('values', array($v1, $v2)); return $this; } public function setStep($v) { $this->setSliderOption('step', (float)$v); return $this; } public function setDisabled($disabled) { $this->setSliderOption('disabled', (bool) $disabled); return parent::setReadonly($disabled); } public function setReadonly($readonly) { $this->setSliderOption('disabled', (bool) $readonly); return parent::setReadonly($readonly); } public function Units() { return $this->units; } public function setUnits($v) { $this->units = $v; return $this; } public function OnlySlider() { return $this->onlySlider; } public function NotOnlySlider() { return !$this->OnlySlider(); } public function setOnlySlider($v) { $this->onlySlider = $v ? true : false; return $this; } public function EditableField() { return $this->editableField; } public function NotEditableField() { return !$this->EditableField(); } public function setEditableField($v) { $this->editableField = $v ? true : false; return $this; } public function getAttributes() { $attrs = parent::getAttributes(); return array_merge( $attrs, array( 'type' => $this->EditableField() ? 'text' : 'hidden', ) ); } } |