AutorÃa | Ultima modificación | Ver Log |
var COLOURPICKER_NAME = "Colourpicker",COLOURPICKER;/*** Provides an in browser PDF editor.** @module moodle-assignfeedback_editpdf-editor*//*** COLOURPICKER* This is a drop down list of colours.** @namespace M.assignfeedback_editpdf* @class colourpicker* @constructor* @extends M.assignfeedback_editpdf.dropdown*/COLOURPICKER = function(config) {COLOURPICKER.superclass.constructor.apply(this, [config]);};Y.extend(COLOURPICKER, M.assignfeedback_editpdf.dropdown, {/*** Initialise the menu.** @method initializer* @return void*/initializer: function(config) {var colourlist = Y.Node.create('<ul role="menu" class="assignfeedback_editpdf_menu"/>'),body;// Build a list of coloured buttons.Y.each(this.get('colours'), function(rgb, colour) {var button, listitem, title, img, iconname;title = M.util.get_string(colour, 'assignfeedback_editpdf');iconname = this.get('iconprefix') + colour;img = M.util.image_url(iconname, 'assignfeedback_editpdf');button = Y.Node.create('<button><img alt="' + title + '" src="' + img + '"/></button>');button.setAttribute('data-colour', colour);button.setAttribute('data-rgb', rgb);button.setAttribute('role', 'menuitem');button.setStyle('backgroundImage', 'none');listitem = Y.Node.create('<li/>');listitem.append(button);listitem.setAttribute('role', 'none');colourlist.append(listitem);}, this);body = Y.Node.create('<div/>');// Set the call back.colourlist.delegate('click', this.callback_handler, 'button', this);colourlist.delegate('key', this.callback_handler, 'down:13', 'button', this);// Set the accessible header text.this.set('headerText', M.util.get_string('colourpicker', 'assignfeedback_editpdf'));// Set the body content.body.append(colourlist);this.set('bodyContent', body);COLOURPICKER.superclass.initializer.call(this, config);},callback_handler: function(e) {e.preventDefault();var callback = this.get('callback'),callbackcontext = this.get('context'),bind;this.hide();// Call the callback with the specified context.bind = Y.bind(callback, callbackcontext, e);bind();}}, {NAME: COLOURPICKER_NAME,ATTRS: {/*** The list of colours this colour picker supports.** @attribute colours* @type {String: String} (The keys of the array are the colour names and the values are localized strings)* @default {}*/colours: {value: {}},/*** The function called when a new colour is chosen.** @attribute callback* @type function* @default null*/callback: {value: null},/*** The context passed to the callback when a colour is chosen.** @attribute context* @type Y.Node* @default null*/context: {value: null},/*** The prefix for the icon image names.** @attribute iconprefix* @type String* @default 'colour_'*/iconprefix: {value: 'colour_'}}});M.assignfeedback_editpdf = M.assignfeedback_editpdf || {};M.assignfeedback_editpdf.colourpicker = COLOURPICKER;