Results 1 to 2 of 2

Thread: Web Desktop issues when navigate in windows

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Sencha User
    Join Date
    Sep 2010
    Location
    India
    Posts
    40
    Answers
    2
    Vote Rating
    0
      0  

    Default Answered: Web Desktop issues when navigate in windows

    Hello Friends,

    I have created webdesktop architecture in MVC structure. But I have problem when open more than one window and open previous opened window, I can not navigate the page after then. But newly open window is works fine.

    Here is the sample code for created MVC:
    app.js
    Code:
    Ext.Loader.setConfig({
        enabled: true,
        paths: {
            'Ext.ux.desktop': 'lib/js'
        }
    });
    
    
    Ext.application({
        name: 'Mydesktop',
        controllers: ['Mydesktop']
    });
    And from Mydesktop view I have set the webdesktop architecture. and all window opens from it.

    After window open I have created new MVC for my real application
    Code:
           createWindow: function () {
    
            var desktop = this.app.getDesktop();
            var win = desktop.getWindow('one-win');
    
    
            if (!win) {
                Ext.application({
                    name: 'Mydesktop',
                    appFolder: 'app',
                    controllers: [
                        "layout.SampleOne"
                    ],
                    launch: function () {
                        if (Ext.getCmp('one-win'))
                            Ext.getCmp('one-win').destroy();
                        win = desktop.createWindow({
                            id: 'one-win',
                            title: 'SampleOne',
                            maximized: true,
                            //modal: true,
                            width: 740,
                            height: 480,
                            border: false,
                            y: 0,
                            autoHeight: true,
                            resizable: true,
                            iconCls: 'icon-grid',
                            //animCollapse: false,
                            //constrainHeader: true,
                            layout: 'anchor',
                            items: [{
                                layout: 'anchor',
                                xtype: 'sampleone'
                            }],
    
    
                            listeners: {
                                resize: function (t, w, h, ow, oh) {
                                    
                                }
                            }
                        });
                        win.show();
                    }
                });
            }
            return win;
        }
    I also attached my sample code here. Please let me know if anyone knows how to handle MVC in webdesktop archtecture.

    Thanks in advance
    Attached Files Attached Files

  2. Resolved!
    For others which may have same issue:
    Just load view file using required. And in controller, when load this view load respective controller using getController.

    Code:
    win = desktop.createWindow({
    				id : 'admin-win',
    				title : 'Administration'.l('SC30000'),
    				maximized : true,
    				width : 740,
    				height : 480,
    				border : false,
    				y : 0,
    				autoHeight : true,
    				resizable : true,
    				iconCls : 'icon-administration',
    				layout : 'fit',
    				items : [{
    						layout : 'fit',
                                                   xtype: 'administration'
    					}
    				]});
    When administration view load, then do afterrender event on parent controller and load controller of administration.
    Code:
    this.control({
    			administration : {
    				afterrender : function (e, n, r, i) {
    					var s = t.getController("layout.Administration");
    					s.init();
    				}
    			}
             })
    Its work for me, hope for others as well. Let me know if any difficulty on it.

  3. #2
    Sencha User
    Join Date
    Sep 2010
    Location
    India
    Posts
    40
    Answers
    2
    Vote Rating
    0
      0  

    Default

    Resolved!
    For others which may have same issue:
    Just load view file using required. And in controller, when load this view load respective controller using getController.

    Code:
    win = desktop.createWindow({
    				id : 'admin-win',
    				title : 'Administration'.l('SC30000'),
    				maximized : true,
    				width : 740,
    				height : 480,
    				border : false,
    				y : 0,
    				autoHeight : true,
    				resizable : true,
    				iconCls : 'icon-administration',
    				layout : 'fit',
    				items : [{
    						layout : 'fit',
                                                   xtype: 'administration'
    					}
    				]});
    When administration view load, then do afterrender event on parent controller and load controller of administration.
    Code:
    this.control({
    			administration : {
    				afterrender : function (e, n, r, i) {
    					var s = t.getController("layout.Administration");
    					s.init();
    				}
    			}
             })
    Its work for me, hope for others as well. Let me know if any difficulty on it.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •