?? dialog.js
字號:
DataModel:{
$border:0,
tips:null,
border:null,
disabled:null,
dock:{
hidden:true
},
html:{
action:function(v){
this.getSubNode('PANEL').html(v);
}
},
// setCaption and getCaption
caption:{
ini:undefined,
// ui update function when setCaption
action: function(value){
this.getSubNode('CAPTION').get(0).innerHTML = value;
}
},
image:{
action: function(value){
this.getSubNode('ICON')
.css('display',value?'':'none')
.css('backgroundImage','url('+(value||'')+')');
}
},
imagePos:{
action: function(value){
this.getSubNode('ICON')
.css('backgroundPosition', value);
}
},
// setCaption and getCaption
shadow: true,
resizer:true,
movable: true ,
minBtn:{
ini:true,
action:function(v){
var o = this.getSubNode('MIN');
if(v)
o.setInlineBlock();
else
o.css('display','none');
}
},
maxBtn:{
ini:true,
action:function(v){
var o = this.getSubNode('MAX');
if(v)
o.setInlineBlock();
else
o.css('display','none');
}
},
optBtn:{
ini:false,
action:function(v){
this.getSubNode('OPT').css('display',v?'':'none');
}
},
closeBtn:{
ini:true,
action:function(v){
var o = this.getSubNode('CLOSE');
if(v)
o.setInlineBlock();
else
o.css('display','none');
}
},
pinBtn:{
ini:true,
action:function(v){
var o = this.getSubNode('PIN');
if(v)
o.setInlineBlock();
else
o.css('display','none');
}
},
landBtn:{
ini:false,
action:function(v){
var o = this.getSubNode('LAND');
if(v)
o.setInlineBlock();
else
o.css('display','none');
}
},
width:300,
height:300,
minWidth : 200,
minHeight : 100,
_barHeight: 22,
position:'absolute',
fromRegion:{
hidden:true,
ini:null
},
status:{
ini:'normal',
listbox:['normal','min','max'],
action:function(v,o){
var self=this, b=self.box;
if(v=='min')b._min(self,o);
else if(v=='max')b._max(self,o);
else b._restore(self,o);
}
}
},
EventHandlers:{
onShow:function(profile){},
beforeClose:function(profile){},
onShowOptions:function(profile, e, src){}
},
RenderTrigger:function(){
this.destroyTrigger = function(){
var s=this;
if(s.$inModal)s.box._unModal(s);
};
},
LayoutTrigger:function(){
var self=this, t=self.properties, b=self.box;
if(t.status=='min') b._min(self);
else if(t.status=='max') b._max(self);
else linb.UI.$tryResize(self, t.width, t.height);
},
_prepareData:function(profile){
var data = arguments.callee.upper.call(this, profile),
nodisplay='display:none';
data.minDisplay = data.minBtn?'':nodisplay;
data.maxDisplay = data.maxBtn?'':nodisplay;
data.optDisplay = data.optBtn?'':nodisplay;
data.closeDisplay = data.closeBtn?'':nodisplay;
data.pinDisplay = data.pinBtn?'':nodisplay;
data.landDisplay = data.landBtn?'':nodisplay;
var status=profile.properties.status;
if(status=='min'||status=='max')
profile.$noR=profile.$noS=1;
return data;
},
//ov from design mode
_min:function(profile){
var o=profile.root,
box=profile.box,
p=o.parent(),
t=profile.properties;
// unMax
if(t.status=='max')
box._unMax(profile);
// keep restore values
else
box._refreshRegion(profile);
// hide those
profile.getSubNodes(['PANEL','STATUS']).css('display','none');
if(t.minBtn){
// show restore button
profile.getSubNode('RESTORE').setInlineBlock();
// hide min button
profile.getSubNode('MIN').css('display','none');
}
// lockResize function
if(t.resizer && profile.$resizer)
profile.$resizer.hide();
if(t.shadow)
profile.boxing()._unShadow(false);
//set it before resize
t.status='min';
var h1=o.height(),
h2=profile.getSubNode('BORDER').height(),
h=profile.getSubNode('BAR').height();
// resize
o.cssSize({ width :t.minWidth, height :h+h1-h2},true);
},
_max:function(profile){
var o=profile.root,
box=profile.box,
ins=profile.boxing(),
p=o.parent(),
t=profile.properties;
// if from normal status
if((t.status)=='min')
//unset min
box._unMin(profile);
else
box._refreshRegion(profile);
// hide pin button
if(t.pinBtn)
profile.getSubNode('PIN').css('display','none');
if(t.maxBtn){
// hide max button
profile.getSubNode('MAX').css('display','none');
// show restore button
profile.getSubNode('RESTORE').setInlineBlock();
}
// set not movable
profile.old_m = t.movable;
t.movable=false;
if(t.resizer && profile.$resizer)
profile.$resizer.hide();
if(t.shadow)
//ins.setShadow(false);
ins._unShadow(false);
t.status='max';
ins.setDock('fill');
},
_restore:function(profile){
var o=profile.root,
box=profile.box,
t=profile.properties;
// if from max
if(t.status=='max')box._unMax(profile);
if(t.status=='min')box._unMin(profile);
// hide restore button
profile.getSubNode('RESTORE').css('display','none');
t.status='normal';
},
_unMax:function(profile){
var t=profile.properties,
ins=profile.boxing();
profile.getSubNode('MAX').setInlineBlock();
if(t.pinBtn)
profile.getSubNode('PIN').setInlineBlock();
t.movable=profile.old_m;
if(t.shadow)
ins._shadow();
if(t.resizer && !t.pinned && profile.$resizer)
profile.$resizer.show();
ins.setDock('none');
// resize
linb.UI.$tryResize(profile, t.width, t.height);
},
_unMin:function(profile){
var t=profile.properties;
profile.getSubNodes(['PANEL','STATUS']).css('display','block');
profile.getSubNode('MIN').setInlineBlock();
if(t.shadow)
profile.boxing()._shadow();
if(t.resizer && !t.pinned &&profile.$resizer)
profile.$resizer.show();
profile.root.cssSize({width:t.width, height:t.height});
// resize
linb.UI.$tryResize(profile, t.width, t.height);
},
_active:function(profile){
var self=this;
if(self.activeWndId == profile.$id)return;
self._deActive();
var o=linb(profile.domId),
//in ie, .children can't get the same thread added node(modal div, here)
t1=o.topZindex(),
t2=o.css('zIndex');
o.css('zIndex',t1>t2?t1:t2);
profile.getSubNode('BAR').tagClass('-focus');
self.activeWndId = profile.$id;
},
_deActive:function(){
var profile;
if(profile=linb.UI._cache['$'+this.activeWndId])
profile.getSubNode('BAR').tagClass('-focus',false);
delete this.activeWndId;
},
_modal:function(profile){
var s=profile.root,temp,p=s.parent(),cover;
if(!p.isEmpty()){
if(!profile.$inModal){
if(!profile.$modalDiv)
profile.$modalDiv=new linb.UI.Div({
position:'absolute'
}).setCustomStyle({
KEY:'overflow:hidden;display:block;z-index:0;cursor:wait;background-image:url('+linb.ini.path+'bg.gif)'
});
cover = profile.$modalDiv;
p.append(cover);
cover.setDock('cover',true);
cover=cover.reBoxing();
cover.css('display','block').onMousedown(function(){return false}).topZindex(true);
s.css('zIndex',(parseInt(cover.css('zIndex'))||0)+1);
//bak dlg tabzindnex
var hash={},a=profile.root.query('*',function(o){return o.tabIndex>0}).get();
for(var i=0,o;o=a[i++];){
(hash[o.tabIndex] = hash[o.tabIndex]||[]).push(o);
o.tabIndex=-1;
}
//save others tabzindex
var h = profile.$focusHash={}, b=linb('body').query('*',function(o){return o.tabIndex>0}).get();
for(var i=0,o;o=b[i++];){
(h[o.tabIndex] = h[o.tabIndex]||[]).push(o);
o.tabIndex=-1;
}
//restore dlg tabzindnex
for(var i in hash){
h=hash[i];
for(var j in h)
h[j].tabIndex=i;
}
linb.Event.pushTabOutTrigger(profile.domNode, function(){linb([profile.domNode]).nextFocus()});
profile.$inModal=true;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -