Skip to content

Instantly share code, notes, and snippets.

@angelomachado
Created March 29, 2017 15:00
Show Gist options
  • Save angelomachado/840d28fb441e1409d17d4baa015a77f2 to your computer and use it in GitHub Desktop.
Save angelomachado/840d28fb441e1409d17d4baa015a77f2 to your computer and use it in GitHub Desktop.
Exemplo input
import Ember from 'ember';
const {
Component,
computed,
defineProperty
} = Ember;
export default Component.extend({
/**
* A model que contém o atributo
*
* @property model
* @type {Object}
* @default null
* @public
*/
model: null,
/**
* Propriedade HTML type
*
* @property type
* @type {String}
* @default 'text'
* @public
*/
type: 'text',
/**
* Propriedade HTML value
*
* @property value
* @type {String}
* @default null
* @public
*/
value: null,
/**
* O nome do atributo
*
* @property valuePath
* @type {String}
* @default null
* @public
*/
valuePath: null,
change: null,
keyDown: null,
keyUp: null,
keyPress: null,
init() {
this._super(...arguments);
let valuePath = this.get('valuePath');
defineProperty(this, 'value', computed.alias(`model.${valuePath}`));
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
model: {
name: null
},
actions: {
keyDown() {
console.log('evento keyDown disparado');
}
}
});
{{outlet}}
{{basic-input model=model valuePath="name" keyDown=(action "keyDown")}}
O nome informado é {{model.name}}
<br>
{{input
type=type
value=value
}}
{
"version": "0.12.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-data": "2.12.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment