torsten@472: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz torsten@472: * Software engineering by Intevation GmbH torsten@472: * torsten@472: * This file is Free Software under the GNU GPL (v>=3) torsten@472: * and comes with ABSOLUTELY NO WARRANTY! Check out raimund@497: * the documentation coming with IMIS-Labordaten-Application for details. torsten@472: */ torsten@472: torsten@348: /* torsten@348: * Formular to edit a Probe torsten@348: */ torsten@268: Ext.define('Lada.view.proben.EditForm', { torsten@71: extend: 'Lada.view.widgets.LadaForm', raimund@497: alias: 'widget.probeneditform', torsten@121: requires: [ torsten@121: 'Lada.view.widgets.Datenbasis', torsten@121: 'Lada.view.widgets.Netzbetreiber', torsten@121: 'Lada.view.widgets.Betriebsart', torsten@121: 'Lada.view.widgets.Testdatensatz', torsten@121: 'Lada.view.widgets.Probenart', torsten@122: 'Lada.view.widgets.Uwb', torsten@144: 'Lada.view.zusatzwerte.List', torsten@150: 'Lada.view.kommentare.List', torsten@160: 'Lada.view.orte.List', torsten@160: 'Lada.view.messungen.List' torsten@121: ], raimund@497: torsten@71: model: 'Lada.model.Probe', raimund@506: minWidth: 650, torsten@71: torsten@71: initComponent: function() { raimund@515: var me = this; raimund@497: this.items = [{ raimund@491: xtype: 'fieldset', raimund@503: title: 'Allgemein', raimund@491: items: [{ raimund@503: border: 0, raimund@515: margin: '0, 0, 10, 0', raimund@515: dockedItems: [{ raimund@515: xtype: 'toolbar', raimund@515: dock: 'bottom', raimund@515: border: '0, 1, 1, 1', raimund@515: style: { raimund@515: borderBottom: '1px solid #b5b8c8 !important', raimund@515: borderLeft: '1px solid #b5b8c8 !important', raimund@515: borderRight: '1px solid #b5b8c8 !important' raimund@515: }, raimund@515: items: ['->', { raimund@515: text: 'Speichern', raimund@515: qtip: 'Daten speichern', raimund@515: icon: 'gfx/dialog-ok-apply.png', raimund@515: action: 'save', raimund@515: scope: me, raimund@515: handler: this.commit raimund@515: }, { raimund@515: text: 'Verwerfen', raimund@515: qtip: 'Ă„nderungen verwerfen', raimund@515: icon: 'gfx/dialog-cancel.png', raimund@515: action: 'discard', raimund@515: disabled: true, raimund@519: scope: me, raimund@515: handler: this.reset raimund@515: }] raimund@515: }], raimund@515: items: [{ raimund@515: layout: 'hbox', raimund@515: border: 0, raimund@515: items: [{ raimund@515: border: 0, raimund@515: width: '43%', raimund@515: minWidth: 290, raimund@515: items: [{ raimund@515: xtype: 'mst', raimund@515: name: 'mstId', raimund@515: fieldLabel: 'Messstelle', raimund@515: allowBlank: false, raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: xtype: 'textfield', raimund@515: name: 'hauptprobenNr', raimund@515: maxLength: 20, raimund@515: fieldLabel: 'Hauptprobennr.', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }] raimund@515: }, { raimund@515: border: 0, raimund@515: width: '52%', raimund@515: minWidth: 300, raimund@515: items: [{ raimund@515: xtype: 'fieldset', raimund@515: title: 'Erweiterte Angaben', raimund@515: collapsible: true, raimund@515: collapsed: true, raimund@515: items: [{ raimund@515: xtype: 'datenbasis', raimund@515: id: 'datenbasis', raimund@515: editable: false, raimund@515: name: 'datenbasisId', raimund@515: fieldLabel: 'Datenbasis', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: xtype: 'betriebsart', raimund@515: name: 'baId', raimund@515: fieldLabel: 'Betriebsart', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: xtype: 'testdatensatz', raimund@515: name: 'test', raimund@515: fieldLabel: 'Testdatensatz', raimund@515: allowBlank: false, raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: xtype: 'probenart', raimund@515: id: 'probenart', raimund@515: editable: false, raimund@515: name: 'probenartId', raimund@515: fieldLabel: 'Probenart', raimund@515: allowBlank: false, raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: xtype: 'numberfield', raimund@515: allowDecimals: false, raimund@515: name: 'probeNehmerId', raimund@515: fieldLabel: 'Probennehmer', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: xtype: 'netzbetreiber', raimund@515: name: 'netzbetreiberId', raimund@515: editable: false, raimund@515: fieldLabel: 'Netzbetreiber', raimund@515: allowBlank: false, raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: xtype: 'textfield', raimund@515: name: 'x11', raimund@515: fieldLabel: 'Datensatzerzeuger', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }] raimund@515: }] raimund@515: }] raimund@515: }, { raimund@515: // Medium raimund@515: xtype: 'fieldset', raimund@515: title: 'Medium', raimund@491: items: [{ raimund@503: border: 0, raimund@515: layout: { raimund@515: type: 'vbox', raimund@515: align: 'stretch' raimund@515: }, raimund@515: width: '100%', raimund@503: items: [{ raimund@515: xtype: 'textfield', raimund@515: name: 'media', raimund@515: labelWidth: 110, raimund@515: fieldLabel: 'Medienbezeichnung', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@503: }, { raimund@503: xtype: 'textfield', raimund@515: maxLength: 100, raimund@515: name: 'mediaDesk', raimund@515: labelWidth: 110, raimund@515: fieldLabel: 'Deskriptoren', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: xtype: 'uwb', raimund@515: name: 'umwId', raimund@515: fieldLabel: 'Umweltbereich', raimund@515: labelWidth: 110, raimund@515: allowBlank: false, raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@503: xtype: 'fieldset', raimund@515: title: 'Details Deskriptoren', raimund@503: collapsible: true, raimund@503: collapsed: true, raimund@515: defaultType: 'textfield', raimund@515: layout: { raimund@515: type: 'table', raimund@515: columns: 3 raimund@515: }, raimund@515: items: this.buildDescriptors(), raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@503: }] raimund@491: }] raimund@515: }, { raimund@515: // Zeit raimund@515: xtype: 'fieldset', raimund@515: title: 'Zeit', raimund@515: defaultType: 'datetime', raimund@515: defaults: { raimund@515: labelWidth: 150 raimund@515: }, raimund@515: layout: { raimund@515: type: 'table', raimund@515: columns: 2 raimund@515: }, raimund@515: items: [{ raimund@515: fieldLabel: 'Probennahme Beginn', raimund@515: margin: '0, 10, 5, 0', raimund@515: labelWidth: 130, raimund@515: name: 'probeentnahmeBeginn', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: fieldLabel: 'Sollzeit Von', raimund@515: margin: '0, 10, 5, 0', raimund@515: labelWidth: 100, raimund@515: name: 'solldatumBeginn', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: fieldLabel: 'Probennahme Ende', raimund@515: margin: '0, 10, 5, 0', raimund@515: labelWidth: 130, raimund@515: name: 'probeentnahmeEnde', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }, { raimund@515: fieldLabel: 'Sollzeit Bis', raimund@515: margin: '0, 10, 5, 0', raimund@515: labelWidth: 100, raimund@515: name: 'solldatumEnde', raimund@515: listeners: { raimund@515: dirtychange: { raimund@515: fn: this.updateOnChange, raimund@515: scope: me raimund@515: } raimund@515: } raimund@515: }] raimund@491: }] raimund@503: }] raimund@491: }, { raimund@491: // Ortsangaben raimund@491: xtype: 'fieldset', raimund@491: title: 'Ortsangaben', raimund@491: padding: '10 10', raimund@491: items: [{ raimund@491: xtype: 'ortelist', raimund@491: probeId: this.modelId raimund@491: }] raimund@491: }, { raimund@491: // Probenzusatzwerte raimund@491: xtype: 'fieldset', raimund@491: title: 'Probenzusatzwerte', raimund@491: collapsible: true, raimund@491: collapsed: true, raimund@491: padding: '10 10', raimund@491: items: [{ raimund@491: xtype: 'zusatzwertelist', raimund@491: probeId: this.modelId raimund@491: }] raimund@491: }, { raimund@491: // Probenkommentar raimund@491: xtype: 'fieldset', raimund@491: title: 'Probenkommentare', raimund@491: collapsible: true, raimund@491: collapsed: true, raimund@491: padding: '10 10', raimund@491: items: [{ raimund@491: xtype: 'kommentarelist', raimund@491: probeId: this.modelId raimund@491: }] raimund@491: }, { torsten@160: // Messungsangaben raimund@491: xtype: 'fieldset', raimund@491: title: 'Messungsangaben', raimund@491: padding: '10 10', raimund@491: items: [{ raimund@491: xtype: 'messungenlist', raimund@491: probeId: this.modelId raimund@491: }] raimund@491: }]; raimund@491: this.callParent(arguments); torsten@71: }, raimund@491: torsten@71: buildDescriptors: function() { raimund@497: var fields = []; raimund@497: for (var i = 0; i < 12; i++) { raimund@497: fields[i] = { raimund@503: fieldLabel: 'S' + i, raimund@503: name: 's' + i, raimund@503: labelWidth: 25, raimund@503: margin: '0, 10, 5, 0' raimund@497: }; torsten@71: } torsten@71: return fields; torsten@71: } torsten@71: });