Foro

Necesito entender bien este codigo extjs

0
Buenas Tardes Foreros, necesito que alguien por favor me explique este codigo para poder realizar un sistema que estoy haciendo basado en el ejemplo del Web Desktop que pueden ver aqui <!-- m -->http://dev.sencha.com/deploy/ext/examples/<!-- m --> <!-- m -->http://dev.sencha.com/deploy/ext/exa...p/desktop.html<!-- m --> Este es el codigo original
// Necesito entender bien desde aqui hasta...
var windowIndex = 0;
MyDesktop.BogusModule = Ext.extend(Ext.app.Module, {
    init : function(){
        this.launcher = {
            text: 'Window '+(++windowIndex),
            iconCls:'bogus',
            handler : this.createWindow,
            scope: this,
            windowId:windowIndex
        }
    },
    createWindow : function(src){
        var desktop = this.app.getDesktop();
        var win = desktop.getWindow('bogus'+src.windowId);
        if(!win){
            win = desktop.createWindow({
                id: 'bogus'+src.windowId,
                title:src.text,
                width:640,
                height:480,
                html : '<p>Something useful would be in here.</p>',
                iconCls: 'bogus',
                shim:false,
                animCollapse:false,
                constrainHeader:true
            });
        }
        win.show();
    }
});
//aqui
//Y como relacionar la funcion siguiente con la anterior
MyDesktop.BogusMenuModule = Ext.extend(MyDesktop.BogusModule, {
    init : function(){
        this.launcher = {
            text: 'Bogus Submenu',
            iconCls: 'bogus',
            handler: function() {
				return false;
			},
            menu: {
                items:[{
                    text: 'Bogus Window '+(++windowIndex),
                    iconCls:'bogus',
                    handler : this.createWindow,
                    scope: this,
                    windowId: windowIndex
                    },{
                    text: 'Bogus Window '+(++windowIndex),
                    iconCls:'bogus',
                    handler : this.createWindow,
                    scope: this,
                    windowId: windowIndex
                    },{
                    text: 'Bogus Window '+(++windowIndex),
                    iconCls:'bogus',
                    handler : this.createWindow,
                    scope: this,
                    windowId: windowIndex
                    },{
                    text: 'Bogus Window '+(++windowIndex),
                    iconCls:'bogus',
                    handler : this.createWindow,
                    scope: this,
                    windowId: windowIndex
                    },{
                    text: 'Bogus Window '+(++windowIndex),
                    iconCls:'bogus',
                    handler : this.createWindow,
                    scope: this,
                    windowId: windowIndex
                }]
            }
        }
    }
});
Estoy sacando el menu de inicio desde la base de datos, modificando el codigo e integrandolo con php, pero no he logrado relacionar el elemento del menu con la pagina del formulario. Es decir como integrar la primera funcion javascript con la segunda (que si me funciona bien) [img]http://i47.photobucket.com/albums/f195/warbandit69/menu_extjs.jpg[/img] Pero no logro relacionar que determinado boton me muestre determinada pagina Este es el codigo embebido con php
if (!function_exists("SMenu_3")) {
	function SMenu_3(
	$niveles,
	$login,
	$hostname_obras,
	$database_obras,
	$username_obras,
	$password_obras,
	$enlace) {
		
		$obras = mysql_pconnect($hostname_obras, $username_obras, $password_obras) or trigger_error(mysql_error(),E_USER_ERROR);
		mysql_select_db($database_obras, $obras);
	
		$css_menus = array();
		$menu_menus = array();
		$menu_submenus = array();
	
		$i = 0;
		$datos = "";
		
		$query_menus = "SELECT  
		`us_rolesmenus`.`optmenu` ,  
		`ag_menuspad`.`padmenu` , 
		`ag_menuspad`.`programa` ,  
		`ag_menuspad`.`etiqueta` ,  
		`ag_menuspad`.`opttexto` ,  
		`ag_menuspad`.`images`
		FROM `us_rolesmenus`
		INNER JOIN `ag_menuspad` ON `us_rolesmenus`.`optmenu` = `ag_menuspad`.`optmenu`
		WHERE `us_rolesmenus`.`idrol` LIKE '".$niveles."' ";
		$menus = mysql_query($query_menus, $obras) or die(mysql_error());
		$row_menus = mysql_fetch_assoc($menus);
		$totalRows_menus = mysql_num_rows($menus);
		$menu_3 = "";
		while($row_menus = mysql_fetch_assoc($menus)) {
		
			$i = $i + 1;
		
			$row_menus['optmenu'];
			$row_menus['etiqueta'];
			$row_menus['opttexto'];
			$row_menus['programa'];
			$row_menus['images'];
		
			$query_menus2 = "SELECT * FROM `ag_menusopt` WHERE `optmenu` LIKE '".$row_menus['optmenu']."' AND `padmenu` LIKE '".$row_menus['padmenu']."'";
			$menus2 = mysql_query($query_menus2, $obras) or die(mysql_error());
			$row_menus2 = mysql_fetch_assoc($menus2);
			$totalRows_menus2 = mysql_num_rows($menus2);
			
			$menu_3 .=	"MyDesktop.".$row_menus['programa']." = Ext.extend(MyDesktop.BogusModule, {
				";
    		$menu_3 .=	"			init : function(){
				";
        	$menu_3 .=	"			this.launcher = {
				";
            $menu_3 .=	"			text: '".$row_menus['etiqueta']."',
			";
            $menu_3 .=	"			iconCls: '".$row_menus['programa']."',
			";
            $menu_3 .=	"			handler: function() {
				";
			$menu_3 .=	"				return false;
			";
			$menu_3 .=	"			},
			";
	        $menu_3 .=	"    		menu: {
				";
    	    $menu_3 .=	"        	items:[
				";
			
			$j = 0;
			
			while($row_menus2 = mysql_fetch_assoc($menus2)) {
			
			$j = $j + 1;
			$datos .= $j." - ".$row_menus2['programa']."<br/>";
			#if ($row_menus2['programa']!="") {
				
					$menu_3 .=	"					{
				";
		       		$menu_3 .=	"            			text: '".$row_menus2['etiqueta']."',
			";
        		    $menu_3 .=	"	        			iconCls:'".$row_menus['programa']."',
			";
        	    	$menu_3 .=	"    	    			handler : this.createWindow,
			";
		            $menu_3 .=	"        				scope: this,
			";
					$menu_3 .=	"            			windowId: windowIndex
			";
    		    	$menu_3 .=	"            		}";
					$k = $j-1;
				
					if ($totalRows_menus2==$k) { 
				
						$menu_3 .=	"
						"; 
				
					} else { 
			
						$menu_3 .=	",
						"; 
					}
				} 
			
			#}
			
			$menu_3 .=	"]
			";
        	$menu_3 .=	"    			}
			";
        	$menu_3 .=	"			}
			";
    		$menu_3 .=	"		}
			";
			$menu_3 .=	"	});
			
		
";
					
		} 
		
		return $menu_3;			
		#return $datos;	
		#return $query_menus2;
	}
}

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.