Example #1
0
    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;
    }
Example #2
0
    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();
    }