Project

General

Profile

Bug #20127 » extract_dyntabmenu.js

Administrator Admin, 2009-03-04 10:42

 
Index: typo3/js/tabmenu.js
===================================================================
--- typo3/js/tabmenu.js (revision 0)
+++ typo3/js/tabmenu.js (revision 0)
@@ -0,0 +1,99 @@
+/***************************************************************
+ *
+ * javascript functions regarding the "dyntabmenu"
+ * used throughout the TYPO3 backend
+ *
+ * Copyright notice
+ *
+ * (c) 2003-2009 Kasper Skaarhoj
+ * All rights reserved
+ *
+ * This script is part of the TYPO3 t3lib/ library provided by
+ * Kasper Skaarhoj <kasper@typo3.com> together with TYPO3
+ *
+ * Released under GNU/GPL (see license file in tslib/)
+ *
+ * This script 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.
+ *
+ * This copyright notice MUST APPEAR in all copies of this script
+ *
+ ***************************************************************/
+
+var DTM_array = new Array();
+var DTM_origClass = new String();
+
+ // if tabs are used in a popup window the array might not exists
+if(!top.DTM_currentTabs) {
+ top.DTM_currentTabs = new Array();
+}
+
+function DTM_activate(idBase,index,doToogle) {
+ // Hiding all:
+ if (DTM_array[idBase]) {
+ for(cnt = 0; cnt < DTM_array[idBase].length ; cnt++) {
+ if (DTM_array[idBase][cnt] != idBase+'-'+index) {
+ document.getElementById(DTM_array[idBase][cnt]+'-DIV').style.display = 'none';
+ // Only Overriding when Tab not disabled
+ if (document.getElementById(DTM_array[idBase][cnt]+'-MENU').attributes.getNamedItem('class').nodeValue != 'disabled') {
+ document.getElementById(DTM_array[idBase][cnt]+'-MENU').attributes.getNamedItem('class').nodeValue = 'tab';
+ }
+ }
+ }
+ }
+
+ // Showing one:
+ if (document.getElementById(idBase+'-'+index+'-DIV')) {
+ if (doToogle && document.getElementById(idBase+'-'+index+'-DIV').style.display == 'block') {
+ document.getElementById(idBase+'-'+index+'-DIV').style.display = 'none';
+ if(DTM_origClass=='') {
+ document.getElementById(idBase+'-'+index+'-MENU').attributes.getNamedItem('class').nodeValue = 'tab';
+ } else {
+ DTM_origClass = 'tab';
+ }
+ top.DTM_currentTabs[idBase] = -1;
+ } else {
+ document.getElementById(idBase+'-'+index+'-DIV').style.display = 'block';
+ if(DTM_origClass=='') {
+ document.getElementById(idBase+'-'+index+'-MENU').attributes.getNamedItem('class').nodeValue = 'tabact';
+ } else {
+ DTM_origClass = 'tabact';
+ }
+ top.DTM_currentTabs[idBase] = index;
+ }
+ }
+}
+function DTM_toggle(idBase,index,isInit) {
+ // Showing one:
+ if (document.getElementById(idBase+'-'+index+'-DIV')) {
+ if (document.getElementById(idBase+'-'+index+'-DIV').style.display == 'block') {
+ document.getElementById(idBase+'-'+index+'-DIV').style.display = 'none';
+ if(isInit) {
+ document.getElementById(idBase+'-'+index+'-MENU').attributes.getNamedItem('class').nodeValue = 'tab';
+ } else {
+ DTM_origClass = 'tab';
+ }
+ top.DTM_currentTabs[idBase+'-'+index] = 0;
+ } else {
+ document.getElementById(idBase+'-'+index+'-DIV').style.display = 'block';
+ if(isInit) {
+ document.getElementById(idBase+'-'+index+'-MENU').attributes.getNamedItem('class').nodeValue = 'tabact';
+ } else {
+ DTM_origClass = 'tabact';
+ }
+ top.DTM_currentTabs[idBase+'-'+index] = 1;
+ }
+ }
+}
+
+function DTM_mouseOver(obj) {
+ DTM_origClass = obj.attributes.getNamedItem('class').nodeValue;
+ obj.attributes.getNamedItem('class').nodeValue += '_over';
+}
+
+function DTM_mouseOut(obj) {
+ obj.attributes.getNamedItem('class').nodeValue = DTM_origClass;
+ DTM_origClass = '';
+}
+
Index: typo3/template.php
===================================================================
--- typo3/template.php (revision 5118)
+++ typo3/template.php (working copy)
@@ -1457,6 +1457,9 @@
* @return string JavaScript section for the HTML header.
*/
function getDynTabMenu($menuItems,$identString,$toggle=0,$foldout=FALSE,$newRowCharLimit=50,$noWrap=1,$fullWidth=FALSE,$defaultTabIndex=1,$dividers2tabs=2) {
+ // load the static code, if not already done with the function below
+ $this->loadJavascriptLib('js/tabmenu.js');
+
$content = '';
if (is_array($menuItems)) {
@@ -1596,93 +1599,16 @@
/**
* Returns dynamic tab menu header JS code.
+ * This is now incorporated automatically when the function template::getDynTabMenu is called
+ * (as long as it is called before $this->startPage())
+ * The return value is not needed anymore
*
- * @return string JavaScript section for the HTML header.
+ * @return string JavaScript section for the HTML header. (return value is deprecated since TYPO3 4.3, will be removed in TYPO3 4.5)
*/
function getDynTabMenuJScode() {
- return '
- <script type="text/javascript">
- /*<![CDATA[*/
- var DTM_array = new Array();
- var DTM_origClass = new String();
-
- // if tabs are used in a popup window the array might not exists
- if(!top.DTM_currentTabs) {
- top.DTM_currentTabs = new Array();
- }
-
- function DTM_activate(idBase,index,doToogle) { //
- // Hiding all:
- if (DTM_array[idBase]) {
- for(cnt = 0; cnt < DTM_array[idBase].length ; cnt++) {
- if (DTM_array[idBase][cnt] != idBase+"-"+index) {
- document.getElementById(DTM_array[idBase][cnt]+"-DIV").style.display = "none";
- // Only Overriding when Tab not disabled
- if (document.getElementById(DTM_array[idBase][cnt]+"-MENU").attributes.getNamedItem("class").nodeValue != "disabled") {
- document.getElementById(DTM_array[idBase][cnt]+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
- }
- }
- }
- }
-
- // Showing one:
- if (document.getElementById(idBase+"-"+index+"-DIV")) {
- if (doToogle && document.getElementById(idBase+"-"+index+"-DIV").style.display == "block") {
- document.getElementById(idBase+"-"+index+"-DIV").style.display = "none";
- if(DTM_origClass=="") {
- document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
- } else {
- DTM_origClass = "tab";
- }
- top.DTM_currentTabs[idBase] = -1;
- } else {
- document.getElementById(idBase+"-"+index+"-DIV").style.display = "block";
- if(DTM_origClass=="") {
- document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact";
- } else {
- DTM_origClass = "tabact";
- }
- top.DTM_currentTabs[idBase] = index;
- }
- }
- }
- function DTM_toggle(idBase,index,isInit) { //
- // Showing one:
- if (document.getElementById(idBase+"-"+index+"-DIV")) {
- if (document.getElementById(idBase+"-"+index+"-DIV").style.display == "block") {
- document.getElementById(idBase+"-"+index+"-DIV").style.display = "none";
- if(isInit) {
- document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
- } else {
- DTM_origClass = "tab";
- }
- top.DTM_currentTabs[idBase+"-"+index] = 0;
- } else {
- document.getElementById(idBase+"-"+index+"-DIV").style.display = "block";
- if(isInit) {
- document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact";
- } else {
- DTM_origClass = "tabact";
- }
- top.DTM_currentTabs[idBase+"-"+index] = 1;
- }
- }
- }
-
- function DTM_mouseOver(obj) { //
- DTM_origClass = obj.attributes.getNamedItem(\'class\').nodeValue;
- obj.attributes.getNamedItem(\'class\').nodeValue += "_over";
- }
-
- function DTM_mouseOut(obj) { //
- obj.attributes.getNamedItem(\'class\').nodeValue = DTM_origClass;
- DTM_origClass = "";
- }
-
-
- /*]]>*/
- </script>
- ';
+ $this->loadJavascriptLib('js/tabmenu.js');
+ // return value deprecated since TYPO3 4.3
+ return '';
}
/**
(1-1/2)