mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-15 03:12:54 +03:00
c879105684
refs #6458, closes #6457 - replaces jquery-ui.sortable with ember-sortable for drag-n-drop handling - moves the "new/blank" nav item out of the nav items list - allows it to be excluded from the draggable list - cleans up handling of the `navigationItems` array as there's no longer a need to ignore/exclude this extra item - clears validation errors when typing in the respective field - adds acceptance test for adding/removing nav items - improves acceptance test for saving nav items to cover more edge cases
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
import Ember from 'ember';
|
|
import AuthenticatedRoute from 'ghost/routes/authenticated';
|
|
import CurrentUserSettings from 'ghost/mixins/current-user-settings';
|
|
import styleBody from 'ghost/mixins/style-body';
|
|
|
|
const {$} = Ember;
|
|
|
|
export default AuthenticatedRoute.extend(styleBody, CurrentUserSettings, {
|
|
titleToken: 'Settings - Navigation',
|
|
|
|
classNames: ['settings-view-navigation'],
|
|
|
|
beforeModel() {
|
|
this._super(...arguments);
|
|
return this.get('session.user')
|
|
.then(this.transitionAuthor());
|
|
},
|
|
|
|
model() {
|
|
return this.store.query('setting', {type: 'blog,theme'}).then((records) => {
|
|
return records.get('firstObject');
|
|
});
|
|
},
|
|
|
|
setupController() {
|
|
this._super(...arguments);
|
|
this.get('controller').send('reset');
|
|
},
|
|
|
|
actions: {
|
|
save() {
|
|
// since shortcuts are run on the route, we have to signal to the components
|
|
// on the page that we're about to save.
|
|
$('.page-actions .btn-blue').focus();
|
|
|
|
this.get('controller').send('save');
|
|
},
|
|
|
|
willTransition() {
|
|
// reset the model so that our CPs re-calc and unsaved changes aren't
|
|
// persisted across transitions
|
|
this.set('controller.model', null);
|
|
return this._super(...arguments);
|
|
}
|
|
}
|
|
});
|