solid-ui 2.4.24 → 2.4.25

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 (248) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/index.html +0 -0
  4. package/dist/main.js +50483 -50370
  5. package/dist/main.js.map +1 -1
  6. package/lib/acl/access-controller.d.ts +0 -0
  7. package/lib/acl/access-controller.d.ts.map +0 -0
  8. package/lib/acl/access-controller.js +90 -98
  9. package/lib/acl/access-controller.js.map +1 -1
  10. package/lib/acl/access-groups.d.ts +0 -0
  11. package/lib/acl/access-groups.d.ts.map +0 -0
  12. package/lib/acl/access-groups.js +82 -90
  13. package/lib/acl/access-groups.js.map +1 -1
  14. package/lib/acl/acl-control.d.ts +0 -0
  15. package/lib/acl/acl-control.d.ts.map +0 -0
  16. package/lib/acl/acl-control.js +50 -54
  17. package/lib/acl/acl-control.js.map +1 -1
  18. package/lib/acl/acl.d.ts +3 -3
  19. package/lib/acl/acl.d.ts.map +1 -1
  20. package/lib/acl/acl.js +13 -15
  21. package/lib/acl/acl.js.map +1 -1
  22. package/lib/acl/add-agent-buttons.d.ts +0 -0
  23. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  24. package/lib/acl/add-agent-buttons.js +142 -154
  25. package/lib/acl/add-agent-buttons.js.map +1 -1
  26. package/lib/acl/index.d.ts +0 -0
  27. package/lib/acl/index.d.ts.map +0 -0
  28. package/lib/acl/index.js +0 -0
  29. package/lib/acl/index.js.map +0 -0
  30. package/lib/acl/styles.d.ts +0 -0
  31. package/lib/acl/styles.d.ts.map +0 -0
  32. package/lib/acl/styles.js +0 -0
  33. package/lib/acl/styles.js.map +0 -0
  34. package/lib/acl/types.d.ts +6 -6
  35. package/lib/acl/types.d.ts.map +1 -1
  36. package/lib/acl/types.js +0 -0
  37. package/lib/acl/types.js.map +0 -0
  38. package/lib/chat/bookmarks.js +181 -191
  39. package/lib/chat/bookmarks.js.map +1 -1
  40. package/lib/chat/chatLogic.js +96 -104
  41. package/lib/chat/chatLogic.js.map +1 -1
  42. package/lib/chat/dateFolder.js +232 -224
  43. package/lib/chat/dateFolder.js.map +1 -1
  44. package/lib/chat/infinite.js +634 -658
  45. package/lib/chat/infinite.js.map +1 -1
  46. package/lib/chat/message.js +119 -131
  47. package/lib/chat/message.js.map +1 -1
  48. package/lib/chat/messageTools.js +106 -114
  49. package/lib/chat/messageTools.js.map +1 -1
  50. package/lib/chat/thread.js +16 -18
  51. package/lib/chat/thread.js.map +1 -1
  52. package/lib/create/create.d.ts +0 -0
  53. package/lib/create/create.d.ts.map +0 -0
  54. package/lib/create/create.js +0 -0
  55. package/lib/create/create.js.map +0 -0
  56. package/lib/create/index.d.ts +0 -0
  57. package/lib/create/index.d.ts.map +0 -0
  58. package/lib/create/index.js +0 -0
  59. package/lib/create/index.js.map +0 -0
  60. package/lib/create/types.d.ts +1 -1
  61. package/lib/create/types.d.ts.map +1 -1
  62. package/lib/create/types.js +0 -0
  63. package/lib/create/types.js.map +0 -0
  64. package/lib/debug.d.ts +0 -0
  65. package/lib/debug.d.ts.map +0 -0
  66. package/lib/debug.js +0 -0
  67. package/lib/debug.js.map +0 -0
  68. package/lib/folders.js +0 -0
  69. package/lib/folders.js.map +0 -0
  70. package/lib/footer/index.d.ts +1 -1
  71. package/lib/footer/index.d.ts.map +1 -1
  72. package/lib/footer/index.js +33 -37
  73. package/lib/footer/index.js.map +1 -1
  74. package/lib/footer/styleMap.d.ts +0 -0
  75. package/lib/footer/styleMap.d.ts.map +0 -0
  76. package/lib/footer/styleMap.js +0 -0
  77. package/lib/footer/styleMap.js.map +0 -0
  78. package/lib/header/empty-profile.d.ts +0 -0
  79. package/lib/header/empty-profile.d.ts.map +0 -0
  80. package/lib/header/empty-profile.js +0 -0
  81. package/lib/header/empty-profile.js.map +0 -0
  82. package/lib/header/index.d.ts +4 -4
  83. package/lib/header/index.d.ts.map +1 -1
  84. package/lib/header/index.js +126 -134
  85. package/lib/header/index.js.map +1 -1
  86. package/lib/header/styleMap.d.ts +0 -0
  87. package/lib/header/styleMap.d.ts.map +0 -0
  88. package/lib/header/styleMap.js +0 -0
  89. package/lib/header/styleMap.js.map +0 -0
  90. package/lib/iconBase.d.ts +0 -0
  91. package/lib/iconBase.d.ts.map +0 -0
  92. package/lib/iconBase.js +0 -0
  93. package/lib/iconBase.js.map +0 -0
  94. package/lib/icons/solid_logo.d.ts +0 -0
  95. package/lib/icons/solid_logo.d.ts.map +0 -0
  96. package/lib/icons/solid_logo.js +0 -0
  97. package/lib/icons/solid_logo.js.map +0 -0
  98. package/lib/index.d.ts +0 -0
  99. package/lib/index.d.ts.map +0 -0
  100. package/lib/index.js +0 -0
  101. package/lib/index.js.map +0 -0
  102. package/lib/jss/index.d.ts +0 -0
  103. package/lib/jss/index.d.ts.map +0 -0
  104. package/lib/jss/index.js +0 -0
  105. package/lib/jss/index.js.map +0 -0
  106. package/lib/log.d.ts +0 -0
  107. package/lib/log.d.ts.map +0 -0
  108. package/lib/log.js +0 -0
  109. package/lib/log.js.map +0 -0
  110. package/lib/login/login.d.ts +0 -0
  111. package/lib/login/login.d.ts.map +0 -0
  112. package/lib/login/login.js +470 -470
  113. package/lib/login/login.js.map +1 -1
  114. package/lib/matrix/index.d.ts +0 -0
  115. package/lib/matrix/index.d.ts.map +0 -0
  116. package/lib/matrix/index.js +0 -0
  117. package/lib/matrix/index.js.map +0 -0
  118. package/lib/matrix/matrix.d.ts +0 -0
  119. package/lib/matrix/matrix.d.ts.map +0 -0
  120. package/lib/matrix/matrix.js +0 -0
  121. package/lib/matrix/matrix.js.map +0 -0
  122. package/lib/matrix/types.d.ts +1 -1
  123. package/lib/matrix/types.d.ts.map +1 -1
  124. package/lib/matrix/types.js +0 -0
  125. package/lib/matrix/types.js.map +0 -0
  126. package/lib/media/index.d.ts +0 -0
  127. package/lib/media/index.d.ts.map +0 -0
  128. package/lib/media/index.js +0 -0
  129. package/lib/media/index.js.map +0 -0
  130. package/lib/media/media-capture.d.ts +0 -0
  131. package/lib/media/media-capture.d.ts.map +0 -0
  132. package/lib/media/media-capture.js +8 -10
  133. package/lib/media/media-capture.js.map +1 -1
  134. package/lib/messageArea.js +0 -0
  135. package/lib/messageArea.js.map +0 -0
  136. package/lib/noun_Camera_1618446_000000.js +0 -0
  137. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  138. package/lib/ns.js +0 -0
  139. package/lib/ns.js.map +0 -0
  140. package/lib/pad.d.ts +1 -1
  141. package/lib/pad.d.ts.map +1 -1
  142. package/lib/pad.js +0 -0
  143. package/lib/pad.js.map +0 -0
  144. package/lib/participation.d.ts +1 -1
  145. package/lib/participation.d.ts.map +1 -1
  146. package/lib/participation.js +1 -1
  147. package/lib/participation.js.map +0 -0
  148. package/lib/preferences.js +0 -0
  149. package/lib/preferences.js.map +0 -0
  150. package/lib/signup/config-default.js +0 -0
  151. package/lib/signup/config-default.js.map +0 -0
  152. package/lib/signup/signup.js +0 -0
  153. package/lib/signup/signup.js.map +0 -0
  154. package/lib/stories/decorators.js +0 -0
  155. package/lib/stories/decorators.js.map +0 -0
  156. package/lib/style.js +0 -0
  157. package/lib/style.js.map +0 -0
  158. package/lib/style_multiSelect.js +0 -0
  159. package/lib/style_multiSelect.js.map +0 -0
  160. package/lib/table.js +0 -0
  161. package/lib/table.js.map +0 -0
  162. package/lib/tabs.d.ts +1 -1
  163. package/lib/tabs.d.ts.map +1 -1
  164. package/lib/tabs.js +0 -0
  165. package/lib/tabs.js.map +0 -0
  166. package/lib/typings.d.js +0 -0
  167. package/lib/typings.d.js.map +0 -0
  168. package/lib/utils/headerFooterHelpers.d.ts +1 -1
  169. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  170. package/lib/utils/headerFooterHelpers.js +78 -80
  171. package/lib/utils/headerFooterHelpers.js.map +1 -1
  172. package/lib/utils/index.js +2 -6
  173. package/lib/utils/index.js.map +1 -1
  174. package/lib/utils/label.d.ts +0 -0
  175. package/lib/utils/label.d.ts.map +0 -0
  176. package/lib/utils/label.js +0 -0
  177. package/lib/utils/label.js.map +0 -0
  178. package/lib/versionInfo.d.ts +0 -0
  179. package/lib/versionInfo.d.ts.map +0 -0
  180. package/lib/versionInfo.js +13 -13
  181. package/lib/versionInfo.js.map +1 -1
  182. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  183. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  184. package/lib/widgets/buttons/iconLinks.js +0 -0
  185. package/lib/widgets/buttons/iconLinks.js.map +0 -0
  186. package/lib/widgets/buttons.d.ts +5 -5
  187. package/lib/widgets/buttons.d.ts.map +1 -1
  188. package/lib/widgets/buttons.js +0 -0
  189. package/lib/widgets/buttons.js.map +0 -0
  190. package/lib/widgets/dragAndDrop.js +0 -0
  191. package/lib/widgets/dragAndDrop.js.map +0 -0
  192. package/lib/widgets/error.d.ts +0 -0
  193. package/lib/widgets/error.d.ts.map +0 -0
  194. package/lib/widgets/error.js +0 -0
  195. package/lib/widgets/error.js.map +0 -0
  196. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  197. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  198. package/lib/widgets/forms/autocomplete/autocompleteBar.js +217 -229
  199. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  200. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  201. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  202. package/lib/widgets/forms/autocomplete/autocompleteField.js +70 -74
  203. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  204. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +2 -2
  205. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  206. package/lib/widgets/forms/autocomplete/autocompletePicker.js +363 -379
  207. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  208. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  209. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  210. package/lib/widgets/forms/autocomplete/language.js +79 -83
  211. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  212. package/lib/widgets/forms/autocomplete/publicData.d.ts +2 -2
  213. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
  214. package/lib/widgets/forms/autocomplete/publicData.js +263 -281
  215. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  216. package/lib/widgets/forms/basic.d.ts +0 -0
  217. package/lib/widgets/forms/basic.d.ts.map +0 -0
  218. package/lib/widgets/forms/basic.js +0 -0
  219. package/lib/widgets/forms/basic.js.map +0 -0
  220. package/lib/widgets/forms/comment.d.ts +0 -0
  221. package/lib/widgets/forms/comment.d.ts.map +0 -0
  222. package/lib/widgets/forms/comment.js +0 -0
  223. package/lib/widgets/forms/comment.js.map +0 -0
  224. package/lib/widgets/forms/fieldFunction.d.ts +1 -1
  225. package/lib/widgets/forms/fieldFunction.d.ts.map +1 -1
  226. package/lib/widgets/forms/fieldFunction.js +1 -3
  227. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  228. package/lib/widgets/forms/fieldParams.d.ts +1 -1
  229. package/lib/widgets/forms/fieldParams.d.ts.map +1 -1
  230. package/lib/widgets/forms/fieldParams.js +0 -0
  231. package/lib/widgets/forms/fieldParams.js.map +0 -0
  232. package/lib/widgets/forms/formStyle.d.ts +0 -0
  233. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  234. package/lib/widgets/forms/formStyle.js +0 -0
  235. package/lib/widgets/forms/formStyle.js.map +0 -0
  236. package/lib/widgets/forms.js +197 -225
  237. package/lib/widgets/forms.js.map +1 -1
  238. package/lib/widgets/index.js +0 -0
  239. package/lib/widgets/index.js.map +0 -0
  240. package/lib/widgets/multiSelect.js +4 -4
  241. package/lib/widgets/multiSelect.js.map +1 -1
  242. package/lib/widgets/peoplePicker.js +0 -0
  243. package/lib/widgets/peoplePicker.js.map +0 -0
  244. package/lib/widgets/widgetHelpers.d.ts +0 -0
  245. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  246. package/lib/widgets/widgetHelpers.js +0 -0
  247. package/lib/widgets/widgetHelpers.js.map +0 -0
  248. package/package.json +34 -31
