%PDF- %PDF-
| Direktori : /var/www/crm/include/javascript/tiny_mce/classes/ui/ |
| Current File : /var/www/crm/include/javascript/tiny_mce/classes/ui/ToolbarGroup.js |
/**
* ToolbarGroup.js
*
* Copyright 2010, Moxiecode Systems AB
* Released under LGPL License.
*
* License: http://tinymce.moxiecode.com/license
* Contributing: http://tinymce.moxiecode.com/contributing
*/
(function(tinymce) {
// Shorten class names
var dom = tinymce.DOM, each = tinymce.each, Event = tinymce.dom.Event;
/**
* This class is used to group a set of toolbars together and control the keyboard navigation and focus.
*
* @class tinymce.ui.ToolbarGroup
* @extends tinymce.ui.Container
*/
tinymce.create('tinymce.ui.ToolbarGroup:tinymce.ui.Container', {
/**
* Renders the toolbar group as a HTML string.
*
* @method renderHTML
* @return {String} HTML for the toolbar control.
*/
renderHTML : function() {
var t = this, h = [], controls = t.controls, each = tinymce.each, settings = t.settings;
h.push('<div id="' + t.id + '" role="group" aria-labelledby="' + t.id + '_voice">');
//TODO: ACC test this out - adding a role = application for getting the landmarks working well.
h.push("<span role='application'>");
h.push('<span id="' + t.id + '_voice" class="mceVoiceLabel" style="display:none;">' + dom.encode(settings.name) + '</span>');
each(controls, function(toolbar) {
h.push(toolbar.renderHTML());
});
h.push("</span>");
h.push('</div>');
return h.join('');
},
focus : function() {
this.keyNav.focus();
},
postRender : function() {
var t = this, items = [];
each(t.controls, function(toolbar) {
each (toolbar.controls, function(control) {
if (control.id) {
items.push(control);
}
});
});
t.keyNav = new tinymce.ui.KeyboardNavigation({
root: t.id,
items: items,
onCancel: function() {
t.editor.focus();
},
excludeFromTabOrder: !t.settings.tab_focus_toolbar
});
},
destroy : function() {
var self = this;
self.parent();
self.keyNav.destroy();
Event.clear(self.id);
}
});
})(tinymce);