hummingbird-me/kitsu-web

View on GitHub
app/components/stream-feed/items/follow.js

Summary

Maintainability
A
3 hrs
Test Coverage
F
0%
import Component from '@ember/component';
import { get } from '@ember/object';
import { inject as service } from '@ember/service';
import { strictInvokeAction } from 'ember-invoke-action';
import getter from 'client/utils/getter';

export default Component.extend({
  classNames: ['stream-item', 'row'],
  metrics: service(),

  activity: getter(function() {
    return get(this, 'group.activities.firstObject');
  }),

  follow: getter(function() {
    return get(this, 'activity.subject');
  }),

  actions: {
    trackEngagement(label) {
      const data = {
        label,
        content: { foreign_id: `Follow:${get(this, 'follow.id')}` },
        position: get(this, 'positionInFeed') || 0
      };
      if (get(this, 'feedId') !== undefined) {
        data.feed_id = get(this, 'feedId');
      }
      get(this, 'metrics').invoke('trackEngagement', 'Stream', data);
    },

    deleteActivity() {
      strictInvokeAction(this, 'deleteActivity', 'user_aggr', get(this, 'activity'), () => {
        strictInvokeAction(this, 'removeGroup', get(this, 'group'));
      });
    }
  }
});