mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-17 23:44:39 -05:00
Moved parse-member-event helper to class syntax
no issue - Added feature service in it
This commit is contained in:
parent
4ac1a2c21e
commit
6e2579ec9d
1 changed files with 206 additions and 200 deletions
|
@ -1,15 +1,20 @@
|
||||||
|
import Helper from '@ember/component/helper';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import {getNonDecimal, getSymbol} from 'ghost-admin/utils/currency';
|
import {getNonDecimal, getSymbol} from 'ghost-admin/utils/currency';
|
||||||
|
import {inject as service} from '@ember/service';
|
||||||
|
|
||||||
export default function parseMemberEvent(event, hasMultipleNewsletters) {
|
export default class ParseMemberEventHelper extends Helper {
|
||||||
|
@service feature;
|
||||||
|
|
||||||
|
compute([event, hasMultipleNewsletters]) {
|
||||||
const subject = event.data.member.name || event.data.member.email;
|
const subject = event.data.member.name || event.data.member.email;
|
||||||
const icon = getIcon(event);
|
const icon = this.getIcon(event);
|
||||||
const action = getAction(event, hasMultipleNewsletters);
|
const action = this.getAction(event, hasMultipleNewsletters);
|
||||||
const info = getInfo(event);
|
const info = this.getInfo(event);
|
||||||
|
|
||||||
const join = getJoin(event);
|
const join = this.getJoin(event);
|
||||||
const object = getObject(event);
|
const object = this.getObject(event);
|
||||||
const url = getURL(event);
|
const url = this.getURL(event);
|
||||||
const timestamp = moment(event.data.created_at);
|
const timestamp = moment(event.data.created_at);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -29,8 +34,7 @@ export default function parseMemberEvent(event, hasMultipleNewsletters) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* internal helper functions */
|
/* internal helper functions */
|
||||||
|
getIcon(event) {
|
||||||
function getIcon(event) {
|
|
||||||
let icon;
|
let icon;
|
||||||
|
|
||||||
if (event.type === 'signup_event') {
|
if (event.type === 'signup_event') {
|
||||||
|
@ -80,7 +84,7 @@ function getIcon(event) {
|
||||||
return 'event-' + icon;
|
return 'event-' + icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAction(event, hasMultipleNewsletters) {
|
getAction(event, hasMultipleNewsletters) {
|
||||||
if (event.type === 'signup_event') {
|
if (event.type === 'signup_event') {
|
||||||
return 'signed up';
|
return 'signed up';
|
||||||
}
|
}
|
||||||
|
@ -155,7 +159,7 @@ function getAction(event, hasMultipleNewsletters) {
|
||||||
* -> do this by returning 'on' in getJoin()
|
* -> do this by returning 'on' in getJoin()
|
||||||
* This string is not added when action and object are in a separete table column, or when the getObject/getURL is empty
|
* This string is not added when action and object are in a separete table column, or when the getObject/getURL is empty
|
||||||
*/
|
*/
|
||||||
function getJoin(event) {
|
getJoin(event) {
|
||||||
if (event.type === 'signup_event' || event.type === 'subscription_event') {
|
if (event.type === 'signup_event' || event.type === 'subscription_event') {
|
||||||
if (event.data.attribution?.title) {
|
if (event.data.attribution?.title) {
|
||||||
return 'on';
|
return 'on';
|
||||||
|
@ -174,7 +178,7 @@ function getJoin(event) {
|
||||||
/**
|
/**
|
||||||
* Clickable object, shown between action and info, or in a separate column in some views
|
* Clickable object, shown between action and info, or in a separate column in some views
|
||||||
*/
|
*/
|
||||||
function getObject(event) {
|
getObject(event) {
|
||||||
if (event.type === 'signup_event' || event.type === 'subscription_event') {
|
if (event.type === 'signup_event' || event.type === 'subscription_event') {
|
||||||
if (event.data.attribution?.title) {
|
if (event.data.attribution?.title) {
|
||||||
return event.data.attribution.title;
|
return event.data.attribution.title;
|
||||||
|
@ -190,7 +194,7 @@ function getObject(event) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function getInfo(event) {
|
getInfo(event) {
|
||||||
if (event.type === 'subscription_event') {
|
if (event.type === 'subscription_event') {
|
||||||
let mrrDelta = getNonDecimal(event.data.mrr_delta, event.data.currency);
|
let mrrDelta = getNonDecimal(event.data.mrr_delta, event.data.currency);
|
||||||
if (mrrDelta === 0) {
|
if (mrrDelta === 0) {
|
||||||
|
@ -206,7 +210,7 @@ function getInfo(event) {
|
||||||
/**
|
/**
|
||||||
* Make the object clickable
|
* Make the object clickable
|
||||||
*/
|
*/
|
||||||
function getURL(event) {
|
getURL(event) {
|
||||||
if (event.type === 'comment_event') {
|
if (event.type === 'comment_event') {
|
||||||
if (event.data.post) {
|
if (event.data.post) {
|
||||||
return event.data.post.url;
|
return event.data.post.url;
|
||||||
|
@ -220,3 +224,5 @@ function getURL(event) {
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue