solid-ui 2.4.27-fd5a7172 → 2.4.28-11faa597
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/805.solid-ui.min.js +1 -1
- package/dist/805.solid-ui.min.js.map +1 -1
- package/dist/solid-ui.js +2048 -1307
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +1938 -1938
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
- package/lib/chat/bookmarks.js +6 -7
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +251 -74
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +129 -126
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +637 -423
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/keys.d.ts.map +1 -1
- package/lib/chat/keys.js +9 -9
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +358 -194
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +463 -277
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/signature.d.ts +0 -1
- package/lib/chat/signature.d.ts.map +1 -1
- package/lib/chat/signature.js +3 -4
- package/lib/chat/signature.js.map +1 -1
- package/lib/chat/thread.js +299 -209
- package/lib/chat/thread.js.map +1 -1
- package/lib/header/index.js +5 -0
- package/lib/header/index.js.map +1 -1
- package/lib/log.js +5 -5
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +24 -1
- package/lib/login/login.js.map +1 -1
- package/lib/pad.js +4 -1
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +2 -1
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +4 -0
- package/lib/preferences.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +2 -0
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +3 -4
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
- package/lib/utils/keyHelpers/accessData.js +73 -165
- package/lib/utils/keyHelpers/accessData.js.map +1 -1
- package/lib/utils/keyHelpers/otherHelpers.d.ts +3 -0
- package/lib/utils/keyHelpers/otherHelpers.d.ts.map +1 -0
- package/lib/utils/keyHelpers/otherHelpers.js +23 -0
- package/lib/utils/keyHelpers/otherHelpers.js.map +1 -0
- package/lib/versionInfo.js +3 -3
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons.js +0 -2
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +8 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +8 -3
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +5 -0
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms.js +4 -1
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/peoplePicker.js +11 -0
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/package.json +3 -2
package/dist/solid-ui.js
CHANGED
|
@@ -2249,8 +2249,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
2249
2249
|
* @packageDocumentation
|
|
2250
2250
|
*/
|
|
2251
2251
|
|
|
2252
|
-
/* global alert confirm */
|
|
2253
|
-
|
|
2254
2252
|
// pull in first avoid cross-refs
|
|
2255
2253
|
|
|
2256
2254
|
var UI = {
|
|
@@ -2343,7 +2341,8 @@ function _findBookmarkDocument() {
|
|
|
2343
2341
|
}
|
|
2344
2342
|
userContext.bookmarkDocument = userContext.instances[0];
|
|
2345
2343
|
if (userContext.instances.length > 1) {
|
|
2346
|
-
|
|
2344
|
+
debug.warn('More than one bookmark file! ' + userContext.instances); // @@ todo - deal with > 1
|
|
2345
|
+
// Note: should pick up community bookmarks as well
|
|
2347
2346
|
}
|
|
2348
2347
|
_context.next = 28;
|
|
2349
2348
|
break;
|
|
@@ -2364,7 +2363,7 @@ function _findBookmarkDocument() {
|
|
|
2364
2363
|
case 18:
|
|
2365
2364
|
_context.prev = 18;
|
|
2366
2365
|
_context.t0 = _context["catch"](12);
|
|
2367
|
-
|
|
2366
|
+
debug.warn("Can't make fresh bookmark file:" + _context.t0);
|
|
2368
2367
|
return _context.abrupt("return", userContext);
|
|
2369
2368
|
case 22:
|
|
2370
2369
|
_context.next = 24;
|
|
@@ -2374,7 +2373,7 @@ function _findBookmarkDocument() {
|
|
|
2374
2373
|
_context.next = 28;
|
|
2375
2374
|
break;
|
|
2376
2375
|
case 27:
|
|
2377
|
-
|
|
2376
|
+
debug.warn('You seem to have no bookmark file, nor even a profile file!');
|
|
2378
2377
|
case 28:
|
|
2379
2378
|
return _context.abrupt("return", userContext);
|
|
2380
2379
|
case 29:
|
|
@@ -2429,7 +2428,7 @@ function _addBookmark() {
|
|
|
2429
2428
|
_context2.prev = 14;
|
|
2430
2429
|
_context2.t0 = _context2["catch"](9);
|
|
2431
2430
|
msg = 'Making bookmark: ' + _context2.t0;
|
|
2432
|
-
|
|
2431
|
+
debug.warn(msg);
|
|
2433
2432
|
return _context2.abrupt("return", null);
|
|
2434
2433
|
case 19:
|
|
2435
2434
|
return _context2.abrupt("return", bookmark);
|
|
@@ -2482,7 +2481,7 @@ function _toggleBookmark() {
|
|
|
2482
2481
|
_context3.prev = 15;
|
|
2483
2482
|
_context3.t0 = _context3["catch"](8);
|
|
2484
2483
|
debug.error('Cant delete bookmark:' + _context3.t0);
|
|
2485
|
-
|
|
2484
|
+
debug.warn('Cannot delete bookmark:' + _context3.t0);
|
|
2486
2485
|
case 19:
|
|
2487
2486
|
i++;
|
|
2488
2487
|
_context3.next = 7;
|
|
@@ -2577,6 +2576,7 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
2577
2576
|
}));
|
|
2578
2577
|
exports.ChatChannel = void 0;
|
|
2579
2578
|
exports._createIfNotExists = _createIfNotExists;
|
|
2579
|
+
exports.allVersions = allVersions;
|
|
2580
2580
|
exports.isDeleted = isDeleted;
|
|
2581
2581
|
exports.isHidden = isHidden;
|
|
2582
2582
|
exports.isReplaced = isReplaced;
|
|
@@ -2654,8 +2654,9 @@ var ChatChannel = /*#__PURE__*/function () {
|
|
|
2654
2654
|
var _this = this;
|
|
2655
2655
|
var oldMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
2656
2656
|
var deleteIt = arguments.length > 2 ? arguments[2] : undefined;
|
|
2657
|
+
var thread = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
2657
2658
|
return /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
2658
|
-
var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker, errMsg, privateKey, sig, _errMsg;
|
|
2659
|
+
var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker, oldMsgMostRecentVersion, oldMsgThread, errMsg, privateKey, sig, _errMsg;
|
|
2659
2660
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
2660
2661
|
while (1) switch (_context2.prev = _context2.next) {
|
|
2661
2662
|
case 0:
|
|
@@ -2669,80 +2670,88 @@ var ChatChannel = /*#__PURE__*/function () {
|
|
|
2669
2670
|
msg = (0, _signature.getBlankMsg)();
|
|
2670
2671
|
msg.id = message.uri;
|
|
2671
2672
|
if (!oldMsg) {
|
|
2672
|
-
_context2.next =
|
|
2673
|
+
_context2.next = 27;
|
|
2673
2674
|
break;
|
|
2674
2675
|
}
|
|
2675
2676
|
// edit message replaces old one
|
|
2676
2677
|
oldMsgMaker = _solidLogic.store.any(oldMsg, ns.foaf('maker')); // may not be needed here, but needed on READ
|
|
2677
2678
|
if (!(oldMsgMaker.uri === me.uri)) {
|
|
2678
|
-
_context2.next =
|
|
2679
|
+
_context2.next = 21;
|
|
2679
2680
|
break;
|
|
2680
2681
|
}
|
|
2681
|
-
|
|
2682
|
+
_context2.next = 14;
|
|
2683
|
+
return mostRecentVersion(oldMsg);
|
|
2684
|
+
case 14:
|
|
2685
|
+
oldMsgMostRecentVersion = _context2.sent;
|
|
2686
|
+
sts.push($rdf.st(oldMsgMostRecentVersion, ns.dct('isReplacedBy'), message, chatDocument));
|
|
2687
|
+
// if oldMsg has_reply => add has_reply to message
|
|
2688
|
+
oldMsgThread = _solidLogic.store.any(oldMsgMostRecentVersion, ns.sioc('has_reply'));
|
|
2689
|
+
if (oldMsgThread) {
|
|
2690
|
+
sts.push($rdf.st(message, ns.sioc('has_reply'), oldMsgThread, chatDocument));
|
|
2691
|
+
}
|
|
2682
2692
|
if (deleteIt) {
|
|
2683
2693
|
// we need to add a specific signature, else anyone can delete a msg ?
|
|
2684
2694
|
sts.push($rdf.st(message, ns.schema('dateDeleted'), dateStamp, chatDocument));
|
|
2685
|
-
// msg.dateDeleted = dateStamp
|
|
2686
2695
|
}
|
|
2687
|
-
_context2.next =
|
|
2696
|
+
_context2.next = 25;
|
|
2688
2697
|
break;
|
|
2689
|
-
case
|
|
2698
|
+
case 21:
|
|
2690
2699
|
errMsg = 'Error you cannot delete/edit a message from someone else : \n' + oldMsgMaker.uri;
|
|
2691
2700
|
debug.warn(errMsg);
|
|
2692
2701
|
alert(errMsg);
|
|
2693
2702
|
throw new Error(errMsg);
|
|
2694
|
-
case
|
|
2695
|
-
_context2.next =
|
|
2703
|
+
case 25:
|
|
2704
|
+
_context2.next = 28;
|
|
2696
2705
|
break;
|
|
2697
|
-
case
|
|
2706
|
+
case 27:
|
|
2698
2707
|
// link new message to channel
|
|
2699
2708
|
sts.push($rdf.st(_this.channel, ns.wf('message'), message, chatDocument));
|
|
2700
|
-
case
|
|
2709
|
+
case 28:
|
|
2701
2710
|
sts.push($rdf.st(message, ns.sioc('content'), _solidLogic.store.literal(text), chatDocument));
|
|
2702
2711
|
msg.content = text;
|
|
2703
2712
|
sts.push($rdf.st(message, ns.dct('created'), dateStamp, chatDocument));
|
|
2704
2713
|
msg.created = dateStamp.value;
|
|
2705
2714
|
if (!me) {
|
|
2706
|
-
_context2.next =
|
|
2715
|
+
_context2.next = 40;
|
|
2707
2716
|
break;
|
|
2708
2717
|
}
|
|
2709
2718
|
sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument));
|
|
2710
2719
|
msg.maker = me.uri;
|
|
2711
2720
|
// privateKey the cached private key of me, cached in store
|
|
2712
|
-
_context2.next =
|
|
2721
|
+
_context2.next = 37;
|
|
2713
2722
|
return (0, _keys.getPrivateKey)(me);
|
|
2714
|
-
case
|
|
2723
|
+
case 37:
|
|
2715
2724
|
privateKey = _context2.sent;
|
|
2716
2725
|
// me.uri)
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
/* const pubKey = await getPublicKey(me)
|
|
2720
|
-
const verify = verifySignature(sig, msg, pubKey) // alain to remove
|
|
2721
|
-
debug.warn('sig ' + sig)
|
|
2722
|
-
debug.warn('verifySign ' + verify)
|
|
2723
|
-
debug.warn(msg) */
|
|
2724
|
-
sts.push($rdf.st(message, $rdf.sym("".concat(_signature.SEC, "Proof")), $rdf.lit(sig), chatDocument));
|
|
2725
|
-
case 35:
|
|
2726
|
-
_context2.prev = 35;
|
|
2727
|
-
_context2.next = 38;
|
|
2728
|
-
return _solidLogic.store.updater.update([], sts);
|
|
2729
|
-
case 38:
|
|
2730
|
-
_context2.next = 46;
|
|
2731
|
-
break;
|
|
2726
|
+
sig = (0, _signature.signMsg)(msg, privateKey);
|
|
2727
|
+
sts.push($rdf.st(message, $rdf.sym("".concat(_signature.SEC, "proofValue")), $rdf.lit(sig), chatDocument));
|
|
2732
2728
|
case 40:
|
|
2733
|
-
|
|
2734
|
-
|
|
2729
|
+
if (thread) {
|
|
2730
|
+
sts.push($rdf.st(thread, ns.sioc('has_member'), message, chatDocument));
|
|
2731
|
+
if (!thread.doc().sameTerm(message.doc())) {
|
|
2732
|
+
sts.push($rdf.st(thread, ns.sioc('has_member'), message, thread.doc()));
|
|
2733
|
+
}
|
|
2734
|
+
}
|
|
2735
|
+
_context2.prev = 41;
|
|
2736
|
+
_context2.next = 44;
|
|
2737
|
+
return _solidLogic.store.updater.updateMany([], sts);
|
|
2738
|
+
case 44:
|
|
2739
|
+
_context2.next = 52;
|
|
2740
|
+
break;
|
|
2741
|
+
case 46:
|
|
2742
|
+
_context2.prev = 46;
|
|
2743
|
+
_context2.t0 = _context2["catch"](41);
|
|
2735
2744
|
_errMsg = 'Error saving chat message: ' + _context2.t0;
|
|
2736
2745
|
debug.warn(_errMsg);
|
|
2737
2746
|
alert(_errMsg);
|
|
2738
2747
|
throw new Error(_errMsg);
|
|
2739
|
-
case
|
|
2748
|
+
case 52:
|
|
2740
2749
|
return _context2.abrupt("return", message);
|
|
2741
|
-
case
|
|
2750
|
+
case 53:
|
|
2742
2751
|
case "end":
|
|
2743
2752
|
return _context2.stop();
|
|
2744
2753
|
}
|
|
2745
|
-
}, _callee2, null, [[
|
|
2754
|
+
}, _callee2, null, [[41, 46]]);
|
|
2746
2755
|
})();
|
|
2747
2756
|
});
|
|
2748
2757
|
function updateMessage(_x2) {
|
|
@@ -2772,26 +2781,187 @@ var ChatChannel = /*#__PURE__*/function () {
|
|
|
2772
2781
|
return _deleteMessage.apply(this, arguments);
|
|
2773
2782
|
}
|
|
2774
2783
|
return deleteMessage;
|
|
2784
|
+
}() // Create a new thread of replies to the thread root message
|
|
2785
|
+
// or return one which already exists
|
|
2786
|
+
}, {
|
|
2787
|
+
key: "createThread",
|
|
2788
|
+
value: function () {
|
|
2789
|
+
var _createThread = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(threadRoot) {
|
|
2790
|
+
var already, thread, insert;
|
|
2791
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
2792
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
2793
|
+
case 0:
|
|
2794
|
+
already = _solidLogic.store.each(threadRoot, ns.sioc('has_reply'), null, threadRoot.doc()).filter(function (thread) {
|
|
2795
|
+
return _solidLogic.store.holds(thread, ns.rdf('type'), ns.sioc('Thread'), thread.doc());
|
|
2796
|
+
});
|
|
2797
|
+
if (!(already.length > 0)) {
|
|
2798
|
+
_context4.next = 3;
|
|
2799
|
+
break;
|
|
2800
|
+
}
|
|
2801
|
+
return _context4.abrupt("return", already[0]);
|
|
2802
|
+
case 3:
|
|
2803
|
+
thread = $rdf.sym(threadRoot.uri + '-thread');
|
|
2804
|
+
insert = [$rdf.st(thread, ns.rdf('type'), ns.sioc('Thread'), thread.doc()), $rdf.st(threadRoot, ns.sioc('has_reply'), thread, thread.doc())];
|
|
2805
|
+
_context4.next = 7;
|
|
2806
|
+
return _solidLogic.store.updater.update([], insert);
|
|
2807
|
+
case 7:
|
|
2808
|
+
return _context4.abrupt("return", thread);
|
|
2809
|
+
case 8:
|
|
2810
|
+
case "end":
|
|
2811
|
+
return _context4.stop();
|
|
2812
|
+
}
|
|
2813
|
+
}, _callee4);
|
|
2814
|
+
}));
|
|
2815
|
+
function createThread(_x4) {
|
|
2816
|
+
return _createThread.apply(this, arguments);
|
|
2817
|
+
}
|
|
2818
|
+
return createThread;
|
|
2775
2819
|
}()
|
|
2776
2820
|
}]);
|
|
2777
2821
|
return ChatChannel;
|
|
2778
2822
|
}(); // class ChatChannel
|
|
2823
|
+
// ////////// Utility functions
|
|
2824
|
+
// Have to not loop forever if fed loops
|
|
2779
2825
|
exports.ChatChannel = ChatChannel;
|
|
2780
|
-
function
|
|
2781
|
-
|
|
2782
|
-
while (msg) {
|
|
2783
|
-
message = msg;
|
|
2784
|
-
msg = _solidLogic.store.any(null, ns.dct('isReplacedBy'), message, message.doc());
|
|
2785
|
-
}
|
|
2786
|
-
return message;
|
|
2826
|
+
function allVersions(_x5) {
|
|
2827
|
+
return _allVersions.apply(this, arguments);
|
|
2787
2828
|
}
|
|
2788
|
-
function
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2829
|
+
function _allVersions() {
|
|
2830
|
+
_allVersions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(message) {
|
|
2831
|
+
var versions, done, m, prev, next;
|
|
2832
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
2833
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
2834
|
+
case 0:
|
|
2835
|
+
versions = [message];
|
|
2836
|
+
done = {};
|
|
2837
|
+
done[message.uri] = true;
|
|
2838
|
+
m = message;
|
|
2839
|
+
case 4:
|
|
2840
|
+
if (false) {}
|
|
2841
|
+
// earlier?
|
|
2842
|
+
prev = _solidLogic.store.any(null, ns.dct('isReplacedBy'), m, m.doc());
|
|
2843
|
+
if (!(!prev || done[prev.uri])) {
|
|
2844
|
+
_context5.next = 8;
|
|
2845
|
+
break;
|
|
2846
|
+
}
|
|
2847
|
+
return _context5.abrupt("break", 15);
|
|
2848
|
+
case 8:
|
|
2849
|
+
_context5.next = 10;
|
|
2850
|
+
return _solidLogic.store.fetcher.load(prev);
|
|
2851
|
+
case 10:
|
|
2852
|
+
versions.unshift(prev);
|
|
2853
|
+
done[prev.uri] = true;
|
|
2854
|
+
m = prev;
|
|
2855
|
+
_context5.next = 4;
|
|
2856
|
+
break;
|
|
2857
|
+
case 15:
|
|
2858
|
+
m = message;
|
|
2859
|
+
case 16:
|
|
2860
|
+
if (false) {}
|
|
2861
|
+
// later?
|
|
2862
|
+
next = _solidLogic.store.any(m, ns.dct('isReplacedBy'), null, m.doc());
|
|
2863
|
+
if (!(!next || done[next.uri])) {
|
|
2864
|
+
_context5.next = 20;
|
|
2865
|
+
break;
|
|
2866
|
+
}
|
|
2867
|
+
return _context5.abrupt("break", 25);
|
|
2868
|
+
case 20:
|
|
2869
|
+
versions.push(next);
|
|
2870
|
+
done[next.uri] = true;
|
|
2871
|
+
m = next;
|
|
2872
|
+
_context5.next = 16;
|
|
2873
|
+
break;
|
|
2874
|
+
case 25:
|
|
2875
|
+
return _context5.abrupt("return", versions);
|
|
2876
|
+
case 26:
|
|
2877
|
+
case "end":
|
|
2878
|
+
return _context5.stop();
|
|
2879
|
+
}
|
|
2880
|
+
}, _callee5);
|
|
2881
|
+
}));
|
|
2882
|
+
return _allVersions.apply(this, arguments);
|
|
2883
|
+
}
|
|
2884
|
+
function originalVersion(_x6) {
|
|
2885
|
+
return _originalVersion.apply(this, arguments);
|
|
2886
|
+
}
|
|
2887
|
+
function _originalVersion() {
|
|
2888
|
+
_originalVersion = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(message) {
|
|
2889
|
+
var msg, done;
|
|
2890
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
2891
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
2892
|
+
case 0:
|
|
2893
|
+
msg = message;
|
|
2894
|
+
done = {}; // done[message.uri] = true
|
|
2895
|
+
case 2:
|
|
2896
|
+
if (!msg) {
|
|
2897
|
+
_context6.next = 13;
|
|
2898
|
+
break;
|
|
2899
|
+
}
|
|
2900
|
+
if (!done[msg.uri]) {
|
|
2901
|
+
_context6.next = 6;
|
|
2902
|
+
break;
|
|
2903
|
+
}
|
|
2904
|
+
debug.error('originalVersion: verion loop' + message);
|
|
2905
|
+
return _context6.abrupt("return", message);
|
|
2906
|
+
case 6:
|
|
2907
|
+
done[msg.uri] = true;
|
|
2908
|
+
message = msg;
|
|
2909
|
+
_context6.next = 10;
|
|
2910
|
+
return _solidLogic.store.fetcher.load(message);
|
|
2911
|
+
case 10:
|
|
2912
|
+
msg = _solidLogic.store.any(null, ns.dct('isReplacedBy'), message, message.doc());
|
|
2913
|
+
_context6.next = 2;
|
|
2914
|
+
break;
|
|
2915
|
+
case 13:
|
|
2916
|
+
return _context6.abrupt("return", message);
|
|
2917
|
+
case 14:
|
|
2918
|
+
case "end":
|
|
2919
|
+
return _context6.stop();
|
|
2920
|
+
}
|
|
2921
|
+
}, _callee6);
|
|
2922
|
+
}));
|
|
2923
|
+
return _originalVersion.apply(this, arguments);
|
|
2924
|
+
}
|
|
2925
|
+
function mostRecentVersion(_x7) {
|
|
2926
|
+
return _mostRecentVersion.apply(this, arguments);
|
|
2927
|
+
}
|
|
2928
|
+
function _mostRecentVersion() {
|
|
2929
|
+
_mostRecentVersion = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(message) {
|
|
2930
|
+
var msg, done;
|
|
2931
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
2932
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
2933
|
+
case 0:
|
|
2934
|
+
msg = message;
|
|
2935
|
+
done = {};
|
|
2936
|
+
case 2:
|
|
2937
|
+
if (!msg) {
|
|
2938
|
+
_context7.next = 13;
|
|
2939
|
+
break;
|
|
2940
|
+
}
|
|
2941
|
+
if (!done[msg.uri]) {
|
|
2942
|
+
_context7.next = 6;
|
|
2943
|
+
break;
|
|
2944
|
+
}
|
|
2945
|
+
debug.error('mostRecentVersion: verion loop' + message);
|
|
2946
|
+
return _context7.abrupt("return", message);
|
|
2947
|
+
case 6:
|
|
2948
|
+
done[msg.uri] = true;
|
|
2949
|
+
message = msg;
|
|
2950
|
+
_context7.next = 10;
|
|
2951
|
+
return _solidLogic.store.fetcher.load(message);
|
|
2952
|
+
case 10:
|
|
2953
|
+
msg = _solidLogic.store.any(message, ns.dct('isReplacedBy'), null, message.doc());
|
|
2954
|
+
_context7.next = 2;
|
|
2955
|
+
break;
|
|
2956
|
+
case 13:
|
|
2957
|
+
return _context7.abrupt("return", message);
|
|
2958
|
+
case 14:
|
|
2959
|
+
case "end":
|
|
2960
|
+
return _context7.stop();
|
|
2961
|
+
}
|
|
2962
|
+
}, _callee7);
|
|
2963
|
+
}));
|
|
2964
|
+
return _mostRecentVersion.apply(this, arguments);
|
|
2795
2965
|
}
|
|
2796
2966
|
function isDeleted(message) {
|
|
2797
2967
|
return _solidLogic.store.holds(message, ns.schema('dateDeleted'), null, message.doc());
|
|
@@ -2810,62 +2980,62 @@ function nick(person) {
|
|
|
2810
2980
|
if (s) return '' + s.value;
|
|
2811
2981
|
return '' + utils.label(person);
|
|
2812
2982
|
}
|
|
2813
|
-
function _createIfNotExists(
|
|
2983
|
+
function _createIfNotExists(_x8) {
|
|
2814
2984
|
return _createIfNotExists2.apply(this, arguments);
|
|
2815
2985
|
} // ends
|
|
2816
2986
|
function _createIfNotExists2() {
|
|
2817
2987
|
_createIfNotExists2 = (0, _asyncToGenerator2["default"])(function (doc) {
|
|
2818
2988
|
var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'text/turtle';
|
|
2819
2989
|
var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
2820
|
-
return /*#__PURE__*/_regenerator["default"].mark(function
|
|
2990
|
+
return /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
2821
2991
|
var response;
|
|
2822
|
-
return _regenerator["default"].wrap(function
|
|
2823
|
-
while (1) switch (
|
|
2992
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
2993
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
2824
2994
|
case 0:
|
|
2825
|
-
|
|
2826
|
-
|
|
2995
|
+
_context8.prev = 0;
|
|
2996
|
+
_context8.next = 3;
|
|
2827
2997
|
return _solidLogic.store.fetcher.load(doc);
|
|
2828
2998
|
case 3:
|
|
2829
|
-
response =
|
|
2830
|
-
|
|
2999
|
+
response = _context8.sent;
|
|
3000
|
+
_context8.next = 26;
|
|
2831
3001
|
break;
|
|
2832
3002
|
case 6:
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
if (!(
|
|
2836
|
-
|
|
3003
|
+
_context8.prev = 6;
|
|
3004
|
+
_context8.t0 = _context8["catch"](0);
|
|
3005
|
+
if (!(_context8.t0.response.status === 404)) {
|
|
3006
|
+
_context8.next = 24;
|
|
2837
3007
|
break;
|
|
2838
3008
|
}
|
|
2839
3009
|
debug.log('createIfNotExists: doc does NOT exist, will create... ' + doc);
|
|
2840
|
-
|
|
2841
|
-
|
|
3010
|
+
_context8.prev = 10;
|
|
3011
|
+
_context8.next = 13;
|
|
2842
3012
|
return _solidLogic.store.fetcher.webOperation('PUT', doc.uri, {
|
|
2843
3013
|
data: data,
|
|
2844
3014
|
contentType: contentType
|
|
2845
3015
|
});
|
|
2846
3016
|
case 13:
|
|
2847
|
-
response =
|
|
2848
|
-
|
|
3017
|
+
response = _context8.sent;
|
|
3018
|
+
_context8.next = 20;
|
|
2849
3019
|
break;
|
|
2850
3020
|
case 16:
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
debug.log('createIfNotExists doc FAILED: ' + doc + ': ' +
|
|
2854
|
-
throw
|
|
3021
|
+
_context8.prev = 16;
|
|
3022
|
+
_context8.t1 = _context8["catch"](10);
|
|
3023
|
+
debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + _context8.t1);
|
|
3024
|
+
throw _context8.t1;
|
|
2855
3025
|
case 20:
|
|
2856
3026
|
delete _solidLogic.store.fetcher.requested[doc.uri]; // delete cached 404 error
|
|
2857
3027
|
// debug.log('createIfNotExists doc created ok ' + doc)
|
|
2858
|
-
return
|
|
3028
|
+
return _context8.abrupt("return", response);
|
|
2859
3029
|
case 24:
|
|
2860
|
-
debug.log('createIfNotExists doc load error NOT 404: ' + doc + ': ' +
|
|
2861
|
-
throw
|
|
3030
|
+
debug.log('createIfNotExists doc load error NOT 404: ' + doc + ': ' + _context8.t0);
|
|
3031
|
+
throw _context8.t0;
|
|
2862
3032
|
case 26:
|
|
2863
|
-
return
|
|
3033
|
+
return _context8.abrupt("return", response);
|
|
2864
3034
|
case 27:
|
|
2865
3035
|
case "end":
|
|
2866
|
-
return
|
|
3036
|
+
return _context8.stop();
|
|
2867
3037
|
}
|
|
2868
|
-
},
|
|
3038
|
+
}, _callee8, null, [[0, 6], [10, 16]]);
|
|
2869
3039
|
})();
|
|
2870
3040
|
});
|
|
2871
3041
|
return _createIfNotExists2.apply(this, arguments);
|
|
@@ -2889,10 +3059,11 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
2889
3059
|
value: true
|
|
2890
3060
|
}));
|
|
2891
3061
|
exports.DateFolder = void 0;
|
|
3062
|
+
exports.emptyLeaf = emptyLeaf;
|
|
2892
3063
|
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
2893
|
-
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
2894
3064
|
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js"));
|
|
2895
3065
|
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js"));
|
|
3066
|
+
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
2896
3067
|
var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
|
|
2897
3068
|
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
2898
3069
|
var ns = _interopRequireWildcard(__webpack_require__(/*! ../ns */ "./lib/ns.js"));
|
|
@@ -2905,9 +3076,29 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
2905
3076
|
*
|
|
2906
3077
|
*/
|
|
2907
3078
|
// pull in first avoid cross-refs
|
|
3079
|
+
function emptyLeaf(_x) {
|
|
3080
|
+
return _emptyLeaf.apply(this, arguments);
|
|
3081
|
+
}
|
|
2908
3082
|
/**
|
|
2909
3083
|
* Track back through the YYYY/MM/DD tree to find the previous/next day
|
|
2910
3084
|
*/
|
|
3085
|
+
function _emptyLeaf() {
|
|
3086
|
+
_emptyLeaf = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(leafDocument) {
|
|
3087
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
3088
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
3089
|
+
case 0:
|
|
3090
|
+
_context5.next = 2;
|
|
3091
|
+
return _solidLogic.store.fetcher.load(leafDocument);
|
|
3092
|
+
case 2:
|
|
3093
|
+
return _context5.abrupt("return", !(_solidLogic.store.statementsMatching(null, ns.dct('created'), null, leafDocument).length > 0));
|
|
3094
|
+
case 3:
|
|
3095
|
+
case "end":
|
|
3096
|
+
return _context5.stop();
|
|
3097
|
+
}
|
|
3098
|
+
}, _callee5);
|
|
3099
|
+
}));
|
|
3100
|
+
return _emptyLeaf.apply(this, arguments);
|
|
3101
|
+
}
|
|
2911
3102
|
var DateFolder = /*#__PURE__*/function () {
|
|
2912
3103
|
function DateFolder(rootThing, leafFileName, membershipProperty) {
|
|
2913
3104
|
(0, _classCallCheck2["default"])(this, DateFolder);
|
|
@@ -2946,61 +3137,22 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
2946
3137
|
}, {
|
|
2947
3138
|
key: "loadPrevious",
|
|
2948
3139
|
value: function () {
|
|
2949
|
-
var _loadPrevious = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
2950
|
-
var
|
|
2951
|
-
return _regenerator["default"].wrap(function
|
|
2952
|
-
while (1) switch (
|
|
3140
|
+
var _loadPrevious = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(date, backwards) {
|
|
3141
|
+
var previousPeriod, _previousPeriod, folder, found, leafDocument, nextDate;
|
|
3142
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
3143
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
2953
3144
|
case 0:
|
|
2954
3145
|
_previousPeriod = function _previousPeriod3() {
|
|
2955
|
-
_previousPeriod = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
2956
|
-
var younger, suitable,
|
|
2957
|
-
return _regenerator["default"].wrap(function
|
|
2958
|
-
while (1) switch (
|
|
3146
|
+
_previousPeriod = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file, level) {
|
|
3147
|
+
var younger, suitable, lastOrFirst, parent, siblings, _folder, uncle, cousins, result;
|
|
3148
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
3149
|
+
while (1) switch (_context.prev = _context.next) {
|
|
2959
3150
|
case 0:
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
case 0:
|
|
2966
|
-
siblings = siblings.filter(suitable);
|
|
2967
|
-
siblings.sort(); // chronological order
|
|
2968
|
-
if (!backwards) siblings.reverse();
|
|
2969
|
-
if (!(level !== 3)) {
|
|
2970
|
-
_context.next = 5;
|
|
2971
|
-
break;
|
|
2972
|
-
}
|
|
2973
|
-
return _context.abrupt("return", siblings.pop());
|
|
2974
|
-
case 5:
|
|
2975
|
-
if (!siblings.length) {
|
|
2976
|
-
_context.next = 14;
|
|
2977
|
-
break;
|
|
2978
|
-
}
|
|
2979
|
-
_folder2 = siblings.pop();
|
|
2980
|
-
leafDocument = _solidLogic.store.sym(_folder2.uri + thisDateFolder.leafFileName);
|
|
2981
|
-
_context.next = 10;
|
|
2982
|
-
return _solidLogic.store.fetcher.load(leafDocument);
|
|
2983
|
-
case 10:
|
|
2984
|
-
if (!(_solidLogic.store.statementsMatching(null, ns.dct('created'), null, leafDocument).length > 0)) {
|
|
2985
|
-
_context.next = 12;
|
|
2986
|
-
break;
|
|
2987
|
-
}
|
|
2988
|
-
return _context.abrupt("return", _folder2);
|
|
2989
|
-
case 12:
|
|
2990
|
-
_context.next = 5;
|
|
2991
|
-
break;
|
|
2992
|
-
case 14:
|
|
2993
|
-
return _context.abrupt("return", null);
|
|
2994
|
-
case 15:
|
|
2995
|
-
case "end":
|
|
2996
|
-
return _context.stop();
|
|
2997
|
-
}
|
|
2998
|
-
}, _callee);
|
|
2999
|
-
}));
|
|
3000
|
-
return _lastNonEmpty.apply(this, arguments);
|
|
3001
|
-
};
|
|
3002
|
-
lastNonEmpty = function _lastNonEmpty2(_x5) {
|
|
3003
|
-
return _lastNonEmpty.apply(this, arguments);
|
|
3151
|
+
lastOrFirst = function _lastOrFirst(siblings) {
|
|
3152
|
+
siblings = siblings.filter(suitable);
|
|
3153
|
+
siblings.sort(); // chronological order
|
|
3154
|
+
if (!backwards) siblings.reverse();
|
|
3155
|
+
return siblings.pop(); // date folder
|
|
3004
3156
|
};
|
|
3005
3157
|
suitable = function _suitable(x) {
|
|
3006
3158
|
var tail = x.uri.slice(0, -1).split('/').slice(-1)[0];
|
|
@@ -3013,97 +3165,115 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
3013
3165
|
};
|
|
3014
3166
|
// debug.log(' previousPeriod level' + level + ' file ' + file)
|
|
3015
3167
|
parent = file.dir();
|
|
3016
|
-
|
|
3017
|
-
|
|
3168
|
+
_context.prev = 4;
|
|
3169
|
+
_context.next = 7;
|
|
3018
3170
|
return _solidLogic.store.fetcher.load(parent);
|
|
3019
|
-
case
|
|
3171
|
+
case 7:
|
|
3020
3172
|
siblings = _solidLogic.store.each(parent, ns.ldp('contains'));
|
|
3021
3173
|
siblings = siblings.filter(younger);
|
|
3022
|
-
|
|
3023
|
-
return lastNonEmpty(siblings);
|
|
3024
|
-
case 12:
|
|
3025
|
-
_folder = _context2.sent;
|
|
3174
|
+
_folder = lastOrFirst(siblings);
|
|
3026
3175
|
if (!_folder) {
|
|
3027
|
-
|
|
3176
|
+
_context.next = 12;
|
|
3028
3177
|
break;
|
|
3029
3178
|
}
|
|
3030
|
-
return
|
|
3031
|
-
case
|
|
3032
|
-
|
|
3179
|
+
return _context.abrupt("return", _folder);
|
|
3180
|
+
case 12:
|
|
3181
|
+
debug.log(' parent no suitable offspring ' + parent);
|
|
3182
|
+
_context.next = 23;
|
|
3033
3183
|
break;
|
|
3034
|
-
case
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
if (!(
|
|
3038
|
-
|
|
3184
|
+
case 15:
|
|
3185
|
+
_context.prev = 15;
|
|
3186
|
+
_context.t0 = _context["catch"](4);
|
|
3187
|
+
if (!(_context.t0.response && _context.t0.response.status && _context.t0.response.status === 404)) {
|
|
3188
|
+
_context.next = 21;
|
|
3039
3189
|
break;
|
|
3040
3190
|
}
|
|
3041
3191
|
debug.log('Error 404 for chat parent file ' + parent);
|
|
3042
|
-
|
|
3192
|
+
_context.next = 23;
|
|
3043
3193
|
break;
|
|
3044
|
-
case
|
|
3194
|
+
case 21:
|
|
3045
3195
|
debug.log('*** Error NON 404 for chat parent file ' + parent);
|
|
3046
3196
|
// statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))
|
|
3047
|
-
throw new Error("*** ".concat(
|
|
3048
|
-
case
|
|
3197
|
+
throw new Error("*** ".concat(_context.t0.message, " for chat folder ").concat(parent));
|
|
3198
|
+
case 23:
|
|
3049
3199
|
if (!(level === 0)) {
|
|
3050
|
-
|
|
3200
|
+
_context.next = 26;
|
|
3051
3201
|
break;
|
|
3052
3202
|
}
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3203
|
+
debug.log('loadPrevious: returning as level is zero');
|
|
3204
|
+
return _context.abrupt("return", null);
|
|
3205
|
+
case 26:
|
|
3206
|
+
_context.next = 28;
|
|
3056
3207
|
return previousPeriod(parent, level - 1);
|
|
3057
|
-
case
|
|
3058
|
-
uncle =
|
|
3208
|
+
case 28:
|
|
3209
|
+
uncle = _context.sent;
|
|
3059
3210
|
if (uncle) {
|
|
3060
|
-
|
|
3211
|
+
_context.next = 32;
|
|
3061
3212
|
break;
|
|
3062
3213
|
}
|
|
3063
|
-
|
|
3214
|
+
debug.log(' previousPeriod: nothing left before. ', parent);
|
|
3215
|
+
return _context.abrupt("return", null);
|
|
3064
3216
|
case 32:
|
|
3065
|
-
|
|
3217
|
+
_context.next = 34;
|
|
3066
3218
|
return _solidLogic.store.fetcher.load(uncle);
|
|
3067
3219
|
case 34:
|
|
3068
3220
|
cousins = _solidLogic.store.each(uncle, ns.ldp('contains'));
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
return _context2.abrupt("return", result);
|
|
3221
|
+
result = lastOrFirst(cousins);
|
|
3222
|
+
debug.log(' previousPeriod: returning cousins at level ' + level, cousins);
|
|
3223
|
+
debug.log(' previousPeriod: returning result at level ' + level, result);
|
|
3224
|
+
return _context.abrupt("return", result);
|
|
3074
3225
|
case 39:
|
|
3075
3226
|
case "end":
|
|
3076
|
-
return
|
|
3227
|
+
return _context.stop();
|
|
3077
3228
|
}
|
|
3078
|
-
},
|
|
3229
|
+
}, _callee, null, [[4, 15]]);
|
|
3079
3230
|
}));
|
|
3080
3231
|
return _previousPeriod.apply(this, arguments);
|
|
3081
3232
|
};
|
|
3082
|
-
previousPeriod = function _previousPeriod2(
|
|
3233
|
+
previousPeriod = function _previousPeriod2(_x4, _x5) {
|
|
3083
3234
|
return _previousPeriod.apply(this, arguments);
|
|
3084
|
-
};
|
|
3085
|
-
thisDateFolder = this;
|
|
3086
|
-
// previousPeriod
|
|
3235
|
+
}; // previousPeriod
|
|
3087
3236
|
folder = this.leafDocumentFromDate(date).dir();
|
|
3088
|
-
|
|
3237
|
+
case 3:
|
|
3238
|
+
if (false) {}
|
|
3239
|
+
_context2.next = 6;
|
|
3089
3240
|
return previousPeriod(folder, 3);
|
|
3090
3241
|
case 6:
|
|
3091
|
-
found =
|
|
3242
|
+
found = _context2.sent;
|
|
3092
3243
|
if (!found) {
|
|
3093
|
-
|
|
3244
|
+
_context2.next = 22;
|
|
3094
3245
|
break;
|
|
3095
3246
|
}
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
return
|
|
3100
|
-
case
|
|
3247
|
+
leafDocument = _solidLogic.store.sym(found.uri + this.leafFileName);
|
|
3248
|
+
nextDate = this.dateFromLeafDocument(leafDocument);
|
|
3249
|
+
_context2.next = 12;
|
|
3250
|
+
return emptyLeaf(leafDocument);
|
|
3251
|
+
case 12:
|
|
3252
|
+
if (_context2.sent) {
|
|
3253
|
+
_context2.next = 16;
|
|
3254
|
+
break;
|
|
3255
|
+
}
|
|
3256
|
+
return _context2.abrupt("return", nextDate);
|
|
3257
|
+
case 16:
|
|
3258
|
+
debug.log(' loadPrevious: skipping empty ' + leafDocument);
|
|
3259
|
+
date = nextDate;
|
|
3260
|
+
folder = this.leafDocumentFromDate(date).dir();
|
|
3261
|
+
debug.log(' loadPrevious: moved back to ' + folder);
|
|
3262
|
+
case 20:
|
|
3263
|
+
_context2.next = 23;
|
|
3264
|
+
break;
|
|
3265
|
+
case 22:
|
|
3266
|
+
return _context2.abrupt("return", null);
|
|
3267
|
+
case 23:
|
|
3268
|
+
_context2.next = 3;
|
|
3269
|
+
break;
|
|
3270
|
+
case 25:
|
|
3101
3271
|
case "end":
|
|
3102
|
-
return
|
|
3272
|
+
return _context2.stop();
|
|
3103
3273
|
}
|
|
3104
|
-
},
|
|
3274
|
+
}, _callee2, this);
|
|
3105
3275
|
}));
|
|
3106
|
-
function loadPrevious(
|
|
3276
|
+
function loadPrevious(_x2, _x3) {
|
|
3107
3277
|
return _loadPrevious.apply(this, arguments);
|
|
3108
3278
|
}
|
|
3109
3279
|
return loadPrevious;
|
|
@@ -3111,16 +3281,16 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
3111
3281
|
}, {
|
|
3112
3282
|
key: "firstLeaf",
|
|
3113
3283
|
value: function () {
|
|
3114
|
-
var _firstLeaf = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
3284
|
+
var _firstLeaf = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(backwards) {
|
|
3115
3285
|
var folderStore, folderFetcher, earliestSubfolder, _earliestSubfolder, y, month, d, leafDocument, leafObjects, msg, sortMe;
|
|
3116
|
-
return _regenerator["default"].wrap(function
|
|
3117
|
-
while (1) switch (
|
|
3286
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
3287
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
3118
3288
|
case 0:
|
|
3119
3289
|
_earliestSubfolder = function _earliestSubfolder3() {
|
|
3120
|
-
_earliestSubfolder = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
3290
|
+
_earliestSubfolder = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(parent) {
|
|
3121
3291
|
var suitable, kids;
|
|
3122
|
-
return _regenerator["default"].wrap(function
|
|
3123
|
-
while (1) switch (
|
|
3292
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
3293
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
3124
3294
|
case 0:
|
|
3125
3295
|
suitable = function _suitable2(x) {
|
|
3126
3296
|
var tail = x.uri.slice(0, -1).split('/').slice(-1)[0];
|
|
@@ -3130,7 +3300,7 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
3130
3300
|
debug.log(' parent ' + parent);
|
|
3131
3301
|
delete folderFetcher.requested[parent.uri];
|
|
3132
3302
|
// try {
|
|
3133
|
-
|
|
3303
|
+
_context3.next = 5;
|
|
3134
3304
|
return folderFetcher.load(parent, {
|
|
3135
3305
|
force: true
|
|
3136
3306
|
});
|
|
@@ -3141,19 +3311,19 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
3141
3311
|
kids = folderStore.each(parent, ns.ldp('contains'));
|
|
3142
3312
|
kids = kids.filter(suitable);
|
|
3143
3313
|
if (!(kids.length === 0)) {
|
|
3144
|
-
|
|
3314
|
+
_context3.next = 9;
|
|
3145
3315
|
break;
|
|
3146
3316
|
}
|
|
3147
3317
|
throw new Error(' @@@ No children to parent2 ' + parent);
|
|
3148
3318
|
case 9:
|
|
3149
3319
|
kids.sort();
|
|
3150
3320
|
if (backwards) kids.reverse();
|
|
3151
|
-
return
|
|
3321
|
+
return _context3.abrupt("return", kids[0]);
|
|
3152
3322
|
case 12:
|
|
3153
3323
|
case "end":
|
|
3154
|
-
return
|
|
3324
|
+
return _context3.stop();
|
|
3155
3325
|
}
|
|
3156
|
-
},
|
|
3326
|
+
}, _callee3);
|
|
3157
3327
|
}));
|
|
3158
3328
|
return _earliestSubfolder.apply(this, arguments);
|
|
3159
3329
|
};
|
|
@@ -3163,25 +3333,25 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
3163
3333
|
// backwards -> last leafObject
|
|
3164
3334
|
folderStore = $rdf.graph();
|
|
3165
3335
|
folderFetcher = new $rdf.Fetcher(folderStore);
|
|
3166
|
-
|
|
3336
|
+
_context4.next = 6;
|
|
3167
3337
|
return earliestSubfolder(this.root.dir());
|
|
3168
3338
|
case 6:
|
|
3169
|
-
y =
|
|
3170
|
-
|
|
3339
|
+
y = _context4.sent;
|
|
3340
|
+
_context4.next = 9;
|
|
3171
3341
|
return earliestSubfolder(y);
|
|
3172
3342
|
case 9:
|
|
3173
|
-
month =
|
|
3174
|
-
|
|
3343
|
+
month = _context4.sent;
|
|
3344
|
+
_context4.next = 12;
|
|
3175
3345
|
return earliestSubfolder(month);
|
|
3176
3346
|
case 12:
|
|
3177
|
-
d =
|
|
3347
|
+
d = _context4.sent;
|
|
3178
3348
|
leafDocument = $rdf.sym(d.uri + 'chat.ttl');
|
|
3179
|
-
|
|
3349
|
+
_context4.next = 16;
|
|
3180
3350
|
return folderFetcher.load(leafDocument);
|
|
3181
3351
|
case 16:
|
|
3182
3352
|
leafObjects = folderStore.each(this.root, this.membershipProperty, null, leafDocument);
|
|
3183
3353
|
if (!(leafObjects.length === 0)) {
|
|
3184
|
-
|
|
3354
|
+
_context4.next = 21;
|
|
3185
3355
|
break;
|
|
3186
3356
|
}
|
|
3187
3357
|
msg = ' INCONSISTENCY -- no chat leafObject in file ' + leafDocument;
|
|
@@ -3194,12 +3364,12 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
3194
3364
|
sortMe.sort();
|
|
3195
3365
|
if (backwards) sortMe.reverse();
|
|
3196
3366
|
debug.log((backwards ? 'Latest' : 'Earliest') + ' leafObject is ' + sortMe[0][1]);
|
|
3197
|
-
return
|
|
3367
|
+
return _context4.abrupt("return", sortMe[0][1]);
|
|
3198
3368
|
case 26:
|
|
3199
3369
|
case "end":
|
|
3200
|
-
return
|
|
3370
|
+
return _context4.stop();
|
|
3201
3371
|
}
|
|
3202
|
-
},
|
|
3372
|
+
}, _callee4, this);
|
|
3203
3373
|
}));
|
|
3204
3374
|
function firstLeaf(_x6) {
|
|
3205
3375
|
return _firstLeaf.apply(this, arguments);
|
|
@@ -3243,19 +3413,17 @@ var _chatLogic = __webpack_require__(/*! ./chatLogic */ "./lib/chat/chatLogic.js
|
|
|
3243
3413
|
var _message = __webpack_require__(/*! ./message */ "./lib/chat/message.js");
|
|
3244
3414
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
3245
3415
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3416
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
3417
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
3418
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /**
|
|
3419
|
+
* Contains the [[infiniteMessageArea]] class
|
|
3420
|
+
* @packageDocumentation
|
|
3421
|
+
*/ // import { findBookmarkDocument } from './bookmarks'
|
|
3251
3422
|
// pull in first avoid cross-refs
|
|
3252
|
-
|
|
3253
3423
|
// import * as style from '../style'
|
|
3254
3424
|
// import * as utils from '../utils'
|
|
3255
|
-
|
|
3256
3425
|
// import * as pad from '../pad'
|
|
3257
3426
|
// import { DateFolder } from './dateFolder'
|
|
3258
|
-
|
|
3259
3427
|
// const UI = { authn, icons, ns, media, pad, $rdf, store, style, utils, widgets }
|
|
3260
3428
|
|
|
3261
3429
|
function desktopNotification(str) {
|
|
@@ -3283,34 +3451,9 @@ function desktopNotification(str) {
|
|
|
3283
3451
|
/**
|
|
3284
3452
|
* Renders a chat message inside a `messageTable`
|
|
3285
3453
|
*/
|
|
3286
|
-
function insertMessageIntoTable(
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
// const message = messageRow.AJAR_subject
|
|
3290
|
-
if (options.selectedMessage && options.selectedMessage.sameTerm(message)) {
|
|
3291
|
-
messageRow.style.backgroundColor = 'yellow';
|
|
3292
|
-
options.selectedElement = messageRow;
|
|
3293
|
-
messageTable.selectedElement = messageRow;
|
|
3294
|
-
}
|
|
3295
|
-
var done = false;
|
|
3296
|
-
for (var ele = messageTable.firstChild;; ele = ele.nextSibling) {
|
|
3297
|
-
if (!ele) {
|
|
3298
|
-
// empty
|
|
3299
|
-
break;
|
|
3300
|
-
}
|
|
3301
|
-
var newestFirst = options.newestfirst === true;
|
|
3302
|
-
var dateString = messageRow.AJAR_date;
|
|
3303
|
-
if (dateString > ele.AJAR_date && newestFirst || dateString < ele.AJAR_date && !newestFirst) {
|
|
3304
|
-
messageTable.insertBefore(messageRow, ele);
|
|
3305
|
-
done = true;
|
|
3306
|
-
break;
|
|
3307
|
-
}
|
|
3308
|
-
}
|
|
3309
|
-
if (!done) {
|
|
3310
|
-
messageTable.appendChild(messageRow);
|
|
3311
|
-
}
|
|
3454
|
+
function insertMessageIntoTable(_x, _x2, _x3, _x4, _x5, _x6) {
|
|
3455
|
+
return _insertMessageIntoTable.apply(this, arguments);
|
|
3312
3456
|
}
|
|
3313
|
-
|
|
3314
3457
|
/**
|
|
3315
3458
|
* Common code for a chat (discussion area of messages about something)
|
|
3316
3459
|
* This version runs over a series of files for different time periods
|
|
@@ -3333,20 +3476,70 @@ function insertMessageIntoTable(channelObject, messageTable, message, fresh, opt
|
|
|
3333
3476
|
- inlineImageHeightEms: The height (in ems) of images expaned from their URIs in the chat.
|
|
3334
3477
|
|
|
3335
3478
|
*/
|
|
3336
|
-
function
|
|
3479
|
+
function _insertMessageIntoTable() {
|
|
3480
|
+
_insertMessageIntoTable = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(channelObject, messageTable, message, fresh, options, userContext) {
|
|
3481
|
+
var messageRow, done, ele, newestFirst, dateString;
|
|
3482
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
3483
|
+
while (1) switch (_context.prev = _context.next) {
|
|
3484
|
+
case 0:
|
|
3485
|
+
_context.next = 2;
|
|
3486
|
+
return (0, _message.renderMessageRow)(channelObject, message, fresh, options, userContext);
|
|
3487
|
+
case 2:
|
|
3488
|
+
messageRow = _context.sent;
|
|
3489
|
+
// const message = messageRow.AJAR_subject
|
|
3490
|
+
if (options.selectedMessage && options.selectedMessage.sameTerm(message)) {
|
|
3491
|
+
messageRow.style.backgroundColor = 'yellow';
|
|
3492
|
+
options.selectedElement = messageRow;
|
|
3493
|
+
messageTable.selectedElement = messageRow;
|
|
3494
|
+
}
|
|
3495
|
+
done = false;
|
|
3496
|
+
ele = messageTable.firstChild;
|
|
3497
|
+
case 6:
|
|
3498
|
+
if (ele) {
|
|
3499
|
+
_context.next = 8;
|
|
3500
|
+
break;
|
|
3501
|
+
}
|
|
3502
|
+
return _context.abrupt("break", 17);
|
|
3503
|
+
case 8:
|
|
3504
|
+
newestFirst = options.newestfirst === true;
|
|
3505
|
+
dateString = messageRow.AJAR_date;
|
|
3506
|
+
if (!(dateString > ele.AJAR_date && newestFirst || dateString < ele.AJAR_date && !newestFirst)) {
|
|
3507
|
+
_context.next = 14;
|
|
3508
|
+
break;
|
|
3509
|
+
}
|
|
3510
|
+
messageTable.insertBefore(messageRow, ele);
|
|
3511
|
+
done = true;
|
|
3512
|
+
return _context.abrupt("break", 17);
|
|
3513
|
+
case 14:
|
|
3514
|
+
ele = ele.nextSibling;
|
|
3515
|
+
_context.next = 6;
|
|
3516
|
+
break;
|
|
3517
|
+
case 17:
|
|
3518
|
+
if (!done) {
|
|
3519
|
+
messageTable.appendChild(messageRow);
|
|
3520
|
+
}
|
|
3521
|
+
case 18:
|
|
3522
|
+
case "end":
|
|
3523
|
+
return _context.stop();
|
|
3524
|
+
}
|
|
3525
|
+
}, _callee);
|
|
3526
|
+
}));
|
|
3527
|
+
return _insertMessageIntoTable.apply(this, arguments);
|
|
3528
|
+
}
|
|
3529
|
+
function infiniteMessageArea(_x7, _x8, _x9, _x10) {
|
|
3337
3530
|
return _infiniteMessageArea.apply(this, arguments);
|
|
3338
3531
|
}
|
|
3339
3532
|
function _infiniteMessageArea() {
|
|
3340
|
-
_infiniteMessageArea = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
3341
|
-
var syncMessages, addMessage, insertPreviousMessages, _insertPreviousMessages, removePreviousMessages, createMessageTable, _createMessageTable, renderMessageTable, addNewChatDocumentIfNewDay, _addNewChatDocumentIfNewDay, appendCurrentMessages, _appendCurrentMessages, loadMoreWhereNeeded, _loadMoreWhereNeeded, loadInitialContent, _loadInitialContent, newestFirst, channelObject, dateFolder, div, statusArea, userContext, liveMessageTable, earliest, latest, lock;
|
|
3342
|
-
return _regenerator["default"].wrap(function
|
|
3343
|
-
while (1) switch (
|
|
3533
|
+
_infiniteMessageArea = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15(dom, wasStore, chatChannel, options) {
|
|
3534
|
+
var syncMessages, _syncMessages, addMessage, _addMessage, insertPreviousMessages, _insertPreviousMessages, removePreviousMessages, createMessageTable, _createMessageTable, renderMessageTable, _renderMessageTable, addNewChatDocumentIfNewDay, _addNewChatDocumentIfNewDay, appendCurrentMessages, _appendCurrentMessages, loadMoreWhereNeeded, _loadMoreWhereNeeded, loadInitialContent, _loadInitialContent, newestFirst, channelObject, dateFolder, div, statusArea, userContext, liveMessageTable, threadRootMessage, earliest, latest, thread, threadTime, lock;
|
|
3535
|
+
return _regenerator["default"].wrap(function _callee15$(_context15) {
|
|
3536
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
3344
3537
|
case 0:
|
|
3345
3538
|
_loadInitialContent = function _loadInitialContent3() {
|
|
3346
|
-
_loadInitialContent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
3347
|
-
var yank, fixScroll, live, selectedDocument, now, todayDocument, selectedMessageTable, selectedDate;
|
|
3348
|
-
return _regenerator["default"].wrap(function
|
|
3349
|
-
while (1) switch (
|
|
3539
|
+
_loadInitialContent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
|
|
3540
|
+
var yank, fixScroll, live, selectedDocument, threadRootDocument, initialDocment, now, todayDocument, selectedMessageTable, selectedDate;
|
|
3541
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
3542
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
3350
3543
|
case 0:
|
|
3351
3544
|
fixScroll = function _fixScroll() {
|
|
3352
3545
|
if (options.selectedElement) {
|
|
@@ -3360,51 +3553,59 @@ function _infiniteMessageArea() {
|
|
|
3360
3553
|
}
|
|
3361
3554
|
};
|
|
3362
3555
|
yank = function _yank() {
|
|
3363
|
-
selectedMessageTable.selectedElement
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3556
|
+
if (selectedMessageTable && selectedMessageTable.selectedElement) {
|
|
3557
|
+
selectedMessageTable.selectedElement.scrollIntoView({
|
|
3558
|
+
block: 'center'
|
|
3559
|
+
});
|
|
3560
|
+
}
|
|
3561
|
+
}; // During initial load ONLY keep scroll to selected thing or bottom
|
|
3367
3562
|
if (options.selectedMessage) {
|
|
3368
3563
|
selectedDocument = options.selectedMessage.doc();
|
|
3564
|
+
}
|
|
3565
|
+
if (threadRootMessage) {
|
|
3566
|
+
threadRootDocument = threadRootMessage.doc();
|
|
3567
|
+
}
|
|
3568
|
+
initialDocment = selectedDocument || threadRootDocument;
|
|
3569
|
+
if (initialDocment) {
|
|
3369
3570
|
now = new Date();
|
|
3370
3571
|
todayDocument = dateFolder.leafDocumentFromDate(now);
|
|
3371
|
-
live = todayDocument.sameTerm(
|
|
3572
|
+
live = todayDocument.sameTerm(initialDocment);
|
|
3372
3573
|
}
|
|
3373
|
-
if (!(
|
|
3374
|
-
|
|
3574
|
+
if (!(initialDocment && !live)) {
|
|
3575
|
+
_context14.next = 18;
|
|
3375
3576
|
break;
|
|
3376
3577
|
}
|
|
3377
|
-
selectedDate = dateFolder.dateFromLeafDocument(
|
|
3378
|
-
|
|
3578
|
+
selectedDate = dateFolder.dateFromLeafDocument(initialDocment);
|
|
3579
|
+
_context14.next = 10;
|
|
3379
3580
|
return createMessageTable(selectedDate, live);
|
|
3380
|
-
case
|
|
3381
|
-
selectedMessageTable =
|
|
3581
|
+
case 10:
|
|
3582
|
+
selectedMessageTable = _context14.sent;
|
|
3382
3583
|
div.appendChild(selectedMessageTable);
|
|
3383
3584
|
earliest.messageTable = selectedMessageTable;
|
|
3384
3585
|
latest.messageTable = selectedMessageTable;
|
|
3385
3586
|
yank();
|
|
3386
3587
|
setTimeout(yank, 1000); // @@ kludge - restore position distubed by other cHANGES
|
|
3387
|
-
|
|
3588
|
+
_context14.next = 22;
|
|
3388
3589
|
break;
|
|
3389
|
-
case
|
|
3390
|
-
|
|
3590
|
+
case 18:
|
|
3591
|
+
_context14.next = 20;
|
|
3391
3592
|
return appendCurrentMessages();
|
|
3392
|
-
case
|
|
3593
|
+
case 20:
|
|
3393
3594
|
earliest.messageTable = liveMessageTable;
|
|
3394
3595
|
latest.messageTable = liveMessageTable;
|
|
3395
|
-
case
|
|
3396
|
-
|
|
3596
|
+
case 22:
|
|
3597
|
+
_context14.next = 24;
|
|
3397
3598
|
return loadMoreWhereNeeded(null, fixScroll);
|
|
3398
|
-
case
|
|
3599
|
+
case 24:
|
|
3399
3600
|
div.addEventListener('scroll', loadMoreWhereNeeded);
|
|
3400
3601
|
if (options.solo) {
|
|
3401
3602
|
document.body.addEventListener('scroll', loadMoreWhereNeeded);
|
|
3402
3603
|
}
|
|
3403
|
-
case
|
|
3604
|
+
case 26:
|
|
3404
3605
|
case "end":
|
|
3405
|
-
return
|
|
3606
|
+
return _context14.stop();
|
|
3406
3607
|
}
|
|
3407
|
-
},
|
|
3608
|
+
}, _callee14);
|
|
3408
3609
|
}));
|
|
3409
3610
|
return _loadInitialContent.apply(this, arguments);
|
|
3410
3611
|
};
|
|
@@ -3412,16 +3613,16 @@ function _infiniteMessageArea() {
|
|
|
3412
3613
|
return _loadInitialContent.apply(this, arguments);
|
|
3413
3614
|
};
|
|
3414
3615
|
_loadMoreWhereNeeded = function _loadMoreWhereNeeded3() {
|
|
3415
|
-
_loadMoreWhereNeeded = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
3616
|
+
_loadMoreWhereNeeded = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13(event, fixScroll) {
|
|
3416
3617
|
var freeze, magicZone, done, scrollBottom, scrollTop;
|
|
3417
|
-
return _regenerator["default"].wrap(function
|
|
3418
|
-
while (1) switch (
|
|
3618
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
3619
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
3419
3620
|
case 0:
|
|
3420
3621
|
if (!lock) {
|
|
3421
|
-
|
|
3622
|
+
_context13.next = 2;
|
|
3422
3623
|
break;
|
|
3423
3624
|
}
|
|
3424
|
-
return
|
|
3625
|
+
return _context13.abrupt("return");
|
|
3425
3626
|
case 2:
|
|
3426
3627
|
lock = true;
|
|
3427
3628
|
freeze = !fixScroll;
|
|
@@ -3429,36 +3630,36 @@ function _infiniteMessageArea() {
|
|
|
3429
3630
|
// const bottom = div.scrollHeight - top - div.clientHeight
|
|
3430
3631
|
case 5:
|
|
3431
3632
|
if (!(div.scrollTop < magicZone && earliest.messageTable && !earliest.messageTable.initial && earliest.messageTable.extendBackwards)) {
|
|
3432
|
-
|
|
3633
|
+
_context13.next = 21;
|
|
3433
3634
|
break;
|
|
3434
3635
|
}
|
|
3435
3636
|
if (!(div.scrollHeight === 0)) {
|
|
3436
|
-
|
|
3637
|
+
_context13.next = 10;
|
|
3437
3638
|
break;
|
|
3438
3639
|
}
|
|
3439
|
-
//
|
|
3640
|
+
// debug.log(' chat/loadMoreWhereNeeded: trying later...')
|
|
3440
3641
|
setTimeout(loadMoreWhereNeeded, 2000); // couple be less
|
|
3441
3642
|
lock = false;
|
|
3442
|
-
return
|
|
3643
|
+
return _context13.abrupt("return");
|
|
3443
3644
|
case 10:
|
|
3444
|
-
//
|
|
3645
|
+
// debug.log(' chat/loadMoreWhereNeeded: Going now')
|
|
3445
3646
|
scrollBottom = div.scrollHeight - div.scrollTop;
|
|
3446
3647
|
debug.log('infinite scroll: adding above: top ' + div.scrollTop);
|
|
3447
|
-
|
|
3648
|
+
_context13.next = 14;
|
|
3448
3649
|
return earliest.messageTable.extendBackwards();
|
|
3449
3650
|
case 14:
|
|
3450
|
-
done =
|
|
3651
|
+
done = _context13.sent;
|
|
3451
3652
|
if (freeze) {
|
|
3452
3653
|
div.scrollTop = div.scrollHeight - scrollBottom;
|
|
3453
3654
|
}
|
|
3454
3655
|
if (fixScroll) fixScroll();
|
|
3455
3656
|
if (!done) {
|
|
3456
|
-
|
|
3657
|
+
_context13.next = 19;
|
|
3457
3658
|
break;
|
|
3458
3659
|
}
|
|
3459
|
-
return
|
|
3660
|
+
return _context13.abrupt("break", 21);
|
|
3460
3661
|
case 19:
|
|
3461
|
-
|
|
3662
|
+
_context13.next = 5;
|
|
3462
3663
|
break;
|
|
3463
3664
|
case 21:
|
|
3464
3665
|
if (!(options.selectedMessage &&
|
|
@@ -3468,15 +3669,15 @@ function _infiniteMessageArea() {
|
|
|
3468
3669
|
latest.messageTable && !latest.messageTable["final"] &&
|
|
3469
3670
|
// there is more data to come
|
|
3470
3671
|
latest.messageTable.extendForwards)) {
|
|
3471
|
-
|
|
3672
|
+
_context13.next = 33;
|
|
3472
3673
|
break;
|
|
3473
3674
|
}
|
|
3474
3675
|
scrollTop = div.scrollTop;
|
|
3475
3676
|
debug.log('infinite scroll: adding below: bottom: ' + (div.scrollHeight - div.scrollTop - div.clientHeight));
|
|
3476
|
-
|
|
3677
|
+
_context13.next = 26;
|
|
3477
3678
|
return latest.messageTable.extendForwards();
|
|
3478
3679
|
case 26:
|
|
3479
|
-
done =
|
|
3680
|
+
done = _context13.sent;
|
|
3480
3681
|
// then add more data on the bottom
|
|
3481
3682
|
if (freeze) {
|
|
3482
3683
|
div.scrollTop = scrollTop; // while adding below keep same things in view
|
|
@@ -3484,63 +3685,66 @@ function _infiniteMessageArea() {
|
|
|
3484
3685
|
|
|
3485
3686
|
if (fixScroll) fixScroll();
|
|
3486
3687
|
if (!done) {
|
|
3487
|
-
|
|
3688
|
+
_context13.next = 31;
|
|
3488
3689
|
break;
|
|
3489
3690
|
}
|
|
3490
|
-
return
|
|
3691
|
+
return _context13.abrupt("break", 33);
|
|
3491
3692
|
case 31:
|
|
3492
|
-
|
|
3693
|
+
_context13.next = 21;
|
|
3493
3694
|
break;
|
|
3494
3695
|
case 33:
|
|
3495
3696
|
lock = false;
|
|
3496
3697
|
case 34:
|
|
3497
3698
|
case "end":
|
|
3498
|
-
return
|
|
3699
|
+
return _context13.stop();
|
|
3499
3700
|
}
|
|
3500
|
-
},
|
|
3701
|
+
}, _callee13);
|
|
3501
3702
|
}));
|
|
3502
3703
|
return _loadMoreWhereNeeded.apply(this, arguments);
|
|
3503
3704
|
};
|
|
3504
|
-
loadMoreWhereNeeded = function _loadMoreWhereNeeded2(
|
|
3705
|
+
loadMoreWhereNeeded = function _loadMoreWhereNeeded2(_x20, _x21) {
|
|
3505
3706
|
return _loadMoreWhereNeeded.apply(this, arguments);
|
|
3506
3707
|
};
|
|
3507
3708
|
_appendCurrentMessages = function _appendCurrentMessage2() {
|
|
3508
|
-
_appendCurrentMessages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
3709
|
+
_appendCurrentMessages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
|
|
3509
3710
|
var now, chatDocument, messageTable;
|
|
3510
|
-
return _regenerator["default"].wrap(function
|
|
3511
|
-
while (1) switch (
|
|
3711
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
3712
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
3512
3713
|
case 0:
|
|
3513
3714
|
now = new Date();
|
|
3514
3715
|
chatDocument = dateFolder.leafDocumentFromDate(now); /// ///////////////////////////////////////////////////////////
|
|
3515
|
-
|
|
3716
|
+
_context12.next = 4;
|
|
3516
3717
|
return createMessageTable(now, true);
|
|
3517
3718
|
case 4:
|
|
3518
|
-
messageTable =
|
|
3719
|
+
messageTable = _context12.sent;
|
|
3519
3720
|
div.appendChild(messageTable);
|
|
3520
|
-
div.refresh = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
3521
|
-
return _regenerator["default"].wrap(function
|
|
3522
|
-
while (1) switch (
|
|
3721
|
+
div.refresh = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
3722
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
3723
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
3523
3724
|
case 0:
|
|
3524
|
-
|
|
3725
|
+
_context11.next = 2;
|
|
3525
3726
|
return addNewChatDocumentIfNewDay(new Date());
|
|
3526
3727
|
case 2:
|
|
3527
|
-
|
|
3528
|
-
|
|
3728
|
+
_context11.next = 4;
|
|
3729
|
+
return syncMessages(chatChannel, messageTable);
|
|
3529
3730
|
case 4:
|
|
3731
|
+
// @@ livemessagetable??
|
|
3732
|
+
desktopNotification(chatChannel);
|
|
3733
|
+
case 5:
|
|
3530
3734
|
case "end":
|
|
3531
|
-
return
|
|
3735
|
+
return _context11.stop();
|
|
3532
3736
|
}
|
|
3533
|
-
},
|
|
3737
|
+
}, _callee11);
|
|
3534
3738
|
})); // The short chat version the live update listening is done in the pane but we do it in the widget @@
|
|
3535
3739
|
_solidLogic.store.updater.addDownstreamChangeListener(chatDocument, div.refresh); // Live update
|
|
3536
3740
|
liveMessageTable = messageTable;
|
|
3537
3741
|
latest.messageTable = liveMessageTable;
|
|
3538
|
-
return
|
|
3742
|
+
return _context12.abrupt("return", messageTable);
|
|
3539
3743
|
case 11:
|
|
3540
3744
|
case "end":
|
|
3541
|
-
return
|
|
3745
|
+
return _context12.stop();
|
|
3542
3746
|
}
|
|
3543
|
-
},
|
|
3747
|
+
}, _callee12);
|
|
3544
3748
|
}));
|
|
3545
3749
|
return _appendCurrentMessages.apply(this, arguments);
|
|
3546
3750
|
};
|
|
@@ -3548,15 +3752,15 @@ function _infiniteMessageArea() {
|
|
|
3548
3752
|
return _appendCurrentMessages.apply(this, arguments);
|
|
3549
3753
|
};
|
|
3550
3754
|
_addNewChatDocumentIfNewDay = function _addNewChatDocumentIf2() {
|
|
3551
|
-
_addNewChatDocumentIfNewDay = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
3755
|
+
_addNewChatDocumentIfNewDay = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
|
|
3552
3756
|
var newChatDocument, oldChatDocument, sts;
|
|
3553
|
-
return _regenerator["default"].wrap(function
|
|
3554
|
-
while (1) switch (
|
|
3757
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
3758
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
3555
3759
|
case 0:
|
|
3556
3760
|
// @@ Remove listener from previous table as it is now static
|
|
3557
3761
|
newChatDocument = dateFolder.leafDocumentFromDate(new Date());
|
|
3558
3762
|
if (newChatDocument.sameTerm(latest.messageTable.chatDocument)) {
|
|
3559
|
-
|
|
3763
|
+
_context10.next = 7;
|
|
3560
3764
|
break;
|
|
3561
3765
|
}
|
|
3562
3766
|
// It is a new day
|
|
@@ -3565,7 +3769,7 @@ function _infiniteMessageArea() {
|
|
|
3565
3769
|
delete liveMessageTable.inputRow;
|
|
3566
3770
|
}
|
|
3567
3771
|
oldChatDocument = latest.messageTable.chatDocument;
|
|
3568
|
-
|
|
3772
|
+
_context10.next = 6;
|
|
3569
3773
|
return appendCurrentMessages();
|
|
3570
3774
|
case 6:
|
|
3571
3775
|
// Adding a link in the document will ping listeners to add the new block too
|
|
@@ -3579,286 +3783,323 @@ function _infiniteMessageArea() {
|
|
|
3579
3783
|
}
|
|
3580
3784
|
case 7:
|
|
3581
3785
|
case "end":
|
|
3582
|
-
return
|
|
3786
|
+
return _context10.stop();
|
|
3583
3787
|
}
|
|
3584
|
-
},
|
|
3788
|
+
}, _callee10);
|
|
3585
3789
|
}));
|
|
3586
3790
|
return _addNewChatDocumentIfNewDay.apply(this, arguments);
|
|
3587
3791
|
};
|
|
3588
3792
|
addNewChatDocumentIfNewDay = function _addNewChatDocumentIf() {
|
|
3589
3793
|
return _addNewChatDocumentIfNewDay.apply(this, arguments);
|
|
3590
3794
|
};
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
function getScrollbackIcon(sense) {
|
|
3636
|
-
return sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
|
|
3637
|
-
}
|
|
3638
|
-
}
|
|
3639
|
-
function scrollBackbuttonHandler(_x8) {
|
|
3640
|
-
return _scrollBackbuttonHandler.apply(this, arguments);
|
|
3641
|
-
} /// ////////////// Scroll up adding more below
|
|
3642
|
-
function _scrollBackbuttonHandler() {
|
|
3643
|
-
_scrollBackbuttonHandler = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_event) {
|
|
3644
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
3645
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
3646
|
-
case 0:
|
|
3647
|
-
if (!messageTable.extendedBack) {
|
|
3648
|
-
_context2.next = 6;
|
|
3649
|
-
break;
|
|
3795
|
+
_renderMessageTable = function _renderMessageTable3() {
|
|
3796
|
+
_renderMessageTable = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(date, live) {
|
|
3797
|
+
var scrollBackbutton, scrollForwardButton, extendBackwards, _extendBackwards, setScrollBackbuttonIcon, extendForwards, _extendForwards, setScrollForwardButtonIcon, scrollForwardButtonHandler, _scrollForwardButtonHandler, messageTable, chatDocument, tr, test, titleTR, scrollBackbuttonCell, dateCell, scrollForwardButtonCell, sts, _iterator2, _step2, st;
|
|
3798
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
3799
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
3800
|
+
case 0:
|
|
3801
|
+
_scrollForwardButtonHandler = function _scrollForwardButtonH2() {
|
|
3802
|
+
_scrollForwardButtonHandler = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(_event) {
|
|
3803
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
3804
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
3805
|
+
case 0:
|
|
3806
|
+
if (!messageTable.extendedForwards) {
|
|
3807
|
+
_context8.next = 6;
|
|
3808
|
+
break;
|
|
3809
|
+
}
|
|
3810
|
+
removePreviousMessages(false, messageTable);
|
|
3811
|
+
messageTable.extendedForwards = false;
|
|
3812
|
+
setScrollForwardButtonIcon();
|
|
3813
|
+
_context8.next = 9;
|
|
3814
|
+
break;
|
|
3815
|
+
case 6:
|
|
3816
|
+
_context8.next = 8;
|
|
3817
|
+
return extendForwards();
|
|
3818
|
+
case 8:
|
|
3819
|
+
// async
|
|
3820
|
+
latest.messageTable.scrollIntoView(newestFirst);
|
|
3821
|
+
case 9:
|
|
3822
|
+
case "end":
|
|
3823
|
+
return _context8.stop();
|
|
3824
|
+
}
|
|
3825
|
+
}, _callee8);
|
|
3826
|
+
}));
|
|
3827
|
+
return _scrollForwardButtonHandler.apply(this, arguments);
|
|
3828
|
+
};
|
|
3829
|
+
scrollForwardButtonHandler = function _scrollForwardButtonH(_x22) {
|
|
3830
|
+
return _scrollForwardButtonHandler.apply(this, arguments);
|
|
3831
|
+
};
|
|
3832
|
+
setScrollForwardButtonIcon = function _setScrollForwardButt() {
|
|
3833
|
+
if (!scrollForwardButton) return;
|
|
3834
|
+
var sense = messageTable.extendedForwards ? !newestFirst : newestFirst; // noun_T-Block_1114657_000000.svg
|
|
3835
|
+
var scrollForwardIcon = messageTable["final"] ? 'noun_T-Block_1114657_000000.svg' : getScrollForwardButtonIcon(sense);
|
|
3836
|
+
scrollForwardButton.firstChild.setAttribute('src', _iconBase.icons.iconBase + scrollForwardIcon);
|
|
3837
|
+
function getScrollForwardButtonIcon(sense) {
|
|
3838
|
+
return !sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
|
|
3650
3839
|
}
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
return insertPreviousMessages(false);
|
|
3678
|
-
case 2:
|
|
3679
|
-
done = _context3.sent;
|
|
3680
|
-
if (done) {
|
|
3681
|
-
scrollForwardButton.firstChild.setAttribute('src', _iconBase.icons.iconBase + 'noun_T-Block_1114655_000000.svg');
|
|
3682
|
-
scrollForwardButton.disabled = true;
|
|
3683
|
-
messageTable["final"] = true;
|
|
3684
|
-
} else {
|
|
3685
|
-
messageTable.extendedForwards = true;
|
|
3840
|
+
};
|
|
3841
|
+
_extendForwards = function _extendForwards3() {
|
|
3842
|
+
_extendForwards = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
3843
|
+
var done;
|
|
3844
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
3845
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
3846
|
+
case 0:
|
|
3847
|
+
_context7.next = 2;
|
|
3848
|
+
return insertPreviousMessages(false);
|
|
3849
|
+
case 2:
|
|
3850
|
+
done = _context7.sent;
|
|
3851
|
+
return _context7.abrupt("return", done);
|
|
3852
|
+
case 4:
|
|
3853
|
+
case "end":
|
|
3854
|
+
return _context7.stop();
|
|
3855
|
+
}
|
|
3856
|
+
}, _callee7);
|
|
3857
|
+
}));
|
|
3858
|
+
return _extendForwards.apply(this, arguments);
|
|
3859
|
+
};
|
|
3860
|
+
extendForwards = function _extendForwards2() {
|
|
3861
|
+
return _extendForwards.apply(this, arguments);
|
|
3862
|
+
};
|
|
3863
|
+
setScrollBackbuttonIcon = function _setScrollBackbuttonI() {
|
|
3864
|
+
if (!scrollBackbutton) {
|
|
3865
|
+
return;
|
|
3686
3866
|
}
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
}
|
|
3693
|
-
}, _callee3);
|
|
3694
|
-
}));
|
|
3695
|
-
return _extendForwards.apply(this, arguments);
|
|
3696
|
-
}
|
|
3697
|
-
function setScrollForwardButtonIcon() {
|
|
3698
|
-
var sense = messageTable.extendedForwards ? !newestFirst : newestFirst; // noun_T-Block_1114657_000000.svg
|
|
3699
|
-
var scrollForwardIcon = messageTable["final"] ? 'noun_T-Block_1114657_000000.svg' : getScrollForwardButtonIcon(sense);
|
|
3700
|
-
scrollForwardButton.firstChild.setAttribute('src', _iconBase.icons.iconBase + scrollForwardIcon);
|
|
3701
|
-
function getScrollForwardButtonIcon(sense) {
|
|
3702
|
-
return !sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
|
|
3703
|
-
}
|
|
3704
|
-
}
|
|
3705
|
-
function scrollForwardButtonHandler(_x9) {
|
|
3706
|
-
return _scrollForwardButtonHandler.apply(this, arguments);
|
|
3707
|
-
} /// ///////////////////////
|
|
3708
|
-
/*
|
|
3709
|
-
options = options || {}
|
|
3710
|
-
options.authorDateOnLeft = true
|
|
3711
|
-
const newestFirst = options.newestFirst === '1' || options.newestFirst === true // hack for now
|
|
3712
|
-
const channelObject = new ChatChannel(chatChannel, options)
|
|
3713
|
-
const dateFolder = channelObject.dateFolder
|
|
3714
|
-
const div = dom.createElement('div')
|
|
3715
|
-
const statusArea = div.appendChild(dom.createElement('div'))
|
|
3716
|
-
const userContext = { dom, statusArea, div: statusArea } // logged on state, pointers to user's stuff
|
|
3717
|
-
*/
|
|
3718
|
-
function _scrollForwardButtonHandler() {
|
|
3719
|
-
_scrollForwardButtonHandler = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_event) {
|
|
3720
|
-
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
3721
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
3722
|
-
case 0:
|
|
3723
|
-
if (!messageTable.extendedForwards) {
|
|
3724
|
-
_context4.next = 6;
|
|
3725
|
-
break;
|
|
3867
|
+
var sense = messageTable.extendedBack ? !newestFirst : newestFirst;
|
|
3868
|
+
var scrollBackIcon = messageTable.initial ? 'noun_T-Block_1114655_000000.svg' : getScrollbackIcon(sense);
|
|
3869
|
+
scrollBackbutton.firstChild.setAttribute('src', _iconBase.icons.iconBase + scrollBackIcon);
|
|
3870
|
+
function getScrollbackIcon(sense) {
|
|
3871
|
+
return sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
|
|
3726
3872
|
}
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3873
|
+
};
|
|
3874
|
+
_extendBackwards = function _extendBackwards3() {
|
|
3875
|
+
_extendBackwards = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
3876
|
+
var done;
|
|
3877
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
3878
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
3879
|
+
case 0:
|
|
3880
|
+
_context6.next = 2;
|
|
3881
|
+
return insertPreviousMessages(true);
|
|
3882
|
+
case 2:
|
|
3883
|
+
done = _context6.sent;
|
|
3884
|
+
if (done) {
|
|
3885
|
+
if (scrollBackbutton) {
|
|
3886
|
+
scrollBackbutton.firstChild.setAttribute('src', _iconBase.icons.iconBase + 'noun_T-Block_1114655_000000.svg'); // T
|
|
3887
|
+
scrollBackbutton.disabled = true;
|
|
3888
|
+
}
|
|
3889
|
+
messageTable.initial = true;
|
|
3890
|
+
} else {
|
|
3891
|
+
messageTable.extendedBack = true;
|
|
3892
|
+
}
|
|
3893
|
+
setScrollBackbuttonIcon();
|
|
3894
|
+
return _context6.abrupt("return", done);
|
|
3895
|
+
case 6:
|
|
3896
|
+
case "end":
|
|
3897
|
+
return _context6.stop();
|
|
3898
|
+
}
|
|
3899
|
+
}, _callee6);
|
|
3900
|
+
}));
|
|
3901
|
+
return _extendBackwards.apply(this, arguments);
|
|
3902
|
+
};
|
|
3903
|
+
extendBackwards = function _extendBackwards2() {
|
|
3904
|
+
return _extendBackwards.apply(this, arguments);
|
|
3905
|
+
};
|
|
3906
|
+
scrollBackbutton = null; // was let
|
|
3907
|
+
scrollForwardButton = null; // was let
|
|
3908
|
+
/// ///////////////// Scroll down adding more above
|
|
3909
|
+
/// ////////////// Scroll up adding more below
|
|
3910
|
+
/// ///////////////////////
|
|
3911
|
+
/*
|
|
3912
|
+
options = options || {}
|
|
3913
|
+
options.authorDateOnLeft = true
|
|
3914
|
+
const newestFirst = options.newestFirst === '1' || options.newestFirst === true // hack for now
|
|
3915
|
+
const channelObject = new ChatChannel(chatChannel, options)
|
|
3916
|
+
const dateFolder = channelObject.dateFolder
|
|
3917
|
+
const div = dom.createElement('div')
|
|
3918
|
+
const statusArea = div.appendChild(dom.createElement('div'))
|
|
3919
|
+
const userContext = { dom, statusArea, div: statusArea } // logged on state, pointers to user's stuff
|
|
3920
|
+
*/
|
|
3921
|
+
debug.log('Options for called message Area', options);
|
|
3922
|
+
messageTable = dom.createElement('table');
|
|
3923
|
+
messageTable.style.width = '100%'; // fill the pane div
|
|
3924
|
+
messageTable.extendBackwards = extendBackwards; // Make function available to scroll stuff
|
|
3925
|
+
messageTable.extendForwards = extendForwards; // Make function available to scroll stuff
|
|
3768
3926
|
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
var dateCell = scrollBackbuttonTR.appendChild(dom.createElement('td'));
|
|
3785
|
-
dateCell.style = 'text-align: center; vertical-align: middle; color: #888; font-style: italic;';
|
|
3786
|
-
dateCell.textContent = widgets.shortDate(date.toISOString(), true); // no time, only date
|
|
3787
|
-
|
|
3788
|
-
// @@@@@@@@@@@ todo move this button to other end of message cell, o
|
|
3789
|
-
var scrollForwardButtonCell = scrollBackbuttonTR.appendChild(dom.createElement('td'));
|
|
3790
|
-
var scrollForwardIcon = newestFirst ? 'noun_1369241.svg' : 'noun_1369237.svg'; // down and up arrows respoctively
|
|
3791
|
-
scrollForwardButton = widgets.button(dom, _iconBase.icons.iconBase + scrollForwardIcon, 'Later messages ...');
|
|
3792
|
-
scrollForwardButtonCell.appendChild(scrollForwardButton);
|
|
3793
|
-
scrollForwardButtonCell.style = 'width:3em; height:3em;';
|
|
3794
|
-
scrollForwardButton.addEventListener('click', scrollForwardButtonHandler, false);
|
|
3795
|
-
messageTable.extendedForward = false;
|
|
3796
|
-
setScrollForwardButtonIcon();
|
|
3797
|
-
messageTable.extendedForwards = false;
|
|
3798
|
-
if (!newestFirst) {
|
|
3799
|
-
// opposite end from the entry field
|
|
3800
|
-
messageTable.insertBefore(scrollBackbuttonTR, messageTable.firstChild); // If not newestFirst
|
|
3801
|
-
} else {
|
|
3802
|
-
messageTable.appendChild(scrollBackbuttonTR); // newestFirst
|
|
3803
|
-
}
|
|
3804
|
-
}
|
|
3927
|
+
messageTable.date = date;
|
|
3928
|
+
chatDocument = dateFolder.leafDocumentFromDate(date);
|
|
3929
|
+
messageTable.chatDocument = chatDocument;
|
|
3930
|
+
messageTable.fresh = false;
|
|
3931
|
+
messageTable.setAttribute('style', 'width: 100%;'); // fill that div!
|
|
3932
|
+
if (live) {
|
|
3933
|
+
messageTable["final"] = true;
|
|
3934
|
+
liveMessageTable = messageTable;
|
|
3935
|
+
latest.messageTable = messageTable;
|
|
3936
|
+
tr = (0, _message.renderMessageEditor)(channelObject, messageTable, userContext, options);
|
|
3937
|
+
if (newestFirst) {
|
|
3938
|
+
messageTable.insertBefore(tr, messageTable.firstChild); // If newestFirst
|
|
3939
|
+
} else {
|
|
3940
|
+
messageTable.appendChild(tr); // not newestFirst
|
|
3941
|
+
}
|
|
3805
3942
|
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
// not todays
|
|
3809
|
-
// no need buttomns at the moment
|
|
3810
|
-
// messageTable.style.visibility = 'collapse' // Hide files with no messages
|
|
3811
|
-
}
|
|
3812
|
-
sts.forEach(function (st) {
|
|
3813
|
-
addMessage(st.object, messageTable);
|
|
3814
|
-
});
|
|
3815
|
-
messageTable.fresh = true;
|
|
3943
|
+
messageTable.inputRow = tr;
|
|
3944
|
+
}
|
|
3816
3945
|
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3946
|
+
/// ///// Infinite scroll
|
|
3947
|
+
//
|
|
3948
|
+
// @@ listen for swipe past end event not just button
|
|
3949
|
+
test = true;
|
|
3950
|
+
if (test) {
|
|
3951
|
+
// ws options.infinite but need for non-infinite
|
|
3952
|
+
titleTR = dom.createElement('tr');
|
|
3953
|
+
scrollBackbuttonCell = titleTR.appendChild(dom.createElement('td')); // up traingles: noun_1369237.svg
|
|
3954
|
+
// down triangles: noun_1369241.svg
|
|
3955
|
+
/*
|
|
3956
|
+
const scrollBackIcon = newestFirst
|
|
3957
|
+
? 'noun_1369241.svg'
|
|
3958
|
+
: 'noun_1369237.svg' // down and up arrows respoctively
|
|
3959
|
+
scrollBackbutton = widgets.button(
|
|
3960
|
+
dom,
|
|
3961
|
+
icons.iconBase + scrollBackIcon,
|
|
3962
|
+
'Previous messages ...'
|
|
3963
|
+
)
|
|
3964
|
+
scrollBackbuttonCell.style = 'width:3em; height:3em;'
|
|
3965
|
+
scrollBackbutton.addEventListener('click', scrollBackbuttonHandler, false)
|
|
3966
|
+
messageTable.extendedBack = false
|
|
3967
|
+
scrollBackbuttonCell.appendChild(scrollBackbutton)
|
|
3968
|
+
setScrollBackbuttonIcon()
|
|
3969
|
+
*/
|
|
3970
|
+
dateCell = titleTR.appendChild(dom.createElement('td'));
|
|
3971
|
+
dateCell.style = 'text-align: center; vertical-align: middle; color: #888; font-style: italic;';
|
|
3972
|
+
dateCell.textContent = widgets.shortDate(date.toISOString(), true); // no time, only date
|
|
3973
|
+
|
|
3974
|
+
// @@@@@@@@@@@ todo move this button to other end of message cell, o
|
|
3975
|
+
scrollForwardButtonCell = titleTR.appendChild(dom.createElement('td'));
|
|
3976
|
+
if (options.includeRemoveButton) {
|
|
3977
|
+
scrollForwardButtonCell.appendChild(widgets.cancelButton(dom, function (_e) {
|
|
3978
|
+
div.parentNode.removeChild(div);
|
|
3979
|
+
}));
|
|
3980
|
+
}
|
|
3981
|
+
/*
|
|
3982
|
+
const scrollForwardIcon = newestFirst
|
|
3983
|
+
? 'noun_1369241.svg'
|
|
3984
|
+
: 'noun_1369237.svg' // down and up arrows respoctively
|
|
3985
|
+
scrollForwardButton = widgets.button(
|
|
3986
|
+
dom,
|
|
3987
|
+
icons.iconBase + scrollForwardIcon,
|
|
3988
|
+
'Later messages ...'
|
|
3989
|
+
)
|
|
3990
|
+
scrollForwardButtonCell.appendChild(scrollForwardButton)
|
|
3991
|
+
scrollForwardButtonCell.style = 'width:3em; height:3em;'
|
|
3992
|
+
scrollForwardButton.addEventListener(
|
|
3993
|
+
'click',
|
|
3994
|
+
scrollForwardButtonHandler,
|
|
3995
|
+
false
|
|
3996
|
+
)
|
|
3997
|
+
messageTable.extendedForward = false
|
|
3998
|
+
setScrollForwardButtonIcon()
|
|
3999
|
+
*/
|
|
4000
|
+
messageTable.extendedForwards = false;
|
|
4001
|
+
if (!newestFirst) {
|
|
4002
|
+
// opposite end from the entry field
|
|
4003
|
+
messageTable.insertBefore(titleTR, messageTable.firstChild); // If not newestFirst
|
|
4004
|
+
} else {
|
|
4005
|
+
messageTable.appendChild(titleTR); // newestFirst
|
|
4006
|
+
}
|
|
4007
|
+
}
|
|
4008
|
+
sts = _solidLogic.store.statementsMatching(null, ns.wf('message'), null, chatDocument);
|
|
4009
|
+
if (!live && sts.length === 0) {
|
|
4010
|
+
// not todays
|
|
4011
|
+
// no need buttomns at the moment
|
|
4012
|
+
// messageTable.style.visibility = 'collapse' // Hide files with no messages
|
|
4013
|
+
}
|
|
4014
|
+
_iterator2 = _createForOfIteratorHelper(sts);
|
|
4015
|
+
_context9.prev = 26;
|
|
4016
|
+
_iterator2.s();
|
|
4017
|
+
case 28:
|
|
4018
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
4019
|
+
_context9.next = 34;
|
|
4020
|
+
break;
|
|
4021
|
+
}
|
|
4022
|
+
st = _step2.value;
|
|
4023
|
+
_context9.next = 32;
|
|
4024
|
+
return addMessage(st.object, messageTable);
|
|
4025
|
+
case 32:
|
|
4026
|
+
_context9.next = 28;
|
|
4027
|
+
break;
|
|
4028
|
+
case 34:
|
|
4029
|
+
_context9.next = 39;
|
|
4030
|
+
break;
|
|
4031
|
+
case 36:
|
|
4032
|
+
_context9.prev = 36;
|
|
4033
|
+
_context9.t0 = _context9["catch"](26);
|
|
4034
|
+
_iterator2.e(_context9.t0);
|
|
4035
|
+
case 39:
|
|
4036
|
+
_context9.prev = 39;
|
|
4037
|
+
_iterator2.f();
|
|
4038
|
+
return _context9.finish(39);
|
|
4039
|
+
case 42:
|
|
4040
|
+
messageTable.fresh = true;
|
|
4041
|
+
|
|
4042
|
+
// loadMessageTable(messageTable, chatDocument)
|
|
4043
|
+
messageTable.fresh = false;
|
|
4044
|
+
return _context9.abrupt("return", messageTable);
|
|
4045
|
+
case 45:
|
|
4046
|
+
case "end":
|
|
4047
|
+
return _context9.stop();
|
|
4048
|
+
}
|
|
4049
|
+
}, _callee9, null, [[26, 36, 39, 42]]);
|
|
4050
|
+
}));
|
|
4051
|
+
return _renderMessageTable.apply(this, arguments);
|
|
4052
|
+
};
|
|
4053
|
+
renderMessageTable = function _renderMessageTable2(_x18, _x19) {
|
|
4054
|
+
return _renderMessageTable.apply(this, arguments);
|
|
3820
4055
|
};
|
|
3821
4056
|
_createMessageTable = function _createMessageTable3() {
|
|
3822
|
-
_createMessageTable = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
4057
|
+
_createMessageTable = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(date, live) {
|
|
3823
4058
|
var chatDocument, messageTable, statusTR;
|
|
3824
|
-
return _regenerator["default"].wrap(function
|
|
3825
|
-
while (1) switch (
|
|
4059
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
4060
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
3826
4061
|
case 0:
|
|
3827
4062
|
debug.log(' createMessageTable for ' + date);
|
|
3828
4063
|
chatDocument = dateFolder.leafDocumentFromDate(date);
|
|
3829
|
-
|
|
3830
|
-
|
|
4064
|
+
_context5.prev = 2;
|
|
4065
|
+
_context5.next = 5;
|
|
3831
4066
|
return _solidLogic.store.fetcher.load(chatDocument);
|
|
3832
4067
|
case 5:
|
|
3833
|
-
|
|
4068
|
+
_context5.next = 21;
|
|
3834
4069
|
break;
|
|
3835
4070
|
case 7:
|
|
3836
|
-
|
|
3837
|
-
|
|
4071
|
+
_context5.prev = 7;
|
|
4072
|
+
_context5.t0 = _context5["catch"](2);
|
|
3838
4073
|
messageTable = dom.createElement('table');
|
|
3839
4074
|
statusTR = messageTable.appendChild(dom.createElement('tr')); // ### find status in exception
|
|
3840
|
-
if (!(
|
|
3841
|
-
|
|
4075
|
+
if (!(_context5.t0.response && _context5.t0.response.status && _context5.t0.response.status === 404)) {
|
|
4076
|
+
_context5.next = 18;
|
|
3842
4077
|
break;
|
|
3843
4078
|
}
|
|
3844
4079
|
debug.log('Error 404 for chat file ' + chatDocument);
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
4080
|
+
_context5.next = 15;
|
|
4081
|
+
return renderMessageTable(date, live);
|
|
4082
|
+
case 15:
|
|
4083
|
+
return _context5.abrupt("return", _context5.sent);
|
|
3849
4084
|
case 18:
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
return _context6.abrupt("return", renderMessageTable(date, live));
|
|
4085
|
+
debug.log('*** Error NON 404 for chat file ' + chatDocument);
|
|
4086
|
+
statusTR.appendChild(widgets.errorMessageBlock(dom, _context5.t0, 'pink'));
|
|
3853
4087
|
case 20:
|
|
4088
|
+
return _context5.abrupt("return", statusTR);
|
|
4089
|
+
case 21:
|
|
4090
|
+
_context5.next = 23;
|
|
4091
|
+
return renderMessageTable(date, live);
|
|
4092
|
+
case 23:
|
|
4093
|
+
return _context5.abrupt("return", _context5.sent);
|
|
4094
|
+
case 24:
|
|
3854
4095
|
case "end":
|
|
3855
|
-
return
|
|
4096
|
+
return _context5.stop();
|
|
3856
4097
|
}
|
|
3857
|
-
},
|
|
4098
|
+
}, _callee5, null, [[2, 7]]);
|
|
3858
4099
|
}));
|
|
3859
4100
|
return _createMessageTable.apply(this, arguments);
|
|
3860
4101
|
};
|
|
3861
|
-
createMessageTable = function _createMessageTable2(
|
|
4102
|
+
createMessageTable = function _createMessageTable2(_x16, _x17) {
|
|
3862
4103
|
return _createMessageTable.apply(this, arguments);
|
|
3863
4104
|
};
|
|
3864
4105
|
removePreviousMessages = function _removePreviousMessag(backwards, messageTable) {
|
|
@@ -3877,32 +4118,48 @@ function _infiniteMessageArea() {
|
|
|
3877
4118
|
extr.messageTable = messageTable;
|
|
3878
4119
|
};
|
|
3879
4120
|
_insertPreviousMessages = function _insertPreviousMessag2() {
|
|
3880
|
-
_insertPreviousMessages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
4121
|
+
_insertPreviousMessages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(backwards) {
|
|
3881
4122
|
var extremity, date, live, todayDoc, doc, newMessageTable;
|
|
3882
|
-
return _regenerator["default"].wrap(function
|
|
3883
|
-
while (1) switch (
|
|
4123
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
4124
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
3884
4125
|
case 0:
|
|
3885
4126
|
extremity = backwards ? earliest : latest;
|
|
3886
4127
|
date = extremity.messageTable.date; // day in mssecs
|
|
3887
|
-
|
|
4128
|
+
// Are we at the top of a thread?
|
|
4129
|
+
if (!(backwards && earliest.limit && date <= earliest.limit)) {
|
|
4130
|
+
_context4.next = 7;
|
|
4131
|
+
break;
|
|
4132
|
+
}
|
|
4133
|
+
if (liveMessageTable) {
|
|
4134
|
+
_context4.next = 6;
|
|
4135
|
+
break;
|
|
4136
|
+
}
|
|
4137
|
+
_context4.next = 6;
|
|
4138
|
+
return appendCurrentMessages();
|
|
4139
|
+
case 6:
|
|
4140
|
+
return _context4.abrupt("return", true);
|
|
4141
|
+
case 7:
|
|
4142
|
+
debug.log(' insertPreviousMessages: loadPrevious given date ' + date);
|
|
4143
|
+
_context4.next = 10;
|
|
3888
4144
|
return dateFolder.loadPrevious(date, backwards);
|
|
3889
|
-
case
|
|
3890
|
-
date =
|
|
4145
|
+
case 10:
|
|
4146
|
+
date = _context4.sent;
|
|
3891
4147
|
// backwards
|
|
4148
|
+
debug.log(' insertPreviousMessages: loadPrevious returns date ' + date);
|
|
3892
4149
|
debug.log("insertPreviousMessages: from ".concat(backwards ? 'backwards' : 'forwards', " loadPrevious: ").concat(date));
|
|
3893
4150
|
if (!(!date && !backwards && !liveMessageTable)) {
|
|
3894
|
-
|
|
4151
|
+
_context4.next = 16;
|
|
3895
4152
|
break;
|
|
3896
4153
|
}
|
|
3897
|
-
|
|
4154
|
+
_context4.next = 16;
|
|
3898
4155
|
return appendCurrentMessages();
|
|
3899
|
-
case
|
|
4156
|
+
case 16:
|
|
3900
4157
|
if (date) {
|
|
3901
|
-
|
|
4158
|
+
_context4.next = 18;
|
|
3902
4159
|
break;
|
|
3903
4160
|
}
|
|
3904
|
-
return
|
|
3905
|
-
case
|
|
4161
|
+
return _context4.abrupt("return", true);
|
|
4162
|
+
case 18:
|
|
3906
4163
|
// done
|
|
3907
4164
|
live = false;
|
|
3908
4165
|
if (!backwards) {
|
|
@@ -3910,10 +4167,10 @@ function _infiniteMessageArea() {
|
|
|
3910
4167
|
doc = dateFolder.leafDocumentFromDate(date);
|
|
3911
4168
|
live = doc.sameTerm(todayDoc); // Is this todays?
|
|
3912
4169
|
}
|
|
3913
|
-
|
|
4170
|
+
_context4.next = 22;
|
|
3914
4171
|
return createMessageTable(date, live);
|
|
3915
|
-
case
|
|
3916
|
-
newMessageTable =
|
|
4172
|
+
case 22:
|
|
4173
|
+
newMessageTable = _context4.sent;
|
|
3917
4174
|
extremity.messageTable = newMessageTable; // move pointer to earliest
|
|
3918
4175
|
if (backwards ? newestFirst : !newestFirst) {
|
|
3919
4176
|
// put on bottom or top
|
|
@@ -3922,64 +4179,181 @@ function _infiniteMessageArea() {
|
|
|
3922
4179
|
// put on top as we scroll back
|
|
3923
4180
|
div.insertBefore(newMessageTable, div.firstChild);
|
|
3924
4181
|
}
|
|
3925
|
-
return
|
|
3926
|
-
case
|
|
4182
|
+
return _context4.abrupt("return", live);
|
|
4183
|
+
case 26:
|
|
3927
4184
|
case "end":
|
|
3928
|
-
return
|
|
4185
|
+
return _context4.stop();
|
|
3929
4186
|
}
|
|
3930
|
-
},
|
|
4187
|
+
}, _callee4);
|
|
3931
4188
|
}));
|
|
3932
4189
|
return _insertPreviousMessages.apply(this, arguments);
|
|
3933
4190
|
};
|
|
3934
|
-
insertPreviousMessages = function _insertPreviousMessag(
|
|
4191
|
+
insertPreviousMessages = function _insertPreviousMessag(_x15) {
|
|
3935
4192
|
return _insertPreviousMessages.apply(this, arguments);
|
|
3936
4193
|
};
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
4194
|
+
_addMessage = function _addMessage3() {
|
|
4195
|
+
_addMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(message, messageTable) {
|
|
4196
|
+
var thread, id;
|
|
4197
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
4198
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
4199
|
+
case 0:
|
|
4200
|
+
if (!((0, _chatLogic.isDeleted)(message) && !options.showDeletedMessages)) {
|
|
4201
|
+
_context3.next = 2;
|
|
4202
|
+
break;
|
|
4203
|
+
}
|
|
4204
|
+
return _context3.abrupt("return");
|
|
4205
|
+
case 2:
|
|
4206
|
+
/* if (isReplaced(message)) { //
|
|
4207
|
+
return // this is old version
|
|
4208
|
+
} */
|
|
4209
|
+
thread = _solidLogic.store.any(null, ns.sioc('has_member'), message, message.doc());
|
|
4210
|
+
id = _solidLogic.store.any(message, ns.sioc('id'), null, message.doc());
|
|
4211
|
+
if (id && !thread) {
|
|
4212
|
+
thread = _solidLogic.store.any(null, ns.sioc('has_member'), id, message.doc());
|
|
4213
|
+
}
|
|
4214
|
+
if (!options.thread) {
|
|
4215
|
+
_context3.next = 18;
|
|
4216
|
+
break;
|
|
4217
|
+
}
|
|
4218
|
+
if (!_solidLogic.store.holds(message, ns.sioc('has_reply'), options.thread)) {
|
|
4219
|
+
_context3.next = 10;
|
|
4220
|
+
break;
|
|
4221
|
+
}
|
|
4222
|
+
// root of thread
|
|
4223
|
+
debug.log(' addMessage: displaying root of thread ' + thread);
|
|
4224
|
+
_context3.next = 16;
|
|
4225
|
+
break;
|
|
4226
|
+
case 10:
|
|
4227
|
+
if (!(thread && thread.sameTerm(options.thread))) {
|
|
4228
|
+
_context3.next = 14;
|
|
4229
|
+
break;
|
|
4230
|
+
}
|
|
4231
|
+
debug.log(' addMessage: Displaying body of thread ' + message.uri.slice(-10));
|
|
4232
|
+
_context3.next = 16;
|
|
4233
|
+
break;
|
|
4234
|
+
case 14:
|
|
4235
|
+
debug.log(' addMessage: Suppress non-thread message in thread table ' + message.uri.slice(-10));
|
|
4236
|
+
return _context3.abrupt("return");
|
|
4237
|
+
case 16:
|
|
4238
|
+
_context3.next = 24;
|
|
4239
|
+
break;
|
|
4240
|
+
case 18:
|
|
4241
|
+
if (!thread) {
|
|
4242
|
+
_context3.next = 23;
|
|
4243
|
+
break;
|
|
4244
|
+
}
|
|
4245
|
+
debug.log(' addMessage: Suppress thread message in non-thread table ' + message.uri.slice(-10));
|
|
4246
|
+
return _context3.abrupt("return");
|
|
4247
|
+
case 23:
|
|
4248
|
+
debug.log(' addMessage: Normal non-thread message in non-thread table ' + message.uri.slice(-10));
|
|
4249
|
+
case 24:
|
|
4250
|
+
_context3.next = 26;
|
|
4251
|
+
return insertMessageIntoTable(channelObject, messageTable, message, messageTable.fresh, options, userContext);
|
|
4252
|
+
case 26:
|
|
4253
|
+
case "end":
|
|
4254
|
+
return _context3.stop();
|
|
4255
|
+
}
|
|
4256
|
+
}, _callee3);
|
|
4257
|
+
}));
|
|
4258
|
+
return _addMessage.apply(this, arguments);
|
|
3945
4259
|
};
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
var ele, ele2;
|
|
3949
|
-
for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {
|
|
3950
|
-
if (ele.AJAR_subject) {
|
|
3951
|
-
displayed[ele.AJAR_subject.uri] = true;
|
|
3952
|
-
}
|
|
3953
|
-
}
|
|
3954
|
-
var messages = _solidLogic.store.statementsMatching(about, ns.wf('message'), null, messageTable.chatDocument).map(function (st) {
|
|
3955
|
-
return st.object;
|
|
3956
|
-
});
|
|
3957
|
-
var stored = {};
|
|
3958
|
-
messages.forEach(function (m) {
|
|
3959
|
-
stored[m.uri] = true;
|
|
3960
|
-
if (!displayed[m.uri]) {
|
|
3961
|
-
addMessage(m, messageTable);
|
|
3962
|
-
}
|
|
3963
|
-
});
|
|
3964
|
-
|
|
3965
|
-
// eslint-disable-next-line space-in-parens
|
|
3966
|
-
for (ele = messageTable.firstChild; ele;) {
|
|
3967
|
-
ele2 = ele.nextSibling;
|
|
3968
|
-
if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {
|
|
3969
|
-
messageTable.removeChild(ele);
|
|
3970
|
-
}
|
|
3971
|
-
ele = ele2;
|
|
3972
|
-
}
|
|
3973
|
-
for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {
|
|
3974
|
-
if (ele.AJAR_subject) {
|
|
3975
|
-
// Refresh thumbs up etc
|
|
3976
|
-
widgets.refreshTree(ele); // Things inside may have changed too
|
|
3977
|
-
}
|
|
3978
|
-
}
|
|
4260
|
+
addMessage = function _addMessage2(_x13, _x14) {
|
|
4261
|
+
return _addMessage.apply(this, arguments);
|
|
3979
4262
|
};
|
|
3980
|
-
|
|
4263
|
+
_syncMessages = function _syncMessages3() {
|
|
4264
|
+
_syncMessages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(chatChannel, messageTable) {
|
|
4265
|
+
var displayed, ele, ele2, messages, stored, _iterator, _step, m;
|
|
4266
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
4267
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
4268
|
+
case 0:
|
|
4269
|
+
displayed = {};
|
|
4270
|
+
for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {
|
|
4271
|
+
if (ele.AJAR_subject) {
|
|
4272
|
+
displayed[ele.AJAR_subject.uri] = true;
|
|
4273
|
+
}
|
|
4274
|
+
}
|
|
4275
|
+
messages = _solidLogic.store.each(chatChannel, ns.wf('message'), null, messageTable.chatDocument);
|
|
4276
|
+
stored = {};
|
|
4277
|
+
_iterator = _createForOfIteratorHelper(messages);
|
|
4278
|
+
_context2.prev = 5;
|
|
4279
|
+
_iterator.s();
|
|
4280
|
+
case 7:
|
|
4281
|
+
if ((_step = _iterator.n()).done) {
|
|
4282
|
+
_context2.next = 15;
|
|
4283
|
+
break;
|
|
4284
|
+
}
|
|
4285
|
+
m = _step.value;
|
|
4286
|
+
stored[m.uri] = true;
|
|
4287
|
+
if (displayed[m.uri]) {
|
|
4288
|
+
_context2.next = 13;
|
|
4289
|
+
break;
|
|
4290
|
+
}
|
|
4291
|
+
_context2.next = 13;
|
|
4292
|
+
return addMessage(m, messageTable);
|
|
4293
|
+
case 13:
|
|
4294
|
+
_context2.next = 7;
|
|
4295
|
+
break;
|
|
4296
|
+
case 15:
|
|
4297
|
+
_context2.next = 20;
|
|
4298
|
+
break;
|
|
4299
|
+
case 17:
|
|
4300
|
+
_context2.prev = 17;
|
|
4301
|
+
_context2.t0 = _context2["catch"](5);
|
|
4302
|
+
_iterator.e(_context2.t0);
|
|
4303
|
+
case 20:
|
|
4304
|
+
_context2.prev = 20;
|
|
4305
|
+
_iterator.f();
|
|
4306
|
+
return _context2.finish(20);
|
|
4307
|
+
case 23:
|
|
4308
|
+
// eslint-disable-next-line space-in-parens
|
|
4309
|
+
for (ele = messageTable.firstChild; ele;) {
|
|
4310
|
+
ele2 = ele.nextSibling;
|
|
4311
|
+
if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {
|
|
4312
|
+
messageTable.removeChild(ele);
|
|
4313
|
+
}
|
|
4314
|
+
ele = ele2;
|
|
4315
|
+
}
|
|
4316
|
+
for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {
|
|
4317
|
+
if (ele.AJAR_subject) {
|
|
4318
|
+
// Refresh thumbs up etc
|
|
4319
|
+
widgets.refreshTree(ele); // Things inside may have changed too
|
|
4320
|
+
}
|
|
4321
|
+
}
|
|
4322
|
+
case 25:
|
|
4323
|
+
case "end":
|
|
4324
|
+
return _context2.stop();
|
|
4325
|
+
}
|
|
4326
|
+
}, _callee2, null, [[5, 17, 20, 23]]);
|
|
4327
|
+
}));
|
|
4328
|
+
return _syncMessages.apply(this, arguments);
|
|
4329
|
+
};
|
|
4330
|
+
syncMessages = function _syncMessages2(_x11, _x12) {
|
|
4331
|
+
return _syncMessages.apply(this, arguments);
|
|
4332
|
+
}; // ///////////////////////////////////////////////////////////////////////
|
|
4333
|
+
// syncMessages
|
|
4334
|
+
// Called once per original message displayed
|
|
4335
|
+
/* Add a new messageTable at the top/bottom
|
|
4336
|
+
*/
|
|
4337
|
+
/* Remove message tables earlier than this one
|
|
4338
|
+
*/
|
|
4339
|
+
/* Load and render message table
|
|
4340
|
+
** @returns DOM element generates
|
|
4341
|
+
*/
|
|
4342
|
+
// renderMessageTable
|
|
4343
|
+
/*
|
|
4344
|
+
function messageCount () {
|
|
4345
|
+
var n = 0
|
|
4346
|
+
const tables = div.children
|
|
4347
|
+
for (let i = 0; i < tables.length; i++) {
|
|
4348
|
+
n += tables[i].children.length - 1
|
|
4349
|
+
// debug.log(' table length:' + tables[i].children.length)
|
|
4350
|
+
}
|
|
4351
|
+
return n
|
|
4352
|
+
}
|
|
4353
|
+
*/
|
|
4354
|
+
/* Add the live message block with entry field for today
|
|
4355
|
+
*/
|
|
3981
4356
|
// Body of main function
|
|
3982
|
-
|
|
3983
4357
|
options = options || {};
|
|
3984
4358
|
options.authorDateOnLeft = false; // @@ make a user optiosn
|
|
3985
4359
|
newestFirst = options.newestFirst === '1' || options.newestFirst === true; // hack for now
|
|
@@ -3993,23 +4367,33 @@ function _infiniteMessageArea() {
|
|
|
3993
4367
|
statusArea: statusArea,
|
|
3994
4368
|
div: statusArea
|
|
3995
4369
|
}; // logged on state, pointers to user's stuff
|
|
3996
|
-
// const messageTable = dom.createElement('table') // @@ check does this go in renderMessageTable
|
|
3997
4370
|
earliest = {
|
|
3998
4371
|
messageTable: null
|
|
3999
4372
|
}; // Stuff about each end of the loaded days
|
|
4000
4373
|
latest = {
|
|
4001
4374
|
messageTable: null
|
|
4002
4375
|
};
|
|
4376
|
+
if (options.thread) {
|
|
4377
|
+
thread = options.thread;
|
|
4378
|
+
threadRootMessage = _solidLogic.store.any(null, ns.sioc('has_reply'), thread, thread.doc());
|
|
4379
|
+
if (threadRootMessage) {
|
|
4380
|
+
threadTime = _solidLogic.store.any(threadRootMessage, ns.dct('created'), null, threadRootMessage.doc());
|
|
4381
|
+
if (threadTime) {
|
|
4382
|
+
earliest.limit = new Date(threadTime.value);
|
|
4383
|
+
debug.log(' inifinite: thread start at ' + earliest.limit);
|
|
4384
|
+
}
|
|
4385
|
+
}
|
|
4386
|
+
}
|
|
4003
4387
|
lock = false;
|
|
4004
|
-
|
|
4388
|
+
_context15.next = 34;
|
|
4005
4389
|
return loadInitialContent();
|
|
4006
|
-
case
|
|
4007
|
-
return
|
|
4008
|
-
case
|
|
4390
|
+
case 34:
|
|
4391
|
+
return _context15.abrupt("return", div);
|
|
4392
|
+
case 35:
|
|
4009
4393
|
case "end":
|
|
4010
|
-
return
|
|
4394
|
+
return _context15.stop();
|
|
4011
4395
|
}
|
|
4012
|
-
},
|
|
4396
|
+
}, _callee15);
|
|
4013
4397
|
}));
|
|
4014
4398
|
return _infiniteMessageArea.apply(this, arguments);
|
|
4015
4399
|
}
|
|
@@ -4040,7 +4424,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/r
|
|
|
4040
4424
|
var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
|
|
4041
4425
|
var _secp256k = __webpack_require__(/*! @noble/curves/secp256k1 */ "./node_modules/@noble/curves/secp256k1.js");
|
|
4042
4426
|
var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@noble/hashes/utils.js");
|
|
4043
|
-
var
|
|
4427
|
+
var ns = _interopRequireWildcard(__webpack_require__(/*! ../ns */ "./lib/ns.js"));
|
|
4044
4428
|
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
4045
4429
|
var $rdf = _interopRequireWildcard(__webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/index.js"));
|
|
4046
4430
|
var _accessData = __webpack_require__(/*! ../utils/keyHelpers/accessData */ "./lib/utils/keyHelpers/accessData.js");
|
|
@@ -4082,7 +4466,7 @@ function _getPublicKey() {
|
|
|
4082
4466
|
return _solidLogic.store.fetcher.load(publicKeyDoc);
|
|
4083
4467
|
case 8:
|
|
4084
4468
|
// url.href)
|
|
4085
|
-
key = _solidLogic.store.any(webId,
|
|
4469
|
+
key = _solidLogic.store.any(webId, ns.solid('publicKey'));
|
|
4086
4470
|
return _context2.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
|
|
4087
4471
|
case 12:
|
|
4088
4472
|
_context2.prev = 12;
|
|
@@ -4136,14 +4520,14 @@ function _getPrivateKey() {
|
|
|
4136
4520
|
break;
|
|
4137
4521
|
}
|
|
4138
4522
|
del = [];
|
|
4139
|
-
add = [];
|
|
4523
|
+
add = [];
|
|
4140
4524
|
if (privateKey) {
|
|
4141
4525
|
_context3.next = 24;
|
|
4142
4526
|
break;
|
|
4143
4527
|
}
|
|
4144
4528
|
// add = []
|
|
4145
4529
|
privateKey = generatePrivateKey();
|
|
4146
|
-
add = [$rdf.st(webId,
|
|
4530
|
+
add = [$rdf.st(webId, ns.solid('privateKey'), $rdf.literal(privateKey), _solidLogic.store.sym(privateKeyDoc))];
|
|
4147
4531
|
_context3.next = 24;
|
|
4148
4532
|
return saveKey(privateKeyDoc, [], add, webId.uri);
|
|
4149
4533
|
case 24:
|
|
@@ -4154,12 +4538,12 @@ function _getPrivateKey() {
|
|
|
4154
4538
|
del = [];
|
|
4155
4539
|
// delete invalid public key
|
|
4156
4540
|
if (publicKey) {
|
|
4157
|
-
del = [$rdf.st(webId,
|
|
4541
|
+
del = [$rdf.st(webId, ns.solid('publicKey'), $rdf.lit(publicKey), _solidLogic.store.sym(publicKeyDoc))];
|
|
4158
4542
|
debug.log(del);
|
|
4159
4543
|
}
|
|
4160
4544
|
// update new valid key
|
|
4161
4545
|
newPublicKey = generatePublicKey(privateKey);
|
|
4162
|
-
add = [$rdf.st(webId,
|
|
4546
|
+
add = [$rdf.st(webId, ns.solid('publicKey'), $rdf.literal(newPublicKey), _solidLogic.store.sym(publicKeyDoc))];
|
|
4163
4547
|
_context3.next = 31;
|
|
4164
4548
|
return saveKey(publicKeyDoc, del, add);
|
|
4165
4549
|
case 31:
|
|
@@ -4176,7 +4560,7 @@ function _getPrivateKey() {
|
|
|
4176
4560
|
}));
|
|
4177
4561
|
return _getPrivateKey.apply(this, arguments);
|
|
4178
4562
|
}
|
|
4179
|
-
var
|
|
4563
|
+
var deleteKeyAcl = /*#__PURE__*/function () {
|
|
4180
4564
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc) {
|
|
4181
4565
|
var keyAclDoc, response;
|
|
4182
4566
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
@@ -4215,7 +4599,7 @@ var deleteKey = /*#__PURE__*/function () {
|
|
|
4215
4599
|
}
|
|
4216
4600
|
}, _callee, null, [[4, 11]]);
|
|
4217
4601
|
}));
|
|
4218
|
-
return function
|
|
4602
|
+
return function deleteKeyAcl(_x3) {
|
|
4219
4603
|
return _ref.apply(this, arguments);
|
|
4220
4604
|
};
|
|
4221
4605
|
}();
|
|
@@ -4237,7 +4621,7 @@ function _saveKey() {
|
|
|
4237
4621
|
while (1) switch (_context4.prev = _context4.next) {
|
|
4238
4622
|
case 0:
|
|
4239
4623
|
_context4.next = 2;
|
|
4240
|
-
return
|
|
4624
|
+
return deleteKeyAcl(keyDoc);
|
|
4241
4625
|
case 2:
|
|
4242
4626
|
_context4.next = 4;
|
|
4243
4627
|
return _solidLogic.store.updater.updateMany(del, add);
|
|
@@ -4281,6 +4665,7 @@ exports.renderMessageEditor = renderMessageEditor;
|
|
|
4281
4665
|
exports.renderMessageRow = renderMessageRow;
|
|
4282
4666
|
exports.switchToEditor = switchToEditor;
|
|
4283
4667
|
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
4668
|
+
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js"));
|
|
4284
4669
|
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
4285
4670
|
var _infinite = __webpack_require__(/*! ./infinite */ "./lib/chat/infinite.js");
|
|
4286
4671
|
var _messageTools = __webpack_require__(/*! ./messageTools */ "./lib/chat/messageTools.js");
|
|
@@ -4300,15 +4685,24 @@ var _signature = __webpack_require__(/*! ./signature */ "./lib/chat/signature.js
|
|
|
4300
4685
|
var _keys = __webpack_require__(/*! ./keys */ "./lib/chat/keys.js");
|
|
4301
4686
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
4302
4687
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
4303
|
-
function
|
|
4688
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4689
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4690
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
4304
4691
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4305
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
4692
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /** UI code for individual messages: display them, edit them
|
|
4693
|
+
*
|
|
4694
|
+
* @packageDocumentation
|
|
4695
|
+
*/ /* global $rdf */
|
|
4306
4696
|
var dom = window.document;
|
|
4307
4697
|
var messageBodyStyle = style.messageBodyStyle;
|
|
4308
4698
|
var label = utils.label;
|
|
4309
4699
|
|
|
4310
4700
|
/**
|
|
4701
|
+
* elementForImageURI
|
|
4311
4702
|
* HTML component for an image
|
|
4703
|
+
* @param imageUri
|
|
4704
|
+
* @param options { inlineImageHeightEms }
|
|
4705
|
+
* @returns HTMLAnchorElement For Image
|
|
4312
4706
|
*/
|
|
4313
4707
|
function elementForImageURI(imageUri, options) {
|
|
4314
4708
|
var img = dom.createElement('img');
|
|
@@ -4338,21 +4732,27 @@ var anchor = function anchor(text, term) {
|
|
|
4338
4732
|
a.textContent = text;
|
|
4339
4733
|
return a;
|
|
4340
4734
|
};
|
|
4341
|
-
function
|
|
4735
|
+
function nickname(person) {
|
|
4342
4736
|
var s = _solidLogic.store.any(person, ns.foaf('nick'));
|
|
4343
4737
|
if (s) return '' + s.value;
|
|
4344
4738
|
return '' + label(person);
|
|
4345
4739
|
}
|
|
4346
4740
|
|
|
4347
4741
|
/**
|
|
4742
|
+
* creatorAndDate
|
|
4348
4743
|
* Displays creator and date for a chat message
|
|
4349
4744
|
* inside the `td1` element
|
|
4745
|
+
* @param td1
|
|
4746
|
+
* @param creator
|
|
4747
|
+
* @param date
|
|
4748
|
+
* @param message
|
|
4749
|
+
* @returns HTMLAnchorElement For Image
|
|
4350
4750
|
*/
|
|
4351
4751
|
function creatorAndDate(td1, creator, date, message) {
|
|
4352
|
-
var nickAnchor = td1.appendChild(anchor(
|
|
4752
|
+
var nickAnchor = td1.appendChild(anchor(nickname(creator), creator));
|
|
4353
4753
|
if (creator.uri) {
|
|
4354
4754
|
_solidLogic.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (_ok, _body) {
|
|
4355
|
-
nickAnchor.textContent =
|
|
4755
|
+
nickAnchor.textContent = nickname(creator);
|
|
4356
4756
|
});
|
|
4357
4757
|
}
|
|
4358
4758
|
td1.appendChild(dom.createElement('br'));
|
|
@@ -4360,14 +4760,20 @@ function creatorAndDate(td1, creator, date, message) {
|
|
|
4360
4760
|
}
|
|
4361
4761
|
|
|
4362
4762
|
/**
|
|
4763
|
+
* creatorAndDateHorizontal
|
|
4363
4764
|
* Horizontally displays creator and date for a chat message
|
|
4364
4765
|
* inside the `td1` element
|
|
4766
|
+
* @param td1
|
|
4767
|
+
* @param creator
|
|
4768
|
+
* @param date
|
|
4769
|
+
* @param message
|
|
4770
|
+
* @returns HTMLAnchorElement For Image
|
|
4365
4771
|
*/
|
|
4366
4772
|
function creatorAndDateHorizontal(td1, creator, date, message) {
|
|
4367
4773
|
var nickAnchor = td1.appendChild(anchor(label(creator), creator));
|
|
4368
4774
|
if (creator.uri) {
|
|
4369
4775
|
_solidLogic.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (_ok, _body) {
|
|
4370
|
-
nickAnchor.textContent =
|
|
4776
|
+
nickAnchor.textContent = nickname(creator);
|
|
4371
4777
|
});
|
|
4372
4778
|
}
|
|
4373
4779
|
var dateBit = td1.appendChild(anchor(date, message));
|
|
@@ -4377,156 +4783,284 @@ function creatorAndDateHorizontal(td1, creator, date, message) {
|
|
|
4377
4783
|
}
|
|
4378
4784
|
|
|
4379
4785
|
/**
|
|
4786
|
+
* renderMessageRow
|
|
4380
4787
|
* Renders a chat message, read-only mode
|
|
4788
|
+
* @param channelObject
|
|
4789
|
+
* @param message
|
|
4790
|
+
* @param fresh
|
|
4791
|
+
* @param options
|
|
4792
|
+
* @param userContext
|
|
4793
|
+
* @returns Message Row HTML Table Element
|
|
4381
4794
|
*/
|
|
4382
|
-
function renderMessageRow(
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4795
|
+
function renderMessageRow(_x, _x2, _x3, _x4, _x5) {
|
|
4796
|
+
return _renderMessageRow.apply(this, arguments);
|
|
4797
|
+
} // END OF RENDERMESSAGE
|
|
4798
|
+
function _renderMessageRow() {
|
|
4799
|
+
_renderMessageRow = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(channelObject, message, fresh, options, userContext) {
|
|
4800
|
+
var unsignedMessage, colorizeByAuthor, creator, date, latestVersion, latestVersionCreator, msgId, content, versions, replies, thread, straightReplies, _iterator2, _step2, reply, signature, msg, originalMessage, edited, sortDate, messageRow, td1, img, bothDates, td2, text, isURI, para, isImage, _img, anc, bgcolor, getBgColor, strip, td3, toolsButton;
|
|
4801
|
+
return _regenerator["default"].wrap(function _callee9$(_context10) {
|
|
4802
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
4803
|
+
case 0:
|
|
4804
|
+
getBgColor = function _getBgColor(fresh) {
|
|
4805
|
+
return fresh ? '#e8ffe8' : 'white';
|
|
4806
|
+
};
|
|
4807
|
+
unsignedMessage = false;
|
|
4808
|
+
colorizeByAuthor = options.colorizeByAuthor === '1' || options.colorizeByAuthor === true; // const id = store.any(latestVersion, ns.sioc('id'))
|
|
4809
|
+
// const replies = store.each(latestVersion, ns.sioc('has_reply'))
|
|
4810
|
+
creator = _solidLogic.store.any(message, ns.foaf('maker'));
|
|
4811
|
+
date = _solidLogic.store.any(message, ns.dct('created'));
|
|
4812
|
+
_context10.next = 7;
|
|
4813
|
+
return (0, _chatLogic.mostRecentVersion)(message);
|
|
4814
|
+
case 7:
|
|
4815
|
+
latestVersion = _context10.sent;
|
|
4816
|
+
debug.log('@@@@ alain mostRecentVersion');
|
|
4817
|
+
debug.log(message);
|
|
4818
|
+
debug.log(latestVersion);
|
|
4819
|
+
latestVersionCreator = _solidLogic.store.any(latestVersion, ns.foaf('maker')); // use latest content if same owner, else use original
|
|
4820
|
+
// this is may be too strict. Should we find latest valid version if any ?
|
|
4821
|
+
debug.log('@@@@ alain creator');
|
|
4822
|
+
debug.log(creator);
|
|
4823
|
+
debug.log(latestVersionCreator);
|
|
4824
|
+
msgId = creator.uri === (latestVersionCreator === null || latestVersionCreator === void 0 ? void 0 : latestVersionCreator.uri) ? latestVersion : message;
|
|
4825
|
+
content = _solidLogic.store.any(msgId, ns.sioc('content'));
|
|
4826
|
+
_context10.next = 19;
|
|
4827
|
+
return (0, _chatLogic.allVersions)(msgId);
|
|
4828
|
+
case 19:
|
|
4829
|
+
versions = _context10.sent;
|
|
4830
|
+
if (versions.length > 1) {
|
|
4831
|
+
debug.log('renderMessageRow versions: ', versions.join(', '));
|
|
4832
|
+
}
|
|
4833
|
+
// be tolerant in accepting replies on any version of a message
|
|
4834
|
+
replies = versions.map(function (version) {
|
|
4835
|
+
return _solidLogic.store.each(version, ns.sioc('has_reply'));
|
|
4836
|
+
}).flat();
|
|
4837
|
+
thread = null;
|
|
4838
|
+
straightReplies = [];
|
|
4839
|
+
_iterator2 = _createForOfIteratorHelper(replies);
|
|
4840
|
+
try {
|
|
4841
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
4842
|
+
reply = _step2.value;
|
|
4843
|
+
if (_solidLogic.store.holds(reply, ns.rdf('type'), ns.sioc('Thread'))) {
|
|
4844
|
+
thread = reply;
|
|
4845
|
+
debug.log('renderMessageRow: found thread: ' + thread);
|
|
4846
|
+
} else {
|
|
4847
|
+
straightReplies.push(reply);
|
|
4848
|
+
}
|
|
4849
|
+
}
|
|
4850
|
+
} catch (err) {
|
|
4851
|
+
_iterator2.e(err);
|
|
4852
|
+
} finally {
|
|
4853
|
+
_iterator2.f();
|
|
4854
|
+
}
|
|
4855
|
+
if (straightReplies.length > 1) {
|
|
4856
|
+
debug.log('renderMessageRow: found normal replies: ', straightReplies);
|
|
4857
|
+
}
|
|
4858
|
+
debug.log('@@@@ is thread');
|
|
4859
|
+
if (!thread) {
|
|
4860
|
+
// thread = store.any(message, ns.sioc('has_reply'))
|
|
4861
|
+
thread = _solidLogic.store.any(null, ns.sioc('has_member'), message);
|
|
4862
|
+
}
|
|
4863
|
+
// get signature
|
|
4864
|
+
signature = _solidLogic.store.any(msgId, $rdf.sym("".concat(_signature.SEC, "proofValue"))); // set proof message object
|
|
4865
|
+
msg = (0, _signature.getBlankMsg)();
|
|
4866
|
+
msg.id = msgId.uri;
|
|
4867
|
+
msg.created = _solidLogic.store.any(msgId, ns.dct('created')).value;
|
|
4868
|
+
msg.content = content.value;
|
|
4869
|
+
msg.maker = creator.uri;
|
|
4870
|
+
|
|
4871
|
+
// verify signature
|
|
4872
|
+
if (!(signature !== null && signature !== void 0 && signature.value)) {
|
|
4873
|
+
// unsigned message
|
|
4874
|
+
unsignedMessage = true;
|
|
4875
|
+
debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
|
|
4876
|
+
} else {
|
|
4877
|
+
// signed message, get public key and check signature
|
|
4878
|
+
(0, _keys.getPublicKey)(creator).then(function (publicKey) {
|
|
4879
|
+
debug.log(creator.uri + '\n' + msg.created + '\n' + msg.id + '\n' + publicKey);
|
|
4880
|
+
if (!publicKey) {
|
|
4881
|
+
debug.warn('message is signed but ' + creator.uri + ' is missing publicKey');
|
|
4882
|
+
}
|
|
4883
|
+
// check that publicKey is a valid hex string
|
|
4884
|
+
var regex = /[0-9A-Fa-f]{6}/g;
|
|
4885
|
+
if (!(publicKey !== null && publicKey !== void 0 && publicKey.match(regex))) debug.warn('invalid publicKey hex string\n' + creator.uri + '\n' + publicKey);
|
|
4886
|
+
// verify signature
|
|
4887
|
+
else if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature === null || signature === void 0 ? void 0 : signature.value, msg, publicKey)) debug.warn('invalid signature\n' + msg.id);
|
|
4888
|
+
});
|
|
4889
|
+
}
|
|
4890
|
+
_context10.next = 38;
|
|
4891
|
+
return (0, _chatLogic.originalVersion)(message);
|
|
4892
|
+
case 38:
|
|
4893
|
+
originalMessage = _context10.sent;
|
|
4894
|
+
edited = !message.sameTerm(originalMessage); // @@ load it first @@ Or display the new data at the old date.
|
|
4895
|
+
// @@@ kludge!
|
|
4896
|
+
sortDate = _solidLogic.store.the(originalMessage, ns.dct('created'), null, originalMessage.doc()) || _solidLogic.store.the(message, ns.dct('created'), null, message.doc()); // In message
|
|
4897
|
+
messageRow = dom.createElement('tr');
|
|
4898
|
+
if (unsignedMessage) messageRow.setAttribute('style', 'background-color: red');
|
|
4899
|
+
messageRow.AJAR_date = sortDate.value;
|
|
4900
|
+
messageRow.AJAR_subject = message;
|
|
4901
|
+
td1 = dom.createElement('td');
|
|
4902
|
+
messageRow.appendChild(td1);
|
|
4903
|
+
if (!options.authorDateOnLeft) {
|
|
4904
|
+
img = dom.createElement('img');
|
|
4905
|
+
img.setAttribute('style', 'max-height: 2.5em; max-width: 2.5em; border-radius: 0.5em; margin: auto;');
|
|
4906
|
+
widgets.setImage(img, creator);
|
|
4907
|
+
td1.appendChild(img);
|
|
4908
|
+
} else {
|
|
4909
|
+
creatorAndDate(td1, creator, widgets.shortDate(sortDate.value), message);
|
|
4910
|
+
}
|
|
4911
|
+
bothDates = widgets.shortDate(sortDate.value);
|
|
4912
|
+
if (edited) {
|
|
4913
|
+
bothDates += ' ... ' + widgets.shortDate(date.value);
|
|
4914
|
+
}
|
|
4915
|
+
|
|
4916
|
+
// Render the content ot the message itself
|
|
4917
|
+
td2 = messageRow.appendChild(dom.createElement('td'));
|
|
4918
|
+
if (!options.authorDateOnLeft) {
|
|
4919
|
+
creatorAndDateHorizontal(td2, creator, bothDates,
|
|
4920
|
+
// widgets.shortDate(dateString)
|
|
4921
|
+
message);
|
|
4922
|
+
}
|
|
4923
|
+
text = content ? content.value.trim() : '??? no content?';
|
|
4924
|
+
isURI = /^https?:\/[^ <>]*$/i.test(text);
|
|
4925
|
+
para = null;
|
|
4926
|
+
if (isURI) {
|
|
4927
|
+
isImage = /\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(text); // @@ Should use content-type not URI
|
|
4928
|
+
if (isImage && options.expandImagesInline) {
|
|
4929
|
+
_img = elementForImageURI(text, options);
|
|
4930
|
+
td2.appendChild(_img);
|
|
4931
|
+
} else {
|
|
4932
|
+
// Link but not Image
|
|
4933
|
+
anc = td2.appendChild(dom.createElement('a'));
|
|
4934
|
+
para = anc.appendChild(dom.createElement('p'));
|
|
4935
|
+
anc.href = text;
|
|
4936
|
+
para.textContent = text;
|
|
4937
|
+
td2.appendChild(anc);
|
|
4938
|
+
}
|
|
4939
|
+
} else {
|
|
4940
|
+
// text
|
|
4941
|
+
para = dom.createElement('p');
|
|
4942
|
+
td2.appendChild(para);
|
|
4943
|
+
para.textContent = text;
|
|
4944
|
+
}
|
|
4945
|
+
if (para) {
|
|
4946
|
+
bgcolor = colorizeByAuthor ? pad.lightColorHash(creator) : getBgColor(fresh);
|
|
4947
|
+
para.setAttribute('style', messageBodyStyle + 'background-color: ' + bgcolor + ';');
|
|
4948
|
+
}
|
|
4949
|
+
_context10.next = 59;
|
|
4950
|
+
return (0, _messageTools.sentimentStripLinked)(message, message.doc());
|
|
4951
|
+
case 59:
|
|
4952
|
+
strip = _context10.sent;
|
|
4953
|
+
if (strip.children.length) {
|
|
4954
|
+
td2.appendChild(dom.createElement('br'));
|
|
4955
|
+
td2.appendChild(strip);
|
|
4956
|
+
}
|
|
4957
|
+
|
|
4958
|
+
// Message tool bar button
|
|
4959
|
+
td3 = dom.createElement('td');
|
|
4960
|
+
messageRow.appendChild(td3);
|
|
4961
|
+
toolsButton = widgets.button(dom, _iconBase.icons.iconBase + 'noun_243787.svg', '...');
|
|
4962
|
+
td3.appendChild(toolsButton);
|
|
4963
|
+
toolsButton.addEventListener('click', /*#__PURE__*/function () {
|
|
4964
|
+
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(_event) {
|
|
4965
|
+
var toolsTR, tools, toolsTD;
|
|
4966
|
+
return _regenerator["default"].wrap(function _callee8$(_context9) {
|
|
4967
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
4968
|
+
case 0:
|
|
4969
|
+
if (!messageRow.toolTR) {
|
|
4970
|
+
_context9.next = 4;
|
|
4971
|
+
break;
|
|
4972
|
+
}
|
|
4973
|
+
// already got a toolbar? Toogle
|
|
4974
|
+
messageRow.parentNode.removeChild(messageRow.toolTR);
|
|
4975
|
+
delete messageRow.toolTR;
|
|
4976
|
+
return _context9.abrupt("return");
|
|
4977
|
+
case 4:
|
|
4978
|
+
toolsTR = dom.createElement('tr');
|
|
4979
|
+
_context9.next = 7;
|
|
4980
|
+
return (0, _messageTools.messageToolbar)(message, messageRow, _objectSpread(_objectSpread({}, userContext), {}, {
|
|
4981
|
+
chatOptions: options
|
|
4982
|
+
}), channelObject);
|
|
4983
|
+
case 7:
|
|
4984
|
+
tools = _context9.sent;
|
|
4985
|
+
tools.style = 'border: 0.05em solid #888; border-radius: 0 0 0.7em 0.7em; border-top: 0; height:3.5em; background-color: #fff;'; // @@ fix
|
|
4986
|
+
if (messageRow.nextSibling) {
|
|
4987
|
+
messageRow.parentElement.insertBefore(toolsTR, messageRow.nextSibling);
|
|
4988
|
+
} else {
|
|
4989
|
+
messageRow.parentElement.appendChild(toolsTR);
|
|
4990
|
+
}
|
|
4991
|
+
messageRow.toolTR = toolsTR;
|
|
4992
|
+
toolsTR.appendChild(dom.createElement('td')); // left
|
|
4993
|
+
toolsTD = toolsTR.appendChild(dom.createElement('td'));
|
|
4994
|
+
toolsTR.appendChild(dom.createElement('td')); // right
|
|
4995
|
+
toolsTD.appendChild(tools);
|
|
4996
|
+
case 15:
|
|
4997
|
+
case "end":
|
|
4998
|
+
return _context9.stop();
|
|
4999
|
+
}
|
|
5000
|
+
}, _callee8);
|
|
5001
|
+
}));
|
|
5002
|
+
return function (_x20) {
|
|
5003
|
+
return _ref4.apply(this, arguments);
|
|
5004
|
+
};
|
|
5005
|
+
}());
|
|
5006
|
+
if (thread && options.showThread) {
|
|
5007
|
+
debug.log(' message has thread ' + thread);
|
|
5008
|
+
td3.appendChild(widgets.button(dom, _iconBase.icons.iconBase + 'noun_1180164.svg',
|
|
5009
|
+
// right arrow .. @@ think of stg better
|
|
5010
|
+
'see thread', function (_e) {
|
|
5011
|
+
debug.log('@@@@ Calling showThread thread ' + thread);
|
|
5012
|
+
options.showThread(thread, options);
|
|
5013
|
+
}));
|
|
5014
|
+
}
|
|
5015
|
+
return _context10.abrupt("return", messageRow);
|
|
5016
|
+
case 68:
|
|
5017
|
+
case "end":
|
|
5018
|
+
return _context10.stop();
|
|
5019
|
+
}
|
|
5020
|
+
}, _callee9);
|
|
5021
|
+
}));
|
|
5022
|
+
return _renderMessageRow.apply(this, arguments);
|
|
5023
|
+
}
|
|
5024
|
+
function switchToEditor(_x6, _x7, _x8, _x9) {
|
|
5025
|
+
return _switchToEditor.apply(this, arguments);
|
|
5026
|
+
}
|
|
5027
|
+
/* Control for a new message -- or editing an old message ***************
|
|
4522
5028
|
*
|
|
4523
5029
|
*/
|
|
5030
|
+
function _switchToEditor() {
|
|
5031
|
+
_switchToEditor = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(messageRow, message, channelObject, userContext) {
|
|
5032
|
+
var messageTable, editRow;
|
|
5033
|
+
return _regenerator["default"].wrap(function _callee10$(_context11) {
|
|
5034
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
5035
|
+
case 0:
|
|
5036
|
+
messageTable = messageRow.parentNode;
|
|
5037
|
+
_context11.t0 = renderMessageEditor;
|
|
5038
|
+
_context11.t1 = channelObject;
|
|
5039
|
+
_context11.t2 = messageTable;
|
|
5040
|
+
_context11.t3 = userContext;
|
|
5041
|
+
_context11.t4 = channelObject.options;
|
|
5042
|
+
_context11.next = 8;
|
|
5043
|
+
return (0, _chatLogic.mostRecentVersion)(message);
|
|
5044
|
+
case 8:
|
|
5045
|
+
_context11.t5 = _context11.sent;
|
|
5046
|
+
editRow = (0, _context11.t0)(_context11.t1, _context11.t2, _context11.t3, _context11.t4, _context11.t5);
|
|
5047
|
+
messageTable.insertBefore(editRow, messageRow);
|
|
5048
|
+
editRow.originalRow = messageRow;
|
|
5049
|
+
messageRow.style.visibility = 'hidden'; // Hide the original message. unhide if user cancels edit
|
|
5050
|
+
case 13:
|
|
5051
|
+
case "end":
|
|
5052
|
+
return _context11.stop();
|
|
5053
|
+
}
|
|
5054
|
+
}, _callee10);
|
|
5055
|
+
}));
|
|
5056
|
+
return _switchToEditor.apply(this, arguments);
|
|
5057
|
+
}
|
|
4524
5058
|
function renderMessageEditor(channelObject, messageTable, userContext, options, originalMessage) {
|
|
4525
5059
|
function revertEditing(messageEditor) {
|
|
4526
5060
|
messageEditor.originalRow.style.visibility = 'visible'; // restore read-only version
|
|
4527
5061
|
messageEditor.parentNode.removeChild(messageEditor);
|
|
4528
5062
|
}
|
|
4529
|
-
function handleFieldInput(
|
|
5063
|
+
function handleFieldInput(_x10) {
|
|
4530
5064
|
return _handleFieldInput.apply(this, arguments);
|
|
4531
5065
|
}
|
|
4532
5066
|
function _handleFieldInput() {
|
|
@@ -4544,72 +5078,86 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
|
|
|
4544
5078
|
}));
|
|
4545
5079
|
return _handleFieldInput.apply(this, arguments);
|
|
4546
5080
|
}
|
|
4547
|
-
function sendMessage(
|
|
5081
|
+
function sendMessage(_x11, _x12) {
|
|
4548
5082
|
return _sendMessage.apply(this, arguments);
|
|
4549
5083
|
} // sendMessage
|
|
4550
5084
|
// DRAG AND DROP
|
|
4551
5085
|
function _sendMessage() {
|
|
4552
|
-
_sendMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
4553
|
-
var sendComplete, message, statusArea;
|
|
4554
|
-
return _regenerator["default"].wrap(function
|
|
4555
|
-
while (1) switch (
|
|
5086
|
+
_sendMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(text, fromMainField) {
|
|
5087
|
+
var sendComplete, _sendComplete, message, statusArea;
|
|
5088
|
+
return _regenerator["default"].wrap(function _callee7$(_context8) {
|
|
5089
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
4556
5090
|
case 0:
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
oldRow.parentNode.removeChild(oldRow); // No longer needed old version
|
|
4568
|
-
} else {
|
|
4569
|
-
debug.warn('No parentNode on old message ' + oldRow.textContent);
|
|
4570
|
-
oldRow.style.backgroundColor = '#fee';
|
|
4571
|
-
oldRow.style.visibility = 'hidden'; // @@ FIX THIS AND REMOVE FROM DOM INSTEAD
|
|
4572
|
-
}
|
|
5091
|
+
_sendComplete = function _sendComplete3() {
|
|
5092
|
+
_sendComplete = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(message, _text2) {
|
|
5093
|
+
var oldRow;
|
|
5094
|
+
return _regenerator["default"].wrap(function _callee6$(_context7) {
|
|
5095
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
5096
|
+
case 0:
|
|
5097
|
+
_context7.next = 2;
|
|
5098
|
+
return (0, _infinite.insertMessageIntoTable)(channelObject, messageTable, message, false, options, userContext);
|
|
5099
|
+
case 2:
|
|
5100
|
+
// not green
|
|
4573
5101
|
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
}
|
|
4585
|
-
// await channelObject.div.refresh() // Add new day if nec @@ add back
|
|
4586
|
-
};
|
|
5102
|
+
if (originalMessage) {
|
|
5103
|
+
// editing another message
|
|
5104
|
+
oldRow = messageEditor.originalRow; // oldRow.style.display = '' // restore read-only version, re-attack
|
|
5105
|
+
if (oldRow.parentNode) {
|
|
5106
|
+
oldRow.parentNode.removeChild(oldRow); // No longer needed old version
|
|
5107
|
+
} else {
|
|
5108
|
+
debug.warn('No parentNode on old message ' + oldRow.textContent);
|
|
5109
|
+
oldRow.style.backgroundColor = '#fee';
|
|
5110
|
+
oldRow.style.visibility = 'hidden'; // @@ FIX THIS AND REMOVE FROM DOM INSTEAD
|
|
5111
|
+
}
|
|
4587
5112
|
|
|
4588
|
-
|
|
5113
|
+
messageEditor.parentNode.removeChild(messageEditor); // no longer need editor
|
|
5114
|
+
} else {
|
|
5115
|
+
if (fromMainField) {
|
|
5116
|
+
field.value = ''; // clear from out for reuse
|
|
5117
|
+
field.setAttribute('style', messageBodyStyle);
|
|
5118
|
+
field.disabled = false;
|
|
5119
|
+
field.scrollIntoView(options.newestFirst); // allign bottom (top)
|
|
5120
|
+
field.focus(); // Start typing next line immediately
|
|
5121
|
+
field.select();
|
|
5122
|
+
}
|
|
5123
|
+
}
|
|
5124
|
+
// await channelObject.div.refresh() // Add new day if nec @@ add back
|
|
5125
|
+
case 3:
|
|
5126
|
+
case "end":
|
|
5127
|
+
return _context7.stop();
|
|
5128
|
+
}
|
|
5129
|
+
}, _callee6);
|
|
5130
|
+
}));
|
|
5131
|
+
return _sendComplete.apply(this, arguments);
|
|
5132
|
+
};
|
|
5133
|
+
sendComplete = function _sendComplete2(_x18, _x19) {
|
|
5134
|
+
return _sendComplete.apply(this, arguments);
|
|
5135
|
+
}; // const me = authn.currentUser() // Must be logged on or wuld have got login button
|
|
4589
5136
|
if (fromMainField) {
|
|
4590
5137
|
field.setAttribute('style', messageBodyStyle + 'color: #bbb;'); // pendingedit
|
|
4591
5138
|
field.disabled = true;
|
|
4592
5139
|
}
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
return channelObject.updateMessage(text, originalMessage);
|
|
4596
|
-
case
|
|
4597
|
-
message =
|
|
4598
|
-
|
|
5140
|
+
_context8.prev = 3;
|
|
5141
|
+
_context8.next = 6;
|
|
5142
|
+
return channelObject.updateMessage(text, originalMessage, null, options.thread);
|
|
5143
|
+
case 6:
|
|
5144
|
+
message = _context8.sent;
|
|
5145
|
+
_context8.next = 14;
|
|
4599
5146
|
break;
|
|
4600
|
-
case
|
|
4601
|
-
|
|
4602
|
-
|
|
5147
|
+
case 9:
|
|
5148
|
+
_context8.prev = 9;
|
|
5149
|
+
_context8.t0 = _context8["catch"](3);
|
|
4603
5150
|
statusArea = userContext.statusArea || messageEditor;
|
|
4604
|
-
statusArea.appendChild(widgets.errorMessageBlock(dom, 'Error writing message: ' +
|
|
4605
|
-
return
|
|
4606
|
-
case 13:
|
|
4607
|
-
sendComplete(message, text);
|
|
5151
|
+
statusArea.appendChild(widgets.errorMessageBlock(dom, 'Error writing message: ' + _context8.t0));
|
|
5152
|
+
return _context8.abrupt("return");
|
|
4608
5153
|
case 14:
|
|
5154
|
+
_context8.next = 16;
|
|
5155
|
+
return sendComplete(message, text);
|
|
5156
|
+
case 16:
|
|
4609
5157
|
case "end":
|
|
4610
|
-
return
|
|
5158
|
+
return _context8.stop();
|
|
4611
5159
|
}
|
|
4612
|
-
},
|
|
5160
|
+
}, _callee7, null, [[3, 9]]);
|
|
4613
5161
|
}));
|
|
4614
5162
|
return _sendMessage.apply(this, arguments);
|
|
4615
5163
|
}
|
|
@@ -4628,7 +5176,7 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
|
|
|
4628
5176
|
}
|
|
4629
5177
|
}, _callee);
|
|
4630
5178
|
}));
|
|
4631
|
-
return function (
|
|
5179
|
+
return function (_x13, _x14) {
|
|
4632
5180
|
return _ref.apply(this, arguments);
|
|
4633
5181
|
};
|
|
4634
5182
|
}());
|
|
@@ -4672,7 +5220,7 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
|
|
|
4672
5220
|
}
|
|
4673
5221
|
}, _callee2, null, [[1, 11, 14, 17]]);
|
|
4674
5222
|
}));
|
|
4675
|
-
return function droppedURIHandler(
|
|
5223
|
+
return function droppedURIHandler(_x15) {
|
|
4676
5224
|
return _ref2.apply(this, arguments);
|
|
4677
5225
|
};
|
|
4678
5226
|
}();
|
|
@@ -4683,7 +5231,7 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
|
|
|
4683
5231
|
imageDoc = $rdf.sym(chatDocument.dir().uri + 'Image_' + Date.now() + '.png');
|
|
4684
5232
|
return imageDoc;
|
|
4685
5233
|
}
|
|
4686
|
-
function tookPicture(
|
|
5234
|
+
function tookPicture(_x16) {
|
|
4687
5235
|
return _tookPicture.apply(this, arguments);
|
|
4688
5236
|
} // Body of turnOnInput
|
|
4689
5237
|
function _tookPicture() {
|
|
@@ -4760,7 +5308,7 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
|
|
|
4760
5308
|
}
|
|
4761
5309
|
}, _callee3);
|
|
4762
5310
|
}));
|
|
4763
|
-
return function (
|
|
5311
|
+
return function (_x17) {
|
|
4764
5312
|
return _ref3.apply(this, arguments);
|
|
4765
5313
|
};
|
|
4766
5314
|
}(), false);
|
|
@@ -4822,7 +5370,7 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
|
|
|
4822
5370
|
turnOnInput();
|
|
4823
5371
|
Object.assign(context, userContext);
|
|
4824
5372
|
(0, _bookmarks.findBookmarkDocument)(context).then(function (_context) {
|
|
4825
|
-
//
|
|
5373
|
+
// debug.log('Bookmark file: ' + context.bookmarkDocument)
|
|
4826
5374
|
});
|
|
4827
5375
|
});
|
|
4828
5376
|
return messageEditor;
|
|
@@ -4845,12 +5393,15 @@ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_m
|
|
|
4845
5393
|
Object.defineProperty(exports, "__esModule", ({
|
|
4846
5394
|
value: true
|
|
4847
5395
|
}));
|
|
5396
|
+
exports.ActionClassFromEmoji = ActionClassFromEmoji;
|
|
5397
|
+
exports.emojiFromAction = emojiFromAction;
|
|
5398
|
+
exports.emojiFromActionClass = emojiFromActionClass;
|
|
4848
5399
|
exports.messageToolbar = messageToolbar;
|
|
4849
5400
|
exports.sentimentStrip = sentimentStrip;
|
|
4850
5401
|
exports.sentimentStripLinked = sentimentStripLinked;
|
|
4851
5402
|
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
4852
|
-
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
4853
5403
|
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/slicedToArray.js"));
|
|
5404
|
+
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
4854
5405
|
var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
|
|
4855
5406
|
var _iconBase = __webpack_require__(/*! ../iconBase */ "./lib/iconBase.js");
|
|
4856
5407
|
var ns = _interopRequireWildcard(__webpack_require__(/*! ../ns */ "./lib/ns.js"));
|
|
@@ -4878,7 +5429,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
4878
5429
|
// import * as pad from '../pad'
|
|
4879
5430
|
// pull in first avoid cross-refs
|
|
4880
5431
|
// import * as style from '../style'
|
|
4881
|
-
|
|
4882
5432
|
var dom = window.document;
|
|
4883
5433
|
|
|
4884
5434
|
// THE UNUSED ICONS are here as reminders for possible future functionality
|
|
@@ -4891,30 +5441,46 @@ var PENCIL_ICON = 'noun_253504.svg'; // edit a message
|
|
|
4891
5441
|
// const SPANNER_ICON = 'noun_344563.svg' -> settings
|
|
4892
5442
|
var THUMBS_UP_ICON = 'noun_1384132.svg';
|
|
4893
5443
|
var THUMBS_DOWN_ICON = 'noun_1384135.svg';
|
|
5444
|
+
var REPLY_ICON = 'noun-reply-5506924.svg';
|
|
4894
5445
|
/**
|
|
4895
5446
|
* Emoji in Unicode
|
|
4896
5447
|
*/
|
|
4897
|
-
var
|
|
4898
|
-
|
|
4899
|
-
|
|
4900
|
-
|
|
4901
|
-
|
|
5448
|
+
var emojiMap = {};
|
|
5449
|
+
emojiMap[ns.schema('AgreeAction')] = '👍';
|
|
5450
|
+
emojiMap[ns.schema('DisagreeAction')] = '👎';
|
|
5451
|
+
emojiMap[ns.schema('EndorseAction')] = '⭐️';
|
|
5452
|
+
emojiMap[ns.schema('LikeAction')] = '❤️';
|
|
5453
|
+
function emojiFromActionClass(action) {
|
|
5454
|
+
return emojiMap[action] || null;
|
|
5455
|
+
}
|
|
5456
|
+
function ActionClassFromEmoji(emoji) {
|
|
5457
|
+
for (var a in emojiMap) {
|
|
5458
|
+
if (emojiMap[a] === emoji) {
|
|
5459
|
+
return rdf.sym(a.slice(1, -1)); // remove < >
|
|
5460
|
+
}
|
|
5461
|
+
}
|
|
5462
|
+
|
|
5463
|
+
return null;
|
|
5464
|
+
}
|
|
5465
|
+
|
|
5466
|
+
// Allow the action to give its own emoji as content,
|
|
5467
|
+
// or get the emoji from the class of action.
|
|
5468
|
+
function emojiFromAction(action) {
|
|
5469
|
+
var content = _solidLogic.store.any(action, ns.sioc('content'), null, action.doc());
|
|
5470
|
+
if (content) return content;
|
|
5471
|
+
var klass = _solidLogic.store.any(action, ns.rdf('type'), null, action.doc());
|
|
5472
|
+
if (klass) {
|
|
5473
|
+
var em = emojiFromActionClass(klass);
|
|
5474
|
+
if (em) return em;
|
|
5475
|
+
}
|
|
5476
|
+
return '⬜️';
|
|
5477
|
+
}
|
|
4902
5478
|
|
|
4903
5479
|
/**
|
|
4904
5480
|
* Create strip of sentiments expressed
|
|
4905
5481
|
*/
|
|
4906
|
-
function sentimentStrip(
|
|
4907
|
-
|
|
4908
|
-
var latest = (0, _chatLogic.mostRecentVersion)(target);
|
|
4909
|
-
var actions = _solidLogic.store.holds(latest, ns.schema('dateDeleted').value, null, latest.doc()) ? _solidLogic.store.each(null, ns.schema('target'), target, doc) : [];
|
|
4910
|
-
var sentiments = actions.map(function (a) {
|
|
4911
|
-
return _solidLogic.store.any(a, ns.rdf('type'), null, doc);
|
|
4912
|
-
});
|
|
4913
|
-
sentiments.sort();
|
|
4914
|
-
var strings = sentiments.map(function (x) {
|
|
4915
|
-
return emoji[x] || '';
|
|
4916
|
-
});
|
|
4917
|
-
return dom.createTextNode(strings.join(' '));
|
|
5482
|
+
function sentimentStrip(_x, _x2) {
|
|
5483
|
+
return _sentimentStrip.apply(this, arguments);
|
|
4918
5484
|
}
|
|
4919
5485
|
/**
|
|
4920
5486
|
* Create strip of sentiments expressed, with hyperlinks
|
|
@@ -4922,276 +5488,444 @@ function sentimentStrip(target, doc) {
|
|
|
4922
5488
|
* @param target {NamedNode} - The thing about which they are expressed
|
|
4923
5489
|
* @param doc {NamedNode} - The document in which they are expressed
|
|
4924
5490
|
*/
|
|
4925
|
-
function
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
|
|
5491
|
+
function _sentimentStrip() {
|
|
5492
|
+
_sentimentStrip = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(target, doc) {
|
|
5493
|
+
var versions, actions, strings;
|
|
5494
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
5495
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5496
|
+
case 0:
|
|
5497
|
+
_context.next = 2;
|
|
5498
|
+
return (0, _chatLogic.allVersions)(target);
|
|
5499
|
+
case 2:
|
|
5500
|
+
versions = _context.sent;
|
|
5501
|
+
debug.log('sentimentStrip Versions for ' + target, versions);
|
|
5502
|
+
actions = versions.map(function (version) {
|
|
5503
|
+
return _solidLogic.store.each(null, ns.schema('target'), version, doc);
|
|
5504
|
+
}).flat();
|
|
5505
|
+
debug.log('sentimentStrip: Actions for ' + target, actions);
|
|
5506
|
+
strings = actions.map(function (action) {
|
|
5507
|
+
return emojiFromAction(action) || '';
|
|
5508
|
+
});
|
|
5509
|
+
return _context.abrupt("return", dom.createTextNode(strings.join(' ')));
|
|
5510
|
+
case 8:
|
|
5511
|
+
case "end":
|
|
5512
|
+
return _context.stop();
|
|
4944
5513
|
}
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4949
|
-
|
|
4950
|
-
|
|
4951
|
-
return strip;
|
|
5514
|
+
}, _callee);
|
|
5515
|
+
}));
|
|
5516
|
+
return _sentimentStrip.apply(this, arguments);
|
|
5517
|
+
}
|
|
5518
|
+
function sentimentStripLinked(_x3, _x4) {
|
|
5519
|
+
return _sentimentStripLinked.apply(this, arguments);
|
|
4952
5520
|
}
|
|
4953
5521
|
/**
|
|
4954
5522
|
* Creates a message toolbar component
|
|
4955
5523
|
*/
|
|
4956
|
-
function
|
|
4957
|
-
function
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
5524
|
+
function _sentimentStripLinked() {
|
|
5525
|
+
_sentimentStripLinked = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(target, doc) {
|
|
5526
|
+
var strip, refresh, _refresh;
|
|
5527
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
5528
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
5529
|
+
case 0:
|
|
5530
|
+
_refresh = function _refresh3() {
|
|
5531
|
+
_refresh = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
5532
|
+
var versions, actions, sentiments;
|
|
5533
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
5534
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
5535
|
+
case 0:
|
|
5536
|
+
strip.innerHTML = '';
|
|
5537
|
+
if (!(0, _chatLogic.isDeleted)(target)) {
|
|
5538
|
+
_context2.next = 3;
|
|
5539
|
+
break;
|
|
5540
|
+
}
|
|
5541
|
+
return _context2.abrupt("return", strip);
|
|
5542
|
+
case 3:
|
|
5543
|
+
_context2.next = 5;
|
|
5544
|
+
return (0, _chatLogic.allVersions)(target);
|
|
5545
|
+
case 5:
|
|
5546
|
+
versions = _context2.sent;
|
|
5547
|
+
debug.log('sentimentStripLinked: Versions for ' + target, versions);
|
|
5548
|
+
actions = versions.map(function (version) {
|
|
5549
|
+
return _solidLogic.store.each(null, ns.schema('target'), version, doc);
|
|
5550
|
+
}).flat();
|
|
5551
|
+
debug.log('sentimentStripLinked: Actions for ' + target, actions);
|
|
5552
|
+
if (!(actions.length === 0)) {
|
|
5553
|
+
_context2.next = 11;
|
|
5554
|
+
break;
|
|
5555
|
+
}
|
|
5556
|
+
return _context2.abrupt("return", strip);
|
|
5557
|
+
case 11:
|
|
5558
|
+
sentiments = actions.map(function (a) {
|
|
5559
|
+
return [_solidLogic.store.any(a, ns.rdf('type'), null, doc), _solidLogic.store.any(a, ns.sioc('content'), null, doc), _solidLogic.store.any(a, ns.schema('agent'), null, doc)];
|
|
5560
|
+
});
|
|
5561
|
+
debug.log(' Actions sentiments ', sentiments);
|
|
5562
|
+
sentiments.sort();
|
|
5563
|
+
sentiments.forEach(function (ss) {
|
|
5564
|
+
var _ss = (0, _slicedToArray2["default"])(ss, 3),
|
|
5565
|
+
theClass = _ss[0],
|
|
5566
|
+
content = _ss[1],
|
|
5567
|
+
agent = _ss[2];
|
|
5568
|
+
var res;
|
|
5569
|
+
if (agent) {
|
|
5570
|
+
res = dom.createElement('a');
|
|
5571
|
+
res.setAttribute('href', agent.uri);
|
|
5572
|
+
} else {
|
|
5573
|
+
res = dom.createTextNode('');
|
|
5574
|
+
}
|
|
5575
|
+
res.textContent = content || emojiMap[theClass] || '⬜️';
|
|
5576
|
+
strip.appendChild(res);
|
|
5577
|
+
});
|
|
5578
|
+
debug.log(' Actions strip ', strip);
|
|
5579
|
+
case 16:
|
|
5580
|
+
case "end":
|
|
5581
|
+
return _context2.stop();
|
|
5582
|
+
}
|
|
5583
|
+
}, _callee2);
|
|
5584
|
+
}));
|
|
5585
|
+
return _refresh.apply(this, arguments);
|
|
5586
|
+
};
|
|
5587
|
+
refresh = function _refresh2() {
|
|
5588
|
+
return _refresh.apply(this, arguments);
|
|
5589
|
+
};
|
|
5590
|
+
strip = dom.createElement('span');
|
|
5591
|
+
refresh().then(debug.log('sentimentStripLinked: sentimentStripLinked async refreshed'));
|
|
5592
|
+
strip.refresh = refresh;
|
|
5593
|
+
return _context3.abrupt("return", strip);
|
|
5594
|
+
case 6:
|
|
5595
|
+
case "end":
|
|
5596
|
+
return _context3.stop();
|
|
5597
|
+
}
|
|
5598
|
+
}, _callee3);
|
|
5599
|
+
}));
|
|
5600
|
+
return _sentimentStripLinked.apply(this, arguments);
|
|
5601
|
+
}
|
|
5602
|
+
function messageToolbar(_x5, _x6, _x7, _x8) {
|
|
5603
|
+
return _messageToolbar.apply(this, arguments);
|
|
5604
|
+
}
|
|
5605
|
+
function _messageToolbar() {
|
|
5606
|
+
_messageToolbar = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(message, messageRow, userContext, channelObject) {
|
|
5607
|
+
var deleteMessage, _deleteMessage, editMessage, _editMessage, replyInThread, _replyInThread, div, closeToolbar, deleteThingThen, _deleteThingThen, me, sentimentButton, context1, cancelButton;
|
|
5608
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
5609
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
5610
|
+
case 0:
|
|
5611
|
+
sentimentButton = function _sentimentButton(context, target, icon, actionClass, doc, mutuallyExclusive) {
|
|
5612
|
+
function setColor() {
|
|
5613
|
+
button.style.backgroundColor = action ? 'yellow' : 'white';
|
|
4970
5614
|
}
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
5615
|
+
var button = widgets.button(dom, icon, utils.label(actionClass), /*#__PURE__*/function () {
|
|
5616
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_event) {
|
|
5617
|
+
var insertMe, dirty, i, a;
|
|
5618
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
5619
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
5620
|
+
case 0:
|
|
5621
|
+
if (!action) {
|
|
5622
|
+
_context4.next = 7;
|
|
5623
|
+
break;
|
|
5624
|
+
}
|
|
5625
|
+
_context4.next = 3;
|
|
5626
|
+
return deleteThingThen(action);
|
|
5627
|
+
case 3:
|
|
5628
|
+
action = null;
|
|
5629
|
+
setColor();
|
|
5630
|
+
_context4.next = 25;
|
|
5631
|
+
break;
|
|
5632
|
+
case 7:
|
|
5633
|
+
// no action
|
|
5634
|
+
action = widgets.newThing(doc);
|
|
5635
|
+
insertMe = [rdf.st(action, ns.schema('agent'), context.me, doc), rdf.st(action, ns.rdf('type'), actionClass, doc), rdf.st(action, ns.schema('target'), target, doc)];
|
|
5636
|
+
_context4.next = 11;
|
|
5637
|
+
return _solidLogic.store.updater.update([], insertMe);
|
|
5638
|
+
case 11:
|
|
5639
|
+
setColor();
|
|
5640
|
+
if (!mutuallyExclusive) {
|
|
5641
|
+
_context4.next = 25;
|
|
5642
|
+
break;
|
|
5643
|
+
}
|
|
5644
|
+
// Delete incompative sentiments
|
|
5645
|
+
dirty = false;
|
|
5646
|
+
i = 0;
|
|
5647
|
+
case 15:
|
|
5648
|
+
if (!(i < mutuallyExclusive.length)) {
|
|
5649
|
+
_context4.next = 24;
|
|
5650
|
+
break;
|
|
5651
|
+
}
|
|
5652
|
+
a = existingAction(mutuallyExclusive[i]);
|
|
5653
|
+
if (!a) {
|
|
5654
|
+
_context4.next = 21;
|
|
5655
|
+
break;
|
|
5656
|
+
}
|
|
5657
|
+
_context4.next = 20;
|
|
5658
|
+
return deleteThingThen(a);
|
|
5659
|
+
case 20:
|
|
5660
|
+
// but how refresh? refreshTree the parent?
|
|
5661
|
+
dirty = true;
|
|
5662
|
+
case 21:
|
|
5663
|
+
i++;
|
|
5664
|
+
_context4.next = 15;
|
|
5665
|
+
break;
|
|
5666
|
+
case 24:
|
|
5667
|
+
if (dirty) {
|
|
5668
|
+
// widgets.refreshTree(button.parentNode) // requires them all to be immediate siblings
|
|
5669
|
+
widgets.refreshTree(messageRow); // requires them all to be immediate siblings
|
|
5670
|
+
}
|
|
5671
|
+
case 25:
|
|
5672
|
+
case "end":
|
|
5673
|
+
return _context4.stop();
|
|
5674
|
+
}
|
|
5675
|
+
}, _callee4);
|
|
5676
|
+
}));
|
|
5677
|
+
return function (_x11) {
|
|
5678
|
+
return _ref.apply(this, arguments);
|
|
5679
|
+
};
|
|
5680
|
+
}());
|
|
5681
|
+
function existingAction(actionClass) {
|
|
5682
|
+
var actions = _solidLogic.store.each(null, ns.schema('agent'), context.me, doc).filter(function (x) {
|
|
5683
|
+
return _solidLogic.store.holds(x, ns.rdf('type'), actionClass, doc);
|
|
5684
|
+
}).filter(function (x) {
|
|
5685
|
+
return _solidLogic.store.holds(x, ns.schema('target'), target, doc);
|
|
5686
|
+
});
|
|
5687
|
+
return actions.length ? actions[0] : null;
|
|
4978
5688
|
}
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
case 9:
|
|
4983
|
-
_context2.next = 18;
|
|
4984
|
-
break;
|
|
4985
|
-
case 11:
|
|
4986
|
-
_context2.prev = 11;
|
|
4987
|
-
_context2.t0 = _context2["catch"](6);
|
|
4988
|
-
msg = 'Error deleting messaage ' + _context2.t0;
|
|
4989
|
-
debug.warn(msg);
|
|
4990
|
-
alert(msg);
|
|
4991
|
-
area = userContext.statusArea || messageRow.parentNode;
|
|
4992
|
-
area.appendChild(widgets.errorMessageBlock(dom, msg));
|
|
4993
|
-
case 18:
|
|
4994
|
-
messageRow.parentNode.removeChild(messageRow);
|
|
4995
|
-
_context2.next = 22;
|
|
4996
|
-
break;
|
|
4997
|
-
case 21:
|
|
4998
|
-
alert('You can\'t delete the message, you are not logged in as the author, ' + author);
|
|
4999
|
-
case 22:
|
|
5000
|
-
closeToolbar();
|
|
5001
|
-
case 23:
|
|
5002
|
-
case "end":
|
|
5003
|
-
return _context2.stop();
|
|
5004
|
-
}
|
|
5005
|
-
}, _callee2, null, [[6, 11]]);
|
|
5006
|
-
}));
|
|
5007
|
-
return _deleteMessage.apply(this, arguments);
|
|
5008
|
-
}
|
|
5009
|
-
function editMessage(_x) {
|
|
5010
|
-
return _editMessage.apply(this, arguments);
|
|
5011
|
-
} // alain TODO allow chat owner to fully delete message + sentiments and replacing messages
|
|
5012
|
-
function _editMessage() {
|
|
5013
|
-
_editMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(messageRow) {
|
|
5014
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
5015
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
5016
|
-
case 0:
|
|
5017
|
-
if (me.value === _solidLogic.store.any(message, ns.foaf('maker')).value) {
|
|
5018
|
-
closeToolbar(); // edit is a one-off action
|
|
5019
|
-
(0, _message.switchToEditor)(messageRow, message, channelObject, userContext);
|
|
5689
|
+
function refresh() {
|
|
5690
|
+
action = existingAction(actionClass);
|
|
5691
|
+
setColor();
|
|
5020
5692
|
}
|
|
5021
|
-
|
|
5022
|
-
|
|
5023
|
-
|
|
5024
|
-
|
|
5025
|
-
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
|
|
5044
|
-
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5055
|
-
|
|
5056
|
-
|
|
5057
|
-
|
|
5058
|
-
|
|
5059
|
-
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
|
|
5063
|
-
|
|
5064
|
-
|
|
5065
|
-
|
|
5066
|
-
|
|
5067
|
-
|
|
5068
|
-
|
|
5069
|
-
|
|
5693
|
+
var action;
|
|
5694
|
+
button.refresh = refresh; // If the file changes, refresh live
|
|
5695
|
+
refresh();
|
|
5696
|
+
return button;
|
|
5697
|
+
};
|
|
5698
|
+
_deleteThingThen = function _deleteThingThen3() {
|
|
5699
|
+
_deleteThingThen = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(x) {
|
|
5700
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
5701
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
5702
|
+
case 0:
|
|
5703
|
+
_context9.next = 2;
|
|
5704
|
+
return _solidLogic.store.updater.update(_solidLogic.store.connectedStatements(x), []);
|
|
5705
|
+
case 2:
|
|
5706
|
+
case "end":
|
|
5707
|
+
return _context9.stop();
|
|
5708
|
+
}
|
|
5709
|
+
}, _callee9);
|
|
5710
|
+
}));
|
|
5711
|
+
return _deleteThingThen.apply(this, arguments);
|
|
5712
|
+
};
|
|
5713
|
+
deleteThingThen = function _deleteThingThen2(_x10) {
|
|
5714
|
+
return _deleteThingThen.apply(this, arguments);
|
|
5715
|
+
};
|
|
5716
|
+
closeToolbar = function _closeToolbar() {
|
|
5717
|
+
div.parentElement.parentElement.removeChild(div.parentElement); // remive the TR
|
|
5718
|
+
};
|
|
5719
|
+
_replyInThread = function _replyInThread3() {
|
|
5720
|
+
_replyInThread = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
5721
|
+
var thread, options;
|
|
5722
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
5723
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
5724
|
+
case 0:
|
|
5725
|
+
_context8.next = 2;
|
|
5726
|
+
return channelObject.createThread(message);
|
|
5727
|
+
case 2:
|
|
5728
|
+
thread = _context8.sent;
|
|
5729
|
+
options = userContext.chatOptions;
|
|
5730
|
+
if (options) {
|
|
5731
|
+
_context8.next = 6;
|
|
5732
|
+
break;
|
|
5733
|
+
}
|
|
5734
|
+
throw new Error('replyInThread: missing options');
|
|
5735
|
+
case 6:
|
|
5736
|
+
options.showThread(thread, options);
|
|
5737
|
+
closeToolbar(); // a one-off action
|
|
5738
|
+
case 8:
|
|
5739
|
+
case "end":
|
|
5740
|
+
return _context8.stop();
|
|
5741
|
+
}
|
|
5742
|
+
}, _callee8);
|
|
5743
|
+
}));
|
|
5744
|
+
return _replyInThread.apply(this, arguments);
|
|
5745
|
+
};
|
|
5746
|
+
replyInThread = function _replyInThread2() {
|
|
5747
|
+
return _replyInThread.apply(this, arguments);
|
|
5748
|
+
};
|
|
5749
|
+
_editMessage = function _editMessage3() {
|
|
5750
|
+
_editMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(messageRow) {
|
|
5751
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
5752
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
5753
|
+
case 0:
|
|
5754
|
+
if (!(me.value === _solidLogic.store.any(message, ns.foaf('maker')).value)) {
|
|
5755
|
+
_context7.next = 4;
|
|
5756
|
+
break;
|
|
5757
|
+
}
|
|
5758
|
+
closeToolbar(); // edit is a one-off action
|
|
5759
|
+
_context7.next = 4;
|
|
5760
|
+
return (0, _message.switchToEditor)(messageRow, message, channelObject, userContext);
|
|
5761
|
+
case 4:
|
|
5762
|
+
case "end":
|
|
5763
|
+
return _context7.stop();
|
|
5764
|
+
}
|
|
5765
|
+
}, _callee7);
|
|
5766
|
+
}));
|
|
5767
|
+
return _editMessage.apply(this, arguments);
|
|
5768
|
+
};
|
|
5769
|
+
editMessage = function _editMessage2(_x9) {
|
|
5770
|
+
return _editMessage.apply(this, arguments);
|
|
5771
|
+
};
|
|
5772
|
+
_deleteMessage = function _deleteMessage3() {
|
|
5773
|
+
_deleteMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
5774
|
+
var author, msg, area;
|
|
5775
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
5776
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
5777
|
+
case 0:
|
|
5778
|
+
author = _solidLogic.store.any(message, ns.foaf('maker'));
|
|
5779
|
+
if (me) {
|
|
5780
|
+
_context6.next = 5;
|
|
5781
|
+
break;
|
|
5782
|
+
}
|
|
5783
|
+
alert('You can\'t delete the message, you are not logged in.');
|
|
5784
|
+
_context6.next = 22;
|
|
5785
|
+
break;
|
|
5786
|
+
case 5:
|
|
5787
|
+
if (!me.sameTerm(author)) {
|
|
5788
|
+
_context6.next = 21;
|
|
5789
|
+
break;
|
|
5790
|
+
}
|
|
5791
|
+
_context6.prev = 6;
|
|
5792
|
+
_context6.next = 9;
|
|
5793
|
+
return channelObject.deleteMessage(message);
|
|
5794
|
+
case 9:
|
|
5795
|
+
_context6.next = 18;
|
|
5796
|
+
break;
|
|
5797
|
+
case 11:
|
|
5798
|
+
_context6.prev = 11;
|
|
5799
|
+
_context6.t0 = _context6["catch"](6);
|
|
5800
|
+
msg = 'Error deleting messaage ' + _context6.t0;
|
|
5801
|
+
debug.warn(msg);
|
|
5802
|
+
alert(msg);
|
|
5803
|
+
area = userContext.statusArea || messageRow.parentNode;
|
|
5804
|
+
area.appendChild(widgets.errorMessageBlock(dom, msg));
|
|
5805
|
+
case 18:
|
|
5806
|
+
messageRow.parentNode.removeChild(messageRow);
|
|
5807
|
+
_context6.next = 22;
|
|
5808
|
+
break;
|
|
5809
|
+
case 21:
|
|
5810
|
+
alert('You can\'t delete the message, you are not logged in as the author, ' + author);
|
|
5811
|
+
case 22:
|
|
5812
|
+
closeToolbar();
|
|
5813
|
+
case 23:
|
|
5814
|
+
case "end":
|
|
5815
|
+
return _context6.stop();
|
|
5816
|
+
}
|
|
5817
|
+
}, _callee6, null, [[6, 11]]);
|
|
5818
|
+
}));
|
|
5819
|
+
return _deleteMessage.apply(this, arguments);
|
|
5820
|
+
};
|
|
5821
|
+
deleteMessage = function _deleteMessage2() {
|
|
5822
|
+
return _deleteMessage.apply(this, arguments);
|
|
5823
|
+
}; // alain: TODO allow chat owner to fully delete message + sentiments and replacing messages
|
|
5824
|
+
div = dom.createElement('div'); // is message deleted ?
|
|
5825
|
+
_context10.next = 13;
|
|
5826
|
+
return (0, _chatLogic.mostRecentVersion)(message).value;
|
|
5827
|
+
case 13:
|
|
5828
|
+
_context10.t0 = _context10.sent;
|
|
5829
|
+
_context10.t1 = ns.schema('dateDeleted').value;
|
|
5830
|
+
if (!(_context10.t0 === _context10.t1)) {
|
|
5831
|
+
_context10.next = 17;
|
|
5832
|
+
break;
|
|
5833
|
+
}
|
|
5834
|
+
return _context10.abrupt("return", div);
|
|
5835
|
+
case 17:
|
|
5836
|
+
// Things only the original author can do
|
|
5837
|
+
me = _solidLogic.authn.currentUser(); // If already logged on
|
|
5838
|
+
if (me && _solidLogic.store.holds(message, ns.foaf('maker'), me)) {
|
|
5839
|
+
// button to delete the message
|
|
5840
|
+
div.appendChild(widgets.deleteButtonWithCheck(dom, div, 'message', deleteMessage));
|
|
5841
|
+
// button to edit the message
|
|
5842
|
+
div.appendChild(widgets.button(dom, _iconBase.icons.iconBase + PENCIL_ICON, 'edit', function () {
|
|
5843
|
+
return editMessage(messageRow);
|
|
5844
|
+
}));
|
|
5845
|
+
} // if mine
|
|
5846
|
+
// Things anyone can do if they have a bookmark list async
|
|
5847
|
+
/*
|
|
5848
|
+
var bookmarkButton = await bookmarks.renderBookmarksButton(userContext)
|
|
5849
|
+
if (bookmarkButton) {
|
|
5850
|
+
div.appendChild(bookmarkButton)
|
|
5851
|
+
}
|
|
5852
|
+
*/
|
|
5853
|
+
// Things anyone can do if they have a bookmark list
|
|
5070
5854
|
|
|
5071
|
-
|
|
5072
|
-
|
|
5073
|
-
|
|
5855
|
+
(0, _bookmarks.renderBookmarksButton)(userContext).then(function (bookmarkButton) {
|
|
5856
|
+
if (bookmarkButton) div.appendChild(bookmarkButton);
|
|
5857
|
+
});
|
|
5074
5858
|
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
|
|
5086
|
-
|
|
5087
|
-
|
|
5088
|
-
|
|
5089
|
-
|
|
5090
|
-
|
|
5091
|
-
|
|
5092
|
-
while (1) switch (_context.prev = _context.next) {
|
|
5093
|
-
case 0:
|
|
5094
|
-
if (!action) {
|
|
5095
|
-
_context.next = 7;
|
|
5096
|
-
break;
|
|
5097
|
-
}
|
|
5098
|
-
_context.next = 3;
|
|
5099
|
-
return deleteThingThen(action);
|
|
5100
|
-
case 3:
|
|
5101
|
-
action = null;
|
|
5102
|
-
setColor();
|
|
5103
|
-
_context.next = 25;
|
|
5104
|
-
break;
|
|
5105
|
-
case 7:
|
|
5106
|
-
// no action
|
|
5107
|
-
action = widgets.newThing(doc);
|
|
5108
|
-
insertMe = [rdf.st(action, ns.schema('agent'), context.me, doc), rdf.st(action, ns.rdf('type'), actionClass, doc), rdf.st(action, ns.schema('target'), target, doc)];
|
|
5109
|
-
_context.next = 11;
|
|
5110
|
-
return _solidLogic.store.updater.update([], insertMe);
|
|
5111
|
-
case 11:
|
|
5112
|
-
setColor();
|
|
5113
|
-
if (!mutuallyExclusive) {
|
|
5114
|
-
_context.next = 25;
|
|
5115
|
-
break;
|
|
5116
|
-
}
|
|
5117
|
-
// Delete incompative sentiments
|
|
5118
|
-
dirty = false;
|
|
5119
|
-
i = 0;
|
|
5120
|
-
case 15:
|
|
5121
|
-
if (!(i < mutuallyExclusive.length)) {
|
|
5122
|
-
_context.next = 24;
|
|
5123
|
-
break;
|
|
5124
|
-
}
|
|
5125
|
-
a = existingAction(mutuallyExclusive[i]);
|
|
5126
|
-
if (!a) {
|
|
5127
|
-
_context.next = 21;
|
|
5128
|
-
break;
|
|
5129
|
-
}
|
|
5130
|
-
_context.next = 20;
|
|
5131
|
-
return deleteThingThen(a);
|
|
5132
|
-
case 20:
|
|
5133
|
-
// but how refresh? refreshTree the parent?
|
|
5134
|
-
dirty = true;
|
|
5135
|
-
case 21:
|
|
5136
|
-
i++;
|
|
5137
|
-
_context.next = 15;
|
|
5138
|
-
break;
|
|
5139
|
-
case 24:
|
|
5140
|
-
if (dirty) {
|
|
5141
|
-
// widgets.refreshTree(button.parentNode) // requires them all to be immediate siblings
|
|
5142
|
-
widgets.refreshTree(messageRow); // requires them all to be immediate siblings
|
|
5143
|
-
}
|
|
5144
|
-
case 25:
|
|
5145
|
-
case "end":
|
|
5146
|
-
return _context.stop();
|
|
5859
|
+
/** Button to allow user to express a sentiment (like, endorse, etc) about a target
|
|
5860
|
+
*
|
|
5861
|
+
* @param context {Object} - Provide dom and me
|
|
5862
|
+
* @param target {NamedNode} - The thing the user expresses an opnion about
|
|
5863
|
+
* @param icon {uristring} - The icon to be used for the button
|
|
5864
|
+
* @param actionClass {NamedNode} - The RDF class - typically a subclass of schema:Action
|
|
5865
|
+
* @param doc - {NamedNode} - the Solid document iunto which the data should be written
|
|
5866
|
+
* @param mutuallyExclusive {Array<NamedNode>} - Any RDF classes of sentimentswhich are mutiually exclusive
|
|
5867
|
+
*/
|
|
5868
|
+
|
|
5869
|
+
// THUMBS_UP_ICON
|
|
5870
|
+
// https://schema.org/AgreeAction
|
|
5871
|
+
me = _solidLogic.authn.currentUser(); // If already logged on
|
|
5872
|
+
_context10.t2 = me;
|
|
5873
|
+
if (!_context10.t2) {
|
|
5874
|
+
_context10.next = 28;
|
|
5875
|
+
break;
|
|
5147
5876
|
}
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
|
|
5159
|
-
|
|
5160
|
-
|
|
5161
|
-
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
// THUMBS_UP_ICON
|
|
5173
|
-
// https://schema.org/AgreeAction
|
|
5174
|
-
me = _solidLogic.authn.currentUser(); // If already logged on
|
|
5175
|
-
// debug.log('Actions 3' + mostRecentVersion(message).value + ' ' + ns.schema('dateDeleted').value + ' ' + (mostRecentVersion(message).value !== ns.schema('dateDeleted').value))
|
|
5877
|
+
_context10.next = 25;
|
|
5878
|
+
return (0, _chatLogic.mostRecentVersion)(message).value;
|
|
5879
|
+
case 25:
|
|
5880
|
+
_context10.t3 = _context10.sent;
|
|
5881
|
+
_context10.t4 = ns.schema('dateDeleted').value;
|
|
5882
|
+
_context10.t2 = _context10.t3 !== _context10.t4;
|
|
5883
|
+
case 28:
|
|
5884
|
+
if (!_context10.t2) {
|
|
5885
|
+
_context10.next = 32;
|
|
5886
|
+
break;
|
|
5887
|
+
}
|
|
5888
|
+
context1 = {
|
|
5889
|
+
me: me,
|
|
5890
|
+
dom: dom,
|
|
5891
|
+
div: div
|
|
5892
|
+
};
|
|
5893
|
+
div.appendChild(sentimentButton(context1, message,
|
|
5894
|
+
// @@ TODO use widgets.sentimentButton
|
|
5895
|
+
_iconBase.icons.iconBase + THUMBS_UP_ICON, ns.schema('AgreeAction'), message.doc(), [ns.schema('DisagreeAction')]));
|
|
5896
|
+
// Thumbs down
|
|
5897
|
+
div.appendChild(sentimentButton(context1, message, _iconBase.icons.iconBase + THUMBS_DOWN_ICON, ns.schema('DisagreeAction'), message.doc(), [ns.schema('AgreeAction')]));
|
|
5898
|
+
case 32:
|
|
5899
|
+
// Reply buttton
|
|
5176
5900
|
|
|
5177
|
-
|
|
5178
|
-
|
|
5179
|
-
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
|
|
5183
|
-
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5191
|
-
|
|
5192
|
-
|
|
5193
|
-
|
|
5194
|
-
|
|
5901
|
+
if (_solidLogic.store.any(message, ns.dct('created'))) {
|
|
5902
|
+
// Looks like a messsage? Bar can be used for other things
|
|
5903
|
+
div.appendChild(widgets.button(dom, _iconBase.icons.iconBase + REPLY_ICON, 'Reply in thread', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
5904
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
5905
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
5906
|
+
case 0:
|
|
5907
|
+
_context5.next = 2;
|
|
5908
|
+
return replyInThread();
|
|
5909
|
+
case 2:
|
|
5910
|
+
case "end":
|
|
5911
|
+
return _context5.stop();
|
|
5912
|
+
}
|
|
5913
|
+
}, _callee5);
|
|
5914
|
+
}))));
|
|
5915
|
+
}
|
|
5916
|
+
// X button to remove the tool UI itself
|
|
5917
|
+
cancelButton = div.appendChild(widgets.cancelButton(dom));
|
|
5918
|
+
cancelButton.style["float"] = 'right';
|
|
5919
|
+
cancelButton.firstChild.style.opacity = '0.3';
|
|
5920
|
+
cancelButton.addEventListener('click', closeToolbar);
|
|
5921
|
+
return _context10.abrupt("return", div);
|
|
5922
|
+
case 38:
|
|
5923
|
+
case "end":
|
|
5924
|
+
return _context10.stop();
|
|
5925
|
+
}
|
|
5926
|
+
}, _callee10);
|
|
5927
|
+
}));
|
|
5928
|
+
return _messageToolbar.apply(this, arguments);
|
|
5195
5929
|
}
|
|
5196
5930
|
//# sourceMappingURL=messageTools.js.map
|
|
5197
5931
|
|
|
@@ -5209,7 +5943,7 @@ function messageToolbar(message, messageRow, userContext, channelObject) {
|
|
|
5209
5943
|
Object.defineProperty(exports, "__esModule", ({
|
|
5210
5944
|
value: true
|
|
5211
5945
|
}));
|
|
5212
|
-
exports.SEC =
|
|
5946
|
+
exports.SEC = void 0;
|
|
5213
5947
|
exports.getBlankMsg = getBlankMsg;
|
|
5214
5948
|
exports.getMsgHash = getMsgHash;
|
|
5215
5949
|
exports.serializeMsg = serializeMsg;
|
|
@@ -5227,8 +5961,7 @@ exports.utf8Decoder = utf8Decoder;
|
|
|
5227
5961
|
var utf8Encoder = new TextEncoder();
|
|
5228
5962
|
exports.utf8Encoder = utf8Encoder;
|
|
5229
5963
|
var SEC = 'https://w3id.org/security#'; // Proof, VerificationMethod
|
|
5230
|
-
|
|
5231
|
-
var CERT = 'http://www.w3.org/ns/auth/cert#'; // PrivateKey, PublicKey
|
|
5964
|
+
// export const CERT = 'http://www.w3.org/ns/auth/cert#' // PrivateKey, PublicKey, key
|
|
5232
5965
|
|
|
5233
5966
|
/* eslint-disable no-unused-vars */
|
|
5234
5967
|
/* export enum Kind {
|
|
@@ -5254,7 +5987,7 @@ var CERT = 'http://www.w3.org/ns/auth/cert#'; // PrivateKey, PublicKey
|
|
|
5254
5987
|
ProfileBadge = 30009,
|
|
5255
5988
|
Article = 30023
|
|
5256
5989
|
} */
|
|
5257
|
-
exports.
|
|
5990
|
+
exports.SEC = SEC;
|
|
5258
5991
|
function getBlankMsg() {
|
|
5259
5992
|
return {
|
|
5260
5993
|
id: '',
|
|
@@ -5855,6 +6588,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
5855
6588
|
*/
|
|
5856
6589
|
var DEFAULT_HELP_MENU_ICON = _index.icons.iconBase + 'noun_help.svg';
|
|
5857
6590
|
var DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg';
|
|
6591
|
+
|
|
6592
|
+
/*
|
|
6593
|
+
HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default
|
|
6594
|
+
is solid. Menulist will always show a link to logout and to the users profile.
|
|
6595
|
+
*/
|
|
5858
6596
|
/**
|
|
5859
6597
|
* Initialize header component, the header object returned depends on whether the user is authenticated.
|
|
5860
6598
|
* @param store the data store
|
|
@@ -6528,10 +7266,7 @@ var TDEBUG = 32;
|
|
|
6528
7266
|
var TALL = 63;
|
|
6529
7267
|
|
|
6530
7268
|
/** @internal */
|
|
6531
|
-
var LogLevel
|
|
6532
|
-
/** @internal */
|
|
6533
|
-
exports.LogLevel = LogLevel;
|
|
6534
|
-
(function (LogLevel) {
|
|
7269
|
+
var LogLevel = /*#__PURE__*/function (LogLevel) {
|
|
6535
7270
|
LogLevel[LogLevel["Error"] = 1] = "Error";
|
|
6536
7271
|
LogLevel[LogLevel["Warning"] = 2] = "Warning";
|
|
6537
7272
|
LogLevel[LogLevel["Message"] = 4] = "Message";
|
|
@@ -6539,7 +7274,10 @@ exports.LogLevel = LogLevel;
|
|
|
6539
7274
|
LogLevel[LogLevel["Info"] = 16] = "Info";
|
|
6540
7275
|
LogLevel[LogLevel["Debug"] = 32] = "Debug";
|
|
6541
7276
|
LogLevel[LogLevel["All"] = 63] = "All";
|
|
6542
|
-
|
|
7277
|
+
return LogLevel;
|
|
7278
|
+
}({});
|
|
7279
|
+
/** @internal */
|
|
7280
|
+
exports.LogLevel = LogLevel;
|
|
6543
7281
|
var _level = TERROR + TWARN + TMESG;
|
|
6544
7282
|
/** @internal */
|
|
6545
7283
|
var _ascending = false;
|
|
@@ -6748,7 +7486,30 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
6748
7486
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
6749
7487
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
6750
7488
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6751
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7489
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /* eslint-disable camelcase */ /**
|
|
7490
|
+
* Signing in, signing up, profile and preferences reloading
|
|
7491
|
+
* Type index management
|
|
7492
|
+
*
|
|
7493
|
+
* Many functions in this module take a context object which
|
|
7494
|
+
* holds various RDF symbols, add to it, and return a promise of it.
|
|
7495
|
+
*
|
|
7496
|
+
* * `me` RDF symbol for the user's WebID
|
|
7497
|
+
* * `publicProfile` The user's public profile, iff loaded
|
|
7498
|
+
* * `preferencesFile` The user's personal preference file, iff loaded
|
|
7499
|
+
* * `index.public` The user's public type index file
|
|
7500
|
+
* * `index.private` The user's private type index file
|
|
7501
|
+
*
|
|
7502
|
+
* Not RDF symbols:
|
|
7503
|
+
* * `noun` A string in english for the type of thing -- like "address book"
|
|
7504
|
+
* * `instance` An array of nodes which are existing instances
|
|
7505
|
+
* * `containers` An array of nodes of containers of instances
|
|
7506
|
+
* * `div` A DOM element where UI can be displayed
|
|
7507
|
+
* * `statusArea` A DOM element (opt) progress stuff can be displayed, or error messages
|
|
7508
|
+
* *
|
|
7509
|
+
* * Vocabulary: "load" loads a file if it exists;
|
|
7510
|
+
* * 'Ensure" CREATES the file if it does not exist (if it can) and then loads it.
|
|
7511
|
+
* @packageDocumentation
|
|
7512
|
+
*/ // eslint-disable-next-line camelcase
|
|
6752
7513
|
var store = _solidLogic.solidLogicSingleton.store;
|
|
6753
7514
|
var _solidLogicSingleton$ = _solidLogic.solidLogicSingleton.profile,
|
|
6754
7515
|
loadPreferences = _solidLogicSingleton$.loadPreferences,
|
|
@@ -8865,7 +9626,10 @@ var _participation = __webpack_require__(/*! ./participation */ "./lib/participa
|
|
|
8865
9626
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
8866
9627
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
8867
9628
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
8868
|
-
function _isNativeReflectConstruct() { 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; } }
|
|
9629
|
+
function _isNativeReflectConstruct() { 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; } } /** **************
|
|
9630
|
+
* Notepad Widget
|
|
9631
|
+
*/ /** @module pad
|
|
9632
|
+
*/
|
|
8869
9633
|
var store = _solidLogic.solidLogicSingleton.store;
|
|
8870
9634
|
var PAD = (0, _rdflib.Namespace)('http://www.w3.org/ns/pim/pad#');
|
|
8871
9635
|
/**
|
|
@@ -9686,7 +10450,8 @@ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol
|
|
|
9686
10450
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
9687
10451
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9688
10452
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
9689
|
-
function _isNativeReflectConstruct() { 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; } }
|
|
10453
|
+
function _isNativeReflectConstruct() { 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; } } /* Manage a UI for the particpation of a person in any thing
|
|
10454
|
+
*/ // import { currentUser } from './authn/authn'
|
|
9690
10455
|
var ParticipationTableElement = /*#__PURE__*/function (_HTMLTableElement) {
|
|
9691
10456
|
(0, _inherits2["default"])(ParticipationTableElement, _HTMLTableElement);
|
|
9692
10457
|
var _super = _createSuper(ParticipationTableElement);
|
|
@@ -9946,6 +10711,10 @@ function recordSharedPreferences(subject, context) {
|
|
|
9946
10711
|
return new Promise(function (resolve, reject) {
|
|
9947
10712
|
var sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'));
|
|
9948
10713
|
if (!sharedPreferences) {
|
|
10714
|
+
if (!kb.updater.editable(subject.doc())) {
|
|
10715
|
+
debug.log(" Cant make shared preferences, may not change ".concat(subject.doc));
|
|
10716
|
+
resolve(context);
|
|
10717
|
+
}
|
|
9949
10718
|
var sp = $rdf.sym(subject.doc().uri + '#SharedPreferences');
|
|
9950
10719
|
var ins = [$rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())];
|
|
9951
10720
|
debug.log('Creating shared preferences ' + sp);
|
|
@@ -12545,6 +13314,8 @@ var _ = __webpack_require__(/*! .. */ "./lib/index.js");
|
|
|
12545
13314
|
Copied from mashlib/src/global/metadata.ts
|
|
12546
13315
|
*/
|
|
12547
13316
|
|
|
13317
|
+
/* @ts-ignore no-console */
|
|
13318
|
+
|
|
12548
13319
|
/**
|
|
12549
13320
|
* @ignore exporting this only for the unit test
|
|
12550
13321
|
*/
|
|
@@ -13255,218 +14026,126 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
13255
14026
|
exports.getExistingPrivateKey = getExistingPrivateKey;
|
|
13256
14027
|
exports.getExistingPublicKey = getExistingPublicKey;
|
|
13257
14028
|
exports.getKeyIfExists = getKeyIfExists;
|
|
13258
|
-
exports.pubKeyUrl = exports.privKeyUrl =
|
|
14029
|
+
exports.pubKeyUrl = exports.privKeyUrl = void 0;
|
|
13259
14030
|
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
|
|
13260
14031
|
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
|
|
13261
14032
|
var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
|
|
13262
|
-
var _signature = __webpack_require__(/*! ../../chat/signature */ "./lib/chat/signature.js");
|
|
13263
14033
|
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
13264
14034
|
var ns = _interopRequireWildcard(__webpack_require__(/*! ../../ns */ "./lib/ns.js"));
|
|
14035
|
+
var _otherHelpers = __webpack_require__(/*! ./otherHelpers */ "./lib/utils/keyHelpers/otherHelpers.js");
|
|
13265
14036
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13266
14037
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13267
|
-
var
|
|
13268
|
-
var
|
|
13269
|
-
|
|
13270
|
-
var
|
|
13271
|
-
|
|
13272
|
-
|
|
13273
|
-
|
|
13274
|
-
|
|
13275
|
-
|
|
13276
|
-
|
|
13277
|
-
case 3:
|
|
13278
|
-
storages = _solidLogic.store.each(webId, ns.space('storage'), null, webId.doc());
|
|
13279
|
-
if (storages !== null && storages !== void 0 && storages.length) {
|
|
13280
|
-
_context.next = 19;
|
|
13281
|
-
break;
|
|
13282
|
-
}
|
|
13283
|
-
// find storage recursively in webId URL
|
|
13284
|
-
path = webIdURL.pathname;
|
|
13285
|
-
case 6:
|
|
13286
|
-
if (!path.length) {
|
|
13287
|
-
_context.next = 17;
|
|
13288
|
-
break;
|
|
13289
|
-
}
|
|
13290
|
-
path = path.substring(0, path.lastIndexOf('/'));
|
|
13291
|
-
podRoot = _solidLogic.store.sym(webIdURL.origin + path + '/');
|
|
13292
|
-
_context.next = 11;
|
|
13293
|
-
return _solidLogic.store.fetcher.webOperation('HEAD', podRoot.uri);
|
|
13294
|
-
case 11:
|
|
13295
|
-
res = _context.sent;
|
|
13296
|
-
if (!((_res$headers$get = res.headers.get('link')) !== null && _res$headers$get !== void 0 && _res$headers$get.includes(ns.space('Storage').value))) {
|
|
13297
|
-
_context.next = 14;
|
|
13298
|
-
break;
|
|
13299
|
-
}
|
|
13300
|
-
return _context.abrupt("break", 17);
|
|
13301
|
-
case 14:
|
|
13302
|
-
if (!path) debug.warn("Current user storage not found for\n".concat(webId));
|
|
13303
|
-
_context.next = 6;
|
|
13304
|
-
break;
|
|
13305
|
-
case 17:
|
|
13306
|
-
_context.next = 21;
|
|
13307
|
-
break;
|
|
13308
|
-
case 19:
|
|
13309
|
-
// give preference to storage in webId root
|
|
13310
|
-
podRoot = storages.find(function (storage) {
|
|
13311
|
-
return webIdURL.origin === new URL(storage.value).origin;
|
|
13312
|
-
});
|
|
13313
|
-
if (!podRoot) podRoot = storages[0];
|
|
13314
|
-
case 21:
|
|
13315
|
-
return _context.abrupt("return", (_podRoot = podRoot) === null || _podRoot === void 0 ? void 0 : _podRoot.value);
|
|
13316
|
-
case 22:
|
|
13317
|
-
case "end":
|
|
13318
|
-
return _context.stop();
|
|
13319
|
-
}
|
|
13320
|
-
}, _callee);
|
|
13321
|
-
}));
|
|
13322
|
-
return function getPodRoot(_x) {
|
|
13323
|
-
return _ref.apply(this, arguments);
|
|
13324
|
-
};
|
|
13325
|
-
}();
|
|
13326
|
-
exports.getPodRoot = getPodRoot;
|
|
13327
|
-
var pubKeyUrl = /*#__PURE__*/function () {
|
|
13328
|
-
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
|
|
13329
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
13330
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
13331
|
-
case 0:
|
|
13332
|
-
_context2.prev = 0;
|
|
13333
|
-
_context2.next = 3;
|
|
13334
|
-
return getPodRoot(webId);
|
|
13335
|
-
case 3:
|
|
13336
|
-
_context2.t0 = _context2.sent;
|
|
13337
|
-
return _context2.abrupt("return", _context2.t0 + 'profile/keys/publicKey.ttl');
|
|
13338
|
-
case 7:
|
|
13339
|
-
_context2.prev = 7;
|
|
13340
|
-
_context2.t1 = _context2["catch"](0);
|
|
13341
|
-
throw new Error(_context2.t1);
|
|
13342
|
-
case 10:
|
|
13343
|
-
case "end":
|
|
13344
|
-
return _context2.stop();
|
|
13345
|
-
}
|
|
13346
|
-
}, _callee2, null, [[0, 7]]);
|
|
13347
|
-
}));
|
|
13348
|
-
return function pubKeyUrl(_x2) {
|
|
13349
|
-
return _ref2.apply(this, arguments);
|
|
13350
|
-
};
|
|
13351
|
-
}();
|
|
14038
|
+
var pubKeyUrl = function pubKeyUrl(webId) {
|
|
14039
|
+
var url;
|
|
14040
|
+
try {
|
|
14041
|
+
var root = (0, _otherHelpers.getRootIfPreferencesExist)(webId);
|
|
14042
|
+
url = "".concat(root, "/profile/keys/publicKey.ttl");
|
|
14043
|
+
} catch (err) {
|
|
14044
|
+
debug.error(err);
|
|
14045
|
+
}
|
|
14046
|
+
return url;
|
|
14047
|
+
};
|
|
13352
14048
|
exports.pubKeyUrl = pubKeyUrl;
|
|
13353
|
-
function
|
|
14049
|
+
var privKeyUrl = function privKeyUrl(webId) {
|
|
14050
|
+
var url;
|
|
14051
|
+
try {
|
|
14052
|
+
var root = (0, _otherHelpers.getRootIfPreferencesExist)(webId);
|
|
14053
|
+
url = "".concat(root, "/keys/privateKey.ttl");
|
|
14054
|
+
} catch (err) {
|
|
14055
|
+
debug.error(err);
|
|
14056
|
+
}
|
|
14057
|
+
return url;
|
|
14058
|
+
};
|
|
14059
|
+
exports.privKeyUrl = privKeyUrl;
|
|
14060
|
+
function getExistingPublicKey(_x, _x2) {
|
|
13354
14061
|
return _getExistingPublicKey.apply(this, arguments);
|
|
13355
14062
|
}
|
|
13356
14063
|
function _getExistingPublicKey() {
|
|
13357
|
-
_getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
13358
|
-
return _regenerator["default"].wrap(function
|
|
13359
|
-
while (1) switch (
|
|
14064
|
+
_getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId, publicKeyUrl) {
|
|
14065
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14066
|
+
while (1) switch (_context.prev = _context.next) {
|
|
13360
14067
|
case 0:
|
|
13361
|
-
|
|
13362
|
-
return getKeyIfExists(webId, publicKeyUrl, '
|
|
14068
|
+
_context.next = 2;
|
|
14069
|
+
return getKeyIfExists(webId, publicKeyUrl, 'publicKey');
|
|
13363
14070
|
case 2:
|
|
13364
|
-
return
|
|
14071
|
+
return _context.abrupt("return", _context.sent);
|
|
13365
14072
|
case 3:
|
|
13366
14073
|
case "end":
|
|
13367
|
-
return
|
|
14074
|
+
return _context.stop();
|
|
13368
14075
|
}
|
|
13369
|
-
},
|
|
14076
|
+
}, _callee);
|
|
13370
14077
|
}));
|
|
13371
14078
|
return _getExistingPublicKey.apply(this, arguments);
|
|
13372
14079
|
}
|
|
13373
|
-
|
|
13374
|
-
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
|
|
13375
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
13376
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
13377
|
-
case 0:
|
|
13378
|
-
_context3.prev = 0;
|
|
13379
|
-
_context3.next = 3;
|
|
13380
|
-
return getPodRoot(webId);
|
|
13381
|
-
case 3:
|
|
13382
|
-
_context3.t0 = _context3.sent;
|
|
13383
|
-
return _context3.abrupt("return", _context3.t0 + 'profile/keys/privateKey.ttl');
|
|
13384
|
-
case 7:
|
|
13385
|
-
_context3.prev = 7;
|
|
13386
|
-
_context3.t1 = _context3["catch"](0);
|
|
13387
|
-
throw new Error(_context3.t1);
|
|
13388
|
-
case 10:
|
|
13389
|
-
case "end":
|
|
13390
|
-
return _context3.stop();
|
|
13391
|
-
}
|
|
13392
|
-
}, _callee3, null, [[0, 7]]);
|
|
13393
|
-
}));
|
|
13394
|
-
return function privKeyUrl(_x5) {
|
|
13395
|
-
return _ref3.apply(this, arguments);
|
|
13396
|
-
};
|
|
13397
|
-
}();
|
|
13398
|
-
exports.privKeyUrl = privKeyUrl;
|
|
13399
|
-
function getExistingPrivateKey(_x6, _x7) {
|
|
14080
|
+
function getExistingPrivateKey(_x3, _x4) {
|
|
13400
14081
|
return _getExistingPrivateKey.apply(this, arguments);
|
|
13401
14082
|
}
|
|
13402
14083
|
function _getExistingPrivateKey() {
|
|
13403
|
-
_getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
13404
|
-
return _regenerator["default"].wrap(function
|
|
13405
|
-
while (1) switch (
|
|
14084
|
+
_getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId, privateKeyUrl) {
|
|
14085
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
14086
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
13406
14087
|
case 0:
|
|
13407
|
-
|
|
13408
|
-
return getKeyIfExists(webId, privateKeyUrl, '
|
|
14088
|
+
_context2.next = 2;
|
|
14089
|
+
return getKeyIfExists(webId, privateKeyUrl, 'privateKey');
|
|
13409
14090
|
case 2:
|
|
13410
|
-
return
|
|
14091
|
+
return _context2.abrupt("return", _context2.sent);
|
|
13411
14092
|
case 3:
|
|
13412
14093
|
case "end":
|
|
13413
|
-
return
|
|
14094
|
+
return _context2.stop();
|
|
13414
14095
|
}
|
|
13415
|
-
},
|
|
14096
|
+
}, _callee2);
|
|
13416
14097
|
}));
|
|
13417
14098
|
return _getExistingPrivateKey.apply(this, arguments);
|
|
13418
14099
|
}
|
|
13419
|
-
function getKeyIfExists(
|
|
14100
|
+
function getKeyIfExists(_x5, _x6, _x7) {
|
|
13420
14101
|
return _getKeyIfExists.apply(this, arguments);
|
|
13421
14102
|
}
|
|
13422
14103
|
function _getKeyIfExists() {
|
|
13423
|
-
_getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
13424
|
-
var key
|
|
13425
|
-
return _regenerator["default"].wrap(function
|
|
13426
|
-
while (1) switch (
|
|
14104
|
+
_getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId, keyUrl, keyType) {
|
|
14105
|
+
var key;
|
|
14106
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
14107
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
13427
14108
|
case 0:
|
|
13428
|
-
|
|
13429
|
-
|
|
14109
|
+
_context3.prev = 0;
|
|
14110
|
+
_context3.next = 3;
|
|
13430
14111
|
return _solidLogic.store.fetcher.load(keyUrl);
|
|
13431
14112
|
case 3:
|
|
13432
|
-
key = _solidLogic.store.any(webId,
|
|
13433
|
-
return
|
|
14113
|
+
key = _solidLogic.store.any(webId, ns.solid(keyType)); // store.sym(CERT + keyType))
|
|
14114
|
+
return _context3.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
|
|
13434
14115
|
case 7:
|
|
13435
|
-
|
|
13436
|
-
|
|
13437
|
-
if (!(
|
|
13438
|
-
|
|
14116
|
+
_context3.prev = 7;
|
|
14117
|
+
_context3.t0 = _context3["catch"](0);
|
|
14118
|
+
if (!(_context3.t0.response.status === 404)) {
|
|
14119
|
+
_context3.next = 24;
|
|
13439
14120
|
break;
|
|
13440
14121
|
}
|
|
13441
|
-
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
contentType = 'text/turtle';
|
|
13445
|
-
_context6.next = 15;
|
|
14122
|
+
debug.log('createIfNotExists: doc does NOT exist, will create... ' + keyUrl);
|
|
14123
|
+
_context3.prev = 11;
|
|
14124
|
+
_context3.next = 14;
|
|
13446
14125
|
return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
|
|
13447
|
-
data:
|
|
13448
|
-
contentType:
|
|
14126
|
+
data: '',
|
|
14127
|
+
contentType: 'text/turtle'
|
|
13449
14128
|
});
|
|
13450
|
-
case
|
|
13451
|
-
|
|
13452
|
-
_context6.next = 22;
|
|
14129
|
+
case 14:
|
|
14130
|
+
_context3.next = 20;
|
|
13453
14131
|
break;
|
|
13454
|
-
case
|
|
13455
|
-
|
|
13456
|
-
|
|
13457
|
-
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' +
|
|
13458
|
-
throw
|
|
13459
|
-
case
|
|
14132
|
+
case 16:
|
|
14133
|
+
_context3.prev = 16;
|
|
14134
|
+
_context3.t1 = _context3["catch"](11);
|
|
14135
|
+
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t1);
|
|
14136
|
+
throw _context3.t1;
|
|
14137
|
+
case 20:
|
|
13460
14138
|
delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
|
|
13461
|
-
|
|
14139
|
+
// debug.log('createIfNotExists doc created ok ' + doc)
|
|
14140
|
+
return _context3.abrupt("return", undefined);
|
|
13462
14141
|
case 24:
|
|
13463
|
-
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' +
|
|
13464
|
-
throw
|
|
14142
|
+
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t0);
|
|
14143
|
+
throw _context3.t0;
|
|
13465
14144
|
case 26:
|
|
13466
14145
|
case "end":
|
|
13467
|
-
return
|
|
14146
|
+
return _context3.stop();
|
|
13468
14147
|
}
|
|
13469
|
-
},
|
|
14148
|
+
}, _callee3, null, [[0, 7], [11, 16]]);
|
|
13470
14149
|
}));
|
|
13471
14150
|
return _getKeyIfExists.apply(this, arguments);
|
|
13472
14151
|
}
|
|
@@ -13577,6 +14256,39 @@ exports.keyAclBody = keyAclBody;
|
|
|
13577
14256
|
|
|
13578
14257
|
/***/ }),
|
|
13579
14258
|
|
|
14259
|
+
/***/ "./lib/utils/keyHelpers/otherHelpers.js":
|
|
14260
|
+
/*!**********************************************!*\
|
|
14261
|
+
!*** ./lib/utils/keyHelpers/otherHelpers.js ***!
|
|
14262
|
+
\**********************************************/
|
|
14263
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
14264
|
+
|
|
14265
|
+
"use strict";
|
|
14266
|
+
|
|
14267
|
+
|
|
14268
|
+
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
|
|
14269
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
14270
|
+
value: true
|
|
14271
|
+
}));
|
|
14272
|
+
exports.getRootIfPreferencesExist = void 0;
|
|
14273
|
+
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
14274
|
+
var ns = _interopRequireWildcard(__webpack_require__(/*! ../../ns */ "./lib/ns.js"));
|
|
14275
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14276
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14277
|
+
// Will rename this file later. We will probably be using solid-logic anyway
|
|
14278
|
+
// moved it out so I can mock
|
|
14279
|
+
|
|
14280
|
+
var getRootIfPreferencesExist = function getRootIfPreferencesExist(webId) {
|
|
14281
|
+
var _store$any, _root;
|
|
14282
|
+
var root = (_store$any = _solidLogic.store.any(webId, ns.space('preferencesFile'), null, webId.doc())) === null || _store$any === void 0 ? void 0 : _store$any.value;
|
|
14283
|
+
root = (_root = root) === null || _root === void 0 ? void 0 : _root.split('/').slice(0, -2).join('/');
|
|
14284
|
+
if (!root) throw new Error("prefererencesFile is expected to exist in ".concat(webId));
|
|
14285
|
+
return root;
|
|
14286
|
+
};
|
|
14287
|
+
exports.getRootIfPreferencesExist = getRootIfPreferencesExist;
|
|
14288
|
+
//# sourceMappingURL=otherHelpers.js.map
|
|
14289
|
+
|
|
14290
|
+
/***/ }),
|
|
14291
|
+
|
|
13580
14292
|
/***/ "./lib/utils/label.js":
|
|
13581
14293
|
/*!****************************!*\
|
|
13582
14294
|
!*** ./lib/utils/label.js ***!
|
|
@@ -13705,10 +14417,10 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
13705
14417
|
}));
|
|
13706
14418
|
exports.versionInfo = void 0;
|
|
13707
14419
|
var versionInfo = {
|
|
13708
|
-
buildTime: '2023-
|
|
13709
|
-
commit: '
|
|
14420
|
+
buildTime: '2023-06-01T22:20:16Z',
|
|
14421
|
+
commit: '11faa5972b5ac00437261d7b73eea3d1fdbfee9e',
|
|
13710
14422
|
npmInfo: {
|
|
13711
|
-
'solid-ui': '2.4.
|
|
14423
|
+
'solid-ui': '2.4.28',
|
|
13712
14424
|
npm: '8.19.4',
|
|
13713
14425
|
node: '16.20.0',
|
|
13714
14426
|
v8: '9.4.146.26-node.26',
|
|
@@ -13808,9 +14520,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
13808
14520
|
* UI Widgets such as buttons
|
|
13809
14521
|
* @packageDocumentation
|
|
13810
14522
|
*/
|
|
13811
|
-
|
|
13812
14523
|
/* global alert */
|
|
13813
|
-
|
|
13814
14524
|
var iconBase = _iconBase.icons.iconBase;
|
|
13815
14525
|
var cancelIconURI = iconBase + 'noun_1180156.svg'; // black X
|
|
13816
14526
|
var checkIconURI = iconBase + 'noun_1180158.svg'; // green checkmark; Continue
|
|
@@ -15493,7 +16203,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
15493
16203
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15494
16204
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
15495
16205
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15496
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
16206
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /* F O R M S
|
|
16207
|
+
*
|
|
16208
|
+
* A Vanilla Dom implementation of the form language
|
|
16209
|
+
*/ /* eslint-disable multiline-ternary */ /* global alert */ // Note default export
|
|
15497
16210
|
var checkMarkCharacter = "\u2713";
|
|
15498
16211
|
var cancelCharacter = "\u2715";
|
|
15499
16212
|
var dashCharacter = '-';
|
|
@@ -17489,7 +18202,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
17489
18202
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17490
18203
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
17491
18204
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
17492
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
18205
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /* The Autocomplete Control with decorations
|
|
18206
|
+
|
|
18207
|
+
This control has the buttons which control the state between editing, viewing, searching, accepting
|
|
18208
|
+
and so on. See the state diagram in the documentation. The AUtocomplete Picker does the main work.
|
|
18209
|
+
|
|
18210
|
+
*/
|
|
18211
|
+
// dbpediaParameters
|
|
18212
|
+
|
|
17493
18213
|
var WEBID_NOUN = 'Solid ID';
|
|
17494
18214
|
var GREEN_PLUS = _iconBase.icons.iconBase + 'noun_34653_green.svg';
|
|
17495
18215
|
var SEARCH_ICON = _iconBase.icons.iconBase + 'noun_Search_875351.svg';
|
|
@@ -18035,7 +18755,11 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
18035
18755
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18036
18756
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
18037
18757
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18038
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
18758
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /* Autocomplete Picker: Create and edit data using public data
|
|
18759
|
+
**
|
|
18760
|
+
** As the data source is passed as a parameter, all kinds of APIa and query services can be used
|
|
18761
|
+
**
|
|
18762
|
+
*/
|
|
18039
18763
|
var AUTOCOMPLETE_THRESHOLD = 4; // don't check until this many characters typed
|
|
18040
18764
|
var AUTOCOMPLETE_ROWS = 20; // 20?
|
|
18041
18765
|
var AUTOCOMPLETE_ROWS_STRETCH = 40;
|
|
@@ -18135,7 +18859,8 @@ function _renderAutoComplete() {
|
|
|
18135
18859
|
};
|
|
18136
18860
|
}());
|
|
18137
18861
|
return row;
|
|
18138
|
-
};
|
|
18862
|
+
}; // console.log('@@ refreshList called')
|
|
18863
|
+
// rowForBinding
|
|
18139
18864
|
if (!inputEventHandlerLock) {
|
|
18140
18865
|
_context7.next = 5;
|
|
18141
18866
|
break;
|
|
@@ -18388,7 +19113,7 @@ function _renderAutoComplete() {
|
|
|
18388
19113
|
// errorMessageBlock will log the stack to the console
|
|
18389
19114
|
style.setStyle(errorRow, 'autocompleteRowStyle');
|
|
18390
19115
|
errorRow.style.padding = '1em';
|
|
18391
|
-
};
|
|
19116
|
+
}; // refreshList
|
|
18392
19117
|
// initialiize
|
|
18393
19118
|
// const queryParams: QueryParameters = acOptions.queryParams
|
|
18394
19119
|
targetClass = acOptions.targetClass;
|
|
@@ -18488,6 +19213,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
18488
19213
|
// import * as logic from '../index'
|
|
18489
19214
|
// import { authn } from '../../../authn/index'
|
|
18490
19215
|
|
|
19216
|
+
// import { Binding } from '../widgets/forms/autocomplete/publicData'
|
|
19217
|
+
// import { nativeNameForLanguageCode, englishNameForLanguageCode } from './nativeNameForLanguageCode'
|
|
19218
|
+
|
|
19219
|
+
// const { currentUser } = logic.authn
|
|
19220
|
+
|
|
18491
19221
|
var languageCodeURIBase = 'https://www.w3.org/ns/iana/language-code/'; /// @@ unsupported on the web (2021)
|
|
18492
19222
|
exports.languageCodeURIBase = languageCodeURIBase;
|
|
18493
19223
|
var defaultPreferredLanguages = ['en', 'fr', 'de', 'it', 'ar'];
|
|
@@ -20598,6 +21328,17 @@ var _iconBase = __webpack_require__(/*! ../iconBase */ "./lib/iconBase.js");
|
|
|
20598
21328
|
var ns = _interopRequireWildcard(__webpack_require__(/*! ../ns */ "./lib/ns.js"));
|
|
20599
21329
|
var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
|
|
20600
21330
|
var _templateObject;
|
|
21331
|
+
/**
|
|
21332
|
+
*
|
|
21333
|
+
* People Picker Pane
|
|
21334
|
+
*
|
|
21335
|
+
* This pane offers a mechanism for selecting a set of individuals, groups, or
|
|
21336
|
+
* organizations to take some action on.
|
|
21337
|
+
*
|
|
21338
|
+
* Assumptions
|
|
21339
|
+
* - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption
|
|
21340
|
+
*
|
|
21341
|
+
*/
|
|
20601
21342
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20602
21343
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20603
21344
|
var kb = _solidLogic.solidLogicSingleton.store;
|