Skip to content

Instantly share code, notes, and snippets.

@pvmsikrsna
Forked from Serabe/application.controller.js
Created August 31, 2016 16:26
Show Gist options
  • Save pvmsikrsna/3cab519f4c5cee26cd3396b8fdba5728 to your computer and use it in GitHub Desktop.
Save pvmsikrsna/3cab519f4c5cee26cd3396b8fdba5728 to your computer and use it in GitHub Desktop.
Custom Input components
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
inputComponent: 'my-text-field',
componentNames: [
'my-text-field',
'my-checkbox',
'my-textarea'
],
actions: {
selectComponent(componentName) {
this.set('inputComponent', componentName);
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
{{my-text-field value=value}}<br>
{{my-checkbox checked=value}}<br>
{{my-textarea value=value}}<br>
<p>
Value: <span class="value">{{value}}</span>
</p>
{{component inputComponent value=value2 checked=value2}}<br>
{{#each componentNames as |comp|}}
<button
disabled={{x-eq comp inputComponent}}
onclick={{action "selectComponent" comp}}>
{{comp}}
</button>
{{/each}}
<p>
Value 2: <span class="value">{{value2}}</span>
</p>
<br>
<br>
import Ember from 'ember';
export function xEq([a,b]/*, hash*/) {
return a === b;
}
export default Ember.Helper.helper(xEq);
import Ember from 'ember';
export default Ember.Checkbox.extend({
});
import Ember from 'ember';
export default Ember.TextField.extend({
});
import Ember from 'ember';
export default Ember.TextArea.extend({
});
{
"version": "0.5.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.2.0/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment