solid-ui 2.5.1 → 2.6.0

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.
Files changed (143) hide show
  1. package/README.md +4 -0
  2. package/dist/841.solid-ui.min.js +1 -1
  3. package/dist/841.solid-ui.min.js.map +1 -1
  4. package/dist/_2b19.solid-ui.js.map +1 -1
  5. package/dist/solid-ui.js +42754 -45728
  6. package/dist/solid-ui.js.map +1 -1
  7. package/dist/solid-ui.min.js +1 -1
  8. package/dist/solid-ui.min.js.LICENSE.txt +1 -5
  9. package/dist/solid-ui.min.js.map +1 -1
  10. package/lib/acl/access-controller.js +48 -49
  11. package/lib/acl/access-controller.js.map +1 -1
  12. package/lib/acl/access-groups.js +40 -40
  13. package/lib/acl/access-groups.js.map +1 -1
  14. package/lib/acl/acl-control.js +18 -19
  15. package/lib/acl/acl-control.js.map +1 -1
  16. package/lib/acl/acl.js +4 -5
  17. package/lib/acl/acl.js.map +1 -1
  18. package/lib/acl/add-agent-buttons.js +51 -52
  19. package/lib/acl/add-agent-buttons.js.map +1 -1
  20. package/lib/chat/bookmarks.js +76 -77
  21. package/lib/chat/bookmarks.js.map +1 -1
  22. package/lib/chat/chatLogic.js +74 -75
  23. package/lib/chat/chatLogic.js.map +1 -1
  24. package/lib/chat/dateFolder.js +66 -67
  25. package/lib/chat/dateFolder.js.map +1 -1
  26. package/lib/chat/infinite.js +218 -220
  27. package/lib/chat/infinite.js.map +1 -1
  28. package/lib/chat/keys.js +62 -63
  29. package/lib/chat/keys.js.map +1 -1
  30. package/lib/chat/message.js +98 -100
  31. package/lib/chat/message.js.map +1 -1
  32. package/lib/chat/messageTools.js +99 -100
  33. package/lib/chat/messageTools.js.map +1 -1
  34. package/lib/chat/signature.d.ts.map +1 -1
  35. package/lib/chat/signature.js +0 -1
  36. package/lib/chat/signature.js.map +1 -1
  37. package/lib/chat/thread.js +57 -61
  38. package/lib/chat/thread.js.map +1 -1
  39. package/lib/create/create.js +1 -2
  40. package/lib/create/create.js.map +1 -1
  41. package/lib/folders.js +1 -4
  42. package/lib/folders.js.map +1 -1
  43. package/lib/footer/index.d.ts.map +1 -1
  44. package/lib/footer/index.js +14 -16
  45. package/lib/footer/index.js.map +1 -1
  46. package/lib/header/index.js +34 -36
  47. package/lib/header/index.js.map +1 -1
  48. package/lib/iconBase.d.ts.map +1 -1
  49. package/lib/iconBase.js +0 -1
  50. package/lib/iconBase.js.map +1 -1
  51. package/lib/index.d.ts +1 -1
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/index.js +5 -5
  54. package/lib/index.js.map +1 -1
  55. package/lib/log.d.ts +7 -7
  56. package/lib/log.d.ts.map +1 -1
  57. package/lib/log.js +2 -2
  58. package/lib/log.js.map +1 -1
  59. package/lib/login/login.js +217 -222
  60. package/lib/login/login.js.map +1 -1
  61. package/lib/matrix/matrix.js +1 -2
  62. package/lib/matrix/matrix.js.map +1 -1
  63. package/lib/matrix/types.js.map +1 -1
  64. package/lib/media/media-capture.js +3 -4
  65. package/lib/media/media-capture.js.map +1 -1
  66. package/lib/messageArea.js +1 -4
  67. package/lib/messageArea.js.map +1 -1
  68. package/lib/ns.js +1 -2
  69. package/lib/ns.js.map +1 -1
  70. package/lib/pad.js +1 -2
  71. package/lib/pad.js.map +1 -1
  72. package/lib/participation.js +1 -2
  73. package/lib/participation.js.map +1 -1
  74. package/lib/preferences.js +1 -2
  75. package/lib/preferences.js.map +1 -1
  76. package/lib/table.js +1 -2
  77. package/lib/table.js.map +1 -1
  78. package/lib/tabs.d.ts.map +1 -1
  79. package/lib/tabs.js +1 -2
  80. package/lib/tabs.js.map +1 -1
  81. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  82. package/lib/utils/headerFooterHelpers.js +36 -36
  83. package/lib/utils/headerFooterHelpers.js.map +1 -1
  84. package/lib/utils/index.js +1 -2
  85. package/lib/utils/index.js.map +1 -1
  86. package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
  87. package/lib/utils/keyHelpers/accessData.js +33 -34
  88. package/lib/utils/keyHelpers/accessData.js.map +1 -1
  89. package/lib/utils/keyHelpers/acl.d.ts.map +1 -1
  90. package/lib/utils/keyHelpers/acl.js +21 -22
  91. package/lib/utils/keyHelpers/acl.js.map +1 -1
  92. package/lib/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  93. package/lib/utils/keyHelpers/otherHelpers.js +1 -2
  94. package/lib/utils/keyHelpers/otherHelpers.js.map +1 -1
  95. package/lib/utils/label.js +1 -2
  96. package/lib/utils/label.js.map +1 -1
  97. package/lib/versionInfo.d.ts +4 -3
  98. package/lib/versionInfo.d.ts.map +1 -1
  99. package/lib/versionInfo.js +30 -30
  100. package/lib/versionInfo.js.map +1 -1
  101. package/lib/widgets/buttons/iconLinks.d.ts.map +1 -1
  102. package/lib/widgets/buttons/iconLinks.js +2 -2
  103. package/lib/widgets/buttons/iconLinks.js.map +1 -1
  104. package/lib/widgets/buttons.d.ts +1 -1
  105. package/lib/widgets/buttons.d.ts.map +1 -1
  106. package/lib/widgets/buttons.js +1 -3
  107. package/lib/widgets/buttons.js.map +1 -1
  108. package/lib/widgets/dragAndDrop.js +1 -2
  109. package/lib/widgets/dragAndDrop.js.map +1 -1
  110. package/lib/widgets/error.js +1 -2
  111. package/lib/widgets/error.js.map +1 -1
  112. package/lib/widgets/forms/autocomplete/autocompleteBar.js +47 -48
  113. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  114. package/lib/widgets/forms/autocomplete/autocompleteField.js +38 -39
  115. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  116. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  117. package/lib/widgets/forms/autocomplete/autocompletePicker.js +44 -45
  118. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  119. package/lib/widgets/forms/autocomplete/language.js +23 -24
  120. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  121. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
  122. package/lib/widgets/forms/autocomplete/publicData.js +91 -93
  123. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  124. package/lib/widgets/forms/basic.js +2 -3
  125. package/lib/widgets/forms/basic.js.map +1 -1
  126. package/lib/widgets/forms/comment.js +1 -2
  127. package/lib/widgets/forms/comment.js.map +1 -1
  128. package/lib/widgets/forms/fieldParams.js +1 -2
  129. package/lib/widgets/forms/fieldParams.js.map +1 -1
  130. package/lib/widgets/forms/formStyle.js +1 -2
  131. package/lib/widgets/forms/formStyle.js.map +1 -1
  132. package/lib/widgets/forms.js +79 -80
  133. package/lib/widgets/forms.js.map +1 -1
  134. package/lib/widgets/index.js +1 -2
  135. package/lib/widgets/index.js.map +1 -1
  136. package/lib/widgets/multiSelect.js +1 -2
  137. package/lib/widgets/multiSelect.js.map +1 -1
  138. package/lib/widgets/peoplePicker.js +1 -2
  139. package/lib/widgets/peoplePicker.js.map +1 -1
  140. package/lib/widgets/widgetHelpers.d.ts.map +1 -1
  141. package/lib/widgets/widgetHelpers.js +3 -3
  142. package/lib/widgets/widgetHelpers.js.map +1 -1
  143. package/package.json +57 -57
