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
@@ -21,8 +21,7 @@ var utils = _interopRequireWildcard(require("../utils"));
21
21
  var widgets = _interopRequireWildcard(require("../widgets"));
22
22
  var _solidLogic = require("solid-logic");
23
23
  var _login = require("../login/login");
24
- 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); }
25
- 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; }
24
+ 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 _t4 in e) "default" !== _t4 && {}.hasOwnProperty.call(e, _t4) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t4)) && (i.get || i.set) ? o(f, _t4, i) : f[_t4] = e[_t4]); return f; })(e, t); }
26
25
  /**
27
26
  * Functions related to chat and bookmarks
28
27
  * @packageDocumentation
@@ -70,18 +69,18 @@ function findBookmarkDocument(_x) {
70
69
  */
71
70
  function _findBookmarkDocument() {
72
71
  _findBookmarkDocument = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(userContext) {
73
- var theClass, fileTail, isPublic, newBookmarkFile;
74
- return _regenerator["default"].wrap(function _callee$(_context) {
72
+ var theClass, fileTail, isPublic, newBookmarkFile, _t;
73
+ return _regenerator["default"].wrap(function (_context) {
75
74
  while (1) switch (_context.prev = _context.next) {
76
75
  case 0:
77
76
  theClass = BOOK('Bookmark');
78
77
  fileTail = 'bookmarks.ttl';
79
78
  isPublic = true;
80
- _context.next = 5;
79
+ _context.next = 1;
81
80
  return (0, _login.findAppInstances)(userContext, theClass, isPublic);
82
- case 5:
81
+ case 1:
83
82
  if (!(userContext.instances && userContext.instances.length > 0)) {
84
- _context.next = 10;
83
+ _context.next = 2;
85
84
  break;
86
85
  }
87
86
  userContext.bookmarkDocument = userContext.instances[0];
@@ -89,43 +88,43 @@ function _findBookmarkDocument() {
89
88
  debug.warn('More than one bookmark file! ' + userContext.instances); // @@ todo - deal with > 1
90
89
  // Note: should pick up community bookmarks as well
91
90
  }
92
- _context.next = 28;
91
+ _context.next = 9;
93
92
  break;
94
- case 10:
93
+ case 2:
95
94
  if (!userContext.publicProfile) {
96
- _context.next = 27;
95
+ _context.next = 8;
97
96
  break;
98
97
  }
99
98
  // publicProfile or preferencesFile
100
99
  newBookmarkFile = $rdf.sym(userContext.publicProfile.dir().uri + fileTail);
101
- _context.prev = 12;
100
+ _context.prev = 3;
102
101
  debug.log('Creating new bookmark file ' + newBookmarkFile);
103
- _context.next = 16;
102
+ _context.next = 4;
104
103
  return _solidLogic.store.fetcher.createIfNotExists(newBookmarkFile);
105
- case 16:
106
- _context.next = 22;
104
+ case 4:
105
+ _context.next = 6;
107
106
  break;
108
- case 18:
109
- _context.prev = 18;
110
- _context.t0 = _context["catch"](12);
111
- debug.warn("Can't make fresh bookmark file:" + _context.t0);
107
+ case 5:
108
+ _context.prev = 5;
109
+ _t = _context["catch"](3);
110
+ debug.warn("Can't make fresh bookmark file:" + _t);
112
111
  return _context.abrupt("return", userContext);
113
- case 22:
114
- _context.next = 24;
112
+ case 6:
113
+ _context.next = 7;
115
114
  return (0, _solidLogic.registerInTypeIndex)(newBookmarkFile, userContext.index, theClass);
116
- case 24:
115
+ case 7:
117
116
  userContext.bookmarkDocument = newBookmarkFile;
118
- _context.next = 28;
117
+ _context.next = 9;
119
118
  break;
120
- case 27:
119
+ case 8:
121
120
  debug.warn('You seem to have no bookmark file, nor even a profile file!');
122
- case 28:
121
+ case 9:
123
122
  return _context.abrupt("return", userContext);
124
- case 29:
123
+ case 10:
125
124
  case "end":
126
125
  return _context.stop();
127
126
  }
128
- }, _callee, null, [[12, 18]]);
127
+ }, _callee, null, [[3, 5]]);
129
128
  }));