File without changes
File without changes
@@ -204,37 +204,35 @@ var AccessController = /*#__PURE__*/function () {
204
204
  var _this6 = this;
205
205
  var message, aclGraph, _message;
206
206
  return _regenerator["default"].wrap(function _callee$(_context) {
207
- while (1) {
208
- switch (_context.prev = _context.next) {
209
- case 0:
210
- if (!(!this.defaultHolder || !this.defaultACLDoc)) {
211
- _context.next = 4;
212
- break;
213
- }
214
- message = 'Unable to find defaults to copy';
215
- debug.error(message);
216
- return _context.abrupt("return", Promise.reject(message));
217
- case 4:
218
- aclGraph = (0, _acl.adoptACLDefault)(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc);
219
- aclGraph.statements.forEach(function (st) {
220
- return _this6.store.add(st.subject, st.predicate, st.object, _this6.targetACLDoc);
221
- });
222
- _context.prev = 6;
223
- _context.next = 9;
224
- return this.store.fetcher.putBack(this.targetACLDoc);
225
- case 9:
226
- this.isUsingDefaults = false;
227
- return _context.abrupt("return", Promise.resolve());
228
- case 13:
229
- _context.prev = 13;
230
- _context.t0 = _context["catch"](6);
231
- _message = " Error writing back access control file! ".concat(_context.t0);
232
- debug.error(_message);
233
- return _context.abrupt("return", Promise.reject(_message));
234
- case 18:
235
- case "end":
236
- return _context.stop();
237
- }
207
+ while (1) switch (_context.prev = _context.next) {
208
+ case 0:
209
+ if (!(!this.defaultHolder || !this.defaultACLDoc)) {
210
+ _context.next = 4;
211
+ break;
212
+ }
213
+ message = 'Unable to find defaults to copy';
214
+ debug.error(message);
215
+ return _context.abrupt("return", Promise.reject(message));
216
+ case 4:
217
+ aclGraph = (0, _acl.adoptACLDefault)(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc);
218
+ aclGraph.statements.forEach(function (st) {
219
+ return _this6.store.add(st.subject, st.predicate, st.object, _this6.targetACLDoc);
220
+ });
221
+ _context.prev = 6;
222
+ _context.next = 9;
223
+ return this.store.fetcher.putBack(this.targetACLDoc);
224
+ case 9:
225
+ this.isUsingDefaults = false;
226
+ return _context.abrupt("return", Promise.resolve());
227
+ case 13:
228
+ _context.prev = 13;
229
+ _context.t0 = _context["catch"](6);
230
+ _message = " Error writing back access control file! ".concat(_context.t0);
231
+ debug.error(_message);
232
+ return _context.abrupt("return", Promise.reject(_message));
233
+ case 18:
234
+ case "end":
235
+ return _context.stop();
238
236
  }
239
237
  }, _callee, this, [[6, 13]]);
240
238
  }));
