_formatSource($options['data']); if (!empty($options['items'])) { $inputOptions['data-items'] = (int)$options['items']; } $class = 'typeahead_'.strtolower(Inflector::slug($fieldName)); // str_replace('.', '_', $fieldName); $inputOptions['class'] = empty($inputOptions['class']) ? $class : $inputOptions['class'].' '.$class; $script = ' $(\'.'.$class.'\').typeahead({ source: '.$this->_formatSource($options['data']).' }) '; $script = PHP_EOL.''; return $this->Form->input($fieldName, $inputOptions) . $script; } public function _formatSource($elements) { //$res = array(); //return '[\''.implode('\',\'', $elements).'\']'; return json_encode($elements); } /** * complete carousel container * * @param array $items (heading, content, active) * @param id * @param array $options * @return string $html * 2012-03-29 ms */ public function carousel($items, $id = null, $globalOptions = array()) { $res = ''; return $res; } public function carouselControl() { $res = ' '; return $res; } /** * items of a carousel container * * @param array $items (heading, content, active) * - active (visible, true/false) * @return string $html * 2012-03-29 ms */ public function carouselItems($items, $options = array()) { $res = array(); foreach ($items as $key => $item) { $active = ''; if ($key == 0 && !isset($item['active']) || !empty($item['active'])) { $active = ' active'; } $tmp = $item['content']; if (!empty($item['heading'])) { $tmp .= ''; } $tmp = '
'.$tmp.'
'; $res[] = $tmp; } $res = implode(PHP_EOL, $res); return $res; } /** * complete accordion container * * @param array $records (heading, content, options) * @param id * @param array $options * @return string $html * 2012-03-29 ms */ public function accordion($records, $id = null, $globalOptions = array()) { $res = '
'; foreach ($records as $record) { $options = $globalOptions; extract($record); $res .= $this->accordionGroup($heading, $content, $options); } $res .= '
'; return $res; } /** * a single group of an accordion container * * @param string $heading * @param string $content * @param array $options * - active (collapsed, true/false) * @return string $html * 2012-03-29 ms */ public function accordionGroup($heading, $content, $options = array()) { $i = $this->_count; $this->_count++; $in = ''; if ($i == 1 && !isset($options['active']) || !empty($options['active'])) { $in = ' in'; } $res = '
'; $res .= '
'; $res .= ' '; $res .= $heading; $res .= ' '; $res .= '
'; $res .= '
'; $res .= '
'; $res .= $content; $res .= '
'; $res .= '
'; $res .= '
'; return $res; } }