Ignore:
Timestamp:
04/23/13 17:33:48 (12 years ago)
Author:
hendrikvanantwerpen
Message:

Implemented Scale and ScaleConfig? widget.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/client/qed/tests/test_ScaleWidget.html

    r433 r434  
    1414          'dojo/when',
    1515          'dojo/parser',
    16           'qed/widgets/ScaleWidget',
     16          'qed/model/widgets/ScaleConfigWidget',
     17          'qed/model/widgets/ScaleWidget',
    1718          'dojo/domReady!'
    18       ], function(registry,dom,when,parser,ScaleWidget){
     19      ], function(registry,dom,when,parser,ScaleConfigWidget,ScaleWidget){
    1920        when(parser.parse()).then(function(){
    20             var scaleWidget = new ScaleWidget({
    21               min: -2,
    22               max: 2,
    23               min_label: "Bad",
    24               max_label: "Good",
    25               naLabel: "N/A",
    26               name: "lala",
    27               items: [{
    28                  text: "How were the lectures?",
    29                  minLabel: "Boring",
    30                  maxLabel: "Engaging"
    31               },{
    32                  text: "How was the lab organised? How was the lab organised? How was the lab organised?",
    33                  minLabel: "Sloppy",
    34                  maxLabel: "Stiff as a board"
    35               }]
    36             },"widgetNode").startup();
    3721
     22            var configWidget = registry.byId("configWidget");
     23            var configNode = dom.byId("configNode");
    3824            var valueNode = dom.byId("valueNode");
    39             var valueForm = registry.byId("valueForm");
     25            var widgetNode = dom.byId("widgetNode");
     26            var widget = null;
     27
     28            registry.byId("configButton").on("click",function(){
     29              if ( configWidget.validate() ) {
     30                var config = configWidget.get('value');
     31                configNode.innerHTML = JSON.stringify(config);
     32                widgetNode.innerHTML = '';
     33                widget = new ScaleWidget(config)
     34                widget.startup();
     35                widget.placeAt(widgetNode);
     36              }
     37            });
     38     
    4039            registry.byId("valueButton").on("click",function(){
    41               valueNode.innerHTML = JSON.stringify(valueForm.get("value"));
     40              if ( widget ) {
     41                var value = widget.get('value');
     42                valueNode.innerHTML = JSON.stringify(value);
     43              }
     44            });
     45     
     46            registry.byId("defaultConfigButton").on("click",function(){
     47              configWidget.set('value',{
     48                min: -2,
     49                max: 2,
     50                minLabel: "Bad",
     51                maxLabel: "Good",
     52                naLabel: "N/A",
     53                items: [{
     54                   text: "How were the lectures?",
     55                   minLabel: "Boring",
     56                   maxLabel: "Engaging"
     57                },{
     58                   text: "How was the lab organised? How was the lab organised? How was the lab organised?",
     59                   minLabel: "Sloppy",
     60                   maxLabel: "Stiff as a board"
     61                }]
     62              });
    4263            });
    4364
    44             var configNode = dom.byId("configNode");
    45             var configForm = registry.byId("configForm");
    46             registry.byId("configButton").on("click",function(){
    47               configNode.innerHTML = JSON.stringify(configForm.get("value"));
    48             });
    4965        });
    5066      });
     
    5369    <h1>Test ScaleWidget</h1>
    5470
     71    <h2>Config Widget</h2>
     72    <div>
     73      <div>
     74        <div id="configWidget"
     75             data-dojo-type="qed/model/widgets/ScaleConfigWidget"></div>
     76        <button id="defaultConfigButton"
     77                data-dojo-type="dijit/form/Button">Set Example</button>
     78        <button id="configButton"
     79                data-dojo-type="dijit/form/Button">Create widget</button>
     80      </div>
     81      <div id="configNode"></div>
     82    </div>
     83
    5584    <h2>Widget</h2>
    5685    <div>
    57       <div id="valueForm" data-dojo-type="dijit/form/Form">
     86      <div>
    5887        <div id="widgetNode"></div>
    59         <button id="valueButton" data-dojo-type="dijit/form/Button">Done</button>
     88        <button id="valueButton"
     89                data-dojo-type="dijit/form/Button">Done</button>
    6090      </div>
     91      <div id="valueNode"></div>
    6192    </div>
    62 
    63     <h2>Value</h2>
    64     <div id="valueNode"></div>
    65 
    66     <h2>ConfigurationWidget</h2>
    67     <div>
    68       <div id="configForm" data-dojo-type="dijit/form/Form">
    69         <label>Min value</label><div name="minValue" data-dojo-type="dijit/form/TextBox"></div>
    70         <label>Min label</label><div name="maxValue" data-dojo-type="dijit/form/TextBox"></div>
    71         <label>Max value</label><div name="maxValue" data-dojo-type="dijit/form/TextBox"></div>
    72         <label>Max label</label><div name="maxValue" data-dojo-type="dijit/form/TextBox"></div>
    73 
    74         <label>Text</label><div name="items[0].text" data-dojo-type="dijit/form/TextBox"></div>
    75         <label>Min label</label><div name="items[0].minLabel" data-dojo-type="dijit/form/TextBox"></div>
    76         <label>Max label</label><div name="items[0].maxLabel" data-dojo-type="dijit/form/TextBox"></div>
    77 
    78         <button id="configButton" data-dojo-type="dijit/form/Button">Done</button>
    79       </div>
    80     </div>
    81 
    82     <h2>Value</h2>
    83     <div id="configNode"></div>
    8493
    8594  </body>
Note: See TracChangeset for help on using the changeset viewer.