/** * Create the field for display in CMS. * * (non-PHPdoc) * @see FormField::Field() * @return String */ function Field() { $this->stockLevelField->setForm($this->form); if ($this->value == -1) { $this->stockLevelField->addExtraClass('HiddenStock'); } return $this->stockLevelField->SmallFieldHolder(); }
/** * @param String $label * @return NumericField */ public function getQuantityField($label = '') { $f = new NumericField("Product[{$this->owner->ID}][Quantity]", $label); $f->setAttribute('type', Config::inst()->get('GroupedCartFormChildHooks', 'quantity_field_type')); $f->setAttribute('min', '0'); $f->addExtraClass('grouped-quantity'); return $f; }
/** * @return NumericField */ public function getFormField() { $field = new NumericField($this->Name, $this->Title); $field->addExtraClass('number'); if ($field->Required) { // Required and numeric validation can conflict so add the // required validation messages as input attributes $errorMessage = $this->getErrorMessage()->HTML(); $field->setAttribute('data-rule-required', 'true'); $field->setAttribute('data-msg-required', $errorMessage); } return $field; }
public function Field() { $valArr = $this->value ? explode('-', $this->value) : null; // fields $first = new NumericField($this->name . '[first]', false, $valArr ? array_shift($valArr) : null); $first->setMaxLength(3); $first->addExtraClass('ird-numeric'); $second = new NumericField($this->name . '[second]', false, $valArr ? array_shift($valArr) : null); $second->setMaxLength(3); $second->addExtraClass('ird-numeric'); $third = new NumericField($this->name . '[third]', false, $valArr ? array_shift($valArr) : null); $third->setMaxLength(3); $third->addExtraClass('ird-numeric'); $fields = array($first->Field(), $second->Field(), $third->Field()); $html = implode('<span style="padding: 0 8px">-</span>', $fields); return $html; }
/** * @return TextareaField|TextField */ public function getFormField() { if ($this->getSetting('Rows') && $this->getSetting('Rows') > 1) { $taf = new NumericField($this->Name, $this->Title); $taf->setRows($this->getSetting('Rows')); $taf->addExtraClass('number'); } else { $taf = new NumericField($this->Name, $this->Title, null, $this->getSetting('MaxLength')); $taf->addExtraClass('number'); } if ($this->Required) { // Required and numeric validation can conflict so add the Required validation messages // as input attributes $errorMessage = $this->getErrorMessage()->HTML(); $taf->setAttribute('data-rule-required', 'true'); $taf->setAttribute('data-msg-required', $errorMessage); } return $taf; }
function Field() { // Three separate fields for day, month and year if ($this->getConfig('dmyfields')) { // values $valArr = $this->valueObj ? $this->valueObj->toArray() : null; // fields $fieldDay = new NumericField($this->name . '[day]', false, $valArr ? $valArr['day'] : null); $fieldDay->addExtraClass('day'); $fieldDay->setMaxLength(2); $fieldMonth = new NumericField($this->name . '[month]', false, $valArr ? $valArr['month'] : null); $fieldMonth->addExtraClass('month'); $fieldMonth->setMaxLength(2); $fieldYear = new NumericField($this->name . '[year]', false, $valArr ? $valArr['year'] : null); $fieldYear->addExtraClass('year'); $fieldYear->setMaxLength(4); // order fields depending on format $sep = $this->getConfig('dmyseparator'); $format = $this->getConfig('dateformat'); $fields = array(); $fields[stripos($format, 'd')] = $fieldDay->Field(); $fields[stripos($format, 'm')] = $fieldMonth->Field(); $fields[stripos($format, 'y')] = $fieldYear->Field(); ksort($fields); $html = implode($sep, $fields); } else { $html = parent::Field(); } return $html; }
function Field($properties = array()) { $config = array('showcalendar' => $this->getConfig('showcalendar'), 'isoDateformat' => $this->getConfig('dateformat'), 'jqueryDateformat' => DateField_View_JQuery::convert_iso_to_jquery_format($this->getConfig('dateformat')), 'min' => $this->getConfig('min'), 'max' => $this->getConfig('max')); // Add other jQuery UI specific, namespaced options (only serializable, no callbacks etc.) // TODO Move to DateField_View_jQuery once we have a properly extensible HTML5 attribute system for FormField foreach ($this->getConfig() as $k => $v) { if (preg_match('/^jQueryUI\\.(.*)/', $k, $matches)) { $config[$matches[1]] = $v; } } $config = array_filter($config); foreach ($config as $k => $v) { $this->setAttribute('data-' . $k, $v); } // Three separate fields for day, month and year if ($this->getConfig('dmyfields')) { // values $valArr = $this->valueObj ? $this->valueObj->toArray() : null; // fields $fieldDay = new NumericField($this->name . '[day]', false, $valArr ? $valArr['day'] : null); $fieldDay->addExtraClass('day'); $fieldDay->setMaxLength(2); $fieldMonth = new NumericField($this->name . '[month]', false, $valArr ? $valArr['month'] : null); $fieldMonth->addExtraClass('month'); $fieldMonth->setMaxLength(2); $fieldYear = new NumericField($this->name . '[year]', false, $valArr ? $valArr['year'] : null); $fieldYear->addExtraClass('year'); $fieldYear->setMaxLength(4); // order fields depending on format $sep = $this->getConfig('dmyseparator'); $format = $this->getConfig('dateformat'); $fields = array(); $fields[stripos($format, 'd')] = $fieldDay->Field(); $fields[stripos($format, 'm')] = $fieldMonth->Field(); $fields[stripos($format, 'y')] = $fieldYear->Field(); ksort($fields); $html = implode($sep, $fields); // dmyfields doesn't work with showcalendar $this->setConfig('showcalendar', false); } else { $html = parent::Field(); } return $html; }
protected function initFormField() { $field = new NumericField($this->Name, $this->Title); $field->addExtraClass('number'); return $field; }