@plusscommunities/pluss-circles-web-groups 1.5.7-beta.0 → 1.5.7-beta.2
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 +209 -53
- package/dist/index.esm.js +209 -53
- package/dist/index.umd.js +209 -53
- package/package.json +1 -1
- package/src/apis/circleActions.js +10 -0
- package/src/screens/Circle.js +9 -0
- package/src/screens/Circles.js +92 -3
- package/src/screens/Circles.module.css +96 -0
package/dist/index.cjs.js
CHANGED
|
@@ -64,30 +64,30 @@ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumab
|
|
|
64
64
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
65
65
|
|
|
66
66
|
var values = {
|
|
67
|
-
featureKey: '
|
|
68
|
-
entityKey: '
|
|
69
|
-
entityName: '
|
|
70
|
-
serviceKey: '
|
|
71
|
-
permission: '
|
|
72
|
-
menuIcon: '
|
|
67
|
+
featureKey: 'groups',
|
|
68
|
+
entityKey: 'group',
|
|
69
|
+
entityName: 'group',
|
|
70
|
+
serviceKey: 'groups',
|
|
71
|
+
permission: 'groups',
|
|
72
|
+
menuIcon: 'comments',
|
|
73
73
|
isFontAwesome: true,
|
|
74
|
-
reducerKey: '
|
|
75
|
-
actionCircleKey: '
|
|
76
|
-
textFeatureTitle: '
|
|
77
|
-
textAddMenuTitle: '
|
|
78
|
-
textEmptyGroups: "You aren't in any
|
|
74
|
+
reducerKey: 'groups',
|
|
75
|
+
actionCircleKey: 'GROUP',
|
|
76
|
+
textFeatureTitle: 'Groups',
|
|
77
|
+
textAddMenuTitle: 'Group',
|
|
78
|
+
textEmptyGroups: "You aren't in any Groups",
|
|
79
79
|
textEmptyPeople: 'Contacts will show here',
|
|
80
|
-
componentCircles: '
|
|
81
|
-
componentAddCircle: '
|
|
82
|
-
componentCircle: '
|
|
83
|
-
inviteKey: '
|
|
84
|
-
messageKey: '
|
|
85
|
-
chatRoute: '
|
|
86
|
-
updateKeyUserCircles: '
|
|
87
|
-
allowPublicKey: '
|
|
88
|
-
allowPublicKeyDefault:
|
|
80
|
+
componentCircles: 'Groups',
|
|
81
|
+
componentAddCircle: 'AddGroup',
|
|
82
|
+
componentCircle: 'Group',
|
|
83
|
+
inviteKey: 'groupInvite',
|
|
84
|
+
messageKey: 'groupMessage',
|
|
85
|
+
chatRoute: 'groupChat',
|
|
86
|
+
updateKeyUserCircles: 'userGroups',
|
|
87
|
+
allowPublicKey: 'groupAllowPublicGroups',
|
|
88
|
+
allowPublicKeyDefault: true,
|
|
89
89
|
settings: {
|
|
90
|
-
allowAnyCreate:
|
|
90
|
+
allowAnyCreate: true
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
|
|
@@ -376,12 +376,46 @@ var circleActions = {
|
|
|
376
376
|
}
|
|
377
377
|
|
|
378
378
|
return deleteMessage;
|
|
379
|
+
}(),
|
|
380
|
+
markAsRead: function () {
|
|
381
|
+
var _markAsRead = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(circleId, userId) {
|
|
382
|
+
return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
|
|
383
|
+
while (1) {
|
|
384
|
+
switch (_context4.prev = _context4.next) {
|
|
385
|
+
case 0:
|
|
386
|
+
return _context4.abrupt("return", Session$4.authedFunction({
|
|
387
|
+
method: 'post',
|
|
388
|
+
url: Helper$3.getUrl('groups', 'resetunread'),
|
|
389
|
+
data: {
|
|
390
|
+
groupID: circleId,
|
|
391
|
+
userID: userId
|
|
392
|
+
}
|
|
393
|
+
}));
|
|
394
|
+
|
|
395
|
+
case 1:
|
|
396
|
+
case "end":
|
|
397
|
+
return _context4.stop();
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}, _callee4);
|
|
401
|
+
}));
|
|
402
|
+
|
|
403
|
+
function markAsRead(_x9, _x10) {
|
|
404
|
+
return _markAsRead.apply(this, arguments);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
return markAsRead;
|
|
379
408
|
}()
|
|
380
409
|
};
|
|
381
410
|
|
|
382
411
|
var Apis$1 = PlussCore__namespace.Apis;
|
|
383
412
|
var analyticsActions = Apis$1.analyticsActions;
|
|
384
413
|
|
|
414
|
+
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
415
|
+
|
|
416
|
+
var css = "/* Badge styling for unread count */\n:root {\n --badge-bg-color: #597db4; /* COLOUR_BRANDING_OFF */\n}\n\n.badgeTag {\n font-size: 11px;\n font-weight: 400;\n padding: 3px 10px;\n background-color: var(--badge-bg-color) !important;\n color: #fff !important;\n border-radius: 999px !important;\n border: none !important;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n letter-spacing: 0.02em;\n}\n\n/* Unread filter info banner */\n.unreadFilterBanner {\n background-color: #f0f4f8;\n border-left: 3px solid var(--badge-bg-color);\n border-radius: 4px;\n padding: 12px 16px;\n margin-top: 16px;\n margin-bottom: 16px;\n display: flex;\n align-items: center;\n}\n\n.unreadFilterContent {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n}\n\n.unreadFilterIcon {\n font-size: 16px;\n color: var(--badge-bg-color);\n flex-shrink: 0;\n}\n\n.unreadFilterText {\n font-size: 14px;\n line-height: 1.5;\n color: #333333;\n}\n\n.unreadFilterButton {\n background: none;\n border: none;\n color: var(--badge-bg-color);\n font-size: 14px;\n font-weight: 500;\n text-decoration: underline;\n cursor: pointer;\n padding: 4px 8px;\n margin-left: 4px;\n min-height: 32px;\n min-width: 32px;\n transition: all 0.2s ease;\n}\n\n.unreadFilterButton:hover {\n background-color: rgba(89, 125, 180, 0.1);\n text-decoration: none;\n}\n\n.unreadFilterButton:focus {\n outline: 2px solid var(--badge-bg-color);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* Mobile responsiveness */\n@media (max-width: 768px) {\n .unreadFilterBanner {\n flex-direction: column;\n align-items: flex-start;\n padding: 12px;\n }\n\n .unreadFilterContent {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .unreadFilterText {\n font-size: 13px;\n }\n}\n\n";
|
|
417
|
+
n(css,{});
|
|
418
|
+
|
|
385
419
|
function _createSuper$7(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$7(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }
|
|
386
420
|
|
|
387
421
|
function _isNativeReflectConstruct$7() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -447,6 +481,12 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
447
481
|
})));
|
|
448
482
|
});
|
|
449
483
|
|
|
484
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "selectUnreadFilter", function (showUnreadOnly) {
|
|
485
|
+
_this.setState({
|
|
486
|
+
showUnreadOnly: showUnreadOnly
|
|
487
|
+
});
|
|
488
|
+
});
|
|
489
|
+
|
|
450
490
|
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "canAddNew", function () {
|
|
451
491
|
var auth = _this.props.auth;
|
|
452
492
|
return Session$3.validateAccess(auth.site, values.permission, auth);
|
|
@@ -559,7 +599,9 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
559
599
|
|
|
560
600
|
_this.state = {
|
|
561
601
|
userSearch: "",
|
|
562
|
-
sortBy: "newest"
|
|
602
|
+
sortBy: "newest",
|
|
603
|
+
showUnreadOnly: false,
|
|
604
|
+
pollingInterval: null
|
|
563
605
|
};
|
|
564
606
|
return _this;
|
|
565
607
|
}
|
|
@@ -567,25 +609,60 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
567
609
|
_createClass__default['default'](Circles, [{
|
|
568
610
|
key: "componentDidMount",
|
|
569
611
|
value: function componentDidMount() {
|
|
570
|
-
this
|
|
612
|
+
var _this2 = this;
|
|
613
|
+
|
|
614
|
+
this.getData(); // Poll for updates every 10 seconds
|
|
615
|
+
|
|
616
|
+
this.pollingInterval = setInterval(function () {
|
|
617
|
+
_this2.getData();
|
|
618
|
+
}, 10000);
|
|
619
|
+
}
|
|
620
|
+
}, {
|
|
621
|
+
key: "componentWillUnmount",
|
|
622
|
+
value: function componentWillUnmount() {
|
|
623
|
+
if (this.pollingInterval) {
|
|
624
|
+
clearInterval(this.pollingInterval);
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
}, {
|
|
628
|
+
key: "isCircleUnread",
|
|
629
|
+
value: function isCircleUnread(circle) {
|
|
630
|
+
var userId = this.props.user.Id;
|
|
631
|
+
|
|
632
|
+
if (!circle.Unread || !circle.Unread[userId]) {
|
|
633
|
+
return false;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
return circle.Unread[userId] > 0;
|
|
637
|
+
}
|
|
638
|
+
}, {
|
|
639
|
+
key: "getUnreadCount",
|
|
640
|
+
value: function getUnreadCount(circle) {
|
|
641
|
+
var userId = this.props.user.Id;
|
|
642
|
+
|
|
643
|
+
if (!circle.Unread || !circle.Unread[userId]) {
|
|
644
|
+
return 0;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
return circle.Unread[userId];
|
|
571
648
|
}
|
|
572
649
|
}, {
|
|
573
650
|
key: "getCircles",
|
|
574
651
|
value: function getCircles() {
|
|
575
|
-
var
|
|
652
|
+
var _this3 = this;
|
|
576
653
|
|
|
577
654
|
var result = this.props.circles;
|
|
578
655
|
|
|
579
656
|
if (this.state.selectedTypeFilter) {
|
|
580
657
|
result = ___default['default'].filter(result, function (circle) {
|
|
581
|
-
return
|
|
658
|
+
return _this3.state.selectedTypeFilter === "circle" ? !circle.IsPrivate : circle.IsPrivate;
|
|
582
659
|
});
|
|
583
660
|
}
|
|
584
661
|
|
|
585
662
|
if (this.state.selectedUserFilter) {
|
|
586
663
|
result = ___default['default'].filter(result, function (circle) {
|
|
587
664
|
return ___default['default'].some(circle.Audience, function (user) {
|
|
588
|
-
return user.userId ===
|
|
665
|
+
return user.userId === _this3.state.selectedUserFilter.userId;
|
|
589
666
|
});
|
|
590
667
|
});
|
|
591
668
|
} // Apply sorting
|
|
@@ -597,6 +674,12 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
597
674
|
|
|
598
675
|
if (this.state.sortBy === "newest") {
|
|
599
676
|
result.reverse();
|
|
677
|
+
|
|
678
|
+
if (this.state.showUnreadOnly) {
|
|
679
|
+
result = ___default['default'].filter(result, function (circle) {
|
|
680
|
+
return _this3.isCircleUnread(circle);
|
|
681
|
+
});
|
|
682
|
+
}
|
|
600
683
|
}
|
|
601
684
|
|
|
602
685
|
return result;
|
|
@@ -604,7 +687,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
604
687
|
}, {
|
|
605
688
|
key: "getUsers",
|
|
606
689
|
value: function getUsers() {
|
|
607
|
-
var
|
|
690
|
+
var _this4 = this;
|
|
608
691
|
|
|
609
692
|
var users = [];
|
|
610
693
|
this.props.circles.forEach(function (circle) {
|
|
@@ -616,8 +699,8 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
616
699
|
return user.userId;
|
|
617
700
|
}), "displayName");
|
|
618
701
|
return ___default['default'].filter(users, function (u) {
|
|
619
|
-
if (!___default['default'].isEmpty(
|
|
620
|
-
return (u.displayName || "").toLowerCase().indexOf(
|
|
702
|
+
if (!___default['default'].isEmpty(_this4.state.userSearch)) {
|
|
703
|
+
return (u.displayName || "").toLowerCase().indexOf(_this4.state.userSearch.toLowerCase()) > -1;
|
|
621
704
|
}
|
|
622
705
|
|
|
623
706
|
return true;
|
|
@@ -626,7 +709,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
626
709
|
}, {
|
|
627
710
|
key: "validateCircleAdmin",
|
|
628
711
|
value: function validateCircleAdmin(circle, onlyCreator) {
|
|
629
|
-
var
|
|
712
|
+
var _this5 = this;
|
|
630
713
|
|
|
631
714
|
if (Session$3.validateAccess(this.props.auth.site, values.permission, this.props.auth)) {
|
|
632
715
|
return true;
|
|
@@ -637,21 +720,31 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
637
720
|
}
|
|
638
721
|
|
|
639
722
|
return ___default['default'].some(circle.Audience, function (user) {
|
|
640
|
-
return user.userId ===
|
|
723
|
+
return user.userId === _this5.props.user.Id && user.isAdmin;
|
|
641
724
|
});
|
|
642
725
|
}
|
|
643
726
|
}, {
|
|
644
727
|
key: "renderRow",
|
|
645
728
|
value: function renderRow(circle) {
|
|
646
|
-
var
|
|
729
|
+
var _this6 = this;
|
|
647
730
|
|
|
731
|
+
var unreadCount = this.getUnreadCount(circle);
|
|
732
|
+
var badge = unreadCount > 0 ? /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
733
|
+
className: css.badgeTag,
|
|
734
|
+
text: "".concat(unreadCount, " new")
|
|
735
|
+
}) : null;
|
|
648
736
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
649
737
|
key: circle.Id
|
|
650
738
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
651
739
|
className: "table-TitleColumn"
|
|
740
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
741
|
+
className: "flex flex-center",
|
|
742
|
+
style: {
|
|
743
|
+
gap: "8px"
|
|
744
|
+
}
|
|
652
745
|
}, /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
|
|
653
746
|
to: "/".concat(values.featureKey, "/").concat(values.entityKey, "/").concat(circle.Id)
|
|
654
|
-
}, this.getTitle(circle))), /*#__PURE__*/React__default['default'].createElement("td", null, moment__default['default'](circle.Changed).local().format("D MMM YYYY")), /*#__PURE__*/React__default['default'].createElement("td", null, circle.Audience.map(function (user) {
|
|
747
|
+
}, this.getTitle(circle)), badge)), /*#__PURE__*/React__default['default'].createElement("td", null, moment__default['default'](circle.Changed).local().format("D MMM YYYY")), /*#__PURE__*/React__default['default'].createElement("td", null, circle.Audience.map(function (user) {
|
|
655
748
|
return /*#__PURE__*/React__default['default'].createElement(Components$4.ProfilePic, {
|
|
656
749
|
size: 30,
|
|
657
750
|
image: user.profilePic,
|
|
@@ -677,7 +770,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
677
770
|
name: "pencil"
|
|
678
771
|
})), this.validateCircleAdmin(circle, true) && !circle.IsPrivate && /*#__PURE__*/React__default['default'].createElement("a", {
|
|
679
772
|
onClick: function onClick() {
|
|
680
|
-
|
|
773
|
+
_this6.removeCircle(circle);
|
|
681
774
|
}
|
|
682
775
|
}, /*#__PURE__*/React__default['default'].createElement(FontAwesome__default['default'], {
|
|
683
776
|
style: {
|
|
@@ -689,16 +782,52 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
689
782
|
name: "minus-circle"
|
|
690
783
|
})))));
|
|
691
784
|
}
|
|
785
|
+
}, {
|
|
786
|
+
key: "renderUnreadFilterInfo",
|
|
787
|
+
value: function renderUnreadFilterInfo() {
|
|
788
|
+
var _this7 = this;
|
|
789
|
+
|
|
790
|
+
var showUnreadOnly = this.state.showUnreadOnly;
|
|
791
|
+
|
|
792
|
+
if (!showUnreadOnly) {
|
|
793
|
+
return null;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
797
|
+
className: css.unreadFilterBanner
|
|
798
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
799
|
+
className: css.unreadFilterContent
|
|
800
|
+
}, /*#__PURE__*/React__default['default'].createElement(FontAwesome__default['default'], {
|
|
801
|
+
name: "info-circle",
|
|
802
|
+
className: css.unreadFilterIcon
|
|
803
|
+
}), /*#__PURE__*/React__default['default'].createElement("span", {
|
|
804
|
+
className: css.unreadFilterText
|
|
805
|
+
}, "Showing only items with new messages.", " ", /*#__PURE__*/React__default['default'].createElement("button", {
|
|
806
|
+
className: css.unreadFilterButton,
|
|
807
|
+
onClick: function onClick() {
|
|
808
|
+
return _this7.selectUnreadFilter(false);
|
|
809
|
+
},
|
|
810
|
+
"aria-label": "Turn off unread filter"
|
|
811
|
+
}, "Turn off filter"))));
|
|
812
|
+
}
|
|
692
813
|
}, {
|
|
693
814
|
key: "renderFilters",
|
|
694
815
|
value: function renderFilters() {
|
|
695
|
-
var
|
|
816
|
+
var _this8 = this;
|
|
696
817
|
|
|
697
818
|
var userFilter = /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
698
819
|
className: "marginRight-10",
|
|
699
820
|
onClick: this.openUserFilter,
|
|
700
821
|
text: "User"
|
|
701
822
|
});
|
|
823
|
+
var unreadFilter = /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
824
|
+
className: "marginRight-10",
|
|
825
|
+
onClick: function onClick() {
|
|
826
|
+
return _this8.selectUnreadFilter(!_this8.state.showUnreadOnly);
|
|
827
|
+
},
|
|
828
|
+
leftIcon: this.state.showUnreadOnly ? "check" : null,
|
|
829
|
+
text: "Unread Only"
|
|
830
|
+
});
|
|
702
831
|
var typeFilter = /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
703
832
|
className: "marginRight-10",
|
|
704
833
|
onClick: this.openTypeFilter,
|
|
@@ -733,19 +862,19 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
733
862
|
}, /*#__PURE__*/React__default['default'].createElement(Components$4.Text, {
|
|
734
863
|
type: "h5",
|
|
735
864
|
className: "marginRight-20"
|
|
736
|
-
}, "Filter by"), userFilter, typeFilter, /*#__PURE__*/React__default['default'].createElement(Components$4.Text, {
|
|
865
|
+
}, "Filter by"), userFilter, typeFilter, unreadFilter, /*#__PURE__*/React__default['default'].createElement(Components$4.Text, {
|
|
737
866
|
type: "h5",
|
|
738
867
|
className: "marginRight-20 marginLeft-20"
|
|
739
868
|
}, "Sort by:"), /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
740
869
|
className: "marginRight-10",
|
|
741
870
|
onClick: function onClick() {
|
|
742
|
-
return
|
|
871
|
+
return _this8.selectSort("newest");
|
|
743
872
|
},
|
|
744
873
|
leftIcon: this.state.sortBy === "newest" ? "check" : null,
|
|
745
874
|
text: "Newest first"
|
|
746
875
|
}), /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
747
876
|
onClick: function onClick() {
|
|
748
|
-
return
|
|
877
|
+
return _this8.selectSort("oldest");
|
|
749
878
|
},
|
|
750
879
|
leftIcon: this.state.sortBy === "oldest" ? "check" : null,
|
|
751
880
|
text: "Oldest first"
|
|
@@ -754,7 +883,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
754
883
|
}, {
|
|
755
884
|
key: "renderUserFilterPopup",
|
|
756
885
|
value: function renderUserFilterPopup() {
|
|
757
|
-
var
|
|
886
|
+
var _this9 = this;
|
|
758
887
|
|
|
759
888
|
if (!this.state.userFilterOpen) {
|
|
760
889
|
return null;
|
|
@@ -774,7 +903,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
774
903
|
placeholder: "Enter name",
|
|
775
904
|
value: this.state.userSearch,
|
|
776
905
|
onChange: function onChange(e) {
|
|
777
|
-
return
|
|
906
|
+
return _this9.onHandleChange(e);
|
|
778
907
|
},
|
|
779
908
|
alwaysShowLabel: true
|
|
780
909
|
}), this.getUsers().map(function (user) {
|
|
@@ -782,7 +911,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
782
911
|
key: user.userId,
|
|
783
912
|
user: user,
|
|
784
913
|
onClick: function onClick() {
|
|
785
|
-
|
|
914
|
+
_this9.selectUserFilter(user);
|
|
786
915
|
}
|
|
787
916
|
});
|
|
788
917
|
}));
|
|
@@ -790,7 +919,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
790
919
|
}, {
|
|
791
920
|
key: "renderTypeFilterPopup",
|
|
792
921
|
value: function renderTypeFilterPopup() {
|
|
793
|
-
var
|
|
922
|
+
var _this10 = this;
|
|
794
923
|
|
|
795
924
|
if (!this.state.typeFilterOpen) {
|
|
796
925
|
return null;
|
|
@@ -804,13 +933,13 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
804
933
|
onClose: this.closeTypeFilter
|
|
805
934
|
}, /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
806
935
|
onClick: function onClick() {
|
|
807
|
-
|
|
936
|
+
_this10.selectTypeFilter("circle");
|
|
808
937
|
},
|
|
809
938
|
text: ___default['default'].capitalize(values.entityName),
|
|
810
939
|
className: "marginRight-10"
|
|
811
940
|
}), /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
812
941
|
onClick: function onClick() {
|
|
813
|
-
|
|
942
|
+
_this10.selectTypeFilter("private");
|
|
814
943
|
},
|
|
815
944
|
text: "Private Message"
|
|
816
945
|
}));
|
|
@@ -818,7 +947,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
818
947
|
}, {
|
|
819
948
|
key: "render",
|
|
820
949
|
value: function render() {
|
|
821
|
-
var
|
|
950
|
+
var _this11 = this;
|
|
822
951
|
|
|
823
952
|
return /*#__PURE__*/React__default['default'].createElement("div", null, this.renderTypeFilterPopup(), this.renderUserFilterPopup(), /*#__PURE__*/React__default['default'].createElement(Components$4.Header, null, this.canAddNew() && /*#__PURE__*/React__default['default'].createElement(Components$4.AddButton, {
|
|
824
953
|
onClick: this.onAddNew,
|
|
@@ -828,7 +957,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
828
957
|
}, /*#__PURE__*/React__default['default'].createElement(Components$4.Text, {
|
|
829
958
|
type: "h1",
|
|
830
959
|
className: ""
|
|
831
|
-
}, values.textFeatureTitle), this.renderFilters(), /*#__PURE__*/React__default['default'].createElement(reactBootstrap.Table, {
|
|
960
|
+
}, values.textFeatureTitle), this.renderFilters(), this.renderUnreadFilterInfo(), /*#__PURE__*/React__default['default'].createElement(reactBootstrap.Table, {
|
|
832
961
|
className: "plussTable",
|
|
833
962
|
striped: true,
|
|
834
963
|
bordered: true,
|
|
@@ -842,7 +971,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
842
971
|
width: 50
|
|
843
972
|
}
|
|
844
973
|
}))), /*#__PURE__*/React__default['default'].createElement("tbody", null, this.getCircles().map(function (circle) {
|
|
845
|
-
return
|
|
974
|
+
return _this11.renderRow(circle);
|
|
846
975
|
})))));
|
|
847
976
|
}
|
|
848
977
|
}]);
|
|
@@ -1806,6 +1935,32 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
1806
1935
|
});
|
|
1807
1936
|
});
|
|
1808
1937
|
|
|
1938
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "markCircleAsRead", /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5() {
|
|
1939
|
+
return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
|
|
1940
|
+
while (1) {
|
|
1941
|
+
switch (_context5.prev = _context5.next) {
|
|
1942
|
+
case 0:
|
|
1943
|
+
_context5.prev = 0;
|
|
1944
|
+
_context5.next = 3;
|
|
1945
|
+
return circleActions.markAsRead(_this.state.circleId, _this.props.user.Id);
|
|
1946
|
+
|
|
1947
|
+
case 3:
|
|
1948
|
+
_context5.next = 8;
|
|
1949
|
+
break;
|
|
1950
|
+
|
|
1951
|
+
case 5:
|
|
1952
|
+
_context5.prev = 5;
|
|
1953
|
+
_context5.t0 = _context5["catch"](0);
|
|
1954
|
+
console.error("Failed to mark circle as read:", _context5.t0);
|
|
1955
|
+
|
|
1956
|
+
case 8:
|
|
1957
|
+
case "end":
|
|
1958
|
+
return _context5.stop();
|
|
1959
|
+
}
|
|
1960
|
+
}
|
|
1961
|
+
}, _callee5, null, [[0, 5]]);
|
|
1962
|
+
})));
|
|
1963
|
+
|
|
1809
1964
|
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "sendMessage", function () {
|
|
1810
1965
|
var message = {
|
|
1811
1966
|
_id: Helper.randomString(),
|
|
@@ -1890,6 +2045,7 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
1890
2045
|
_createClass__default['default'](Circle, [{
|
|
1891
2046
|
key: "componentDidMount",
|
|
1892
2047
|
value: function componentDidMount() {
|
|
2048
|
+
this.markCircleAsRead();
|
|
1893
2049
|
this.checkGetData();
|
|
1894
2050
|
this.connect();
|
|
1895
2051
|
this.props.setNavData({
|
|
@@ -2026,8 +2182,8 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
2026
2182
|
display: this.state.imageInputShowing ? "block" : "none"
|
|
2027
2183
|
}
|
|
2028
2184
|
}, /*#__PURE__*/React__default['default'].createElement(Components$2.ImageInput, {
|
|
2029
|
-
ref: function ref(
|
|
2030
|
-
_this5.imageInput =
|
|
2185
|
+
ref: function ref(_ref6) {
|
|
2186
|
+
_this5.imageInput = _ref6;
|
|
2031
2187
|
},
|
|
2032
2188
|
multiple: true,
|
|
2033
2189
|
limit: 10,
|
|
@@ -2041,8 +2197,8 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
2041
2197
|
display: this.state.fileInputShowing ? "block" : "none"
|
|
2042
2198
|
}
|
|
2043
2199
|
}, /*#__PURE__*/React__default['default'].createElement(Components$2.FileInput, {
|
|
2044
|
-
ref: function ref(
|
|
2045
|
-
_this5.fileInput =
|
|
2200
|
+
ref: function ref(_ref7) {
|
|
2201
|
+
_this5.fileInput = _ref7;
|
|
2046
2202
|
},
|
|
2047
2203
|
multiple: true,
|
|
2048
2204
|
limit: 10,
|
|
@@ -2336,8 +2492,8 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
2336
2492
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2337
2493
|
className: "chat_newMessage"
|
|
2338
2494
|
}, this.renderChatInput()), this.renderReplyTo(), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2339
|
-
ref: function ref(
|
|
2340
|
-
return _this8.chat =
|
|
2495
|
+
ref: function ref(_ref8) {
|
|
2496
|
+
return _this8.chat = _ref8;
|
|
2341
2497
|
},
|
|
2342
2498
|
className: "chat_messages"
|
|
2343
2499
|
}, ___default['default'].isEmpty(this.state.messages) && !___default['default'].isEmpty(this.state.messageDate) && this.renderEmptyDate(), this.state.messages.map(function (m) {
|