@plusscommunities/pluss-core-web 1.4.17-beta.0 → 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);
@@ -64,6 +64,7 @@ var CoreConfig = {
64
64
  baseStage: '',
65
65
  baseAPIUrl: '',
66
66
  baseUploadsUrl: '',
67
+ baseLibraryUrl: '',
67
68
  uploadBucket: '',
68
69
  colourBrandingMain: '',
69
70
  colourBrandingOff: '',
@@ -544,18 +545,95 @@ var getAnalyticsFilterOptions = function getAnalyticsFilterOptions() {
544
545
  text: 'Last 30 days',
545
546
  dayCount: 30,
546
547
  prevText: 'previous 30 days'
548
+ }, {
549
+ text: 'Last 90 days',
550
+ dayCount: 90,
551
+ prevText: 'previous 90 days'
547
552
  }, {
548
553
  text: 'Custom Range',
549
554
  dayCount: 0,
550
555
  prevText: 'previous * days'
551
556
  }];
552
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
+ };
553
628
 
554
629
  var analytics = /*#__PURE__*/Object.freeze({
555
630
  __proto__: null,
556
631
  compileStats: compileStats,
557
632
  getInsight: getInsight,
558
- getAnalyticsFilterOptions: getAnalyticsFilterOptions
633
+ getAnalyticsFilterOptions: getAnalyticsFilterOptions,
634
+ countActivities: countActivities,
635
+ generateDateRangeObjects: generateDateRangeObjects,
636
+ generateDateActivities: generateDateActivities
559
637
  });
560
638
 
