0, 'max' => ZBX_MAX_INT32, 'step' => 1, 'width' => ZBX_TEXTAREA_SMALL_WIDTH ]; public function __construct($name, $value = '') { parent::__construct($name); $this->setValue($value); $this->addClass(static::ZBX_STYLE_CLASS); } public function setValue($value) { $this->setAttribute('value', $value); return $this; } public function setMin($value) { $this->options['min'] = $value; return $this; } public function setMax($value) { $this->options['max'] = $value; return $this; } public function setStep($value) { $this->options['step'] = $value; return $this; } public function setWidth($value) { $this->options['width'] = $value; return $this; } public function getPostJS() { return 'jQuery("[name=\''.$this->getName().'\']").rangeControl();'; } public function toString($destroy = true) { // Set options for jQuery rangeControl class. $this->setAttribute('data-options', json_encode($this->options)); $this->setAttribute('maxlength', max(strlen($this->options['min']), strlen($this->options['max']))); return parent::toString($destroy); } }