Ghost/ghost/admin/app/components/posts/post-activity-feed.js
Simon Backx 848b2d82a1
Cleaned up suppressionList feature flag (#16736)
no issue

This pull request removes the `suppressionList` feature flag and all its
dependencies from the codebase. It makes the suppression list feature
the default and consistent behavior for all email events and
newsletters. It simplifies the UI, logic, and data related to email
events and newsletters. It affects several files in the
`ghost/admin/app`, `ghost/core/core`, and `ghost/members-api`
directories.
2023-05-04 14:47:04 +02:00

57 lines
1.4 KiB
JavaScript

import Component from '@glimmer/component';
import {action} from '@ember/object';
import {inject as service} from '@ember/service';
export default class PostActivityFeed extends Component {
@service feature;
_pageSize = 5;
_eventTypes = {
sent: ['email_sent_event', 'email_delivered_event', 'email_failed_event'],
opened: ['email_opened_event'],
clicked: ['aggregated_click_event'],
feedback: ['feedback_event'],
conversion: ['subscription_event', 'signup_event']
};
get getEventTypes() {
return this._eventTypes[this.args.eventType];
}
get pageSize() {
return this._pageSize;
}
get eventType() {
return this.args.eventType;
}
// calculate amount of empty rows which require to keep table height the same for each tab/page
@action
getAmountOfStubs({data}) {
const stubs = this._pageSize - data.length;
return new Array(stubs).fill(1);
}
@action
isPreviousButtonDisabled({hasReachedStart, isLoading}) {
return hasReachedStart || isLoading;
}
@action
isNextButtonDisabled({hasReachedEnd, isLoading}) {
return hasReachedEnd || isLoading;
}
@action
isPaginationNotNeeded({totalEvents}) {
return (totalEvents <= this._pageSize);
}
@action
areStubsNeeded({totalEvents}) {
return totalEvents > this._pageSize || this.args.eventType === 'feedback';
}
}