书签 分享 收藏 举报 版权申诉 / 13

类型Extjs中状态栏里的巧妙使用.docx

  • 文档编号:23178149
  • 上传时间:2023-05-15
  • 格式:DOCX
  • 页数:13
  • 大小:23.23KB

Right-AlignedStatusBar

ThisisasimpleStatusBarthathasthestatuselementright-aligned.AnyStatusBaritemswillbeaddedin

exactlythesameorderontheleftsideofthebar.

StatusWindow

YoucanaddaStatusBartoawindowinexactlythesameway.

20px;">

CustomizingtheLookandFeel

ThisisastandardStatusBarwithsomecustomCSSstylesappliedandsomeeventhandlinginplaceto

handletheTextArea'skeypressevents.Noticethatafteryou'vestoppedtypingforafewsecondsa

simulatedauto-saveprocesswillbegin.

Ext.Loader.setConfig({

enabled:

true

});

Ext.Loader.setPath('Ext.ux','extjs/examples/ux');

Ext.require([

'Ext.panel.Panel',

'Ext.button.Button',

'Ext.window.Window',

'Ext.ux.statusbar.StatusBar',

'Ext.toolbar.TextItem',

'Ext.menu.Menu',

'Ext.toolbar.Spacer',

'Ext.button.Split',

'Ext.form.field.TextArea'

]);

