Zend Framework: Zend_Dojo – Extended Dijit Support Component Proposal
| Proposed Component Name | Zend_Dojo – Extended Dijit Support |
|---|---|
| Developer Notes | http://framework.zend.com/wiki/display/ZFDEV/Zend_Dojo – Extended Dijit Support |
| Proposers | Matthew Weier O'Phinney |
| Zend Liaison | Ralph Schindler |
| Revision | 1.0 - 14 January 2009: Initial Draft. (wiki revision: 6) |
Table of Contents
- 1. Overview
- 2. References
- 3. Component Requirements, Constraints, and Acceptance Criteria
- 4. Dependencies on Other Framework Components
- 5. Theory of Operation
- 6. Milestones / Tasks
- 7. Class Index
- 8. Use Cases
- Creating menus using accessors
- Creating a dialog
- Creating a tooltip
- Creating a tooltip dialog
- Rendering a tree
- Creating a TitlePane
- Creating progress bars
- Color palettes
- 9. Class Skeletons
1. Overview
Zend_Dojo was introduced in ZF 1.6.0, and offers support for most form dijits and all layout dijits. A number of dijits are still missing, and the goal of this proposal is to add support for the majority of them.
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
- This proposal will add support for the following top-level dijits:
- dijit.ColorPalette
- dijit.Dialog
- dijit.Menu (and implicitly MenuItem and MenuSeparator)
- dijit.ProgressBar
- dijit.TitlePane
- dijit.Tooltip
- dijit.TooltipDialog
- dijit.Tree
- This proposal will add support for the following form dijits:
- dijit.form.MultiSelect
- This proposal will NOT add support for:
- dijit.form.ComboButton
- dijit.form.DropDownButton
- dijit.form.MappedTextBox
- dijit.form.RangeBoundTextBox
4. Dependencies on Other Framework Components
- Zend_Dojo
5. Theory of Operation
In all cases, the various dijits will follow the conventions and API of existing dijits supported by Zend_Dojo, including view helpers and form elements and decorators (where applicable).
In the case of dijit.Menu, the view helper will return an instance of itself, and allow the developer to programmatically add menu items and separators.
We are omitting support for several dijits that we will re-evaulate in the future. Amongst these are dijit.Toolbar, dijit.form.ComboButton, and dijit.form.DropDownButton. In these particular cases, functionality developed for this proposal will act as a pre-requisite for supporting these items in the future(in particular, dijit.Menu support and dijit.TooltipDialog).
6. Milestones / Tasks
- Milestone 1: [DONE] Identify dijits for which to add support
- Milestone 2: Create proposal
- Milestone 3: Create master issue and sub issues to track development of each dijit
- Milestone 4: Dijit development (including unit tests and documentation)
7. Class Index
- Zend_Dojo_View_Helper_:
- MultiSelect
- ColorPalette
- Dialog
- Menu
- ProgressBar
- TitlePane
- Tooltip
- TooltipDialog
- Tree
- Zend_Dojo_Form_:
- Element_:
- MultiSelect
- Decorator_:
- TitlePane
- Dialog
- Tooltip
- TooltipDialog
- Element_:
8. Use Cases
NOTE: In all cases, "$this" is a Zend_View instance within a view script.
| UC-01 |
|---|
Creating menus using accessors
| UC-02 |
|---|
Creating a dialog
| UC-03 |
|---|
Creating a tooltip
dijit.Tooltip expects a "label" attribute which contains the text of the tooltip. For consistency in the Zend_Dojo API, we pass this as the "content" argument (the second argument).
| UC-04 |
|---|
Creating a tooltip dialog
| UC-05 |
|---|
Rendering a tree
dijit.Tree is a dojo.data-powered widget, and as such has relatively little setup other than indicating the dojo.data store object that it will populate itself from.
We may add support for creating dojo.data stores and models; please comment if you would like to see this support.
| UC-06 |
|---|
Creating a TitlePane
dijit.TitlePane is simply a content container with a title. You can click on the title bar to open or close the container.
| UC-07 |
|---|
Creating progress bars
While the proposed view helper can create the ProgressBar dijit, it will still be up to the developer to programatically interact with it.
By default, the id (first argument) will also be used as the jsId of the dijit.
| UC-08 |
|---|
Color palettes
One unanswered question is if, by default, this should update a hidden form element; please leave a comment if you have an opinion.
11 Comments
comments.show.hideFeb 27, 2009
Ralph Schindler
This proposal is accepted to the Standard Incubator provided the following issues are addressed:
Nov 10, 2009
snop3
Hi,
should be possible add support for dijit.form.Select ?
http://framework.zend.com/issues/browse/ZF-8137
Feb 04, 2010
Tim Ruffles
I'd love to see further integration of ZF and Dojo components, is anybody actively developing this? I'd hate to do something only to find out it has already been done.
Cheers,
Tim
Feb 04, 2010
Georgy Turevich
Matthew, did you need any help?
I can help with realization of this proposal.
Feb 04, 2010
Matthew Weier O'Phinney
@Georgy, @Tim: I haven't been able to dedicate any time towards this proposal, unfortunately, and with 2.0 starting to gear up, I likely won't be able to for some time. If either or both of you want to help drive this proposal to completion (it's already accepted; just waiting for code), I'd welcome the help; ping me via email if you're interested.
Feb 07, 2010
Silver Zachara
Georgy - great thank you i'm waiting for this proposal very long time
I have created TitlePane Decorator and View Helper too, it was 5 months ago.
http://framework.zend.com/issues/browse/ZF-8258
Feb 07, 2010
Georgy Turevich
@Silver, OK.
Have you already signed CLA?
Tim and I are planing to realize this proposal. Maybe you also can help us? Send me letter if yes!
Feb 08, 2010
Silver Zachara
Hi Georgy,
i don't have CLA.
But i don't have any time help you to realize some Dojo components for ZF, because all my time is filled with my work.
When i will need some other Dojo component (in future i will need 100% dijit.form.Select), so i will create Decorator and View Helper for it and I create new issue in ZF Jira and post link here.
Apr 02, 2010
Silver Zachara
Hi Guys,
I have created project on the code.google.com: https://code.google.com/p/zf-dojo/
There are all infos and implemented some components from this proposal, if you want to help develop this, pls contact me.
Thank you
Apr 06, 2010
Georgy Turevich
Hi Silver,
Did you receive my email-answer? Could you comment it?
Apr 07, 2010
Silver Zachara
Hi Georgy,
I have sent response to you, for sure I resend it.