@plusscommunities/pluss-core-web 1.2.7 → 1.2.11
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 +218 -33
- package/dist/index.esm.js +218 -33
- package/dist/index.umd.js +218 -33
- package/package.json +1 -1
- package/src/components/AudienceSelector.js +2 -1
- package/src/components/Comment.js +10 -1
- package/src/components/CommentSection.js +55 -2
- package/src/components/ExportCsvPopup.js +108 -8
- package/src/components/Text.js +1 -1
- package/src/helper/helper.js +0 -7
- package/src/helper/index.js +2 -0
- package/src/helper/site/getSiteSettingFromState.js +10 -0
- package/src/helper/strings/getFirstName.js +10 -0
package/dist/index.cjs.js
CHANGED
|
@@ -691,6 +691,14 @@ var isVideo = function isVideo(url) {
|
|
|
691
691
|
return ['mov', 'mp4'].includes(extension);
|
|
692
692
|
};
|
|
693
693
|
|
|
694
|
+
var getFirstName = function getFirstName(string) {
|
|
695
|
+
if (___default['default'].isEmpty(string)) {
|
|
696
|
+
return '';
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
return string.split(' ')[0];
|
|
700
|
+
};
|
|
701
|
+
|
|
694
702
|
var isEmail = function isEmail(email) {
|
|
695
703
|
if (___default['default'].isEmpty(email)) return false;
|
|
696
704
|
var atpos = email.indexOf('@');
|
|
@@ -767,6 +775,14 @@ var getSiteNameFromRoles = function getSiteNameFromRoles(site, roles) {
|
|
|
767
775
|
}));
|
|
768
776
|
};
|
|
769
777
|
|
|
778
|
+
var getSiteSettingFromState = function getSiteSettingFromState(state, key, defaultValue) {
|
|
779
|
+
if (state && state.auth && state.auth.siteSettings && !___default['default'].isUndefined(state.auth.siteSettings[key])) {
|
|
780
|
+
return state.auth.siteSettings[key];
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
return defaultValue || null;
|
|
784
|
+
};
|
|
785
|
+
|
|
770
786
|
var readJSONFromStorage = function readJSONFromStorage(storage, key, fallback) {
|
|
771
787
|
var value = storage.getItem(key);
|
|
772
788
|
|
|
@@ -839,12 +855,6 @@ var setLocalStorage = function setLocalStorage(key, value, isJson) {
|
|
|
839
855
|
// }
|
|
840
856
|
// return string.charAt(0).toUpperCase() + string.slice(1);
|
|
841
857
|
// };
|
|
842
|
-
// export const getFirstName = (string) => {
|
|
843
|
-
// if (_.isEmpty(string)) {
|
|
844
|
-
// return '';
|
|
845
|
-
// }
|
|
846
|
-
// return string.split(' ')[0];
|
|
847
|
-
// };
|
|
848
858
|
// export const get300 = (url) => {
|
|
849
859
|
// if (!url) {
|
|
850
860
|
// return url;
|
|
@@ -1566,6 +1576,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
1566
1576
|
getFileName: getFileName,
|
|
1567
1577
|
getThumb300: getThumb300,
|
|
1568
1578
|
isVideo: isVideo,
|
|
1579
|
+
getFirstName: getFirstName,
|
|
1569
1580
|
isEmail: isEmail,
|
|
1570
1581
|
isUrl: isUrl,
|
|
1571
1582
|
randomString: randomString,
|
|
@@ -1573,6 +1584,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
1573
1584
|
onlyAlphanumeric: onlyAlphanumeric,
|
|
1574
1585
|
getSiteName: getSiteName,
|
|
1575
1586
|
getSiteNameFromRoles: getSiteNameFromRoles,
|
|
1587
|
+
getSiteSettingFromState: getSiteSettingFromState,
|
|
1576
1588
|
readJSONFromStorage: readJSONFromStorage,
|
|
1577
1589
|
setLocalStorage: setLocalStorage,
|
|
1578
1590
|
getTimepickerTime: getTimepickerTime,
|
|
@@ -4342,10 +4354,10 @@ var Text = /*#__PURE__*/function (_Component) {
|
|
|
4342
4354
|
}, {
|
|
4343
4355
|
key: "render",
|
|
4344
4356
|
value: function render() {
|
|
4345
|
-
return /*#__PURE__*/React__default['default'].createElement("p", {
|
|
4357
|
+
return /*#__PURE__*/React__default['default'].createElement("p", _extends__default['default']({}, this.props, {
|
|
4346
4358
|
className: "text-".concat(this.props.type).concat(this.getClassName()),
|
|
4347
4359
|
style: this.props.style
|
|
4348
|
-
}, this.props.children);
|
|
4360
|
+
}), this.props.children);
|
|
4349
4361
|
}
|
|
4350
4362
|
}]);
|
|
4351
4363
|
|
|
@@ -4431,8 +4443,8 @@ var Comment = /*#__PURE__*/function (_Component) {
|
|
|
4431
4443
|
}
|
|
4432
4444
|
|
|
4433
4445
|
_createClass__default['default'](Comment, [{
|
|
4434
|
-
key: "
|
|
4435
|
-
value: function
|
|
4446
|
+
key: "renderComment",
|
|
4447
|
+
value: function renderComment() {
|
|
4436
4448
|
var comment = this.props.comment;
|
|
4437
4449
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4438
4450
|
key: comment.Id,
|
|
@@ -4451,6 +4463,11 @@ var Comment = /*#__PURE__*/function (_Component) {
|
|
|
4451
4463
|
className: "comment_time"
|
|
4452
4464
|
}, moment__default['default'].utc(comment.Timestamp).local().format('D MMM YYYY • h:mma'))));
|
|
4453
4465
|
}
|
|
4466
|
+
}, {
|
|
4467
|
+
key: "render",
|
|
4468
|
+
value: function render() {
|
|
4469
|
+
return /*#__PURE__*/React__default['default'].createElement("div", null, this.renderComment(), this.props.bottomContent);
|
|
4470
|
+
}
|
|
4454
4471
|
}]);
|
|
4455
4472
|
|
|
4456
4473
|
return Comment;
|
|
@@ -4501,6 +4518,58 @@ var CommentSection = /*#__PURE__*/function (_Component) {
|
|
|
4501
4518
|
}, _callee);
|
|
4502
4519
|
})));
|
|
4503
4520
|
|
|
4521
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getComments", function () {
|
|
4522
|
+
if (!_this.props.onlyParents) {
|
|
4523
|
+
return _this.props.comments;
|
|
4524
|
+
}
|
|
4525
|
+
|
|
4526
|
+
return ___default['default'].filter(_this.props.comments, function (c) {
|
|
4527
|
+
return !c.ParentId;
|
|
4528
|
+
});
|
|
4529
|
+
});
|
|
4530
|
+
|
|
4531
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "renderReplyText", function (c) {
|
|
4532
|
+
if (!_this.props.onOpenThread) {
|
|
4533
|
+
return null;
|
|
4534
|
+
}
|
|
4535
|
+
|
|
4536
|
+
var threadComments = ___default['default'].filter(_this.props.comments, function (innerC) {
|
|
4537
|
+
return innerC.ParentId === c.Id;
|
|
4538
|
+
});
|
|
4539
|
+
|
|
4540
|
+
if (___default['default'].isEmpty(threadComments)) {
|
|
4541
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4542
|
+
className: "comment_reply"
|
|
4543
|
+
}, /*#__PURE__*/React__default['default'].createElement(Text, {
|
|
4544
|
+
className: "comment_reply_button",
|
|
4545
|
+
type: "button",
|
|
4546
|
+
onClick: function onClick() {
|
|
4547
|
+
_this.props.onOpenThread(c);
|
|
4548
|
+
}
|
|
4549
|
+
}, "Reply to ".concat(getFirstName(c.User ? c.User.displayName : 'comment'))));
|
|
4550
|
+
}
|
|
4551
|
+
|
|
4552
|
+
var profilePics = ___default['default'].take(___default['default'].uniqBy(threadComments, function (c) {
|
|
4553
|
+
return c.UserId;
|
|
4554
|
+
}), 3);
|
|
4555
|
+
|
|
4556
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4557
|
+
className: "comment_reply comment_reply-hasReplies"
|
|
4558
|
+
}, profilePics.map(function (c) {
|
|
4559
|
+
return /*#__PURE__*/React__default['default'].createElement(ProfilePic, {
|
|
4560
|
+
className: "comment_reply_profilePic",
|
|
4561
|
+
size: 20,
|
|
4562
|
+
image: c.User.profilePic
|
|
4563
|
+
});
|
|
4564
|
+
}), /*#__PURE__*/React__default['default'].createElement(Text, {
|
|
4565
|
+
className: "comment_reply_button",
|
|
4566
|
+
type: "button",
|
|
4567
|
+
onClick: function onClick() {
|
|
4568
|
+
_this.props.onOpenThread(c);
|
|
4569
|
+
}
|
|
4570
|
+
}, "".concat(threadComments.length, " repl").concat(getPluralOptions(threadComments.length, 'y', 'ies'))));
|
|
4571
|
+
});
|
|
4572
|
+
|
|
4504
4573
|
_this.state = {
|
|
4505
4574
|
commentInput: ''
|
|
4506
4575
|
};
|
|
@@ -4517,10 +4586,11 @@ var CommentSection = /*#__PURE__*/function (_Component) {
|
|
|
4517
4586
|
className: "marginBottom-16"
|
|
4518
4587
|
}, "Comments"), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4519
4588
|
className: "commentSection"
|
|
4520
|
-
}, this.
|
|
4589
|
+
}, this.getComments().map(function (c) {
|
|
4521
4590
|
return /*#__PURE__*/React__default['default'].createElement(Comment, {
|
|
4522
4591
|
key: c.Id,
|
|
4523
|
-
comment: c
|
|
4592
|
+
comment: c,
|
|
4593
|
+
bottomContent: _this2.renderReplyText(c)
|
|
4524
4594
|
});
|
|
4525
4595
|
})), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4526
4596
|
className: "commentReply"
|
|
@@ -9014,7 +9084,7 @@ var AudienceSelector = /*#__PURE__*/function (_Component) {
|
|
|
9014
9084
|
Category = _this$state2.Category,
|
|
9015
9085
|
Tag = _this$state2.Tag,
|
|
9016
9086
|
Type = _this$state2.Type;
|
|
9017
|
-
if (AudienceType === 'Custom') return AudienceTagList;
|
|
9087
|
+
if (AudienceType === 'Custom') return AudienceTagList || [];
|
|
9018
9088
|
if (AudienceType === 'Category') return Category;
|
|
9019
9089
|
if (AudienceType === 'UserTags') return Tag;
|
|
9020
9090
|
return Type;
|
|
@@ -9074,7 +9144,8 @@ var AudienceSelector = /*#__PURE__*/function (_Component) {
|
|
|
9074
9144
|
Type: '',
|
|
9075
9145
|
Category: '',
|
|
9076
9146
|
includeList: [],
|
|
9077
|
-
excludeList: []
|
|
9147
|
+
excludeList: [],
|
|
9148
|
+
AudienceTagList: []
|
|
9078
9149
|
});
|
|
9079
9150
|
setTimeout(this.onChangeSelection, 50);
|
|
9080
9151
|
}
|
|
@@ -10187,8 +10258,6 @@ var ExportCsvPopup = /*#__PURE__*/function (_Component) {
|
|
|
10187
10258
|
});
|
|
10188
10259
|
|
|
10189
10260
|
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onToggleColumn", function (key) {
|
|
10190
|
-
var source = _this.props.source;
|
|
10191
|
-
|
|
10192
10261
|
var columns = ___default['default'].cloneDeep(_this.state.columns);
|
|
10193
10262
|
|
|
10194
10263
|
var column = columns.find(function (c) {
|
|
@@ -10204,25 +10273,132 @@ var ExportCsvPopup = /*#__PURE__*/function (_Component) {
|
|
|
10204
10273
|
var selectedHeaders = columns.filter(function (c) {
|
|
10205
10274
|
return c.key && c.selected;
|
|
10206
10275
|
});
|
|
10207
|
-
|
|
10208
|
-
|
|
10276
|
+
|
|
10277
|
+
_this.setState({
|
|
10278
|
+
columns: columns,
|
|
10279
|
+
selectedHeaders: selectedHeaders
|
|
10209
10280
|
});
|
|
10210
|
-
|
|
10211
|
-
|
|
10281
|
+
}
|
|
10282
|
+
});
|
|
10283
|
+
|
|
10284
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onToggleStartDateFilter", function () {
|
|
10285
|
+
var filterDateStartVisible = _this.state.filterDateStartVisible;
|
|
10286
|
+
|
|
10287
|
+
if (filterDateStartVisible) {
|
|
10288
|
+
setTimeout(function () {
|
|
10289
|
+
return _this.setState({
|
|
10290
|
+
filterDateStartVisible: false
|
|
10291
|
+
});
|
|
10292
|
+
}, 200);
|
|
10293
|
+
} else {
|
|
10294
|
+
_this.setState({
|
|
10295
|
+
filterDateStartVisible: true
|
|
10296
|
+
});
|
|
10297
|
+
}
|
|
10298
|
+
});
|
|
10299
|
+
|
|
10300
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onToggleEndDateFilter", function () {
|
|
10301
|
+
var filterDateEndVisible = _this.state.filterDateEndVisible;
|
|
10302
|
+
|
|
10303
|
+
if (filterDateEndVisible) {
|
|
10304
|
+
setTimeout(function () {
|
|
10305
|
+
return _this.setState({
|
|
10306
|
+
filterDateEndVisible: false
|
|
10307
|
+
});
|
|
10308
|
+
}, 200);
|
|
10309
|
+
} else {
|
|
10310
|
+
_this.setState({
|
|
10311
|
+
filterDateEndVisible: true
|
|
10212
10312
|
});
|
|
10313
|
+
}
|
|
10314
|
+
});
|
|
10315
|
+
|
|
10316
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onDateFilterStartChanged", function (date) {
|
|
10317
|
+
var filterDateEnd = _this.state.filterDateEnd;
|
|
10318
|
+
var start = moment__default['default'](date);
|
|
10213
10319
|
|
|
10320
|
+
if (start.isSameOrBefore(filterDateEnd)) {
|
|
10214
10321
|
_this.setState({
|
|
10215
|
-
|
|
10216
|
-
|
|
10217
|
-
|
|
10322
|
+
filterDateStart: start.startOf('day'),
|
|
10323
|
+
filterDateStartVisible: false
|
|
10324
|
+
});
|
|
10325
|
+
}
|
|
10326
|
+
});
|
|
10327
|
+
|
|
10328
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onDateFilterEndChanged", function (date) {
|
|
10329
|
+
var filterDateStart = _this.state.filterDateStart;
|
|
10330
|
+
var end = moment__default['default'](date);
|
|
10331
|
+
|
|
10332
|
+
if (end.isSameOrAfter(filterDateStart)) {
|
|
10333
|
+
_this.setState({
|
|
10334
|
+
filterDateEnd: end.endOf('day'),
|
|
10335
|
+
filterDateEndVisible: false
|
|
10218
10336
|
});
|
|
10219
10337
|
}
|
|
10220
10338
|
});
|
|
10221
10339
|
|
|
10340
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getSelectedSource", function () {
|
|
10341
|
+
var source = _this.props.source;
|
|
10342
|
+
var selectedHeaders = _this.state.selectedHeaders;
|
|
10343
|
+
var result = source; // apply timestamp filter
|
|
10344
|
+
|
|
10345
|
+
if (_this.props.timestampFilter) {
|
|
10346
|
+
var _this$state = _this.state,
|
|
10347
|
+
filterDateStart = _this$state.filterDateStart,
|
|
10348
|
+
filterDateEnd = _this$state.filterDateEnd;
|
|
10349
|
+
var filterKey = _this.props.timestampFilter.filterKey;
|
|
10350
|
+
var minDate = filterDateStart.valueOf();
|
|
10351
|
+
var maxDate = filterDateEnd.valueOf();
|
|
10352
|
+
result = ___default['default'].filter(source, function (item) {
|
|
10353
|
+
return item[filterKey] >= minDate && item[filterKey] <= maxDate;
|
|
10354
|
+
});
|
|
10355
|
+
} // map result to columns
|
|
10356
|
+
|
|
10357
|
+
|
|
10358
|
+
var selectedheaderKeys = selectedHeaders.map(function (h) {
|
|
10359
|
+
return h.key;
|
|
10360
|
+
});
|
|
10361
|
+
return result.map(function (i) {
|
|
10362
|
+
return ___default['default'].pick(i, selectedheaderKeys);
|
|
10363
|
+
});
|
|
10364
|
+
});
|
|
10365
|
+
|
|
10366
|
+
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "renderTimestampFilter", function () {
|
|
10367
|
+
if (!_this.props.timestampFilter) {
|
|
10368
|
+
return null;
|
|
10369
|
+
}
|
|
10370
|
+
|
|
10371
|
+
return /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(GenericInput, {
|
|
10372
|
+
id: "dateStart",
|
|
10373
|
+
label: "Start Date",
|
|
10374
|
+
alwaysShowLabel: true,
|
|
10375
|
+
placeholder: 'Select start date',
|
|
10376
|
+
value: _this.state.filterDateStart.format('DD/MM/YYYY'),
|
|
10377
|
+
onClick: _this.onToggleStartDateFilter,
|
|
10378
|
+
readOnly: true
|
|
10379
|
+
}), _this.state.filterDateStartVisible ? /*#__PURE__*/React__default['default'].createElement(DatePicker, {
|
|
10380
|
+
hideTop: true,
|
|
10381
|
+
selectedDate: _this.state.filterDateStart,
|
|
10382
|
+
selectDate: _this.onDateFilterStartChanged
|
|
10383
|
+
}) : null, /*#__PURE__*/React__default['default'].createElement(GenericInput, {
|
|
10384
|
+
id: "dateEnd",
|
|
10385
|
+
label: "End Date",
|
|
10386
|
+
alwaysShowLabel: true,
|
|
10387
|
+
placeholder: 'Select end date',
|
|
10388
|
+
value: _this.state.filterDateEnd.format('DD/MM/YYYY'),
|
|
10389
|
+
onClick: _this.onToggleEndDateFilter,
|
|
10390
|
+
readOnly: true
|
|
10391
|
+
}), _this.state.filterDateEndVisible ? /*#__PURE__*/React__default['default'].createElement(DatePicker, {
|
|
10392
|
+
hideTop: true,
|
|
10393
|
+
selectedDate: _this.state.filterDateEnd,
|
|
10394
|
+
selectDate: _this.onDateFilterEndChanged
|
|
10395
|
+
}) : null);
|
|
10396
|
+
});
|
|
10397
|
+
|
|
10222
10398
|
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "renderContent", function () {
|
|
10223
|
-
var _this$
|
|
10224
|
-
saving = _this$
|
|
10225
|
-
columns = _this$
|
|
10399
|
+
var _this$state2 = _this.state,
|
|
10400
|
+
saving = _this$state2.saving,
|
|
10401
|
+
columns = _this$state2.columns;
|
|
10226
10402
|
|
|
10227
10403
|
if (saving) {
|
|
10228
10404
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -10257,27 +10433,35 @@ var ExportCsvPopup = /*#__PURE__*/function (_Component) {
|
|
|
10257
10433
|
}));
|
|
10258
10434
|
});
|
|
10259
10435
|
|
|
10260
|
-
|
|
10436
|
+
var state = {
|
|
10261
10437
|
columns: props.columns,
|
|
10438
|
+
selectedHeaders: props.columns.filter(function (c) {
|
|
10439
|
+
return c.key && c.selected;
|
|
10440
|
+
}),
|
|
10262
10441
|
selectedSource: [],
|
|
10263
10442
|
saving: false
|
|
10264
10443
|
};
|
|
10444
|
+
|
|
10445
|
+
if (props.timestampFilter) {
|
|
10446
|
+
state.filterDateStart = props.timestampFilter.startDate;
|
|
10447
|
+
state.filterDateEnd = props.timestampFilter.endDate;
|
|
10448
|
+
}
|
|
10449
|
+
|
|
10450
|
+
_this.state = state;
|
|
10265
10451
|
return _this;
|
|
10266
10452
|
}
|
|
10267
10453
|
|
|
10268
10454
|
_createClass__default['default'](ExportCsvPopup, [{
|
|
10269
10455
|
key: "render",
|
|
10270
10456
|
value: function render() {
|
|
10271
|
-
var
|
|
10272
|
-
selectedHeaders = _this$state2.selectedHeaders,
|
|
10273
|
-
selectedSource = _this$state2.selectedSource;
|
|
10457
|
+
var selectedHeaders = this.state.selectedHeaders;
|
|
10274
10458
|
var filename = this.props.filename;
|
|
10275
10459
|
var buttons = [{
|
|
10276
10460
|
type: 'primary',
|
|
10277
10461
|
isActive: this.canSave(),
|
|
10278
10462
|
text: /*#__PURE__*/React__default['default'].createElement(reactCsv.CSVLink, {
|
|
10279
10463
|
headers: selectedHeaders,
|
|
10280
|
-
data:
|
|
10464
|
+
data: this.getSelectedSource(),
|
|
10281
10465
|
style: {
|
|
10282
10466
|
textDecoration: 'none',
|
|
10283
10467
|
color: '#fff'
|
|
@@ -10293,7 +10477,6 @@ var ExportCsvPopup = /*#__PURE__*/function (_Component) {
|
|
|
10293
10477
|
}];
|
|
10294
10478
|
return /*#__PURE__*/React__default['default'].createElement(Popup, {
|
|
10295
10479
|
title: "Confirm Export",
|
|
10296
|
-
subtitle: "Select which columns to include in the export",
|
|
10297
10480
|
boxClasses: "flex flex-column",
|
|
10298
10481
|
innerClasses: "flex flex-column fillSpace flex-1",
|
|
10299
10482
|
minWidth: 500,
|
|
@@ -10303,7 +10486,9 @@ var ExportCsvPopup = /*#__PURE__*/function (_Component) {
|
|
|
10303
10486
|
hasPadding: true,
|
|
10304
10487
|
onClose: this.onClose,
|
|
10305
10488
|
buttons: buttons
|
|
10306
|
-
}, this.
|
|
10489
|
+
}, this.renderTimestampFilter(), /*#__PURE__*/React__default['default'].createElement(Text, {
|
|
10490
|
+
type: "bodyLarge"
|
|
10491
|
+
}, "Select which columns to include in the export"), this.renderContent());
|
|
10307
10492
|
}
|
|
10308
10493
|
}]);
|
|
10309
10494
|
|