Mercurial > lada > lada-client
diff app/controller/form/Messprogramm.js @ 784:f0b26df02157
Handle deskriptoren in messprogramm like in probe.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 13 May 2015 10:23:39 +0200 |
parents | 5a153d36ed4e |
children | b8fd43021c29 |
line wrap: on
line diff
--- a/app/controller/form/Messprogramm.js Wed May 13 10:22:53 2015 +0200 +++ b/app/controller/form/Messprogramm.js Wed May 13 10:23:39 2015 +0200 @@ -39,6 +39,9 @@ }, 'messprogrammform probenintervall combobox': { select: this.updateIntervalls + }, + 'messprogrammform panel[xtype="deskriptor] combobox': { + select: this.deskriptorSelect } }); }, @@ -231,4 +234,51 @@ field.up('fieldset').clearMessages(); } } - }}); + }, + + deskriptorSelect: function(field, records) { + var desk = field.up('deskriptor'); + var media = field.up('messprogrammform').down('textfield[name="mediaDesk"]'); + var current = media.getValue().split(' '); + this.clearChildDesk(field.up('deskriptor'), current); + if (current.length < 13) { + for (var i = 0; i <= 12; i++) { + if (i === 0) { + current.push('D:'); + } + else if (i === desk.layer + 1) { + var value; + if (records[0].get('sn') < 10) { + value = '0' + records[0].get('sn'); + } + else { + value = records[0].get('sn'); + } + current.push(value); + } + else { + current.push('00'); + } + } + } + else { + var value; + if (records[0].get('sn') < 10) { + value = '0' + records[0].get('sn'); + } + else { + value = records[0].get('sn'); + } + current[desk.layer + 1] = value; + } + media.setValue(current.join(' ').trim()); + }, + + clearChildDesk: function(field, media) { + var allS = field.up('fieldset').items.items; + for (var i = field.layer + 1; i < 12; i++) { + allS[i].clearValue(); + media[i + 1] = '00'; + } + } +});