All files / ee/app/assets/javascripts/contextual_sidebar init_trial_status_widget_and_popover.js

0% Statements 0/16
0% Branches 0/8
0% Functions 0/5
0% Lines 0/14

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89                                                                                                                                                                                 
import Vue from 'vue';
import TrialStatusPopover from './components/trial_status_popover.vue';
import TrialStatusWidget from './components/trial_status_widget.vue';
 
export const initTrialStatusWidget = () => {
  const el = document.getElementById('js-trial-status-widget');
 
  if (!el) return undefined;
 
  const {
    containerId,
    trialDaysUsed,
    trialDuration,
    navIconImagePath,
    percentageComplete,
    planName,
    plansHref,
    trialDiscoverPagePath,
  } = el.dataset;
 
  return new Vue({
    el,
    provide: {
      containerId,
      trialDaysUsed: Number(trialDaysUsed) || 0,
      trialDuration: Number(trialDuration) || 0,
      navIconImagePath,
      percentageComplete: Number(percentageComplete),
      planName,
      plansHref,
      trialDiscoverPagePath,
    },
    render: (createElement) => createElement(TrialStatusWidget),
  });
};
 
export const initTrialStatusPopover = () => {
  const el = document.getElementById('js-trial-status-popover');
 
  if (!el) return undefined;
 
  const {
    containerId,
    daysRemaining,
    planName,
    plansHref,
    targetId,
    trialEndDate,
    namespaceId,
    userName,
    firstName,
    lastName,
    companyName,
    glmContent,
    createHandRaiseLeadPath,
    trialDiscoverPagePath,
  } = el.dataset;
 
  return new Vue({
    el,
    provide: {
      containerId,
      daysRemaining,
      planName,
      plansHref,
      targetId,
      createHandRaiseLeadPath,
      trialEndDate: new Date(trialEndDate),
      trialDiscoverPagePath,
      user: {
        namespaceId,
        userName,
        firstName,
        lastName,
        companyName,
        glmContent,
      },
    },
    render: (createElement) => createElement(TrialStatusPopover),
  });
};
 
export const initTrialStatusWidgetAndPopover = () => {
  return {
    widget: initTrialStatusWidget(),
    popover: initTrialStatusPopover(),
  };
};