Skip to content

Instantly share code, notes, and snippets.

@garth
Created November 30, 2012 20:44
Show Gist options
  • Save garth/4178463 to your computer and use it in GitHub Desktop.
Save garth/4178463 to your computer and use it in GitHub Desktop.
Using Emberjs code on the server side with Nodejs
// enable emberjs globally
GLOBAL.Ember = { lookup: GLOBAL }
require('./vendor/ember/ember-runtime')
// define the client App object
GLOBAL.App = Ember.Application.create({})
// include ember models
require('./public/js/login')
// enable emberjs globally
GLOBAL.window = { console: console }
GLOBAL.Ember = {}
require('./vendor/ember/ember-runtime');
delete GLOBAL.window
// define the client App object
GLOBAL.App = Ember.Application.create({})
// include ember models
require('./public/js/login')
<div id="login">
<div class="modal-header">
<h3>Sign in</h3>
</div>
<div class="modal-body">
<form class="form-horizontal">
<fieldset>
<div class="control-group">
<label class="control-label" for="email">Email Address</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><i class="icon-envelope"></i></span>{{view Ember.TextField valueBinding="email" class="input-xlarge" placeholder="email address" id="email"}}
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="password">Password</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><i class="icon-key"></i></span>{{view Ember.TextField valueBinding="password" type="password" class="input-xlarge" placeholder="password" id="password"}}
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="rememberUser">Remember me</label>
<div class="controls">
{{view Ember.Checkbox checkedBinding="rememberUser" class="input-xlarge" id="rememberUser"}}
</div>
</div>
</fieldset>
</form>
{{#if status}}
<div class="alert alert-info">
{{status}}
</div>
{{/if}}
</div>
<div class="modal-footer">
<button {{action doLogin}} class="btn btn-primary"><i class="icon-signin icon-white"></i> Sign in</button>
</div>
</div>
App.Login = Ember.Object.extend({
email: '',
password: '',
rememberUser: false,
status: function () {
if (this.get('email').length === 0) {
return 'Please enter an email address'
}
if (this.get('password').length === 0) {
return 'Please enter a password'
}
return ''
}.property('email', 'password'),
isValid: function () {
return this.get('status').length === 0
}.property('status')
})
require('./login')
require('./loginView')
//create the controller
App.LoginController = Ember.ObjectController.extend({
content: null
})
require('./login.handlebars')
App.LoginView = Ember.View.extend({
templateName: 'login'
})
@garth
Copy link
Author

garth commented Nov 30, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment