You've already forked joomla_test
first commit
This commit is contained in:
106
libraries/cms/html/tabs.php
Normal file
106
libraries/cms/html/tabs.php
Normal file
@ -0,0 +1,106 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Libraries
|
||||
* @subpackage HTML
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
/**
|
||||
* Utility class for Tabs elements.
|
||||
*
|
||||
* @package Joomla.Libraries
|
||||
* @subpackage HTML
|
||||
* @since 1.6
|
||||
*/
|
||||
abstract class JHtmlTabs
|
||||
{
|
||||
/**
|
||||
* Creates a panes and creates the JavaScript object for it.
|
||||
*
|
||||
* @param string $group The pane identifier.
|
||||
* @param array $params An array of option.
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
public static function start($group = 'tabs', $params = array())
|
||||
{
|
||||
static::loadBehavior($group, $params);
|
||||
|
||||
return '<dl class="tabs" id="' . $group . '"><dt style="display:none;"></dt><dd style="display:none;">';
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the current pane
|
||||
*
|
||||
* @return string HTML to close the pane
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
public static function end()
|
||||
{
|
||||
return '</dd></dl>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Begins the display of a new panel.
|
||||
*
|
||||
* @param string $text Text to display.
|
||||
* @param string $id Identifier of the panel.
|
||||
*
|
||||
* @return string HTML to start a new panel
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
public static function panel($text, $id)
|
||||
{
|
||||
return '</dd><dt class="tabs ' . $id . '"><span><h3><a href="javascript:void(0);">' . $text . '</a></h3></span></dt><dd class="tabs">';
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the JavaScript behavior.
|
||||
*
|
||||
* @param string $group The pane identifier.
|
||||
* @param array $params Array of options.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
protected static function loadBehavior($group, $params = array())
|
||||
{
|
||||
static $loaded = array();
|
||||
|
||||
if (!array_key_exists((string) $group, $loaded))
|
||||
{
|
||||
// Include MooTools framework
|
||||
JHtml::_('behavior.framework', true);
|
||||
|
||||
$opt['onActive'] = (isset($params['onActive'])) ? '\\' . $params['onActive'] : null;
|
||||
$opt['onBackground'] = (isset($params['onBackground'])) ? '\\' . $params['onBackground'] : null;
|
||||
$opt['display'] = (isset($params['startOffset'])) ? (int) $params['startOffset'] : null;
|
||||
$opt['useStorage'] = (isset($params['useCookie']) && $params['useCookie']) ? 'true' : 'false';
|
||||
$opt['titleSelector'] = "dt.tabs";
|
||||
$opt['descriptionSelector'] = "dd.tabs";
|
||||
|
||||
$options = JHtml::getJSObject($opt);
|
||||
|
||||
$js = ' window.addEvent(\'domready\', function(){
|
||||
$$(\'dl#' . $group . '.tabs\').each(function(tabs){
|
||||
new JTabs(tabs, ' . $options . ');
|
||||
});
|
||||
});';
|
||||
|
||||
$document = JFactory::getDocument();
|
||||
$document->addScriptDeclaration($js);
|
||||
JHtml::_('script', 'system/tabs.js', false, true);
|
||||
|
||||
$loaded[(string) $group] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user