Subversion Repositories Applications.papyrus

Rev

Blame | Last modification | View Log | RSS feed

<html>
        <head>
                <title>testing widgetsInTemplate support</title>
                <script type="text/javascript" src="../../dojo/dojo.js" 
                        djConfig="parseOnLoad: true, isDebug: true"></script>
                <script type="text/javascript">
                        dojo.require("doh.runner");

                        dojo.require("dijit.form.Button");
                        dojo.require("dijit.form.CheckBox");
                        dojo.require("dijit.ProgressBar");

                        dojo.addOnLoad(function(){
                                var testW;
                                doh.register("t",
                                        [
                                                {
                                                        name: "dojoAttachPoint",
                                                        runTest: function(t){
                                                                var testW = dijit.byId("test1Widget");
                                                                t.t(testW.normalNode);
                                                                t.f(isNaN(testW.normalNode.nodeType));
                                                                t.t(testW.buttonWidget instanceof dijit.form.Button);
                                                                t.t(testW.checkboxWidget instanceof dijit.form.CheckBox);
                                                                t.t(testW.progressBarWidget instanceof dijit.ProgressBar);
//                                                              alert((testW.buttonWidget instanceof dijit.form.Button)+(testW.checkboxWidget instanceof dijit.form.CheckBox)+(testW.progressBarWidget instanceof dijit.ProgressBar)+
//                                                              (testW.buttonWidget._counter==1)+(testW.checkboxWidget._counter==1)+(testW.progressBarWidget._counter==1));
                                                                testW = dijit.byId("test2Widget");
                                                                t.t(testW.containerNode);
                                                                t.f(isNaN(testW.containerNode.nodeType));
                                                                t.is(undefined,testW.buttonWidget);
                                                                t.t(testW.checkboxWidget instanceof dijit.form.CheckBox);
                                                        }
                                                },
                                                {
                                                        name: "dojoAttachEvent",
                                                        runTest: function(t){
                                                                var testW = dijit.byId("test1Widget");
                                                                testW.buttonWidget._counter=0;
                                                                testW.buttonWidget.onClick(testW.buttonWidget);
                                                                testW.checkboxWidget._counter=0;
                                                                testW.checkboxWidget.onClick(testW.checkboxWidget);
                                                                testW.progressBarWidget._counter=0;
                                                                testW.progressBarWidget.onChange(testW.progressBarWidget);
                                                                t.is(1,testW.buttonWidget._counter);
                                                                t.is(1,testW.checkboxWidget._counter);
                                                                t.is(1,testW.progressBarWidget._counter);
                                                        }
                                                }
                                        ]
                                );
                                doh.run();
                        });
                </script>
        <style type="text/css">
                @import "../themes/tundra/tundra.css";
        </style>
        </head>
        <body>
                <h1>testing widgetsInTemplate support</h1>
                <xmp id="Test1Template" style="display:none;">
                        <div>
                                <div dojoAttachPoint="normalNode" >normal node</div>
                                <button dojoAttachPoint="buttonWidget" dojoAttachEvent="onClick:onClick" dojoType="dijit.form.Button">button #1</button>
                                <div dojoAttachPoint="checkboxWidget" dojoAttachEvent="onClick:onClick" dojoType="dijit.form.CheckBox"></div> checkbox #1
                                <div dojoAttachPoint="progressBarWidget" dojoAttachEvent="onChange:onClick" style="width:400px" annotate="true"
                                        maximum="200" progress="20" dojoType="dijit.ProgressBar"></div>
                        </div>
                </xmp>
                <script>
                        dojo.declare('Test1Widget',
                                [dijit._Widget, dijit._Templated],
                        {
                                widgetsInTemplate: true,
                //              isContainer: true,

                                templateString: dojo.byId('Test1Template').textContent || dojo.byId('Test1Template').innerText,
                                onClick: function(e){
                                        if(e.target){
                                                alert('onClick widgetId='+e.target.id);
                                        }else{
                                                if(e._counter == undefined){
                                                        e._counter = 1;
                                                }else{
                                                        e._counter++;
                                                }
                                        }
                                }
                        });
                </script>
        <!-- can use widget immediately in markup - no parsing occurs until document loaded and scripts run -->
        <div dojoType="Test1Widget" id="test1Widget" ></div>


        <xmp id="Test2Template" style="display:none;">
                <div>
                        <div dojoAttachPoint="containerNode" ><div dojoAttachPoint="checkboxWidget" dojoType="dijit.form.CheckBox"></div> checkbox #2</div>
                </div>
        </xmp>
                <script>
                        dojo.declare('Test2Widget',
                                [dijit._Widget, dijit._Templated],
                        {
                                widgetsInTemplate: true,

                                templateString: dojo.byId('Test2Template').textContent || dojo.byId('Test2Template').innerText
                        });
                </script>
        <div dojoType="Test2Widget" id="test2Widget" ><button dojoAttachPoint="buttonWidget" dojoType="dijit.form.Button">button #2</button></div>
        </body>
</html>