@plusscommunities/pluss-circles-web 1.0.16-beta.0 → 1.0.17

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
@@ -11,7 +11,7 @@ var _inherits = require('@babel/runtime/helpers/inherits');
11
11
  var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
12
12
  var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
13
13
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
14
- var React$1 = require('react');
14
+ var React = require('react');
15
15
  var reactRedux = require('react-redux');
16
16
  var _ = require('lodash');
17
17
  var moment = require('moment');
@@ -53,7 +53,7 @@ var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
53
53
  var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
54
54
  var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
55
55
  var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
56
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React$1);
56
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
57
57
  var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
58
58
  var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
59
59
  var PlussCore__namespace = /*#__PURE__*/_interopNamespace(PlussCore);
@@ -108,7 +108,7 @@ var FeatureConfig = {
108
108
  }],
109
109
  featurePickerInfo: {
110
110
  image: 'https://pluss-prd-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:80aecdcb-9955-493e-a341-2f2263f64777/public/e4a5948c40908e2137f0a65eb1/groups.jpg',
111
- text: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, "Open and closed group chat - where your community does its planning, discussing and sharing."), /*#__PURE__*/React.createElement("p", null, "Keep them open for any member to join, or private to the admins - ", values.textFeatureTitle, " gives you that control."), /*#__PURE__*/React.createElement("p", null, "Your ", values.textFeatureTitle, " activity will keep the app close to your communities hands.")),
111
+ text: /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("p", null, "Open and closed group chat - where your community does its planning, discussing and sharing."), /*#__PURE__*/React__default['default'].createElement("p", null, "Keep them open for any member to join, or private to the admins - ", values.textFeatureTitle, " gives you that control."), /*#__PURE__*/React__default['default'].createElement("p", null, "Your ", values.textFeatureTitle, " activity will keep the app close to your communities hands.")),
112
112
  layoutDisclaimer: true
113
113
  },
114
114
  menu: {
@@ -781,7 +781,7 @@ var Circles = /*#__PURE__*/function (_Component) {
781
781
  }]);
782
782
 
783
783
  return Circles;
784
- }(React$1.Component);
784
+ }(React.Component);
785
785
 
786
786
  var mapStateToProps$2 = function mapStateToProps(state) {
787
787
  var circles = state[values.reducerKey].circles;
@@ -1349,7 +1349,7 @@ var AddCircle = /*#__PURE__*/function (_Component) {
1349
1349
  }]);
1350
1350
 
1351
1351
  return AddCircle;
1352
- }(React$1.Component);
1352
+ }(React.Component);
1353
1353
 
1354
1354
  var mapStateToProps$1 = function mapStateToProps(state) {
1355
1355
  var circles = state[values.reducerKey].circles;
@@ -1578,6 +1578,17 @@ var Circle = /*#__PURE__*/function (_Component) {
1578
1578
  });
1579
1579
  });
1580
1580
 
