AutorÃa | Ultima modificación | Ver Log |
var STAMPPICKER_NAME = "Colourpicker",STAMPPICKER;/*** Provides an in browser PDF editor.** @module moodle-assignfeedback_editpdf-editor*//*** This is a drop down list of stamps.** @namespace M.assignfeedback_editpdf* @class stamppicker* @constructor* @extends M.assignfeedback_editpdf.dropdown*/STAMPPICKER = function(config) {STAMPPICKER.superclass.constructor.apply(this, [config]);};Y.extend(STAMPPICKER, M.assignfeedback_editpdf.dropdown, {/*** Initialise the menu.** @method initializer* @return void*/initializer: function(config) {var stamplist = Y.Node.create('<ul role="menu" class="assignfeedback_editpdf_menu"/>');// Build a list of stamped buttons.Y.each(this.get('stamps'), function(stamp) {var button, listitem, title;title = M.util.get_string('stamp', 'assignfeedback_editpdf');button = Y.Node.create('<button><img height="16" width="16" alt="' + title + '" src="' + stamp + '"/></button>');button.setAttribute('data-stamp', stamp);button.setAttribute('role', 'menuitem');button.setStyle('backgroundImage', 'none');listitem = Y.Node.create('<li/>');listitem.append(button);listitem.setAttribute('role', 'none');stamplist.append(listitem);}, this);// Set the call back.stamplist.delegate('click', this.callback_handler, 'button', this);stamplist.delegate('key', this.callback_handler, 'down:13', 'button', this);// Set the accessible header text.this.set('headerText', M.util.get_string('stamppicker', 'assignfeedback_editpdf'));// Set the body content.this.set('bodyContent', stamplist);STAMPPICKER.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: STAMPPICKER_NAME,ATTRS: {/*** The list of stamps this stamp picker supports.** @attribute stamps* @type String[] - the stamp filenames.* @default {}*/stamps: {value: []},/*** The function called when a new stamp is chosen.** @attribute callback* @type function* @default null*/callback: {value: null},/*** The context passed to the callback when a stamp is chosen.** @attribute context* @type Y.Node* @default null*/context: {value: null}}});M.assignfeedback_editpdf = M.assignfeedback_editpdf || {};M.assignfeedback_editpdf.stamppicker = STAMPPICKER;