mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-17 21:41:49 +03:00
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:
commit
74f26cbe23
26
ghost/admin/app/components/gh-selectize.js
Normal file
26
ghost/admin/app/components/gh-selectize.js
Normal 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);
|
||||
}
|
||||
|
||||
});
|
@ -469,7 +469,7 @@ export default Ember.Controller.extend(SettingsMenuMixin, {
|
||||
});
|
||||
},
|
||||
|
||||
addTag: function (tagName) {
|
||||
addTag: function (tagName, index) {
|
||||
var self = this,
|
||||
currentTags = this.get('model.tags'),
|
||||
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
|
||||
if (tagToAdd) { self.get('model.tags').pushObject(tagToAdd); }
|
||||
if (tagToAdd) { self.get('model.tags').insertAt(index, tagToAdd); }
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
|
||||
<div class="form-group">
|
||||
<label for="tag-input">Tags</label>
|
||||
{{ember-selectize
|
||||
{{gh-selectize
|
||||
id="tag-input"
|
||||
multiple=true
|
||||
selection=model.tags
|
||||
|
Loading…
Reference in New Issue
Block a user