[Lada-commits] [PATCH 2 of 3] Handle deskriptoren in messprogramm like in probe
Wald Commits
scm-commit at wald.intevation.org
Wed May 13 10:24:06 CEST 2015
# HG changeset patch
# User Raimund Renkert <raimund.renkert at intevation.de>
# Date 1431505419 -7200
# Node ID f0b26df0215728ee9817d5b6ecf243e6704d3419
# Parent afdbe3770b99186145a01538f4895bc0141d4d2b
Handle deskriptoren in messprogramm like in probe.
diff -r afdbe3770b99 -r f0b26df02157 app/controller/form/Messprogramm.js
--- 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';
+ }
+ }
+});
diff -r afdbe3770b99 -r f0b26df02157 app/view/form/Messprogramm.js
--- a/app/view/form/Messprogramm.js Wed May 13 10:22:53 2015 +0200
+++ b/app/view/form/Messprogramm.js Wed May 13 10:23:39 2015 +0200
@@ -399,7 +399,42 @@
Lada.app.getController('Lada.controller.form.Messprogramm')
.synchronizeFields
);
+ },
+ setMediaDesk: function(record) {
+ var media = record.get('mediaDesk').split(' ');
+ this.setMediaSN(0, media);
+ },
+
+ setMediaSN: function(ndx, media) {
+ if (ndx >= 12) {
+ return;
+ }
+ var me = this;
+ var current = this.down('deskriptor[layer=' + ndx + ']');
+ var cbox = current.down('combobox');
+ if (ndx === 0) {
+ cbox.store.proxy.extraParams = {
+ 'layer': ndx
+ };
+ }
+ else {
+ var parents = current.getParents(current.down('combobox'));
+ if (parents.length === 0) {
+ return;
+ }
+ cbox.store.proxy.extraParams = {
+ 'layer': ndx,
+ 'parents': parents
+ };
+ }
+ cbox.store.load(function(records, op, success) {
+ if (!success) {
+ return;
+ }
+ cbox.select(cbox.store.findRecord('sn', parseInt(media[ndx + 1], 10)));
+ me.setMediaSN(++ndx, media);
+ });
},
setMessages: function(errors, warnings) {
@@ -463,9 +498,11 @@
var fields = [];
for (var i = 0; i < 12; i++) {
fields[i] = {
+ xtype: 'deskriptor',
fieldLabel: 'S' + i,
- name: 's' + i,
labelWidth: 25,
+ width: 190,
+ layer: i,
margin: '0, 10, 5, 0'
};
}
diff -r afdbe3770b99 -r f0b26df02157 app/view/window/Messprogramm.js
--- a/app/view/window/Messprogramm.js Wed May 13 10:22:53 2015 +0200
+++ b/app/view/window/Messprogramm.js Wed May 13 10:23:39 2015 +0200
@@ -138,6 +138,9 @@
var json = Ext.decode(response.response.responseText);
if (json) {
this.setMessages(json.errors, json.warnings);
+ if (!json.warnings.mediaDesk) {
+ this.down('messprogrammform').setMediaDesk(record);
+ }
}
// If the Messprogramm is ReadOnly, disable Inputfields and grids
if (this.record.get('readonly') === true) {
More information about the Lada-commits
mailing list