0009768: Use ModelConfig for Timetracker models
[tine20] / tine20 / Timetracker / js / TimeAccountBilledFilterModel.js
1 /**
2  * Tine 2.0
3  * 
4  * @package     Timetracker
5  * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
6  * @author      Cornelius Weiss <c.weiss@metaways.de>
7  * @copyright   Copyright (c) 2007-2011 Metaways Infosystems GmbH (http://www.metaways.de)
8  */
9  
10 Ext.ns('Tine.Timetracker');
11
12 Tine.Timetracker.TimeAccountBilledFilterModel = Ext.extend(Tine.widgets.grid.FilterModel, {
13     field: 'timeaccount_status',
14     valueType: 'string',
15     defaultValue: 'to bill',
16     
17     /**
18      * @private
19      */
20     initComponent: function() {
21         Tine.Timetracker.TimeAccountBilledFilterModel.superclass.initComponent.call(this);
22         
23         this.app = Tine.Tinebase.appMgr.get('Timetracker');
24         this.label = this.label ? this.label : this.app.i18n._("Time Account - Billed");
25         this.operators = ['equals'];
26     },
27    
28     /**
29      * value renderer
30      * 
31      * @param {Ext.data.Record} filter line
32      * @param {Ext.Element} element to render to 
33      */
34     valueRenderer: function(filter, el) {
35         var value = new Ext.form.ComboBox({
36             filter: filter,
37             width: 200,
38             id: 'tw-ftb-frow-valuefield-' + filter.id,
39             value: filter.data.value ? filter.data.value : this.defaultValue,
40             renderTo: el,
41             mode: 'local',
42             forceSelection: true,
43             blurOnSelect: true,
44             triggerAction: 'all',
45             store: [
46                 ['not yet billed', this.app.i18n._('not yet billed')], 
47                 ['to bill', this.app.i18n._('to bill')],
48                 ['billed', this.app.i18n._('billed')]
49             ]
50         });
51         value.on('specialkey', function(field, e){
52              if(e.getKey() == e.ENTER){
53                  this.onFiltertrigger();
54              }
55         }, this);
56         
57         return value;
58     }
59 });
60 Tine.widgets.grid.FilterToolbar.FILTERS['timetracker.timeaccountbilled'] = Tine.Timetracker.TimeAccountBilledFilterModel;