public function toHtml() { $ret = parent::toHtml(); if ($this->cfg->useJs) { $id = $this->makeid($this->name . '-slider'); $ret = '<div id="' . $id . '" class="range-slider"></div>' . $ret; $min = $this->cfg->getInarray('allowedRange', 'min'); $max = $this->cfg->getInarray('allowedRange', 'max'); if (!$min) { $min = 0; } if (!$max) { $max = 100; } $minVal = $this->getValue('min'); $maxVal = $this->getValue('max'); if (!$minVal) { $minVal = $min; } if (!$maxVal) { $maxVal = $max; } $resp = response::getInstance(); $resp->addJs('jqueryui'); $resp->blockJquery('$("#' . $id . '").slider({ range: true, min: ' . $min . ', max: ' . $max . ', values: [' . $minVal . ',' . $maxVal . '], slide: function(event, ui) { $("#' . $this->makeId($this->name . '[0]') . '").val(ui.values[0]); $("#' . $this->makeId($this->name . '[1]') . '").val(ui.values[1]); }, change: function() { $("#' . $this->makeId($this->name . '[0]') . '").change(); $("#' . $this->makeId($this->name . '[1]') . '").change(); } })' . ($this->cfg->disabled ? '.next(".range").find("input").attr("disabled", "disabled")' : null) . '; ;'); } return $ret; }
public function toHtml() { if ($this->cfg->useJs) { $this->cfg->setInArray('html', 'class', $this->cfg->getInArray('html', 'class') . ' date'); $resp = response::getInstance(); $resp->addJs('jqueryui'); if (($lang = request::get('lang')) != 'en') { $resp->addJs('i18n_ui.datepicker-' . $lang); } $jsPrmMin = $this->cfg->jsPrm; $jsPrmMax = $this->cfg->jsPrm; $minId = $this->makeId($this->name . '[0]'); $maxId = $this->makeId($this->name . '[1]'); $minDate = $this->dates['min']->getJs(null); $maxDate = $this->dates['max']->getJs(null); $jsPrmMin['onSelect'] = 'function(dateText) {$("#' . $maxId . '").datepicker("option", "minDate", $("#' . $minId . '").datepicker("getDate"));}'; if ($maxDate) { $jsPrmMin['maxDate'] = $maxDate; } $jsPrmMax['onSelect'] = 'function(dateText) {$("#' . $minId . '").datepicker("option", "maxDate", $("#' . $maxId . '").datepicker("getDate"));}'; if ($minDate) { $jsPrmMax['minDate'] = $minDate; } $resp->blockJquery(' $("#' . $minId . '").datepicker(' . utils::jsEncode($jsPrmMin) . '); $("#' . $maxId . '").datepicker(' . utils::jsEncode($jsPrmMax) . '); '); } return parent::toHtml(); }