Ghost/core/client/app/components/gh-editor-save-button.js
Austin Burdine 748895ce77 add spin-button component & implement it
closes #3928
- adds spin-button component & styles
- implements spin-button in places where buttons trigger async tasks
2015-08-10 09:43:50 -06:00

49 lines
1.4 KiB
JavaScript

import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'section',
classNames: ['splitbtn', 'js-publish-splitbutton'],
classNameBindings: ['isNew:unsaved'],
isNew: null,
isPublished: null,
willPublish: null,
postOrPage: null,
submitting: false,
// Tracks whether we're going to change the state of the post on save
isDangerous: Ember.computed('isPublished', 'willPublish', function () {
return this.get('isPublished') !== this.get('willPublish');
}),
publishText: Ember.computed('isPublished', 'postOrPage', function () {
return this.get('isPublished') ? 'Update ' + this.get('postOrPage') : 'Publish Now';
}),
draftText: Ember.computed('isPublished', function () {
return this.get('isPublished') ? 'Unpublish' : 'Save Draft';
}),
deleteText: Ember.computed('postOrPage', function () {
return 'Delete ' + this.get('postOrPage');
}),
saveText: Ember.computed('willPublish', 'publishText', 'draftText', function () {
return this.get('willPublish') ? this.get('publishText') : this.get('draftText');
}),
actions: {
save: function () {
this.sendAction('save');
},
setSaveType: function (saveType) {
this.sendAction('setSaveType', saveType);
},
delete: function () {
this.sendAction('delete');
}
}
});