@@ -24,8 +24,7 @@ var _bookmarks = require("./bookmarks");
24
24
  var _solidLogic = require("solid-logic");
25
25
  var _chatLogic = require("./chatLogic");
26
26
  var _message = require("./message");
27
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
28
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
27
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t7 in e) "default" !== _t7 && {}.hasOwnProperty.call(e, _t7) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t7)) && (i.get || i.set) ? o(f, _t7, i) : f[_t7] = e[_t7]); return f; })(e, t); }
29
28
  /**
30
29
  * Tools for doing things with a message
31
30
  * Let us be creative here. Allow all sorts of things to
@@ -103,12 +102,12 @@ function sentimentStrip(_x, _x2) {
103
102
  function _sentimentStrip() {
104
103
  _sentimentStrip = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(target, doc) {
105
104
  var versions, actions, strings;
106
- return _regenerator["default"].wrap(function _callee$(_context) {
105
+ return _regenerator["default"].wrap(function (_context) {
107
106
  while (1) switch (_context.prev = _context.next) {
108
107
  case 0:
109
- _context.next = 2;
108
+ _context.next = 1;
110
109
  return (0, _chatLogic.allVersions)(target);
111
- case 2:
110
+ case 1:
112
111
  versions = _context.sent;
113
112
  // debug.log('sentimentStrip Versions for ' + target, versions)
114
113
  actions = versions.map(function (version) {
@@ -118,7 +117,7 @@ function _sentimentStrip() {
118
117
  return emojiFromAction(action) || '';
119
118
  });
120
119
  return _context.abrupt("return", dom.createTextNode(strings.join(' ')));
121
- case 6:
120
+ case 2:
122
121
  case "end":
123
122
  return _context.stop();
124
123
  }
@@ -135,36 +134,36 @@ function sentimentStripLinked(_x3, _x4) {
135
134
  function _sentimentStripLinked() {
136
135
  _sentimentStripLinked = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(target, doc) {
137
136
  var strip, refresh, _refresh;
138
- return _regenerator["default"].wrap(function _callee3$(_context3) {
137
+ return _regenerator["default"].wrap(function (_context3) {
139
138
  while (1) switch (_context3.prev = _context3.next) {
140
139
  case 0:
141
140
  _refresh = function _refresh3() {
142
141
  _refresh = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
143
142
  var versions, actions, sentiments;
144
- return _regenerator["default"].wrap(function _callee2$(_context2) {
143
+ return _regenerator["default"].wrap(function (_context2) {
145
144
  while (1) switch (_context2.prev = _context2.next) {
146
145
  case 0:
147
146
  strip.innerHTML = '';
148
147
  if (!(0, _chatLogic.isDeleted)(target)) {
149
- _context2.next = 3;
148
+ _context2.next = 1;
150
149
  break;
151
150
  }
152
151
  return _context2.abrupt("return", strip);
153
- case 3:
154
- _context2.next = 5;
152
+ case 1:
153
+ _context2.next = 2;
155
154
  return (0, _chatLogic.allVersions)(target);
156
- case 5:
155
+ case 2:
157
156
  versions = _context2.sent;
158
157
  // debug.log('sentimentStripLinked: Versions for ' + target, versions)
159
158
  actions = versions.map(function (version) {
160
159
  return _solidLogic.store.each(null, ns.schema('target'), version, doc);
161
160
  }).flat(); // debug.log('sentimentStripLinked: Actions for ' + target, actions)
162
161
  if (!(actions.length === 0)) {
163
- _context2.next = 9;
162
+ _context2.next = 3;
164
163
  break;
165
164
  }
166
165
  return _context2.abrupt("return", strip);
167
- case 9:
166
+ case 3:
168
167
  sentiments = actions.map(function (a) {
169
168
  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)];
170
169
  }); // debug.log(' Actions sentiments ', sentiments)
@@ -185,7 +184,7 @@ function _sentimentStripLinked() {
185
184
  strip.appendChild(res);
186
185
  });
187
186
  // debug.log(' Actions strip ', strip)
188
- case 12:
187
+ case 4:
189
188
  case "end":
190
189
  return _context2.stop();
191
190
  }
@@ -200,7 +199,7 @@ function _sentimentStripLinked() {
200
199
  refresh().then(debug.log('sentimentStripLinked: sentimentStripLinked async refreshed'));
201
200
  strip.refresh = refresh;
202
201
  return _context3.abrupt("return", strip);
203
- case 6:
202
+ case 1:
204
203
  case "end":
205
204
  return _context3.stop();
206
205
  }
@@ -212,10 +211,10 @@ function messageToolbar(_x5, _x6, _x7, _x8) {
212
211
  return _messageToolbar.apply(this, arguments);
213
212
  }
214
213
  function _messageToolbar() {
215
- _messageToolbar = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10(message, messageRow, userContext, channelObject) {
216
- var deleteMessage, _deleteMessage, editMessage, _editMessage, replyInThread, _replyInThread, div, closeToolbar, deleteThingThen, _deleteThingThen, me, sentimentButton, context1, cancelButton;
217
- return _regenerator["default"].wrap(function _callee10$(_context10) {
218
- while (1) switch (_context10.prev = _context10.next) {
214
+ _messageToolbar = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0(message, messageRow, userContext, channelObject) {
215
+ var deleteMessage, _deleteMessage, editMessage, _editMessage, replyInThread, _replyInThread, div, closeToolbar, deleteThingThen, _deleteThingThen, me, sentimentButton, context1, cancelButton, _t2, _t3, _t4, _t5, _t6;
216
+ return _regenerator["default"].wrap(function (_context0) {
217
+ while (1) switch (_context0.prev = _context0.next) {
219
218
  case 0:
220
219
  sentimentButton = function _sentimentButton(context, target, icon, actionClass, doc, mutuallyExclusive) {
221
220
  function setColor() {
@@ -224,66 +223,66 @@ function _messageToolbar() {
224
223
  var button = widgets.button(dom, icon, utils.label(actionClass), /*#__PURE__*/function () {
225
224
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(_event) {
226
225
  var insertMe, dirty, i, a;
227
- return _regenerator["default"].wrap(function _callee4$(_context4) {
226
+ return _regenerator["default"].wrap(function (_context4) {
228
227
  while (1) switch (_context4.prev = _context4.next) {
229
228
  case 0:
230
229
  if (!action) {
231
- _context4.next = 7;
230
+ _context4.next = 2;
232
231
  break;
233
232
  }
234
- _context4.next = 3;
233
+ _context4.next = 1;
235
234
  return deleteThingThen(action);
236
- case 3:
235
+ case 1:
237
236
  action = null;
238
237
  setColor();
239
- _context4.next = 25;
238
+ _context4.next = 8;
240
239
  break;
241
- case 7:
240
+ case 2:
242
241
  // no action
243
242
  action = widgets.newThing(doc);
244
243
  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)];
245
- _context4.next = 11;
244
+ _context4.next = 3;
246
245
  return _solidLogic.store.updater.update([], insertMe);
247
- case 11:
246
+ case 3:
248
247
  setColor();
249
248
  if (!mutuallyExclusive) {
250
- _context4.next = 25;
249
+ _context4.next = 8;
251
250
  break;
252
251
  }
253
252
  // Delete incompative sentiments
254
253
  dirty = false;
255
254
  i = 0;
256
- case 15:
255
+ case 4:
257
256
  if (!(i < mutuallyExclusive.length)) {
258
- _context4.next = 24;
257
+ _context4.next = 7;
259
258
  break;
260
259
  }
261
260
  a = existingAction(mutuallyExclusive[i]);
262
261
  if (!a) {
263
- _context4.next = 21;
262
+ _context4.next = 6;
264
263
  break;
265
264
  }
266
- _context4.next = 20;
265
+ _context4.next = 5;
267
266
  return deleteThingThen(a);
268
- case 20:
267
+ case 5:
269
268
  // but how refresh? refreshTree the parent?
270
269
  dirty = true;
271
- case 21:
270
+ case 6:
272
271
  i++;
273
- _context4.next = 15;
272
+ _context4.next = 4;
274
273
  break;
275
- case 24:
274
+ case 7:
276
275
  if (dirty) {
277
276
  // widgets.refreshTree(button.parentNode) // requires them all to be immediate siblings
278
277
  widgets.refreshTree(messageRow); // requires them all to be immediate siblings
279
278
  }
280
- case 25:
279
+ case 8:
281
280
  case "end":
282
281
  return _context4.stop();
283
282
  }
284
283
  }, _callee4);
285
284
  }));
