Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * perfil.js
- *
- * Vista de la opción de perfiles
- *
- * @author Alex Barrios <alex@alexertech.com>
- * @version 27.01.2010 11:46:44
- * @package perfiles
- *
- * */
- // Inicialización
- var controlador = 'perfil.php';
- var idCmp = 'Perfil';
- var cancelar = new Ext.form.Button({
- text : 'Cancelar',
- handler : function(){
- this.findParentByType('window').close();
- }
- });
- /**
- *
- * Definición del formulario de agregar
- *
- **/
- appAir.form.Perfil= Ext.extend(Ext.FormPanel, {
- initComponent : function() {
- // Atributos básicos para el formulario
- var config = {
- method : 'POST',
- autoWidth : true,
- autoHeight : true,
- labelWidth : 80,
- frame : true,
- defaultType : 'textfield',
- monitorValid : true,
- items : [{
- fieldLabel : 'Nombre',
- name : 'nombre',
- allowBlank : false
- }]
- };
- Ext.apply(this, Ext.apply(this.initialConfig, config));
- appAir.form.Perfil.superclass.initComponent.call(this);
- }
- });
- // Registramos el componente en Ext
- Ext.reg('appAir.form.Perfil', appAir.form.Perfil);
- /**
- *
- * Definición de la rejilla con sus opciones integradas
- *
- **/
- appAir.grid.Perfil = Ext.extend(Ext.grid.GridPanel, {
- initComponent : function() {
- /**
- *
- * Definición del lector de campos para las interacciones JSON
- *
- **/
- var dReader = new Ext.data.JsonReader({
- successProperty : 'success',
- root : 'rows',
- totalProperty : 'totaldata',
- id : 'cod_perfil'
- }, Ext.data.Record.create ([
- { name : 'cod_perfil', type : 'int'},
- { name : 'nombre' , type : 'string'}
- ])
- );
- /**
- *
- * Fuente de datos: indícamos de donde vamos a obtener la
- * información para cargar en la rejilla
- *
- **/
- var dstore = new Ext.data.Store({
- url : remoteSrvUrl+''+controlador+''+phpSes,
- reader : dReader
- });
- dstore.load();
- /**
- *
- * Agregar: Generamos una nueva ventana de tipo dialogo (modal)
- * que desactiva todo el fondo para dar el foco total a este
- * elemento y muestra el formulario
- *
- **/
- function agregar() {
- var formAgregar = new appAir.form.Perfil({
- url : remoteSrvUrl+''+controlador+''+phpSes+'&acc=1',
- buttons : [{
- text : 'Agregar',
- scope : this,
- handler : function() {
- var msj = Ext.MessageBox.wait('Por favor espere...', 'Enviando datos');
- formAgregar.getForm().submit({
- success : function(f,a){
- msj.hide();
- var resp = a.result;
- if (resp.success == 'true') {
- Ext.MessageBox.alert('Mensaje', resp.mensaje);
- formAgregar.findParentByType('window').close();
- dstore.reload();
- } else
- Ext.MessageBox.alert('Mensaje', resp.mensaje);
- },
- failure : errores
- });
- }
- },
- cancelar
- ]
- });
- mostrarVentana('Agregar Registro',formAgregar);
- }
- /**
- *
- * Modificar: Generamos una nueva ventana de tipo dialogo (modal)
- * que desactiva todo el fondo para dar el foco total a este
- * elemento y muestra el formulario
- *
- **/
- function modificar(idSel) {
- }
- /**
- *
- * Eliminar: Una vez el usuario ha seleccionado una fila de
- * la rejilla, pide confirmación y luego elimina el registro.
- *
- **/
- function eliminar(idSel){
- var msj = Ext.MessageBox.wait('Por favor espere...', 'Enviando datos');
- var vparams ='&cod='+idSel+'&acc=3';
- Ext.Ajax.request({
- url : remoteSrvUrl+''+controlador+''+phpSes,
- method : 'POST',
- params : vparams,
- success : function(responseObject) {
- var resp = Ext.decode(responseObject.responseText);
- if (resp.success == 'true') {
- Ext.MessageBox.alert('Mensaje', resp.mensaje);
- dstore.load();
- } else
- Ext.MessageBox.alert('Error!', resp.mensaje);
- },
- failure : function(responseObject) {
- Ext.MessageBox.alert('Error', 'Servidor no encontrado');
- }
- });
- }
- /**
- *
- * Barra de herramientas
- *
- **/
- this.tbar = new Ext.Toolbar({
- margins : '5 5 5 5',
- items : [
- ' ',
- {
- text : ' Agregar ',
- iconCls : 'tb_add',
- handler : agregar
- },{
- text : ' Modificar ',
- iconCls : 'tb_edit',
- scope : this,
- handler : function() {
- selId = this.selModel.selections.items;
- if( selId.length > 0 )
- modificar(selId[0].id);
- else
- Ext.MessageBox.alert('Mensaje', 'Por favor selecciona un item a eliminar');
- }
- },{
- text : ' Eliminar ',
- iconCls : 'tb_del',
- scope : this,
- handler : function() {
- selId = this.selModel.selections.items;
- if( selId.length > 0 )
- Ext.MessageBox.confirm('Confirmación', 'De verdad deseas eliminar el registro?', function() {eliminar(selId[0].id)});
- else
- Ext.MessageBox.alert('Mensaje', 'Por favor selecciona un item a eliminar');
- }
- }
- ]
- });
- /**
- *
- * Barra de paginación
- *
- **/
- this.bbar = new Ext.PagingToolbar({
- pageSize : res_perpage,
- store : dstore,
- displayInfo : false,
- disabled : true,
- beforePageText : 'Página',
- afterPageText : 'de {0}',
- });
- /**
- *
- * Atributos básicos para la rejilla
- *
- **/
- this.columns = [{
- id : 'nombre',
- header : 'Nombre',
- dataIndex : 'nombre'
- }];
- this.on('rowdblclick', function(grid,rowIndex, e) {
- // air.Introspector.Console.dump(grid.store.data.items[rowIndex]);
- // Ext.Msg.alert('Mensaje', 'cod_perfil = '+grid.store.data.items[rowIndex].id);
- });
- Ext.apply(this, {
- trackMouseOver : false,
- disableSelection : false,
- loadMask : true,
- store : dstore,
- stripeRows : true,
- autoExpandColumn : 'nombre'
- });
- appAir.grid.Perfil.superclass.initComponent.call(this);
- }
- });
- Ext.reg('appAir.grid.Perfil', appAir.grid.Perfil);
Add Comment
Please, Sign In to add comment