1581
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onReply", function (m) {
1582
+ _this.setState({
1583
+ replyingTo: m
1584
+ });
1585
+
1586
+ if (m) {
1587
+ var input = document.getElementById('messageInput');
1588
+ if (input) input.focus();
1589
+ }
1590
+ });
1591
+
1581
1592
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleMessageDateChange", function (date) {
1582
1593
  _this.setState({
1583
1594
  messageDate: date,
@@ -1649,6 +1660,10 @@ var Circle = /*#__PURE__*/function (_Component) {
1649
1660
  return;
1650
1661
  }
1651
1662
 
1663
+ if (_this.state.replyingTo) {
1664
+ message.replyingTo = _this.state.replyingTo;
1665
+ }
1666
+
1652
1667
  var clonedMessage = ___default['default'].cloneDeep(message);
1653
1668
 
1654
1669
  clonedMessage.uploading = true;
@@ -1671,6 +1686,8 @@ var Circle = /*#__PURE__*/function (_Component) {
1671
1686
  });
1672
1687
 
1673
1688
  setTimeout(function () {
1689
+ _this.onReply(null);
1690
+
1674
1691
  _this.scrollToBottom();
1675
1692
 
1676
1693
  _this.imageInput && _this.imageInput.getWrappedInstance().setValue(null);
@@ -1688,7 +1705,8 @@ var Circle = /*#__PURE__*/function (_Component) {
1688
1705
  messages: [],
1689
1706
  images: [],
1690
1707
  files: [],
1691
- membersExpanded: true
1708
+ membersExpanded: true,
1709
+ replyingTo: null
1692
1710
  };
1693
1711
  return _this;
1694
1712
  }
@@ -1861,6 +1879,8 @@ var Circle = /*#__PURE__*/function (_Component) {
1861
1879
  }, {
1862
1880
  key: "renderMessage",
1863
1881
  value: function renderMessage(m) {
1882
+ var _this6 = this;
1883
+
1864
1884
  if (m.system) {
1865
1885
  return /*#__PURE__*/React__default['default'].createElement("div", {
1866
1886
  key: m._id,
@@ -1889,7 +1909,12 @@ var Circle = /*#__PURE__*/function (_Component) {
1889
1909
  }, /*#__PURE__*/React__default['default'].createElement(Components$1.Text, {
1890
1910
  type: "body",
1891
1911
  className: "message_name"
1892
- }, m.user.name), /*#__PURE__*/React__default['default'].createElement("div", {
1912
+ }, m.user.name, m.replyingTo ? " replied to ".concat(m.replyingTo.user.name) : ''), m.replyingTo && /*#__PURE__*/React__default['default'].createElement("div", {
1913
+ className: "message_replyBubble"
1914
+ }, /*#__PURE__*/React__default['default'].createElement(Components$1.Text, {
1915
+ type: "body",
1916
+ className: "message_text"
1917
+ }, Helper.toParagraphed((m.replyingTo.text || '').substr(0, 100)))), /*#__PURE__*/React__default['default'].createElement("div", {
1893
1918
  className: "message_bubble"
1894
1919
  }, /*#__PURE__*/React__default['default'].createElement(Components$1.Text, {
1895
1920
  type: "body",
@@ -1910,7 +1935,14 @@ var Circle = /*#__PURE__*/function (_Component) {
1910
1935
  key: i,
1911
1936
  white: isSelf
1912
1937
  });
1913
- }))))));
1938
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
1939
+ className: "message_reply"
1940
+ }, /*#__PURE__*/React__default['default'].createElement(Components$1.Text, {
1941
+ type: "button",
1942
+ onClick: function onClick() {
1943
+ _this6.onReply(m);
1944
+ }
1945
+ }, "Reply")))));
1914
1946
  }
1915
1947
  }, {
1916
1948
  key: "renderHeaderRight",
@@ -2006,10 +2038,39 @@ var Circle = /*#__PURE__*/function (_Component) {
2006
2038
  });
2007
2039
  }))));
2008
2040
  }
