solid-ui 2.5.1-686af423 → 2.5.1-acc64269

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 (114) 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 +42667 -45688
  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 +39 -39
  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 +2 -3
  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 +99 -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/thread.js +58 -61
  35. package/lib/chat/thread.js.map +1 -1
  36. package/lib/create/create.js +1 -2
  37. package/lib/create/create.js.map +1 -1
  38. package/lib/folders.js +1 -4
  39. package/lib/folders.js.map +1 -1
  40. package/lib/footer/index.js +15 -16
  41. package/lib/footer/index.js.map +1 -1
  42. package/lib/header/index.js +31 -32
  43. package/lib/header/index.js.map +1 -1
  44. package/lib/index.js +1 -2
  45. package/lib/index.js.map +1 -1
  46. package/lib/login/login.js +216 -218
  47. package/lib/login/login.js.map +1 -1
  48. package/lib/matrix/matrix.js +1 -2
  49. package/lib/matrix/matrix.js.map +1 -1
  50. package/lib/media/media-capture.js +3 -4
  51. package/lib/media/media-capture.js.map +1 -1
  52. package/lib/messageArea.js +1 -4
  53. package/lib/messageArea.js.map +1 -1
  54. package/lib/ns.js +1 -2
  55. package/lib/ns.js.map +1 -1
  56. package/lib/pad.js +1 -2
  57. package/lib/pad.js.map +1 -1
  58. package/lib/participation.js +1 -2
  59. package/lib/participation.js.map +1 -1
  60. package/lib/preferences.js +1 -2
  61. package/lib/preferences.js.map +1 -1
  62. package/lib/table.js +1 -2
  63. package/lib/table.js.map +1 -1
  64. package/lib/tabs.js +1 -2
  65. package/lib/tabs.js.map +1 -1
  66. package/lib/utils/headerFooterHelpers.js +36 -36
  67. package/lib/utils/headerFooterHelpers.js.map +1 -1
  68. package/lib/utils/index.js +1 -2
  69. package/lib/utils/index.js.map +1 -1
  70. package/lib/utils/keyHelpers/accessData.js +33 -34
  71. package/lib/utils/keyHelpers/accessData.js.map +1 -1
  72. package/lib/utils/keyHelpers/acl.js +21 -22
  73. package/lib/utils/keyHelpers/acl.js.map +1 -1
  74. package/lib/utils/keyHelpers/otherHelpers.js +1 -2
  75. package/lib/utils/keyHelpers/otherHelpers.js.map +1 -1
  76. package/lib/utils/label.js +1 -2
  77. package/lib/utils/label.js.map +1 -1
  78. package/lib/versionInfo.d.ts.map +1 -1
  79. package/lib/versionInfo.js +9 -9
  80. package/lib/versionInfo.js.map +1 -1
  81. package/lib/widgets/buttons.d.ts +1 -1
  82. package/lib/widgets/buttons.js +1 -2
  83. package/lib/widgets/buttons.js.map +1 -1
  84. package/lib/widgets/dragAndDrop.js +1 -2
  85. package/lib/widgets/dragAndDrop.js.map +1 -1
  86. package/lib/widgets/error.js +1 -2
  87. package/lib/widgets/error.js.map +1 -1
  88. package/lib/widgets/forms/autocomplete/autocompleteBar.js +48 -48
  89. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  90. package/lib/widgets/forms/autocomplete/autocompleteField.js +37 -38
  91. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  92. package/lib/widgets/forms/autocomplete/autocompletePicker.js +44 -45
  93. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  94. package/lib/widgets/forms/autocomplete/language.js +23 -24
  95. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  96. package/lib/widgets/forms/autocomplete/publicData.js +91 -92
  97. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  98. package/lib/widgets/forms/basic.js +1 -2
  99. package/lib/widgets/forms/basic.js.map +1 -1
  100. package/lib/widgets/forms/comment.js +1 -2
  101. package/lib/widgets/forms/comment.js.map +1 -1
  102. package/lib/widgets/forms/fieldParams.js +1 -2
  103. package/lib/widgets/forms/fieldParams.js.map +1 -1
  104. package/lib/widgets/forms/formStyle.js +1 -2
  105. package/lib/widgets/forms/formStyle.js.map +1 -1
  106. package/lib/widgets/forms.js +79 -80
  107. package/lib/widgets/forms.js.map +1 -1
  108. package/lib/widgets/index.js +1 -2
  109. package/lib/widgets/index.js.map +1 -1
  110. package/lib/widgets/multiSelect.js +1 -2
  111. package/lib/widgets/multiSelect.js.map +1 -1
  112. package/lib/widgets/peoplePicker.js +1 -2
  113. package/lib/widgets/peoplePicker.js.map +1 -1
  114. package/package.json +21 -18
@@ -18,8 +18,7 @@ var $rdf = _interopRequireWildcard(require("rdflib"));
18
18
  var style = _interopRequireWildcard(require("../style"));
19
19
  var utils = _interopRequireWildcard(require("../utils"));
20
20
  var widgets = _interopRequireWildcard(require("../widgets"));
