Project

General

Profile

Actions

Bug #24170

closed

No inline relation to tables with tabs possible

Added by Georg Ringer almost 14 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Must have
Assignee:
Category:
-
Target version:
-
Start date:
2010-11-23
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.5
PHP Version:
5.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

It seems it is not possible anymore to create inline relations to tables which use tabs.
At least the following bugs need to be solved:
- Height is wrong
- Tabs can not be switched, firebug says "DTM_mouseOver is not defined"
- if record is saved, the related records are saved on the current page but are not selected in the parent record
- if appearance => collapseAll => 1 is set, it is not possible to open the irre record. firebug says "DTM_array is not defined" + "$(element) is null"

i just checked a 4.4.2 and it works there
(issue imported from #M16524)


Files

inline-before.gif (31 KB) inline-before.gif Administrator Admin, 2010-11-23 10:28
inline-after.gif (9.87 KB) inline-after.gif Administrator Admin, 2010-11-23 10:29
T3X_testirre-0_0_0-z-201012151113.t3x (18.1 KB) T3X_testirre-0_0_0-z-201012151113.t3x Administrator Admin, 2010-12-15 11:15
0016524.patch (1.78 KB) 0016524.patch Administrator Admin, 2011-01-22 18:03

Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #23608: m:n asymetric combo: relations loose data on savingClosedMathias Schreiber2010-09-25

Actions
Actions #1

Updated by Georg Ringer almost 14 years ago

ok can'T reproduce it on another installation, will do a further check tomorrow

Actions #2

Updated by Georg Ringer almost 14 years ago

there is now a testextension. how to reproduce:
1) create a record "IRRE Test record"
2) fill the relation #3. it shouldn't work
3) disable divider2tabs in ext_tables.php, delete cache
4) try again. it should work now

Actions #3

Updated by Georg Ringer almost 14 years ago

Ok at least I can open the inline records again by adding following JS to templates/alt_doc.html inside <div id="docbody">
----------------------------------------------------------------
<script type="text/javascript">
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";
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 = "";
}
&lt;/script&gt;

this is taken from db_layout.php

Actions #4

Updated by Oliver Hader almost 14 years ago

Hi Georg,

I could not reproduce this with the current SVN Trunk of the Core and the IRRE Tutorial (https://svn.typo3.org/TYPO3v4/Extensions/irre_tutorial/trunk) - I've added tabs to the tutorial. Can you please recheck the behaviour on your system thanks...

Actions #5

Updated by Oliver Hader almost 14 years ago

Hm... however... I could reproduce with your extension that implements a 1:n CSV approach - which is also part of the irre_tutorial. Strange...

Actions #6

Updated by Oliver Hader almost 14 years ago

Ok, could reproduce this in 4.5 - the bug does not exist in 4.3 or 4.4.
During the AJAX call to render a new IRRE child, JavaScript for handling the tabs is transferred but not evaluated correctly...

Actions #7

Updated by Oliver Hader almost 14 years ago

The reason is, that the pageRender now takes care of adding the file "tabmenu.js" with the method pageRenderer->addJsFile().
Thus, this has to be considered in general in t3lib_TCEforms_inline as well...
See t3lib_TCEforms_inline->getHeadTags() which just checks for template->JStop but not for template->getPageRenderer()->jsFiles

Actions #8

Updated by Ernesto Baschny almost 14 years ago

Any solution to that problem Olly? RC1 will be released saturday afternoon, would be great to have that fixed. Thanks!

Actions #9

Updated by Oliver Hader almost 14 years ago

Committed to SVN Trunk (rev. 10260)

Actions #10

Updated by Susanne Moog over 13 years ago

  • Target version deleted (4.5.0)
Actions #11

Updated by Oliver Schlöbe over 9 years ago

Hey there, this seems to be still present in the 6.2.x branch. Getting the error

Uncaught ReferenceError: DTM_array is not defined

when using tabs inside of IRRE records.

Actions

Also available in: Atom PDF