130
129
  return _findBookmarkDocument.apply(this, arguments);
131
130
  }
@@ -134,8 +133,8 @@ function addBookmark(_x2, _x3) {
134
133
  }
135
134
  function _addBookmark() {
136
135
  _addBookmark = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(context, target) {
137
- var title, me, author, bookmarkDoc, bookmark, ins, msg;
138
- return _regenerator["default"].wrap(function _callee2$(_context2) {
136
+ var title, me, author, bookmarkDoc, bookmark, ins, msg, _t2;
137
+ return _regenerator["default"].wrap(function (_context2) {
139
138
  while (1) switch (_context2.prev = _context2.next) {
140
139
  case 0:
141
140
  /* like
@@ -153,35 +152,35 @@ function _addBookmark() {
153
152
  title = '';
154
153
  me = _solidLogic.authn.currentUser(); // If already logged on
155
154
  if (me) {
156
- _context2.next = 4;
155
+ _context2.next = 1;
157
156
  break;
158
157
  }
159
158
  throw new Error('Must be logged on to add Bookmark');
160
- case 4:
159
+ case 1:
161
160
  author = _solidLogic.store.any(target, ns.foaf('maker'));
162
161
  title = label(author) + ': ' + _solidLogic.store.anyValue(target, ns.sioc('content')).slice(0, 80); // @@ add chat title too?
163
162
  bookmarkDoc = context.bookmarkDocument;
164
163
  bookmark = UI.widgets.newThing(bookmarkDoc, title);
165
164
  ins = [$rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc), $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc), $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc), $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc), $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc), $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)];
166
- _context2.prev = 9;
167
- _context2.next = 12;
165
+ _context2.prev = 2;
166
+ _context2.next = 3;
168
167
  return updatePromise([], ins);
169
- case 12:
170
- _context2.next = 19;
168
+ case 3:
169
+ _context2.next = 5;
171
170
  break;
172
- case 14:
173
- _context2.prev = 14;
174
- _context2.t0 = _context2["catch"](9);
175
- msg = 'Making bookmark: ' + _context2.t0;
171
+ case 4:
172
+ _context2.prev = 4;
173
+ _t2 = _context2["catch"](2);
174
+ msg = 'Making bookmark: ' + _t2;
176
175
  debug.warn(msg);
177
176
  return _context2.abrupt("return", null);
178
- case 19:
177
+ case 5:
179
178
  return _context2.abrupt("return", bookmark);
180
- case 20:
179
+ case 6:
181
180
  case "end":
182
181
  return _context2.stop();
183
182
  }
184
- }, _callee2, null, [[9, 14]]);
183
+ }, _callee2, null, [[2, 4]]);
185
184
  }));
186
185
  return _addBookmark.apply(this, arguments);
187
186
  }
@@ -190,62 +189,62 @@ function toggleBookmark(_x4, _x5, _x6) {
190
189
  }
191
190
  function _toggleBookmark() {
192
191
  _toggleBookmark = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(userContext, target, bookmarkButton) {
193
- var bookmarks, i, bookmark;
194
- return _regenerator["default"].wrap(function _callee3$(_context3) {
192
+ var bookmarks, i, bookmark, _t3;
193
+ return _regenerator["default"].wrap(function (_context3) {
195
194
  while (1) switch (_context3.prev = _context3.next) {
196
195
  case 0:
197
- _context3.next = 2;
196
+ _context3.next = 1;
198
197
  return _solidLogic.store.fetcher.load(userContext.bookmarkDocument);
199
- case 2:
198
+ case 1:
200
199
  bookmarks = _solidLogic.store.each(null, BOOK('recalls'), target, userContext.bookmarkDocument);
201
200
  if (!bookmarks.length) {
202
- _context3.next = 24;
201
+ _context3.next = 9;
203
202
  break;
204
203
  }
205
204
  if (confirm('Delete bookmark on this?' + bookmarks.length)) {
206
- _context3.next = 6;
205
+ _context3.next = 2;
207
206
  break;
208
207
  }
209
208
  return _context3.abrupt("return");
210
- case 6:
209
+ case 2:
211
210
  i = 0;
212
- case 7:
211
+ case 3:
213
212
  if (!(i < bookmarks.length)) {
214
- _context3.next = 22;
213
+ _context3.next = 8;
215
214
  break;
216
215
  }
217
- _context3.prev = 8;
218
- _context3.next = 11;
216
+ _context3.prev = 4;
217
+ _context3.next = 5;
219
218
  return updatePromise(_solidLogic.store.connectedStatements(bookmarks[i]), []);
220
- case 11:
219
+ case 5:
221
220
  bookmarkButton.style.backgroundColor = 'white';
222
221
  debug.log('Bookmark deleted: ' + bookmarks[i]);
223
- _context3.next = 19;
222
+ _context3.next = 7;
224
223
  break;
225
- case 15:
226
- _context3.prev = 15;
227
- _context3.t0 = _context3["catch"](8);
228
- debug.error('Cant delete bookmark:' + _context3.t0);
229
- debug.warn('Cannot delete bookmark:' + _context3.t0);
230
- case 19:
224
+ case 6:
225
+ _context3.prev = 6;
226
+ _t3 = _context3["catch"](4);
227
+ debug.error('Cant delete bookmark:' + _t3);
228
+ debug.warn('Cannot delete bookmark:' + _t3);
229
+ case 7:
231
230
  i++;
232
- _context3.next = 7;
231
+ _context3.next = 3;
233
232
  break;
234
- case 22:
235
- _context3.next = 29;
233
+ case 8:
234
+ _context3.next = 11;
236
235
  break;
237
- case 24:
238
- _context3.next = 26;
236
+ case 9:
237
+ _context3.next = 10;
239
238
  return addBookmark(userContext, target);
240
- case 26:
239
+ case 10:
241
240
  bookmark = _context3.sent;
242
241
  bookmarkButton.style.backgroundColor = 'yellow';
243
242
  debug.log('Bookmark added: ' + bookmark);
244
- case 29:
243
+ case 11:
245
244
  case "end":
246
245
  return _context3.stop();
247
246
  }
248
- }, _callee3, null, [[8, 15]]);
247
+ }, _callee3, null, [[4, 6]]);
249
248
  }));
250
249
  return _toggleBookmark.apply(this, arguments);
251
250
  }
@@ -255,22 +254,22 @@ function renderBookmarksButton(_x7, _x8) {
255
254
  function _renderBookmarksButton() {
256
255
  _renderBookmarksButton = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(userContext, target) {
257
256
  var setBookmarkButtonColor, _setBookmarkButtonColor, bookmarkButton;
258
- return _regenerator["default"].wrap(function _callee5$(_context5) {
257
+ return _regenerator["default"].wrap(function (_context5) {
259
258
  while (1) switch (_context5.prev = _context5.next) {
260
259
  case 0:
261
260
  _setBookmarkButtonColor = function _setBookmarkButtonCol2() {
262
261
  _setBookmarkButtonColor = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(bookmarkButton) {
263
262
  var bookmarked;
264
- return _regenerator["default"].wrap(function _callee4$(_context4) {
263
+ return _regenerator["default"].wrap(function (_context4) {
265
264
  while (1) switch (_context4.prev = _context4.next) {
266
265
  case 0:
267
- _context4.next = 2;
266
+ _context4.next = 1;
268
267
  return _solidLogic.store.fetcher.load(userContext.bookmarkDocument);
269
- case 2:
268
+ case 1:
270
269
  bookmarked = _solidLogic.store.any(null, BOOK('recalls'), bookmarkButton.target, userContext.bookmarkDocument);
271
270
  bookmarkButton.style = UI.style.buttonStyle;
272
271
  if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow';
273
- case 5:
272
+ case 2:
274
273
  case "end":
275
274
  return _context4.stop();
276
275
  }
@@ -282,18 +281,18 @@ function _renderBookmarksButton() {
282
281
  return _setBookmarkButtonColor.apply(this, arguments);
283
282
  };
284
283
  if (!userContext.bookmarkDocument) {
285
- _context5.next = 8;
284
+ _context5.next = 2;
286
285
  break;
287
286
  }
288
287
  bookmarkButton = UI.widgets.button(dom, UI.icons.iconBase + BOOKMARK_ICON, label(BOOK('Bookmark')), function () {
289
288
  toggleBookmark(userContext, target, bookmarkButton);
290
289
  });
291
290
  bookmarkButton.target = target;
292
- _context5.next = 7;
291
+ _context5.next = 1;
293
292
  return setBookmarkButtonColor(bookmarkButton);
294
- case 7:
293
+ case 1:
295
294
  return _context5.abrupt("return", bookmarkButton);
296
- case 8:
295
+ case 2:
297
296
  case "end":
298
297
  return _context5.stop();
299
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bookmarks.js","names":["debug","_interopRequireWildcard","require","_iconBase","_index","ns","pad","rdf","style","utils","widgets","_solidLogic","_login","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","UI","icons","media","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","updatePromise","del","ins","Promise","resolve","reject","store","updater","update","uri","ok","errorBody","Error","findBookmarkDocument","_x","_findBookmarkDocument","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","userContext","theClass","fileTail","isPublic","newBookmarkFile","wrap","_callee$","_context","prev","next","findAppInstances","instances","length","bookmarkDocument","warn","publicProfile","sym","dir","log","fetcher","createIfNotExists","t0","abrupt","registerInTypeIndex","index","stop","addBookmark","_x2","_x3","_addBookmark","_callee2","context","target","title","me","author","bookmarkDoc","bookmark","msg","_callee2$","_context2","authn","currentUser","any","foaf","anyValue","sioc","slice","newThing","st","dct","Date","toggleBookmark","_x4","_x5","_x6","_toggleBookmark","_callee3","bookmarkButton","bookmarks","_callee3$","_context3","load","each","confirm","connectedStatements","backgroundColor","error","sent","renderBookmarksButton","_x7","_x8","_renderBookmarksButton","_callee5","setBookmarkButtonColor","_setBookmarkButtonColor","_callee5$","_context5","_setBookmarkButtonCol2","_callee4","bookmarked","_callee4$","_context4","buttonStyle","_setBookmarkButtonCol","_x9","button","iconBase"],"sources":["../../src/chat/bookmarks.js"],"sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\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'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n debug.warn('More than one bookmark file! ' + userContext.instances) // @@ todo - deal with > 1\n // Note: should pick up community bookmarks as well\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await store.fetcher.createIfNotExists(newBookmarkFile)\n } catch (e) {\n debug.warn(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n newBookmarkFile,\n userContext.index,\n theClass\n )\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n debug.warn('You seem to have no bookmark file, nor even a profile file!')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n debug.warn(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n debug.warn('Cannot delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"bookmarks.js","names":["debug","_interopRequireWildcard","require","_iconBase","_index","ns","pad","rdf","style","utils","widgets","_solidLogic","_login","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t4","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UI","icons","media","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","updatePromise","del","ins","Promise","resolve","reject","store","updater","update","uri","ok","errorBody","Error","findBookmarkDocument","_x","_findBookmarkDocument","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","userContext","theClass","fileTail","isPublic","newBookmarkFile","_t","wrap","_context","prev","next","findAppInstances","instances","length","bookmarkDocument","warn","publicProfile","sym","dir","log","fetcher","createIfNotExists","abrupt","registerInTypeIndex","index","stop","addBookmark","_x2","_x3","_addBookmark","_callee2","context","target","title","me","author","bookmarkDoc","bookmark","msg","_t2","_context2","authn","currentUser","any","foaf","anyValue","sioc","slice","newThing","st","dct","Date","toggleBookmark","_x4","_x5","_x6","_toggleBookmark","_callee3","bookmarkButton","bookmarks","_t3","_context3","load","each","confirm","connectedStatements","backgroundColor","error","sent","renderBookmarksButton","_x7","_x8","_renderBookmarksButton","_callee5","setBookmarkButtonColor","_setBookmarkButtonColor","_context5","_setBookmarkButtonCol2","_callee4","bookmarked","_context4","buttonStyle","_setBookmarkButtonCol","_x9","button","iconBase"],"sources":["../../src/chat/bookmarks.js"],"sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\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'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n debug.warn('More than one bookmark file! ' + userContext.instances) // @@ todo - deal with > 1\n // Note: should pick up community bookmarks as well\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await store.fetcher.createIfNotExists(newBookmarkFile)\n } catch (e) {\n debug.warn(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n newBookmarkFile,\n userContext.index,\n theClass\n )\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n debug.warn('You seem to have no bookmark file, nor even a profile file!')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n debug.warn(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n debug.warn('Cannot delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"mappings":"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","ignoreList":[]}