21
- 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); }
22
- 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; }
21
+ 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 _t8 in e) "default" !== _t8 && {}.hasOwnProperty.call(e, _t8) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t8)) && (i.get || i.set) ? o(f, _t8, i) : f[_t8] = e[_t8]); return f; })(e, t); }
23
22
  /**
24
23
  * Contains the [[thread]] function
25
24
  * @packageDocumentation
@@ -102,16 +101,16 @@ function thread(dom, kb, subject, messageStore, options) {
102
101
  var sendMessage = /*#__PURE__*/function () {
103
102
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
104
103
  var _yield$appendMsg, message, dateStamp, sts, sendComplete;
105
- return _regenerator["default"].wrap(function _callee2$(_context2) {
104
+ return _regenerator["default"].wrap(function (_context2) {
106
105
  while (1) switch (_context2.prev = _context2.next) {
107
106
  case 0:
108
107
  // titlefield.setAttribute('class','pendingedit')
109
108
  // titlefield.disabled = true
110
109
  field.setAttribute('class', 'pendingedit');
111
110
  field.disabled = true;
112
- _context2.next = 4;
111
+ _context2.next = 1;
113
112
  return appendMsg(field.value);
114
- case 4:
113
+ case 1:
115
114
  _yield$appendMsg = _context2.sent;
116
115
  message = _yield$appendMsg.message;
117
116
  dateStamp = _yield$appendMsg.dateStamp;
@@ -119,7 +118,7 @@ function thread(dom, kb, subject, messageStore, options) {
119
118
  sendComplete = /*#__PURE__*/function () {
120
119
  var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(uri, success, body) {
121
120
  var bindings;
122
- return _regenerator["default"].wrap(function _callee$(_context) {
121
+ return _regenerator["default"].wrap(function (_context) {
123
122
  while (1) switch (_context.prev = _context.next) {
124
123
  case 0:
125
124
  if (!success) {
@@ -147,9 +146,9 @@ function thread(dom, kb, subject, messageStore, options) {
147
146
  return _ref2.apply(this, arguments);
148
147
  };
149
148
  }();
150
- _context2.next = 11;
149
+ _context2.next = 2;
151
150
  return updater.updateMany([], sts, sendComplete);
152
- case 11:
151
+ case 2:
153
152
  case "end":
154
153
  return _context2.stop();
155
154
  }
@@ -171,20 +170,20 @@ function thread(dom, kb, subject, messageStore, options) {
171
170
  field.setAttribute('style', messageBodyStyle + 'background-color: #eef;');
172
171
  field.addEventListener('keyup', /*#__PURE__*/function () {
173
172
  var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(e) {
174
- return _regenerator["default"].wrap(function _callee3$(_context3) {
173
+ return _regenerator["default"].wrap(function (_context3) {
175
174
  while (1) switch (_context3.prev = _context3.next) {
176
175
  case 0:
177
176
  if (!(e.keyCode === 13)) {
178
- _context3.next = 4;
177
+ _context3.next = 1;
179
178
  break;
180
179
  }
181
180
  if (e.altKey) {
182
- _context3.next = 4;
181
+ _context3.next = 1;
183
182
  break;
184
183
  }
185
- _context3.next = 4;
184
+ _context3.next = 1;
186
185
  return sendMessage();
187
- case 4:
186
+ case 1:
188
187
  case "end":
189
188
  return _context3.stop();
190
189
  }
@@ -215,8 +214,8 @@ function thread(dom, kb, subject, messageStore, options) {
215
214
  var oldMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
216
215
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
217
216
  return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
218
- var sts, now, timestamp, dateStamp, message, msgBody;
219
- return _regenerator["default"].wrap(function _callee4$(_context4) {
217
+ var sts, now, timestamp, dateStamp, message, msgBody, _t, _t2, _t3, _t4, _t5, _t6, _t7;
218
+ return _regenerator["default"].wrap(function (_context4) {
220
219
  while (1) switch (_context4.prev = _context4.next) {
221
220
  case 0:
222
221
  // alain
@@ -226,25 +225,25 @@ function thread(dom, kb, subject, messageStore, options) {
226
225
  dateStamp = $rdf.term(now); // http://www.w3schools.com/jsref/jsref_obj_date.asp
227
226
  message = _solidLogic.store.sym(messageStore.uri + '#' + 'Msg' + timestamp);
228
227
  if (!(options === 'edit' || options === 'delete')) {
229
- _context4.next = 18;
228
+ _context4.next = 2;
230
229
  break;
231
230
  }
232
- _context4.t0 = sts;
233
- _context4.t1 = $rdf.Statement;
234
- _context4.next = 10;
231
+ _t = sts;
232
+ _t2 = $rdf.Statement;
233
+ _context4.next = 1;
235
234
  return mostRecentVersion(oldMsg);
236
- case 10:
237
- _context4.t2 = _context4.sent;
238
- _context4.t3 = DCT('isReplacedBy');
239
- _context4.t4 = message;
240
- _context4.t5 = messageStore;
241
- _context4.t6 = new _context4.t1(_context4.t2, _context4.t3, _context4.t4, _context4.t5);
242
- _context4.t0.push.call(_context4.t0, _context4.t6);
243
- _context4.next = 19;
235
+ case 1:
236
+ _t3 = _context4.sent;
237
+ _t4 = DCT('isReplacedBy');
238
+ _t5 = message;
239
+ _t6 = messageStore;
240
+ _t7 = new _t2(_t3, _t4, _t5, _t6);
241
+ _t.push.call(_t, _t7);
242
+ _context4.next = 3;
244
243
  break;
245
- case 18:
244
+ case 2:
246
245
  sts.push(new $rdf.Statement(subject, ns.wf('message'), message, messageStore));
247
- case 19:
246
+ case 3:
248
247
  // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))
249
248
  msgBody = options !== 'delete' ? fieldValue : "message deleted\nby ".concat(nick(me));
250
249
  sts.push(new $rdf.Statement(message, ns.sioc('content'), _solidLogic.store.literal(msgBody), messageStore));
@@ -257,7 +256,7 @@ function thread(dom, kb, subject, messageStore, options) {
257
256
  dateStamp: dateStamp,
258
257
  sts: sts
259
258
  });
260
- case 24:
259
+ case 4:
261
260
  case "end":
262
261
  return _context4.stop();
263
262
  }
@@ -302,8 +301,6 @@ function thread(dom, kb, subject, messageStore, options) {
302
301
  addMessage(m);
303
302
  }
304
303
  });
305
-
306
- // eslint-disable-next-line space-in-parens
307
304
  for (ele = messageTable.firstChild; ele;) {
308
305
  ele2 = ele.nextSibling;
309
306
  if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {
@@ -325,14 +322,14 @@ function thread(dom, kb, subject, messageStore, options) {
325
322
  var _deleteMessage = /*#__PURE__*/function () {
326
323
  var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(message) {
327
324
  var deletions;
328
- return _regenerator["default"].wrap(function _callee5$(_context5) {
325
+ return _regenerator["default"].wrap(function (_context5) {
329
326
  while (1) switch (_context5.prev = _context5.next) {
330
327
  case 0:
331
- _context5.next = 2;
328
+ _context5.next = 1;
332
329
  return _solidLogic.store.connectedStatements(message, messageStore);
333
- case 2:
330
+ case 1:
334
331
  deletions = _context5.sent;
335
- _context5.next = 5;
332
+ _context5.next = 2;
336
333
  return updater.updateMany(deletions, [], function (uri, ok, body) {
337
334
  if (!ok) {
338
335
  announce.error('Cant delete messages:' + body);
@@ -340,7 +337,7 @@ function thread(dom, kb, subject, messageStore, options) {
340
337
  syncMessages(subject, messageTable);
341
338
  }
342
339
  });
343
- case 5:
340
+ case 2:
344
341
  case "end":
345
342
  return _context5.stop();
346
343
  }
@@ -353,7 +350,7 @@ function thread(dom, kb, subject, messageStore, options) {
353
350
  var addMessage = /*#__PURE__*/function () {
354
351
  var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(message) {
355
352
  var bindings;
356
- return _regenerator["default"].wrap(function _callee6$(_context6) {
353
+ return _regenerator["default"].wrap(function (_context6) {
357
354
  while (1) switch (_context6.prev = _context6.next) {
358
355
  case 0:
359
356
  bindings = {
@@ -362,9 +359,9 @@ function thread(dom, kb, subject, messageStore, options) {
362
359
  '?date': _solidLogic.store.any(message, DCT('created')),
363
360
  '?content': _solidLogic.store.any(message, ns.sioc('content'))
364
361
  };
365
- _context6.next = 3;
362
+ _context6.next = 1;
366
363
  return renderMessage(bindings, true);
367
- case 3:
364
+ case 1:
368
365
  case "end":
369
366
  return _context6.stop();
370
367
  }
@@ -377,7 +374,7 @@ function thread(dom, kb, subject, messageStore, options) {
377
374
  var renderMessage = /*#__PURE__*/function () {
378
375
  var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(bindings, fresh) {
379
376
  var creator, message, date, content, dateString, tr, done, ele, td1, td2, pre, td3, delButton;
380
- return _regenerator["default"].wrap(function _callee9$(_context9) {
377
+ return _regenerator["default"].wrap(function (_context9) {
381
378
  while (1) switch (_context9.prev = _context9.next) {
382
379
  case 0:
383
380
  creator = bindings['?creator'];
@@ -390,25 +387,25 @@ function thread(dom, kb, subject, messageStore, options) {
390
387
  tr.AJAR_subject = message;
391
388
  done = false;
392
389
  ele = messageTable.firstChild;
393
- case 10:
390
+ case 1:
394
391
  if (ele) {
395
- _context9.next = 12;
392
+ _context9.next = 2;
396
393
  break;
397
394
  }
398
- return _context9.abrupt("break", 19);
399
- case 12:
395
+ return _context9.abrupt("continue", 4);
396
+ case 2:
400
397
  if (!(dateString > ele.AJAR_date && newestFirst || dateString < ele.AJAR_date && !newestFirst)) {
401
- _context9.next = 16;
398
+ _context9.next = 3;
402
399
  break;
403
400
  }
404
401
  messageTable.insertBefore(tr, ele);
405
402
  done = true;
406
- return _context9.abrupt("break", 19);
407
- case 16:
403
+ return _context9.abrupt("continue", 4);
404
+ case 3:
408
405
  ele = ele.nextSibling;
409
- _context9.next = 10;
406
+ _context9.next = 1;
410
407
  break;
411
- case 19:
408
+ case 4:
412
409
  if (!done) {
413
410
  messageTable.appendChild(tr);
414
411
  }
@@ -432,7 +429,7 @@ function thread(dom, kb, subject, messageStore, options) {
432
429
  delButton.addEventListener('click', /*#__PURE__*/function () {
433
430
  var _ref8 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(_event) {
434
431
  var cancelButton, sureButton;
435
- return _regenerator["default"].wrap(function _callee8$(_context8) {
432
+ return _regenerator["default"].wrap(function (_context8) {
436
433
  while (1) switch (_context8.prev = _context8.next) {
437
434
  case 0:
438
435
  td3.removeChild(delButton); // Ask -- are you sure?
@@ -448,7 +445,7 @@ function thread(dom, kb, subject, messageStore, options) {
448
445
  td3.appendChild(sureButton).addEventListener('click', /*#__PURE__*/function () {
449
446
  var _ref9 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(_event) {
450
447
  var _yield$appendMsg2, sts;
451
- return _regenerator["default"].wrap(function _callee7$(_context7) {
448
+ return _regenerator["default"].wrap(function (_context7) {
452
449
  while (1) switch (_context7.prev = _context7.next) {
453
450
  case 0:
454
451
  // alain: test for delete or edit depending on me = maker
@@ -456,37 +453,37 @@ function thread(dom, kb, subject, messageStore, options) {
456
453
  td3.removeChild(cancelButton);
457
454
  // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain
458
455
  if (!(me.value === _solidLogic.store.any(message, ns.foaf('maker')).value)) {
459
- _context7.next = 9;
456
+ _context7.next = 2;
460
457
  break;
461
458
  }
462
- _context7.next = 5;
459
+ _context7.next = 1;
463
460
  return appendMsg();
464
- case 5:
461
+ case 1:
465
462
  _yield$appendMsg2 = _context7.sent;
466
463
  sts = _yield$appendMsg2.sts;
467
- _context7.next = 9;
464
+ _context7.next = 2;
468
465
  return updater.updateMany([], sts);
469
- case 9:
466
+ case 2:
470
467
  case "end":
471
468
  return _context7.stop();
472
469
  }
473
470
  }, _callee7);
474
471
  }));
475
- return function (_x11) {
472
+ return function (_x1) {
476
473
  return _ref9.apply(this, arguments);
477
474
  };
478
475
  }(), false);
479
- case 7:
476
+ case 1:
480
477
  case "end":
481
478
  return _context8.stop();
482
479
  }
483
480
  }, _callee8);
484
481
  }));
485
- return function (_x10) {
482
+ return function (_x0) {
486
483
  return _ref8.apply(this, arguments);
487
484
  };
488
485
  }(), false);
489
- case 38:
486
+ case 5:
490
487
  case "end":
491
488
  return _context9.stop();
492
489
  }
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","_yield$appendMsg","dateStamp","sts","sendComplete","wrap","_callee2$","_context2","prev","next","field","disabled","appendMsg","value","sent","_ref2","_callee","success","body","bindings","_callee$","_context","errorMessageBlock","literal","renderMessage","stop","_x","_x2","_x3","apply","arguments","updateMany","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","_ref3","_callee3","_callee3$","_context3","keyCode","altKey","_x4","button","iconBase","buttonStyle","context","ensureLoggedIn","then","_ref4","fieldValue","oldMsg","length","undefined","_callee4","now","timestamp","msgBody","_callee4$","_context4","Date","getTime","sym","t0","t1","Statement","mostRecentVersion","t2","t3","t4","t5","t6","push","wf","concat","nick","sioc","foaf","abrupt","_x5","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","_ref5","_callee5","deletions","_callee5$","_context5","connectedStatements","ok","_x6","_ref6","_callee6","_callee6$","_context6","_x7","_ref7","_callee9","fresh","content","dateString","tr","done","td2","td3","delButton","_callee9$","_context9","insertBefore","shortDate","_ref8","_callee8","_event","cancelButton","sureButton","_callee8$","_context8","_ref9","_callee7","_yield$appendMsg2","_callee7$","_context7","_x11","_x10","_x8","_x9","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\nimport * as pad from '../pad'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = async function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = await appendMsg(field.value)\n\n const sendComplete = async function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n await updater.updateMany([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n async function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n await sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n const appendMsg = async function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(await mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n message = msg\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return message\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n await updater.updateMany(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = async function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n await renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = async function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n async function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n async function (_event) { // alain: test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = await appendMsg() // alain\n await updater.updateMany([], sts) // alain\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t8","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","_yield$appendMsg","dateStamp","sts","sendComplete","wrap","_context2","prev","next","field","disabled","appendMsg","value","sent","_ref2","_callee","success","body","bindings","_context","errorMessageBlock","literal","renderMessage","stop","_x","_x2","_x3","apply","arguments","updateMany","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","_ref3","_callee3","_context3","keyCode","altKey","_x4","button","iconBase","buttonStyle","context","ensureLoggedIn","then","_ref4","fieldValue","oldMsg","length","undefined","_callee4","now","timestamp","msgBody","_t","_t2","_t3","_t4","_t5","_t6","_t7","_context4","Date","getTime","sym","Statement","mostRecentVersion","push","wf","concat","nick","sioc","foaf","abrupt","_x5","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","_ref5","_callee5","deletions","_context5","connectedStatements","ok","_x6","_ref6","_callee6","_context6","_x7","_ref7","_callee9","fresh","content","dateString","tr","done","td2","td3","delButton","_context9","insertBefore","shortDate","_ref8","_callee8","_event","cancelButton","sureButton","_context8","_ref9","_callee7","_yield$appendMsg2","_context7","_x1","_x0","_x8","_x9","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\nimport * as pad from '../pad'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = async function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = await appendMsg(field.value)\n\n const sendComplete = async function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n await updater.updateMany([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n async function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n await sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n const appendMsg = async function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(await mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n for (ele = messageTable.firstChild; ele;) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n message = msg\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return message\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n await updater.updateMany(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = async function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n await renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = async function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n async function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n async function (_event) { // alain: test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = await appendMsg() // alain\n await updater.updateMany([], sts) // alain\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,8 +12,7 @@ var _login = require("../login/login");
12
12
  var ns = _interopRequireWildcard(require("../ns"));
13
13
  var utils = _interopRequireWildcard(require("../utils"));
14
14
  var widgets = _interopRequireWildcard(require("../widgets"));
15
- 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); }
16
- 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; }
15
+ 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 _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
16
  /* create.js UI to craete new objects in the solid-app-set world
18
17
  **
19
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","names":["_solidLogic","require","debug","_interopRequireWildcard","_iconBase","_login","ns","utils","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","kb","solidLogicSingleton","store","newThingUI","createContext","dataBrowserContext","thePanes","dom","div","me","uri","Error","iconStyle","star","appendChild","createElement","visible","setAttribute","icons","iconBase","complain","message","pre","createTextNode","styleTheIcons","style","iconArray","length","st","disabled","selectTool","icon","selectNewTool","_event","addEventListener","makeNewAppInstance","options","Promise","resolve","reject","selectUI","callbackWS","ws","newBase","ensureLoadedProfile","then","_context","newPaneOptions","assign","folder","undefined","workspace","opt","log","concat","pane","name","mintNew","newInstance","tail","slice","isPackage","includes","add","ldp","sym","doc","refreshTarget","refresh","p","innerHTML","noun","err","pa","mintClass","label","appPathSegment","toUpperCase","selectWorkspace","gotName","endsWith","encodeURIComponent","askName","foaf","mintingPanes","values","filter","mintingClassMap","reduce","classMap","forEach","push","event","iconEle","noIndexHTML"],"sources":["../../src/create/create.ts"],"sourcesContent":["/* create.js UI to craete new objects in the solid-app-set world\n **\n */\n\nimport { DataBrowserContext, NewPaneOptions, PaneDefinition } from 'pane-registry'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { ensureLoadedProfile, selectWorkspace } from '../login/login'\nimport * as ns from '../ns'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { CreateContext, NewAppInstanceOptions } from './types'\n\nconst kb = solidLogicSingleton.store\n\n/* newThingUI -- return UI for user to select a new object, folder, etc\n **\n ** context must include: dom, div,\n ** optional: folder: NamedNode -- the folder where the thing is bring put\n ** (suppresses asking for a full URI or workspace)\n **\n */\nexport function newThingUI (\n createContext: CreateContext,\n dataBrowserContext: DataBrowserContext,\n thePanes: Array<PaneDefinition>\n): void {\n const dom = createContext.dom\n const div = createContext.div\n if (createContext.me && !createContext.me.uri) {\n throw new Error('newThingUI: Invalid userid: ' + createContext.me)\n }\n\n const iconStyle = 'padding: 0.7em; width: 2em; height: 2em;' // was: 'padding: 1em; width: 3em; height: 3em;'\n const star = div.appendChild(dom.createElement('img'))\n let visible = false // the inividual tools tools\n // noun_272948.svg = black star\n // noun_34653_green.svg = green plus\n star.setAttribute('src', icons.iconBase + 'noun_34653_green.svg')\n star.setAttribute('style', iconStyle)\n star.setAttribute('title', 'Add another tool')\n\n const complain = function complain (message) {\n const pre = div.appendChild(dom.createElement('pre'))\n pre.setAttribute('style', 'background-color: pink')\n pre.appendChild(dom.createTextNode(message))\n }\n\n function styleTheIcons (style) {\n for (let i = 0; i < iconArray.length; i++) {\n let st = iconStyle + style\n if (iconArray[i].disabled) {\n // @@ unused\n st += 'opacity: 0.3;'\n }\n iconArray[i].setAttribute('style', st) // eg 'background-color: #ccc;'\n }\n }\n\n function selectTool (icon) {\n styleTheIcons('display: none;') // 'background-color: #ccc;'\n icon.setAttribute('style', iconStyle + 'background-color: yellow;')\n }\n\n function selectNewTool (_event?) {\n visible = !visible\n star.setAttribute(\n 'style',\n iconStyle + (visible ? 'background-color: yellow;' : '')\n )\n styleTheIcons(visible ? '' : 'display: none;')\n }\n\n star.addEventListener('click', selectNewTool)\n\n function makeNewAppInstance (options: NewAppInstanceOptions) {\n return new Promise(function (resolve, reject) {\n let selectUI // , selectUIParent\n function callbackWS (ws, newBase) {\n ensureLoadedProfile(createContext).then(\n _context => {\n const newPaneOptions: NewPaneOptions = Object.assign({\n newBase,\n folder: options.folder || undefined,\n workspace: ws\n }, options)\n for (const opt in options) {\n // get div, dom, me, folder, pane, refreshTable\n newPaneOptions[opt] = options[opt]\n }\n debug.log(`newThingUI: Minting new ${newPaneOptions.pane.name} at ${newPaneOptions.newBase}`)\n options.pane\n .mintNew!(dataBrowserContext, newPaneOptions)\n .then(function (newPaneOptions) {\n if (!newPaneOptions || !newPaneOptions.newInstance) {\n throw new Error('Cannot mint new - missing newInstance')\n }\n if (newPaneOptions.folder) {\n const tail = newPaneOptions.newInstance.uri.slice(\n newPaneOptions.folder.uri.length\n )\n const isPackage = tail.includes('/')\n debug.log(' new thing is packge? ' + isPackage)\n if (isPackage) {\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n kb.sym(newPaneOptions.newBase),\n newPaneOptions.folder.doc()\n )\n } else {\n // single file\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n newPaneOptions.newInstance,\n newPaneOptions.folder.doc()\n ) // Ping the patch system?\n }\n // @ts-ignore @@ TODO check whether refresh can exist here. Either fix type or remove unreachable code\n if (newPaneOptions.refreshTarget && newPaneOptions.refreshTarget.refresh) {\n // @@ TODO Remove the need to cast as any\n ;(newPaneOptions.refreshTarget as any).refresh() // Refresh the containing display\n }\n // selectUI.parentNode.removeChild(selectUI) It removes itself\n } else {\n const p = options.div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 120%;')\n // Make link to new thing\n p.innerHTML =\n \"Your <a target='_blank' href='\" +\n newPaneOptions.newInstance.uri +\n \"'><b>new \" +\n options.noun +\n '</b></a> is ready to be set up. ' +\n \"<br/><br/><a target='_blank' href='\" +\n newPaneOptions.newInstance.uri +\n \"'>Go to your new \" +\n options.noun +\n '.</a>'\n // selectUI.parentNode.removeChild(selectUI) // Clean up\n // selectUIParent.removeChild(selectUI) // Clean up\n }\n selectNewTool() // toggle star to plain and menu vanish again\n })\n .catch(function (err) {\n complain(err)\n reject(err)\n })\n },\n err => {\n // login fails\n complain('Error logging on: ' + err)\n }\n )\n } // callbackWS\n\n const pa = options.pane\n // options.appPathSegment = pa.name // was 'edu.mit.solid.pane.'\n options.noun = pa.mintClass ? utils.label(pa.mintClass) : pa.name\n options.appPathSegment = options.noun.slice(0, 1).toUpperCase() + options.noun.slice(1)\n\n if (!options.folder) {\n // No folder given? Ask user for full URI\n selectUI = selectWorkspace(dom, {\n noun: options.noun,\n appPathSegment: options.appPathSegment\n }, callbackWS)\n options.div.appendChild(selectUI)\n // selectUIParent = options.div\n } else {\n const gotName = function (name) {\n if (!name) {\n // selectUIParent.removeChild(selectUI) itremves itself if cancelled\n selectNewTool() // toggle star to plain and menu vanish again\n } else {\n let uri = options.folder!.uri\n if (!uri.endsWith('/')) {\n uri = uri + '/'\n }\n uri = uri + encodeURIComponent(name) + '/'\n callbackWS(null, uri)\n }\n }\n widgets\n .askName(\n dom,\n kb,\n options.div,\n ns.foaf('name'),\n null,\n options.noun\n )\n .then(gotName)\n // selectUI = getNameForm(dom, kb, options.noun, gotName)\n // options.div.appendChild(selectUI)\n // selectUIParent = options.div\n }\n })\n } // makeNewAppInstance\n\n const iconArray: Array<any> = []\n const mintingPanes = Object.values(thePanes).filter(pane => pane.mintNew)\n const mintingClassMap = mintingPanes.reduce((classMap, pane) => {\n if (pane.mintClass) {\n classMap[pane.mintClass.uri] = (classMap[pane.mintClass.uri] || 0) + 1\n }\n return classMap\n }, {})\n mintingPanes.forEach(pane => {\n // @@ TODO Remove the need to cast to any\n const icon: any = createContext.div.appendChild(dom.createElement('img'))\n icon.setAttribute('src', pane.icon)\n const noun = pane.mintClass\n ? mintingClassMap[pane.mintClass.uri] > 1\n ? `${utils.label(pane.mintClass)} (using ${pane.name} pane)`\n : utils.label(pane.mintClass)\n : pane.name + ' @@'\n icon.setAttribute('title', 'Make new ' + noun)\n icon.setAttribute('style', iconStyle + 'display: none;')\n iconArray.push(icon)\n if (!icon.disabled) {\n icon.addEventListener('click', function (e) {\n selectTool(icon)\n makeNewAppInstance({\n event: e,\n folder: createContext.folder || null,\n iconEle: icon,\n pane,\n noun,\n noIndexHTML: true, // do NOT @@ for now write a HTML file\n div: createContext.div,\n me: createContext.me,\n dom: createContext.dom,\n refreshTarget: createContext.refreshTarget\n })\n })\n }\n })\n}\n\n// Form to get the name of a new thing before we create it\n//\n// Used in contacts for new groups, individuals.\n//\n/*\nfunction getNameForm (dom, kb, classLabel, gotNameCallback) {\n const form = dom.createElement('div') // form is broken as HTML behaviour can resurface on js error\n form.innerHTML = '<p>Name of new ' + classLabel + ':</p>'\n const namefield = dom.createElement('input')\n namefield.setAttribute('type', 'text')\n namefield.setAttribute('size', '30')\n namefield.setAttribute('style', style.textInputStyle)\n namefield.setAttribute('maxLength', '2048') // No arbitrary limits\n namefield.select() // focus next user input\n\n const gotName = function () {\n namefield.setAttribute('class', 'pendingedit')\n namefield.disabled = true\n continueButton.disabled = true\n cancel.disabled = true\n gotNameCallback(true, namefield.value)\n }\n\n namefield.addEventListener('keyup', function (e) {\n if (e.keyCode === 13) {\n gotName()\n }\n }, false)\n form.appendChild(namefield)\n\n form.appendChild(dom.createElement('br'))\n\n const cancel = form.appendChild(widgets.cancelButton(dom))\n cancel.addEventListener('click', function (e) {\n form.parentNode.removeChild(form)\n gotNameCallback(false)\n }, false)\n\n const continueButton = form.appendChild(widgets.continueButton(dom))\n continueButton.addEventListener('click', function (e) {\n gotName()\n }, false)\n\n return form\n}\n*/\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"create.js","names":["_solidLogic","require","debug","_interopRequireWildcard","_iconBase","_login","ns","utils","widgets","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","kb","solidLogicSingleton","store","newThingUI","createContext","dataBrowserContext","thePanes","dom","div","me","uri","Error","iconStyle","star","appendChild","createElement","visible","setAttribute","icons","iconBase","complain","message","pre","createTextNode","styleTheIcons","style","iconArray","length","st","disabled","selectTool","icon","selectNewTool","_event","addEventListener","makeNewAppInstance","options","Promise","resolve","reject","selectUI","callbackWS","ws","newBase","ensureLoadedProfile","then","_context","newPaneOptions","assign","folder","undefined","workspace","opt","log","concat","pane","name","mintNew","newInstance","tail","slice","isPackage","includes","add","ldp","sym","doc","refreshTarget","refresh","p","innerHTML","noun","err","pa","mintClass","label","appPathSegment","toUpperCase","selectWorkspace","gotName","endsWith","encodeURIComponent","askName","foaf","mintingPanes","values","filter","mintingClassMap","reduce","classMap","forEach","push","event","iconEle","noIndexHTML"],"sources":["../../src/create/create.ts"],"sourcesContent":["/* create.js UI to craete new objects in the solid-app-set world\n **\n */\n\nimport { DataBrowserContext, NewPaneOptions, PaneDefinition } from 'pane-registry'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { ensureLoadedProfile, selectWorkspace } from '../login/login'\nimport * as ns from '../ns'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { CreateContext, NewAppInstanceOptions } from './types'\n\nconst kb = solidLogicSingleton.store\n\n/* newThingUI -- return UI for user to select a new object, folder, etc\n **\n ** context must include: dom, div,\n ** optional: folder: NamedNode -- the folder where the thing is bring put\n ** (suppresses asking for a full URI or workspace)\n **\n */\nexport function newThingUI (\n createContext: CreateContext,\n dataBrowserContext: DataBrowserContext,\n thePanes: Array<PaneDefinition>\n): void {\n const dom = createContext.dom\n const div = createContext.div\n if (createContext.me && !createContext.me.uri) {\n throw new Error('newThingUI: Invalid userid: ' + createContext.me)\n }\n\n const iconStyle = 'padding: 0.7em; width: 2em; height: 2em;' // was: 'padding: 1em; width: 3em; height: 3em;'\n const star = div.appendChild(dom.createElement('img'))\n let visible = false // the inividual tools tools\n // noun_272948.svg = black star\n // noun_34653_green.svg = green plus\n star.setAttribute('src', icons.iconBase + 'noun_34653_green.svg')\n star.setAttribute('style', iconStyle)\n star.setAttribute('title', 'Add another tool')\n\n const complain = function complain (message) {\n const pre = div.appendChild(dom.createElement('pre'))\n pre.setAttribute('style', 'background-color: pink')\n pre.appendChild(dom.createTextNode(message))\n }\n\n function styleTheIcons (style) {\n for (let i = 0; i < iconArray.length; i++) {\n let st = iconStyle + style\n if (iconArray[i].disabled) {\n // @@ unused\n st += 'opacity: 0.3;'\n }\n iconArray[i].setAttribute('style', st) // eg 'background-color: #ccc;'\n }\n }\n\n function selectTool (icon) {\n styleTheIcons('display: none;') // 'background-color: #ccc;'\n icon.setAttribute('style', iconStyle + 'background-color: yellow;')\n }\n\n function selectNewTool (_event?) {\n visible = !visible\n star.setAttribute(\n 'style',\n iconStyle + (visible ? 'background-color: yellow;' : '')\n )\n styleTheIcons(visible ? '' : 'display: none;')\n }\n\n star.addEventListener('click', selectNewTool)\n\n function makeNewAppInstance (options: NewAppInstanceOptions) {\n return new Promise(function (resolve, reject) {\n let selectUI // , selectUIParent\n function callbackWS (ws, newBase) {\n ensureLoadedProfile(createContext).then(\n _context => {\n const newPaneOptions: NewPaneOptions = Object.assign({\n newBase,\n folder: options.folder || undefined,\n workspace: ws\n }, options)\n for (const opt in options) {\n // get div, dom, me, folder, pane, refreshTable\n newPaneOptions[opt] = options[opt]\n }\n debug.log(`newThingUI: Minting new ${newPaneOptions.pane.name} at ${newPaneOptions.newBase}`)\n options.pane\n .mintNew!(dataBrowserContext, newPaneOptions)\n .then(function (newPaneOptions) {\n if (!newPaneOptions || !newPaneOptions.newInstance) {\n throw new Error('Cannot mint new - missing newInstance')\n }\n if (newPaneOptions.folder) {\n const tail = newPaneOptions.newInstance.uri.slice(\n newPaneOptions.folder.uri.length\n )\n const isPackage = tail.includes('/')\n debug.log(' new thing is packge? ' + isPackage)\n if (isPackage) {\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n kb.sym(newPaneOptions.newBase),\n newPaneOptions.folder.doc()\n )\n } else {\n // single file\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n newPaneOptions.newInstance,\n newPaneOptions.folder.doc()\n ) // Ping the patch system?\n }\n // @ts-ignore @@ TODO check whether refresh can exist here. Either fix type or remove unreachable code\n if (newPaneOptions.refreshTarget && newPaneOptions.refreshTarget.refresh) {\n // @@ TODO Remove the need to cast as any\n ;(newPaneOptions.refreshTarget as any).refresh() // Refresh the containing display\n }\n // selectUI.parentNode.removeChild(selectUI) It removes itself\n } else {\n const p = options.div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 120%;')\n // Make link to new thing\n p.innerHTML =\n \"Your <a target='_blank' href='\" +\n newPaneOptions.newInstance.uri +\n \"'><b>new \" +\n options.noun +\n '</b></a> is ready to be set up. ' +\n \"<br/><br/><a target='_blank' href='\" +\n newPaneOptions.newInstance.uri +\n \"'>Go to your new \" +\n options.noun +\n '.</a>'\n // selectUI.parentNode.removeChild(selectUI) // Clean up\n // selectUIParent.removeChild(selectUI) // Clean up\n }\n selectNewTool() // toggle star to plain and menu vanish again\n })\n .catch(function (err) {\n complain(err)\n reject(err)\n })\n },\n err => {\n // login fails\n complain('Error logging on: ' + err)\n }\n )\n } // callbackWS\n\n const pa = options.pane\n // options.appPathSegment = pa.name // was 'edu.mit.solid.pane.'\n options.noun = pa.mintClass ? utils.label(pa.mintClass) : pa.name\n options.appPathSegment = options.noun.slice(0, 1).toUpperCase() + options.noun.slice(1)\n\n if (!options.folder) {\n // No folder given? Ask user for full URI\n selectUI = selectWorkspace(dom, {\n noun: options.noun,\n appPathSegment: options.appPathSegment\n }, callbackWS)\n options.div.appendChild(selectUI)\n // selectUIParent = options.div\n } else {\n const gotName = function (name) {\n if (!name) {\n // selectUIParent.removeChild(selectUI) itremves itself if cancelled\n selectNewTool() // toggle star to plain and menu vanish again\n } else {\n let uri = options.folder!.uri\n if (!uri.endsWith('/')) {\n uri = uri + '/'\n }\n uri = uri + encodeURIComponent(name) + '/'\n callbackWS(null, uri)\n }\n }\n widgets\n .askName(\n dom,\n kb,\n options.div,\n ns.foaf('name'),\n null,\n options.noun\n )\n .then(gotName)\n // selectUI = getNameForm(dom, kb, options.noun, gotName)\n // options.div.appendChild(selectUI)\n // selectUIParent = options.div\n }\n })\n } // makeNewAppInstance\n\n const iconArray: Array<any> = []\n const mintingPanes = Object.values(thePanes).filter(pane => pane.mintNew)\n const mintingClassMap = mintingPanes.reduce((classMap, pane) => {\n if (pane.mintClass) {\n classMap[pane.mintClass.uri] = (classMap[pane.mintClass.uri] || 0) + 1\n }\n return classMap\n }, {})\n mintingPanes.forEach(pane => {\n // @@ TODO Remove the need to cast to any\n const icon: any = createContext.div.appendChild(dom.createElement('img'))\n icon.setAttribute('src', pane.icon)\n const noun = pane.mintClass\n ? mintingClassMap[pane.mintClass.uri] > 1\n ? `${utils.label(pane.mintClass)} (using ${pane.name} pane)`\n : utils.label(pane.mintClass)\n : pane.name + ' @@'\n icon.setAttribute('title', 'Make new ' + noun)\n icon.setAttribute('style', iconStyle + 'display: none;')\n iconArray.push(icon)\n if (!icon.disabled) {\n icon.addEventListener('click', function (e) {\n selectTool(icon)\n makeNewAppInstance({\n event: e,\n folder: createContext.folder || null,\n iconEle: icon,\n pane,\n noun,\n noIndexHTML: true, // do NOT @@ for now write a HTML file\n div: createContext.div,\n me: createContext.me,\n dom: createContext.dom,\n refreshTarget: createContext.refreshTarget\n })\n })\n }\n })\n}\n\n// Form to get the name of a new thing before we create it\n//\n// Used in contacts for new groups, individuals.\n//\n/*\nfunction getNameForm (dom, kb, classLabel, gotNameCallback) {\n const form = dom.createElement('div') // form is broken as HTML behaviour can resurface on js error\n form.innerHTML = '<p>Name of new ' + classLabel + ':</p>'\n const namefield = dom.createElement('input')\n namefield.setAttribute('type', 'text')\n namefield.setAttribute('size', '30')\n namefield.setAttribute('style', style.textInputStyle)\n namefield.setAttribute('maxLength', '2048') // No arbitrary limits\n namefield.select() // focus next user input\n\n const gotName = function () {\n namefield.setAttribute('class', 'pendingedit')\n namefield.disabled = true\n continueButton.disabled = true\n cancel.disabled = true\n gotNameCallback(true, namefield.value)\n }\n\n namefield.addEventListener('keyup', function (e) {\n if (e.keyCode === 13) {\n gotName()\n }\n }, false)\n form.appendChild(namefield)\n\n form.appendChild(dom.createElement('br'))\n\n const cancel = form.appendChild(widgets.cancelButton(dom))\n cancel.addEventListener('click', function (e) {\n form.parentNode.removeChild(form)\n gotNameCallback(false)\n }, false)\n\n const continueButton = form.appendChild(widgets.continueButton(dom))\n continueButton.addEventListener('click', function (e) {\n gotName()\n }, false)\n\n return form\n}\n*/\n"],"mappings":"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","ignoreList":[]}