extjs desktop startmenu (開始菜单)

extjs desktop 的開始菜单 二级菜单,仅仅是简单演示实现原理,如 须要动态生成,自己改造就可以,下面基本方法原理:


首先 建立一个js文件 生成開始菜单数据:




function GetStartMenu(app) {
    var menuArray = [];

    var m = {
        launcher: {
            text: '開始菜单第一级A',
            iconCls: 'icon-grid',
            handler: function() {
                return false;
            },
            menu: {
                minWidth: 127,
                items: []
            }
        }
    };

    m.launcher.menu.items.push({
        winId: 'menua01',
        winUrl: 'abc/abcd.html',
        text: '開始菜单第二级A01',
        maximized: false,
        iconCls: 'icon-grid',
        scope: this,
        handler: function(src) {
             var desktop = app.getDesktop();
            var win = desktop.getWindow('menua01');
            if (!win) {
                win = desktop.createWindow({
                    border: false,
                    id: 'menua01',
                    title: '開始菜单第二级A01',
                    width: 600,
                    height: 500,
                    maximized: true,
                    maximizable: true,
                    resizable: true,
                    iconCls: 'icon-grid',
                    hideMode: 'offsets',
                    constrain: true,
                    layout: 'fit',
                    loader: {
                        url: 'abc/abcd.html',
                        autoLoad: true,
                        scripts: true
                    }
                });
            }
            win.show();
            return win;
        }
    });


    m.launcher.menu.items.push({
        winId: 'menua02',
        winUrl: 'abc/bbbb.html',
        text: '開始菜单第二级A02'
        maximized: false,
        iconCls: 'icon-grid',
        scope: this,
        handler: function(src) {
            var desktop = app.getDesktop();
            var win = desktop.getWindow('menua02');
            if (!win) {
                win = desktop.createWindow({
                    border: false,
                    id: 'menua02',
                    title: '開始菜单第二级A02',
                    width: 800,
                    height: 600,
                    maximized: false,
                    maximizable: true,
                    resizable: false,
                    iconCls: 'icon-grid',
                    hideMode: 'offsets',
                    constrain: true,
                    layout: 'fit',
                    loader: {
                        url: 'abc/bbbb.html',
                        autoLoad: true,
                        scripts: true
                    }
                });
            }
            win.show();
            return win;
        }
    });

    menuArray.push(m);

    return menuArray;
}

在主页面引入该文件 然后改动app.js,找到 getModules: function () {  删除里面内容 改为:

   getModules: function () {
           return GetStartMenu(this);
    },

就可以实现開始菜单的二级菜单



posted @ 2016-01-11 21:55  lcchuguo  阅读(425)  评论(0编辑  收藏  举报