2015-02-12 21:22:32 -07:00
|
|
|
import Ember from 'ember';
|
2015-01-11 19:55:52 +00:00
|
|
|
|
2015-10-28 11:36:45 +00:00
|
|
|
const {Component, run} = Ember;
|
|
|
|
|
|
|
|
export default Component.extend({
|
2015-06-13 09:34:09 -05:00
|
|
|
tagName: 'section',
|
|
|
|
classNames: 'gh-view',
|
2015-02-03 16:29:01 +00:00
|
|
|
|
2015-10-28 11:36:45 +00:00
|
|
|
didInsertElement() {
|
|
|
|
let navContainer = this.$('.js-gh-blognav');
|
|
|
|
let navElements = '.gh-blognav-item:not(.gh-blognav-item:last-child)';
|
2015-12-27 17:25:36 -07:00
|
|
|
// needed because jqueryui sortable doesn't trigger babel's autoscoping
|
|
|
|
let _this = this;
|
2015-02-03 16:29:01 +00:00
|
|
|
|
2015-09-16 18:02:06 +01:00
|
|
|
this._super(...arguments);
|
|
|
|
|
2015-02-03 16:29:01 +00:00
|
|
|
navContainer.sortable({
|
2015-05-25 14:17:14 +01:00
|
|
|
handle: '.gh-blognav-grab',
|
2015-02-03 16:29:01 +00:00
|
|
|
items: navElements,
|
|
|
|
|
2015-10-28 11:36:45 +00:00
|
|
|
start(event, ui) {
|
|
|
|
run(() => {
|
2015-02-25 17:20:42 +00:00
|
|
|
ui.item.data('start-index', ui.item.index());
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
2015-10-28 11:36:45 +00:00
|
|
|
update(event, ui) {
|
|
|
|
run(() => {
|
2015-12-27 17:25:36 -07:00
|
|
|
_this.sendAction('moveItem', ui.item.data('start-index'), ui.item.index());
|
2015-02-03 16:29:01 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
2015-10-28 11:36:45 +00:00
|
|
|
willDestroyElement() {
|
2015-11-15 11:06:49 +00:00
|
|
|
this._super(...arguments);
|
2015-09-16 18:02:06 +01:00
|
|
|
this.$('.ui-sortable').sortable('destroy');
|
2015-02-03 16:29:01 +00:00
|
|
|
}
|
2015-01-14 14:46:29 +00:00
|
|
|
});
|