Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F946140
_Plugin.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
_Plugin.js
View Options
if
(
!
dojo
.
_hasResource
[
"dijit._editor._Plugin"
]){
//_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo
.
_hasResource
[
"dijit._editor._Plugin"
]
=
true
;
dojo
.
provide
(
"dijit._editor._Plugin"
);
dojo
.
require
(
"dijit._Widget"
);
dojo
.
require
(
"dijit.Editor"
);
dojo
.
require
(
"dijit.form.Button"
);
dojo
.
declare
(
"dijit._editor._Plugin"
,
null
,
{
// summary
// This represents a "plugin" to the editor, which is basically
// a single button on the Toolbar and some associated code
constructor
:
function
(
/*Object?*/
args
,
/*DomNode?*/
node
){
if
(
args
){
dojo
.
mixin
(
this
,
args
);
}
},
editor
:
null
,
iconClassPrefix
:
"dijitEditorIcon"
,
button
:
null
,
queryCommand
:
null
,
command
:
""
,
commandArg
:
null
,
useDefaultCommand
:
true
,
buttonClass
:
dijit
.
form
.
Button
,
updateInterval
:
200
,
// only allow updates every two tenths of a second
_initButton
:
function
(){
if
(
this
.
command
.
length
){
var
label
=
this
.
editor
.
commands
[
this
.
command
];
var
className
=
"dijitEditorIcon "
+
this
.
iconClassPrefix
+
this
.
command
.
charAt
(
0
).
toUpperCase
()
+
this
.
command
.
substr
(
1
);
if
(
!
this
.
button
){
var
props
=
{
label
:
label
,
showLabel
:
false
,
iconClass
:
className
,
dropDown
:
this
.
dropDown
};
this
.
button
=
new
this
.
buttonClass
(
props
);
}
}
},
updateState
:
function
(){
var
_e
=
this
.
editor
;
var
_c
=
this
.
command
;
if
(
!
_e
){
return
;
}
if
(
!
_e
.
isLoaded
){
return
;
}
if
(
!
_c
.
length
){
return
;
}
if
(
this
.
button
){
try
{
var
enabled
=
_e
.
queryCommandEnabled
(
_c
);
this
.
button
.
setDisabled
(
!
enabled
);
if
(
this
.
button
.
setChecked
){
this
.
button
.
setChecked
(
_e
.
queryCommandState
(
_c
));
}
}
catch
(
e
){
console
.
debug
(
e
);
}
}
},
setEditor
:
function
(
/*Widget*/
editor
){
// FIXME: detatch from previous editor!!
this
.
editor
=
editor
;
// FIXME: prevent creating this if we don't need to (i.e., editor can't handle our command)
this
.
_initButton
();
// FIXME: wire up editor to button here!
if
(
(
this
.
command
.
length
)
&&
(
!
this
.
editor
.
queryCommandAvailable
(
this
.
command
))
){
// console.debug("hiding:", this.command);
if
(
this
.
button
){
this
.
button
.
domNode
.
style
.
display
=
"none"
;
}
}
if
(
this
.
button
&&
this
.
useDefaultCommand
){
dojo
.
connect
(
this
.
button
,
"onClick"
,
dojo
.
hitch
(
this
.
editor
,
"execCommand"
,
this
.
command
,
this
.
commandArg
)
);
}
dojo
.
connect
(
this
.
editor
,
"onNormalizedDisplayChanged"
,
this
,
"updateState"
);
},
setToolbar
:
function
(
/*Widget*/
toolbar
){
if
(
this
.
button
){
toolbar
.
addChild
(
this
.
button
);
}
// console.debug("adding", this.button, "to:", toolbar);
}
});
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 26, 05:19 (3 d, 11 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24581
Default Alt Text
_Plugin.js (2 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment