Sv.js 5.55 KB


function renderercell(value, metaData, record, row, col, store, gridView) {
	return '<div style="font-size: 14px; color:#3892d3;  text-align:center;">'+value+'</div>';	
}


function rendererstatusimg(value, metaData, record, rowIndex, colIndex, store) {
    if(value) {
    //	return '<div style="font-size: 14px; color:#3892d3;  text-align:center;">'+'Запущен'+'</div>';	
    return	'<span><img src="resources/img/button-green.png" height="18" width="18"/> </span>';
    }else {
     	return '<div style="font-size: 14px; color:#3892d3;  text-align:center;">'+'Остановлен'+'</div>';	 
    }
 }

function rendererstatustitle(value, metaData, record, rowIndex, colIndex, store) {
    if(value) {
    	return '<div style="font-size: 14px; color:#3892d3;  text-align:center;">'+'Запущен'+'</div>';	
 
         }else {
     	return '<div style="font-size: 14px; color:#3892d3;  text-align:center;">'+'Остановлен'+'</div>';	 
    }
 }

Ext.define('App.view.Sv', {
    extend : 'Ext.grid.Panel',
    xtype  : 'mvvm-SvView',
    title : 'Управление службами',
    store : 'Sv',
    bbar: {
    	    items: [ 
    			          {
    			                xtype: 'button',
    			                iconCls:'load',
    			                itemId: 'LoadSvButton',
    			                text: 'Обновить',
    			                action: 'loadSv',
    			                disabled:false
    			            }
    	            ]
    	    		},		
    		  
          	 selType: 'rowmodel',
             plugins: [new 	Ext.create('Ext.grid.plugin.RowEditing', {
                    	   		clicksToEdit: 2,
                    	   		pluginId: 'modelSvEditPlagin'
                       	})
             ],
             columns: [{ 
				            text      : '№',  
				            dataIndex : 'id', 
				            width: 50,
				            hidden:true
             			},
             			
             			
             		      { 
				            text      : 'Статус', 
				            dataIndex : 'isrun', 
				            width      : 100,
				            renderer:rendererstatusimg,
				           // editor: new Ext.form.TextField({
				            //	allowBlank: true
				           // })
				       },
             			
             			
				       { 
				            text      : 'Процесс', 
				            dataIndex : 'process', 
				            width      : 150,
				            renderer:renderercell,
				           // editor: new Ext.form.TextField({
				          //  	allowBlank: true
				           // })
				       },
				       
				       { 
				            text      : 'Примечание', 
				            dataIndex : 'isrun', 
				            width      : 170,
				            renderer:rendererstatustitle,
				           // editor: new Ext.form.TextField({
				            	allowBlank: true
				           // })
				       },
				       
				       { 
				            text      : 'Автозагрузка', 
				            dataIndex : 'autostart', 
				            width      : 100,
				            xtype: 'checkcolumn'
				       },
				       
				       {
				            xtype:'actioncolumn', 
				            width:170,
				              items: [{
				                icon: 'resources/img/start.png',  
				                tooltip: 'Запустить',
				                handler: function(grid, rowIndex, colIndex) {
				                   var rec = grid.getStore().getAt(rowIndex);
				                   var data=Ext.util.JSON.encode(rec.data);
					               
				                   grid.mask("Запуск...");
				                   
					               Ext.Ajax.request({
					               	  method: "POST",
					                     url: 'api/sv/start',
					                     timeout: 60000,
					                     headers: {
					                         'Accept': 'application/json',
					                         'Content-Type': 'application/json'
					                     },
					                     params:data,
					                     success: function(response, opts) {
					                  
					                    	 grid.unmask();
					                    	 
					                    	 var result = Ext.JSON.decode(response.responseText);
					                    	 
					                    	 
					                    	 Ext.Msg.alert(result.type+" "+"Код-"+result.code,result.message);
					                     	 
					                     }, failure: function(response, opts) {
					                    	 grid.unmask();
					                    	  Ext.Msg.alert('Failure', 'Ошибка соединения');
					                     }
					                });
				                   
				                }
				            },{
				                icon: 'resources/img/stop.png',
				                tooltip: 'Остановить',
				                handler: function(grid, rowIndex, colIndex) {
				                    var rec = grid.getStore().getAt(rowIndex);
				                    
				                    console.log(rec);
				                    
				                    //alert("Terminate " + rec.get('firstname'));
				                }                
				            },
				            {
				                icon: 'resources/img/replay.png',
				                tooltip: 'Перезапустить',
				                handler: function(grid, rowIndex, colIndex) {
				                    var rec = grid.getStore().getAt(rowIndex);
				                    
				                    console.log(rec);
				                }                
				            }
				            
				            ]
				        }
		
      		  ]
});