Skip to end of metadata
Go to start of metadata

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

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: 7)

Table of Contents

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

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.

9. Class Skeletons

]]></ac:plain-text-body></ac:macro>

]]></ac:plain-text-body></ac:macro>

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Feb 27, 2009

    <ac:macro ac:name="note"><ac:parameter ac:name="title">"Zend Official Reponse"</ac:parameter><ac:rich-text-body>

    <p>This proposal is accepted to the <strong>Standard Incubator</strong> provided the following issues are addressed:</p>
    <ul>
    <li>The generically named widgets should be prefixed with an identifier that demonstrates that these view helpers are part of the Zend_Dojo component. Either 'dijit', or 'dojo' should be the prefix.</li>
    </ul>

    </ac:rich-text-body></ac:macro>

  2. Nov 10, 2009

    <p>Hi,</p>

    <p>should be possible add support for dijit.form.Select ?</p>

    <p><a class="external-link" href="http://framework.zend.com/issues/browse/ZF-8137">http://framework.zend.com/issues/browse/ZF-8137</a></p>

  3. Feb 04, 2010

    <p>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.</p>

    <p>Cheers,</p>

    <p>Tim</p>

  4. Feb 04, 2010

    <p>Matthew, did you need any help?</p>

    <p>I can help with realization of this proposal.</p>

  5. Feb 04, 2010

    <p>@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.</p>

  6. Feb 07, 2010

    <p>Georgy - great thank you i'm waiting for this proposal very long time</p>

    <p>I have created TitlePane Decorator and View Helper too, it was 5 months ago.</p>

    <p><a class="external-link" href="http://framework.zend.com/issues/browse/ZF-8258">http://framework.zend.com/issues/browse/ZF-8258</a></p>

    1. Feb 07, 2010

      <p>@Silver, OK.<br />
      Have you already signed CLA?</p>

      <p>Tim and I are planing to realize this proposal. Maybe you also can help us? Send me letter if yes!</p>

      1. Feb 08, 2010

        <p>Hi Georgy,</p>

        <p>i don't have CLA.</p>

        <p>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.</p>

        <p>When i will need some other Dojo component (in future i will need 100% <a href="http://docs.dojocampus.org/dijit/form/Select" title="dijit.form.Select">dijit.form.Select</a>), so i will create Decorator and View Helper for it and I create new issue in ZF Jira and post link here.</p>

      2. Apr 02, 2010

        <p>Hi Guys,</p>

        <p>I have created project on the code.google.com:
        <a class="external-link" href="https://code.google.com/p/zf-dojo/">https://code.google.com/p/zf-dojo/</a></p>

        <p>There are all infos and implemented some components from this proposal, if you want to help develop this, pls contact me.</p>

        <p>Thank you</p>

        1. Apr 06, 2010

          <p>Hi Silver,</p>

          <p>Did you receive my email-answer? Could you comment it?</p>

          1. Apr 07, 2010

            <p>Hi Georgy,</p>

            <p>I have sent response to you, for sure I resend it.</p>