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@341: /** torsten@341: * Viewport for the Lada-Client torsten@341: * torsten@341: * The viewport initialises the graphical elements of the application. For torsten@341: * debugging it is possible to initialize other components directly see the torsten@341: * initComponent function. torsten@341: */ torsten@12: Ext.define('Lada.view.Viewport' ,{ torsten@12: extend: 'Ext.container.Viewport', torsten@12: requires: [ torsten@259: 'Lada.store.Info', torsten@259: 'Lada.view.search.List', torsten@369: 'Lada.view.proben.List' torsten@12: ], torsten@425: layout: 'fit', torsten@12: initComponent: function() { torsten@12: console.log('Setting up Viewport'); torsten@357: this.initSearch(); torsten@173: torsten@173: // Development related: torsten@173: // Disable "initSearch" call and enable one of the following init torsten@173: // methods to get a dialog directly without the need to click through torsten@173: // the whole application. torsten@230: //this.initProbe(); torsten@180: //this.initOrt(); torsten@184: //this.initMessung(); torsten@357: //this.initMesswert(); torsten@173: torsten@357: this.setInfo(); torsten@173: this.callParent(arguments); torsten@173: }, torsten@341: /** torsten@341: * Set some information about user, client and server version in the top torsten@341: * of the application window. The data will be fetched from the server. torsten@341: */ torsten@259: setInfo: function() { torsten@259: var store = Ext.create('Lada.store.Info'); torsten@259: store.load({ torsten@259: callback: function(a,b,c) { torsten@259: var info = store.data.items[0]; torsten@262: var clientVersion = "r261 (2013-07-26)"; torsten@259: var user = info.get('user'); torsten@259: var groups = info.get('groups'); torsten@383: var groupinfo = Ext.getCmp('groupinfo'); torsten@383: var userinfo = Ext.getCmp('userinfo'); torsten@383: userinfo.update(user); torsten@383: groupinfo.update(groups); torsten@259: console.log(info); torsten@259: } torsten@259: }); torsten@259: }, torsten@341: /** torsten@412: * Function to initialize the edit window for a particular probe directly torsten@341: * @private torsten@341: */ torsten@230: initProbe: function() { torsten@230: var store = Ext.getStore('Proben'); torsten@230: store.load({ torsten@230: params: { torsten@230: probeId: "000007575943X" torsten@230: }, torsten@230: callback: function() { torsten@230: var mstore = Ext.getStore('Messungen'); torsten@230: mstore.load({ torsten@230: params: { torsten@230: probeId: "000007575943X" torsten@230: } torsten@230: }); torsten@230: var model = store.data.items[0]; torsten@230: var win = Ext.create('Lada.view.proben.Edit', {model: model}); torsten@230: } torsten@230: }); torsten@230: }, torsten@341: /** torsten@341: * Function to initialize the edit window for a priticular messwert directly torsten@341: * @private torsten@341: */ torsten@180: initMesswert: function() { torsten@180: var store = Ext.getStore('Messwerte'); torsten@180: store.load({ torsten@180: params: { torsten@180: probeId: "000007575853X", torsten@180: messungsId: "1" torsten@184: }, torsten@184: callback: function() { torsten@184: var model = store.data.items[0]; raimund@491: var win = Ext.create('Lada.view.messwerte.Create', { raimund@491: model: model raimund@491: }); torsten@180: } torsten@180: }); torsten@180: }, torsten@341: /** torsten@341: * Function to initialize the edit window for a priticular ort directly torsten@341: * @private torsten@341: */ torsten@180: initOrt: function() { torsten@180: var ort = Ext.create('Lada.model.Ort'); raimund@491: var win = Ext.create('Lada.view.orte.Create', { raimund@491: model: ort raimund@491: }); torsten@180: }, torsten@341: /** torsten@341: * Function to initialize the edit window for a priticular ort directly torsten@341: * @private torsten@341: */ torsten@173: initMessung: function() { torsten@180: var store = Ext.getStore('Messungen'); raimund@490: var kstore = Ext.getStore('KommentareM'); torsten@184: var mstore = Ext.getStore('Messwerte'); torsten@184: var sstore = Ext.getStore('Status'); torsten@180: probeId = "000007578314X"; torsten@180: store.load({ torsten@180: params: { torsten@180: probeId: probeId torsten@180: }, torsten@180: callback: function () { torsten@180: console.log(store); torsten@180: var messung = store.data.items[0]; torsten@180: console.log(store.data.items[0]); torsten@180: kstore.load({ torsten@180: params: { torsten@180: probeId: probeId, torsten@214: messungsId: messung.get('id').messungsId torsten@180: } torsten@180: }); torsten@184: sstore.load({ torsten@184: params: { torsten@184: probeId: probeId, torsten@214: messungsId: messung.get('id').messungsId torsten@184: } torsten@184: }); torsten@184: mstore.load({ torsten@184: params: { torsten@184: probeId: probeId, torsten@214: messungsId: messung.get('id').messungsId torsten@184: } torsten@184: }); torsten@184: console.log('Creating Messung window'); torsten@184: //var messung = Ext.create('Lada.model.Messung'); torsten@184: var win = Ext.create('Lada.view.messungen.Create', {model: messung}); torsten@180: } torsten@180: }); torsten@173: }, torsten@341: /** torsten@341: * Function to initialize the search window. This is the default method torsten@341: * called by the {@link Lada.view.Viewport#initComponent initComponent} method. torsten@341: * @private torsten@341: */ torsten@173: initSearch: function() { torsten@383: this.items = [{ torsten@25: xtype: 'panel', torsten@25: title: '
Probenauswahlmaske
', torsten@25: bodyPadding: '10 10', torsten@425: layout: { torsten@425: type: 'vbox', torsten@425: align: 'stretch' torsten@425: }, raimund@491: dockedItems: [{ raimund@491: xtype: "toolbar", raimund@491: dock: "top", raimund@491: items: [{ raimund@491: xtype: "splitbutton", raimund@491: text: "Info", raimund@491: menu: { raimund@491: items: [{ raimund@491: id: 'AboutBtn', raimund@491: text: "About" raimund@491: }] raimund@491: } raimund@491: }, "->", { raimund@491: xtype: 'box', raimund@491: autoEl: { raimund@491: tag: 'img', raimund@491: src:'gfx/user-identity.png' raimund@491: } raimund@491: }, { raimund@491: xtype: "tbtext", raimund@491: id:"userinfo", raimund@491: text:"" raimund@491: }, { raimund@491: xtype: 'box', raimund@491: autoEl: { raimund@491: tag: 'img', raimund@491: src:'gfx/network-workgroup.png' raimund@491: } raimund@491: }, { raimund@491: xtype: "tbtext", raimund@491: id:"groupinfo", raimund@491: text:"" raimund@491: }] raimund@491: }], raimund@491: items: [{ torsten@31: // Auswahl einer Abfrage. raimund@491: xtype: 'queryselector', raimund@491: id: 'queryselector', raimund@491: margin: '0 0 10 0' raimund@491: }, { raimund@491: // Variables settings for the current selected sql statement. raimund@491: xtype: 'fieldset', raimund@491: id: 'queryfilters', raimund@491: title: 'Variablenbelegung', raimund@491: hidden: true, raimund@491: items: [] raimund@491: }, { raimund@491: // Buttons to trigger the search. raimund@491: id: 'SearchBtnPanel', raimund@491: xtype: 'panel', raimund@491: border: false, raimund@491: margin: '0 0 10 0', raimund@491: items: [{ raimund@491: id: 'SearchBtn', raimund@491: text: 'Suchen', raimund@491: xtype: 'button', raimund@491: margin: '0 10 0 0' raimund@491: }, { raimund@491: id: 'ResetBtn', raimund@491: text: 'Zurücksetzen', raimund@491: xtype: 'button' raimund@491: }], raimund@491: hidden: false raimund@491: }, { raimund@491: // Resultlist for the query. raimund@491: id: 'result', raimund@491: flex: 1, raimund@491: xtype: 'probenlist', raimund@491: hidden: false raimund@491: }] torsten@383: }]; torsten@12: } torsten@12: });