Ticket #205 (in_QA enhancement)

Opened 3 years ago

Last modified 3 years ago

New Control QTabPanel

Reported by: enzo Owned by: somebody
Priority: must Milestone: Plugin
Component: Plugin (not included in core distro) Version: 1.0.0 RC2
Keywords: Tab Jquery Control Cc:

Description

Hello folks

I took the QtabPanel? from  http://qcodo.com/downloads/item.php/184 and include some improvement like

1. Fix the CSS
2. Create a new section in examples
2. Enable to call render only to the parent tab ( the original implementation required an call for each element

Could you check the example at  http://qcubed.anexusit.com/examples/advanced_ajax/tab_panel.php

Attached could you find the patch against QCubed RC2 and a simple installer to use meanwhile is included in repository.

Attachments

QTabPanel.tar.gz Download (2.4 KB) - added by OOPMan 3 years ago.
Brand New QTabPanel implementation
QTabPanel.zip Download (14.4 KB) - added by enzo 3 years ago.
QTabPanel.patch Download (23.6 KB) - added by enzo 3 years ago.
tab.png Download (0.7 KB) - added by enzo 3 years ago.

Change History

follow-up: ↓ 3   Changed 3 years ago by rkotenko

Is the jquery.js file special?

I ask because the QJuery integration alex submitted contains the jquery files and adds references to accessing them.

We want to ensure there are not a ton of jquery files run about.

Refer to: http://trac.qcu.be/projects/qcubed/ticket/183

follow-up: ↓ 4   Changed 3 years ago by k9

we've been having issues with the QTabPanel in IE7. If i visit the link in IE7 the tabs don't work.

in reply to: ↑ 1   Changed 3 years ago by enzo

Replying to rkotenko:

Is the jquery.js file special?

I ask because the QJuery integration alex submitted contains the jquery files and adds references to accessing them.

We want to ensure there are not a ton of jquery files run about.

Refer to: http://trac.qcu.be/projects/qcubed/ticket/183

Hello, is a regular jquery file , I guess the guy pass to production just could remove and this control will use the jquery file you mention.

Regards

in reply to: ↑ 2   Changed 3 years ago by enzo

Replying to k9:

we've been having issues with the QTabPanel in IE7. If i visit the link in IE7 the tabs don't work.

oops, I'm a front end web developer expert, I will try fix, but do you have any idea the source of this error?

  Changed 3 years ago by alex94040

On RKotenko's point about jquery.js being already included: enzo, can you check out the latest bits from the QCubed SVN, and create a patch against those? There's a jquery.js already included there, you just need to hook it up appropriately

  Changed 3 years ago by alex94040

  • status changed from new to in_QA

I'm using IE8, and the tabs don't work in  http://qcubed.anexusit.com/examples/advanced_ajax/tab_panel.php either. BTW: in Firefox, the tabs do work, but Firebug is showing an error.

Can you try with the latest version of jQuery (the one that's currently in the core) and the latest version of the tab panel plugin?

  Changed 3 years ago by OOPMan

I have created a new, custom QTabPanel implementation that works in IE7 and is built on jQuery 1.3.2 and jQuery UI 1.7.1. I am busy testing it an implementing a few final features and will try to have an upload ready by the end of the week.

  Changed 3 years ago by alex94040

  • status changed from in_QA to infoneeded

OOPMan - thanks, we're very much excited about your contribution. Do upload it! :-)

Changed 3 years ago by OOPMan

Brand New QTabPanel implementation

  Changed 3 years ago by OOPMan

Right, I've uploaded my initial implementation of a new QTabPanel control. I still haven't had a chance to clean it up properly yet and it's still missing a couple of features

Mainly, it is not yet possible to edit the Ajax Options, Cookie Object, Disable Tabs array and FX Options components of the jQuery Control.

Also, I haven't done much testing of the control in Ajax mode and it is still rather simplistic.

Usage is very easy. Ensure that you are loading jQuery >= 1.3.2 and jQuery UI >= 1.7.1. Adding a Control Tab to the control is as simple as creating a new child control of the Tab Panel. The Name of the Control will be used to generate the title of the new Tab. It is also possible to ajax Ajax Fetch tabs using the AddControl? method. Rendering the QTabPanel is as simple as calling Render() on it :-)

Things to do:
* Implement the missing TabPanel? stuff mentioned above.
* Add more features to the QTabPanel control itself. Features hotlisted include:
** Enable/Disable? tabs
** Adding Controls to a given position should cause a shift rather than overwrite by default
** Add Move Control and Remove Control methods.
** Test, test, test!

  Changed 3 years ago by alex94040

  • status changed from infoneeded to assigned

  Changed 3 years ago by alex94040

  • status changed from assigned to in_QA

  Changed 3 years ago by enzo

OOPMan, could you upload and example, becuase I try use your panel, but have a totally different structure.

I will really appreciate that effort.

Regards

enzo

  Changed 3 years ago by enzo

After try to implement the OOPMan solution with out success.

I did some changes in the class and other tweaks to try implement in a easy way :P IMHO.

List of changes:

* Jquery UI Implemented (OOPMAN contribution)
* Create a QTabSection class (one object per tab)
* Auto Add control (We just need pass the QTabSection as Parent control)

This change was tested on FF3 and IE7

could you check at  http://qcubed.anexusit.com/examples/advanced_ajax/tab_panel.php

To Do:

* Test on IE6, IE8, Safari and Opera
* Add content cache.

  Changed 3 years ago by enzo

To implement last change is neccesarry implement ticket # http://trac.qcu.be/projects/qcubed/attachment/ticket/256
In order to enable custom stylesheet by control.

enzo

Changed 3 years ago by enzo

Changed 3 years ago by enzo

Changed 3 years ago by enzo

  Changed 3 years ago by OOPMan

Enzo, could you let me know what problems you had my with QTabPanel. When I tested it, it seemed to work fine with no extraneous QTabPanelSection type classes required...

  Changed 3 years ago by alex94040

  • component changed from Javascript to Plugin
  • milestone changed from 1.1 to Plugin

This would make a great plugin. Can you refactor it into the plugin architecture, please? The docs on how to make plugins are now available on the examples site:  http://examples.qcu.be/assets/_core/php/examples/plugins/about.php

  Changed 3 years ago by agsel

Sorry to jump in like that. But I have another implementation of QTabsPanel. What should be the work flow for duplicate plugins? Should I apply it as a separate plugin or should be try to merge those? My QTabsPanel handles "tabchange" event and user can call for an action in case of action is triggered (eg you can load tab contents only when user has made it active).

I could also try to modify the current tab panel to add my functionality.

  Changed 3 years ago by akrohn

Has any of the two QTabPanel implementations the functionality for disabling a tab or setting an validation error status of a tab for showing it in a special color?

  Changed 3 years ago by alex94040

agsel,

I think the easiest approach for now is for you to try to create your own plugin - it's pretty hard to try to merge with someone else's implementation. Hopefully, enzo will create his own plugin as well; when the two are tested and the community plays with both, I'm sure there will be a natural phase when the two are combined. I'm not too worried about getting there from the start, though.

Thanks!

Note: See TracTickets for help on using tickets.