mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 01:42:29 +03:00
2833675238
closes #3928 - adds spin-button component & styles - implements spin-button in places where buttons trigger async tasks
49 lines
1.4 KiB
JavaScript
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');
|
|
}
|
|
}
|
|
});
|