/**
 * 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();
}
Exemplo n.º 3
0
/**
 *
 * @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);
}
Exemplo n.º 6
0
/**
 * 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);
}