muu

DEPRECATED lightweight JS framework
git clone https://git.ce9e.org/muu.git

commit
993bb84d2f22418a3c82597486c929d9f42886c8
parent
df1624378bdf47b7f5b1a34cb6f89a0afa661b85
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2015-08-30 20:23
expand createEvent

Diffstat

M src/muu-directive.js 3 ++-
M src/muu-dom-helpers.js 12 ++++++++----
M test/test-dom-helpers.js 14 +++++++++++++-

3 files changed, 23 insertions, 6 deletions


diff --git a/src/muu-directive.js b/src/muu-directive.js

@@ -42,7 +42,8 @@ define('muu-directive', ['muu-dom-helpers', 'muu-js-helpers', 'muu-update-dom'],
   42    42             var attrName = 'data-on' + originalEvent.type;
   43    43             if (originalEvent.target.hasAttribute(attrName)) {
   44    44                 var eventName = originalEvent.target.getAttribute(attrName);
   45    -1                 var event = $.createEvent('muu-' + eventName, originalEvent);
   -1    45                 var event = $.createEvent(
   -1    46                     'muu-' + eventName, undefined, undefined, originalEvent);
   46    47                 root.dispatchEvent(event);
   47    48             }
   48    49         };

diff --git a/src/muu-dom-helpers.js b/src/muu-dom-helpers.js

@@ -37,19 +37,23 @@ define("muu-dom-helpers", ['muu-js-helpers'], function(_) {
   37    37      * with this.
   38    38      *
   39    39      * @param {string} type
   40    -1      * @param {*} detail
   -1    40      * @param {boolean} [bubbles]
   -1    41      * @param {boolean} [cancelable]
   -1    42      * @param {*} [detail]
   41    43      * @return {Event}
   42    44      * @see https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events
   43    45      * @nosideeffects
   44    46      */
   45    -1     $.createEvent = function(type, detail) {
   -1    47     $.createEvent = function(type, bubbles, cancelable, detail) {
   46    48         if (typeof CustomEvent === 'function') {
   47    49             return new CustomEvent(type, {
   48    -1                 detail: detail
   -1    50                 detail: detail,
   -1    51                 bubbles: bubbles,
   -1    52                 cancelable: cancelable
   49    53             });
   50    54         } else {
   51    55             var event = document.createEvent('CustomEvent');
   52    -1             event.initCustomEvent(type, false, true, detail);
   -1    56             event.initCustomEvent(type, bubbles, cancelable, detail);
   53    57             return event;
   54    58         }
   55    59     };

diff --git a/test/test-dom-helpers.js b/test/test-dom-helpers.js

@@ -25,9 +25,21 @@ define(['muu-dom-helpers'], function($) {
   25    25                 expect(event.type).to.equal('foobar');
   26    26             });
   27    27             it('creates an event with specified details', function() {
   28    -1                 var event = $.createEvent('foobar', 37);
   -1    28                 var event = $.createEvent('foobar', undefined, undefined, 37);
   29    29                 expect(event.detail).to.equal(37);
   30    30             });
   -1    31             it('creates an event with specified bubbles', function() {
   -1    32                 var event1 = $.createEvent('foobar', true);
   -1    33                 expect(event1.bubbles).to.be(true);
   -1    34                 var event2 = $.createEvent('foobar', false);
   -1    35                 expect(event2.bubbles).to.be(false);
   -1    36             });
   -1    37             it('creates an event with specified cancelable', function() {
   -1    38                 var event1 = $.createEvent('foobar', undefined, true);
   -1    39                 expect(event1.cancelable).to.be(true);
   -1    40                 var event2 = $.createEvent('foobar', undefined, false);
   -1    41                 expect(event2.cancelable).to.be(false);
   -1    42             });
   31    43         });
   32    44 
   33    45         describe('on', function() {