@@ -248,17 +246,15 @@ var AccessController = /*#__PURE__*/function () {
248
246
  value: function () {
249
247
  var _addDefaults = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
250
248
  return _regenerator["default"].wrap(function _callee2$(_context2) {
251
- while (1) {
252
- switch (_context2.prev = _context2.next) {
253
- case 0:
254
- this.defaultsCombo = new _accessGroups.AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, {
255
- defaults: true
256
- });
257
- this.defaultsDiffer = true;
258
- case 2:
259
- case "end":
260
- return _context2.stop();
261
- }
249
+ while (1) switch (_context2.prev = _context2.next) {
250
+ case 0:
251
+ this.defaultsCombo = new _accessGroups.AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, {
252
+ defaults: true
253
+ });
254
+ this.defaultsDiffer = true;
255
+ case 2:
256
+ case "end":
257
+ return _context2.stop();
262
258
  }
263
259
  }, _callee2, this);
264
260
  }));
@@ -273,39 +269,37 @@ var AccessController = /*#__PURE__*/function () {
273
269
  var _removeAcls = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
274
270
  var message;
275
271
  return _regenerator["default"].wrap(function _callee3$(_context3) {
276
- while (1) {
277
- switch (_context3.prev = _context3.next) {
278
- case 0:
279
- _context3.prev = 0;
280
- _context3.next = 3;
281
- return this.store.fetcher["delete"](this.targetACLDoc.uri, {});
282
- case 3:
283
- this.isUsingDefaults = true;
284
- _context3.prev = 4;
285
- _context3.next = 7;
286
- return (0, _acl.getProspectiveHolder)(this.targetDoc.uri);
287
- case 7:
288
- this.prospectiveDefaultHolder = _context3.sent;
289
- _context3.next = 13;
290
- break;
291
- case 10:
292
- _context3.prev = 10;
293
- _context3.t0 = _context3["catch"](4);
294
- // No need to show this error in status, but good to warn about it in console
295
- debug.warn(_context3.t0);
296
- case 13:
297
- _context3.next = 20;
298
- break;
299
- case 15:
300
- _context3.prev = 15;
301
- _context3.t1 = _context3["catch"](0);
302
- message = "Error deleting access control file: ".concat(this.targetACLDoc, ": ").concat(_context3.t1);
303
- debug.error(message);
304
- return _context3.abrupt("return", Promise.reject(message));
305
- case 20:
306
- case "end":
307
- return _context3.stop();
308
- }
272
+ while (1) switch (_context3.prev = _context3.next) {
273
+ case 0:
274
+ _context3.prev = 0;
275
+ _context3.next = 3;
276
+ return this.store.fetcher["delete"](this.targetACLDoc.uri, {});
277
+ case 3:
278
+ this.isUsingDefaults = true;
279
+ _context3.prev = 4;
280
+ _context3.next = 7;
281
+ return (0, _acl.getProspectiveHolder)(this.targetDoc.uri);
282
+ case 7:
283
+ this.prospectiveDefaultHolder = _context3.sent;
284
+ _context3.next = 13;
285
+ break;
286
+ case 10:
287
+ _context3.prev = 10;
288
+ _context3.t0 = _context3["catch"](4);
289
+ // No need to show this error in status, but good to warn about it in console
290
+ debug.warn(_context3.t0);
291
+ case 13:
292
+ _context3.next = 20;
293
+ break;
294
+ case 15:
295
+ _context3.prev = 15;
296
+ _context3.t1 = _context3["catch"](0);
297
+ message = "Error deleting access control file: ".concat(this.targetACLDoc, ": ").concat(_context3.t1);
298
+ debug.error(message);
299
+ return _context3.abrupt("return", Promise.reject(message));
300
+ case 20:
301
+ case "end":
302
+ return _context3.stop();
309
303
  }
310
304
  }, _callee3, this, [[0, 15], [4, 10]]);
311
305
  }));
