Merge pull request #1071 from jedhunsaker/ember

Fix Ember and Handlebars
This commit is contained in:
Diullei Gomes
2013-09-22 11:39:48 -07:00
3 changed files with 3048 additions and 360 deletions
+39 -34
View File
@@ -3,31 +3,36 @@
var App;
App = Ember.Application.create();
App = Em.Application.create();
App.president = Ember.Object.create({
App.president = Em.Object.create({
name: "Barack Obama"
});
App.country = Ember.Object.create({
App.country = Em.Object.create({
presidentNameBinding: 'MyApp.president.name'
});
App.country.get('presidentName');
App.president = Ember.Object.create({
App.president = Em.Object.create({
firstName: "Barack",
lastName: "Obama",
fullName: function(){
fullName: function () {
return this.get('firstName') + ' ' + this.get('lastName');
}.property()
});
App.president.get('fullName');
var Person = Ember.Object.extend({
declare class MyPerson extends Em.Object {
static createMan(): MyPerson;
}
var Person = Em.Object.extend<typeof MyPerson>({
say: (thing) => {
alert(thing);
}
});
var tom = Person.create({
declare class MyPerson2 extends Em.Object {
helloWorld(): void;
}
var tom = Person.create<MyPerson2>({
name: "Tom Dale",
helloWorld: () => {
this.say("Hi my name is " + this.get('name'));
@@ -52,9 +57,9 @@ var person = Person.create({
person.addObserver('fullName', () => { });
person.set('firstName', "Brohuda");
App.todosController = Ember.Object.create({
App.todosController = Em.Object.create({
todos: [
Ember.Object.create({ isDone: false })
Em.Object.create({ isDone: false })
],
remaining: () => {
var todos = this.get('todos');
@@ -66,35 +71,35 @@ var todos = App.todosController.get('todos');
var todo = todos.objectAt(0);
todo.set('isDone', true);
App.todosController.get('remaining');
todo = Ember.Object.create({ isDone: false });
todo = Em.Object.create({ isDone: false });
todos.pushObject(todo);
App.todosController.get('remaining');
App.wife = Ember.Object.create({
App.wife = Em.Object.create({
householdIncome: 80000
});
App.husband = Ember.Object.create({
App.husband = Em.Object.create({
householdIncomeBinding: 'App.wife.householdIncome'
});
App.husband.get('householdIncome');
App.husband.set('householdIncome', 90000);
App.wife.get('householdIncome');
App.user = Ember.Object.create({
App.user = Em.Object.create({
fullName: "Kara Gates"
});
App.userView = Ember.View.create({
userNameBinding: Ember.Binding.oneWay('App.user.fullName')
App.userView = Em.View.create({
userNameBinding: Em.Binding.oneWay('App.user.fullName')
});
App.user.set('fullName', "Krang Gates");
App.userView.set('userName', "Truckasaurus Gates");
App.user.get('fullName');
App = Ember.Application.create({
App = Em.Application.create({
rootElement: '#sidebar'
});
var view = Ember.View.create({
var view = Em.View.create({
templateName: 'say-hello',
name: "Bob"
});
@@ -102,20 +107,20 @@ view.appendTo('#container');
view.append();
view.remove();
App.AlertView = Ember.View.extend({
App.AlertView = Em.View.extend({
priority: "p4",
isUrgent: true
});
App.ListingView = Ember.View.extend({
App.ListingView = Em.View.extend({
templateName: 'listing',
edit: (event) => {
event.view.set('isEditing', true);
}
});
App.userController = Ember.Object.create({
content: Ember.Object.create({
App.userController = Em.Object.create({
content: Em.Object.create({
firstName: "Albert",
lastName: "Hofmann",
posts: 25,
@@ -124,50 +129,50 @@ App.userController = Ember.Object.create({
});
Handlebars.registerHelper('highlight', (property, options) => {
var value = Ember.Handlebars.get(this, property, options);
var value = Em.Handlebars.get(this, property, options);
return new Handlebars.SafeString('<span class="highlight">' + value + '</span>');
});
App.MyText = Ember.TextField.extend({
App.MyText = Em.TextField.extend({
formBlurredBinding: 'App.adminController.formBlurred',
change: (evt) => {
this.set('formBlurred', true);
}
});
var textArea = Ember.TextArea.create({
var textArea = Em.TextArea.create({
valueBinding: 'TestObject.value'
});
App.ClickableView = Ember.View.extend({
App.ClickableView = Em.View.extend({
click: (evt) => {
alert("ClickableView was clicked!");
}
});
var container = Ember.ContainerView.create();
var container = Em.ContainerView.create();
container.append();
var coolView = App.CoolView.create(),
childViews = container.get('childViews');
childViews.pushObject(coolView);
Person = Ember.Object.extend({
Person = Em.Object.extend({
sayHello: () => {
console.log("Hello from " + this.get('name'));
}
});
var people = [
Person.create({ name: "Juan" }),
Person.create({ name: "Charles" }),
Person.create({ name: "Majd" })
]
Person.create({ name: "Juan" }),
Person.create({ name: "Charles" }),
Person.create({ name: "Majd" })
];
people.invoke('sayHello');
var arr = [Ember.Object.create(), Ember.Object.create()];
var arr = [Em.Object.create(), Em.Object.create()];
arr.setEach('name', 'unknown');
arr.getEach('name');
Person = Ember.Object.extend({
Person = Em.Object.extend({
name: null,
isHappy: false
});
+2994 -310
View File
File diff suppressed because it is too large Load Diff
+15 -16
View File
@@ -4,20 +4,19 @@
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface HandlebarsStatic {
registerHelper(name: string, fn: Function, inverse?: boolean): void;
registerPartial(name: string, str): void;
K();
createFrame(object);
Exception(message: string): void;
SafeString(str: string): void;
parse(string: string);
print(ast);
logger;
log(level, str): void;
compile(environment, options?, context?, asObject?);
declare module Handlebars {
function registerHelper(name: string, fn: Function, inverse?: boolean): void;
function registerPartial(name: string, str): void;
function K();
function createFrame(object);
function Exception(message: string): void;
class SafeString {
constructor(str: string);
static toString(): string;
}
function parse(string: string);
function print(ast);
var logger;
function log(level, str): void;
function compile(environment, options?, context?, asObject?);
}
declare var Handlebars: HandlebarsStatic;