Skip to content

Commit

Permalink
fix fire ret. Fixes #461
Browse files Browse the repository at this point in the history
  • Loading branch information
yiminghe committed Aug 29, 2013
1 parent 33a301f commit baff79c
Show file tree
Hide file tree
Showing 41 changed files with 1,769 additions and 1,648 deletions.
2 changes: 1 addition & 1 deletion build/event-min.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Copyright 2013, KISSY v1.40dev
MIT Licensed
build time: Aug 29 14:20
build time: Aug 29 19:58
*/
KISSY.add("event",function(a,c,b){a.EventTarget=b.Target;return a.Event=a.merge(c,b)},{requires:["event/dom","event/custom"]});
2 changes: 1 addition & 1 deletion build/event.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright 2013, KISSY v1.40dev
MIT Licensed
build time: Aug 29 14:20
build time: Aug 29 19:58
*/
/*
Combined processedModules by KISSY Module Compiler:
Expand Down
6 changes: 3 additions & 3 deletions build/event/base-min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 9 additions & 13 deletions build/event/base.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright 2013, KISSY v1.40dev
MIT Licensed
build time: Aug 29 14:20
build time: Aug 29 19:57
*/
/*
Combined processedModules by KISSY Module Compiler:
Expand Down Expand Up @@ -307,7 +307,12 @@ KISSY.add('event/base/observer', function (S, undefined) {
* @param {KISSY.Event.Observable} ce
*/
notifyInternal: function (event, ce) {
return this.simpleNotify(event, ce);
var ret = this.simpleNotify(event, ce);
// return false 等价 preventDefault + stopPropagation
if (ret === false) {
event.halt();
}
return ret;
},

/**
Expand All @@ -316,24 +321,15 @@ KISSY.add('event/base/observer', function (S, undefined) {
* @param ce
*/
notify: function (event, ce) {

var ret,
self = this,
var self = this,
_ks_groups = event._ks_groups;

// handler's group does not match specified groups (at fire step)
if (_ks_groups && (!self.groups || !(self.groups.match(_ks_groups)))) {
return undefined;
}

ret = self.notifyInternal(event, ce);

// return false 等价 preventDefault + stopPropagation
if (ret === false) {
event.halt();
}

return ret;
return self.notifyInternal(event, ce);
}

};
Expand Down
18 changes: 9 additions & 9 deletions build/event/custom-min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 7 additions & 15 deletions build/event/custom.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright 2013, KISSY v1.40dev
MIT Licensed
build time: Aug 29 14:20
build time: Aug 29 19:57
*/
/*
Combined processedModules by KISSY Module Compiler:
Expand Down Expand Up @@ -31,9 +31,7 @@ KISSY.add('event/custom/observer', function (S, BaseEvent) {
}

S.extend(CustomEventObserver, BaseEvent.Observer, {

keys:['fn','context','groups']

});

return CustomEventObserver;
Expand Down Expand Up @@ -85,8 +83,8 @@ KISSY.add('event/custom/object', function (S, BaseEvent) {
* @author yiminghe@gmail.com
*/
KISSY.add('event/custom/observable', function (S, CustomEventObserver, CustomEventObject, BaseEvent) {

var Utils = BaseEvent.Utils;
var undefined = undefined;

/**
* custom event for registering and un-registering observer for specified event on normal object.
Expand Down Expand Up @@ -137,7 +135,6 @@ KISSY.add('event/custom/observable', function (S, CustomEventObserver, CustomEve
* return last value of custom event 's observers (include bubbled) 's return value.
*/
fire: function (eventData) {

eventData = eventData || {};

var self = this,
Expand All @@ -162,7 +159,7 @@ KISSY.add('event/custom/observable', function (S, CustomEventObserver, CustomEve

ret = self.notify(customEventObject);

if (gRet !== false) {
if (gRet !== false && ret != undefined) {
gRet = ret;
}

Expand All @@ -178,7 +175,7 @@ KISSY.add('event/custom/observable', function (S, CustomEventObserver, CustomEve
ret = parents[i].fire(type, customEventObject);

// false 优先返回
if (gRet !== false) {
if (gRet !== false && ret !== undefined) {
gRet = ret;
}

Expand Down Expand Up @@ -218,13 +215,9 @@ KISSY.add('event/custom/observable', function (S, CustomEventObserver, CustomEve

for (i = 0; i < len && !event.isImmediatePropagationStopped(); i++) {
ret = observers[i].notify(event, this);
if (gRet !== false) {
if (gRet !== false && ret !== undefined) {
gRet = ret;
}
if (ret === false) {
// not immediate stop
event.halt();
}
}

return gRet;
Expand Down Expand Up @@ -341,9 +334,9 @@ KISSY.add('event/custom/observable', function (S, CustomEventObserver, CustomEve
KISSY.add('event/custom/target', function (S, BaseEvent, CustomEventObservable) {
var Utils = BaseEvent.Utils,
splitAndRun = Utils.splitAndRun,
undefined = undefined,
KS_BUBBLE_TARGETS = '__~ks_bubble_targets';


/**
* @class KISSY.Event.Target
* @singleton
Expand All @@ -356,7 +349,6 @@ KISSY.add('event/custom/target', function (S, BaseEvent, CustomEventObservable)
* or will not be created at all.
*/
return {

isTarget: 1,

/**
Expand Down Expand Up @@ -408,7 +400,7 @@ KISSY.add('event/custom/target', function (S, BaseEvent, CustomEventObservable)

r2 = customEventObservable.fire(eventData);

if (ret !== false) {
if (ret !== false && r2 !== undefined) {
ret = r2;
}

Expand Down

0 comments on commit baff79c

Please sign in to comment.