mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-18 07:51:55 +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,
|
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); }
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user