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.
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/dist/index.html +0 -0
- package/dist/main.js +50483 -50370
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +90 -98
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +0 -0
- package/lib/acl/access-groups.d.ts.map +0 -0
- package/lib/acl/access-groups.js +82 -90
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +50 -54
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +3 -3
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +13 -15
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +142 -154
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +0 -0
- package/lib/acl/index.js.map +0 -0
- package/lib/acl/styles.d.ts +0 -0
- package/lib/acl/styles.d.ts.map +0 -0
- package/lib/acl/styles.js +0 -0
- package/lib/acl/styles.js.map +0 -0
- package/lib/acl/types.d.ts +6 -6
- package/lib/acl/types.d.ts.map +1 -1
- package/lib/acl/types.js +0 -0
- package/lib/acl/types.js.map +0 -0
- package/lib/chat/bookmarks.js +181 -191
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +96 -104
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +232 -224
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +634 -658
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +119 -131
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +106 -114
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +16 -18
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +0 -0
- package/lib/create/create.js.map +0 -0
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +0 -0
- package/lib/create/index.js.map +0 -0
- package/lib/create/types.d.ts +1 -1
- package/lib/create/types.d.ts.map +1 -1
- package/lib/create/types.js +0 -0
- package/lib/create/types.js.map +0 -0
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +0 -0
- package/lib/debug.js.map +0 -0
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +1 -1
- package/lib/footer/index.d.ts.map +1 -1
- package/lib/footer/index.js +33 -37
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.d.ts +0 -0
- package/lib/footer/styleMap.d.ts.map +0 -0
- package/lib/footer/styleMap.js +0 -0
- package/lib/footer/styleMap.js.map +0 -0
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +0 -0
- package/lib/header/empty-profile.js.map +0 -0
- package/lib/header/index.d.ts +4 -4
- package/lib/header/index.d.ts.map +1 -1
- package/lib/header/index.js +126 -134
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.d.ts +0 -0
- package/lib/header/styleMap.d.ts.map +0 -0
- package/lib/header/styleMap.js +0 -0
- package/lib/header/styleMap.js.map +0 -0
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +0 -0
- package/lib/iconBase.js.map +0 -0
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/lib/jss/index.d.ts +0 -0
- package/lib/jss/index.d.ts.map +0 -0
- package/lib/jss/index.js +0 -0
- package/lib/jss/index.js.map +0 -0
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +0 -0
- package/lib/log.js.map +0 -0
- package/lib/login/login.d.ts +0 -0
- package/lib/login/login.d.ts.map +0 -0
- package/lib/login/login.js +470 -470
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +0 -0
- package/lib/matrix/index.js.map +0 -0
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +0 -0
- package/lib/matrix/matrix.js.map +0 -0
- package/lib/matrix/types.d.ts +1 -1
- package/lib/matrix/types.d.ts.map +1 -1
- package/lib/matrix/types.js +0 -0
- package/lib/matrix/types.js.map +0 -0
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +0 -0
- package/lib/media/index.js.map +0 -0
- package/lib/media/media-capture.d.ts +0 -0
- package/lib/media/media-capture.d.ts.map +0 -0
- package/lib/media/media-capture.js +8 -10
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -0
- package/lib/messageArea.js.map +0 -0
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +1 -1
- package/lib/pad.d.ts.map +1 -1
- package/lib/pad.js +0 -0
- package/lib/pad.js.map +0 -0
- package/lib/participation.d.ts +1 -1
- package/lib/participation.d.ts.map +1 -1
- package/lib/participation.js +1 -1
- package/lib/participation.js.map +0 -0
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/signup/config-default.js +0 -0
- package/lib/signup/config-default.js.map +0 -0
- package/lib/signup/signup.js +0 -0
- package/lib/signup/signup.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +0 -0
- package/lib/style.js.map +0 -0
- package/lib/style_multiSelect.js +0 -0
- package/lib/style_multiSelect.js.map +0 -0
- package/lib/table.js +0 -0
- package/lib/table.js.map +0 -0
- package/lib/tabs.d.ts +1 -1
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +0 -0
- package/lib/tabs.js.map +0 -0
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +1 -1
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
- package/lib/utils/headerFooterHelpers.js +78 -80
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +2 -6
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +0 -0
- package/lib/utils/label.js.map +0 -0
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +13 -13
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +0 -0
- package/lib/widgets/buttons/iconLinks.js.map +0 -0
- package/lib/widgets/buttons.d.ts +5 -5
- package/lib/widgets/buttons.d.ts.map +1 -1
- package/lib/widgets/buttons.js +0 -0
- package/lib/widgets/buttons.js.map +0 -0
- package/lib/widgets/dragAndDrop.js +0 -0
- package/lib/widgets/dragAndDrop.js.map +0 -0
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +0 -0
- package/lib/widgets/error.js +0 -0
- package/lib/widgets/error.js.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +217 -229
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +70 -74
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +2 -2
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +363 -379
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +79 -83
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +2 -2
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +263 -281
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +0 -0
- package/lib/widgets/forms/basic.js +0 -0
- package/lib/widgets/forms/basic.js.map +0 -0
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +0 -0
- package/lib/widgets/forms/comment.js.map +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts +1 -1
- package/lib/widgets/forms/fieldFunction.d.ts.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +1 -3
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.d.ts +1 -1
- package/lib/widgets/forms/fieldParams.d.ts.map +1 -1
- package/lib/widgets/forms/fieldParams.js +0 -0
- package/lib/widgets/forms/fieldParams.js.map +0 -0
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +0 -0
- package/lib/widgets/forms/formStyle.js.map +0 -0
- package/lib/widgets/forms.js +197 -225
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/multiSelect.js +4 -4
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +0 -0
- package/lib/widgets/peoplePicker.js.map +0 -0
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +0 -0
- package/lib/widgets/widgetHelpers.js.map +0 -0
- 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
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
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
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
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
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
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
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
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
|
package/lib/acl/access-groups.js
CHANGED
|
@@ -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
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
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
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
return
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
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
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
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
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
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
|
})();
|