2041
+ }, {
2042
+ key: "renderReplyTo",
2043
+ value: function renderReplyTo() {
2044
+ var _this7 = this;
2045
+
2046
+ if (!this.state.replyingTo) {
2047
+ return null;
2048
+ }
2049
+
2050
+ var m = this.state.replyingTo;
2051
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2052
+ className: "chat_replyTo"
2053
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2054
+ className: "chat_replyTo_container"
2055
+ }, /*#__PURE__*/React__default['default'].createElement(Components$1.Text, {
2056
+ type: "h5"
2057
+ }, "Replying to ", m && m.user && !___default['default'].isEmpty(m.user.displayName) ? m.user.displayName : ''), m && !___default['default'].isEmpty(m.text) && /*#__PURE__*/React__default['default'].createElement(Components$1.Text, {
2058
+ type: "body"
2059
+ }, m.text.substr(0, 50))), /*#__PURE__*/React__default['default'].createElement("div", {
2060
+ className: "chat_replyTo_remove"
2061
+ }, /*#__PURE__*/React__default['default'].createElement(Components$1.SVGIcon, {
2062
+ className: "removeIcon",
2063
+ icon: "close",
2064
+ onClick: function onClick() {
2065
+ _this7.onReply(null);
2066
+ },
2067
+ colour: Colours$1.COLOUR_DUSK
2068
+ })));
2069
+ }
2009
2070
  }, {
2010
2071
  key: "render",
2011
2072
  value: function render() {
2012
- var _this6 = this;
2073
+ var _this8 = this;
2013
2074
 
2014
2075
  return /*#__PURE__*/React__default['default'].createElement(Components$1.OverlayPage, {
2015
2076
  fullPage: true,
@@ -2046,8 +2107,8 @@ var Circle = /*#__PURE__*/function (_Component) {
2046
2107
  value: this.state.messageDateText,
2047
2108
  readOnly: true,
2048
2109
  onClick: function onClick() {
2049
- return _this6.setState({
2050
- showMessageDate: !_this6.state.showMessageDate
2110
+ return _this8.setState({
2111
+ showMessageDate: !_this8.state.showMessageDate
2051
2112
  });
2052
2113
  },
2053
2114
  rightContent: !___default['default'].isEmpty(this.state.messageDate) && /*#__PURE__*/React__default['default'].createElement(Components$1.SVGIcon, {
@@ -2064,19 +2125,19 @@ var Circle = /*#__PURE__*/function (_Component) {
2064
2125
  className: "chat"
2065
2126
  }, /*#__PURE__*/React__default['default'].createElement("div", {
2066
2127
  className: "chat_newMessage"
2067
- }, this.renderChatInput()), /*#__PURE__*/React__default['default'].createElement("div", {
2128
+ }, this.renderChatInput()), this.renderReplyTo(), /*#__PURE__*/React__default['default'].createElement("div", {
2068
2129
  ref: function ref(_ref6) {
2069
- return _this6.chat = _ref6;
2130
+ return _this8.chat = _ref6;
2070
2131
  },
2071
2132
  className: "chat_messages"
2072
2133
  }, ___default['default'].isEmpty(this.state.messages) && !___default['default'].isEmpty(this.state.messageDate) && this.renderEmptyDate(), this.state.messages.map(function (m) {
2073
- return _this6.renderMessage(m);
2134
+ return _this8.renderMessage(m);
2074
2135
  }))))));
2075
2136
  }
2076
2137
  }]);
2077
2138
 
2078
2139
  return Circle;
2079
- }(React$1.Component);
2140
+ }(React.Component);
2080
2141
 
2081
2142
  var mapStateToProps = function mapStateToProps(state) {
2082
2143
  var circles = state[values.reducerKey].circles;
@@ -2157,7 +2218,7 @@ var ViewWidget = /*#__PURE__*/function (_Component) {
2157
2218
  }]);
2158
2219
 
2159
2220
  return ViewWidget;
2160
- }(React$1.Component);
2221
+ }(React.Component);
2161
2222
 
2162
2223
  var styles$3 = {
2163
2224
  image: {
@@ -2194,7 +2255,7 @@ var ViewFull = /*#__PURE__*/function (_Component) {
2194
2255
  }]);
2195
2256
 
2196
2257
  return ViewFull;
2197
- }(React$1.Component);
2258
+ }(React.Component);
2198
2259
 
2199
2260
  var styles$2 = {
2200
2261
  image: {
@@ -2248,7 +2309,7 @@ var PreviewWidget = /*#__PURE__*/function (_Component) {
2248
2309
  }]);
2249
2310
 
2250
2311
  return PreviewWidget;
2251
- }(React$1.Component);
2312
+ }(React.Component);
2252
2313
 
2253
2314
  var styles$1 = {
2254
2315
  container: {
@@ -2302,7 +2363,7 @@ var PreviewFull = /*#__PURE__*/function (_Component) {
2302
2363
  }]);
2303
2364
 
2304
2365
  return PreviewFull;
2305
- }(React$1.Component);
2366
+ }(React.Component);
2306
2367
 
2307
2368
  var styles = {
2308
2369
  container: {
@@ -2345,7 +2406,7 @@ var PreviewGrid = /*#__PURE__*/function (_Component) {
2345
2406
  }]);
2346
2407
 
2347
2408
  return PreviewGrid;
2348
- }(React$1.Component);
2409
+ }(React.Component);
2349
2410
 
2350
2411
  var Components = PlussCore__namespace.Components,
2351
2412
  Colours = PlussCore__namespace.Colours;