diff --git a/html/style-classic.css b/html/style-classic.css index d26b2511d..359afcf48 100644 --- a/html/style-classic.css +++ b/html/style-classic.css @@ -1759,6 +1759,7 @@ ul.tabs a { color:inherit; display:inline; white-space: nowrap; + cursor:pointer; } ul.tabs a:hover { diff --git a/html/style-classic7.css b/html/style-classic7.css index 4ff1af054..80fbd12eb 100644 --- a/html/style-classic7.css +++ b/html/style-classic7.css @@ -1627,7 +1627,7 @@ ul.tabs a { white-space: nowrap; width: 100%; height: 100%; - + cursor :pointer; } ul.tabs a:hover { text-decoration: none; diff --git a/html/style-light.css b/html/style-light.css index 13e146873..a7b2e4025 100644 --- a/html/style-light.css +++ b/html/style-light.css @@ -1713,7 +1713,7 @@ ul.tabs a { color:inherit; display:inline; white-space: nowrap; - + cursor: pointer; } ul.tabs a:hover { text-decoration: none; diff --git a/include/lib/html_tab.class.php b/include/lib/html_tab.class.php new file mode 100644 index 000000000..ee3304a39 --- /dev/null +++ b/include/lib/html_tab.class.php @@ -0,0 +1,105 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * @file + * @brief Tab element + * + */ + +/** + * Tab Element + * @see Output_Html_Tab + */ +class Html_Tab +{ + private $id; //id=$p_id; + $this->title=$p_title; + $this->mode='static'; + } + public function get_id() + { + return $this->id; + } + + public function get_title() + { + return $this->title; + } + + public function get_content() + { + return $this->content; + } + + public function set_id($id) + { + $this->id=$id; + return $this; + } + + public function set_title($title) + { + $this->title=$title; + return $this; + } + + public function set_content($content) + { + $this->content=$content; + return $this; + } + public function get_link() + { + return $this->link; + } + + public function set_link($link) + { + $this->link=$link; + return $this; + } + + public function get_mode() + { + return $this->mode; + } + + public function set_mode($mode) + { + if ( $mode != 'static' && $mode != 'ajax' && $mode != 'link') { + throw new Exception(_("Mode invalide")); + } + $this->mode=$mode; + return $this; + } + +} diff --git a/include/lib/output_html_tab.class.php b/include/lib/output_html_tab.class.php new file mode 100644 index 000000000..943faa4e3 --- /dev/null +++ b/include/lib/output_html_tab.class.php @@ -0,0 +1,135 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +require_once NOALYSS_INCLUDE.'/lib/html_tab.class.php'; + +/** + * @file + * @brief Display the tabs + * + */ + +/** + * @brief Display the tabs + * @see Html_Tab + * + */ + +class Output_Html_Tab +{ + + private $a_tabs; //!< array of html tabs + + /** + *@example html_tab.test.php + */ + function __construct() + { + $this->a_tabs=[]; + } + + /** + * Add Html_Tab + * @param Html_Tab $p_html_tab + */ + function add(Html_Tab $p_html_tab) + { + $this->a_tabs[]=clone $p_html_tab; + } + + /** + * Build the javascript to change the class name of the selected tab, hide other div and show the selected one + * @param string $p_not_hidden id of the showed tab + * @return javascript string + */ + function build_js ($p_not_hidden) + { + $r=""; + $nb=count($this->a_tabs); + for ($i =0 ; $i < $nb;$i++) + { + if ( $this->a_tabs[$i]->get_id() != $p_not_hidden) { + $r .= sprintf("$('div%s').hide();",$this->a_tabs[$i]->get_id() ); + $r .= sprintf("$('tab%s').className='tabs';",$this->a_tabs[$i]->get_id() ); + } else { + $r .= sprintf("$('div%s').show();",$p_not_hidden ); + $r .= sprintf("$('tab%s').className='tabs_selected';",$p_not_hidden ); + + } + } + return $r; + } + /** + * print the html + javascript code of the tabs and the div + * + */ + function output() + { + $nb=count($this->a_tabs); + if ($nb==0) + { + return; + } + echo '
'
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ . "
Très longue chaine HTML pour 3"
+ .'