Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F945776
_View.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
18 KB
Subscribers
None
_View.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
[
"dojox.grid._View"
]){
dojo
.
_hasResource
[
"dojox.grid._View"
]
=
true
;
dojo
.
provide
(
"dojox.grid._View"
);
dojo
.
require
(
"dijit._Widget"
);
dojo
.
require
(
"dijit._Templated"
);
dojo
.
require
(
"dojox.grid._Builder"
);
dojo
.
require
(
"dojox.html.metrics"
);
dojo
.
require
(
"dojox.grid.util"
);
dojo
.
require
(
"dojo.dnd.Source"
);
dojo
.
require
(
"dojo.dnd.Manager"
);
(
function
(){
var
_1
=
function
(
_2
,
_3
){
return
_2
.
style
.
cssText
==
undefined
?
_2
.
getAttribute
(
"style"
)
:
_2
.
style
.
cssText
;
};
dojo
.
declare
(
"dojox.grid._View"
,[
dijit
.
_Widget
,
dijit
.
_Templated
],{
defaultWidth
:
"18em"
,
viewWidth
:
""
,
templateString
:
"<div class=\"dojoxGridView\" wairole=\"presentation\">\n\t<div class=\"dojoxGridHeader\" dojoAttachPoint=\"headerNode\" wairole=\"presentation\">\n\t\t<div dojoAttachPoint=\"headerNodeContainer\" style=\"width:9000em\" wairole=\"presentation\">\n\t\t\t<div dojoAttachPoint=\"headerContentNode\" wairole=\"row\"></div>\n\t\t</div>\n\t</div>\n\t<input type=\"checkbox\" class=\"dojoxGridHiddenFocus\" dojoAttachPoint=\"hiddenFocusNode\" wairole=\"presentation\" />\n\t<input type=\"checkbox\" class=\"dojoxGridHiddenFocus\" wairole=\"presentation\" />\n\t<div class=\"dojoxGridScrollbox\" dojoAttachPoint=\"scrollboxNode\" wairole=\"presentation\">\n\t\t<div class=\"dojoxGridContent\" dojoAttachPoint=\"contentNode\" hidefocus=\"hidefocus\" wairole=\"presentation\"></div>\n\t</div>\n</div>\n"
,
themeable
:
false
,
classTag
:
"dojoxGrid"
,
marginBottom
:
0
,
rowPad
:
2
,
_togglingColumn
:-
1
,
_headerBuilderClass
:
dojox
.
grid
.
_HeaderBuilder
,
_contentBuilderClass
:
dojox
.
grid
.
_ContentBuilder
,
postMixInProperties
:
function
(){
this
.
rowNodes
=
{};
},
postCreate
:
function
(){
this
.
connect
(
this
.
scrollboxNode
,
"onscroll"
,
"doscroll"
);
dojox
.
grid
.
util
.
funnelEvents
(
this
.
contentNode
,
this
,
"doContentEvent"
,[
"mouseover"
,
"mouseout"
,
"click"
,
"dblclick"
,
"contextmenu"
,
"mousedown"
]);
dojox
.
grid
.
util
.
funnelEvents
(
this
.
headerNode
,
this
,
"doHeaderEvent"
,[
"dblclick"
,
"mouseover"
,
"mouseout"
,
"mousemove"
,
"mousedown"
,
"click"
,
"contextmenu"
]);
this
.
content
=
new
this
.
_contentBuilderClass
(
this
);
this
.
header
=
new
this
.
_headerBuilderClass
(
this
);
if
(
!
dojo
.
_isBodyLtr
()){
this
.
headerNodeContainer
.
style
.
width
=
""
;
}
},
destroy
:
function
(){
dojo
.
destroy
(
this
.
headerNode
);
delete
this
.
headerNode
;
for
(
var
i
in
this
.
rowNodes
){
dojo
.
destroy
(
this
.
rowNodes
[
i
]);
}
this
.
rowNodes
=
{};
if
(
this
.
source
){
this
.
source
.
destroy
();
}
this
.
inherited
(
arguments
);
},
focus
:
function
(){
if
(
dojo
.
isIE
||
dojo
.
isWebKit
||
dojo
.
isOpera
){
this
.
hiddenFocusNode
.
focus
();
}
else
{
this
.
scrollboxNode
.
focus
();
}
},
setStructure
:
function
(
_4
){
var
vs
=
(
this
.
structure
=
_4
);
if
(
vs
.
width
&&!
isNaN
(
vs
.
width
)){
this
.
viewWidth
=
vs
.
width
+
"em"
;
}
else
{
this
.
viewWidth
=
vs
.
width
||
(
vs
.
noscroll
?
"auto"
:
this
.
viewWidth
);
}
this
.
_onBeforeRow
=
vs
.
onBeforeRow
||
function
(){
};
this
.
_onAfterRow
=
vs
.
onAfterRow
||
function
(){
};
this
.
noscroll
=
vs
.
noscroll
;
if
(
this
.
noscroll
){
this
.
scrollboxNode
.
style
.
overflow
=
"hidden"
;
}
this
.
simpleStructure
=
Boolean
(
vs
.
cells
.
length
==
1
);
this
.
testFlexCells
();
this
.
updateStructure
();
},
_cleanupRowWidgets
:
function
(
_5
){
if
(
_5
){
dojo
.
forEach
(
dojo
.
query
(
"[widgetId]"
,
_5
).
map
(
dijit
.
byNode
),
function
(
w
){
if
(
w
.
_destroyOnRemove
){
w
.
destroy
();
delete
w
;
}
else
{
if
(
w
.
domNode
&&
w
.
domNode
.
parentNode
){
w
.
domNode
.
parentNode
.
removeChild
(
w
.
domNode
);
}
}
});
}
},
onBeforeRow
:
function
(
_6
,
_7
){
this
.
_onBeforeRow
(
_6
,
_7
);
if
(
_6
>=
0
){
this
.
_cleanupRowWidgets
(
this
.
getRowNode
(
_6
));
}
},
onAfterRow
:
function
(
_8
,
_9
,
_a
){
this
.
_onAfterRow
(
_8
,
_9
,
_a
);
var
g
=
this
.
grid
;
dojo
.
forEach
(
dojo
.
query
(
".dojoxGridStubNode"
,
_a
),
function
(
n
){
if
(
n
&&
n
.
parentNode
){
var
lw
=
n
.
getAttribute
(
"linkWidget"
);
var
_b
=
window
.
parseInt
(
dojo
.
attr
(
n
,
"cellIdx"
),
10
);
var
_c
=
g
.
getCell
(
_b
);
var
w
=
dijit
.
byId
(
lw
);
if
(
w
){
n
.
parentNode
.
replaceChild
(
w
.
domNode
,
n
);
if
(
!
w
.
_started
){
w
.
startup
();
}
}
else
{
n
.
innerHTML
=
""
;
}
}
},
this
);
},
testFlexCells
:
function
(){
this
.
flexCells
=
false
;
for
(
var
j
=
0
,
_d
;(
_d
=
this
.
structure
.
cells
[
j
]);
j
++
){
for
(
var
i
=
0
,
_e
;(
_e
=
_d
[
i
]);
i
++
){
_e
.
view
=
this
;
this
.
flexCells
=
this
.
flexCells
||
_e
.
isFlex
();
}
}
return
this
.
flexCells
;
},
updateStructure
:
function
(){
this
.
header
.
update
();
this
.
content
.
update
();
},
getScrollbarWidth
:
function
(){
var
_f
=
this
.
hasVScrollbar
();
var
_10
=
dojo
.
style
(
this
.
scrollboxNode
,
"overflow"
);
if
(
this
.
noscroll
||!
_10
||
_10
==
"hidden"
){
_f
=
false
;
}
else
{
if
(
_10
==
"scroll"
){
_f
=
true
;
}
}
return
(
_f
?
dojox
.
html
.
metrics
.
getScrollbar
().
w
:
0
);
},
getColumnsWidth
:
function
(){
var
h
=
this
.
headerContentNode
;
return
h
&&
h
.
firstChild
?
h
.
firstChild
.
offsetWidth
:
0
;
},
setColumnsWidth
:
function
(
_11
){
this
.
headerContentNode
.
firstChild
.
style
.
width
=
_11
+
"px"
;
if
(
this
.
viewWidth
){
this
.
viewWidth
=
_11
+
"px"
;
}
},
getWidth
:
function
(){
return
this
.
viewWidth
||
(
this
.
getColumnsWidth
()
+
this
.
getScrollbarWidth
())
+
"px"
;
},
getContentWidth
:
function
(){
return
Math
.
max
(
0
,
dojo
.
_getContentBox
(
this
.
domNode
).
w
-
this
.
getScrollbarWidth
())
+
"px"
;
},
render
:
function
(){
this
.
scrollboxNode
.
style
.
height
=
""
;
this
.
renderHeader
();
if
(
this
.
_togglingColumn
>=
0
){
this
.
setColumnsWidth
(
this
.
getColumnsWidth
()
-
this
.
_togglingColumn
);
this
.
_togglingColumn
=-
1
;
}
var
_12
=
this
.
grid
.
layout
.
cells
;
var
_13
=
dojo
.
hitch
(
this
,
function
(
_14
,
_15
){
var
inc
=
_15
?-
1
:
1
;
var
idx
=
this
.
header
.
getCellNodeIndex
(
_14
)
+
inc
;
var
_16
=
_12
[
idx
];
while
(
_16
&&
_16
.
getHeaderNode
()
&&
_16
.
getHeaderNode
().
style
.
display
==
"none"
){
idx
+=
inc
;
_16
=
_12
[
idx
];
}
if
(
_16
){
return
_16
.
getHeaderNode
();
}
return
null
;
});
if
(
this
.
grid
.
columnReordering
&&
this
.
simpleStructure
){
if
(
this
.
source
){
this
.
source
.
destroy
();
}
var
_17
=
"dojoxGrid_bottomMarker"
;
var
_18
=
"dojoxGrid_topMarker"
;
if
(
this
.
bottomMarker
){
dojo
.
destroy
(
this
.
bottomMarker
);
}
this
.
bottomMarker
=
dojo
.
byId
(
_17
);
if
(
this
.
topMarker
){
dojo
.
destroy
(
this
.
topMarker
);
}
this
.
topMarker
=
dojo
.
byId
(
_18
);
if
(
!
this
.
bottomMarker
){
this
.
bottomMarker
=
dojo
.
create
(
"div"
,{
"id"
:
_17
,
"class"
:
"dojoxGridColPlaceBottom"
},
dojo
.
body
());
this
.
_hide
(
this
.
bottomMarker
);
this
.
topMarker
=
dojo
.
create
(
"div"
,{
"id"
:
_18
,
"class"
:
"dojoxGridColPlaceTop"
},
dojo
.
body
());
this
.
_hide
(
this
.
topMarker
);
}
this
.
arrowDim
=
dojo
.
contentBox
(
this
.
bottomMarker
);
var
_19
=
dojo
.
contentBox
(
this
.
headerContentNode
.
firstChild
.
rows
[
0
]).
h
;
this
.
source
=
new
dojo
.
dnd
.
Source
(
this
.
headerContentNode
.
firstChild
.
rows
[
0
],{
horizontal
:
true
,
accept
:
[
"gridColumn_"
+
this
.
grid
.
id
],
viewIndex
:
this
.
index
,
generateText
:
false
,
onMouseDown
:
dojo
.
hitch
(
this
,
function
(
e
){
this
.
header
.
decorateEvent
(
e
);
if
((
this
.
header
.
overRightResizeArea
(
e
)
||
this
.
header
.
overLeftResizeArea
(
e
))
&&
this
.
header
.
canResize
(
e
)
&&!
this
.
header
.
moveable
){
this
.
header
.
beginColumnResize
(
e
);
}
else
{
if
(
this
.
grid
.
headerMenu
){
this
.
grid
.
headerMenu
.
onCancel
(
true
);
}
if
(
e
.
button
===
(
dojo
.
isIE
?
1
:
0
)){
dojo
.
dnd
.
Source
.
prototype
.
onMouseDown
.
call
(
this
.
source
,
e
);
}
}
}),
onMouseOver
:
dojo
.
hitch
(
this
,
function
(
e
){
var
src
=
this
.
source
;
if
(
src
.
_getChildByEvent
(
e
)){
dojo
.
dnd
.
Source
.
prototype
.
onMouseOver
.
apply
(
src
,
arguments
);
}
}),
_markTargetAnchor
:
dojo
.
hitch
(
this
,
function
(
_1a
){
var
src
=
this
.
source
;
if
(
src
.
current
==
src
.
targetAnchor
&&
src
.
before
==
_1a
){
return
;
}
if
(
src
.
targetAnchor
&&
_13
(
src
.
targetAnchor
,
src
.
before
)){
src
.
_removeItemClass
(
_13
(
src
.
targetAnchor
,
src
.
before
),
src
.
before
?
"After"
:
"Before"
);
}
dojo
.
dnd
.
Source
.
prototype
.
_markTargetAnchor
.
call
(
src
,
_1a
);
var
_1b
=
_1a
?
src
.
targetAnchor
:
_13
(
src
.
targetAnchor
,
src
.
before
);
var
_1c
=
0
;
if
(
!
_1b
){
_1b
=
src
.
targetAnchor
;
_1c
=
dojo
.
contentBox
(
_1b
).
w
+
this
.
arrowDim
.
w
/
2
+
2
;
}
var
pos
=
(
dojo
.
position
||
dojo
.
_abs
)(
_1b
,
true
);
var
_1d
=
Math
.
floor
(
pos
.
x
-
this
.
arrowDim
.
w
/
2
+
_1c
);
dojo
.
style
(
this
.
bottomMarker
,
"visibility"
,
"visible"
);
dojo
.
style
(
this
.
topMarker
,
"visibility"
,
"visible"
);
dojo
.
style
(
this
.
bottomMarker
,{
"left"
:
_1d
+
"px"
,
"top"
:
(
_19
+
pos
.
y
)
+
"px"
});
dojo
.
style
(
this
.
topMarker
,{
"left"
:
_1d
+
"px"
,
"top"
:
(
pos
.
y
-
this
.
arrowDim
.
h
)
+
"px"
});
if
(
src
.
targetAnchor
&&
_13
(
src
.
targetAnchor
,
src
.
before
)){
src
.
_addItemClass
(
_13
(
src
.
targetAnchor
,
src
.
before
),
src
.
before
?
"After"
:
"Before"
);
}
}),
_unmarkTargetAnchor
:
dojo
.
hitch
(
this
,
function
(){
var
src
=
this
.
source
;
if
(
!
src
.
targetAnchor
){
return
;
}
if
(
src
.
targetAnchor
&&
_13
(
src
.
targetAnchor
,
src
.
before
)){
src
.
_removeItemClass
(
_13
(
src
.
targetAnchor
,
src
.
before
),
src
.
before
?
"After"
:
"Before"
);
}
this
.
_hide
(
this
.
bottomMarker
);
this
.
_hide
(
this
.
topMarker
);
dojo
.
dnd
.
Source
.
prototype
.
_unmarkTargetAnchor
.
call
(
src
);
}),
destroy
:
dojo
.
hitch
(
this
,
function
(){
dojo
.
disconnect
(
this
.
_source_conn
);
dojo
.
unsubscribe
(
this
.
_source_sub
);
dojo
.
dnd
.
Source
.
prototype
.
destroy
.
call
(
this
.
source
);
if
(
this
.
bottomMarker
){
dojo
.
destroy
(
this
.
bottomMarker
);
delete
this
.
bottomMarker
;
}
if
(
this
.
topMarker
){
dojo
.
destroy
(
this
.
topMarker
);
delete
this
.
topMarker
;
}
}),
onDndCancel
:
dojo
.
hitch
(
this
,
function
(){
dojo
.
dnd
.
Source
.
prototype
.
onDndCancel
.
call
(
this
.
source
);
this
.
_hide
(
this
.
bottomMarker
);
this
.
_hide
(
this
.
topMarker
);
})});
this
.
_source_conn
=
dojo
.
connect
(
this
.
source
,
"onDndDrop"
,
this
,
"_onDndDrop"
);
this
.
_source_sub
=
dojo
.
subscribe
(
"/dnd/drop/before"
,
this
,
"_onDndDropBefore"
);
this
.
source
.
startup
();
}
},
_hide
:
function
(
_1e
){
dojo
.
style
(
_1e
,{
left
:
"-10000px"
,
top
:
"-10000px"
,
"visibility"
:
"hidden"
});
},
_onDndDropBefore
:
function
(
_1f
,
_20
,
_21
){
if
(
dojo
.
dnd
.
manager
().
target
!==
this
.
source
){
return
;
}
this
.
source
.
_targetNode
=
this
.
source
.
targetAnchor
;
this
.
source
.
_beforeTarget
=
this
.
source
.
before
;
var
_22
=
this
.
grid
.
views
.
views
;
var
_23
=
_22
[
_1f
.
viewIndex
];
var
_24
=
_22
[
this
.
index
];
if
(
_24
!=
_23
){
_23
.
convertColPctToFixed
();
_24
.
convertColPctToFixed
();
}
},
_onDndDrop
:
function
(
_25
,
_26
,
_27
){
if
(
dojo
.
dnd
.
manager
().
target
!==
this
.
source
){
if
(
dojo
.
dnd
.
manager
().
source
===
this
.
source
){
this
.
_removingColumn
=
true
;
}
return
;
}
this
.
_hide
(
this
.
bottomMarker
);
this
.
_hide
(
this
.
topMarker
);
var
_28
=
function
(
n
){
return
n
?
dojo
.
attr
(
n
,
"idx"
)
:
null
;
};
var
w
=
dojo
.
marginBox
(
_26
[
0
]).
w
;
if
(
_25
.
viewIndex
!==
this
.
index
){
var
_29
=
this
.
grid
.
views
.
views
;
var
_2a
=
_29
[
_25
.
viewIndex
];
var
_2b
=
_29
[
this
.
index
];
if
(
_2a
.
viewWidth
&&
_2a
.
viewWidth
!=
"auto"
){
_2a
.
setColumnsWidth
(
_2a
.
getColumnsWidth
()
-
w
);
}
if
(
_2b
.
viewWidth
&&
_2b
.
viewWidth
!=
"auto"
){
_2b
.
setColumnsWidth
(
_2b
.
getColumnsWidth
());
}
}
var
stn
=
this
.
source
.
_targetNode
;
var
stb
=
this
.
source
.
_beforeTarget
;
var
_2c
=
this
.
grid
.
layout
;
var
idx
=
this
.
index
;
delete
this
.
source
.
_targetNode
;
delete
this
.
source
.
_beforeTarget
;
_2c
.
moveColumn
(
_25
.
viewIndex
,
idx
,
_28
(
_26
[
0
]),
_28
(
stn
),
stb
);
},
renderHeader
:
function
(){
this
.
headerContentNode
.
innerHTML
=
this
.
header
.
generateHtml
(
this
.
_getHeaderContent
);
if
(
this
.
flexCells
){
this
.
contentWidth
=
this
.
getContentWidth
();
this
.
headerContentNode
.
firstChild
.
style
.
width
=
this
.
contentWidth
;
}
dojox
.
grid
.
util
.
fire
(
this
,
"onAfterRow"
,[
-
1
,
this
.
structure
.
cells
,
this
.
headerContentNode
]);
},
_getHeaderContent
:
function
(
_2d
){
var
n
=
_2d
.
name
||
_2d
.
grid
.
getCellName
(
_2d
);
var
ret
=
[
"<div class=\"dojoxGridSortNode"
];
if
(
_2d
.
index
!=
_2d
.
grid
.
getSortIndex
()){
ret
.
push
(
"\">"
);
}
else
{
ret
=
ret
.
concat
([
" "
,
_2d
.
grid
.
sortInfo
>
0
?
"dojoxGridSortUp"
:
"dojoxGridSortDown"
,
"\"><div class=\"dojoxGridArrowButtonChar\">"
,
_2d
.
grid
.
sortInfo
>
0
?
"▲"
:
"▼"
,
"</div><div class=\"dojoxGridArrowButtonNode\" role=\"presentation\"></div>"
]);
}
ret
=
ret
.
concat
([
n
,
"</div>"
]);
return
ret
.
join
(
""
);
},
resize
:
function
(){
this
.
adaptHeight
();
this
.
adaptWidth
();
},
hasHScrollbar
:
function
(
_2e
){
var
_2f
=
this
.
_hasHScroll
||
false
;
if
(
this
.
_hasHScroll
==
undefined
||
_2e
){
if
(
this
.
noscroll
){
this
.
_hasHScroll
=
false
;
}
else
{
var
_30
=
dojo
.
style
(
this
.
scrollboxNode
,
"overflow"
);
if
(
_30
==
"hidden"
){
this
.
_hasHScroll
=
false
;
}
else
{
if
(
_30
==
"scroll"
){
this
.
_hasHScroll
=
true
;
}
else
{
this
.
_hasHScroll
=
(
this
.
scrollboxNode
.
offsetWidth
-
this
.
getScrollbarWidth
()
<
this
.
contentNode
.
offsetWidth
);
}
}
}
}
if
(
_2f
!==
this
.
_hasHScroll
){
this
.
grid
.
update
();
}
return
this
.
_hasHScroll
;
},
hasVScrollbar
:
function
(
_31
){
var
_32
=
this
.
_hasVScroll
||
false
;
if
(
this
.
_hasVScroll
==
undefined
||
_31
){
if
(
this
.
noscroll
){
this
.
_hasVScroll
=
false
;
}
else
{
var
_33
=
dojo
.
style
(
this
.
scrollboxNode
,
"overflow"
);
if
(
_33
==
"hidden"
){
this
.
_hasVScroll
=
false
;
}
else
{
if
(
_33
==
"scroll"
){
this
.
_hasVScroll
=
true
;
}
else
{
this
.
_hasVScroll
=
(
this
.
scrollboxNode
.
scrollHeight
>
this
.
scrollboxNode
.
clientHeight
);
}
}
}
}
if
(
_32
!==
this
.
_hasVScroll
){
this
.
grid
.
update
();
}
return
this
.
_hasVScroll
;
},
convertColPctToFixed
:
function
(){
var
_34
=
false
;
this
.
grid
.
initialWidth
=
""
;
var
_35
=
dojo
.
query
(
"th"
,
this
.
headerContentNode
);
var
_36
=
dojo
.
map
(
_35
,
function
(
c
,
_37
){
var
w
=
c
.
style
.
width
;
dojo
.
attr
(
c
,
"vIdx"
,
_37
);
if
(
w
&&
w
.
slice
(
-
1
)
==
"%"
){
_34
=
true
;
}
else
{
if
(
w
&&
w
.
slice
(
-
2
)
==
"px"
){
return
window
.
parseInt
(
w
,
10
);
}
}
return
dojo
.
contentBox
(
c
).
w
;
});
if
(
_34
){
dojo
.
forEach
(
this
.
grid
.
layout
.
cells
,
function
(
_38
,
idx
){
if
(
_38
.
view
==
this
){
var
_39
=
_38
.
view
.
getHeaderCellNode
(
_38
.
index
);
if
(
_39
&&
dojo
.
hasAttr
(
_39
,
"vIdx"
)){
var
_3a
=
window
.
parseInt
(
dojo
.
attr
(
_39
,
"vIdx"
));
this
.
setColWidth
(
idx
,
_36
[
_3a
]);
dojo
.
removeAttr
(
_39
,
"vIdx"
);
}
}
},
this
);
return
true
;
}
return
false
;
},
adaptHeight
:
function
(
_3b
){
if
(
!
this
.
grid
.
_autoHeight
){
var
h
=
(
this
.
domNode
.
style
.
height
&&
parseInt
(
this
.
domNode
.
style
.
height
.
replace
(
/px/
,
""
),
10
))
||
this
.
domNode
.
clientHeight
;
var
_3c
=
this
;
var
_3d
=
function
(){
var
v
;
for
(
var
i
in
_3c
.
grid
.
views
.
views
){
v
=
_3c
.
grid
.
views
.
views
[
i
];
if
(
v
!==
_3c
&&
v
.
hasHScrollbar
()){
return
true
;
}
}
return
false
;
};
if
(
_3b
||
(
this
.
noscroll
&&
_3d
())){
h
-=
dojox
.
html
.
metrics
.
getScrollbar
().
h
;
}
dojox
.
grid
.
util
.
setStyleHeightPx
(
this
.
scrollboxNode
,
h
);
}
this
.
hasVScrollbar
(
true
);
},
adaptWidth
:
function
(){
if
(
this
.
flexCells
){
this
.
contentWidth
=
this
.
getContentWidth
();
this
.
headerContentNode
.
firstChild
.
style
.
width
=
this
.
contentWidth
;
}
var
w
=
this
.
scrollboxNode
.
offsetWidth
-
this
.
getScrollbarWidth
();
if
(
!
this
.
_removingColumn
){
w
=
Math
.
max
(
w
,
this
.
getColumnsWidth
())
+
"px"
;
}
else
{
w
=
Math
.
min
(
w
,
this
.
getColumnsWidth
())
+
"px"
;
this
.
_removingColumn
=
false
;
}
var
cn
=
this
.
contentNode
;
cn
.
style
.
width
=
w
;
this
.
hasHScrollbar
(
true
);
},
setSize
:
function
(
w
,
h
){
var
ds
=
this
.
domNode
.
style
;
var
hs
=
this
.
headerNode
.
style
;
if
(
w
){
ds
.
width
=
w
;
hs
.
width
=
w
;
}
ds
.
height
=
(
h
>=
0
?
h
+
"px"
:
""
);
},
renderRow
:
function
(
_3e
){
var
_3f
=
this
.
createRowNode
(
_3e
);
this
.
buildRow
(
_3e
,
_3f
);
this
.
grid
.
edit
.
restore
(
this
,
_3e
);
return
_3f
;
},
createRowNode
:
function
(
_40
){
var
_41
=
document
.
createElement
(
"div"
);
_41
.
className
=
this
.
classTag
+
"Row"
;
if
(
this
instanceof
dojox
.
grid
.
_RowSelector
){
dojo
.
attr
(
_41
,
"role"
,
"presentation"
);
}
else
{
dojo
.
attr
(
_41
,
"role"
,
"row"
);
if
(
this
.
grid
.
selectionMode
!=
"none"
){
dojo
.
attr
(
_41
,
"aria-selected"
,
"false"
);
}
}
_41
[
dojox
.
grid
.
util
.
gridViewTag
]
=
this
.
id
;
_41
[
dojox
.
grid
.
util
.
rowIndexTag
]
=
_40
;
this
.
rowNodes
[
_40
]
=
_41
;
return
_41
;
},
buildRow
:
function
(
_42
,
_43
){
this
.
buildRowContent
(
_42
,
_43
);
this
.
styleRow
(
_42
,
_43
);
},
buildRowContent
:
function
(
_44
,
_45
){
_45
.
innerHTML
=
this
.
content
.
generateHtml
(
_44
,
_44
);
if
(
this
.
flexCells
&&
this
.
contentWidth
){
_45
.
firstChild
.
style
.
width
=
this
.
contentWidth
;
}
dojox
.
grid
.
util
.
fire
(
this
,
"onAfterRow"
,[
_44
,
this
.
structure
.
cells
,
_45
]);
},
rowRemoved
:
function
(
_46
){
if
(
_46
>=
0
){
this
.
_cleanupRowWidgets
(
this
.
getRowNode
(
_46
));
}
this
.
grid
.
edit
.
save
(
this
,
_46
);
delete
this
.
rowNodes
[
_46
];
},
getRowNode
:
function
(
_47
){
return
this
.
rowNodes
[
_47
];
},
getCellNode
:
function
(
_48
,
_49
){
var
row
=
this
.
getRowNode
(
_48
);
if
(
row
){
return
this
.
content
.
getCellNode
(
row
,
_49
);
}
},
getHeaderCellNode
:
function
(
_4a
){
if
(
this
.
headerContentNode
){
return
this
.
header
.
getCellNode
(
this
.
headerContentNode
,
_4a
);
}
},
styleRow
:
function
(
_4b
,
_4c
){
_4c
.
_style
=
_1
(
_4c
);
this
.
styleRowNode
(
_4b
,
_4c
);
},
styleRowNode
:
function
(
_4d
,
_4e
){
if
(
_4e
){
this
.
doStyleRowNode
(
_4d
,
_4e
);
}
},
doStyleRowNode
:
function
(
_4f
,
_50
){
this
.
grid
.
styleRowNode
(
_4f
,
_50
);
},
updateRow
:
function
(
_51
){
var
_52
=
this
.
getRowNode
(
_51
);
if
(
_52
){
_52
.
style
.
height
=
""
;
this
.
buildRow
(
_51
,
_52
);
}
return
_52
;
},
updateRowStyles
:
function
(
_53
){
this
.
styleRowNode
(
_53
,
this
.
getRowNode
(
_53
));
},
lastTop
:
0
,
firstScroll
:
0
,
doscroll
:
function
(
_54
){
var
_55
=
dojo
.
_isBodyLtr
();
if
(
this
.
firstScroll
<
2
){
if
((
!
_55
&&
this
.
firstScroll
==
1
)
||
(
_55
&&
this
.
firstScroll
===
0
)){
var
s
=
dojo
.
marginBox
(
this
.
headerNodeContainer
);
if
(
dojo
.
isIE
){
this
.
headerNodeContainer
.
style
.
width
=
s
.
w
+
this
.
getScrollbarWidth
()
+
"px"
;
}
else
{
if
(
dojo
.
isMoz
){
this
.
headerNodeContainer
.
style
.
width
=
s
.
w
-
this
.
getScrollbarWidth
()
+
"px"
;
this
.
scrollboxNode
.
scrollLeft
=
_55
?
this
.
scrollboxNode
.
clientWidth
-
this
.
scrollboxNode
.
scrollWidth
:
this
.
scrollboxNode
.
scrollWidth
-
this
.
scrollboxNode
.
clientWidth
;
}
}
}
this
.
firstScroll
++
;
}
this
.
headerNode
.
scrollLeft
=
this
.
scrollboxNode
.
scrollLeft
;
var
top
=
this
.
scrollboxNode
.
scrollTop
;
if
(
top
!==
this
.
lastTop
){
this
.
grid
.
scrollTo
(
top
);
}
},
setScrollTop
:
function
(
_56
){
this
.
lastTop
=
_56
;
this
.
scrollboxNode
.
scrollTop
=
_56
;
return
this
.
scrollboxNode
.
scrollTop
;
},
doContentEvent
:
function
(
e
){
if
(
this
.
content
.
decorateEvent
(
e
)){
this
.
grid
.
onContentEvent
(
e
);
}
},
doHeaderEvent
:
function
(
e
){
if
(
this
.
header
.
decorateEvent
(
e
)){
this
.
grid
.
onHeaderEvent
(
e
);
}
},
dispatchContentEvent
:
function
(
e
){
return
this
.
content
.
dispatchEvent
(
e
);
},
dispatchHeaderEvent
:
function
(
e
){
return
this
.
header
.
dispatchEvent
(
e
);
},
setColWidth
:
function
(
_57
,
_58
){
this
.
grid
.
setCellWidth
(
_57
,
_58
+
"px"
);
},
update
:
function
(){
if
(
!
this
.
domNode
){
return
;
}
this
.
content
.
update
();
this
.
grid
.
update
();
var
_59
=
this
.
scrollboxNode
.
scrollLeft
;
this
.
scrollboxNode
.
scrollLeft
=
_59
;
this
.
headerNode
.
scrollLeft
=
_59
;
}});
dojo
.
declare
(
"dojox.grid._GridAvatar"
,
dojo
.
dnd
.
Avatar
,{
construct
:
function
(){
var
dd
=
dojo
.
doc
;
var
a
=
dd
.
createElement
(
"table"
);
a
.
cellPadding
=
a
.
cellSpacing
=
"0"
;
a
.
className
=
"dojoxGridDndAvatar"
;
a
.
style
.
position
=
"absolute"
;
a
.
style
.
zIndex
=
1999
;
a
.
style
.
margin
=
"0px"
;
var
b
=
dd
.
createElement
(
"tbody"
);
var
tr
=
dd
.
createElement
(
"tr"
);
var
td
=
dd
.
createElement
(
"td"
);
var
img
=
dd
.
createElement
(
"td"
);
tr
.
className
=
"dojoxGridDndAvatarItem"
;
img
.
className
=
"dojoxGridDndAvatarItemImage"
;
img
.
style
.
width
=
"16px"
;
var
_5a
=
this
.
manager
.
source
,
_5b
;
if
(
_5a
.
creator
){
_5b
=
_5a
.
_normalizedCreator
(
_5a
.
getItem
(
this
.
manager
.
nodes
[
0
].
id
).
data
,
"avatar"
).
node
;
}
else
{
_5b
=
this
.
manager
.
nodes
[
0
].
cloneNode
(
true
);
var
_5c
,
_5d
;
if
(
_5b
.
tagName
.
toLowerCase
()
==
"tr"
){
_5c
=
dd
.
createElement
(
"table"
);
_5d
=
dd
.
createElement
(
"tbody"
);
_5d
.
appendChild
(
_5b
);
_5c
.
appendChild
(
_5d
);
_5b
=
_5c
;
}
else
{
if
(
_5b
.
tagName
.
toLowerCase
()
==
"th"
){
_5c
=
dd
.
createElement
(
"table"
);
_5d
=
dd
.
createElement
(
"tbody"
);
var
r
=
dd
.
createElement
(
"tr"
);
_5c
.
cellPadding
=
_5c
.
cellSpacing
=
"0"
;
r
.
appendChild
(
_5b
);
_5d
.
appendChild
(
r
);
_5c
.
appendChild
(
_5d
);
_5b
=
_5c
;
}
}
}
_5b
.
id
=
""
;
td
.
appendChild
(
_5b
);
tr
.
appendChild
(
img
);
tr
.
appendChild
(
td
);
dojo
.
style
(
tr
,
"opacity"
,
0.9
);
b
.
appendChild
(
tr
);
a
.
appendChild
(
b
);
this
.
node
=
a
;
var
m
=
dojo
.
dnd
.
manager
();
this
.
oldOffsetY
=
m
.
OFFSET_Y
;
m
.
OFFSET_Y
=
1
;
},
destroy
:
function
(){
dojo
.
dnd
.
manager
().
OFFSET_Y
=
this
.
oldOffsetY
;
this
.
inherited
(
arguments
);
}});
var
_5e
=
dojo
.
dnd
.
manager
().
makeAvatar
;
dojo
.
dnd
.
manager
().
makeAvatar
=
function
(){
var
src
=
this
.
source
;
if
(
src
.
viewIndex
!==
undefined
&&!
dojo
.
hasClass
(
dojo
.
body
(),
"dijit_a11y"
)){
return
new
dojox
.
grid
.
_GridAvatar
(
this
);
}
return
_5e
.
call
(
dojo
.
dnd
.
manager
());
};
})();
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 26, 03:47 (4 d, 2 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26322
Default Alt Text
_View.js (18 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment