Changeset 1033
- Timestamp:
- 07/20/08 01:32:06 (1 month ago)
- Files:
-
- trunk/lib/jelix/docs/ns/jforms_1.1.rng (modified) (2 diffs)
- trunk/lib/jelix/forms/jFormsCompiler_jf_1_1.class.php (modified) (1 diff)
- trunk/lib/jelix/forms/jFormsControl.class.php (modified) (1 diff)
- trunk/lib/jelix/plugins/jforms/html/html.jformsbuilder.php (modified) (1 diff)
- trunk/testapp/modules/testapp/forms/sample.form.xml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/jelix/docs/ns/jforms_1.1.rng
r1030 r1033 174 174 <define name="menulist"> 175 175 <element name="menulist"> 176 <ref name="control.common" /> 177 <ref name="control.list.common" /> 176 <interleave> 177 <ref name="control.common" /> 178 <ref name="control.list.common" /> 179 <optional><element name="emptyitem"><ref name="message.content" /></element></optional> 180 </interleave> 178 181 </element> 179 182 </define> … … 263 266 <define name="control.common"> 264 267 <attribute name="ref" /> 265 <ref name="label" /> 266 <optional> 267 <ref name="help" /> 268 </optional> 269 <optional> 270 <ref name="hint" /> 271 </optional> 272 <optional> 273 <ref name="alert" /> 274 </optional> 268 <interleave> 269 <ref name="label" /> 270 <optional> 271 <ref name="help" /> 272 </optional> 273 <optional> 274 <ref name="hint" /> 275 </optional> 276 <optional> 277 <ref name="alert" /> 278 </optional> 279 </interleave> 275 280 </define> 276 281 trunk/lib/jelix/forms/jFormsCompiler_jf_1_1.class.php
r1030 r1033 26 26 'url','email','ipv4','ipv6','html'); 27 27 28 29 protected function generateMenulist(&$source, $control, &$attributes) { 30 parent::generateMenulist($source, $control, $attributes); 31 if(isset($control->emptyitem)) { 32 if(isset($control->emptyitem['locale'])){ 33 $labellocale=(string)$control->emptyitem['locale']; 34 $source[]='$ctrl->emptyItemLabel=jLocale::get(\''.$labellocale.'\');'; 35 }else{ 36 $label= (string)$control->emptyitem; 37 $source[]='$ctrl->emptyItemLabel=\''.str_replace("'","\\'",$label).'\';'; 38 } 39 } 40 return false; 41 } 42 28 43 protected function generateTextarea(&$source, $control, &$attributes) { 29 44 if(isset($attributes['type'])){ trunk/lib/jelix/forms/jFormsControl.class.php
r1030 r1033 517 517 public $type="menulist"; 518 518 public $defaultValue=''; 519 public $emptyItemLabel=''; 519 520 } 520 521 trunk/lib/jelix/plugins/jforms/html/html.jformsbuilder.php
r1031 r1033 253 253 } 254 254 if (!$ctrl->required) { 255 echo '<option value=""',($value==''?' selected="selected"':''),'> </option>';255 echo '<option value=""',($value==''?' selected="selected"':''),'>',htmlspecialchars($ctrl->emptyItemLabel),'</option>'; 256 256 } 257 257 foreach($ctrl->datasource->getData($this->_form) as $v=>$label){ trunk/testapp/modules/testapp/forms/sample.form.xml
r1030 r1033 34 34 <menulist ref="conf" > 35 35 <datasource dao="testapp~config" method="findAll" labelproperty="cvalue" valueproperty="ckey" /> 36 <label>Selectionnez une des valeurs</label> 36 <label>Select one value</label> 37 <emptyitem>-- choices --</emptyitem> 37 38 </menulist> 38 39 39 40 <listbox ref="home"> 40 <label> Vous habitez</label>41 <label>You leave at</label> 41 42 <item value="pa">Paris</item> 42 43 <item value="ma">Marseille</item>
