Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F947623
_EditManager.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
_EditManager.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._EditManager"
]){
dojo
.
_hasResource
[
"dojox.grid._EditManager"
]
=
true
;
dojo
.
provide
(
"dojox.grid._EditManager"
);
dojo
.
require
(
"dojox.grid.util"
);
dojo
.
declare
(
"dojox.grid._EditManager"
,
null
,{
constructor
:
function
(
_1
){
this
.
grid
=
_1
;
this
.
connections
=
[];
if
(
dojo
.
isIE
){
this
.
connections
.
push
(
dojo
.
connect
(
document
.
body
,
"onfocus"
,
dojo
.
hitch
(
this
,
"_boomerangFocus"
)));
}
},
info
:
{},
destroy
:
function
(){
dojo
.
forEach
(
this
.
connections
,
dojo
.
disconnect
);
},
cellFocus
:
function
(
_2
,
_3
){
if
(
this
.
grid
.
singleClickEdit
||
this
.
isEditRow
(
_3
)){
this
.
setEditCell
(
_2
,
_3
);
}
else
{
this
.
apply
();
}
if
(
this
.
isEditing
()
||
(
_2
&&
_2
.
editable
&&
_2
.
alwaysEditing
)){
this
.
_focusEditor
(
_2
,
_3
);
}
},
rowClick
:
function
(
e
){
if
(
this
.
isEditing
()
&&!
this
.
isEditRow
(
e
.
rowIndex
)){
this
.
apply
();
}
},
styleRow
:
function
(
_4
){
if
(
_4
.
index
==
this
.
info
.
rowIndex
){
_4
.
customClasses
+=
" dojoxGridRowEditing"
;
}
},
dispatchEvent
:
function
(
e
){
var
c
=
e
.
cell
,
ed
=
(
c
&&
c
[
"editable"
])
?
c
:
0
;
return
ed
&&
ed
.
dispatchEvent
(
e
.
dispatch
,
e
);
},
isEditing
:
function
(){
return
this
.
info
.
rowIndex
!==
undefined
;
},
isEditCell
:
function
(
_5
,
_6
){
return
(
this
.
info
.
rowIndex
===
_5
)
&&
(
this
.
info
.
cell
.
index
==
_6
);
},
isEditRow
:
function
(
_7
){
return
this
.
info
.
rowIndex
===
_7
;
},
setEditCell
:
function
(
_8
,
_9
){
if
(
!
this
.
isEditCell
(
_9
,
_8
.
index
)
&&
this
.
grid
.
canEdit
&&
this
.
grid
.
canEdit
(
_8
,
_9
)){
this
.
start
(
_8
,
_9
,
this
.
isEditRow
(
_9
)
||
_8
.
editable
);
}
},
_focusEditor
:
function
(
_a
,
_b
){
dojox
.
grid
.
util
.
fire
(
_a
,
"focus"
,[
_b
]);
},
focusEditor
:
function
(){
if
(
this
.
isEditing
()){
this
.
_focusEditor
(
this
.
info
.
cell
,
this
.
info
.
rowIndex
);
}
},
_boomerangWindow
:
500
,
_shouldCatchBoomerang
:
function
(){
return
this
.
_catchBoomerang
>
new
Date
().
getTime
();
},
_boomerangFocus
:
function
(){
if
(
this
.
_shouldCatchBoomerang
()){
this
.
grid
.
focus
.
focusGrid
();
this
.
focusEditor
();
this
.
_catchBoomerang
=
0
;
}
},
_doCatchBoomerang
:
function
(){
if
(
dojo
.
isIE
){
this
.
_catchBoomerang
=
new
Date
().
getTime
()
+
this
.
_boomerangWindow
;
}
},
start
:
function
(
_c
,
_d
,
_e
){
this
.
grid
.
beginUpdate
();
this
.
editorApply
();
if
(
this
.
isEditing
()
&&!
this
.
isEditRow
(
_d
)){
this
.
applyRowEdit
();
this
.
grid
.
updateRow
(
_d
);
}
if
(
_e
){
this
.
info
=
{
cell
:
_c
,
rowIndex
:
_d
};
this
.
grid
.
doStartEdit
(
_c
,
_d
);
this
.
grid
.
updateRow
(
_d
);
}
else
{
this
.
info
=
{};
}
this
.
grid
.
endUpdate
();
this
.
grid
.
focus
.
focusGrid
();
this
.
_focusEditor
(
_c
,
_d
);
this
.
_doCatchBoomerang
();
},
_editorDo
:
function
(
_f
){
var
c
=
this
.
info
.
cell
;
if
(
c
&&
c
.
editable
){
c
[
_f
](
this
.
info
.
rowIndex
);
}
},
editorApply
:
function
(){
this
.
_editorDo
(
"apply"
);
},
editorCancel
:
function
(){
this
.
_editorDo
(
"cancel"
);
},
applyCellEdit
:
function
(
_10
,
_11
,
_12
){
if
(
this
.
grid
.
canEdit
(
_11
,
_12
)){
this
.
grid
.
doApplyCellEdit
(
_10
,
_12
,
_11
.
field
);
}
},
applyRowEdit
:
function
(){
this
.
grid
.
doApplyEdit
(
this
.
info
.
rowIndex
,
this
.
info
.
cell
.
field
);
},
apply
:
function
(){
if
(
this
.
isEditing
()){
this
.
grid
.
beginUpdate
();
this
.
editorApply
();
this
.
applyRowEdit
();
this
.
info
=
{};
this
.
grid
.
endUpdate
();
this
.
grid
.
focus
.
focusGrid
();
this
.
_doCatchBoomerang
();
}
},
cancel
:
function
(){
if
(
this
.
isEditing
()){
this
.
grid
.
beginUpdate
();
this
.
editorCancel
();
this
.
info
=
{};
this
.
grid
.
endUpdate
();
this
.
grid
.
focus
.
focusGrid
();
this
.
_doCatchBoomerang
();
}
},
save
:
function
(
_13
,
_14
){
var
c
=
this
.
info
.
cell
;
if
(
this
.
isEditRow
(
_13
)
&&
(
!
_14
||
c
.
view
==
_14
)
&&
c
.
editable
){
c
.
save
(
c
,
this
.
info
.
rowIndex
);
}
},
restore
:
function
(
_15
,
_16
){
var
c
=
this
.
info
.
cell
;
if
(
this
.
isEditRow
(
_16
)
&&
c
.
view
==
_15
&&
c
.
editable
){
c
.
restore
(
c
,
this
.
info
.
rowIndex
);
}
}});
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 26, 12:39 (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26330
Default Alt Text
_EditManager.js (3 KB)
Attached To
rZEDHG ZedLegacy
Event Timeline
Log In to Comment