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 torsten@472: * the documentation coming with IMIS-Labordaten-Application for details. torsten@472: */ torsten@472: torsten@347: /* torsten@347: * Formular to create and edit a Ort torsten@347: */ torsten@109: Ext.define('Lada.view.orte.CreateForm', { torsten@109: extend: 'Lada.view.widgets.LadaForm', torsten@109: model: 'Lada.model.Ort', torsten@149: requires: [ torsten@149: 'Lada.view.widgets.Ortdetail', torsten@149: 'Lada.view.widgets.Staat', raimund@447: 'Lada.view.widgets.Verwaltungseinheit', raimund@447: 'Lada.view.orte.CreateOrt' torsten@149: ], raimund@447: edit: false, torsten@109: initComponent: function() { torsten@109: this.items = [ torsten@149: { torsten@149: xtype: 'ortdetail', torsten@149: name: 'ortId', torsten@149: fieldLabel: 'Ort', torsten@149: listeners: { torsten@149: scope: this, torsten@149: 'change': function (field, newv, oldv, opts) { raimund@447: if (field.up('window')) { raimund@447: field.up('window').down('fieldset').show(); raimund@447: } raimund@490: var orte = Ext.getStore('StaOrte'); torsten@149: var ort = orte.getById(newv); torsten@149: var fields = ['beschreibung', 'bezeichnung', 'hoeheLand', torsten@149: 'latitude', 'longitude', 'staatId', 'gemId']; torsten@429: torsten@429: // Load currently "selected" verwaltungseinheit. This torsten@429: // is needed as without having this record the field torsten@429: // would only display the raw value (id) of the torsten@429: // verwaltungseinheit. raimund@490: var verw = Ext.getStore('StaVerwaltungseinheiten'); torsten@432: if (ort) { torsten@432: verw.load({ torsten@432: id: ort.get('gemId') torsten@432: }); torsten@432: } torsten@429: torsten@149: var form = this.getForm(); torsten@149: if ( ort != undefined ) { torsten@149: for (var i = fields.length - 1; i >= 0; i--){ torsten@149: ffield = form.findField("ort_"+fields[i]); torsten@149: ffield.setValue(ort.get(fields[i])); torsten@149: } torsten@149: } torsten@149: } torsten@149: } torsten@149: }, torsten@149: { torsten@149: xtype: 'textfield', torsten@149: name: 'ortsTyp', torsten@149: maxLength: 1, torsten@154: fieldLabel: 'Typ' torsten@149: }, torsten@149: { torsten@149: xtype: 'textareafield', torsten@149: name: 'ortszusatztext', torsten@149: maxLength: 100, torsten@149: fieldLabel: 'Ortszusatz' torsten@149: }, torsten@149: { raimund@447: xtype: 'button', raimund@447: name: 'newort', raimund@447: text: 'Neuen Ort Anlegen', raimund@447: hidden: this.edit, raimund@447: action: 'newort' raimund@447: }, raimund@447: { torsten@149: xtype: 'fieldset', torsten@149: title: 'Ortsangaben', raimund@447: hidden: !this.edit, torsten@149: defaults: { torsten@149: labelWidth: 150 torsten@149: }, torsten@149: items: [ torsten@149: { torsten@149: xtype: 'textfield', torsten@278: maxLength: 100, torsten@149: name: 'ort_beschreibung', torsten@149: fieldLabel: 'Beschreibung' torsten@149: }, torsten@149: { torsten@149: xtype: 'textfield', torsten@278: maxLength: 10, torsten@149: name: 'ort_bezeichnung', torsten@149: fieldLabel: 'Bezeichnung' torsten@149: }, torsten@149: { torsten@149: xtype: 'staat', torsten@149: name: 'ort_staatId', torsten@149: fieldLabel: 'Staat' torsten@149: }, torsten@149: { torsten@149: xtype: 'verwaltungseinheiten', torsten@149: name: 'ort_gemId', torsten@149: fieldLabel: 'Gemeinde' torsten@149: }, torsten@149: { torsten@278: xtype: 'numberfield', torsten@149: name: 'ort_latitude', torsten@149: fieldLabel: 'Lat' torsten@149: }, torsten@149: { torsten@278: xtype: 'numberfield', torsten@149: name: 'ort_longitude', torsten@149: fieldLabel: 'Lon' torsten@149: }, torsten@149: { torsten@278: xtype: 'numberfield', torsten@149: name: 'ort_hoeheLand', torsten@149: fieldLabel: 'Höhe' torsten@149: } torsten@149: ] torsten@149: } torsten@109: ]; torsten@109: this.callParent(); torsten@149: }, torsten@149: updateOrtInfo: function(field, oldv, newv, opts) { torsten@149: console.log(field, oldv, newv, opts); torsten@109: } torsten@109: });