@plusscommunities/pluss-circles-web 1.5.6 → 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 +232 -42
- package/dist/index.esm.js +232 -42
- package/dist/index.umd.js +232 -42
- package/package.json +1 -1
- package/src/apis/circleActions.js +10 -0
- package/src/screens/Circle.js +9 -0
- package/src/screens/Circles.js +558 -376
- package/src/screens/Circles.module.css +96 -0
package/dist/index.cjs.js
CHANGED
|
@@ -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; } }
|
|
@@ -418,7 +452,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
418
452
|
|
|
419
453
|
case 3:
|
|
420
454
|
res = _context.sent;
|
|
421
|
-
console.log(
|
|
455
|
+
console.log("getData", res.data);
|
|
422
456
|
|
|
423
457
|
_this.props.circlesLoaded(res.data);
|
|
424
458
|
|
|
@@ -432,7 +466,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
432
466
|
case 9:
|
|
433
467
|
_context.prev = 9;
|
|
434
468
|
_context.t0 = _context["catch"](0);
|
|
435
|
-
console.error(
|
|
469
|
+
console.error("getData", _context.t0);
|
|
436
470
|
|
|
437
471
|
_this.setState({
|
|
438
472
|
loadingAll: 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);
|
|
@@ -514,9 +554,15 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
514
554
|
});
|
|
515
555
|
});
|
|
516
556
|
|
|
557
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "selectSort", function (sortType) {
|
|
558
|
+
_this.setState({
|
|
559
|
+
sortBy: sortType
|
|
560
|
+
});
|
|
561
|
+
});
|
|
562
|
+
|
|
517
563
|
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onHandleChange", function (event) {
|
|
518
564
|
var stateChange = {};
|
|
519
|
-
stateChange[event.target.getAttribute(
|
|
565
|
+
stateChange[event.target.getAttribute("id")] = event.target.value;
|
|
520
566
|
|
|
521
567
|
_this.setState(stateChange);
|
|
522
568
|
});
|
|
@@ -528,14 +574,14 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
528
574
|
circleActions.delete(circle.Id).then(function (res) {
|
|
529
575
|
_this.getData();
|
|
530
576
|
}).catch(function (res) {
|
|
531
|
-
alert(
|
|
577
|
+
alert("Something went wrong with the request. Please try again.");
|
|
532
578
|
});
|
|
533
579
|
}
|
|
534
580
|
});
|
|
535
581
|
|
|
536
582
|
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getTypeFilterText", function (type) {
|
|
537
|
-
if (type ===
|
|
538
|
-
return
|
|
583
|
+
if (type === "private") {
|
|
584
|
+
return "Private Message";
|
|
539
585
|
}
|
|
540
586
|
|
|
541
587
|
return ___default['default'].capitalize(values.entityName);
|
|
@@ -545,14 +591,17 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
545
591
|
if (circle.IsPrivate) {
|
|
546
592
|
return "PM: ".concat(circle.Audience.map(function (user) {
|
|
547
593
|
return user.displayName;
|
|
548
|
-
}).join(
|
|
594
|
+
}).join(", "));
|
|
549
595
|
}
|
|
550
596
|
|
|
551
597
|
return circle.Title;
|
|
552
598
|
});
|
|
553
599
|
|
|
554
600
|
_this.state = {
|
|
555
|
-
userSearch:
|
|
601
|
+
userSearch: "",
|
|
602
|
+
sortBy: "newest",
|
|
603
|
+
showUnreadOnly: false,
|
|
604
|
+
pollingInterval: null
|
|
556
605
|
};
|
|
557
606
|
return _this;
|
|
558
607
|
}
|
|
@@ -560,27 +609,77 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
560
609
|
_createClass__default['default'](Circles, [{
|
|
561
610
|
key: "componentDidMount",
|
|
562
611
|
value: function componentDidMount() {
|
|
563
|
-
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];
|
|
564
648
|
}
|
|
565
649
|
}, {
|
|
566
650
|
key: "getCircles",
|
|
567
651
|
value: function getCircles() {
|
|
568
|
-
var
|
|
652
|
+
var _this3 = this;
|
|
569
653
|
|
|
570
654
|
var result = this.props.circles;
|
|
571
655
|
|
|
572
656
|
if (this.state.selectedTypeFilter) {
|
|
573
657
|
result = ___default['default'].filter(result, function (circle) {
|
|
574
|
-
return
|
|
658
|
+
return _this3.state.selectedTypeFilter === "circle" ? !circle.IsPrivate : circle.IsPrivate;
|
|
575
659
|
});
|
|
576
660
|
}
|
|
577
661
|
|
|
578
662
|
if (this.state.selectedUserFilter) {
|
|
579
663
|
result = ___default['default'].filter(result, function (circle) {
|
|
580
664
|
return ___default['default'].some(circle.Audience, function (user) {
|
|
581
|
-
return user.userId ===
|
|
665
|
+
return user.userId === _this3.state.selectedUserFilter.userId;
|
|
582
666
|
});
|
|
583
667
|
});
|
|
668
|
+
} // Apply sorting
|
|
669
|
+
|
|
670
|
+
|
|
671
|
+
result = ___default['default'].sortBy(result, function (circle) {
|
|
672
|
+
return moment__default['default'](circle.Changed).valueOf();
|
|
673
|
+
});
|
|
674
|
+
|
|
675
|
+
if (this.state.sortBy === "newest") {
|
|
676
|
+
result.reverse();
|
|
677
|
+
|
|
678
|
+
if (this.state.showUnreadOnly) {
|
|
679
|
+
result = ___default['default'].filter(result, function (circle) {
|
|
680
|
+
return _this3.isCircleUnread(circle);
|
|
681
|
+
});
|
|
682
|
+
}
|
|
584
683
|
}
|
|
585
684
|
|
|
586
685
|
return result;
|
|
@@ -588,7 +687,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
588
687
|
}, {
|
|
589
688
|
key: "getUsers",
|
|
590
689
|
value: function getUsers() {
|
|
591
|
-
var
|
|
690
|
+
var _this4 = this;
|
|
592
691
|
|
|
593
692
|
var users = [];
|
|
594
693
|
this.props.circles.forEach(function (circle) {
|
|
@@ -598,10 +697,10 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
598
697
|
});
|
|
599
698
|
users = ___default['default'].sortBy(___default['default'].uniqBy(users, function (user) {
|
|
600
699
|
return user.userId;
|
|
601
|
-
}),
|
|
700
|
+
}), "displayName");
|
|
602
701
|
return ___default['default'].filter(users, function (u) {
|
|
603
|
-
if (!___default['default'].isEmpty(
|
|
604
|
-
return (u.displayName ||
|
|
702
|
+
if (!___default['default'].isEmpty(_this4.state.userSearch)) {
|
|
703
|
+
return (u.displayName || "").toLowerCase().indexOf(_this4.state.userSearch.toLowerCase()) > -1;
|
|
605
704
|
}
|
|
606
705
|
|
|
607
706
|
return true;
|
|
@@ -610,7 +709,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
610
709
|
}, {
|
|
611
710
|
key: "validateCircleAdmin",
|
|
612
711
|
value: function validateCircleAdmin(circle, onlyCreator) {
|
|
613
|
-
var
|
|
712
|
+
var _this5 = this;
|
|
614
713
|
|
|
615
714
|
if (Session$3.validateAccess(this.props.auth.site, values.permission, this.props.auth)) {
|
|
616
715
|
return true;
|
|
@@ -621,21 +720,31 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
621
720
|
}
|
|
622
721
|
|
|
623
722
|
return ___default['default'].some(circle.Audience, function (user) {
|
|
624
|
-
return user.userId ===
|
|
723
|
+
return user.userId === _this5.props.user.Id && user.isAdmin;
|
|
625
724
|
});
|
|
626
725
|
}
|
|
627
726
|
}, {
|
|
628
727
|
key: "renderRow",
|
|
629
728
|
value: function renderRow(circle) {
|
|
630
|
-
var
|
|
729
|
+
var _this6 = this;
|
|
631
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;
|
|
632
736
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
633
737
|
key: circle.Id
|
|
634
738
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
635
739
|
className: "table-TitleColumn"
|
|
740
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
741
|
+
className: "flex flex-center",
|
|
742
|
+
style: {
|
|
743
|
+
gap: "8px"
|
|
744
|
+
}
|
|
636
745
|
}, /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
|
|
637
746
|
to: "/".concat(values.featureKey, "/").concat(values.entityKey, "/").concat(circle.Id)
|
|
638
|
-
}, this.getTitle(circle))), /*#__PURE__*/React__default['default'].createElement("td", null, moment__default['default'](circle.Changed).local().format(
|
|
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) {
|
|
639
748
|
return /*#__PURE__*/React__default['default'].createElement(Components$4.ProfilePic, {
|
|
640
749
|
size: 30,
|
|
641
750
|
image: user.profilePic,
|
|
@@ -646,8 +755,8 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
646
755
|
className: "table-options"
|
|
647
756
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
648
757
|
style: {
|
|
649
|
-
display:
|
|
650
|
-
alignItems:
|
|
758
|
+
display: "flex",
|
|
759
|
+
alignItems: "center"
|
|
651
760
|
}
|
|
652
761
|
}, this.validateCircleAdmin(circle) && !circle.IsPrivate && /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
|
|
653
762
|
to: "/".concat(values.featureKey, "/edit/").concat(circle.Id)
|
|
@@ -656,31 +765,69 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
656
765
|
fontSize: 20,
|
|
657
766
|
padding: 5,
|
|
658
767
|
marginLeft: 12,
|
|
659
|
-
cursor:
|
|
768
|
+
cursor: "pointer"
|
|
660
769
|
},
|
|
661
770
|
name: "pencil"
|
|
662
771
|
})), this.validateCircleAdmin(circle, true) && !circle.IsPrivate && /*#__PURE__*/React__default['default'].createElement("a", {
|
|
663
772
|
onClick: function onClick() {
|
|
664
|
-
|
|
773
|
+
_this6.removeCircle(circle);
|
|
665
774
|
}
|
|
666
775
|
}, /*#__PURE__*/React__default['default'].createElement(FontAwesome__default['default'], {
|
|
667
776
|
style: {
|
|
668
777
|
fontSize: 20,
|
|
669
778
|
padding: 5,
|
|
670
779
|
marginLeft: 12,
|
|
671
|
-
cursor:
|
|
780
|
+
cursor: "pointer"
|
|
672
781
|
},
|
|
673
782
|
name: "minus-circle"
|
|
674
783
|
})))));
|
|
675
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
|
+
}
|
|
676
813
|
}, {
|
|
677
814
|
key: "renderFilters",
|
|
678
815
|
value: function renderFilters() {
|
|
816
|
+
var _this8 = this;
|
|
817
|
+
|
|
679
818
|
var userFilter = /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
680
819
|
className: "marginRight-10",
|
|
681
820
|
onClick: this.openUserFilter,
|
|
682
821
|
text: "User"
|
|
683
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
|
+
});
|
|
684
831
|
var typeFilter = /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
685
832
|
className: "marginRight-10",
|
|
686
833
|
onClick: this.openTypeFilter,
|
|
@@ -715,12 +862,28 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
715
862
|
}, /*#__PURE__*/React__default['default'].createElement(Components$4.Text, {
|
|
716
863
|
type: "h5",
|
|
717
864
|
className: "marginRight-20"
|
|
718
|
-
}, "Filter by"), userFilter, typeFilter
|
|
865
|
+
}, "Filter by"), userFilter, typeFilter, unreadFilter, /*#__PURE__*/React__default['default'].createElement(Components$4.Text, {
|
|
866
|
+
type: "h5",
|
|
867
|
+
className: "marginRight-20 marginLeft-20"
|
|
868
|
+
}, "Sort by:"), /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
869
|
+
className: "marginRight-10",
|
|
870
|
+
onClick: function onClick() {
|
|
871
|
+
return _this8.selectSort("newest");
|
|
872
|
+
},
|
|
873
|
+
leftIcon: this.state.sortBy === "newest" ? "check" : null,
|
|
874
|
+
text: "Newest first"
|
|
875
|
+
}), /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
876
|
+
onClick: function onClick() {
|
|
877
|
+
return _this8.selectSort("oldest");
|
|
878
|
+
},
|
|
879
|
+
leftIcon: this.state.sortBy === "oldest" ? "check" : null,
|
|
880
|
+
text: "Oldest first"
|
|
881
|
+
}));
|
|
719
882
|
}
|
|
720
883
|
}, {
|
|
721
884
|
key: "renderUserFilterPopup",
|
|
722
885
|
value: function renderUserFilterPopup() {
|
|
723
|
-
var
|
|
886
|
+
var _this9 = this;
|
|
724
887
|
|
|
725
888
|
if (!this.state.userFilterOpen) {
|
|
726
889
|
return null;
|
|
@@ -740,7 +903,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
740
903
|
placeholder: "Enter name",
|
|
741
904
|
value: this.state.userSearch,
|
|
742
905
|
onChange: function onChange(e) {
|
|
743
|
-
return
|
|
906
|
+
return _this9.onHandleChange(e);
|
|
744
907
|
},
|
|
745
908
|
alwaysShowLabel: true
|
|
746
909
|
}), this.getUsers().map(function (user) {
|
|
@@ -748,7 +911,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
748
911
|
key: user.userId,
|
|
749
912
|
user: user,
|
|
750
913
|
onClick: function onClick() {
|
|
751
|
-
|
|
914
|
+
_this9.selectUserFilter(user);
|
|
752
915
|
}
|
|
753
916
|
});
|
|
754
917
|
}));
|
|
@@ -756,7 +919,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
756
919
|
}, {
|
|
757
920
|
key: "renderTypeFilterPopup",
|
|
758
921
|
value: function renderTypeFilterPopup() {
|
|
759
|
-
var
|
|
922
|
+
var _this10 = this;
|
|
760
923
|
|
|
761
924
|
if (!this.state.typeFilterOpen) {
|
|
762
925
|
return null;
|
|
@@ -770,13 +933,13 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
770
933
|
onClose: this.closeTypeFilter
|
|
771
934
|
}, /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
772
935
|
onClick: function onClick() {
|
|
773
|
-
|
|
936
|
+
_this10.selectTypeFilter("circle");
|
|
774
937
|
},
|
|
775
938
|
text: ___default['default'].capitalize(values.entityName),
|
|
776
939
|
className: "marginRight-10"
|
|
777
940
|
}), /*#__PURE__*/React__default['default'].createElement(Components$4.Tag, {
|
|
778
941
|
onClick: function onClick() {
|
|
779
|
-
|
|
942
|
+
_this10.selectTypeFilter("private");
|
|
780
943
|
},
|
|
781
944
|
text: "Private Message"
|
|
782
945
|
}));
|
|
@@ -784,7 +947,7 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
784
947
|
}, {
|
|
785
948
|
key: "render",
|
|
786
949
|
value: function render() {
|
|
787
|
-
var
|
|
950
|
+
var _this11 = this;
|
|
788
951
|
|
|
789
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, {
|
|
790
953
|
onClick: this.onAddNew,
|
|
@@ -794,21 +957,21 @@ var Circles = /*#__PURE__*/function (_Component) {
|
|
|
794
957
|
}, /*#__PURE__*/React__default['default'].createElement(Components$4.Text, {
|
|
795
958
|
type: "h1",
|
|
796
959
|
className: ""
|
|
797
|
-
}, 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, {
|
|
798
961
|
className: "plussTable",
|
|
799
962
|
striped: true,
|
|
800
963
|
bordered: true,
|
|
801
964
|
condensed: true,
|
|
802
965
|
hover: true,
|
|
803
966
|
style: {
|
|
804
|
-
minWidth:
|
|
967
|
+
minWidth: "100%"
|
|
805
968
|
}
|
|
806
969
|
}, /*#__PURE__*/React__default['default'].createElement("thead", null, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", null, "Title"), /*#__PURE__*/React__default['default'].createElement("th", null, "Last updated"), /*#__PURE__*/React__default['default'].createElement("th", null, "Members"), /*#__PURE__*/React__default['default'].createElement("th", {
|
|
807
970
|
style: {
|
|
808
971
|
width: 50
|
|
809
972
|
}
|
|
810
973
|
}))), /*#__PURE__*/React__default['default'].createElement("tbody", null, this.getCircles().map(function (circle) {
|
|
811
|
-
return
|
|
974
|
+
return _this11.renderRow(circle);
|
|
812
975
|
})))));
|
|
813
976
|
}
|
|
814
977
|
}]);
|
|
@@ -1772,6 +1935,32 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
1772
1935
|
});
|
|
1773
1936
|
});
|
|
1774
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
|
+
|
|
1775
1964
|
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "sendMessage", function () {
|
|
1776
1965
|
var message = {
|
|
1777
1966
|
_id: Helper.randomString(),
|
|
@@ -1856,6 +2045,7 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
1856
2045
|
_createClass__default['default'](Circle, [{
|
|
1857
2046
|
key: "componentDidMount",
|
|
1858
2047
|
value: function componentDidMount() {
|
|
2048
|
+
this.markCircleAsRead();
|
|
1859
2049
|
this.checkGetData();
|
|
1860
2050
|
this.connect();
|
|
1861
2051
|
this.props.setNavData({
|
|
@@ -1992,8 +2182,8 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
1992
2182
|
display: this.state.imageInputShowing ? "block" : "none"
|
|
1993
2183
|
}
|
|
1994
2184
|
}, /*#__PURE__*/React__default['default'].createElement(Components$2.ImageInput, {
|
|
1995
|
-
ref: function ref(
|
|
1996
|
-
_this5.imageInput =
|
|
2185
|
+
ref: function ref(_ref6) {
|
|
2186
|
+
_this5.imageInput = _ref6;
|
|
1997
2187
|
},
|
|
1998
2188
|
multiple: true,
|
|
1999
2189
|
limit: 10,
|
|
@@ -2007,8 +2197,8 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
2007
2197
|
display: this.state.fileInputShowing ? "block" : "none"
|
|
2008
2198
|
}
|
|
2009
2199
|
}, /*#__PURE__*/React__default['default'].createElement(Components$2.FileInput, {
|
|
2010
|
-
ref: function ref(
|
|
2011
|
-
_this5.fileInput =
|
|
2200
|
+
ref: function ref(_ref7) {
|
|
2201
|
+
_this5.fileInput = _ref7;
|
|
2012
2202
|
},
|
|
2013
2203
|
multiple: true,
|
|
2014
2204
|
limit: 10,
|
|
@@ -2302,8 +2492,8 @@ var Circle = /*#__PURE__*/function (_Component) {
|
|
|
2302
2492
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2303
2493
|
className: "chat_newMessage"
|
|
2304
2494
|
}, this.renderChatInput()), this.renderReplyTo(), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2305
|
-
ref: function ref(
|
|
2306
|
-
return _this8.chat =
|
|
2495
|
+
ref: function ref(_ref8) {
|
|
2496
|
+
return _this8.chat = _ref8;
|
|
2307
2497
|
},
|
|
2308
2498
|
className: "chat_messages"
|
|
2309
2499
|
}, ___default['default'].isEmpty(this.state.messages) && !___default['default'].isEmpty(this.state.messageDate) && this.renderEmptyDate(), this.state.messages.map(function (m) {
|