mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
ef10672364
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@92488 467b73ca-7a2a-4603-9d3b-597d59a354a9
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
/**
|
|
* $Id: Button.js 1045 2009-03-04 20:03:18Z spocke $
|
|
*
|
|
* @author Moxiecode
|
|
* @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
|
|
*/
|
|
|
|
(function(tinymce) {
|
|
var DOM = tinymce.DOM;
|
|
|
|
/**#@+
|
|
* @class This class is used to create a UI button. A button is basically a link
|
|
* that is styled to look like a button or icon.
|
|
* @member tinymce.ui.Button
|
|
* @base tinymce.ui.Control
|
|
*/
|
|
tinymce.create('tinymce.ui.Button:tinymce.ui.Control', {
|
|
/**
|
|
* Constructs a new button control instance.
|
|
*
|
|
* @param {String} id Control id for the button.
|
|
* @param {Object} s Optional name/value settings object.
|
|
*/
|
|
Button : function(id, s) {
|
|
this.parent(id, s);
|
|
this.classPrefix = 'mceButton';
|
|
},
|
|
|
|
/**#@+
|
|
* @method
|
|
*/
|
|
|
|
/**
|
|
* Renders the button as a HTML string. This method is much faster than using the DOM and when
|
|
* creating a whole toolbar with buttons it does make a lot of difference.
|
|
*
|
|
* @return {String} HTML for the button control element.
|
|
*/
|
|
renderHTML : function() {
|
|
var cp = this.classPrefix, s = this.settings, h, l;
|
|
|
|
l = DOM.encode(s.label || '');
|
|
h = '<a id="' + this.id + '" href="javascript:;" class="' + cp + ' ' + cp + 'Enabled ' + s['class'] + (l ? ' ' + cp + 'Labeled' : '') +'" onmousedown="return false;" onclick="return false;" title="' + DOM.encode(s.title) + '">';
|
|
|
|
if (s.image)
|
|
h += '<img class="mceIcon" src="' + s.image + '" />' + l + '</a>';
|
|
else
|
|
h += '<span class="mceIcon ' + s['class'] + '"></span>' + (l ? '<span class="' + cp + 'Label">' + l + '</span>' : '') + '</a>';
|
|
|
|
return h;
|
|
},
|
|
|
|
/**
|
|
* Post render handler. This function will be called after the UI has been
|
|
* rendered so that events can be added.
|
|
*/
|
|
postRender : function() {
|
|
var t = this, s = t.settings;
|
|
|
|
tinymce.dom.Event.add(t.id, 'click', function(e) {
|
|
if (!t.isDisabled())
|
|
return s.onclick.call(s.scope, e);
|
|
});
|
|
}
|
|
|
|
/**#@-*/
|
|
});
|
|
})(tinymce);
|