1. #1
    Sencha User
    Join Date
    Feb 2010
    Posts
    353
    Vote Rating
    4
    maneljn is on a distinguished road

      0  

    Default Very confused upgrading 4.1.1a to 4.2. Please help.

    Very confused upgrading 4.1.1a to 4.2. Please help.


    Hello, i have an mvc app developed in extjs 4.1.1a and builded with sencha cmd 3.0.0.230.
    All works fine.

    Few days ago i have updated sencha cmd to 3.1.0.256 and create a new app with "generate app" and extjs 4.2
    Then i copy my old app.js to the new app folder.

    This is my app.js
    Code:
    //@charset UTF-8
    
    // DO NOT DELETE - this directive is required for Sencha Cmd packages to work.
    //@require @packageOverrides
    // No usamos packages al compilar
    
    // Cargador dinamico
    //<debug>
    Ext.Loader.setConfig({        
        enabled: true,
        disableCaching: false,
        paths: {
            // Cesi.ux (Controles propios cesi)
            'Cesi.ux': 'libs/extjs_cesi/Cesi/ux',
            // Extjs  (la carpeta ux normalmente viene en el codigo fuente de sencha dentro de examples)
            // Plugins y extensiones extjs
            'Ext.ux': 'libs/ext/src/ux',
            // Extjs
            'Ext': 'libs/ext/src'
        } 
    });    
    //</debug>
    
    Ext.require('Ext.app.Application');
    Ext.require('Ext.direct.*');
    Ext.require('Ext.data.*');
    Ext.require('Ext.tip.*');
    Ext.require('Ext.window.MessageBox');
    Ext.require('Ext.util.Format');
    Ext.require('Ext.layout.container.Border');
    
    // Requires forzados para la compilacion // Ejecución en desarrollo
    Ext.require('Ext.toolbar.Paging');
    Ext.require('Cesi.ux.layout.component.field.BoxSelectField');
    Ext.require('Cesi.ux.form.field.BoxSelect');
    
    // Variables globales
    var esinubeApp;
    var directProvider;
    
    // Funcion que se ejecuta cuando se ha cargado todo lo necesario de las extjs.
    Ext.onReady(function(){
    
        // Arreglar algunos bugs en las traducciones de botones Extjs
        // Forzar idioma botones messagebox (bug ext)
        if (Ext.MessageBox) {
            Ext.MessageBox.msgButtons['ok'].text = Ext.MessageBox.buttonText.ok;
            Ext.MessageBox.msgButtons['cancel'].text = Ext.MessageBox.buttonText.cancel;
            Ext.MessageBox.msgButtons['yes'].text = Ext.MessageBox.buttonText.yes;
            Ext.MessageBox.msgButtons['no'].text = Ext.MessageBox.buttonText.no;
        }
    
        // Cargar el proveedor de Ext.Direct con la configuracion de API
        directProvider = Ext.direct.Manager.addProvider(Ext.app.esinube_REMOTING_API);
    
        // Separador decimal y de millares
        Ext.util.Format.decimalSeparator = '.';
        Ext.util.Format.thousandSeparator = ',';            
        
        // Definir la MVC app principal (esinubeApp)
        // Dominio de las clases js = esinube.xxxxxx
        Ext.application({
            name: 'esinube',
            autoCreateViewport: false,
            enableQuickTips: true,
            appFolder: 'app',
    
            controllers: [
                // Controladores eSInube (app base)
                'escritorio', 'login', 'logout'
            ],        
        
            launch: function() {
                var me = this;
        
                // Guardar el objeto aplicacion en una variable global
                esinubeApp = me;
        
                // Añadir un listener al direct manager para que analice todos los datos que llegan y 
                // si vienen con el requiereLogin = true, abrir ventana de login.
                directProvider.on({
                    data: function( provider, e, eOpts ){
                        if (e.result.requiereLogin) {
                            //if (e.action=="esinube_sesiones" && (e.method=="frmsubmitLogin" || e.method=="cerrarSesion" || e.method=="requiereLogin") ) {
                            if (e.action=="esinube_sesiones") {
                                // Dejamos pasar para que se quede en la ventana de login
                            } else {
                                var winLogin = Ext.ComponentQuery.query('esinube_view_login')[0];
                                if (!winLogin) {
        
        
        // Aqui habria crear una venta de re-login con menos cosas (ni registro, ni logo ni nada... 
        //solo usuario actual sin poder tocarlo y password)
        
        // Si lo dejamos asi al poner el password recarga el index.php y nos cierra todo lo que tenemos abierto.
        
                                    // Mostrar ventana de Login
                                    winLogin = me.getView('login').create();
                                    winLogin.show();
                                }
                            }
                        }
                    },
                    scope: this
                });
        
            
                // Comprobar si estamos en un proceso de recuperacion de password (url directa)
                var mostrarRecuperarPassword = false;
                if ((typeof esinubeRecuperarPassword != "undefined") && (typeof esinubeRecuperarPasswordHash != "undefined") ) {
                    if (esinubeRecuperarPassword==true && esinubeRecuperarPasswordHash.length>0) {
                        mostrarRecuperarPassword = true;
                    }
                }
                    
                if (mostrarRecuperarPassword) {                
    
                    // Mostrar ventana de recuperacion de password
                    winLoginRecuperarPassword = me.getView('loginRecuperarPassword').create();
                    winLoginRecuperarPassword.show();
    
                } else {
        
                    // Comprobar si es necesario hacer login
                    Ext.esinubeDirect.esinube_sesiones.requiereLogin(function(response, event) {
                        if (response.requiereLogin) {
                            // Mostrar ventana de Login
                            winLogin = me.getView('login').create();
                            winLogin.show();
                        } else {
            
                            // Ejecutar los pasos iniciales al entrar (incluye la creacion del view escritorioPrincipal)
                            me.getController('escritorio').pasosIniciales();
            
                        }
                    });    
                }
                
            }
        
        });
    
    });
    As you can seek i have not "Main" controller , but the compiler still searchs for it.
    To solve this , i have created a "Main" controller, a "Main" view and a "Viewport" view.
    Now compiler works, but, it does not SCAN any of my classes , i have it defined in requires like this controller "escritorio":

    Code:
    //@charset UTF-8
    
    Ext.define('esinube.controller.escritorio', {
        extend: 'Ext.app.Controller',
    
        models:[
            'aplicacion'
        ],
        stores:[
            'aplicacionesPermitidas',
            'aplicacionesPermitidasFavoritas'
        ],
        views: [
            'escritorio',
            'barraTareas',
            'barraTareasMenuInicio',
            'iconosEscritorio',
            'itemMenuAplicaciones',
            'window',
            'windowIframe',
            'panelBase',
            'gridBase',
            'panelSubfichaBase',
            'tabpanelBase'
        ],
    
        init: function() {
            var me = this;
            me.control({
                // Eventos zona iconos escritorio (Accesos directos)
                'esinube_view_escritorio dataview[name="zonaIconosEscritorio"]' : {
                       itemclick: me.onAccesoDirectoItemClick
                },
                // Click en aplicacion del menu inicio
                'esinube_view_barraTareasMenuInicio esinube_view_itemMenuAplicaciones' : {
                    click: me.onAbrirApp
                },
                // Eventos ventana principal de las subaplicaciones
                'esinube_view_window' : {
                    maximize: me.onVentanaMaximizada,
                    minimize: me.onVentanaMinimizada,
                    beforeclose: me.onVentanaCerrada,
                    destroy: me.onVentanaDestroy,
                    activate: me.onVentanaActivada,
                    deactivate: me.onVentanaDesactivada
                },
                // Eventos ventana principal de las subaplicaciones - botoncitos adicionales de arriba a la derecha 
                'esinube_view_window tool[name="pin"] , esinube_view_window tool[name="unpin"]' : {
                    click: me.onVentanaToggleAccesoDirectoEscritorio
                },
                // Eventos boton cerrar sesion del menu inicio de la barra de tareas 
                'esinube_view_barraTareasMenuInicio button[name="btnCerrarSesion"]' : {
                       click: me.onCerrarSesion
                },
                // Eventos barra superior boton cerrar sesion
                'esinube_view_escritorio container[name="zonaMenusFijos"] button[name="btnCerrarSesion"]' : {
                       click: me.onCerrarSesion
                },
                'esinube_view_windowIframe uxiframe': {
                       load: me.aplicacionIframeCargada
                }
            });
        },
        
        refs: [{
            // Escritorio principal del esinube
            ref: 'escritorioPrincipal',
            selector: 'esinube_view_escritorio[name="escritorioPrincipal"]'
        }],
    
    .............

    when i edit the all-classes.js i don't find anything about my controllers, views, stores, etc...

    If i execute
    Code:
    sencha app refresh
    in bootstrap.js file appears the definition of all my classes (controllers, stores, etc..). But if i rebuild "sencha app build" does the same problem, in all-classes.js don't appear any code of my classes.

    What is going wrong ? Or what i don't know about the changes of new sencha cmd "scan" system ??

    Please help. Anny suggestions will be apreciated.
    Manel
    -------------------
    Manel Juàrez

  2. #2
    Sencha User
    Join Date
    Feb 2010
    Posts
    353
    Vote Rating
    4
    maneljn is on a distinguished road

      0  

    Default


    anyone ?
    -------------------
    Manel Juàrez

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi