Merge pull request #5733 from kevinansfield/fix-tag-input-creation-order

Fix post tag input so it keeps the tag order
This commit is contained in:
Hannah Wolfe 2015-08-28 12:41:28 +01:00
commit 74f26cbe23
3 changed files with 29 additions and 3 deletions

View File

@ -0,0 +1,26 @@
import Ember from 'ember';
import EmberSelectizeComponent from 'ember-cli-selectize/components/ember-selectize';
export default EmberSelectizeComponent.extend({
/**
* Event callback that is triggered when user creates a tag
* - modified to pass the caret position to the action
*/
_create(input, callback) {
var caret = this._selectize.caretPos;
// Delete user entered text
this._selectize.setTextboxValue('');
// Send create action
// allow the observers and computed properties to run first
Ember.run.schedule('actions', this, function () {
this.sendAction('create-item', input, caret);
});
// We cancel the creation here, so it's up to you to include the created element
// in the content and selection property
callback(null);
}
});

View File

@ -469,7 +469,7 @@ export default Ember.Controller.extend(SettingsMenuMixin, {
}); });
}, },
addTag: function (tagName) { addTag: function (tagName, index) {
var self = this, var self = this,
currentTags = this.get('model.tags'), currentTags = this.get('model.tags'),
currentTagNames = currentTags.map(function (tag) { return tag.get('name').toLowerCase(); }), currentTagNames = currentTags.map(function (tag) { return tag.get('name').toLowerCase(); }),
@ -500,7 +500,7 @@ export default Ember.Controller.extend(SettingsMenuMixin, {
} }
// push tag onto post relationship // push tag onto post relationship
if (tagToAdd) { self.get('model.tags').pushObject(tagToAdd); } if (tagToAdd) { self.get('model.tags').insertAt(index, tagToAdd); }
}); });
}, },

View File

@ -35,7 +35,7 @@
<div class="form-group"> <div class="form-group">
<label for="tag-input">Tags</label> <label for="tag-input">Tags</label>
{{ember-selectize {{gh-selectize
id="tag-input" id="tag-input"
multiple=true multiple=true
selection=model.tags selection=model.tags