[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 YUI.add('moodle-core-event', function (Y, NAME) { 2 3 // This file is part of Moodle - http://moodle.org/ 4 // 5 // Moodle is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // Moodle is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 17 18 /** 19 * @module moodle-core-event 20 */ 21 22 var LOGNAME = 'moodle-core-event'; 23 24 /** 25 * List of published global JS events in Moodle. This is a collection 26 * of global events that can be subscribed to, or fired from any plugin. 27 * 28 * @namespace M.core 29 * @class event 30 */ 31 M.core = M.core || {}; 32 33 M.core.event = M.core.event || { 34 /** 35 * This event is triggered when a page has added dynamic nodes to a page 36 * that should be processed by the filter system. An example is loading 37 * user text that could have equations in it. MathJax can typeset the equations 38 * but only if it is notified that there are new nodes in the page that need processing. 39 * To trigger this event use M.core.Event.fire(M.core.Event.FILTER_CONTENT_UPDATED, {nodes: list}); 40 * 41 * @event "filter-content-updated" 42 * @param nodes {Y.NodeList} List of nodes added to the DOM. 43 */ 44 FILTER_CONTENT_UPDATED: "filter-content-updated", 45 /** 46 * This event is triggered when an editor has recovered some draft text. 47 * It can be used to determine let other sections know that they should reset their 48 * form comparison for changes. 49 * 50 * @event "editor-content-restored" 51 */ 52 EDITOR_CONTENT_RESTORED: "editor-content-restored" 53 }; 54 55 M.core.globalEvents = M.core.globalEvents || { 56 /** 57 * This event is triggered when form has an error 58 * 59 * @event "form_error" 60 * @param formid {string} Id of form with error. 61 * @param elementid {string} Id of element with error. 62 */ 63 FORM_ERROR: "form_error", 64 65 /** 66 * This event is triggered when the content of a block has changed 67 * 68 * @event "block_content_updated" 69 * @param instanceid ID of the block instance that was updated 70 */ 71 BLOCK_CONTENT_UPDATED: "block_content_updated" 72 }; 73 74 75 var eventDefaultConfig = { 76 emitFacade: true, 77 defaultFn: function(e) { 78 Y.log('Event fired: ' + e.type, 'debug', LOGNAME); 79 }, 80 preventedFn: function(e) { 81 Y.log('Event prevented: ' + e.type, 'debug', LOGNAME); 82 }, 83 stoppedFn: function(e) { 84 Y.log('Event stopped: ' + e.type, 'debug', LOGNAME); 85 } 86 }; 87 88 // Publish events with a custom config here. 89 90 // Publish all the events with a standard config. 91 var key; 92 for (key in M.core.event) { 93 if (M.core.event.hasOwnProperty(key) && Y.getEvent(M.core.event[key]) === null) { 94 Y.publish(M.core.event[key], eventDefaultConfig); 95 } 96 } 97 98 // Publish global events. 99 for (key in M.core.globalEvents) { 100 // Make sure the key exists and that the event has not yet been published. Otherwise, skip publishing. 101 if (M.core.globalEvents.hasOwnProperty(key) && Y.Global.getEvent(M.core.globalEvents[key]) === null) { 102 Y.Global.publish(M.core.globalEvents[key], Y.merge(eventDefaultConfig, {broadcast: true})); 103 Y.log('Global event published: ' + key, 'debug', LOGNAME); 104 } 105 } 106 107 108 }, '@VERSION@', {"requires": ["event-custom"]});
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |