2011-06-08 100 views
-1

我是ExtJS的新手。由于客户需求ExtJS3代码在那里,我们需要将其转换为ExtJS4.I我尝试了很多,但它不显示结果。将ExtJS3移植到ExtJS4

HTML代码:

<html> 
<head> 
<title>Search Window With Ext JS 4</title> 
<link rel="stylesheet" type="text/css" href="ext-4.0.1/resources/css/ext-all.css"/> 
<script type="text/javascript" src="ext-4.0.1/ext-all.js"></script> 
<script type="text/javascript" src="ext-4.0.1/bootstrap.js"></script> 

<script type="text/javascript" src="searchwindow.js"></script> 
<script type="text/javascript" src="SearchRegionPan.js"></script> 

<body> 
<div id="panel" style="padding:10px"></div> 
</body> 
</html> 

ExtJS的代码: searchwindow.js:

Ext.require(['*']); 

Ext.onReady(function(){ 

    Ext.QuickTips.init(); 

var SearchRegionPan = new SearchRegionPan(); 

//************************* SEARCH TAB ************************************** 
var searchTab = { 
        id   : 'searchTab', 
        border  : false, 
        //autoHeight : true, 
        //title  : searchTitle, 
        items  : [SearchRegionPan, 
         { 
         xtype:'label', 
            text:'', 
            style:'padding:2px 1px 0 40px;font-weight: bold;color: red;text-align: center;', 
            itemId : 'totallabel' 
            }], 
        title  : 'Search' 
       }; 

//*************************** SCHOOL INFO TAB ********************************** 
var schoolInfo = { 
        id   : 'schoolInfo', 
        autoScroll : true, 
        border  : false, 
        //autoHeight : true, 
        title  : 'School Info' 
       }; 

//************************ QUICK SEARCH TAB *************************************** 
var quickSearchMainTab = { 
        layout  : 'column', 
        //columnWidth: 0.5, 
        xtype  : 'panel', 
        border  : false, 
        //autoHeight : true, 
        id   : 'quickpanelID',   
        title  : 'Quick Search',  
        bodyStyle : 'background:#f7fbfc;' 
       }; 


//***************************** LAYERS **************************************** 
var layerss = { 
        id   : "tree", 
        //title  : layersTitle, 
        title  : 'Layers', 
        xtype  : "treepanel", 
        height  : 290,  
        //showWmsLegend: true, 
        //model  : model 
        enableDD : true 
       }; 

//****************************** TABS IN SEARCH MAIN TAB ******************************** 
var tabs = { 
        margins   : '3 3 3 0', 
        activeTab  : 0, 
        style   : 'background:none; padding-top:10px', 
        plain   : true, 
        xtype   : 'tabpanel', 
        id  :'tabs',     frame   : false, 
        border   : false, 
        //autoHeight  : true, 
        deferredRender : false, 
        items   : [searchTab, schoolInfo, quickSearchMainTab, layerss] 
      }; 

// ***************************** SEARCH MAIN TAB ****************************************** 
var searchMainTab = { 
        id    : 'searchMainTab', 
        layout   : 'fit', 
        border   : false, 
        //title   : searchInfoTitle, 
        title   : 'Search Info', 
        items   : [tabs] 
        //autoHeight : true 
        //iconCls   : 's_ico'    
       }; 

//********************************** searchTabs USED IN SEARCH WINDOW ******************************* 
searchTabs = Ext.create('Ext.tab.Panel',{ 
        margin   : '3 3 3 0', 
        activeTab  : 0, 
        style   : 'background:none', 
        plain   : true, 
        id    : 'searchTabs', 
        //autoHeight  : true, 
        width   : 350, 
        //baseCls   : 'srcTab', 
        style   : 'padding-top:10px', 
        frame   : false, 
        items   : [searchMainTab], 
        border   : false 
        }); 

// *********************************** SEARCH WINDOW ************************************* 
searchWin = Ext.create('Ext.window.Window',{ 
        title   : '<p style="font:1px tahoma,arial,helvetica,sans-serif;color:white"></p>', 
        //width   : 360, 
        width   : 400, 
        height   : 380, 
        autoHeight  : true, 
        x    : 100, //to display search window 100px from left 
        y    : 100, //to display search window 100px from top 
        draggable  : true, 
        autoScroll  : false, 
        plain   : true, 
        id    : 'searchMainWindow', 
        layout   : 'fit', 
        border   : true, 
        //baseCls   : 'searchWin', 
        //animateTarget : 'searInfo', 
        resizable  : false, 
        shadow   : false, 
        frame   : false, 
        closeAction  : 'hide', 
        items   : [searchTabs], 
        renderTo  : panel //used to render to html page 
        }); 
        searchWin.show(); 
    });  


SearchRegionPan.js: 

Ext.require('*'); 

//*************** SEARCH REGION PAN USED IN SEARCH TAB *************************** 
SearchRegionPan = Ext.create('Ext.Panel',{ 
        id   : 'searchRegionPan', 
        border  : false,   
        style  : 'padding:5px 10px 0 10px ', 
        items  : [RegionCityDistForm], 
        frame  : false 
       }); 

//************** REGIONCITYDISTFORM USED IN SEARCH TAB ********************************** 
var RegionCityDistForm = Ext.create('Ext.form.Panel',{ 
        extend   : 'Ext.panel.Panel', 
        id    : 'regioncitydistform', 
        frame   : true, 
        border   : true, 
        height   : 100, 
        padding   : '10px 20px 10px 10px', 
        width   : '100%', 
        layout   : 'anchor', 
        fieldDefaults : { 
         labelWidth : 140 
        }, 
        items   : [Region,City,District] 
      }); 

//*************************** REGION DECLARATION ********************************* 
var Region = Ext.create('Ext.form.TextField',{ 
        fieldLabel  : 'Region', 
        selectOnFocus : true, 
        width   : 330, 
        allowBlank  : false, 
        editable  : true, 
        emptyText  : 'Select a Region...', 
        triggerAction : 'all', 
        typeAhead  : true 
      }); 

//**************************** CITY DECLARATION ********************************* 
var City = Ext.create('Ext.form.TextField',{ 
        fieldLabel  : 'City', 
        selectOnFocus : true, 
        width   : 330, 
        allowBlank  : false, 
        editable  : true, 
        emptyText  : 'Select a City...', 
        triggerAction : 'all', 
        typeAhead  : true 
      }); 

//************************* DISTRICT DECLARATION ************************************ 
var District = Ext.create('Ext.form.TextField',{ 
        fieldLabel  : 'District', 
        selectOnFocus : true, 
        width   : 330, 
        allowBlank  : false, 
        editable  : true, 
        emptyText  : 'Select a District...', 
        triggerAction : 'all', 
        typeAhead  : true 
      }); 

按我的知识我期待新keyowrd不ExtJS4工作version.If有人知道请让我知道。

由于事先 瑞木

+0

我有疑问,如果你有聊天权限[看这里](http://chat.stackoverflow.com/rooms/7451/extjs-3-x-4-x-java-script-framework) – 2012-02-20 11:14:58

回答

2

是的,我会从兼容性层开始,并检查迁移screencasts以获取有关调试兼容性问题的指针。一般而言,new关键字仍然可以正常工作。 Ext.create()在新班级系统下更受欢迎,但看起来你似乎主要是这样做的。如果页面没有渲染,那么你将不得不做一些调试来找出问题所在。

+0

谢谢很多。但在这里我试图通过使用新的关键字创建对象来添加动态js文件。这将与ExtJS4一起使用,否则我们需要使用Loader? – ramu 2011-06-08 11:05:10