Mercurial > lada > lada-client
view app/controller/ModeSwitcher.js @ 1009:afb355cc7fb3
Merged with stammdatengrids branch.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 21 Jan 2016 08:58:35 +0100 |
parents | 7f5219b8e1bf |
children | af9879d72310 |
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. */ /** * Controller for the ModeSwitcher * This controller handles all logic related to the ModeSwitch */ Ext.define('Lada.controller.ModeSwitcher', { extend: 'Ext.app.Controller', displayFields: null, requires: [ 'Lada.store.MessprogrammQueries', 'Lada.store.ProbeQueries', 'Lada.store.StammdatenQueries' ], /** * Initialize this Controller * It has 1 Listeners * A checked ModeSwithch-Radiofield fired a 'check'-event */ init: function() { this.control({ 'radiofield[name=modeswitch]': { check: this.switchModes } }); this.callParent(arguments); }, /** * Function is called when the user selects a checkbox. * according to the checkboxes inputValue, * the function alters the store which was loaded by the * filterpanels combobox, */ switchModes: function(field) { var cbox = field.up('modeswitcher').up().down('combobox'); filters = field.up('panel[name=main]').down('fieldset[name=filtervariables]'); filters.removeAll(); filters.hide(); //Initialise variables which will define the querystore // and the store which has to be loaded into the grid. var querystorename = ''; // In dependence of the checkboxes input value, // define the store of the filter. // app/controller/Filter.js contains similar code. if (field.inputValue === 'messprogramme' && cbox) { querystorename = 'Lada.store.MessprogrammQueries'; } else if (field.inputValue === 'proben' && cbox) { querystorename = 'Lada.store.ProbeQueries'; } else if (field.inputValue === 'stammdaten' && cbox) { querystorename = 'Lada.store.StammdatenQueries'; } if (querystorename) { var store = Ext.StoreManager.lookup(querystorename); if (!store) { store = Ext.create(querystorename, { //Select first Item on Load listeners: { load: function(store){ var records = new Array(); records.push(store.getAt(0)); cbox.select(records[0]); cbox.fireEvent('select', cbox, records); } } }); } if (store) { if (!store.autoLoad) { store.load(); } //cbox.reset(); cbox.bindStore(store); } } } });