@ -5,7 +5,7 @@
* /
* /
BI . PopupView = BI . inherit ( BI . Widget , {
BI . PopupView = BI . inherit ( BI . Widget , {
_const : {
_const : {
TRIANGLE _LENGTH : 12
TRIANGLE _LENGTH : 12 ,
} ,
} ,
_defaultConfig : function ( props ) {
_defaultConfig : function ( props ) {
return BI . extend ( BI . PopupView . superclass . _defaultConfig . apply ( this , arguments ) , {
return BI . extend ( BI . PopupView . superclass . _defaultConfig . apply ( this , arguments ) , {
@ -29,7 +29,7 @@ BI.PopupView = BI.inherit(BI.Widget, {
stopEvent : false , // 是否停止mousedown、mouseup事件
stopEvent : false , // 是否停止mousedown、mouseup事件
stopPropagation : false , // 是否停止mousedown、mouseup向上冒泡
stopPropagation : false , // 是否停止mousedown、mouseup向上冒泡
logic : {
logic : {
dynamic : true
dynamic : true ,
} ,
} ,
tool : false , // 自定义工具栏
tool : false , // 自定义工具栏
@ -42,9 +42,9 @@ BI.PopupView = BI.inherit(BI.Widget, {
chooseType : 0 ,
chooseType : 0 ,
behaviors : { } ,
behaviors : { } ,
layouts : [ {
layouts : [ {
type : "bi.vertical"
type : "bi.vertical" ,
} ]
} ] ,
}
} ,
} ) ;
} ) ;
} ,
} ,
@ -61,7 +61,7 @@ BI.PopupView = BI.inherit(BI.Widget, {
this . element . css ( {
this . element . css ( {
"z-index" : BI . zIndex _popup ,
"z-index" : BI . zIndex _popup ,
"min-width" : BI . isNumeric ( o . minWidth ) ? ( o . minWidth / BI . pixRatio + BI . pixUnit ) : o . minWidth ,
"min-width" : BI . isNumeric ( o . minWidth ) ? ( o . minWidth / BI . pixRatio + BI . pixUnit ) : o . minWidth ,
"max-width" : BI . isNumeric ( o . maxWidth ) ? ( o . maxWidth / BI . pixRatio + BI . pixUnit ) : o . maxWidth
"max-width" : BI . isNumeric ( o . maxWidth ) ? ( o . maxWidth / BI . pixRatio + BI . pixUnit ) : o . maxWidth ,
} ) . bind ( { click : fn } ) ;
} ) . bind ( { click : fn } ) ;
this . element . bind ( "mousewheel" , fn ) ;
this . element . bind ( "mousewheel" , fn ) ;
@ -81,7 +81,7 @@ BI.PopupView = BI.inherit(BI.Widget, {
} ) ;
} ) ;
BI . createWidget ( BI . extend ( {
BI . createWidget ( BI . extend ( {
element : this
element : this ,
} , BI . LogicFactory . createLogic ( BI . LogicFactory . createLogicTypeByDirection ( o . direction ) , BI . extend ( { } , o . logic , {
} , BI . LogicFactory . createLogic ( BI . LogicFactory . createLogicTypeByDirection ( o . direction ) , BI . extend ( { } , o . logic , {
scrolly : false ,
scrolly : false ,
lgap : o . lgap ,
lgap : o . lgap ,
@ -91,11 +91,11 @@ BI.PopupView = BI.inherit(BI.Widget, {
vgap : o . vgap ,
vgap : o . vgap ,
hgap : o . hgap ,
hgap : o . hgap ,
items : BI . LogicFactory . createLogicItemsByDirection ( o . direction , BI . extend ( {
items : BI . LogicFactory . createLogicItemsByDirection ( o . direction , BI . extend ( {
cls : "list-view-outer bi-card list-view-shadow" + ( o . primary ? " bi-primary" : "" )
cls : "list-view-outer bi-card list-view-shadow" + ( o . primary ? " bi-primary" : "" ) ,
} , BI . LogicFactory . createLogic ( BI . LogicFactory . createLogicTypeByDirection ( o . direction ) , BI . extend ( { } , o . logic , {
} , BI . LogicFactory . createLogic ( BI . LogicFactory . createLogicTypeByDirection ( o . direction ) , BI . extend ( { } , o . logic , {
items : BI . LogicFactory . createLogicItemsByDirection ( o . direction , this . tool , this . tab , this . view , this . toolbar )
items : BI . LogicFactory . createLogicItemsByDirection ( o . direction , this . tool , this . tab , this . view , this . toolbar ) ,
} ) ) )
} ) ) )
)
) ,
} ) ) ) ) ;
} ) ) ) ) ;
if ( o . showArrow ) {
if ( o . showArrow ) {
this . arrow = BI . createWidget ( {
this . arrow = BI . createWidget ( {
@ -103,19 +103,19 @@ BI.PopupView = BI.inherit(BI.Widget, {
cls : "bi-bubble-arrow" ,
cls : "bi-bubble-arrow" ,
items : [ {
items : [ {
type : "bi.layout" ,
type : "bi.layout" ,
cls : "bubble-arrow"
cls : "bubble-arrow" ,
} ]
} ] ,
} ) ;
} ) ;
this . arrowWrapper = BI . createWidget ( {
this . arrowWrapper = BI . createWidget ( {
type : "bi.absolute" ,
type : "bi.absolute" ,
cls : "bi-bubble-arrow-wrapper" ,
cls : "bi-bubble-arrow-wrapper" ,
items : [ {
items : [ {
el : this . arrow
el : this . arrow ,
} ]
} ] ,
} ) ;
} ) ;
// 因为三角符号的原因位置变大了,需要占位
// 因为三角符号的原因位置变大了,需要占位
this . placeholder = BI . createWidget ( {
this . placeholder = BI . createWidget ( {
type : "bi.layout"
type : "bi.layout" ,
} ) ;
} ) ;
BI . createWidget ( {
BI . createWidget ( {
type : "bi.absolute" ,
type : "bi.absolute" ,
@ -123,10 +123,10 @@ BI.PopupView = BI.inherit(BI.Widget, {
items : [ {
items : [ {
el : this . arrowWrapper ,
el : this . arrowWrapper ,
left : 0 ,
left : 0 ,
top : 0
top : 0 ,
} , {
} , {
el : this . placeholder
el : this . placeholder ,
} ]
} ] ,
} ) ;
} ) ;
}
}
} ,
} ,
@ -139,7 +139,7 @@ BI.PopupView = BI.inherit(BI.Widget, {
"padding-top" : o . innerVgap / BI . pixRatio + BI . pixUnit ,
"padding-top" : o . innerVgap / BI . pixRatio + BI . pixUnit ,
"padding-bottom" : o . innerVgap / BI . pixRatio + BI . pixUnit ,
"padding-bottom" : o . innerVgap / BI . pixRatio + BI . pixUnit ,
"padding-left" : o . innerHgap / BI . pixRatio + BI . pixUnit ,
"padding-left" : o . innerHgap / BI . pixRatio + BI . pixUnit ,
"padding-right" : o . innerHgap / BI . pixRatio + BI . pixUnit
"padding-right" : o . innerHgap / BI . pixRatio + BI . pixUnit ,
} ) ;
} ) ;
return this . button _group ;
return this . button _group ;
@ -165,7 +165,7 @@ BI.PopupView = BI.inherit(BI.Widget, {
cls : "list-view-tab" ,
cls : "list-view-tab" ,
height : 25 ,
height : 25 ,
items : o . tabs ,
items : o . tabs ,
value : o . value
value : o . value ,
} ) ;
} ) ;
} ,
} ,
@ -182,8 +182,8 @@ BI.PopupView = BI.inherit(BI.Widget, {
items : BI . createItems ( o . buttons , {
items : BI . createItems ( o . buttons , {
once : false ,
once : false ,
shadow : true ,
shadow : true ,
isShadowShowingOnSelected : true
isShadowShowingOnSelected : true ,
} )
} ) ,
} ) ;
} ) ;
} ,
} ,
@ -217,156 +217,156 @@ BI.PopupView = BI.inherit(BI.Widget, {
direction = "bottom" ;
direction = "bottom" ;
style = {
style = {
// 5表示留出一定的空间
// 5表示留出一定的空间
left : BI . clamp ( ( ( middle ? popupWidth : position . width ) - adjustXOffset ) / 2 - 8 , minLeft , maxLeft )
left : BI . clamp ( ( ( middle ? popupWidth : position . width ) - adjustXOffset ) / 2 - 8 , minLeft , maxLeft ) ,
} ;
} ;
wrapperStyle = {
wrapperStyle = {
top : o . tgap + o . vgap ,
top : o . tgap + o . vgap ,
left : 0 ,
left : 0 ,
right : "" ,
right : "" ,
bottom : ""
bottom : "" ,
} ;
} ;
placeholderStyle = {
placeholderStyle = {
left : 0 ,
left : 0 ,
right : 0 ,
right : 0 ,
height : this . _const . TRIANGLE _LENGTH ,
height : this . _const . TRIANGLE _LENGTH ,
top : - this . _const . TRIANGLE _LENGTH ,
top : - this . _const . TRIANGLE _LENGTH ,
bottom : ""
bottom : "" ,
} ;
} ;
break ;
break ;
case "bottom,left" :
case "bottom,left" :
direction = "bottom" ;
direction = "bottom" ;
style = {
style = {
right : BI . clamp ( ( ( middle ? popupWidth : position . width ) + adjustXOffset ) / 2 - 8 , minRight , maxRight )
right : BI . clamp ( ( ( middle ? popupWidth : position . width ) + adjustXOffset ) / 2 - 8 , minRight , maxRight ) ,
} ;
} ;
wrapperStyle = {
wrapperStyle = {
top : o . bgap + o . vgap ,
top : o . bgap + o . vgap ,
left : "" ,
left : "" ,
right : 0 ,
right : 0 ,
bottom : ""
bottom : "" ,
} ;
} ;
placeholderStyle = {
placeholderStyle = {
left : 0 ,
left : 0 ,
right : 0 ,
right : 0 ,
height : this . _const . TRIANGLE _LENGTH ,
height : this . _const . TRIANGLE _LENGTH ,
top : - this . _const . TRIANGLE _LENGTH ,
top : - this . _const . TRIANGLE _LENGTH ,
bottom : ""
bottom : "" ,
} ;
} ;
break ;
break ;
case "top" :
case "top" :
case "top,right" :
case "top,right" :
direction = "top" ;
direction = "top" ;
style = {
style = {
left : BI . clamp ( ( ( middle ? popupWidth : position . width ) - adjustXOffset ) / 2 - 8 , minLeft , maxLeft )
left : BI . clamp ( ( ( middle ? popupWidth : position . width ) - adjustXOffset ) / 2 - 8 , minLeft , maxLeft ) ,
} ;
} ;
wrapperStyle = {
wrapperStyle = {
bottom : o . bgap + o . vgap ,
bottom : o . bgap + o . vgap ,
left : 0 ,
left : 0 ,
right : "" ,
right : "" ,
top : ""
top : "" ,
} ;
} ;
placeholderStyle = {
placeholderStyle = {
left : 0 ,
left : 0 ,
right : 0 ,
right : 0 ,
height : this . _const . TRIANGLE _LENGTH ,
height : this . _const . TRIANGLE _LENGTH ,
top : "" ,
top : "" ,
bottom : - this . _const . TRIANGLE _LENGTH
bottom : - this . _const . TRIANGLE _LENGTH ,
} ;
} ;
break ;
break ;
case "top,left" :
case "top,left" :
direction = "top" ;
direction = "top" ;
style = {
style = {
right : BI . clamp ( ( ( middle ? popupWidth : position . width ) + adjustXOffset ) / 2 - 8 , minRight , maxRight )
right : BI . clamp ( ( ( middle ? popupWidth : position . width ) + adjustXOffset ) / 2 - 8 , minRight , maxRight ) ,
} ;
} ;
wrapperStyle = {
wrapperStyle = {
bottom : o . bgap + o . vgap ,
bottom : o . bgap + o . vgap ,
right : 0 ,
right : 0 ,
left : "" ,
left : "" ,
top : ""
top : "" ,
} ;
} ;
placeholderStyle = {
placeholderStyle = {
left : 0 ,
left : 0 ,
right : 0 ,
right : 0 ,
height : this . _const . TRIANGLE _LENGTH ,
height : this . _const . TRIANGLE _LENGTH ,
top : "" ,
top : "" ,
bottom : - this . _const . TRIANGLE _LENGTH
bottom : - this . _const . TRIANGLE _LENGTH ,
} ;
} ;
break ;
break ;
case "left" :
case "left" :
case "left,bottom" :
case "left,bottom" :
direction = "left" ;
direction = "left" ;
style = {
style = {
top : BI . clamp ( ( ( middle ? popupHeight : position . height ) - adjustYOffset ) / 2 - 8 , minTop , maxTop )
top : BI . clamp ( ( ( middle ? popupHeight : position . height ) - adjustYOffset ) / 2 - 8 , minTop , maxTop ) ,
} ;
} ;
wrapperStyle = {
wrapperStyle = {
right : o . rgap + o . hgap ,
right : o . rgap + o . hgap ,
top : 0 ,
top : 0 ,
bottom : "" ,
bottom : "" ,
left : ""
left : "" ,
} ;
} ;
placeholderStyle = {
placeholderStyle = {
top : 0 ,
top : 0 ,
bottom : 0 ,
bottom : 0 ,
width : this . _const . TRIANGLE _LENGTH ,
width : this . _const . TRIANGLE _LENGTH ,
right : - this . _const . TRIANGLE _LENGTH ,
right : - this . _const . TRIANGLE _LENGTH ,
left : ""
left : "" ,
} ;
} ;
break ;
break ;
case "left,top" :
case "left,top" :
direction = "left" ;
direction = "left" ;
style = {
style = {
bottom : BI . clamp ( ( ( middle ? popupHeight : position . height ) + adjustYOffset ) / 2 - 8 , minBottom , maxBottom )
bottom : BI . clamp ( ( ( middle ? popupHeight : position . height ) + adjustYOffset ) / 2 - 8 , minBottom , maxBottom ) ,
} ;
} ;
wrapperStyle = {
wrapperStyle = {
right : o . rgap + o . hgap ,
right : o . rgap + o . hgap ,
bottom : 0 ,
bottom : 0 ,
top : "" ,
top : "" ,
left : ""
left : "" ,
} ;
} ;
placeholderStyle = {
placeholderStyle = {
top : 0 ,
top : 0 ,
bottom : 0 ,
bottom : 0 ,
width : this . _const . TRIANGLE _LENGTH ,
width : this . _const . TRIANGLE _LENGTH ,
right : - this . _const . TRIANGLE _LENGTH ,
right : - this . _const . TRIANGLE _LENGTH ,
left : ""
left : "" ,
} ;
} ;
break ;
break ;
case "right" :
case "right" :
case "right,bottom" :
case "right,bottom" :
direction = "right" ;
direction = "right" ;
style = {
style = {
top : BI . clamp ( ( ( middle ? popupHeight : position . height ) - adjustYOffset ) / 2 - 8 , minTop , maxTop )
top : BI . clamp ( ( ( middle ? popupHeight : position . height ) - adjustYOffset ) / 2 - 8 , minTop , maxTop ) ,
} ;
} ;
wrapperStyle = {
wrapperStyle = {
left : o . lgap + o . hgap ,
left : o . lgap + o . hgap ,
top : 0 ,
top : 0 ,
bottom : "" ,
bottom : "" ,
right : ""
right : "" ,
} ;
} ;
placeholderStyle = {
placeholderStyle = {
top : 0 ,
top : 0 ,
bottom : 0 ,
bottom : 0 ,
width : this . _const . TRIANGLE _LENGTH ,
width : this . _const . TRIANGLE _LENGTH ,
left : - this . _const . TRIANGLE _LENGTH ,
left : - this . _const . TRIANGLE _LENGTH ,
right : ""
right : "" ,
} ;
} ;
break ;
break ;
case "right,top" :
case "right,top" :
direction = "right" ;
direction = "right" ;
style = {
style = {
bottom : BI . clamp ( ( ( middle ? popupHeight : position . height ) + adjustYOffset ) / 2 - 8 , minBottom , maxBottom )
bottom : BI . clamp ( ( ( middle ? popupHeight : position . height ) + adjustYOffset ) / 2 - 8 , minBottom , maxBottom ) ,
} ;
} ;
wrapperStyle = {
wrapperStyle = {
left : o . lgap + o . hgap ,
left : o . lgap + o . hgap ,
bottom : 0 ,
bottom : 0 ,
top : "" ,
top : "" ,
right : ""
right : "" ,
} ;
} ;
placeholderStyle = {
placeholderStyle = {
top : 0 ,
top : 0 ,
bottom : 0 ,
bottom : 0 ,
width : this . _const . TRIANGLE _LENGTH ,
width : this . _const . TRIANGLE _LENGTH ,
left : - this . _const . TRIANGLE _LENGTH ,
left : - this . _const . TRIANGLE _LENGTH ,
right : ""
right : "" ,
} ;
} ;
break ;
break ;
case "right,innerRight" :
case "right,innerRight" :
@ -421,7 +421,7 @@ BI.PopupView = BI.inherit(BI.Widget, {
getValue : function ( ) {
getValue : function ( ) {
return this . view . getValue ( ) ;
return this . view . getValue ( ) ;
}
} ,
} ) ;
} ) ;
BI . PopupView . EVENT _CHANGE = "EVENT_CHANGE" ;
BI . PopupView . EVENT _CHANGE = "EVENT_CHANGE" ;
BI . shortcut ( "bi.popup_view" , BI . PopupView ) ;
BI . shortcut ( "bi.popup_view" , BI . PopupView ) ;