芝麻web文件管理V1.00
编辑当前文件:/home2/sdektunc/www/cepali/mod/assign/feedback/editpdf/yui/src/editor/js/dropdown.js
var DROPDOWN_NAME = "Dropdown menu", DROPDOWN; /** * Provides an in browser PDF editor. * * @module moodle-assignfeedback_editpdf-editor */ /** * This is a drop down list of buttons triggered (and aligned to) a button. * * @namespace M.assignfeedback_editpdf * @class dropdown * @constructor * @extends M.core.dialogue */ DROPDOWN = function(config) { config.draggable = false; config.centered = false; config.width = 'auto'; config.visible = false; config.footerContent = ''; DROPDOWN.superclass.constructor.apply(this, [config]); }; Y.extend(DROPDOWN, M.core.dialogue, { /** * Initialise the menu. * * @method initializer * @return void */ initializer: function(config) { var button, body, headertext, bb; DROPDOWN.superclass.initializer.call(this, config); bb = this.get('boundingBox'); bb.addClass('assignfeedback_editpdf_dropdown'); // Align the menu to the button that opens it. button = this.get('buttonNode'); // Close the menu when clicked outside (excluding the button that opened the menu). body = this.bodyNode; headertext = Y.Node.create('
'); headertext.addClass('accesshide'); headertext.setHTML(this.get('headerText')); body.prepend(headertext); body.on('clickoutside', function(e) { if (this.get('visible')) { // Note: we need to compare ids because for some reason - sometimes button is an Object, not a Y.Node. if (e.target.get('id') !== button.get('id') && e.target.ancestor().get('id') !== button.get('id')) { e.preventDefault(); this.hide(); } } }, this); button.on('click', function(e) { e.preventDefault(); this.show(); }, this); button.on('key', this.show, 'enter,space', this); }, /** * Override the show method to align to the button. * * @method show * @return void */ show: function() { var button = this.get('buttonNode'), result = DROPDOWN.superclass.show.call(this); this.align(button, [Y.WidgetPositionAlign.TL, Y.WidgetPositionAlign.BL]); return result; } }, { NAME: DROPDOWN_NAME, ATTRS: { /** * The header for the drop down (only accessible to screen readers). * * @attribute headerText * @type String * @default '' */ headerText: { value: '' }, /** * The button used to show/hide this drop down menu. * * @attribute buttonNode * @type Y.Node * @default null */ buttonNode: { value: null } } }); Y.Base.modifyAttrs(DROPDOWN, { /** * Whether the widget should be modal or not. * * Moodle override: We override this for commentsearch to force it always false. * * @attribute Modal * @type Boolean * @default false */ modal: { getter: function() { return false; } } }); M.assignfeedback_editpdf = M.assignfeedback_editpdf || {}; M.assignfeedback_editpdf.dropdown = DROPDOWN;