@@ -320,29 +314,27 @@ var AccessController = /*#__PURE__*/function () {
320
314
  var _removeDefaults = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
321
315
  var fallbackCombo;
322
316
  return _regenerator["default"].wrap(function _callee4$(_context4) {
323
- while (1) {
324
- switch (_context4.prev = _context4.next) {
325
- case 0:
326
- fallbackCombo = this.defaultsCombo;
327
- _context4.prev = 1;
328
- this.defaultsCombo = null;
329
- this.defaultsDiffer = false;
330
- _context4.next = 6;
331
- return this.save();
332
- case 6:
333
- _context4.next = 14;
334
- break;
335
- case 8:
336
- _context4.prev = 8;
337
- _context4.t0 = _context4["catch"](1);
338
- this.defaultsCombo = fallbackCombo;
339
- this.defaultsDiffer = true;
340
- debug.error(_context4.t0);
341
- return _context4.abrupt("return", Promise.reject(_context4.t0));
342
- case 14:
343
- case "end":
344
- return _context4.stop();
345
- }
317
+ while (1) switch (_context4.prev = _context4.next) {
318
+ case 0:
319
+ fallbackCombo = this.defaultsCombo;
320
+ _context4.prev = 1;
321
+ this.defaultsCombo = null;
322
+ this.defaultsDiffer = false;
323
+ _context4.next = 6;
324
+ return this.save();
325
+ case 6:
326
+ _context4.next = 14;
327
+ break;
328
+ case 8:
329
+ _context4.prev = 8;
330
+ _context4.t0 = _context4["catch"](1);
331
+ this.defaultsCombo = fallbackCombo;
332
+ this.defaultsDiffer = true;
333
+ debug.error(_context4.t0);
334
+ return _context4.abrupt("return", Promise.reject(_context4.t0));
335
+ case 14:
336
+ case "end":
337
+ return _context4.stop();
346
338
  }
347
339
  }, _callee4, this, [[1, 8]]);
348
340
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"access-controller.js","names":["AccessController","subject","noun","context","statusElement","classes","targetIsProtected","targetDoc","targetACLDoc","defaultHolder","defaultACLDoc","prospectiveDefaultHolder","store","dom","rootElement","createElement","classList","add","aclGroupContent","isContainer","uri","slice","isUsingDefaults","aclDefaultStore","adoptACLDefault","mainCombo","AccessGroups","defaults","defaultsCombo","defaultsDiffer","sameACL","aclMap","innerHTML","renderStatus","defaultHolderLink","appendChild","href","innerText","shortNameForFolder","render","renderRemoveDefaultsController","isEditable","renderAddDefaultsController","renderAddAclsController","renderRemoveAclsController","useDefaultButton","utils","label","bigButton","addEventListener","removeAcls","then","error","addAclButton","addAcls","containerElement","defaultsController","noticeElement","defaultsControllerNotice","button","addDefaults","removeDefaults","message","aclControlBoxStatusRevealed","temporaryStatusInit","setTimeout","temporaryStatusEnd","toggle","debug","Promise","reject","aclGraph","statements","forEach","st","predicate","object","fetcher","putBack","resolve","getProspectiveHolder","warn","fallbackCombo","save","newAClGraph","graph","makeACLGraphbyCombo","byCombo","fetch","_fetch","updater","UpdateManager","put","statementsMatching","undefined","ok","Error","unload","requested","log"],"sources":["../../src/acl/access-controller.ts"],"sourcesContent":["/**\n * Contains the [[AccessController]] class\n * @packageDocumentation\n */\n\nimport { adoptACLDefault, getProspectiveHolder, makeACLGraphbyCombo, sameACL } from './acl'\nimport { fetcher, graph, NamedNode, UpdateManager } from 'rdflib'\nimport { AccessGroups } from './access-groups'\nimport { DataBrowserContext } from 'pane-registry'\nimport { shortNameForFolder } from './acl-control'\nimport * as utils from '../utils'\nimport * as debug from '../debug'\n\n/**\n * Rendered HTML component used in the databrowser's Sharing pane.\n */\nexport class AccessController {\n public mainCombo: AccessGroups\n public defaultsCombo: AccessGroups | null\n private readonly isContainer: boolean\n private defaultsDiffer: boolean\n private readonly rootElement: HTMLElement\n private isUsingDefaults: boolean\n\n constructor (\n public subject: NamedNode,\n public noun: string,\n public context: DataBrowserContext,\n private statusElement: HTMLElement,\n public classes: Record<string, string>,\n public targetIsProtected: boolean,\n private targetDoc: NamedNode,\n private targetACLDoc: NamedNode,\n private defaultHolder: NamedNode | null,\n private defaultACLDoc: NamedNode | null,\n private prospectiveDefaultHolder: NamedNode | undefined,\n public store,\n public dom\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.classList.add(classes.aclGroupContent)\n this.isContainer = targetDoc.uri.slice(-1) === '/' // Give default for all directories\n if (defaultHolder && defaultACLDoc) {\n this.isUsingDefaults = true\n const aclDefaultStore = adoptACLDefault(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc)\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer })\n this.defaultsCombo = null\n this.defaultsDiffer = false\n } else {\n this.isUsingDefaults = false\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, store)\n this.defaultsCombo = new AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer })\n this.defaultsDiffer = !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n }\n }\n\n public get isEditable (): boolean {\n return !this.isUsingDefaults\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n if (this.isUsingDefaults) {\n this.renderStatus(`The sharing for this ${this.noun} is the default for folder `)\n if (this.defaultHolder) {\n const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'))\n defaultHolderLink.href = this.defaultHolder.uri\n defaultHolderLink.innerText = shortNameForFolder(this.defaultHolder)\n }\n } else if (!this.defaultsDiffer && this.isContainer) {\n this.renderStatus('This is also the default for things in this folder.')\n } else {\n this.renderStatus('')\n }\n this.rootElement.appendChild(this.mainCombo.render())\n if (this.defaultsCombo && this.defaultsDiffer) {\n this.rootElement.appendChild(this.renderRemoveDefaultsController())\n this.rootElement.appendChild(this.defaultsCombo.render())\n } else if (this.isEditable && this.isContainer) {\n this.rootElement.appendChild(this.renderAddDefaultsController())\n }\n if (!this.targetIsProtected && this.isUsingDefaults) {\n this.rootElement.appendChild(this.renderAddAclsController())\n } else if (!this.targetIsProtected) {\n this.rootElement.appendChild(this.renderRemoveAclsController())\n }\n return this.rootElement\n }\n\n private renderRemoveAclsController (): HTMLElement {\n const useDefaultButton = this.dom.createElement('button')\n useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`\n useDefaultButton.classList.add(this.classes.bigButton)\n useDefaultButton.addEventListener('click', () => this.removeAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return useDefaultButton\n }\n\n private renderAddAclsController (): HTMLElement {\n const addAclButton = this.dom.createElement('button')\n addAclButton.innerText = `Set specific sharing for this ${this.noun}`\n addAclButton.classList.add(this.classes.bigButton)\n addAclButton.addEventListener('click', () => this.addAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return addAclButton\n }\n\n private renderAddDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.classList.add(this.classes.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.'\n noticeElement.classList.add(this.classes.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder'\n button.classList.add(this.classes.bigButton)\n button.addEventListener('click', () => this.addDefaults()\n .then(() => this.render()))\n return containerElement\n }\n\n private renderRemoveDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.classList.add(this.classes.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.classList.add(this.classes.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set default for folder contents to just track the sharing for the folder'\n button.classList.add(this.classes.bigButton)\n button.addEventListener('click', () => this.removeDefaults()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return containerElement\n }\n\n public renderTemporaryStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.classList.add(this.classes.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.classList.add(this.classes.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.classList.add(this.classes.temporaryStatusEnd)\n })\n setTimeout(() => {\n this.statusElement.innerText = ''\n }, 5000)\n }\n\n public renderStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.classList.toggle(this.classes.aclControlBoxStatusRevealed, !!message)\n this.statusElement.innerText = message\n }\n\n private async addAcls (): Promise<void> {\n if (!this.defaultHolder || !this.defaultACLDoc) {\n const message = 'Unable to find defaults to copy'\n debug.error(message)\n return Promise.reject(message)\n }\n const aclGraph = adoptACLDefault(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc)\n aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc))\n try {\n await this.store.fetcher.putBack(this.targetACLDoc)\n this.isUsingDefaults = false\n return Promise.resolve()\n } catch (error) {\n const message = ` Error writing back access control file! ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async addDefaults (): Promise<void> {\n this.defaultsCombo = new AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true })\n this.defaultsDiffer = true\n }\n\n private async removeAcls (): Promise<void> {\n try {\n await this.store.fetcher.delete(this.targetACLDoc.uri, {})\n this.isUsingDefaults = true\n try {\n this.prospectiveDefaultHolder = await getProspectiveHolder(this.targetDoc.uri)\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n debug.warn(error)\n }\n } catch (error) {\n const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async removeDefaults (): Promise<void> {\n const fallbackCombo = this.defaultsCombo\n try {\n this.defaultsCombo = null\n this.defaultsDiffer = false\n await this.save()\n } catch (error) {\n this.defaultsCombo = fallbackCombo\n this.defaultsDiffer = true\n debug.error(error)\n return Promise.reject(error)\n }\n }\n\n public save (): Promise<void> {\n // build graph\n const newAClGraph = graph()\n if (!this.isContainer) {\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n } else if (this.defaultsCombo && this.defaultsDiffer) {\n // Pair of controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true)\n } else {\n // Linked controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true)\n }\n\n // add authenticated fetcher\n newAClGraph.fetcher = fetcher(newAClGraph, { fetch: this.store.fetcher._fetch })\n const updater = newAClGraph.updater || new UpdateManager(newAClGraph)\n\n // save ACL resource\n return new Promise((resolve, reject) => {\n updater.put(\n this.targetACLDoc,\n newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc),\n 'text/turtle',\n (uri, ok, message) => {\n if (!ok) {\n return reject(new Error(`ACL file save failed: ${message}`))\n }\n this.store.fetcher.unload(this.targetACLDoc)\n this.store.add(newAClGraph.statements)\n this.store.fetcher.requested[this.targetACLDoc.uri] = 'done' // missing: save headers\n this.mainCombo.store = this.store\n if (this.defaultsCombo) {\n this.defaultsCombo.store = this.store\n }\n this.defaultsDiffer = !!this.defaultsCombo && !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n debug.log('ACL modification: success!')\n resolve()\n }\n )\n })\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"access-controller.js","names":["AccessController","subject","noun","context","statusElement","classes","targetIsProtected","targetDoc","targetACLDoc","defaultHolder","defaultACLDoc","prospectiveDefaultHolder","store","dom","rootElement","createElement","classList","add","aclGroupContent","isContainer","uri","slice","isUsingDefaults","aclDefaultStore","adoptACLDefault","mainCombo","AccessGroups","defaults","defaultsCombo","defaultsDiffer","sameACL","aclMap","innerHTML","renderStatus","defaultHolderLink","appendChild","href","innerText","shortNameForFolder","render","renderRemoveDefaultsController","isEditable","renderAddDefaultsController","renderAddAclsController","renderRemoveAclsController","useDefaultButton","utils","label","bigButton","addEventListener","removeAcls","then","error","addAclButton","addAcls","containerElement","defaultsController","noticeElement","defaultsControllerNotice","button","addDefaults","removeDefaults","message","aclControlBoxStatusRevealed","temporaryStatusInit","setTimeout","temporaryStatusEnd","toggle","debug","Promise","reject","aclGraph","statements","forEach","st","predicate","object","fetcher","putBack","resolve","getProspectiveHolder","warn","fallbackCombo","save","newAClGraph","graph","makeACLGraphbyCombo","byCombo","fetch","_fetch","updater","UpdateManager","put","statementsMatching","undefined","ok","Error","unload","requested","log"],"sources":["../../src/acl/access-controller.ts"],"sourcesContent":["/**\n * Contains the [[AccessController]] class\n * @packageDocumentation\n */\n\nimport { adoptACLDefault, getProspectiveHolder, makeACLGraphbyCombo, sameACL } from './acl'\nimport { fetcher, graph, NamedNode, UpdateManager } from 'rdflib'\nimport { AccessGroups } from './access-groups'\nimport { DataBrowserContext } from 'pane-registry'\nimport { shortNameForFolder } from './acl-control'\nimport * as utils from '../utils'\nimport * as debug from '../debug'\n\n/**\n * Rendered HTML component used in the databrowser's Sharing pane.\n */\nexport class AccessController {\n public mainCombo: AccessGroups\n public defaultsCombo: AccessGroups | null\n private readonly isContainer: boolean\n private defaultsDiffer: boolean\n private readonly rootElement: HTMLElement\n private isUsingDefaults: boolean\n\n constructor (\n public subject: NamedNode,\n public noun: string,\n public context: DataBrowserContext,\n private statusElement: HTMLElement,\n public classes: Record<string, string>,\n public targetIsProtected: boolean,\n private targetDoc: NamedNode,\n private targetACLDoc: NamedNode,\n private defaultHolder: NamedNode | null,\n private defaultACLDoc: NamedNode | null,\n private prospectiveDefaultHolder: NamedNode | undefined,\n public store,\n public dom\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.classList.add(classes.aclGroupContent)\n this.isContainer = targetDoc.uri.slice(-1) === '/' // Give default for all directories\n if (defaultHolder && defaultACLDoc) {\n this.isUsingDefaults = true\n const aclDefaultStore = adoptACLDefault(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc)\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer })\n this.defaultsCombo = null\n this.defaultsDiffer = false\n } else {\n this.isUsingDefaults = false\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, store)\n this.defaultsCombo = new AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer })\n this.defaultsDiffer = !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n }\n }\n\n public get isEditable (): boolean {\n return !this.isUsingDefaults\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n if (this.isUsingDefaults) {\n this.renderStatus(`The sharing for this ${this.noun} is the default for folder `)\n if (this.defaultHolder) {\n const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'))\n defaultHolderLink.href = this.defaultHolder.uri\n defaultHolderLink.innerText = shortNameForFolder(this.defaultHolder)\n }\n } else if (!this.defaultsDiffer && this.isContainer) {\n this.renderStatus('This is also the default for things in this folder.')\n } else {\n this.renderStatus('')\n }\n this.rootElement.appendChild(this.mainCombo.render())\n if (this.defaultsCombo && this.defaultsDiffer) {\n this.rootElement.appendChild(this.renderRemoveDefaultsController())\n this.rootElement.appendChild(this.defaultsCombo.render())\n } else if (this.isEditable && this.isContainer) {\n this.rootElement.appendChild(this.renderAddDefaultsController())\n }\n if (!this.targetIsProtected && this.isUsingDefaults) {\n this.rootElement.appendChild(this.renderAddAclsController())\n } else if (!this.targetIsProtected) {\n this.rootElement.appendChild(this.renderRemoveAclsController())\n }\n return this.rootElement\n }\n\n private renderRemoveAclsController (): HTMLElement {\n const useDefaultButton = this.dom.createElement('button')\n useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`\n useDefaultButton.classList.add(this.classes.bigButton)\n useDefaultButton.addEventListener('click', () => this.removeAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return useDefaultButton\n }\n\n private renderAddAclsController (): HTMLElement {\n const addAclButton = this.dom.createElement('button')\n addAclButton.innerText = `Set specific sharing for this ${this.noun}`\n addAclButton.classList.add(this.classes.bigButton)\n addAclButton.addEventListener('click', () => this.addAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return addAclButton\n }\n\n private renderAddDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.classList.add(this.classes.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.'\n noticeElement.classList.add(this.classes.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder'\n button.classList.add(this.classes.bigButton)\n button.addEventListener('click', () => this.addDefaults()\n .then(() => this.render()))\n return containerElement\n }\n\n private renderRemoveDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.classList.add(this.classes.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.classList.add(this.classes.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set default for folder contents to just track the sharing for the folder'\n button.classList.add(this.classes.bigButton)\n button.addEventListener('click', () => this.removeDefaults()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return containerElement\n }\n\n public renderTemporaryStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.classList.add(this.classes.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.classList.add(this.classes.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.classList.add(this.classes.temporaryStatusEnd)\n })\n setTimeout(() => {\n this.statusElement.innerText = ''\n }, 5000)\n }\n\n public renderStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.classList.toggle(this.classes.aclControlBoxStatusRevealed, !!message)\n this.statusElement.innerText = message\n }\n\n private async addAcls (): Promise<void> {\n if (!this.defaultHolder || !this.defaultACLDoc) {\n const message = 'Unable to find defaults to copy'\n debug.error(message)\n return Promise.reject(message)\n }\n const aclGraph = adoptACLDefault(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc)\n aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc))\n try {\n await this.store.fetcher.putBack(this.targetACLDoc)\n this.isUsingDefaults = false\n return Promise.resolve()\n } catch (error) {\n const message = ` Error writing back access control file! ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async addDefaults (): Promise<void> {\n this.defaultsCombo = new AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true })\n this.defaultsDiffer = true\n }\n\n private async removeAcls (): Promise<void> {\n try {\n await this.store.fetcher.delete(this.targetACLDoc.uri, {})\n this.isUsingDefaults = true\n try {\n this.prospectiveDefaultHolder = await getProspectiveHolder(this.targetDoc.uri)\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n debug.warn(error)\n }\n } catch (error) {\n const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async removeDefaults (): Promise<void> {\n const fallbackCombo = this.defaultsCombo\n try {\n this.defaultsCombo = null\n this.defaultsDiffer = false\n await this.save()\n } catch (error) {\n this.defaultsCombo = fallbackCombo\n this.defaultsDiffer = true\n debug.error(error)\n return Promise.reject(error)\n }\n }\n\n public save (): Promise<void> {\n // build graph\n const newAClGraph = graph()\n if (!this.isContainer) {\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n } else if (this.defaultsCombo && this.defaultsDiffer) {\n // Pair of controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true)\n } else {\n // Linked controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true)\n }\n\n // add authenticated fetcher\n newAClGraph.fetcher = fetcher(newAClGraph, { fetch: this.store.fetcher._fetch })\n const updater = newAClGraph.updater || new UpdateManager(newAClGraph)\n\n // save ACL resource\n return new Promise((resolve, reject) => {\n updater.put(\n this.targetACLDoc,\n newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc),\n 'text/turtle',\n (uri, ok, message) => {\n if (!ok) {\n return reject(new Error(`ACL file save failed: ${message}`))\n }\n this.store.fetcher.unload(this.targetACLDoc)\n this.store.add(newAClGraph.statements)\n this.store.fetcher.requested[this.targetACLDoc.uri] = 'done' // missing: save headers\n this.mainCombo.store = this.store\n if (this.defaultsCombo) {\n this.defaultsCombo.store = this.store\n }\n this.defaultsDiffer = !!this.defaultsCombo && !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n debug.log('ACL modification: success!')\n resolve()\n }\n )\n })\n }\n}\n"],"mappings":"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"}
File without changes
File without changes
@@ -184,25 +184,23 @@ var AccessGroups = /*#__PURE__*/function () {
184
184
  var _deleteAgent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(combo, pred, obj) {
185
185
  var combos, comboToRemove;
186
186
  return _regenerator["default"].wrap(function _callee$(_context) {
187
- while (1) {
188
- switch (_context.prev = _context.next) {
189
- case 0:
190
- combos = this.byCombo[combo] || [];
191
- comboToRemove = combos.find(function (_ref3) {
192
- var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
193
- comboPred = _ref4[0],
194
- comboObj = _ref4[1];
195
- return comboPred === pred && comboObj === obj;
196
- });
197
- if (comboToRemove) {
198
- combos.splice(combos.indexOf(comboToRemove), 1);
199
- }
200
- _context.next = 5;
201
- return this.controller.save();
202
- case 5:
203
- case "end":
204
- return _context.stop();
205
- }
187
+ while (1) switch (_context.prev = _context.next) {
188
+ case 0:
189
+ combos = this.byCombo[combo] || [];
190
+ comboToRemove = combos.find(function (_ref3) {
191
+ var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
192
+ comboPred = _ref4[0],
193
+ comboObj = _ref4[1];
194
+ return comboPred === pred && comboObj === obj;
195
+ });
196
+ if (comboToRemove) {
197
+ combos.splice(combos.indexOf(comboToRemove), 1);
198
+ }
199
+ _context.next = 5;
200
+ return this.controller.save();
201
+ case 5:
202
+ case "end":
203
+ return _context.stop();
206
204
  }
207
205
  }, _callee, this);
208
206
  }));
@@ -216,18 +214,16 @@ var AccessGroups = /*#__PURE__*/function () {
216
214
  value: function () {
217
215
  var _addNewURI = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(uri) {
218
216
  return _regenerator["default"].wrap(function _callee2$(_context2) {
219
- while (1) {
220
- switch (_context2.prev = _context2.next) {
221
- case 0:
222
- _context2.next = 2;
223
- return this.handleDroppedUri(uri, kToCombo(1));
224
- case 2:
225
- _context2.next = 4;
226
- return this.controller.save();
227
- case 4:
228
- case "end":
229
- return _context2.stop();
230
- }
217
+ while (1) switch (_context2.prev = _context2.next) {
218
+ case 0:
219
+ _context2.next = 2;
220
+ return this.handleDroppedUri(uri, kToCombo(1));
221
+ case 2:
222
+ _context2.next = 4;
223
+ return this.controller.save();
224
+ case 4:
225
+ case "end":
226
+ return _context2.stop();
231
227
  }
232
228
  }, _callee2, this);
233
229
  }));
@@ -242,28 +238,26 @@ var AccessGroups = /*#__PURE__*/function () {
242
238
  var _handleDroppedUris = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(uris, combo) {
243
239
  var _this5 = this;
244
240
  return _regenerator["default"].wrap(function _callee3$(_context3) {
245
- while (1) {
246
- switch (_context3.prev = _context3.next) {
247
- case 0:
248
- _context3.prev = 0;
249
- _context3.next = 3;
250
- return Promise.all(uris.map(function (uri) {
251
- return _this5.handleDroppedUri(uri, combo);
252
- }));
253
- case 3:
254
- _context3.next = 5;
255
- return this.controller.save();
256
- case 5:
257
- _context3.next = 10;
258
- break;
259
- case 7:
260
- _context3.prev = 7;
261
- _context3.t0 = _context3["catch"](0);
262
- return _context3.abrupt("return", Promise.reject(_context3.t0));
263
- case 10:
264
- case "end":
265
- return _context3.stop();
266
- }
241
+ while (1) switch (_context3.prev = _context3.next) {
242
+ case 0:
243
+ _context3.prev = 0;
244
+ _context3.next = 3;
245
+ return Promise.all(uris.map(function (uri) {
246
+ return _this5.handleDroppedUri(uri, combo);
247
+ }));
248
+ case 3:
249
+ _context3.next = 5;
250
+ return this.controller.save();
251
+ case 5:
252
+ _context3.next = 10;
253
+ break;
254
+ case 7:
255
+ _context3.prev = 7;
256
+ _context3.t0 = _context3["catch"](0);
257
+ return _context3.abrupt("return", Promise.reject(_context3.t0));
258
+ case 10:
259
+ case "end":
260
+ return _context3.stop();
267
261
  }
268
262
  }, _callee3, this, [[0, 7]]);
269
263
  }));
@@ -281,44 +275,42 @@ var AccessGroups = /*#__PURE__*/function () {
281
275
  return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
282
276
  var agent, thing, _this6$_store, _this6$_store$fetcher, message, error;
283
277
  return _regenerator["default"].wrap(function _callee4$(_context4) {
284
- while (1) {
285
- switch (_context4.prev = _context4.next) {
286
- case 0:
287
- agent = findAgent(uri, _this6.store); // eg 'agent', 'origin', agentClass'
288
- thing = (0, _rdflib.sym)(uri);
289
- if (!(!agent && !secondAttempt)) {
290
- _context4.next = 17;
291
- break;
292
- }
293
- debug.log(" Not obvious: looking up dropped thing ".concat(thing));
294
- _context4.prev = 4;
295
- _context4.next = 7;
296
- return (_this6$_store = _this6._store) === null || _this6$_store === void 0 ? void 0 : (_this6$_store$fetcher = _this6$_store.fetcher) === null || _this6$_store$fetcher === void 0 ? void 0 : _this6$_store$fetcher.load(thing.doc());
297
- case 7:
298
- _context4.next = 14;
278
+ while (1) switch (_context4.prev = _context4.next) {
279
+ case 0:
280
+ agent = findAgent(uri, _this6.store); // eg 'agent', 'origin', agentClass'
281
+ thing = (0, _rdflib.sym)(uri);
282
+ if (!(!agent && !secondAttempt)) {
283
+ _context4.next = 17;
299
284
  break;
300
- case 9:
301
- _context4.prev = 9;
302
- _context4.t0 = _context4["catch"](4);
303
- message = "Ignore error looking up dropped thing: ".concat(_context4.t0);
304
- debug.error(message);
305
- return _context4.abrupt("return", Promise.reject(new Error(message)));
306
- case 14:
307
- return _context4.abrupt("return", _this6.handleDroppedUri(uri, combo, true));
308
- case 17:
309
- if (agent) {
310
- _context4.next = 21;
311
- break;
312
- }
313
- error = " Error: Drop fails to drop appropriate thing! ".concat(uri);
314
- debug.error(error);
315
- return _context4.abrupt("return", Promise.reject(new Error(error)));
316
- case 21:
317
- _this6.setACLCombo(combo, uri, agent, _this6.controller.subject);
318
- case 22:
319
- case "end":
320
- return _context4.stop();
321
- }
285
+ }
286
+ debug.log(" Not obvious: looking up dropped thing ".concat(thing));
287
+ _context4.prev = 4;
288
+ _context4.next = 7;
289
+ return (_this6$_store = _this6._store) === null || _this6$_store === void 0 ? void 0 : (_this6$_store$fetcher = _this6$_store.fetcher) === null || _this6$_store$fetcher === void 0 ? void 0 : _this6$_store$fetcher.load(thing.doc());
290
+ case 7:
291
+ _context4.next = 14;
292
+ break;
293
+ case 9:
294
+ _context4.prev = 9;
295
+ _context4.t0 = _context4["catch"](4);
296
+ message = "Ignore error looking up dropped thing: ".concat(_context4.t0);
297
+ debug.error(message);
298
+ return _context4.abrupt("return", Promise.reject(new Error(message)));
299
+ case 14:
300
+ return _context4.abrupt("return", _this6.handleDroppedUri(uri, combo, true));
301
+ case 17:
302
+ if (agent) {
303
+ _context4.next = 21;
304
+ break;
305
+ }
306
+ error = " Error: Drop fails to drop appropriate thing! ".concat(uri);
307
+ debug.error(error);
308
+ return _context4.abrupt("return", Promise.reject(new Error(error)));
309
+ case 21:
310
+ _this6.setACLCombo(combo, uri, agent, _this6.controller.subject);
311
+ case 22:
312
+ case "end":
313
+ return _context4.stop();
322
314
  }
323
315
  }, _callee4, null, [[4, 9]]);
324
316
  })();