/** * Starts the progressbar and its configuration * @param string $id progressbar Id * @param array() $configurations Array. See the options and events in * http://jqueryui.com/demos/progressbar/#options * http://jqueryui.com/demos/progressbar/#events * @param string $html_attributes Additional options parameter (html attributes) */ function ui_progressbar_create($id, $configurations = array(), $html_attributes = null) { $configurations = get_default_widget_configuration('app_ys_jquery_ui_progressbar_defaults', $configurations); $pattern = _ui_progressbar_pattern($configurations); init_ui_widget('progressbar', $pattern, $id, $configurations); echo '<div id="' . $id . '" ' . $html_attributes . '></div>'; }
/** * UI.Layout creates a 'page-layout' that has auto-sizing 'center pane' * surrounded by up to four collapsible and resizable 'border panes' * (north, south, east & west). It can also create multiple headers & * footers inside each pane. * @param string $layoutName The layout name * @param string $selector jQuery Selector * @param array() $configurations Array. See the options and events in * http://layout.jquery-dev.net/documentation.html#Options */ function ui_layout_configure_to($layoutName, $selector, $configurations = array()) { $configurations = get_default_widget_configuration('app_ys_jquery_ui_layout_defaults', $configurations); if (isset($configurations['yml'])) { $ymlItems = sfYaml::load($configurations['yml']); $ymlIndex = isset($configurations['ymlKey']) ? $configurations['ymlKey'] : 'layout'; $ymlConfigurations = isset($ymlItems[$ymlIndex]) ? $ymlItems[$ymlIndex] : array(); $configurations = array_merge($ymlConfigurations, $configurations); unset($configurations['yml'], $configurations['ymlKey']); } $support = core_init_javasacript_tag(); $support .= 'var ' . $layoutName . ';'; $pattern = ui_layout_pattern($configurations); $utilityMethods = ''; if (!is_array($configurations) || !sizeof($configurations) > 0) { $configurations = array('applyDefaultStyles' => true); } else { if (!isset($configurations['name'])) { $configurations['name'] = $layoutName; } $utilityMethods = ui_layout_utility_methods_pattern($layoutName, $configurations); } if (isset($configurations['cache']) && $configurations['cache'] === true) { echo add_jquery_support('window', 'unload', like_function("layoutState.save('{$layoutName}')")); $pattern = "\$.extend( {$pattern} , layoutState.load('{$layoutName}'))"; } $jsVar = like_function($layoutName . ' = ' . jquery_support($selector, 'layout', $pattern, true, $utilityMethods)); $support .= jquery_support($selector, 'ready', $jsVar); echo $support .= core_end_javasacript_tag(); }
/** * * @param string $id menu Id * @param string $value teh Menu-button value * @param array $items The menu items / * @param string $configuration The fg-menu configuration, See the options in * http://www.filamentgroup.com/lab/jquery_ipod_style_and_flyout_menus/ */ function ui_menu_init($id, $value, $items = array(), $configurations = array()) { $pattern = ''; $buttoProperties = sprintf('tabindex="0" href="#%s"', $id); $defaultButtons = array('value' => $value, 'id' => $id, 'align' => 'right', 'icon' => 'triangle-1-e', 'corner' => 'all', 'properties' => $buttoProperties); if (isset($items['disabled'])) { if ($items['disabled'] == true) { $button = isset($items['button']) ? $items['button'] : array('button' => null); $buttonDisabled = array('state' => 'disabled'); $items['button'] = is_array($button) ? array_merge($buttonDisabled, $button) : $buttonDisabled; } unset($items['disabled']); } if (isset($items['button'])) { $buttonConfiguration = $items['button']; $builder = isset($buttonConfiguration['builder']) ? $buttonConfiguration['builder'] : 'ui_link_button'; $pattern .= $builder(array_merge($defaultButtons, $items['button'])); unset($items['button']); if (isset($buttonConfiguration['state']) && strtolower($buttonConfiguration['state']) == 'disabled') { return $pattern; } } else { $pattern .= ui_link_button($defaultButtons); } $items = $items = _get_items_from_yml($items, 'menu'); $configurations['content'] = isset($configurations['content']) ? $configurations['content'] : sprintf("\$('#%s').next().html()", $id); $configurations = get_default_widget_configuration('app_ys_jquery_ui_fg_menu_defaults', $configurations); $pattern .= sprintf('<div id="%sContent" class="hidden">', $id); $pattern .= array_to_html_list($items, 'fg_menu_list_formatter'); $pattern .= '</div>'; $menuPattern = _ui_fg_menu_pattern($configurations); $pattern .= add_jquery_support('#' . $id, 'menu', $menuPattern); return $pattern; }
/** * Build the alider and its configuration programmatically. * @param string $selector jQuery Selector * @param array() $configurations Array. See the options and events in * http://jqueryui.com/demos/slider/#options * http://jqueryui.com/demos/slider/#events */ function ui_slider_build($selector, $configurations = array()) { $configurations = get_default_widget_configuration('app_ys_jquery_ui_slider_defaults', $configurations); $pattern = _ui_slider_pattern($configurations); return jquery_support($selector, 'alider', $pattern); }
/** * Starts the sortable support and its configuration programmatically * @param string $selector jQuery Selector * @param array() $configurations Array. See the options and events in * http://jqueryui.com/demos/sortable/#options * http://jqueryui.com/demos/sortable/#events */ function ui_sortable_build($selector, $configurations = array(), $html_attributes = null) { $configurations = get_default_widget_configuration('app_ys_jquery_ui_sortable_defaults', $configurations); $pattern = _ui_sortable_pattern($configurations); return jquery_support($selector, 'sortable', $pattern); }
/** * Starts the header sections * @param string $selector jQuery Selector * @param array() $configurations Array. See the options and events in * http://jqueryui.com/demos/tabs/#options * http://jqueryui.com/demos/tabs/#events */ function ui_tabs_build_panel($selector, $configurations = null) { $configurations = get_default_widget_configuration('app_ys_jquery_ui_tabs_defaults', $configurations); $pattern = _ui_tabs_pattern($configurations); return jquery_support($selector, 'tabs', $pattern); }