286
- return function (_x11) {
285
+ return function (_x1) {
287
286
  return _ref.apply(this, arguments);
288
287
  };
289
288
  }());
@@ -306,12 +305,12 @@ function _messageToolbar() {
306
305
  };
307
306
  _deleteThingThen = function _deleteThingThen3() {
308
307
  _deleteThingThen = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(x) {
309
- return _regenerator["default"].wrap(function _callee9$(_context9) {
308
+ return _regenerator["default"].wrap(function (_context9) {
310
309
  while (1) switch (_context9.prev = _context9.next) {
311
310
  case 0:
312
- _context9.next = 2;
311
+ _context9.next = 1;
313
312
  return _solidLogic.store.updater.update(_solidLogic.store.connectedStatements(x), []);
314
- case 2:
313
+ case 1:
315
314
  case "end":
316
315
  return _context9.stop();
317
316
  }
@@ -319,7 +318,7 @@ function _messageToolbar() {
319
318
  }));
320
319
  return _deleteThingThen.apply(this, arguments);
321
320
  };
322
- deleteThingThen = function _deleteThingThen2(_x10) {
321
+ deleteThingThen = function _deleteThingThen2(_x0) {
323
322
  return _deleteThingThen.apply(this, arguments);
324
323
  };
325
324
  closeToolbar = function _closeToolbar() {
@@ -328,23 +327,23 @@ function _messageToolbar() {
328
327
  _replyInThread = function _replyInThread3() {
329
328
  _replyInThread = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
330
329
  var thread, options;
331
- return _regenerator["default"].wrap(function _callee8$(_context8) {
330
+ return _regenerator["default"].wrap(function (_context8) {
332
331
  while (1) switch (_context8.prev = _context8.next) {
333
332
  case 0:
334
- _context8.next = 2;
333
+ _context8.next = 1;
335
334
  return channelObject.createThread(message);
336
- case 2:
335
+ case 1:
337
336
  thread = _context8.sent;
338
337
  options = userContext.chatOptions;
339
338
  if (options) {
340
- _context8.next = 6;
339
+ _context8.next = 2;
341
340
  break;
342
341
  }
343
342
  throw new Error('replyInThread: missing options');
344
- case 6:
343
+ case 2:
345
344
  options.showThread(thread, options);
346
345
  closeToolbar(); // a one-off action
347
- case 8:
346
+ case 3:
348
347
  case "end":
349
348
  return _context8.stop();
350
349
  }
@@ -357,17 +356,17 @@ function _messageToolbar() {
357
356
  };
358
357
  _editMessage = function _editMessage3() {
359
358
  _editMessage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(messageRow) {
360
- return _regenerator["default"].wrap(function _callee7$(_context7) {
359
+ return _regenerator["default"].wrap(function (_context7) {
361
360
  while (1) switch (_context7.prev = _context7.next) {
362
361
  case 0:
363
362
  if (!(me.value === _solidLogic.store.any(message, ns.foaf('maker')).value)) {
364
- _context7.next = 4;
363
+ _context7.next = 1;
365
364
  break;
366
365
  }
367
366
  closeToolbar(); // edit is a one-off action
368
- _context7.next = 4;
367
+ _context7.next = 1;
369
368
  return (0, _message.switchToEditor)(messageRow, message, channelObject, userContext);
370
- case 4:
369
+ case 1:
371
370
  case "end":
372
371
  return _context7.stop();
373
372
  }
@@ -380,50 +379,50 @@ function _messageToolbar() {
380
379
  };
381
380
  _deleteMessage = function _deleteMessage3() {
382
381
  _deleteMessage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
383
- var author, msg, area;
384
- return _regenerator["default"].wrap(function _callee6$(_context6) {
382
+ var author, msg, area, _t;
383
+ return _regenerator["default"].wrap(function (_context6) {
385
384
  while (1) switch (_context6.prev = _context6.next) {
386
385
  case 0:
387
386
  author = _solidLogic.store.any(message, ns.foaf('maker'));
388
387
  if (me) {
389
- _context6.next = 5;
388
+ _context6.next = 1;
390
389
  break;
391
390
  }
392
391
  alert('You can\'t delete the message, you are not logged in.');
393
- _context6.next = 22;
392
+ _context6.next = 7;
394
393
  break;
395
- case 5:
394
+ case 1:
396
395
  if (!me.sameTerm(author)) {
397
- _context6.next = 21;
396
+ _context6.next = 6;
398
397
  break;
399
398
  }
400
- _context6.prev = 6;
401
- _context6.next = 9;
399
+ _context6.prev = 2;
400
+ _context6.next = 3;
402
401
  return channelObject.deleteMessage(message);
403
- case 9:
404
- _context6.next = 18;
402
+ case 3:
403
+ _context6.next = 5;
405
404
  break;
406
- case 11:
407
- _context6.prev = 11;
408
- _context6.t0 = _context6["catch"](6);
409
- msg = 'Error deleting messaage ' + _context6.t0;
405
+ case 4:
406
+ _context6.prev = 4;
407
+ _t = _context6["catch"](2);
408
+ msg = 'Error deleting messaage ' + _t;
410
409
  debug.warn(msg);
411
410
  alert(msg);
412
411
  area = userContext.statusArea || messageRow.parentNode;
413
412
  area.appendChild(widgets.errorMessageBlock(dom, msg));
414
- case 18:
413
+ case 5:
415
414
  messageRow.parentNode.removeChild(messageRow);
416
- _context6.next = 22;
415
+ _context6.next = 7;
417
416
  break;
418
- case 21:
417
+ case 6:
419
418
  alert('You can\'t delete the message, you are not logged in as the author, ' + author);
420
- case 22:
419
+ case 7:
421
420
  closeToolbar();
422
- case 23:
421
+ case 8:
423
422
  case "end":
424
423
  return _context6.stop();
425
424
  }
426
- }, _callee6, null, [[6, 11]]);
425
+ }, _callee6, null, [[2, 4]]);
427
426
  }));
428
427
  return _deleteMessage.apply(this, arguments);
429
428
  };
@@ -431,17 +430,17 @@ function _messageToolbar() {
431
430
  return _deleteMessage.apply(this, arguments);
432
431
  }; // alain: TODO allow chat owner to fully delete message + sentiments and replacing messages
433
432
  div = dom.createElement('div'); // is message deleted ?
434
- _context10.next = 13;
433
+ _context0.next = 1;
435
434
  return (0, _chatLogic.mostRecentVersion)(message).value;
436
- case 13:
437
- _context10.t0 = _context10.sent;
438
- _context10.t1 = ns.schema('dateDeleted').value;
439
- if (!(_context10.t0 === _context10.t1)) {
440
- _context10.next = 17;
435
+ case 1:
436
+ _t2 = _context0.sent;
437
+ _t3 = ns.schema('dateDeleted').value;
438
+ if (!(_t2 === _t3)) {
439
+ _context0.next = 2;
441
440
  break;
442
441
  }
443
- return _context10.abrupt("return", div);
444
- case 17:
442
+ return _context0.abrupt("return", div);
443
+ case 2:
445
444
  // Things only the original author can do
446
445
  me = _solidLogic.authn.currentUser(); // If already logged on
447
446
  if (me && _solidLogic.store.holds(message, ns.foaf('maker'), me)) {
@@ -478,20 +477,20 @@ function _messageToolbar() {
478
477
  // THUMBS_UP_ICON
479
478
  // https://schema.org/AgreeAction
480
479
  me = _solidLogic.authn.currentUser(); // If already logged on
481
- _context10.t2 = me;
482
- if (!_context10.t2) {
483
- _context10.next = 28;
480
+ _t4 = me;
481
+ if (!_t4) {
482
+ _context0.next = 4;
484
483
  break;
485
484
  }
486
- _context10.next = 25;
485
+ _context0.next = 3;
487
486
  return (0, _chatLogic.mostRecentVersion)(message).value;
488
- case 25:
489
- _context10.t3 = _context10.sent;
490
- _context10.t4 = ns.schema('dateDeleted').value;
491
- _context10.t2 = _context10.t3 !== _context10.t4;
492
- case 28:
493
- if (!_context10.t2) {
494
- _context10.next = 32;
487
+ case 3:
488
+ _t5 = _context0.sent;
489
+ _t6 = ns.schema('dateDeleted').value;
490
+ _t4 = _t5 !== _t6;
491
+ case 4:
492
+ if (!_t4) {
493
+ _context0.next = 5;
495
494
  break;
496
495
  }
497
496
  context1 = {
@@ -504,18 +503,18 @@ function _messageToolbar() {
504
503
  _iconBase.icons.iconBase + THUMBS_UP_ICON, ns.schema('AgreeAction'), message.doc(), [ns.schema('DisagreeAction')]));
505
504
  // Thumbs down
506
505
  div.appendChild(sentimentButton(context1, message, _iconBase.icons.iconBase + THUMBS_DOWN_ICON, ns.schema('DisagreeAction'), message.doc(), [ns.schema('AgreeAction')]));
507
- case 32:
506
+ case 5:
508
507
  // Reply buttton
509
508
 
510
509
  if (_solidLogic.store.any(message, ns.dct('created'))) {
511
510
  // Looks like a messsage? Bar can be used for other things
512
511
  div.appendChild(widgets.button(dom, _iconBase.icons.iconBase + REPLY_ICON, 'Reply in thread', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
513
- return _regenerator["default"].wrap(function _callee5$(_context5) {
512
+ return _regenerator["default"].wrap(function (_context5) {
514
513
  while (1) switch (_context5.prev = _context5.next) {
515
514
  case 0:
516
- _context5.next = 2;
515
+ _context5.next = 1;
517
516
  return replyInThread();
518
- case 2:
517
+ case 1:
519
518
  case "end":
520
519
  return _context5.stop();
521
520
  }
@@ -527,12 +526,12 @@ function _messageToolbar() {
527
526
  cancelButton.style["float"] = 'right';
528
527
  cancelButton.firstChild.style.opacity = '0.3';
529
528
  cancelButton.addEventListener('click', closeToolbar);
530
- return _context10.abrupt("return", div);
531
- case 38:
529
+ return _context0.abrupt("return", div);
530
+ case 6:
532
531
  case "end":
533
- return _context10.stop();
532
+ return _context0.stop();
534
533
  }
535
- }, _callee10);
534
+ }, _callee0);
536
535
  }));
537
536
  return _messageToolbar.apply(this, arguments);
538
537
  }
@@ -1 +1 @@
1
- {"version":3,"file":"messageTools.js","names":["debug","_interopRequireWildcard","require","_iconBase","ns","rdf","utils","widgets","_bookmarks","_solidLogic","_chatLogic","_message","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","dom","window","document","PENCIL_ICON","THUMBS_UP_ICON","THUMBS_DOWN_ICON","REPLY_ICON","emojiMap","schema","emojiFromActionClass","action","ActionClassFromEmoji","emoji","sym","slice","emojiFromAction","content","store","any","sioc","doc","klass","em","sentimentStrip","_x","_x2","_sentimentStrip","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","target","versions","actions","strings","wrap","_callee$","_context","prev","next","allVersions","sent","map","version","each","flat","abrupt","createTextNode","join","stop","sentimentStripLinked","_x3","_x4","_sentimentStripLinked","_callee3","strip","refresh","_refresh","_callee3$","_context3","_refresh3","_callee2","sentiments","_callee2$","_context2","innerHTML","isDeleted","length","sort","forEach","ss","_ss","_slicedToArray2","theClass","agent","res","createElement","setAttribute","uri","textContent","appendChild","_refresh2","then","log","messageToolbar","_x5","_x6","_x7","_x8","_messageToolbar","_callee10","message","messageRow","userContext","channelObject","deleteMessage","_deleteMessage","editMessage","_editMessage","replyInThread","_replyInThread","div","closeToolbar","deleteThingThen","_deleteThingThen","me","sentimentButton","context1","cancelButton","_callee10$","_context10","_sentimentButton","context","icon","actionClass","mutuallyExclusive","setColor","button","style","backgroundColor","label","_ref","_callee4","_event","insertMe","dirty","_callee4$","_context4","newThing","st","updater","update","existingAction","refreshTree","_x11","filter","x","holds","_deleteThingThen3","_callee9","_callee9$","_context9","connectedStatements","_deleteThingThen2","_x10","_closeToolbar","parentElement","removeChild","_replyInThread3","_callee8","thread","options","_callee8$","_context8","createThread","chatOptions","Error","showThread","_replyInThread2","_editMessage3","_callee7","_callee7$","_context7","value","foaf","switchToEditor","_editMessage2","_x9","_deleteMessage3","_callee6","author","msg","area","_callee6$","_context6","alert","sameTerm","t0","warn","statusArea","parentNode","errorMessageBlock","_deleteMessage2","mostRecentVersion","t1","authn","currentUser","deleteButtonWithCheck","icons","iconBase","renderBookmarksButton","bookmarkButton","t2","t3","t4","dct","_callee5","_callee5$","_context5","firstChild","opacity","addEventListener"],"sources":["../../src/chat/messageTools.js"],"sourcesContent":["/**\n * Tools for doing things with a message\n * Let us be creative here. Allow all sorts of things to\n * be done to a message - linking to new or old objects in an open way\n *\n * Ideas: Bookmark, Like, star, pin at top of chat, reply as new thread,\n * If you made it originally: edit, delete, attach\n * @packageDocumentation\n */\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\n// import { media } from '../media/index'\nimport * as ns from '../ns'\n// import * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n// import * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { renderBookmarksButton } from './bookmarks'\nimport { authn, store } from 'solid-logic'\n\nimport { allVersions, mostRecentVersion, isDeleted } from './chatLogic'\nimport { switchToEditor } from './message'\n\nconst dom = window.document\n\n// THE UNUSED ICONS are here as reminders for possible future functionality\n// const BOOKMARK_ICON = 'noun_45961.svg'\n// const HEART_ICON = 'noun_130259.svg' -> Add this to my (private) favorites\n// const MENU_ICON = 'noun_897914.svg'\n// const PAPERCLIP_ICON = 'noun_25830.svg' -> add attachments to this message\n// const PIN_ICON = 'noun_562340.svg' -> pin this message permanently in the chat UI\nconst PENCIL_ICON = 'noun_253504.svg' // edit a message\n// const SPANNER_ICON = 'noun_344563.svg' -> settings\nconst THUMBS_UP_ICON = 'noun_1384132.svg'\nconst THUMBS_DOWN_ICON = 'noun_1384135.svg'\nconst REPLY_ICON = 'noun-reply-5506924.svg'\n/**\n * Emoji in Unicode\n */\nconst emojiMap = {}\nemojiMap[ns.schema('AgreeAction')] = '👍'\nemojiMap[ns.schema('DisagreeAction')] = '👎'\nemojiMap[ns.schema('EndorseAction')] = '⭐️'\nemojiMap[ns.schema('LikeAction')] = '❤️'\n\nexport function emojiFromActionClass (action) {\n return emojiMap[action] || null\n}\n\nexport function ActionClassFromEmoji (emoji) {\n for (const a in emojiMap) {\n if (emojiMap[a] === emoji) {\n return rdf.sym(a.slice(1, -1)) // remove < >\n }\n }\n return null\n}\n\n// Allow the action to give its own emoji as content,\n// or get the emoji from the class of action.\nexport function emojiFromAction (action) {\n const content = store.any(action, ns.sioc('content'), null, action.doc())\n if (content) return content\n const klass = store.any(action, ns.rdf('type'), null, action.doc())\n if (klass) {\n const em = emojiFromActionClass(klass)\n if (em) return em\n }\n return '⬜️'\n}\n\n/**\n * Create strip of sentiments expressed\n */\nexport async function sentimentStrip (target, doc) { // alain: seems not used\n const versions = await allVersions(target)\n // debug.log('sentimentStrip Versions for ' + target, versions)\n const actions = versions.map(version => store.each(null, ns.schema('target'), version, doc)).flat()\n // debug.log('sentimentStrip: Actions for ' + target, actions)\n const strings = actions.map(action => emojiFromAction(action) || '')\n return dom.createTextNode(strings.join(' '))\n}\n/**\n * Create strip of sentiments expressed, with hyperlinks\n *\n * @param target {NamedNode} - The thing about which they are expressed\n * @param doc {NamedNode} - The document in which they are expressed\n */\nexport async function sentimentStripLinked (target, doc) {\n const strip = dom.createElement('span')\n async function refresh () {\n strip.innerHTML = ''\n if (isDeleted(target)) return strip\n const versions = await allVersions(target)\n // debug.log('sentimentStripLinked: Versions for ' + target, versions)\n const actions = versions.map(version => store.each(null, ns.schema('target'), version, doc)).flat()\n // debug.log('sentimentStripLinked: Actions for ' + target, actions)\n if (actions.length === 0) return strip\n const sentiments = actions.map(a => [\n store.any(a, ns.rdf('type'), null, doc),\n store.any(a, ns.sioc('content'), null, doc),\n store.any(a, ns.schema('agent'), null, doc)\n ])\n // debug.log(' Actions sentiments ', sentiments)\n sentiments.sort()\n sentiments.forEach(ss => {\n const [theClass, content, agent] = ss\n let res\n if (agent) {\n res = dom.createElement('a')\n res.setAttribute('href', agent.uri)\n } else {\n res = dom.createTextNode('')\n }\n res.textContent = content || emojiMap[theClass] || '⬜️'\n strip.appendChild(res)\n })\n // debug.log(' Actions strip ', strip)\n }\n refresh().then(debug.log('sentimentStripLinked: sentimentStripLinked async refreshed'))\n strip.refresh = refresh\n return strip\n}\n/**\n * Creates a message toolbar component\n */\nexport async function messageToolbar (message, messageRow, userContext, channelObject) {\n async function deleteMessage () {\n const author = store.any(message, ns.foaf('maker'))\n if (!me) {\n alert('You can\\'t delete the message, you are not logged in.')\n } else if (me.sameTerm(author)) {\n try {\n await channelObject.deleteMessage(message)\n } catch (err) {\n const msg = 'Error deleting messaage ' + err\n debug.warn(msg)\n alert(msg)\n const area = userContext.statusArea || messageRow.parentNode\n area.appendChild(widgets.errorMessageBlock(dom, msg))\n }\n messageRow.parentNode.removeChild(messageRow)\n } else {\n alert('You can\\'t delete the message, you are not logged in as the author, ' + author)\n }\n closeToolbar()\n }\n\n async function editMessage (messageRow) {\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n closeToolbar() // edit is a one-off action\n await switchToEditor(messageRow, message, channelObject, userContext)\n }\n }\n\n async function replyInThread () {\n const thread = await channelObject.createThread(message)\n const options = userContext.chatOptions\n if (!options) throw new Error('replyInThread: missing options')\n options.showThread(thread, options)\n closeToolbar() // a one-off action\n }\n\n // alain: TODO allow chat owner to fully delete message + sentiments and replacing messages\n\n const div = dom.createElement('div')\n // is message deleted ?\n if (await mostRecentVersion(message).value === ns.schema('dateDeleted').value) return div\n function closeToolbar () {\n div.parentElement.parentElement.removeChild(div.parentElement) // remive the TR\n }\n\n async function deleteThingThen (x) {\n await store.updater.update(store.connectedStatements(x), [])\n }\n\n // Things only the original author can do\n let me = authn.currentUser() // If already logged on\n if (me && store.holds(message, ns.foaf('maker'), me)) {\n // button to delete the message\n div.appendChild(widgets.deleteButtonWithCheck(dom, div, 'message', deleteMessage))\n // button to edit the message\n div.appendChild(widgets.button(dom, icons.iconBase + PENCIL_ICON, 'edit', () => editMessage(messageRow)))\n } // if mine\n // Things anyone can do if they have a bookmark list async\n /*\n var bookmarkButton = await bookmarks.renderBookmarksButton(userContext)\n if (bookmarkButton) {\n div.appendChild(bookmarkButton)\n }\n */\n // Things anyone can do if they have a bookmark list\n\n renderBookmarksButton(userContext).then(bookmarkButton => {\n if (bookmarkButton) div.appendChild(bookmarkButton)\n })\n\n /** Button to allow user to express a sentiment (like, endorse, etc) about a target\n *\n * @param context {Object} - Provide dom and me\n * @param target {NamedNode} - The thing the user expresses an opnion about\n * @param icon {uristring} - The icon to be used for the button\n * @param actionClass {NamedNode} - The RDF class - typically a subclass of schema:Action\n * @param doc - {NamedNode} - the Solid document iunto which the data should be written\n * @param mutuallyExclusive {Array<NamedNode>} - Any RDF classes of sentimentswhich are mutiually exclusive\n */\n function sentimentButton (\n context,\n target,\n icon,\n actionClass,\n doc,\n mutuallyExclusive\n ) {\n function setColor () {\n button.style.backgroundColor = action ? 'yellow' : 'white'\n }\n const button = widgets.button(\n dom,\n icon,\n utils.label(actionClass),\n async function (_event) {\n if (action) {\n await deleteThingThen(action)\n action = null\n setColor()\n } else {\n // no action\n action = widgets.newThing(doc)\n const insertMe = [\n rdf.st(action, ns.schema('agent'), context.me, doc),\n rdf.st(action, ns.rdf('type'), actionClass, doc),\n rdf.st(action, ns.schema('target'), target, doc)\n ]\n await store.updater.update([], insertMe)\n setColor()\n\n if (mutuallyExclusive) {\n // Delete incompative sentiments\n let dirty = false\n for (let i = 0; i < mutuallyExclusive.length; i++) {\n const a = existingAction(mutuallyExclusive[i])\n if (a) {\n await deleteThingThen(a) // but how refresh? refreshTree the parent?\n dirty = true\n }\n }\n if (dirty) {\n // widgets.refreshTree(button.parentNode) // requires them all to be immediate siblings\n widgets.refreshTree(messageRow) // requires them all to be immediate siblings\n }\n }\n }\n }\n )\n function existingAction (actionClass) {\n const actions = store\n .each(null, ns.schema('agent'), context.me, doc)\n .filter(x => store.holds(x, ns.rdf('type'), actionClass, doc))\n .filter(x => store.holds(x, ns.schema('target'), target, doc))\n return actions.length ? actions[0] : null\n }\n function refresh () {\n action = existingAction(actionClass)\n setColor()\n }\n let action\n button.refresh = refresh // If the file changes, refresh live\n refresh()\n return button\n }\n\n // THUMBS_UP_ICON\n // https://schema.org/AgreeAction\n me = authn.currentUser() // If already logged on\n\n if (me && (await mostRecentVersion(message).value !== ns.schema('dateDeleted').value)) {\n const context1 = { me, dom, div }\n div.appendChild(\n sentimentButton(\n context1,\n message, // @@ TODO use widgets.sentimentButton\n icons.iconBase + THUMBS_UP_ICON,\n ns.schema('AgreeAction'),\n message.doc(),\n [ns.schema('DisagreeAction')]\n )\n )\n // Thumbs down\n div.appendChild(\n sentimentButton(\n context1,\n message,\n icons.iconBase + THUMBS_DOWN_ICON,\n ns.schema('DisagreeAction'),\n message.doc(),\n [ns.schema('AgreeAction')]\n )\n )\n }\n // Reply buttton\n\n if (store.any(message, ns.dct('created'))) { // Looks like a messsage? Bar can be used for other things\n div.appendChild(widgets.button(dom, icons.iconBase + REPLY_ICON, 'Reply in thread', async () => {\n await replyInThread()\n }))\n }\n // X button to remove the tool UI itself\n const cancelButton = div.appendChild(widgets.cancelButton(dom))\n cancelButton.style.float = 'right'\n cancelButton.firstChild.style.opacity = '0.3'\n cancelButton.addEventListener('click', closeToolbar)\n return div\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"messageTools.js","names":["debug","_interopRequireWildcard","require","_iconBase","ns","rdf","utils","widgets","_bookmarks","_solidLogic","_chatLogic","_message","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t7","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","dom","window","document","PENCIL_ICON","THUMBS_UP_ICON","THUMBS_DOWN_ICON","REPLY_ICON","emojiMap","schema","emojiFromActionClass","action","ActionClassFromEmoji","emoji","a","sym","slice","emojiFromAction","content","store","any","sioc","doc","klass","em","sentimentStrip","_x","_x2","_sentimentStrip","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","target","versions","actions","strings","wrap","_context","prev","next","allVersions","sent","map","version","each","flat","abrupt","createTextNode","join","stop","sentimentStripLinked","_x3","_x4","_sentimentStripLinked","_callee3","strip","refresh","_refresh","_context3","_refresh3","_callee2","sentiments","_context2","innerHTML","isDeleted","length","sort","forEach","ss","_ss","_slicedToArray2","theClass","agent","res","createElement","setAttribute","uri","textContent","appendChild","_refresh2","then","log","messageToolbar","_x5","_x6","_x7","_x8","_messageToolbar","_callee0","message","messageRow","userContext","channelObject","deleteMessage","_deleteMessage","editMessage","_editMessage","replyInThread","_replyInThread","div","closeToolbar","deleteThingThen","_deleteThingThen","me","sentimentButton","context1","cancelButton","_t2","_t3","_t4","_t5","_t6","_context0","_sentimentButton","context","icon","actionClass","mutuallyExclusive","setColor","button","style","backgroundColor","label","_ref","_callee4","_event","insertMe","dirty","_context4","newThing","st","updater","update","existingAction","refreshTree","_x1","filter","x","holds","_deleteThingThen3","_callee9","_context9","connectedStatements","_deleteThingThen2","_x0","_closeToolbar","parentElement","removeChild","_replyInThread3","_callee8","thread","options","_context8","createThread","chatOptions","Error","showThread","_replyInThread2","_editMessage3","_callee7","_context7","value","foaf","switchToEditor","_editMessage2","_x9","_deleteMessage3","_callee6","author","msg","area","_t","_context6","alert","sameTerm","warn","statusArea","parentNode","errorMessageBlock","_deleteMessage2","mostRecentVersion","authn","currentUser","deleteButtonWithCheck","icons","iconBase","renderBookmarksButton","bookmarkButton","dct","_callee5","_context5","firstChild","opacity","addEventListener"],"sources":["../../src/chat/messageTools.js"],"sourcesContent":["/**\n * Tools for doing things with a message\n * Let us be creative here. Allow all sorts of things to\n * be done to a message - linking to new or old objects in an open way\n *\n * Ideas: Bookmark, Like, star, pin at top of chat, reply as new thread,\n * If you made it originally: edit, delete, attach\n * @packageDocumentation\n */\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\n// import { media } from '../media/index'\nimport * as ns from '../ns'\n// import * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n// import * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { renderBookmarksButton } from './bookmarks'\nimport { authn, store } from 'solid-logic'\n\nimport { allVersions, mostRecentVersion, isDeleted } from './chatLogic'\nimport { switchToEditor } from './message'\n\nconst dom = window.document\n\n// THE UNUSED ICONS are here as reminders for possible future functionality\n// const BOOKMARK_ICON = 'noun_45961.svg'\n// const HEART_ICON = 'noun_130259.svg' -> Add this to my (private) favorites\n// const MENU_ICON = 'noun_897914.svg'\n// const PAPERCLIP_ICON = 'noun_25830.svg' -> add attachments to this message\n// const PIN_ICON = 'noun_562340.svg' -> pin this message permanently in the chat UI\nconst PENCIL_ICON = 'noun_253504.svg' // edit a message\n// const SPANNER_ICON = 'noun_344563.svg' -> settings\nconst THUMBS_UP_ICON = 'noun_1384132.svg'\nconst THUMBS_DOWN_ICON = 'noun_1384135.svg'\nconst REPLY_ICON = 'noun-reply-5506924.svg'\n/**\n * Emoji in Unicode\n */\nconst emojiMap = {}\nemojiMap[ns.schema('AgreeAction')] = '👍'\nemojiMap[ns.schema('DisagreeAction')] = '👎'\nemojiMap[ns.schema('EndorseAction')] = '⭐️'\nemojiMap[ns.schema('LikeAction')] = '❤️'\n\nexport function emojiFromActionClass (action) {\n return emojiMap[action] || null\n}\n\nexport function ActionClassFromEmoji (emoji) {\n for (const a in emojiMap) {\n if (emojiMap[a] === emoji) {\n return rdf.sym(a.slice(1, -1)) // remove < >\n }\n }\n return null\n}\n\n// Allow the action to give its own emoji as content,\n// or get the emoji from the class of action.\nexport function emojiFromAction (action) {\n const content = store.any(action, ns.sioc('content'), null, action.doc())\n if (content) return content\n const klass = store.any(action, ns.rdf('type'), null, action.doc())\n if (klass) {\n const em = emojiFromActionClass(klass)\n if (em) return em\n }\n return '⬜️'\n}\n\n/**\n * Create strip of sentiments expressed\n */\nexport async function sentimentStrip (target, doc) { // alain: seems not used\n const versions = await allVersions(target)\n // debug.log('sentimentStrip Versions for ' + target, versions)\n const actions = versions.map(version => store.each(null, ns.schema('target'), version, doc)).flat()\n // debug.log('sentimentStrip: Actions for ' + target, actions)\n const strings = actions.map(action => emojiFromAction(action) || '')\n return dom.createTextNode(strings.join(' '))\n}\n/**\n * Create strip of sentiments expressed, with hyperlinks\n *\n * @param target {NamedNode} - The thing about which they are expressed\n * @param doc {NamedNode} - The document in which they are expressed\n */\nexport async function sentimentStripLinked (target, doc) {\n const strip = dom.createElement('span')\n async function refresh () {\n strip.innerHTML = ''\n if (isDeleted(target)) return strip\n const versions = await allVersions(target)\n // debug.log('sentimentStripLinked: Versions for ' + target, versions)\n const actions = versions.map(version => store.each(null, ns.schema('target'), version, doc)).flat()\n // debug.log('sentimentStripLinked: Actions for ' + target, actions)\n if (actions.length === 0) return strip\n const sentiments = actions.map(a => [\n store.any(a, ns.rdf('type'), null, doc),\n store.any(a, ns.sioc('content'), null, doc),\n store.any(a, ns.schema('agent'), null, doc)\n ])\n // debug.log(' Actions sentiments ', sentiments)\n sentiments.sort()\n sentiments.forEach(ss => {\n const [theClass, content, agent] = ss\n let res\n if (agent) {\n res = dom.createElement('a')\n res.setAttribute('href', agent.uri)\n } else {\n res = dom.createTextNode('')\n }\n res.textContent = content || emojiMap[theClass] || '⬜️'\n strip.appendChild(res)\n })\n // debug.log(' Actions strip ', strip)\n }\n refresh().then(debug.log('sentimentStripLinked: sentimentStripLinked async refreshed'))\n strip.refresh = refresh\n return strip\n}\n/**\n * Creates a message toolbar component\n */\nexport async function messageToolbar (message, messageRow, userContext, channelObject) {\n async function deleteMessage () {\n const author = store.any(message, ns.foaf('maker'))\n if (!me) {\n alert('You can\\'t delete the message, you are not logged in.')\n } else if (me.sameTerm(author)) {\n try {\n await channelObject.deleteMessage(message)\n } catch (err) {\n const msg = 'Error deleting messaage ' + err\n debug.warn(msg)\n alert(msg)\n const area = userContext.statusArea || messageRow.parentNode\n area.appendChild(widgets.errorMessageBlock(dom, msg))\n }\n messageRow.parentNode.removeChild(messageRow)\n } else {\n alert('You can\\'t delete the message, you are not logged in as the author, ' + author)\n }\n closeToolbar()\n }\n\n async function editMessage (messageRow) {\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n closeToolbar() // edit is a one-off action\n await switchToEditor(messageRow, message, channelObject, userContext)\n }\n }\n\n async function replyInThread () {\n const thread = await channelObject.createThread(message)\n const options = userContext.chatOptions\n if (!options) throw new Error('replyInThread: missing options')\n options.showThread(thread, options)\n closeToolbar() // a one-off action\n }\n\n // alain: TODO allow chat owner to fully delete message + sentiments and replacing messages\n\n const div = dom.createElement('div')\n // is message deleted ?\n if (await mostRecentVersion(message).value === ns.schema('dateDeleted').value) return div\n function closeToolbar () {\n div.parentElement.parentElement.removeChild(div.parentElement) // remive the TR\n }\n\n async function deleteThingThen (x) {\n await store.updater.update(store.connectedStatements(x), [])\n }\n\n // Things only the original author can do\n let me = authn.currentUser() // If already logged on\n if (me && store.holds(message, ns.foaf('maker'), me)) {\n // button to delete the message\n div.appendChild(widgets.deleteButtonWithCheck(dom, div, 'message', deleteMessage))\n // button to edit the message\n div.appendChild(widgets.button(dom, icons.iconBase + PENCIL_ICON, 'edit', () => editMessage(messageRow)))\n } // if mine\n // Things anyone can do if they have a bookmark list async\n /*\n var bookmarkButton = await bookmarks.renderBookmarksButton(userContext)\n if (bookmarkButton) {\n div.appendChild(bookmarkButton)\n }\n */\n // Things anyone can do if they have a bookmark list\n\n renderBookmarksButton(userContext).then(bookmarkButton => {\n if (bookmarkButton) div.appendChild(bookmarkButton)\n })\n\n /** Button to allow user to express a sentiment (like, endorse, etc) about a target\n *\n * @param context {Object} - Provide dom and me\n * @param target {NamedNode} - The thing the user expresses an opnion about\n * @param icon {uristring} - The icon to be used for the button\n * @param actionClass {NamedNode} - The RDF class - typically a subclass of schema:Action\n * @param doc - {NamedNode} - the Solid document iunto which the data should be written\n * @param mutuallyExclusive {Array<NamedNode>} - Any RDF classes of sentimentswhich are mutiually exclusive\n */\n function sentimentButton (\n context,\n target,\n icon,\n actionClass,\n doc,\n mutuallyExclusive\n ) {\n function setColor () {\n button.style.backgroundColor = action ? 'yellow' : 'white'\n }\n const button = widgets.button(\n dom,\n icon,\n utils.label(actionClass),\n async function (_event) {\n if (action) {\n await deleteThingThen(action)\n action = null\n setColor()\n } else {\n // no action\n action = widgets.newThing(doc)\n const insertMe = [\n rdf.st(action, ns.schema('agent'), context.me, doc),\n rdf.st(action, ns.rdf('type'), actionClass, doc),\n rdf.st(action, ns.schema('target'), target, doc)\n ]\n await store.updater.update([], insertMe)\n setColor()\n\n if (mutuallyExclusive) {\n // Delete incompative sentiments\n let dirty = false\n for (let i = 0; i < mutuallyExclusive.length; i++) {\n const a = existingAction(mutuallyExclusive[i])\n if (a) {\n await deleteThingThen(a) // but how refresh? refreshTree the parent?\n dirty = true\n }\n }\n if (dirty) {\n // widgets.refreshTree(button.parentNode) // requires them all to be immediate siblings\n widgets.refreshTree(messageRow) // requires them all to be immediate siblings\n }\n }\n }\n }\n )\n function existingAction (actionClass) {\n const actions = store\n .each(null, ns.schema('agent'), context.me, doc)\n .filter(x => store.holds(x, ns.rdf('type'), actionClass, doc))\n .filter(x => store.holds(x, ns.schema('target'), target, doc))\n return actions.length ? actions[0] : null\n }\n function refresh () {\n action = existingAction(actionClass)\n setColor()\n }\n let action\n button.refresh = refresh // If the file changes, refresh live\n refresh()\n return button\n }\n\n // THUMBS_UP_ICON\n // https://schema.org/AgreeAction\n me = authn.currentUser() // If already logged on\n\n if (me && (await mostRecentVersion(message).value !== ns.schema('dateDeleted').value)) {\n const context1 = { me, dom, div }\n div.appendChild(\n sentimentButton(\n context1,\n message, // @@ TODO use widgets.sentimentButton\n icons.iconBase + THUMBS_UP_ICON,\n ns.schema('AgreeAction'),\n message.doc(),\n [ns.schema('DisagreeAction')]\n )\n )\n // Thumbs down\n div.appendChild(\n sentimentButton(\n context1,\n message,\n icons.iconBase + THUMBS_DOWN_ICON,\n ns.schema('DisagreeAction'),\n message.doc(),\n [ns.schema('AgreeAction')]\n )\n )\n }\n // Reply buttton\n\n if (store.any(message, ns.dct('created'))) { // Looks like a messsage? Bar can be used for other things\n div.appendChild(widgets.button(dom, icons.iconBase + REPLY_ICON, 'Reply in thread', async () => {\n await replyInThread()\n }))\n }\n // X button to remove the tool UI itself\n const cancelButton = div.appendChild(widgets.cancelButton(dom))\n cancelButton.style.float = 'right'\n cancelButton.firstChild.style.opacity = '0.3'\n cancelButton.addEventListener('click', closeToolbar)\n return div\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/chat/signature.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,aAA2B,CAAA;AACnD,eAAO,MAAM,WAAW,aAAoB,CAAA;AAE5C,eAAO,MAAM,GAAG,+BAA+B,CAAA;AA4B/C,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IACtC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,wBAAgB,WAAW,IAAK,WAAW,CAS1C;AAWD,wBAAgB,YAAY,CAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAMtD;AAED,wBAAgB,UAAU,CAAE,OAAO,EAAE,WAAW,UAG/C;AAwBD,wBAAgB,eAAe,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMvF;AAED,wBAAgB,OAAO,CAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlE"}
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/chat/signature.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,aAA2B,CAAA;AACnD,eAAO,MAAM,WAAW,aAAoB,CAAA;AAE5C,eAAO,MAAM,GAAG,+BAA+B,CAAA;AA2B/C,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IACtC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,wBAAgB,WAAW,IAAK,WAAW,CAS1C;AAWD,wBAAgB,YAAY,CAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAMtD;AAED,wBAAgB,UAAU,CAAE,OAAO,EAAE,WAAW,UAG/C;AAwBD,wBAAgB,eAAe,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMvF;AAED,wBAAgB,OAAO,CAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlE"}
@@ -21,7 +21,6 @@ var utf8Encoder = exports.utf8Encoder = new TextEncoder();
21
21
  var SEC = exports.SEC = 'https://w3id.org/security#'; // Proof, VerificationMethod
22
22
  // export const CERT = 'http://www.w3.org/ns/auth/cert#' // PrivateKey, PublicKey, key
23
23
 
24
- /* eslint-disable no-unused-vars */
25
24
  /* export enum Kind {
26
25
  Metadata = 0,
27
26
  Text = 1,