torsten@1: Ext.define('Lada.controller.Proben', { torsten@1: extend: 'Ext.app.Controller', torsten@4: views: [ torsten@18: 'proben.List', torsten@18: 'proben.Edit' torsten@4: ], torsten@13: stores: [ torsten@40: 'Proben', torsten@42: 'Uwb', torsten@41: 'Datenbasis', torsten@40: 'Probenart' torsten@13: ], torsten@13: models: [ torsten@13: 'Probe' torsten@13: ], torsten@1: init: function() { torsten@1: console.log('Initialising the Proben controller'); torsten@1: this.control({ torsten@1: // CSS like selector to select element in the viewport. See torsten@1: // ComponentQuery documentation for more details. torsten@18: 'probenlist': { torsten@1: // Map the "render" event to the given function. torsten@5: render: this.onPanelRendered, torsten@5: // Map Doubleclick on rows of the probenlist. torsten@5: itemdblclick: this.editProbe torsten@18: }, torsten@18: 'probenedit button[action=save]': { torsten@18: click: this.updateProbe torsten@1: } torsten@1: }); torsten@1: }, torsten@1: onPanelRendered: function() { torsten@1: console.log('The panel was rendered'); torsten@5: }, torsten@5: editProbe: function(grid, record) { torsten@5: console.log('Double click on ' + record.get('name')); torsten@18: // Create new window to edit the seletced record. torsten@18: var view = Ext.widget('probenedit'); torsten@18: view.down('form').loadRecord(record); torsten@18: }, torsten@18: updateProbe: function(button) { torsten@18: console.log('Click save'); torsten@18: // We only have a reference to the button here but we really wnat to torsten@18: // get the form and the window. So first get the window and form and torsten@18: // the the record an values. torsten@18: var win = button.up('window'); torsten@18: var form = win.down('form'); torsten@18: var record = form.getRecord(); torsten@18: var values = form.getValues(); torsten@18: torsten@18: record.set(values); torsten@18: win.close(); torsten@18: // synchronize the store after editing the record torsten@18: // NOTE: The function 'getProbenStore' will be generated torsten@18: // dynamically based on the Name of the configured Store!!! torsten@18: this.getProbenStore().sync(); torsten@1: } torsten@1: });