UserGrid.js (2194B)
1 Ext.define('PartKeepr.UserGrid', { 2 extend: 'PartKeepr.EditorGrid', 3 alias: 'widget.UserGrid', 4 columns: [ 5 { 6 header: i18n("User"), 7 dataIndex: 'username', 8 flex: 1 9 }, { 10 header: i18n("Provider"), 11 renderer: function (value, metaData, record) 12 { 13 if (record.getProvider() !== null) { 14 return record.getProvider().get("type"); 15 } else { 16 return ""; 17 } 18 19 20 }, 21 flex: 1 22 }, 23 { 24 header: i18n("Active"), 25 xtype: 'booleancolumn', 26 dataIndex: 'active', 27 trueText: '<span style="vertical-align: top;" class="web-icon accept"/>', 28 falseText: '<span style="vertical-align: top;" class="web-icon cancel"/>', 29 flex: 0.5 30 } 31 ], 32 addButtonText: i18n("Add User"), 33 addButtonIconCls: 'fugue-icon user--plus', 34 deleteButtonText: i18n("Delete User"), 35 deleteButtonIconCls: 'fugue-icon user--minus', 36 automaticPageSize: true, 37 38 initComponent: function () 39 { 40 this.callParent(arguments); 41 42 this.providerStore = Ext.create("PartKeepr.data.store.UserProviderStore"); 43 44 this.providerCombo = Ext.create("Ext.form.field.ComboBox", { 45 store: this.providerStore, 46 displayField: 'type', 47 valueField: '@Id', 48 editable: false, 49 forceSelection: true, 50 fieldLabel: i18n("Type"), 51 listeners: { 52 select: "onProviderSelect", 53 scope: this 54 } 55 }); 56 57 this.providerToolbar = Ext.create("Ext.toolbar.Toolbar", { 58 dock: 'top', 59 enableOverflow: true, 60 items: this.providerCombo 61 }); 62 63 this.filter = Ext.create("PartKeepr.util.Filter", { 64 property: "provider", 65 operator: "=", 66 value: "" 67 }); 68 69 this.addDocked(this.providerToolbar); 70 }, 71 onProviderSelect: function (combo, record) 72 { 73 this.filter.setValue(record); 74 this.store.addFilter(this.filter); 75 } 76 });