Skip to content

Instantly share code, notes, and snippets.

@joachimhs
Created January 15, 2013 17:30
Show Gist options
  • Select an option

  • Save joachimhs/4540337 to your computer and use it in GitHub Desktop.

Select an option

Save joachimhs/4540337 to your computer and use it in GitHub Desktop.
EurekaJ = Ember.Application.create();
EurekaJ.Router.map(function() {
this.route("login", {path: "/"});
this.resource("main", {path: "/main"}, function() {
this.route("dashboard");
this.route("charts");
this.route("chartGroups");
this.route("alerts");
this.route("administration");
});
});
EurekaJ.LoginRoute = Ember.Route.extend({
events: {
doLogin: function() {
console.log('logging in!');
this.transitionTo('main.index');
}
}
});
EurekaJ.MainIndexRoute = Ember.Route.extend({
redirect: function() {
console.log('redirecting to Dashboard!');
this.transitionTo('main.dashboard');
}
});
EurekaJ.MainDashboardRoute = Ember.Route.extend({
});
EurekaJ.MainChartsRoute = Ember.Route.extend({
model: function() {
return EurekaJ.MainMenuModel.find();
},
setupController: function(controller, model) {
//controller.set('content', model); //Tried it with an without this, even with set('content', EurekaJ.MainMenuModel.find());
}
});
EurekaJ.MainChartsController = Ember.ArrayController.extend({
content: []
});
EurekaJ.HeaderView = Ember.View.extend({
elementId: 'headerArea'
});
EurekaJ.MainDashboardView = Ember.View.extend({
elementId: 'mainContentArea'
});
EurekaJ.ChartsView = Ember.View.extend({
elementId: 'chartsArea',
templateName: 'charts'
});
EurekaJ.ChartMenuView = Ember.View.extend({
elementId: 'menuArea'
});
EurekaJ.BootstrapButton = Ember.View.extend(Ember.TargetActionSupport, {
tagName: 'button',
classNames: ['button'],
disabled: false,
click: function() {
if (!this.get('disabled')) {
this.triggerAction();
}
},
template: Ember.Handlebars.compile('{{#if view.iconName}}<i {{bindAttr class="view.iconName"}}></i>{{/if}}{{view.content}}')
});
EurekaJ.HeaderController = Ember.Controller.extend({
});
Ember.TEMPLATES['application'] = Ember.Handlebars.compile('' +
'{{render header}}' +
'{{outlet}}'
);
Ember.TEMPLATES['header'] = Ember.Handlebars.compile('' +
'<span class="headerText">{{#linkTo main}}<img src="/img/logo-small.png" />{{/linkTo}}</span>' +
'{{view EurekaJ.BootstrapButton target="controller" action="doAdmin" classNames="btn-info btn-mini pull-right mediumTopPadding" content="Administration" iconName="icon-cog"}}' +
'{{view EurekaJ.BootstrapButton classNames="btn-info btn-mini pull-right mediumTopPadding" content="Chart Options"}}'
);
Ember.TEMPLATES['main/dashboard'] = Ember.Handlebars.compile('' +
'{{#linkTo main.charts}}Charts{{/linkTo}}<br />' +
'{{#linkTo main.alerts}}Alerts{{/linkTo}}<br />' +
'{{#linkTo main.chartGroups}}Chart Groups{{/linkTo}}<br />' +
'{{#linkTo main.charts}}Adminisration{{/linkTo}}<br />'
);
Ember.TEMPLATES['main/charts'] = Ember.Handlebars.compile('' +
'{{render chartMenu}}' +
'{{render charts}}'
);
Ember.TEMPLATES['charts'] = Ember.Handlebars.compile('' +
'{{controller}}'
);
Ember.TEMPLATES['chartMenu'] = Ember.Handlebars.compile('' +
'{{controller}}'
);
Ember.TEMPLATES['login'] = Ember.Handlebars.compile('' +
'<div class="loginBox well">' +
'<h1>EurekaJ Login</h1> ' +
'Username: <br />' +
'{{view Ember.TextField elementId="usernameInput" value=""}}<br />' +
'Password: <br />' +
'{{view Ember.TextField elementId="passwordInput" value=""}}<br />' +
'{{view Ember.Checkbox elementId="remeberCheck" }} Remember me<br />' +
'<button {{action doLogin}} class="tenPxMarginTop">Login</button>' +
'</div>'
);
EurekaJ.store = DS.Store.create({
//adapter: EurekaJ.Adapter,
adapter: DS.RESTAdapter.create({ bulkCommit: false }),
revision: 11
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment