mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 00:29:18 +08:00
7b6d6b76eb
- Also refactors two site settings components into one, with tests
35 lines
839 B
JavaScript
35 lines
839 B
JavaScript
export default Ember.Component.extend({
|
|
classNameBindings: [':value-list'],
|
|
|
|
_setupCollection: function() {
|
|
const values = this.get('values');
|
|
this.set('collection', (values && values.length) ? values.split("\n") : []);
|
|
}.on('init').observes('values'),
|
|
|
|
_collectionChanged: function() {
|
|
this.set('values', this.get('collection').join("\n"));
|
|
}.observes('collection.@each'),
|
|
|
|
inputInvalid: Ember.computed.empty('newValue'),
|
|
|
|
keyDown(e) {
|
|
if (e.keyCode === 13) {
|
|
this.send('addValue');
|
|
}
|
|
},
|
|
|
|
actions: {
|
|
addValue() {
|
|
if (this.get('inputInvalid')) { return; }
|
|
|
|
this.get('collection').addObject(this.get('newValue'));
|
|
this.set('newValue', '');
|
|
},
|
|
|
|
removeValue(value) {
|
|
const collection = this.get('collection');
|
|
collection.removeObject(value);
|
|
}
|
|
}
|
|
});
|