torsten@18: Ext.define('Lada.view.proben.Edit', { torsten@18: extend: 'Ext.window.Window', torsten@18: alias: 'widget.probenedit', torsten@18: torsten@18: title: 'Maske für §3-Proben', torsten@47: // Make size of the dialog dependend of the available space. torsten@47: // TODO: Handle resizing the browser window. torsten@47: width: Ext.getBody().getViewSize().width - 30, torsten@47: height: Ext.getBody().getViewSize().height - 30, torsten@18: autoShow: true, torsten@25: autoScroll: true, torsten@25: modal: true, torsten@18: torsten@40: requires: [ torsten@42: 'Lada.view.widgets.Uwb', torsten@41: 'Lada.view.widgets.Datenbasis', torsten@46: 'Lada.view.widgets.Probenart', torsten@49: 'Lada.view.widgets.Betriebsart', torsten@53: 'Lada.view.widgets.Testdatensatz', torsten@53: 'Lada.view.kommentare.List' torsten@40: ], torsten@40: torsten@18: initComponent: function() { torsten@18: this.items = [ torsten@18: { torsten@19: //Define the form torsten@18: xtype: 'form', torsten@25: bodyPadding: '10 10', torsten@25: border: 0, torsten@18: items: [ torsten@19: // Probenangaben torsten@18: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Probenangaben', torsten@19: defaults: { torsten@19: labelWidth: 150 torsten@19: }, torsten@19: items: [ torsten@19: { torsten@19: xtype: 'textfield', torsten@22: name: 'mstId', torsten@19: fieldLabel: 'Messstelle' torsten@19: }, torsten@19: { torsten@19: xtype: 'textfield', torsten@22: name: 'hauptprobenNr', torsten@19: fieldLabel: 'Hauptprobennr.' torsten@19: }, torsten@19: { torsten@19: xtype: 'textfield', torsten@22: name: 'probeId', torsten@19: fieldLabel: 'Probe-ID' torsten@19: }, torsten@19: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Erweiterte Probenangaben', torsten@19: collapsible: true, torsten@19: collapsed: true, torsten@19: items: [ torsten@19: { torsten@41: xtype: 'datenbasis', torsten@41: id: 'datenbasis', torsten@41: editable: false, torsten@41: name: 'datenbasisId', torsten@41: fieldLabel: 'Datenbasis' torsten@19: }, torsten@19: { torsten@46: xtype: 'betriebsart', torsten@46: name: 'baId', torsten@46: fieldLabel: 'Betriebsart' torsten@19: }, torsten@19: { torsten@49: xtype: 'testdatensatz', torsten@22: name: 'test', torsten@19: fieldLabel: 'Testdatensatz' torsten@19: }, torsten@19: { torsten@40: xtype: 'probenart', torsten@40: id: 'probenart', torsten@40: editable: false, torsten@22: name: 'probenartId', torsten@19: fieldLabel: 'Probenart' torsten@19: }, torsten@19: { torsten@19: xtype: 'textfield', torsten@22: name: 'probenartId', torsten@19: fieldLabel: 'Probennehmer' torsten@19: }, torsten@19: { torsten@19: xtype: 'textfield', torsten@19: name: 'x11', torsten@19: fieldLabel: 'Datensatzerzeuger' torsten@19: } torsten@19: ] torsten@19: } torsten@19: ] torsten@18: }, torsten@19: // Medium torsten@18: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Medium', torsten@19: defaults: { torsten@19: labelWidth: 150 torsten@19: }, torsten@19: items: [ torsten@19: { torsten@38: xtype: 'uwb', torsten@22: name: 'umwId', torsten@19: fieldLabel: 'Umweltbereich' torsten@19: }, torsten@19: { torsten@19: xtype: 'textfield', torsten@22: name: 'media', torsten@19: fieldLabel: 'Medienbezeichnung' torsten@19: }, torsten@19: { torsten@19: xtype: 'textfield', torsten@22: name: 'mediaDesk', torsten@19: fieldLabel: 'Deskriptoren' torsten@19: }, torsten@19: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Details Deskriptoren', torsten@19: collapsible: true, torsten@19: collapsed: true, torsten@19: defaultType: 'textfield', torsten@19: items: this.buildDescriptors() torsten@19: } torsten@19: ] torsten@19: }, torsten@19: // Zeit torsten@19: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Zeit', torsten@19: defaultType: 'datefield', torsten@19: defaults: { torsten@19: labelWidth: 150 torsten@19: }, torsten@19: items: [ torsten@19: { torsten@19: fieldLabel: 'Probennahme Beginn', torsten@22: name: 'probeentnahmeBeginn' torsten@19: }, torsten@19: { torsten@19: fieldLabel: 'Probennahme Ende', torsten@22: name: 'probeentnahmeEnde' torsten@19: }, torsten@19: { torsten@19: fieldLabel: 'Sollzeit Von', torsten@22: name: 'solldatumBeginn' torsten@19: }, torsten@19: { torsten@19: fieldLabel: 'Sollzeit Bis', torsten@22: name: 'solldatumEnde' torsten@19: }, torsten@19: { torsten@19: fieldLabel: 'Ursprungszeit', torsten@19: name: 'z5' torsten@19: } torsten@19: ] torsten@19: }, torsten@19: // Ortsangaben torsten@19: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Ortsangaben', torsten@19: padding: '10 10', torsten@19: items: [ torsten@19: { torsten@19: xtype: 'grid', torsten@19: dockedItems: [ torsten@19: { torsten@19: xtype: 'toolbar', torsten@19: dock: 'top', torsten@19: items: [ torsten@19: { torsten@19: text: 'Hinzufügen', torsten@19: icon: 'gfx/plus.gif' torsten@19: }, torsten@19: { torsten@19: text: 'Löschen', torsten@19: icon: 'gfx/minus.gif' torsten@19: } torsten@19: ] torsten@19: } torsten@19: ], torsten@19: columns: [ torsten@19: { torsten@19: text: 'Typ' torsten@19: }, torsten@19: { torsten@19: text: 'Staat' torsten@19: }, torsten@19: { torsten@19: text: 'Gem-ID' torsten@19: }, torsten@19: { torsten@19: text: 'Gemeindebezeichnung', torsten@19: flex: 1 torsten@19: }, torsten@19: { torsten@19: text: 'Messpunkt', torsten@19: flex: 1 torsten@19: } torsten@19: ] torsten@19: } torsten@19: ] torsten@19: }, torsten@19: // Probenzusatzwerte torsten@19: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Probenzusatzwerte', torsten@19: collapsible: true, torsten@19: collapsed: true, torsten@19: padding: '10 10', torsten@19: items: [ torsten@19: { torsten@19: xtype: 'grid', torsten@19: dockedItems: [ torsten@19: { torsten@19: xtype: 'toolbar', torsten@19: dock: 'top', torsten@19: items: [ torsten@19: { torsten@19: text: 'Hinzufügen', torsten@19: icon: 'gfx/plus.gif' torsten@19: }, torsten@19: { torsten@19: text: 'Löschen', torsten@19: icon: 'gfx/minus.gif' torsten@19: } torsten@19: ] torsten@19: } torsten@19: ], torsten@19: columns: [ torsten@19: { torsten@19: text: 'PZW-ID' torsten@19: }, torsten@19: { torsten@19: text: 'PZW-Größe' torsten@19: }, torsten@19: { torsten@19: text: '< NWG' torsten@19: }, torsten@19: { torsten@19: text: '< PZW' torsten@19: }, torsten@19: { torsten@19: text: 'rel. Unsich.[%]' torsten@19: }, torsten@19: { torsten@19: text: 'Maßeinheit', torsten@19: flex: 1 torsten@19: } torsten@19: ] torsten@19: } torsten@19: ] torsten@19: }, torsten@19: // Probenkommentar torsten@19: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Probenkommentare', torsten@19: collapsible: true, torsten@19: collapsed: true, torsten@19: padding: '10 10', torsten@19: items: [ torsten@19: { torsten@53: xtype: 'kommentarelist' torsten@19: } torsten@19: ] torsten@19: }, torsten@19: // Messungsangaben torsten@19: { torsten@19: xtype: 'fieldset', torsten@19: title: 'Messungsangaben', torsten@19: padding: '10 10', torsten@19: items: [ torsten@19: { torsten@19: xtype: 'grid', torsten@19: dockedItems: [ torsten@19: { torsten@19: xtype: 'toolbar', torsten@19: dock: 'top', torsten@19: items: [ torsten@19: { torsten@19: text: 'Hinzufügen', torsten@19: icon: 'gfx/plus.gif' torsten@19: }, torsten@19: { torsten@19: text: 'Löschen', torsten@19: icon: 'gfx/minus.gif' torsten@19: } torsten@19: ] torsten@19: } torsten@19: ], torsten@19: columns: [ torsten@19: { torsten@19: text: 'Mess.ID', torsten@19: width: 50 torsten@19: }, torsten@19: { torsten@19: text: 'NPR-Nr.', torsten@19: width: 50 torsten@19: }, torsten@19: { torsten@19: text: 'MMT', torsten@19: width: 50 torsten@19: }, torsten@19: { torsten@19: text: 'Messzeit' torsten@19: }, torsten@19: { torsten@19: text: 'Status' torsten@19: }, torsten@19: { torsten@19: text: 'OK-Flag' torsten@19: }, torsten@19: { torsten@19: text: 'Anzahl Nuklide' torsten@19: }, torsten@19: { torsten@19: text: 'Anzahl Kommentare', torsten@19: flex: 1 torsten@19: } torsten@19: ] torsten@19: } torsten@19: ] torsten@18: } torsten@18: ] torsten@18: } torsten@18: ]; torsten@18: torsten@18: this.buttons = [ torsten@18: { torsten@18: text: 'Speichern', torsten@18: action: 'save' torsten@18: }, torsten@18: { torsten@18: text: 'Verwerfen', torsten@18: scope: this, torsten@18: handler: this.close torsten@18: } torsten@18: ]; torsten@18: this.callParent(arguments); torsten@19: }, torsten@19: buildDescriptors: function() { torsten@19: var fields = new Array(); torsten@19: for ($i=0; $i<12; $i++) { torsten@19: fields[$i] = {fieldLabel: 'S'+$i, name: 's'+$i}; torsten@19: } torsten@19: return fields; torsten@43: }, torsten@43: listeners: { torsten@43: afterrender: function() { torsten@43: // FIXME: This does not work! I do not know how to set the correct torsten@43: // value in the combobox based on the model value. torsten@43: // Will iterate over defined comboboxes and set the value torsten@43: var combos = ['probenart', 'datenbasis']; torsten@43: for (var i = combos.length - 1; i >= 0; i--){ torsten@43: console.log('Searching for ' + combos[i]); torsten@43: var element = Ext.getCmp(combos[i]); torsten@43: // Statically set to 2. Must be the value from the model. torsten@43: element.setValue(2); torsten@43: } torsten@43: } torsten@18: } torsten@18: }); torsten@22: