@plusscommunities/pluss-core-web 1.4.17 → 1.4.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -8,10 +8,10 @@ var _ = require('lodash');
8
8
  var axios = require('axios');
9
9
  var awsAmplify = require('aws-amplify');
10
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var moment = require('moment');
11
12
  var React = require('react');
12
13
  var $ = require('jquery');
13
14
  var Cookies = require('js-cookie');
14
- var moment = require('moment');
15
15
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
16
16
  var _createClass = require('@babel/runtime/helpers/createClass');
17
17
  var _inherits = require('@babel/runtime/helpers/inherits');
@@ -40,10 +40,10 @@ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regenerat
40
40
  var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
41
41
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
42
42
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
43
+ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
43
44
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
44
45
  var $__default = /*#__PURE__*/_interopDefaultLegacy($);
45
46
  var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies);
46
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
47
47
  var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
48
48
  var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
49
49
  var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
@@ -545,18 +545,95 @@ var getAnalyticsFilterOptions = function getAnalyticsFilterOptions() {
545
545
  text: 'Last 30 days',
546
546
  dayCount: 30,
547
547
  prevText: 'previous 30 days'
548
+ }, {
549
+ text: 'Last 90 days',
550
+ dayCount: 90,
551
+ prevText: 'previous 90 days'
548
552
  }, {
549
553
  text: 'Custom Range',
550
554
  dayCount: 0,
551
555
  prevText: 'previous * days'
552
556
  }];
553
557
  };
558
+ var countActivities = function countActivities(data, activityKey, countType) {
559
+ var count = 0;
560
+ var set = new Set();
561
+ data.forEach(function (entry) {
562
+ var stats = entry.Stats;
563
+
564
+ for (var entity in stats) {
565
+ var entityStats = stats[entity];
566
+
567
+ switch (countType) {
568
+ case 'unique':
569
+ if (entityStats[activityKey]) {
570
+ set.add(entity);
571
+ }
572
+
573
+ break;
574
+
575
+ case 'total':
576
+ if (entityStats[activityKey]) {
577
+ count += entityStats[activityKey];
578
+ }
579
+
580
+ break;
581
+ }
582
+ }
583
+ });
584
+
585
+ switch (countType) {
586
+ case 'unique':
587
+ return set.size;
588
+
589
+ case 'total':
590
+ return count;
591
+
592
+ default:
593
+ return 0;
594
+ }
595
+ };
596
+ var generateDateRangeObjects = function generateDateRangeObjects(startTime, endTime) {
597
+ var startDate = moment__default['default'](startTime);
598
+ var endDate = moment__default['default'](endTime);
599
+ var dates = {};
600
+
601
+ while (startDate.isSameOrBefore(endDate)) {
602
+ var dateString = startDate.format('DD-MM-YYYY');
603
+ dates[dateString] = {
604
+ Date: dateString,
605
+ Timestamp: startDate.valueOf(),
606
+ Stats: {}
607
+ };
608
+ startDate.add(1, 'days');
609
+ }
610
+
611
+ return dates;
612
+ };
613
+ var generateDateActivities = function generateDateActivities(data, activityKey, countType, startTime, endTime) {
614
+ var dates = generateDateRangeObjects(startTime, endTime);
615
+ var result = [];
616
+ Object.keys(dates).forEach(function (d) {
617
+ var dateToUse = ___default['default'].find(data, function (date) {
618
+ return date.Date === d;
619
+ }) || dates[d];
620
+ var compiledValue = {
621
+ date: d,
622
+ value: countActivities([dateToUse], activityKey, countType)
623
+ };
624
+ result.push(compiledValue);
625
+ });
626
+ return result;
627
+ };
554
628
 
555
629
  var analytics = /*#__PURE__*/Object.freeze({
556
630
  __proto__: null,
557
631
  compileStats: compileStats,
558
632
  getInsight: getInsight,
559
- getAnalyticsFilterOptions: getAnalyticsFilterOptions
633
+ getAnalyticsFilterOptions: getAnalyticsFilterOptions,
634
+ countActivities: countActivities,
635
+ generateDateRangeObjects: generateDateRangeObjects,
636
+ generateDateActivities: generateDateActivities
560
637
  });
561
638
 
562
639
  var getUrl = function getUrl(baseAction, action, query) {
@@ -8535,6 +8612,10 @@ var AnalyticsFilter = /*#__PURE__*/function (_PureComponent) {
8535
8612
 
8536
8613
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "renderOptions", function () {
8537
8614
  return _this.state.filterOptions.map(function (ev) {
8615
+ if (_this.props.hideOptions && ___default['default'].includes(_this.props.hideOptions, ev.dayCount)) {
8616
+ return null;
8617
+ }
8618
+
8538
8619
  return /*#__PURE__*/React__default['default'].createElement(reactBootstrap.MenuItem, {
8539
8620
  key: ev.dayCount,
8540
8621
  eventKey: ev.dayCount,
package/dist/index.esm.js CHANGED
@@ -4,10 +4,10 @@ import _ from 'lodash';
4
4
  import axios from 'axios';
5
5
  import { Auth, Storage } from 'aws-amplify';
6
6
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
7
+ import moment from 'moment';
7
8
  import React, { Component, PureComponent } from 'react';
8
9
  import $ from 'jquery';
9
10
  import Cookies from 'js-cookie';
10
- import moment from 'moment';
11
11
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
12
12
  import _createClass from '@babel/runtime/helpers/createClass';
13
13
  import _inherits from '@babel/runtime/helpers/inherits';
@@ -515,18 +515,95 @@ var getAnalyticsFilterOptions = function getAnalyticsFilterOptions() {
515
515
  text: 'Last 30 days',
516
516
  dayCount: 30,
517
517
  prevText: 'previous 30 days'
518
+ }, {
519
+ text: 'Last 90 days',
520
+ dayCount: 90,
521
+ prevText: 'previous 90 days'
518
522
  }, {
519
523
  text: 'Custom Range',
520
524
  dayCount: 0,
521
525
  prevText: 'previous * days'
522
526
  }];
523
527
  };
528
+ var countActivities = function countActivities(data, activityKey, countType) {
529
+ var count = 0;
530
+ var set = new Set();
531
+ data.forEach(function (entry) {
532
+ var stats = entry.Stats;
533
+
534
+ for (var entity in stats) {
535
+ var entityStats = stats[entity];
536
+
537
+ switch (countType) {
538
+ case 'unique':
539
+ if (entityStats[activityKey]) {
540
+ set.add(entity);
541
+ }
542
+
543
+ break;
544
+
545
+ case 'total':
546
+ if (entityStats[activityKey]) {
547
+ count += entityStats[activityKey];
548
+ }
549
+
550
+ break;
551
+ }
552
+ }
553
+ });
554
+
555
+ switch (countType) {
556
+ case 'unique':
557
+ return set.size;
558
+
559
+ case 'total':
560
+ return count;
561
+
562
+ default:
563
+ return 0;
564
+ }
565
+ };
566
+ var generateDateRangeObjects = function generateDateRangeObjects(startTime, endTime) {
567
+ var startDate = moment(startTime);
568
+ var endDate = moment(endTime);
569
+ var dates = {};
570
+
571
+ while (startDate.isSameOrBefore(endDate)) {
572
+ var dateString = startDate.format('DD-MM-YYYY');
573
+ dates[dateString] = {
574
+ Date: dateString,
575
+ Timestamp: startDate.valueOf(),
576
+ Stats: {}
577
+ };
578
+ startDate.add(1, 'days');
579
+ }
580
+
581
+ return dates;
582
+ };
583
+ var generateDateActivities = function generateDateActivities(data, activityKey, countType, startTime, endTime) {
584
+ var dates = generateDateRangeObjects(startTime, endTime);
585
+ var result = [];
586
+ Object.keys(dates).forEach(function (d) {
587
+ var dateToUse = _.find(data, function (date) {
588
+ return date.Date === d;
589
+ }) || dates[d];
590
+ var compiledValue = {
591
+ date: d,
592
+ value: countActivities([dateToUse], activityKey, countType)
593
+ };
594
+ result.push(compiledValue);
595
+ });
596
+ return result;
597
+ };
524
598
 
525
599
  var analytics = /*#__PURE__*/Object.freeze({
526
600
  __proto__: null,
527
601
  compileStats: compileStats,
528
602
  getInsight: getInsight,
529
- getAnalyticsFilterOptions: getAnalyticsFilterOptions
603
+ getAnalyticsFilterOptions: getAnalyticsFilterOptions,
604
+ countActivities: countActivities,
605
+ generateDateRangeObjects: generateDateRangeObjects,
606
+ generateDateActivities: generateDateActivities
530
607
  });
531
608
 
532
609
  var getUrl = function getUrl(baseAction, action, query) {
@@ -8505,6 +8582,10 @@ var AnalyticsFilter = /*#__PURE__*/function (_PureComponent) {
8505
8582
 
8506
8583
  _defineProperty(_assertThisInitialized(_this), "renderOptions", function () {
8507
8584
  return _this.state.filterOptions.map(function (ev) {
8585
+ if (_this.props.hideOptions && _.includes(_this.props.hideOptions, ev.dayCount)) {
8586
+ return null;
8587
+ }
8588
+
8508
8589
  return /*#__PURE__*/React.createElement(MenuItem, {
8509
8590
  key: ev.dayCount,
8510
8591
  eventKey: ev.dayCount,
package/dist/index.umd.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@babel/runtime/helpers/asyncToGenerator'), require('@babel/runtime/regenerator'), require('lodash'), require('axios'), require('aws-amplify'), require('@babel/runtime/helpers/defineProperty'), require('react'), require('jquery'), require('js-cookie'), require('moment'), require('@babel/runtime/helpers/classCallCheck'), require('@babel/runtime/helpers/createClass'), require('@babel/runtime/helpers/inherits'), require('@babel/runtime/helpers/possibleConstructorReturn'), require('@babel/runtime/helpers/getPrototypeOf'), require('react-fontawesome'), require('@babel/runtime/helpers/extends'), require('@babel/runtime/helpers/assertThisInitialized'), require('react-redux'), require('react-textarea-autosize'), require('@babel/runtime/helpers/toConsumableArray'), require('@babel/runtime/helpers/typeof'), require('react-dropzone'), require('react-router'), require('react-bootstrap'), require('@crello/react-lottie'), require('react-csv'), require('@babel/runtime/helpers/objectWithoutProperties'), require('react-color'), require('tinycolor2')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@babel/runtime/helpers/asyncToGenerator', '@babel/runtime/regenerator', 'lodash', 'axios', 'aws-amplify', '@babel/runtime/helpers/defineProperty', 'react', 'jquery', 'js-cookie', 'moment', '@babel/runtime/helpers/classCallCheck', '@babel/runtime/helpers/createClass', '@babel/runtime/helpers/inherits', '@babel/runtime/helpers/possibleConstructorReturn', '@babel/runtime/helpers/getPrototypeOf', 'react-fontawesome', '@babel/runtime/helpers/extends', '@babel/runtime/helpers/assertThisInitialized', 'react-redux', 'react-textarea-autosize', '@babel/runtime/helpers/toConsumableArray', '@babel/runtime/helpers/typeof', 'react-dropzone', 'react-router', 'react-bootstrap', '@crello/react-lottie', 'react-csv', '@babel/runtime/helpers/objectWithoutProperties', 'react-color', 'tinycolor2'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['@plusscommunities/pluss-core-web'] = {}, global._asyncToGenerator, global._regeneratorRuntime, global._, global.axios, global.awsAmplify, global._defineProperty, global.React, global.$, global.Cookies, global.moment, global._classCallCheck, global._createClass, global._inherits, global._possibleConstructorReturn, global._getPrototypeOf, global.FontAwesome, global._extends, global._assertThisInitialized, global.reactRedux, global.Textarea, global._toConsumableArray, global._typeof, global.Dropzone, global.reactRouter, global.reactBootstrap, global.reactLottie, global.reactCsv, global._objectWithoutProperties, global.reactColor, global.tinycolor));
5
- }(this, (function (exports, _asyncToGenerator, _regeneratorRuntime, _, axios, awsAmplify, _defineProperty, React, $, Cookies, moment, _classCallCheck, _createClass, _inherits, _possibleConstructorReturn, _getPrototypeOf, FontAwesome, _extends, _assertThisInitialized, reactRedux, Textarea, _toConsumableArray, _typeof, Dropzone, reactRouter, reactBootstrap, reactLottie, reactCsv, _objectWithoutProperties, reactColor, tinycolor) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@babel/runtime/helpers/asyncToGenerator'), require('@babel/runtime/regenerator'), require('lodash'), require('axios'), require('aws-amplify'), require('@babel/runtime/helpers/defineProperty'), require('moment'), require('react'), require('jquery'), require('js-cookie'), require('@babel/runtime/helpers/classCallCheck'), require('@babel/runtime/helpers/createClass'), require('@babel/runtime/helpers/inherits'), require('@babel/runtime/helpers/possibleConstructorReturn'), require('@babel/runtime/helpers/getPrototypeOf'), require('react-fontawesome'), require('@babel/runtime/helpers/extends'), require('@babel/runtime/helpers/assertThisInitialized'), require('react-redux'), require('react-textarea-autosize'), require('@babel/runtime/helpers/toConsumableArray'), require('@babel/runtime/helpers/typeof'), require('react-dropzone'), require('react-router'), require('react-bootstrap'), require('@crello/react-lottie'), require('react-csv'), require('@babel/runtime/helpers/objectWithoutProperties'), require('react-color'), require('tinycolor2')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@babel/runtime/helpers/asyncToGenerator', '@babel/runtime/regenerator', 'lodash', 'axios', 'aws-amplify', '@babel/runtime/helpers/defineProperty', 'moment', 'react', 'jquery', 'js-cookie', '@babel/runtime/helpers/classCallCheck', '@babel/runtime/helpers/createClass', '@babel/runtime/helpers/inherits', '@babel/runtime/helpers/possibleConstructorReturn', '@babel/runtime/helpers/getPrototypeOf', 'react-fontawesome', '@babel/runtime/helpers/extends', '@babel/runtime/helpers/assertThisInitialized', 'react-redux', 'react-textarea-autosize', '@babel/runtime/helpers/toConsumableArray', '@babel/runtime/helpers/typeof', 'react-dropzone', 'react-router', 'react-bootstrap', '@crello/react-lottie', 'react-csv', '@babel/runtime/helpers/objectWithoutProperties', 'react-color', 'tinycolor2'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['@plusscommunities/pluss-core-web'] = {}, global._asyncToGenerator, global._regeneratorRuntime, global._, global.axios, global.awsAmplify, global._defineProperty, global.moment, global.React, global.$, global.Cookies, global._classCallCheck, global._createClass, global._inherits, global._possibleConstructorReturn, global._getPrototypeOf, global.FontAwesome, global._extends, global._assertThisInitialized, global.reactRedux, global.Textarea, global._toConsumableArray, global._typeof, global.Dropzone, global.reactRouter, global.reactBootstrap, global.reactLottie, global.reactCsv, global._objectWithoutProperties, global.reactColor, global.tinycolor));
5
+ }(this, (function (exports, _asyncToGenerator, _regeneratorRuntime, _, axios, awsAmplify, _defineProperty, moment, React, $, Cookies, _classCallCheck, _createClass, _inherits, _possibleConstructorReturn, _getPrototypeOf, FontAwesome, _extends, _assertThisInitialized, reactRedux, Textarea, _toConsumableArray, _typeof, Dropzone, reactRouter, reactBootstrap, reactLottie, reactCsv, _objectWithoutProperties, reactColor, tinycolor) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -11,10 +11,10 @@
11
11
  var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
12
12
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
13
13
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
14
+ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
14
15
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
16
  var $__default = /*#__PURE__*/_interopDefaultLegacy($);
16
17
  var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies);
17
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
18
18
  var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
19
19
  var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
20
20
  var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
@@ -516,18 +516,95 @@
516
516
  text: 'Last 30 days',
517
517
  dayCount: 30,
518
518
  prevText: 'previous 30 days'
519
+ }, {
520
+ text: 'Last 90 days',
521
+ dayCount: 90,
522
+ prevText: 'previous 90 days'
519
523
  }, {
520
524
  text: 'Custom Range',
521
525
  dayCount: 0,
522
526
  prevText: 'previous * days'
523
527
  }];
524
528
  };
529
+ var countActivities = function countActivities(data, activityKey, countType) {
530
+ var count = 0;
531
+ var set = new Set();
532
+ data.forEach(function (entry) {
533
+ var stats = entry.Stats;
534
+
535
+ for (var entity in stats) {
536
+ var entityStats = stats[entity];
537
+
538
+ switch (countType) {
539
+ case 'unique':
540
+ if (entityStats[activityKey]) {
541
+ set.add(entity);
542
+ }
543
+
544
+ break;
545
+
546
+ case 'total':
547
+ if (entityStats[activityKey]) {
548
+ count += entityStats[activityKey];
549
+ }
550
+
551
+ break;
552
+ }
553
+ }
554
+ });
555
+
556
+ switch (countType) {
557
+ case 'unique':
558
+ return set.size;
559
+
560
+ case 'total':
561
+ return count;
562
+
563
+ default:
564
+ return 0;
565
+ }
566
+ };
567
+ var generateDateRangeObjects = function generateDateRangeObjects(startTime, endTime) {
568
+ var startDate = moment__default['default'](startTime);
569
+ var endDate = moment__default['default'](endTime);
570
+ var dates = {};
571
+
572
+ while (startDate.isSameOrBefore(endDate)) {
573
+ var dateString = startDate.format('DD-MM-YYYY');
574
+ dates[dateString] = {
575
+ Date: dateString,
576
+ Timestamp: startDate.valueOf(),
577
+ Stats: {}
578
+ };
579
+ startDate.add(1, 'days');
580
+ }
581
+
582
+ return dates;
583
+ };
584
+ var generateDateActivities = function generateDateActivities(data, activityKey, countType, startTime, endTime) {
585
+ var dates = generateDateRangeObjects(startTime, endTime);
586
+ var result = [];
587
+ Object.keys(dates).forEach(function (d) {
588
+ var dateToUse = ___default['default'].find(data, function (date) {
589
+ return date.Date === d;
590
+ }) || dates[d];
591
+ var compiledValue = {
592
+ date: d,
593
+ value: countActivities([dateToUse], activityKey, countType)
594
+ };
595
+ result.push(compiledValue);
596
+ });
597
+ return result;
598
+ };
525
599
 
526
600
  var analytics = /*#__PURE__*/Object.freeze({
527
601
  __proto__: null,
528
602
  compileStats: compileStats,
529
603
  getInsight: getInsight,
530
- getAnalyticsFilterOptions: getAnalyticsFilterOptions
604
+ getAnalyticsFilterOptions: getAnalyticsFilterOptions,
605
+ countActivities: countActivities,
606
+ generateDateRangeObjects: generateDateRangeObjects,
607
+ generateDateActivities: generateDateActivities
531
608
  });
532
609
 
533
610
  var getUrl = function getUrl(baseAction, action, query) {
@@ -8506,6 +8583,10 @@
8506
8583
 
8507
8584
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "renderOptions", function () {
8508
8585
  return _this.state.filterOptions.map(function (ev) {
8586
+ if (_this.props.hideOptions && ___default['default'].includes(_this.props.hideOptions, ev.dayCount)) {
8587
+ return null;
8588
+ }
8589
+
8509
8590
  return /*#__PURE__*/React__default['default'].createElement(reactBootstrap.MenuItem, {
8510
8591
  key: ev.dayCount,
8511
8592
  eventKey: ev.dayCount,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-core-web",
3
- "version": "1.4.17",
3
+ "version": "1.4.18",
4
4
  "description": "Core extension package for Pluss Communities platform",
5
5
  "main": "dist/index.cjs.js",
6
6
  "scripts": {
package/src/analytics.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import _ from 'lodash';
2
+ import moment from 'moment';
2
3
 
3
4
  export const compileStats = (stats) => {
4
5
  const totalStats = {};
@@ -64,6 +65,11 @@ export const getAnalyticsFilterOptions = () => {
64
65
  dayCount: 30,
65
66
  prevText: 'previous 30 days',
66
67
  },
68
+ {
69
+ text: 'Last 90 days',
70
+ dayCount: 90,
71
+ prevText: 'previous 90 days',
72
+ },
67
73
  {
68
74
  text: 'Custom Range',
69
75
  dayCount: 0,
@@ -71,3 +77,72 @@ export const getAnalyticsFilterOptions = () => {
71
77
  },
72
78
  ];
73
79
  };
80
+
81
+ export const countActivities = (data, activityKey, countType) => {
82
+ let count = 0;
83
+ let set = new Set();
84
+
85
+ data.forEach((entry) => {
86
+ const stats = entry.Stats;
87
+
88
+ for (const entity in stats) {
89
+ const entityStats = stats[entity];
90
+
91
+ switch (countType) {
92
+ case 'unique':
93
+ if (entityStats[activityKey]) {
94
+ set.add(entity);
95
+ }
96
+ break;
97
+ case 'total':
98
+ if (entityStats[activityKey]) {
99
+ count += entityStats[activityKey];
100
+ }
101
+ break;
102
+ default:
103
+ break;
104
+ }
105
+ }
106
+ });
107
+
108
+ switch (countType) {
109
+ case 'unique':
110
+ return set.size;
111
+ case 'total':
112
+ return count;
113
+ default:
114
+ return 0;
115
+ }
116
+ };
117
+
118
+ export const generateDateRangeObjects = (startTime, endTime) => {
119
+ const startDate = moment(startTime);
120
+ const endDate = moment(endTime);
121
+ const dates = {};
122
+
123
+ while (startDate.isSameOrBefore(endDate)) {
124
+ const dateString = startDate.format('DD-MM-YYYY');
125
+ dates[dateString] = {
126
+ Date: dateString,
127
+ Timestamp: startDate.valueOf(),
128
+ Stats: {},
129
+ };
130
+ startDate.add(1, 'days');
131
+ }
132
+
133
+ return dates;
134
+ };
135
+
136
+ export const generateDateActivities = (data, activityKey, countType, startTime, endTime) => {
137
+ const dates = generateDateRangeObjects(startTime, endTime);
138
+
139
+ const result = [];
140
+
141
+ Object.keys(dates).forEach((d) => {
142
+ const dateToUse = _.find(data, (date) => date.Date === d) || dates[d];
143
+ const compiledValue = { date: d, value: countActivities([dateToUse], activityKey, countType) };
144
+
145
+ result.push(compiledValue);
146
+ });
147
+ return result;
148
+ };
@@ -23,6 +23,9 @@ class AnalyticsFilter extends PureComponent {
23
23
 
24
24
  renderOptions = () => {
25
25
  return this.state.filterOptions.map((ev) => {
26
+ if (this.props.hideOptions && _.includes(this.props.hideOptions, ev.dayCount)) {
27
+ return null;
28
+ }
26
29
  return (
27
30
  <MenuItem key={ev.dayCount} eventKey={ev.dayCount} active={this.state.selectedFilter === ev}>
28
31
  {ev.text}