mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-07 03:22:21 +03:00
35cf6c9829
closes https://github.com/TryGhost/Ghost/issues/8249 - replaces the old split-button publish/schedule/update button with a less confusing menu system - adds a `{{gh-date-time-picker}}` component that contains a datepicker with separate time input - replaces the date text input in the post settings menu with `{{gh-date-time-picker}}` - disabled when post is scheduled, only way to update a scheduled time is via the publish menu - validates date is in the past when draft/published so there's no confusion with scheduling - displays saving status in top-left of editor screen - refactor editor (auto)saving processes to use ember-concurrency Other minor changes: - adds `post.publishedAtBlog{TZ,Date,Time}` properties to Post model to allow working with `publishedAt` datetime in the selected blog timezone rather than UTC - adds a `beforeSave` hook to `validation-engine` that is called after successful validation and before the Ember Data save call is made - adds validation of `publishedAtBlog{Date,Time}` to post validator - prevent gh-task-button showing last task state on first render - fixes bug where clicking into and out of the published date input in the PSM without making any changes saves a published date for draft posts
25 lines
676 B
JavaScript
25 lines
676 B
JavaScript
import Component from 'ember-component';
|
|
import injectService from 'ember-service/inject';
|
|
import DropdownMixin from 'ghost-admin/mixins/dropdown-mixin';
|
|
|
|
export default Component.extend(DropdownMixin, {
|
|
tagName: 'button',
|
|
attributeBindings: ['href', 'role'],
|
|
role: 'button',
|
|
|
|
// matches with the dropdown this button toggles
|
|
dropdownName: null,
|
|
|
|
dropdown: injectService(),
|
|
|
|
// Notify dropdown service this dropdown should be toggled
|
|
click(event) {
|
|
this._super(event);
|
|
this.get('dropdown').toggleDropdown(this.get('dropdownName'), this);
|
|
|
|
if (this.get('tagName') === 'a') {
|
|
return false;
|
|
}
|
|
}
|
|
});
|