Ext.onReady(function(){

//ThisisasharedfunctionthatsimulatesaloadactiononaStatusBar.

//Itisreusedbymostoftheexamplepanels.

varloadFn=function(btn,statusBar){

btn=Ext.getCmp(btn);

statusBar=Ext.getCmp(statusBar);

btn.disable();

statusBar.showBusy();

Ext.defer(function(){

statusBar.clearStatus({useDefaults:

true});

btn.enable();

},2000);

};

/*

*================BasicStatusBarexample=======================

*/

Ext.create('Ext.Panel',{

title:

'BasicStatusBar',

renderTo:

'basic',

width:

550,

height:

100,

bodyPadding:

10,

items:

[{

xtype:

'button',

id:

'basic-button',

text:

'DoLoading',

handler:

Ext.Function.pass(loadFn,['basic-button','basic-statusbar'])

}],

bbar:

Ext.create('Ext.ux.StatusBar',{

id:

'basic-statusbar',

//defaultstousewhenthestatusiscleared:

defaultText:

'Defaultstatustext',

//defaultIconCls:

'default-icon',

//valuestosetinitially:

text:

'Ready',

iconCls:

'x-status-valid',

//anystandardToolbaritems:

items:

[

{

xtype:

'button',

text:

'ShowWarning&Clear',

handler:

function(){

varsb=Ext.getCmp('basic-statusbar');

sb.setStatus({

text:

'Oops!

',

iconCls:

'x-status-error',

clear:

true//auto-clearafterasetinterval

});

}

},

{

xtype:

'button',

text:

'ShowBusy',

handler:

function(){

varsb=Ext.getCmp('basic-statusbar');

//Setthestatusbartoshowthatsomethingisprocessing:

sb.showBusy();

}

},

{

xtype:

'button',

text:

'Clearstatus',

handler:

function(){

varsb=Ext.getCmp('basic-statusbar');

//oncecompleted

sb.clearStatus();

}

},

'-',

'PlainText'

]

})

});

/*

*================Right-alignedStatusBarexample=======================

*/

Ext.create('Ext.Panel',{

title:

'Right-alignedStatusBar',

renderTo:

'right-aligned',

width:

550,

height:

100,

bodyPadding:

10,

items:

[{

xtype:

'button',

id:

'right-button',

text:

'DoLoading',

handler:

Ext.Function.pass(loadFn,['right-button','right-statusbar'])

}],

bbar:

Ext.create('Ext.ux.StatusBar',{

defaultText:

'Defaultstatus',

id:

'right-statusbar',

statusAlign:

'right',//themagicconfig

items:

[{

text:

'AButton'

},'-','PlainText']

})

});

/*

*================StatusBarWindowexample=======================

*/

varwin=Ext.create('Ext.Window',{

title:

'StatusBarWindow',

width:

400,

minWidth:

350,

height:

150,

modal:

true,

closeAction:

'hide',

bodyPadding:

10,

items:

[{

xtype:

'button',

id:

'win-button',

text:

'DoLoading',

handler:

Ext.Function.pass(loadFn,['win-button','win-statusbar'])

}],

bbar:

Ext.create('Ext.ux.StatusBar',{

id:

'win-statusbar',

defaultText:

'Ready',

items:

[{

xtype:

'button',

text:

'AButton'

},'-',

Ext.Date.format(newDate(),'n/d/Y'),'','','-',{

xtype:

'splitbutton',

text:

'StatusMenu',

menuAlign:

'br-tr?

',

menu:

Ext.create('Ext.menu.Menu',{

items:

[{text:

'Item1'},{text:

'Item2'}]

})

}]

})

});

Ext.create('Ext.Button',{

text:

'ShowWindow',

renderTo:

'window',

handler:

function(){

win.show();

}

});

varcharCount=Ext.create('Ext.toolbar.TextItem',{text:

'Chars:

0'}),

clock=Ext.create('Ext.toolbar.TextItem',{text:

Ext.Date.format(newDate(),'g:

i:

sA')}),

myevent=Ext.isOpera?

'keypress':

'keydown';//operabehavesalittleweirdwithkeydown

Ext.create('Ext.Panel',{

title:

'ExtWordProcessor',

renderTo:

'word-proc',

width:

500,

bodyPadding:

5,

layout:

'fit',

bbar:

Ext.create('Ext.ux.StatusBar',{

id:

'word-status',

items:

[charCount,'',clock,'']

}),

items:

{

xtype:

'textarea',

id:

'word-textarea',

enableKeyEvents:

true,

hideLabel:

true,

grow:

true,

growMin:

100,

growMax:

200

}

});

Ext.getCmp('word-textarea').on(myevent,function(){

varsb=Ext.getCmp('word-status');

sb.showBusy('在线保存中……');

Ext.defer(function(){

sb.setStatus({

iconCls:

'x-status-saved',

text:

'文本自动保存于'+Ext.Date.format(newDate(),'g:

i:

sA')

});

},4000);

},null,{buffer:

2000});

//Setupoureventforupdatingtheword/charcount

Ext.getCmp('word-textarea').on(myevent,function(comp){

varv=comp.getValue(),

cc=v.length?

v.length:

0;

charCount.update('Chars:

'+cc);

},null,{buffer:

1});

});

独立的css文件:

/*StatusBar-structure*/

.x-statusbar.x-status-text{

cursor:

default;

/*

height:

21px;

line-height:

21px;

padding:

04px;

*/

}

.x-statusbar.x-status-busy{

padding-left:

25px!

important;

background:

transparentno-repeat3px0;

}

.x-toolbardiv.xtb-text

.x-statusbar.x-status-text-panel{

border-top:

1pxsolid;

border-right:

1pxsolid;

border-bottom:

1pxsolid;

border-left:

1pxsolid;

padding:

2px8px2px5px;

}

/*StatusBarwordprocessorexamplestyles*/

#word-status.x-status-text-panel.spacer{

width:

60px;

font-size:

0;

line-height:

0;

}

#word-status.x-status-busy{

padding-left:

25px!

important;

background:

transparentno-repeat3px0;

}

#word-status.x-status-saved{

padding-left:

25px!

important;

background:

transparentno-repeat3px0;

}

/*StatusBarformvalidationexamplestyles*/

.x-statusbar.x-status-error{

cursor:

pointer;

padding-left:

25px!

important;

background:

transparentno-repeat3px0;

}

.x-statusbar.x-status-valid{

padding-left:

25px!

important;

background:

transparentno-repeat3px0;

}

.x-status-error-list{

font:

11pxtahoma,arial,verdana,sans-serif;

position:

absolute;

z-index:

9999;

border-top:

1pxsolid;

border-right:

1pxsolid;

border-bottom:

1pxsolid;

border-left:

1pxsolid;

padding:

5px10px;

}

.x-status-error-listli{

cursor:

pointer;

list-style:

disc;

margin-left:

10px;

}

.x-status-error-listlia{

text-decoration:

none;

}

.x-status-error-listlia:

hover{

text-decoration:

underline;

}

 

/*************************************************************/

/*************************************************************/

/*************************************************************/

 

/*StatusBar-visual*/

.x-statusbar.x-status-busy{

background-image:

url(../picture/status/loading.gif);

}

.x-statusbar.x-status-text-panel{

border-color:

#99bbe8#fff#fff#99bbe8;

}

/*StatusBarwordprocessorexamplestyles*/

#word-status.x-status-text{

color:

#777;

}

#word-status.x-status-busy{

background-image:

url(../picture/status/saving.gif);

}

#word-status.x-status-saved{

background-image:

url(../picture/status/saved.png);

}

/*StatusBarformvalidationexamplestyles*/

.x-statusbar.x-status-error{

color:

#C33;

background-image:

url(../picture/status/exclamation.gif);

}

.x-statusbar.x-status-valid{

background-image:

url(../picture/status/accept.png);

}

.x-status-error-list{

border-color:

#C33;

background:

white;

}

.x-status-error-listlia{

color:

#15428B;

}

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
Extjs 状态栏 巧妙 使用
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:Extjs中状态栏里的巧妙使用.docx
链接地址:https://www.bdocx.com/doc/23178149.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开