diff --git a/ember/ember-tests.ts b/ember/ember-tests.ts index 3a20985bd4..24fb8164bb 100644 --- a/ember/ember-tests.ts +++ b/ember/ember-tests.ts @@ -3,7 +3,7 @@ var App; -App = Em.Application.create(); +App = Ember.Application.create(); App.president = Ember.Object.create({ name: "Barack Obama" @@ -16,7 +16,7 @@ App.country.get('presidentName'); App.president = Ember.Object.create({ firstName: "Barack", lastName: "Obama", - fullName: () => { + fullName: function(){ return this.get('firstName') + ' ' + this.get('lastName'); }.property() }); @@ -124,7 +124,7 @@ App.userController = Ember.Object.create({ }); Handlebars.registerHelper('highlight', (property, options) => { - var value = Ember.Handlebars.getPath(this, property, options); + var value = Ember.Handlebars.get(this, property, options); return new Handlebars.SafeString('' + value + ''); }); @@ -182,4 +182,4 @@ people2.some((person, index, self) => { if (person.get('isHappy')) { return true; } }); people2.everyProperty('isHappy', true); -people2.someProperty('isHappy', true); \ No newline at end of file +people2.someProperty('isHappy', true); diff --git a/ember/ember.d.ts b/ember/ember.d.ts index 8cf1280132..41d9f41e47 100644 --- a/ember/ember.d.ts +++ b/ember/ember.d.ts @@ -18,6 +18,7 @@ declare module Ember { export class Object extends CoreObject { static create(...arguments: any[]): Object; + static extend: Function; addObserver(key: string, target: Object, method: any): Object; apply(obj: Object): Object; @@ -25,8 +26,9 @@ declare module Ember { cacheFor(keyName: string): Object; decrementProperty(keyName: string, increment: Object): Object; detect(obj: Object): boolean; - endPropertyChanges(): Observable; - get(key: string): Object; + endPropertyChanges(): Observable; + get(key: string): any; + getPath(path: string): any; // Deprecated getProperties(...list: string[]): any; getProperties(list: string[]): any; getWithDefault(keyName: string, defaultValue: Object): Object; @@ -38,7 +40,7 @@ declare module Ember { removeObserver(key: string, target: Object, method: string): Observable; removeObserver(key: string, target: Object, method: Function): Observable; reopen(...arguments: any[]); - set(key: string, value: Object): Observable; + set(key: string, value: any): Observable; setProperties(hash: any): Observable; setUnknownProperty(key: string, value: Object): void; toggleProperty(keyName: string): Object; @@ -53,8 +55,12 @@ declare module Ember { reopen(...arguments: any[]): Mixin; } + //http://emberjs.com/api/classes/Ember.View.html export class View extends Object { append(): View; + appendTo(element:any): View; + remove(): View; + static create(...arguments: any[]): View; } @@ -181,6 +187,28 @@ declare module Ember { toggleProperty(keyName: string): Object; unknownProperty(key: string): Object; } + + // http://emberjs.com/api/classes/Ember.TextField.html + export class TextField extends Object { + static create(...arguments: any[]): TextField; + } + + // http://emberjs.com/api/classes/Ember.TextArea.html + export class TextArea extends Object { + static create(...arguments: any[]): TextArea; + } + + // http://emberjs.com/api/classes/Ember.ContainerView.html + export class ContainerView extends Ember.View { + static create(...arguments: any[]): ContainerView; + + pushObject(view:Ember.View); + } + + // http://emberjs.com/api/classes/Ember.Handlebars.html + export module Handlebars{ + var get: Function; + } } @@ -293,3 +321,18 @@ interface EmberStatic { } declare var Em: EmberStatic; + +// What ember adds to functions +interface Function { + property(...dependents:string[]): any; +} + +// Ember enumerables work on native arrays +// http://emberjs.com/api/classes/Ember.Enumerable.html +interface Array { + everyProperty: Function; + getEach: Function; + invoke: Function; + setEach: Function; + someProperty: Function; +} \ No newline at end of file