Mercurial > lada > lada-client
view app/view/Viewport.js @ 495:649bf1d08531
Use extjs dev with all classes and css from extjs resources for development.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Mon, 03 Nov 2014 12:12:24 +0100 |
parents | 850ccfe5f3c4 |
children | 7c0653e8d9f7 |
line wrap: on
line source
/* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=3) * and comes with ABSOLUTELY NO WARRANTY! Check out * the documentation coming with IMIS-Labordaten-Application for details. */ /** * Viewport for the Lada-Client * * The viewport initialises the graphical elements of the application. For * debugging it is possible to initialize other components directly see the * initComponent function. */ Ext.define('Lada.view.Viewport' ,{ extend: 'Ext.container.Viewport', requires: [ 'Lada.store.Info', 'Lada.view.search.List', 'Lada.view.proben.List' ], layout: 'fit', initComponent: function() { console.log('Setting up Viewport'); this.initSearch(); // Development related: // Disable "initSearch" call and enable one of the following init // methods to get a dialog directly without the need to click through // the whole application. //this.initProbe(); //this.initOrt(); //this.initMessung(); //this.initMesswert(); this.setInfo(); this.callParent(arguments); }, /** * Set some information about user, client and server version in the top * of the application window. The data will be fetched from the server. */ setInfo: function() { var store = Ext.create('Lada.store.Info'); store.load({ callback: function(a,b,c) { var info = store.data.items[0]; var clientVersion = "r261 (2013-07-26)"; var user = info.get('user'); var groups = info.get('groups'); var groupinfo = Ext.getCmp('groupinfo'); var userinfo = Ext.getCmp('userinfo'); userinfo.update(user); groupinfo.update(groups); console.log(info); } }); }, /** * Function to initialize the edit window for a particular probe directly * @private */ initProbe: function() { var store = Ext.getStore('Proben'); store.load({ params: { probeId: "000007575943X" }, callback: function() { var mstore = Ext.getStore('Messungen'); mstore.load({ params: { probeId: "000007575943X" } }); var model = store.data.items[0]; var win = Ext.create('Lada.view.proben.Edit', {model: model}); } }); }, /** * Function to initialize the edit window for a priticular messwert directly * @private */ initMesswert: function() { var store = Ext.getStore('Messwerte'); store.load({ params: { probeId: "000007575853X", messungsId: "1" }, callback: function() { var model = store.data.items[0]; var win = Ext.create('Lada.view.messwerte.Create', { model: model }); } }); }, /** * Function to initialize the edit window for a priticular ort directly * @private */ initOrt: function() { var ort = Ext.create('Lada.model.Ort'); var win = Ext.create('Lada.view.orte.Create', { model: ort }); }, /** * Function to initialize the edit window for a priticular ort directly * @private */ initMessung: function() { var store = Ext.getStore('Messungen'); var kstore = Ext.getStore('KommentareM'); var mstore = Ext.getStore('Messwerte'); var sstore = Ext.getStore('Status'); probeId = "000007578314X"; store.load({ params: { probeId: probeId }, callback: function () { console.log(store); var messung = store.data.items[0]; console.log(store.data.items[0]); kstore.load({ params: { probeId: probeId, messungsId: messung.get('id').messungsId } }); sstore.load({ params: { probeId: probeId, messungsId: messung.get('id').messungsId } }); mstore.load({ params: { probeId: probeId, messungsId: messung.get('id').messungsId } }); console.log('Creating Messung window'); //var messung = Ext.create('Lada.model.Messung'); var win = Ext.create('Lada.view.messungen.Create', {model: messung}); } }); }, /** * Function to initialize the search window. This is the default method * called by the {@link Lada.view.Viewport#initComponent initComponent} method. * @private */ initSearch: function() { this.items = [{ xtype: 'panel', title: '<center>Probenauswahlmaske</center>', bodyPadding: '10 10', layout: { type: 'vbox', align: 'stretch' }, dockedItems: [{ xtype: "toolbar", dock: "top", items: [{ xtype: "splitbutton", text: "Info", menu: { items: [{ id: 'AboutBtn', text: "About" }] } }, "->", { xtype: 'box', autoEl: { tag: 'img', src:'gfx/user-identity.png' } }, { xtype: "tbtext", id:"userinfo", text:"" }, { xtype: 'box', autoEl: { tag: 'img', src:'gfx/network-workgroup.png' } }, { xtype: "tbtext", id:"groupinfo", text:"" }] }], items: [{ // Auswahl einer Abfrage. xtype: 'queryselector', id: 'queryselector', margin: '0 0 10 0' }, { // Variables settings for the current selected sql statement. xtype: 'fieldset', id: 'queryfilters', title: 'Variablenbelegung', hidden: true, items: [] }, { // Buttons to trigger the search. id: 'SearchBtnPanel', xtype: 'panel', border: false, margin: '0 0 10 0', items: [{ id: 'SearchBtn', text: 'Suchen', xtype: 'button', margin: '0 10 0 0' }, { id: 'ResetBtn', text: 'Zurücksetzen', xtype: 'button' }], hidden: false }, { // Resultlist for the query. id: 'result', flex: 1, xtype: 'probenlist', hidden: false }] }]; } });