Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F390523
Dialog.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Subscribers
None
Dialog.js
View Options
/*
Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if
(
!
dojo
.
_hasResource
[
"dijit.Dialog"
]){
dojo
.
_hasResource
[
"dijit.Dialog"
]
=
true
;
dojo
.
provide
(
"dijit.Dialog"
);
dojo
.
require
(
"dojo.dnd.move"
);
dojo
.
require
(
"dojo.dnd.TimedMoveable"
);
dojo
.
require
(
"dojo.fx"
);
dojo
.
require
(
"dijit._Widget"
);
dojo
.
require
(
"dijit._Templated"
);
dojo
.
require
(
"dijit.form._FormMixin"
);
dojo
.
require
(
"dijit._DialogMixin"
);
dojo
.
require
(
"dijit.DialogUnderlay"
);
dojo
.
require
(
"dijit.layout.ContentPane"
);
dojo
.
requireLocalization
(
"dijit"
,
"common"
,
null
,
"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ru,sk,sl,sv,th,tr,zh,zh-tw"
);
dojo
.
declare
(
"dijit._DialogBase"
,[
dijit
.
_Templated
,
dijit
.
form
.
_FormMixin
,
dijit
.
_DialogMixin
],{
templateString
:
dojo
.
cache
(
"dijit"
,
"templates/Dialog.html"
,
"<div class=\"dijitDialog\" tabindex=\"-1\" waiRole=\"dialog\" waiState=\"labelledby-${id}_title\">\n\t<div dojoAttachPoint=\"titleBar\" class=\"dijitDialogTitleBar\">\n\t<span dojoAttachPoint=\"titleNode\" class=\"dijitDialogTitle\" id=\"${id}_title\"></span>\n\t<span dojoAttachPoint=\"closeButtonNode\" class=\"dijitDialogCloseIcon\" dojoAttachEvent=\"onclick: onCancel, onmouseenter: _onCloseEnter, onmouseleave: _onCloseLeave\" title=\"${buttonCancel}\">\n\t\t<span dojoAttachPoint=\"closeText\" class=\"closeText\" title=\"${buttonCancel}\">x</span>\n\t</span>\n\t</div>\n\t\t<div dojoAttachPoint=\"containerNode\" class=\"dijitDialogPaneContent\"></div>\n</div>\n"
),
attributeMap
:
dojo
.
delegate
(
dijit
.
_Widget
.
prototype
.
attributeMap
,{
title
:
[{
node
:
"titleNode"
,
type
:
"innerHTML"
},{
node
:
"titleBar"
,
type
:
"attribute"
}],
"aria-describedby"
:
""
}),
open
:
false
,
duration
:
dijit
.
defaultDuration
,
refocus
:
true
,
autofocus
:
true
,
_firstFocusItem
:
null
,
_lastFocusItem
:
null
,
doLayout
:
false
,
draggable
:
true
,
"aria-describedby"
:
""
,
postMixInProperties
:
function
(){
var
_1
=
dojo
.
i18n
.
getLocalization
(
"dijit"
,
"common"
);
dojo
.
mixin
(
this
,
_1
);
this
.
inherited
(
arguments
);
},
postCreate
:
function
(){
dojo
.
style
(
this
.
domNode
,{
display
:
"none"
,
position
:
"absolute"
});
dojo
.
body
().
appendChild
(
this
.
domNode
);
this
.
inherited
(
arguments
);
this
.
connect
(
this
,
"onExecute"
,
"hide"
);
this
.
connect
(
this
,
"onCancel"
,
"hide"
);
this
.
_modalconnects
=
[];
},
onLoad
:
function
(){
this
.
_position
();
this
.
inherited
(
arguments
);
},
_endDrag
:
function
(
e
){
if
(
e
&&
e
.
node
&&
e
.
node
===
this
.
domNode
){
this
.
_relativePosition
=
dojo
.
position
(
e
.
node
);
}
},
_setup
:
function
(){
var
_2
=
this
.
domNode
;
if
(
this
.
titleBar
&&
this
.
draggable
){
this
.
_moveable
=
(
dojo
.
isIE
==
6
)
?
new
dojo
.
dnd
.
TimedMoveable
(
_2
,{
handle
:
this
.
titleBar
})
:
new
dojo
.
dnd
.
Moveable
(
_2
,{
handle
:
this
.
titleBar
,
timeout
:
0
});
dojo
.
subscribe
(
"/dnd/move/stop"
,
this
,
"_endDrag"
);
}
else
{
dojo
.
addClass
(
_2
,
"dijitDialogFixed"
);
}
this
.
underlayAttrs
=
{
dialogId
:
this
.
id
,
"class"
:
dojo
.
map
(
this
[
"class"
].
split
(
/\s/
),
function
(
s
){
return
s
+
"_underlay"
;
}).
join
(
" "
)};
this
.
_fadeIn
=
dojo
.
fadeIn
({
node
:
_2
,
duration
:
this
.
duration
,
beforeBegin
:
dojo
.
hitch
(
this
,
function
(){
var
_3
=
dijit
.
_underlay
;
if
(
!
_3
){
_3
=
dijit
.
_underlay
=
new
dijit
.
DialogUnderlay
(
this
.
underlayAttrs
);
}
else
{
_3
.
attr
(
this
.
underlayAttrs
);
}
var
_4
=
948
+
dijit
.
_dialogStack
.
length
*
2
;
dojo
.
style
(
dijit
.
_underlay
.
domNode
,
"zIndex"
,
_4
);
dojo
.
style
(
this
.
domNode
,
"zIndex"
,
_4
+
1
);
_3
.
show
();
}),
onEnd
:
dojo
.
hitch
(
this
,
function
(){
if
(
this
.
autofocus
){
this
.
_getFocusItems
(
this
.
domNode
);
dijit
.
focus
(
this
.
_firstFocusItem
);
}
})});
this
.
_fadeOut
=
dojo
.
fadeOut
({
node
:
_2
,
duration
:
this
.
duration
,
onEnd
:
dojo
.
hitch
(
this
,
function
(){
_2
.
style
.
display
=
"none"
;
var
ds
=
dijit
.
_dialogStack
;
if
(
ds
.
length
==
0
){
dijit
.
_underlay
.
hide
();
}
else
{
dojo
.
style
(
dijit
.
_underlay
.
domNode
,
"zIndex"
,
948
+
ds
.
length
*
2
);
dijit
.
_underlay
.
attr
(
ds
[
ds
.
length
-
1
].
underlayAttrs
);
}
if
(
this
.
refocus
){
var
_5
=
this
.
_savedFocus
;
if
(
ds
.
length
>
0
){
var
pd
=
ds
[
ds
.
length
-
1
];
if
(
!
dojo
.
isDescendant
(
_5
.
node
,
pd
.
domNode
)){
pd
.
_getFocusItems
(
pd
.
domNode
);
_5
=
pd
.
_firstFocusItem
;
}
}
dijit
.
focus
(
_5
);
}
})});
},
uninitialize
:
function
(){
var
_6
=
false
;
if
(
this
.
_fadeIn
&&
this
.
_fadeIn
.
status
()
==
"playing"
){
_6
=
true
;
this
.
_fadeIn
.
stop
();
}
if
(
this
.
_fadeOut
&&
this
.
_fadeOut
.
status
()
==
"playing"
){
_6
=
true
;
this
.
_fadeOut
.
stop
();
}
if
((
this
.
open
||
_6
)
&&!
dijit
.
_underlay
.
_destroyed
){
dijit
.
_underlay
.
hide
();
}
if
(
this
.
_moveable
){
this
.
_moveable
.
destroy
();
}
this
.
inherited
(
arguments
);
},
_size
:
function
(){
this
.
_checkIfSingleChild
();
if
(
this
.
_singleChild
){
if
(
this
.
_singleChildOriginalStyle
){
this
.
_singleChild
.
domNode
.
style
.
cssText
=
this
.
_singleChildOriginalStyle
;
}
delete
this
.
_singleChildOriginalStyle
;
}
else
{
dojo
.
style
(
this
.
containerNode
,{
width
:
"auto"
,
height
:
"auto"
});
}
var
mb
=
dojo
.
marginBox
(
this
.
domNode
);
var
_7
=
dijit
.
getViewport
();
if
(
mb
.
w
>=
_7
.
w
||
mb
.
h
>=
_7
.
h
){
var
w
=
Math
.
min
(
mb
.
w
,
Math
.
floor
(
_7
.
w
*
0.75
)),
h
=
Math
.
min
(
mb
.
h
,
Math
.
floor
(
_7
.
h
*
0.75
));
if
(
this
.
_singleChild
&&
this
.
_singleChild
.
resize
){
this
.
_singleChildOriginalStyle
=
this
.
_singleChild
.
domNode
.
style
.
cssText
;
this
.
_singleChild
.
resize
({
w
:
w
,
h
:
h
});
}
else
{
dojo
.
style
(
this
.
containerNode
,{
width
:
w
+
"px"
,
height
:
h
+
"px"
,
overflow
:
"auto"
,
position
:
"relative"
});
}
}
else
{
if
(
this
.
_singleChild
&&
this
.
_singleChild
.
resize
){
this
.
_singleChild
.
resize
();
}
}
},
_position
:
function
(){
if
(
!
dojo
.
hasClass
(
dojo
.
body
(),
"dojoMove"
)){
var
_8
=
this
.
domNode
,
_9
=
dijit
.
getViewport
(),
p
=
this
.
_relativePosition
,
bb
=
p
?
null
:
dojo
.
_getBorderBox
(
_8
),
l
=
Math
.
floor
(
_9
.
l
+
(
p
?
p
.
x
:
(
_9
.
w
-
bb
.
w
)
/
2
)),
t
=
Math
.
floor
(
_9
.
t
+
(
p
?
p
.
y
:
(
_9
.
h
-
bb
.
h
)
/
2
));
dojo
.
style
(
_8
,{
left
:
l
+
"px"
,
top
:
t
+
"px"
});
}
},
_onKey
:
function
(
_a
){
var
ds
=
dijit
.
_dialogStack
;
if
(
ds
[
ds
.
length
-
1
]
!=
this
){
return
;
}
if
(
_a
.
charOrCode
){
var
dk
=
dojo
.
keys
;
var
_b
=
_a
.
target
;
if
(
_a
.
charOrCode
===
dk
.
TAB
){
this
.
_getFocusItems
(
this
.
domNode
);
}
var
_c
=
(
this
.
_firstFocusItem
==
this
.
_lastFocusItem
);
if
(
_b
==
this
.
_firstFocusItem
&&
_a
.
shiftKey
&&
_a
.
charOrCode
===
dk
.
TAB
){
if
(
!
_c
){
dijit
.
focus
(
this
.
_lastFocusItem
);
}
dojo
.
stopEvent
(
_a
);
}
else
{
if
(
_b
==
this
.
_lastFocusItem
&&
_a
.
charOrCode
===
dk
.
TAB
&&!
_a
.
shiftKey
){
if
(
!
_c
){
dijit
.
focus
(
this
.
_firstFocusItem
);
}
dojo
.
stopEvent
(
_a
);
}
else
{
while
(
_b
){
if
(
_b
==
this
.
domNode
||
dojo
.
hasClass
(
_b
,
"dijitPopup"
)){
if
(
_a
.
charOrCode
==
dk
.
ESCAPE
){
this
.
onCancel
();
}
else
{
return
;
}
}
_b
=
_b
.
parentNode
;
}
if
(
_a
.
charOrCode
!==
dk
.
TAB
){
dojo
.
stopEvent
(
_a
);
}
else
{
if
(
!
dojo
.
isOpera
){
try
{
this
.
_firstFocusItem
.
focus
();
}
catch
(
e
){
}
}
}
}
}
}
},
show
:
function
(){
if
(
this
.
open
){
return
;
}
if
(
!
this
.
_alreadyInitialized
){
this
.
_setup
();
this
.
_alreadyInitialized
=
true
;
}
if
(
this
.
_fadeOut
.
status
()
==
"playing"
){
this
.
_fadeOut
.
stop
();
}
this
.
_modalconnects
.
push
(
dojo
.
connect
(
window
,
"onscroll"
,
this
,
"layout"
));
this
.
_modalconnects
.
push
(
dojo
.
connect
(
window
,
"onresize"
,
this
,
function
(){
var
_d
=
dijit
.
getViewport
();
if
(
!
this
.
_oldViewport
||
_d
.
h
!=
this
.
_oldViewport
.
h
||
_d
.
w
!=
this
.
_oldViewport
.
w
){
this
.
layout
();
this
.
_oldViewport
=
_d
;
}
}));
this
.
_modalconnects
.
push
(
dojo
.
connect
(
dojo
.
doc
.
documentElement
,
"onkeypress"
,
this
,
"_onKey"
));
dojo
.
style
(
this
.
domNode
,{
opacity
:
0
,
display
:
""
});
this
.
open
=
true
;
this
.
_onShow
();
this
.
_size
();
this
.
_position
();
dijit
.
_dialogStack
.
push
(
this
);
this
.
_fadeIn
.
play
();
this
.
_savedFocus
=
dijit
.
getFocus
(
this
);
},
hide
:
function
(){
var
ds
=
dijit
.
_dialogStack
;
if
(
!
this
.
_alreadyInitialized
||
this
!=
ds
[
ds
.
length
-
1
]){
return
;
}
if
(
this
.
_fadeIn
.
status
()
==
"playing"
){
this
.
_fadeIn
.
stop
();
}
ds
.
pop
();
this
.
_fadeOut
.
play
();
if
(
this
.
_scrollConnected
){
this
.
_scrollConnected
=
false
;
}
dojo
.
forEach
(
this
.
_modalconnects
,
dojo
.
disconnect
);
this
.
_modalconnects
=
[];
if
(
this
.
_relativePosition
){
delete
this
.
_relativePosition
;
}
this
.
open
=
false
;
this
.
onHide
();
},
layout
:
function
(){
if
(
this
.
domNode
.
style
.
display
!=
"none"
){
if
(
dijit
.
_underlay
){
dijit
.
_underlay
.
layout
();
}
this
.
_position
();
}
},
destroy
:
function
(){
dojo
.
forEach
(
this
.
_modalconnects
,
dojo
.
disconnect
);
if
(
this
.
refocus
&&
this
.
open
){
setTimeout
(
dojo
.
hitch
(
dijit
,
"focus"
,
this
.
_savedFocus
),
25
);
}
this
.
inherited
(
arguments
);
},
_onCloseEnter
:
function
(){
dojo
.
addClass
(
this
.
closeButtonNode
,
"dijitDialogCloseIcon-hover"
);
},
_onCloseLeave
:
function
(){
dojo
.
removeClass
(
this
.
closeButtonNode
,
"dijitDialogCloseIcon-hover"
);
}});
dojo
.
declare
(
"dijit.Dialog"
,[
dijit
.
layout
.
ContentPane
,
dijit
.
_DialogBase
],{});
dijit
.
_dialogStack
=
[];
dojo
.
require
(
"dijit.TooltipDialog"
);
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Feb 22, 15:27 (7 h, 54 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
22938
Default Alt Text
Dialog.js (7 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment