Added som tests. Updated definitions.

This commit is contained in:
Jonathan Hedrén
2013-10-28 12:47:58 +01:00
parent dcfdf8ca90
commit 385f229aa9
2 changed files with 51 additions and 3 deletions
+48 -1
View File
@@ -1 +1,48 @@
/// <reference path="flight.d.ts" />
/// <reference path="flight.d.ts" />
declare var el: Element;
declare var els: Element[];
declare var mixinFn: Function;
function TestComponent() {
var self: FlightBase = this;
self.defaultAttrs({
fooSelector: '.bar'
});
this.onClick = function (ev: JQueryEventObject, data) {
self.select('fooSelector').addClass('bar');
};
self.around('initialize', function () { });
self.before('initialize', function () { });
self.after("initialize", function () {
var $node: JQuery = self.$node;
var node: Element = self.node;
self.on(el, 'click', {});
self.on(els, 'click', function () { });
self.on(document, 'click', this.onClick);
self.on('click', function () { });
self.on('click', {
fooSelector: this.onClick
});
self.off('click', function () { });
self.off(document, 'click');
self.off(el, 'click')
self.off(els, 'click');
self.teardown();
});
}
flight.component(TestComponent, mixinFn).attachTo(el);
flight.component(TestComponent, mixinFn).attachTo($(els));
flight.component(TestComponent, mixinFn).attachTo('.test');
flight.component(TestComponent, mixinFn).attachTo('.test', {
some: 'data'
});
flight.component.teardownAll();
+3 -2
View File
@@ -36,7 +36,7 @@ interface FlightBase extends FlightAdvice, FlightComponent {
*
* @param attr
*/
select(attr: string)
select(attr: string): JQuery;
/**
* This method is attached to the prototype of every Component; it accepts
@@ -50,7 +50,7 @@ interface FlightBase extends FlightAdvice, FlightComponent {
* API for more information). This is a good place to set up event
* listeners that bind to callbacks.
*/
initialize();
initialize(node, options: Object);
/**
* This allows a component instance to listen to an event and register a
@@ -66,6 +66,7 @@ interface FlightBase extends FlightAdvice, FlightComponent {
* targets and callbacks.
*/
on(eventType: string, handler: Function);
on(eventType: string, handler: Object);
on(selector: string, eventType: string, handler: Function);
on(selector: Document, eventType: string, handler: Function);
on(selector: Element, eventType: string, handler: Function);