]>
git.wh0rd.org - tt-rss.git/blob - lib/dijit/_editor/_Plugin.js
2 define("dijit/_editor/_Plugin",["dojo/_base/connect","dojo/_base/declare","dojo/_base/lang","../form/Button"],function(_1
,_2
,_3
,_4
){var _5
=_2("dijit._editor._Plugin",null,{constructor:function(_6
){this.params
=_6
||{};_3
.mixin(this,this.params
);this._connects
=[];this._attrPairNames
={};},editor
:null,iconClassPrefix
:"dijitEditorIcon",button
:null,command
:"",useDefaultCommand
:true,buttonClass
:_4
,disabled
:false,getLabel:function(_7
){return this.editor
.commands
[_7
];},_initButton:function(){if(this.command
.length
){var _8
=this.getLabel(this.command
),_9
=this.editor
,_a
=this.iconClassPrefix
+" "+this.iconClassPrefix
+this.command
.charAt(0).toUpperCase()+this.command
.substr(1);if(!this.button
){var _b
=_3
.mixin({label
:_8
,ownerDocument
:_9
.ownerDocument
,dir
:_9
.dir
,lang
:_9
.lang
,showLabel
:false,iconClass
:_a
,dropDown
:this.dropDown
,tabIndex
:"-1"},this.params
||{});this.button
=new this.buttonClass(_b
);}}if(this.get("disabled")&&this.button
){this.button
.set("disabled",this.get("disabled"));}},destroy:function(){var h
;while(h
=this._connects
.pop()){h
.remove();}if(this.dropDown
){this.dropDown
.destroyRecursive();}},connect:function(o
,f
,tf
){this._connects
.push(_1
.connect(o
,f
,this,tf
));},updateState:function(){var e
=this.editor
,c
=this.command
,_c
,_d
;if(!e
||!e
.isLoaded
||!c
.length
){return;}var _e
=this.get("disabled");if(this.button
){try{_d
=!_e
&&e
.queryCommandEnabled(c
);if(this.enabled
!==_d
){this.enabled
=_d
;this.button
.set("disabled",!_d
);}if(_d
){if(typeof this.button
.checked
=="boolean"){_c
=e
.queryCommandState(c
);if(this.checked
!==_c
){this.checked
=_c
;this.button
.set("checked",e
.queryCommandState(c
));}}}}catch(e
){}}},setEditor:function(_f
){this.editor
=_f
;this._initButton();if(this.button
&&this.useDefaultCommand
){if(this.editor
.queryCommandAvailable(this.command
)){this.connect(this.button
,"onClick",_3
.hitch(this.editor
,"execCommand",this.command
,this.commandArg
));}else{this.button
.domNode
.style
.display
="none";}}this.connect(this.editor
,"onNormalizedDisplayChanged","updateState");},setToolbar:function(_10
){if(this.button
){_10
.addChild(this.button
);}},set:function(_11
,_12
){if(typeof _11
==="object"){for(var x
in _11
){this.set(x
,_11
[x
]);}return this;}var _13
=this._getAttrNames(_11
);if(this[_13
.s
]){var _14
=this[_13
.s
].apply(this,Array
.prototype.slice
.call(arguments
,1));}else{this._set(_11
,_12
);}return _14
||this;},get:function(_15
){var _16
=this._getAttrNames(_15
);return this[_16
.g
]?this[_16
.g
]():this[_15
];},_setDisabledAttr:function(_17
){this.disabled
=_17
;this.updateState();},_getAttrNames:function(_18
){var apn
=this._attrPairNames
;if(apn
[_18
]){return apn
[_18
];}var uc
=_18
.charAt(0).toUpperCase()+_18
.substr(1);return (apn
[_18
]={s
:"_set"+uc
+"Attr",g
:"_get"+uc
+"Attr"});},_set:function(_19
,_1a
){this[_19
]=_1a
;}});_5
.registry
={};return _5
;});