raimund@1015: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
raimund@1015:  * Software engineering by Intevation GmbH
raimund@1015:  *
raimund@1015:  * This file is Free Software under the GNU GPL (v>=3)
raimund@1015:  * and comes with ABSOLUTELY NO WARRANTY! Check out
raimund@1015:  * the documentation coming with IMIS-Labordaten-Application for details.
raimund@1015:  */
raimund@1015: 
raimund@1015: /**
raimund@1015:  *
raimund@1015:  */
raimund@1015: Ext.define('Lada.view.window.FilterManagement', {
raimund@1015:     extend: 'Ext.window.Window',
raimund@1015:     alias: 'widget.filtermanagement',
raimund@1015: 
raimund@1015:     requires: [
raimund@1015:         'Lada.view.widget.base.FavColumn'
raimund@1015:     ],
raimund@1015: 
raimund@1015:     layout: 'fit',
raimund@1015:     width: window.innerWidth - 100,
raimund@1015:     height: 500,
raimund@1015:     closeAction: 'hide',
raimund@1015: 
raimund@1015:     /**
raimund@1015:      * @private
raimund@1015:      * Initialize the view.
raimund@1015:      */
raimund@1015:     initComponent: function() {
raimund@1015:         var i18n = Lada.getApplication().bundle;
raimund@1015:         var me = this;
raimund@1015:         this.buttons = [{
raimund@1015:             text: i18n.getMsg('close'),
raimund@1015:             scope: this,
raimund@1015:             handler: this.close
raimund@1015:         }];
raimund@1015:         var probenstore = Ext.StoreManager.get('probequeries');
mstanko@1129:         var messungstore = Ext.StoreManager.get('messungqueries');
raimund@1015:         var messpstore = Ext.StoreManager.get('messprogrammqueries');
raimund@1015:         var stammstore = Ext.StoreManager.get('stammdatenqueries');
raimund@1015:         me.items = [{
raimund@1015:             xtype: 'tabpanel',
raimund@1015:             items: [{
raimund@1015:                 title: i18n.getMsg('querygrid.probe.title'),
raimund@1015:                 xtype: 'grid',
raimund@1015:                 viewConfig: {
raimund@1015:                     markDirty: false,
raimund@1015:                     getRowClass: function() {
raimund@1015:                         return 'x-lada-multiline-grid';
raimund@1015:                     }
raimund@1015:                 },
raimund@1015:                 store: probenstore,
raimund@1015:                 columns: [{
raimund@1015:                     header: i18n.getMsg('querygrid.header.favorite'),
raimund@1015:                     width: 48,
raimund@1015:                     dataIndex: 'favorite',
raimund@1015:                     xtype: 'favcolumn'
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.name'),
raimund@1015:                     dataIndex: 'name',
raimund@1015:                     width: 200
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.description'),
raimund@1015:                     dataIndex: 'description',
raimund@1015:                     minWidth: 200,
raimund@1015:                     flex: 3
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.columns'),
raimund@1015:                     dataIndex: 'results',
raimund@1015:                     width: 250,
raimund@1015:                     flex: 2,
raimund@1015:                     renderer: function(value) {
raimund@1015:                         var columnString = [];
raimund@1015:                         for (var i = 0; i < value.length; i++) {
raimund@1015:                             columnString.push(value[i].header);
raimund@1015:                         }
raimund@1015:                         return columnString.join(', ');
raimund@1015:                     }
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.filters'),
raimund@1015:                     dataIndex: 'filters',
raimund@1015:                     width: 200,
raimund@1015:                     renderer: function(value) {
raimund@1015:                         var columnString = [];
raimund@1015:                         for (var i = 0; i < value.length; i++) {
raimund@1015:                             columnString.push(value[i].label);
raimund@1015:                         }
raimund@1015:                         return columnString.join(', ');
raimund@1015:                     }
raimund@1015:                 }]
raimund@1015:             }, {
mstanko@1129:                 title: i18n.getMsg('querygrid.messung.title'),
mstanko@1129:                 xtype: 'grid',
mstanko@1129:                 viewConfig: {
mstanko@1129:                     markDirty: false,
mstanko@1129:                     getRowClass: function() {
mstanko@1129:                         return 'x-lada-multiline-grid';
mstanko@1129:                     }
mstanko@1129:                 },
mstanko@1129:                 store: messungstore,
mstanko@1129:                 columns: [{
mstanko@1129:                     header: i18n.getMsg('querygrid.header.favorite'),
mstanko@1129:                     width: 48,
mstanko@1129:                     dataIndex: 'favorite',
mstanko@1129:                     xtype: 'favcolumn'
mstanko@1129:                 }, {
mstanko@1129:                     header: i18n.getMsg('querygrid.header.name'),
mstanko@1129:                     dataIndex: 'name',
mstanko@1129:                     width: 200
mstanko@1129:                 }, {
mstanko@1129:                     header: i18n.getMsg('querygrid.header.description'),
mstanko@1129:                     dataIndex: 'description',
mstanko@1129:                     minWidth: 200,
mstanko@1129:                     flex: 3
mstanko@1129:                 }, {
mstanko@1129:                     header: i18n.getMsg('querygrid.header.columns'),
mstanko@1129:                     dataIndex: 'results',
mstanko@1129:                     width: 250,
mstanko@1129:                     flex: 2,
mstanko@1129:                     renderer: function(value) {
mstanko@1129:                         var columnString = [];
mstanko@1129:                         for (var i = 0; i < value.length; i++) {
mstanko@1129:                             columnString.push(value[i].header);
mstanko@1129:                         }
mstanko@1129:                         return columnString.join(', ');
mstanko@1129:                     }
mstanko@1129:                 }, {
mstanko@1129:                     header: i18n.getMsg('querygrid.header.filters'),
mstanko@1129:                     dataIndex: 'filters',
mstanko@1129:                     width: 200,
mstanko@1129:                     renderer: function(value) {
mstanko@1129:                         var columnString = [];
mstanko@1129:                         for (var i = 0; i < value.length; i++) {
mstanko@1129:                             columnString.push(value[i].label);
mstanko@1129:                         }
mstanko@1129:                         return columnString.join(', ');
mstanko@1129:                     }
mstanko@1129:                 }]
mstanko@1129:             }, {
raimund@1015:                 title: i18n.getMsg('querygrid.messprogramm.title'),
raimund@1015:                 xtype: 'grid',
raimund@1015:                 viewConfig: {
raimund@1015:                     markDirty: false,
raimund@1015:                     getRowClass: function() {
raimund@1015:                         return 'x-lada-multiline-grid';
raimund@1015:                     }
raimund@1015:                 },
raimund@1015:                 store: messpstore,
raimund@1015:                 columns: [{
raimund@1015:                     header: i18n.getMsg('querygrid.header.favorite'),
raimund@1015:                     width: 48,
raimund@1015:                     dataIndex: 'favorite',
raimund@1015:                     xtype: 'favcolumn'
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.name'),
raimund@1015:                     dataIndex: 'name',
raimund@1015:                     width: 200
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.description'),
raimund@1015:                     dataIndex: 'description',
raimund@1015:                     minWidth: 200,
raimund@1015:                     flex: 3
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.columns'),
raimund@1015:                     dataIndex: 'results',
raimund@1015:                     width: 250,
raimund@1015:                     flex: 2,
raimund@1015:                     renderer: function(value) {
raimund@1015:                         var columnString = [];
raimund@1015:                         for (var i = 0; i < value.length; i++) {
raimund@1015:                             columnString.push(value[i].header);
raimund@1015:                         }
raimund@1015:                         return columnString.join(', ');
raimund@1015:                     }
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.filters'),
raimund@1015:                     dataIndex: 'filters',
raimund@1015:                     width: 200,
raimund@1015:                     renderer: function(value) {
raimund@1015:                         var columnString = [];
raimund@1015:                         for (var i = 0; i < value.length; i++) {
raimund@1015:                             columnString.push(value[i].label);
raimund@1015:                         }
raimund@1015:                         return columnString.join(', ');
raimund@1015:                     }
raimund@1015:                 }]
raimund@1015:             }, {
raimund@1015:                 title: i18n.getMsg('querygrid.stammdaten.title'),
raimund@1015:                 xtype: 'grid',
raimund@1015:                 viewConfig: {
raimund@1015:                     markDirty: false,
raimund@1015:                     getRowClass: function() {
raimund@1015:                         return 'x-lada-multiline-grid';
raimund@1015:                     }
raimund@1015:                 },
raimund@1015:                 store: stammstore,
raimund@1015:                 columns: [{
raimund@1015:                     header: i18n.getMsg('querygrid.header.favorite'),
raimund@1015:                     width: 48,
raimund@1015:                     dataIndex: 'favorite',
raimund@1015:                     xtype: 'favcolumn'
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.name'),
raimund@1015:                     dataIndex: 'name',
raimund@1015:                     width: 200
raimund@1015:                 }, {
raimund@1015:                     header: i18n.getMsg('querygrid.header.description'),
raimund@1015:                     dataIndex: 'description',
raimund@1015:                     flex: 1
raimund@1015:                 }]
raimund@1015:             }]
raimund@1015:         }];
raimund@1015: 
raimund@1015:         this.callParent(arguments);
raimund@1015:     }
raimund@1015: });