convert to APF style mixins
This commit is contained in:
parent
2b736e7c8e
commit
1b37c1c6f2
7 changed files with 46 additions and 45 deletions
|
|
@ -44,7 +44,7 @@ ace.BackgroundTokenizer = function(tokenizer) {
|
|||
|
||||
(function(){
|
||||
|
||||
ace.mixin(this, ace.MEventEmitter);
|
||||
ace.implement(this, ace.MEventEmitter);
|
||||
|
||||
this.setTokenizer = function(tokenizer) {
|
||||
this.tokenizer = tokenizer;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ ace.Document = function(text, mode) {
|
|||
|
||||
(function() {
|
||||
|
||||
ace.mixin(ace.Document.prototype, ace.MEventEmitter);
|
||||
ace.implement(this, ace.MEventEmitter);
|
||||
|
||||
this._split = function(text) {
|
||||
return text.split(/\r\n|\r|\n/);
|
||||
|
|
|
|||
|
|
@ -1,38 +1,41 @@
|
|||
ace.provide("ace.MEventEmitter");
|
||||
|
||||
ace.MEventEmitter.$initEvents = function() {
|
||||
this._eventRegistry = {};
|
||||
};
|
||||
|
||||
ace.MEventEmitter.$dispatchEvent = function(eventName, e) {
|
||||
var listeners = this._eventRegistry[eventName];
|
||||
if (!listeners || !listeners.length) return;
|
||||
|
||||
var e = e || {};
|
||||
e.type = eventName;
|
||||
|
||||
for (var i=0; i<listeners.length; i++) {
|
||||
listeners[i](e);
|
||||
}
|
||||
};
|
||||
|
||||
ace.MEventEmitter.addEventListener = function(eventName, callback) {
|
||||
var listeners = this._eventRegistry[eventName];
|
||||
if (!listeners) {
|
||||
var listeners = this._eventRegistry[eventName] = [];
|
||||
}
|
||||
if (ace.arrayIndexOf(listeners, callback) == -1) {
|
||||
listeners.push(callback);
|
||||
}
|
||||
};
|
||||
|
||||
ace.MEventEmitter.removeEventListener = function(eventName, callback) {
|
||||
var listeners = this._eventRegistry[eventName];
|
||||
if (!listeners) {
|
||||
return;
|
||||
}
|
||||
var index = ace.arrayIndexOf(listeners, callback);
|
||||
if (index !== -1) {
|
||||
listeners.splice(index, 1);
|
||||
}
|
||||
ace.MEventEmitter = function() {
|
||||
|
||||
this.$initEvents = function() {
|
||||
this._eventRegistry = {};
|
||||
};
|
||||
|
||||
this.$dispatchEvent = function(eventName, e) {
|
||||
var listeners = this._eventRegistry[eventName];
|
||||
if (!listeners || !listeners.length) return;
|
||||
|
||||
var e = e || {};
|
||||
e.type = eventName;
|
||||
|
||||
for (var i=0; i<listeners.length; i++) {
|
||||
listeners[i](e);
|
||||
}
|
||||
};
|
||||
|
||||
this.addEventListener = function(eventName, callback) {
|
||||
var listeners = this._eventRegistry[eventName];
|
||||
if (!listeners) {
|
||||
var listeners = this._eventRegistry[eventName] = [];
|
||||
}
|
||||
if (ace.arrayIndexOf(listeners, callback) == -1) {
|
||||
listeners.push(callback);
|
||||
}
|
||||
};
|
||||
|
||||
this.removeEventListener = function(eventName, callback) {
|
||||
var listeners = this._eventRegistry[eventName];
|
||||
if (!listeners) {
|
||||
return;
|
||||
}
|
||||
var index = ace.arrayIndexOf(listeners, callback);
|
||||
if (index !== -1) {
|
||||
listeners.splice(index, 1);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ ace.ScrollBar = function(parent) {
|
|||
|
||||
(function() {
|
||||
|
||||
ace.mixin(ace.ScrollBar.prototype, ace.MEventEmitter);
|
||||
ace.implement(this, ace.MEventEmitter);
|
||||
|
||||
this.onScroll = function() {
|
||||
this.$dispatchEvent("scroll", {data: this.element.scrollTop});
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ ace.Selection = function(doc) {
|
|||
|
||||
(function() {
|
||||
|
||||
ace.mixin(ace.Selection.prototype, ace.MEventEmitter);
|
||||
ace.implement(this, ace.MEventEmitter);
|
||||
|
||||
this.updateCursor = function() {
|
||||
this.$dispatchEvent("changeCursor", { data: this.getCursor() });
|
||||
|
|
|
|||
|
|
@ -21,10 +21,8 @@ ace.inherits = function(ctor, superCtor) {
|
|||
ctor.prototype.constructor = ctor;
|
||||
};
|
||||
|
||||
ace.mixin = function(obj, mixin) {
|
||||
for (var key in mixin) {
|
||||
obj[key] = mixin[key];
|
||||
}
|
||||
ace.implement = function(proto, mixin) {
|
||||
mixin.call(proto);
|
||||
};
|
||||
|
||||
ace.addListener = function(elem, type, callback) {
|
||||
|
|
@ -81,7 +79,7 @@ ace.preventDefault = function(e) {
|
|||
|
||||
ace.hasCssClass = function(el, name) {
|
||||
var classes = el.className.split(/\s*/g);
|
||||
return ace.arrayIndexOf(classes, name) !== -1;
|
||||
return ace.arrayIndexOf(classes, name) !== -1;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
var EventEmitter = function() {
|
||||
this.$initEvents();
|
||||
};
|
||||
ace.mixin(EventEmitter.prototype, ace.MEventEmitter);
|
||||
ace.implement(EventEmitter.prototype, ace.MEventEmitter);
|
||||
|
||||
var EventEmitterTest = new TestCase("EventEmitterTest", {
|
||||
"test: dispatch event with no data" : function() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue