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