18 Dec 2008 6:20 AM #1
Ext.ux.panel.DDTabPanel extends Ext.TabPanel to support drag and drop operations to re-order the tabs.
This extension is the result of the work done in the topic "Draggable Panel in a TabPanel". When I started using the code in that thread, I found that clicking a tab to activate it didn't work any longer, you had to start dragging for it to activate. After some investigation, this was fixed by adding an onMouseDown event to activate the tab. As suggested by mabello, I decided to publish this great piece of work by giving it its own topic and by publishing it on the UX Repository.
This extension is based on the code of thommy and rizjoj and was then fixed, polished and published by myself.
JS File: http://extjs-ux.org/repo/authors/Mat.../DDTabPanel.js
UX Repository: http://extjs-ux.org/docs/index.html?...nel.DDTabPanel
Okay, it's in the repository now. Some small adjustments to the documentation have been done which will be reflected in the repository in approximately an hour (the interval between two repository updates).
This thread is open for suggestions, questions, bug reports and appreciations!
- None, yay!
- The tab panel can't be made stateful.
It'd be very hard to do this as the default tab panel itself doesn't seem to support this either. Seen from a developer's point, it would be very hard too as some tabs are loaded dynamically through AJAX requests and such, how would one save those in a cookie?
- Allow tabs to be dropped on another tab panel by joining the drag and drop sources and targets.
- 1.0.7 (Jan 16, 2009)
- Implemented some more code optimizations from mystix.
- 1.0.6 (Jan 10, 2009)
- Implemented mystix's suggestions.
- 1.0.5 (Dec 31, 2008)
- Tabs with an iconCls now have a left padding on the ghost text.
- 1.0.4 (Dec 19, 2008)
- Fixed bug with west region and code is much cleaner now.
- 1.0.3 (Dec 19, 2008)
- Fixed activeTab configuration not working.
- Added configuration option and method for tabs to enable/disable drag and drop on a per-tab basis.
- 1.0.2 (Dec 18, 2008)
- Fixed conflict between multiple DDTabPanels.
- 1.0.1 (Dec 18, 2008)
- Initial release.
Last edited by Matti; 16 Jan 2009 at 9:43 AM. Reason: Updated to version 1.0.7
18 Dec 2008 6:49 AM #2
18 Dec 2008 7:53 AM #3
Thanks for share,
18 Dec 2008 8:04 AM #4
18 Dec 2008 9:27 AM #5
18 Dec 2008 9:45 AM #6
18 Dec 2008 11:02 AM #7
An update has been sent to the SVN (version 1.0.2) which should fix the conflict between multiple DDTabPanels. This was caused by the class using the same drop target identifier for all panels and the helper class selecting the wrong drop header. Well, that's what you get when you try to get the most out of a quickly written extension I guess. Maintaining this thing sounds a lot more creepy now... :P But I can handle it.
That is a great idea indeed, I'll certainly have a look at it tomorrow.
18 Dec 2008 2:19 PM #8
22 Dec 2008 3:18 AM #9
Thank you very much for this extension!
There is, unfortunately, a problem with tabs dragging when 'west' region is set. Something is wrong with calculating X offset where to put a dragged tab. Please try adding this to the first window items in the demo file and try it yourself:
I would be very grateful if you could fix these issues.
22 Dec 2008 4:08 AM #10
Doesn't seem to work in IE. This is a great extension though.