History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: COO-14
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Unassigned
Reporter: Kimie Nakahara
Votes: 1
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Google issue summary
Cooee

Extras: AccordionPane property is not working

Created: 10/May/07 02:11 PM   Updated: 11/Nov/08 11:19 AM
Component/s: [General] Cooee Legacy Components
Affects Version/s: 0.2-RELEASE, 0.1-RELEASE, COOEE-CORE-1.0, COOEE-CORE-1.0.1, 0.2-SNAPSHOT
Fix Version/s: COOEE-CORE-1.0.2

File Attachments: 1. Text File AccordionPane.js.patch (0.8 kb)
2. Zip Archive AccordionPaneDemo.zip (22 kb)
3. Java Source File AccordionPaneTest.java (7 kb)


Echo2 Forum Reference: http://forum.nextapp.com/forum/index.php?showtopic=3519


 Description  « Hide
ACTIVE_TAB_INDEX_CHANGED_PROPERTY on AccordionPane is not working properly. Need to apply fixes as given in the NextApp forums. See references for more details:

http://forum.nextapp.com/forum/index.php?showtopic=3084



 All   Comments   Change History      Sort Order:
Will Gilbert - [04/Jul/07 04:18 AM - edited ]
The fix to this problem is the same as the fix which was applied to TabPane.js (COO-17)

In the file "AccordionPane.js" there is a method "processTabClick"

ExtrasAccordionPane.processTabClick = function(echoEvent) {
.
.
.
if (accordion.getTabById(tabId).rendered) { accordion.selectTab(tabId, true); } else { // Connect to server with updated tab state such that non-rendered tab will be rendered. accordion.selectTab(tabId, false); EchoServerTransaction.connect(); }
};

should be:

ExtrasAccordionPane.processTabClick = function(echoEvent) {
.
.
.
if (accordion.getTabById(tabId).rendered) { accordion.selectTab(tabId, true); } else { // Connect to server with updated tab state such that non-rendered tab will be rendered. accordion.selectTab(tabId, false); }
.
.
.
EchoServerTransaction.connect();
};


or to match the changes which the Cooee Team made to TabPane.js

ExtrasAccordionPane.processTabClick = function(echoEvent) {
.
.
.
var fireEvent = (tabId != tabPane.activeTabId);

if (accordion.getTabById(tabId).rendered) { accordion.selectTab(tabId, true); } } else { accordion.selectTab(tabId, false); }

if (fireEvent) { // Connect to server with updated tab state such that non-rendered tab will be rendered. EchoServerTransaction.connect(); }
};


Kimie Nakahara - [06/Jul/07 04:15 PM ]
Hi Will!

Next week we will be reviewing the next issues to be solved. If you could attach the patch (diff) file to this issue it would be very helpful, making it much easier and faster to be applied.

Some instructions about this are in the wiki http://www.karora.org/wiki/display/COO/Bug+Fixing

Thank you for contributing!

Kimie


Will Gilbert - [06/Jul/07 11:04 PM ]
The patch is attached and was generated against Rev #371. I've tested it against one of my major in-house applications.

Happy patching!

--will gilbert


Kimie Nakahara - [09/Jul/07 11:45 AM - edited ]
The patch was applied, as it can be seen, the solution is similar to the one used in TabPane in COO-17.
SVN #378

Kimie Nakahara - [12/Jul/07 05:22 PM ]
Hi Will!

I need someone to test if the patch was correctly applied. Would you be able to do that? Only after someone else test it I can close the issue.

thank you

Kimie


Will Gilbert - [13/Jul/07 01:47 AM ]
The uploaded file 'AccordionPaneTest.java' is a series of JUnit tests which give 100% of the 'AccordionPane.java' class

Will Gilbert - [13/Jul/07 01:55 AM ]
The uploaded file 'AccordionPaneDemo.zip' is an acceptance level demo/test of the AccordionPane class.

This demo can be used to demonstrate the effectiveness of the JavaScript patch which was submitted previously. Using the 'pom.xml' file one can switch between the Cooee core library v1.0.1 which does not contain the patch and the current SNAPSHOT which does.

This demo will print to System.out when the 'ACTIVE_TAB_INDEX_CHANGED_PROPERTY' event is fired and will also visually switch target panels.

This project was created using the cooee-simpleapp archetype, but was modified to have jettyuse port 9090.

Usage: Unpack the zip, change to top directory, type mvn jetty:run, use a browser to point at localhost:9090


Kimie Nakahara - [13/Jul/07 11:22 AM ]
Excellent!!

I've added AccordionPaneTest to cooee.app.test package in cooee svn. The demo application is pretty good too!

thank you very much, and also, I've reaffirm the invite the Karora team has made to you. Just tell us when you feel like.

cheers!
Kimie


Kimie Nakahara - [13/Jul/07 03:25 PM ]
tested, fix ok!

Pete Butland - [02/Aug/07 10:57 AM ]
Re-opened to correct the fix version field