TG.ManagementMeasure = Ext.extend(Ext.grid.EditorGridPanel, {
	id: 'management-measure',
	loadMask: true,
	disabled: true,
	clicksToEdit: 1,
	initComponent: function() {
		var store = new Ext.data.DirectStore({
			//autoLoad: true,
			autoSave: true,
			reader: new Ext.data.JsonReader({
				idProperty: 'id',
				root: 'data',
				totalProperty: 'total',
				fields: ['id', 'riscruleid', 'beschrijving', 'actiehouders',
					'status',
					{name:'deadline', type:'date', dateFormat: "Y-m-dTH:i:s"}]
			}),
			proxy: new Ext.data.DirectProxy({
				baseParams: {
					riscruleid: 9999
				},
				api: {
					read: TG.Remoting.ManagementMeasures.read,
					update: TG.Remoting.ManagementMeasures.update,
					destroy: TG.Remoting.ManagementMeasures.remove,
					create: TG.Remoting.ManagementMeasures.create
				}
			}),
			writer: new Ext.data.JsonWriter({
				encode : false
			})
		});

		Ext.apply(this, {
			tbar: [{
				iconCls: 'x-icon-add',
				text: 'Toevoegen',
				handler: function () {
					var g = Ext.getCmp('management-measure');
					var ManagementMeasure = g.getStore().recordType;
					var r = new ManagementMeasure({
						id: 9999,
						riscruleid: g.store.baseParams.riscruleid
					});
					g.stopEditing();
					g.store.add(r);
					var ri = g.store.getCount()-1;
					g.startEditing(ri, 0);
				}
			},{
				iconCls: 'x-icon-delete',
				text: 'Verwijderen',
				handler: function () {
					var g = Ext.getCmp('management-measure');
					var sm = g.getSelectionModel();
					if (sm.hasSelection()) {
						var c = sm.getSelectedCell();
						g.store.removeAt(c[0]);
					}
				}
			}],
			columns: [{
				header: 'Beschrijving',
				sortable: true,
				dataIndex: 'beschrijving',
				editor: {
					xtype: 'textarea'
				}
			},{
				header: 'Actiehouders',
				sortable: true,
				dataIndex: 'actiehouders',
				editor: {
					xtype: 'domain-options',
					domainName: 'Actiehouders',
					type: 10
				}
			},{
				header: 'Status',
				sortable: true,
				dataIndex: 'status',
				editor: {
					xtype: 'domain-options',
					domainName: 'Status',
					type: 11
				}
			},{
				xtype: 'datecolumn',
				header: 'Deadline',
				sortable: true,
				dataIndex: 'deadline',
				format: 'j-m-Y',
				editor: {
					xtype: 'datefield'
				}
			}],
			store: store
		});
		TG.ManagementMeasure.superclass.initComponent.apply(this, arguments);
	}
});
Ext.reg('management-measure', TG.ManagementMeasure);
