partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

UserPreferenceGrid.js (1891B)


      1 Ext.define('PartKeepr.UserPreferenceGrid', {
      2     extend: 'PartKeepr.BaseGrid',
      3 
      4     columnLines: true,
      5 
      6     columns: [
      7         {
      8             header: i18n("Key"),
      9             dataIndex: 'preferenceKey',
     10             flex: 0.3,
     11             minWidth: 200,
     12             renderer: Ext.util.Format.htmlEncode
     13         }, {
     14             header: i18n("Value"),
     15             dataIndex: 'preferenceValue',
     16             flex: 0.7,
     17             minWidth: 200,
     18             renderer: Ext.util.Format.htmlEncode
     19         }
     20     ],
     21     userId: null,
     22 
     23     initComponent: function ()
     24     {
     25         this.deleteButton = Ext.create("Ext.button.Button", {
     26             text: i18n('Delete'),
     27             disabled: true,
     28             itemId: 'delete',
     29             scope: this,
     30             iconCls: 'web-icon delete',
     31             handler: this.onDeleteClick
     32         });
     33 
     34         this.dockedItems = [
     35             {
     36                 xtype: 'toolbar',
     37                 items: [
     38                     this.deleteButton
     39                 ]
     40             }
     41         ];
     42         this.store = Ext.create("Ext.data.Store", {
     43             model: 'PartKeepr.AuthBundle.Entity.UserPreference',
     44             remoteFilter: true,
     45             pageSize: 999999999
     46         });
     47 
     48         this.callParent();
     49 
     50         this.getSelectionModel().on('selectionchange', this.onSelectChange, this);
     51     },
     52     onDeleteClick: function ()
     53     {
     54         var selection = this.getView().getSelectionModel().getSelection()[0];
     55 
     56         if (selection) {
     57             selection.getProxy().callCollectionAction(null, "DELETE", {
     58                 "preferenceKey": selection.get("preferenceKey")
     59             }, Ext.bind(this.onPreferenceDeleted, this));
     60         }
     61     },
     62     onPreferenceDeleted: function ()
     63     {
     64         this.store.load();
     65     },
     66     onSelectChange: function (selModel, selections)
     67     {
     68         this.deleteButton.setDisabled(selections.length === 0);
     69     }
     70 });