[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/lib/yui/build/moodle-core-event/ -> moodle-core-event.js (source)

   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      },
  79      preventedFn: function(e) {
  80      },
  81      stoppedFn: function(e) {
  82      }
  83  };
  84  
  85  // Publish events with a custom config here.
  86  
  87  // Publish all the events with a standard config.
  88  var key;
  89  for (key in M.core.event) {
  90      if (M.core.event.hasOwnProperty(key) && Y.getEvent(M.core.event[key]) === null) {
  91          Y.publish(M.core.event[key], eventDefaultConfig);
  92      }
  93  }
  94  
  95  // Publish global events.
  96  for (key in M.core.globalEvents) {
  97      // Make sure the key exists and that the event has not yet been published. Otherwise, skip publishing.
  98      if (M.core.globalEvents.hasOwnProperty(key) && Y.Global.getEvent(M.core.globalEvents[key]) === null) {
  99          Y.Global.publish(M.core.globalEvents[key], Y.merge(eventDefaultConfig, {broadcast: true}));
 100      }
 101  }
 102  
 103  
 104  }, '@VERSION@', {"requires": ["event-custom"]});


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1