561
639
  var getUrl = function getUrl(baseAction, action, query) {
@@ -686,9 +764,11 @@ var getThumb300 = function getThumb300(url) {
686
764
  return url.replace('/uploads/', '/uploads-thumb/').replace('/general/', '/general300/').replace('/uploads1400/', '/uploads-thumb/').replace('/general1400/', '/general300/');
687
765
  }
688
766
 
689
- var baseUploadsUrl = CoreConfig.env.baseUploadsUrl;
767
+ var _Config$env = CoreConfig.env,
768
+ baseUploadsUrl = _Config$env.baseUploadsUrl,
769
+ baseLibraryUrl = _Config$env.baseLibraryUrl;
690
770
 
691
- if (url.indexOf(baseUploadsUrl) !== -1) {
771
+ if (url.indexOf(baseUploadsUrl) !== -1 || url.indexOf(baseLibraryUrl) !== -1) {
692
772
  var extension = getExtension(url);
693
773
  var urlToUse = url;
694
774
 
@@ -6908,7 +6988,7 @@ var ImageInputComponent = /*#__PURE__*/function (_Component) {
6908
6988
  }
6909
6989
 
6910
6990
  return {
6911
- backgroundImage: "url(".concat(image, ")")
6991
+ backgroundImage: "url(".concat(getThumb300(image), ")")
6912
6992
  };
6913
6993
  }
6914
6994
  }, {
@@ -7305,6 +7385,7 @@ var ImageInputComponent = /*#__PURE__*/function (_Component) {
7305
7385
  value: function renderLibraryImage(image, index, allowDelete) {
7306
7386
  var _this7 = this;
7307
7387
 
7388
+ console.log(image);
7308
7389
  var classes = 'imageInput imageInput-hasImage imageInput-libraryImage';
7309
7390
 
7310
7391
  if (image.Selected) {
@@ -8531,6 +8612,10 @@ var AnalyticsFilter = /*#__PURE__*/function (_PureComponent) {
8531
8612
 
8532
8613
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "renderOptions", function () {
8533
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
+
8534
8619
  return /*#__PURE__*/React__default['default'].createElement(reactBootstrap.MenuItem, {
8535
8620
  key: ev.dayCount,
8536
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';
@@ -34,6 +34,7 @@ var CoreConfig = {
34
34
  baseStage: '',
35
35
  baseAPIUrl: '',
36
36
  baseUploadsUrl: '',
37
+ baseLibraryUrl: '',
37
38
  uploadBucket: '',
38
39
  colourBrandingMain: '',
39
40
  colourBrandingOff: '',
@@ -514,18 +515,95 @@ var getAnalyticsFilterOptions = function getAnalyticsFilterOptions() {
514
515
  text: 'Last 30 days',
515
516
  dayCount: 30,
516
517
  prevText: 'previous 30 days'
518
+ }, {
519
+ text: 'Last 90 days',
520
+ dayCount: 90,
521
+ prevText: 'previous 90 days'
517
522
  }, {
518
523
  text: 'Custom Range',
519
524
  dayCount: 0,
520
525
  prevText: 'previous * days'
521
526
  }];
522
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
+ };
523
598
 
524
599
  var analytics = /*#__PURE__*/Object.freeze({
525
600
  __proto__: null,
526
601
  compileStats: compileStats,
527
602
  getInsight: getInsight,
528
- getAnalyticsFilterOptions: getAnalyticsFilterOptions
603
+ getAnalyticsFilterOptions: getAnalyticsFilterOptions,
604
+ countActivities: countActivities,
605
+ generateDateRangeObjects: generateDateRangeObjects,
606
+ generateDateActivities: generateDateActivities
529
607
  });
530
608
 
531
609
  var getUrl = function getUrl(baseAction, action, query) {
@@ -656,9 +734,11 @@ var getThumb300 = function getThumb300(url) {
656
734
  return url.replace('/uploads/', '/uploads-thumb/').replace('/general/', '/general300/').replace('/uploads1400/', '/uploads-thumb/').replace('/general1400/', '/general300/');
657
735
  }
658
736
 
659
- var baseUploadsUrl = CoreConfig.env.baseUploadsUrl;
737
+ var _Config$env = CoreConfig.env,
738
+ baseUploadsUrl = _Config$env.baseUploadsUrl,
739
+ baseLibraryUrl = _Config$env.baseLibraryUrl;
660
740
 
661
- if (url.indexOf(baseUploadsUrl) !== -1) {
741
+ if (url.indexOf(baseUploadsUrl) !== -1 || url.indexOf(baseLibraryUrl) !== -1) {
662
742
  var extension = getExtension(url);
663
743
  var urlToUse = url;
664
744
 
@@ -6878,7 +6958,7 @@ var ImageInputComponent = /*#__PURE__*/function (_Component) {
6878
6958
  }
6879
6959
 
6880
6960
  return {
6881
- backgroundImage: "url(".concat(image, ")")
6961
+ backgroundImage: "url(".concat(getThumb300(image), ")")
6882
6962
  };
6883
6963
  }
6884
6964
  }, {
@@ -7275,6 +7355,7 @@ var ImageInputComponent = /*#__PURE__*/function (_Component) {
7275
7355
  value: function renderLibraryImage(image, index, allowDelete) {
7276
7356
  var _this7 = this;
7277
7357
 
7358
+ console.log(image);
7278
7359
  var classes = 'imageInput imageInput-hasImage imageInput-libraryImage';
7279
7360
 
7280
7361
  if (image.Selected) {
@@ -8501,6 +8582,10 @@ var AnalyticsFilter = /*#__PURE__*/function (_PureComponent) {
8501
8582
 
8502
8583
  _defineProperty(_assertThisInitialized(_this), "renderOptions", function () {
8503
8584
  return _this.state.filterOptions.map(function (ev) {
8585
+ if (_this.props.hideOptions && _.includes(_this.props.hideOptions, ev.dayCount)) {
8586
+ return null;
8587
+ }
8588
+
8504
8589
  return /*#__PURE__*/React.createElement(MenuItem, {
8505
8590
  key: ev.dayCount,
8506
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);
@@ -35,6 +35,7 @@
35
35
  baseStage: '',
36
36
  baseAPIUrl: '',
37
37
  baseUploadsUrl: '',
38
+ baseLibraryUrl: '',
38
39
  uploadBucket: '',
39
40
  colourBrandingMain: '',
40
41
  colourBrandingOff: '',
@@ -515,18 +516,95 @@
515
516
  text: 'Last 30 days',
516
517
  dayCount: 30,
517
518
  prevText: 'previous 30 days'
519
+ }, {
520
+ text: 'Last 90 days',
521
+ dayCount: 90,
522
+ prevText: 'previous 90 days'
518
523
  }, {
519
524
  text: 'Custom Range',
520
525
  dayCount: 0,
521
526
  prevText: 'previous * days'
522
527
  }];
523
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
+ };
524
599
 
525
600
  var analytics = /*#__PURE__*/Object.freeze({
526
601
  __proto__: null,
527
602
  compileStats: compileStats,
528
603
  getInsight: getInsight,
529
- getAnalyticsFilterOptions: getAnalyticsFilterOptions
604
+ getAnalyticsFilterOptions: getAnalyticsFilterOptions,
605
+ countActivities: countActivities,
606
+ generateDateRangeObjects: generateDateRangeObjects,
607
+ generateDateActivities: generateDateActivities
530
608
  });
531
609
 
532
610
  var getUrl = function getUrl(baseAction, action, query) {
@@ -657,9 +735,11 @@
657
735
  return url.replace('/uploads/', '/uploads-thumb/').replace('/general/', '/general300/').replace('/uploads1400/', '/uploads-thumb/').replace('/general1400/', '/general300/');
658
736
  }
659
737
 
660
- var baseUploadsUrl = CoreConfig.env.baseUploadsUrl;
738
+ var _Config$env = CoreConfig.env,
739
+ baseUploadsUrl = _Config$env.baseUploadsUrl,
740
+ baseLibraryUrl = _Config$env.baseLibraryUrl;
661
741
 
662
- if (url.indexOf(baseUploadsUrl) !== -1) {
742
+ if (url.indexOf(baseUploadsUrl) !== -1 || url.indexOf(baseLibraryUrl) !== -1) {
663
743
  var extension = getExtension(url);
664
744
  var urlToUse = url;
665
745
 
@@ -6879,7 +6959,7 @@
6879
6959
  }
6880
6960
 
6881
6961
  return {
6882
- backgroundImage: "url(".concat(image, ")")
6962
+ backgroundImage: "url(".concat(getThumb300(image), ")")
6883
6963
  };
6884
6964
  }
6885
6965
  }, {
@@ -7276,6 +7356,7 @@
7276
7356
  value: function renderLibraryImage(image, index, allowDelete) {
7277
7357
  var _this7 = this;
7278
7358
 
7359
+ console.log(image);
7279
7360
  var classes = 'imageInput imageInput-hasImage imageInput-libraryImage';
7280
7361
 
7281
7362
  if (image.Selected) {
@@ -8502,6 +8583,10 @@
8502
8583
 
8503
8584
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "renderOptions", function () {
8504
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
+
8505
8590
  return /*#__PURE__*/React__default['default'].createElement(reactBootstrap.MenuItem, {
8506
8591
  key: ev.dayCount,
8507
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-beta.0",
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}
@@ -117,7 +117,7 @@ class ImageInputComponent extends Component {
117
117
  if (this.props.noCompress) {
118
118
  return { backgroundImage: `url(${image})`, backgroundSize: 'contain' };
119
119
  }
120
- return { backgroundImage: `url(${image})` };
120
+ return { backgroundImage: `url(${getThumb300(image)})` };
121
121
  }
122
122
 
123
123
  getAccept = () => {
@@ -619,6 +619,7 @@ class ImageInputComponent extends Component {
619
619
  }
620
620
 
621
621
  renderLibraryImage(image, index, allowDelete) {
622
+ console.log(image);
622
623
  let classes = 'imageInput imageInput-hasImage imageInput-libraryImage';
623
624
  if (image.Selected) {
624
625
  classes += ' imageInput-librarySelected';
package/src/config.js CHANGED
@@ -3,6 +3,7 @@ const CoreConfig = {
3
3
  baseStage: '',
4
4
  baseAPIUrl: '',
5
5
  baseUploadsUrl: '',
6
+ baseLibraryUrl: '',
6
7
  uploadBucket: '',
7
8
  colourBrandingMain: '',
8
9
  colourBrandingOff: '',
@@ -16,9 +16,9 @@ const getThumb300 = (url) => {
16
16
  .replace('/general1400/', '/general300/');
17
17
  }
18
18
 
19
- const { baseUploadsUrl } = Config.env;
19
+ const { baseUploadsUrl, baseLibraryUrl } = Config.env;
20
20
 
21
- if (url.indexOf(baseUploadsUrl) !== -1) {
21
+ if (url.indexOf(baseUploadsUrl) !== -1 || url.indexOf(baseLibraryUrl) !== -1) {
22
22
  const extension = getExtension(url);
23
23
  let urlToUse = url;
24
24
  if (extension !== 'jpg') {