solid-ui 2.5.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/841.solid-ui.min.js +1 -1
- package/dist/841.solid-ui.min.js.map +1 -1
- package/dist/_2b19.solid-ui.js.map +1 -1
- package/dist/solid-ui.js +42754 -45728
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.LICENSE.txt +1 -5
- package/dist/solid-ui.min.js.map +1 -1
- package/lib/acl/access-controller.js +48 -49
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js +40 -40
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js +18 -19
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js +4 -5
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +51 -52
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/chat/bookmarks.js +76 -77
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +74 -75
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +66 -67
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +218 -220
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/keys.js +62 -63
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +98 -100
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +99 -100
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/signature.d.ts.map +1 -1
- package/lib/chat/signature.js +0 -1
- package/lib/chat/signature.js.map +1 -1
- package/lib/chat/thread.js +57 -61
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js +1 -2
- package/lib/create/create.js.map +1 -1
- package/lib/folders.js +1 -4
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.d.ts.map +1 -1
- package/lib/footer/index.js +14 -16
- package/lib/footer/index.js.map +1 -1
- package/lib/header/index.js +34 -36
- package/lib/header/index.js.map +1 -1
- package/lib/iconBase.d.ts.map +1 -1
- package/lib/iconBase.js +0 -1
- package/lib/iconBase.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -5
- package/lib/index.js.map +1 -1
- package/lib/log.d.ts +7 -7
- package/lib/log.d.ts.map +1 -1
- package/lib/log.js +2 -2
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +217 -222
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/matrix.js +1 -2
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/media-capture.js +3 -4
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +1 -4
- package/lib/messageArea.js.map +1 -1
- package/lib/ns.js +1 -2
- package/lib/ns.js.map +1 -1
- package/lib/pad.js +1 -2
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +1 -2
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +1 -2
- package/lib/preferences.js.map +1 -1
- package/lib/table.js +1 -2
- package/lib/table.js.map +1 -1
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +1 -2
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
- package/lib/utils/headerFooterHelpers.js +36 -36
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +1 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
- package/lib/utils/keyHelpers/accessData.js +33 -34
- package/lib/utils/keyHelpers/accessData.js.map +1 -1
- package/lib/utils/keyHelpers/acl.d.ts.map +1 -1
- package/lib/utils/keyHelpers/acl.js +21 -22
- package/lib/utils/keyHelpers/acl.js.map +1 -1
- package/lib/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
- package/lib/utils/keyHelpers/otherHelpers.js +1 -2
- package/lib/utils/keyHelpers/otherHelpers.js.map +1 -1
- package/lib/utils/label.js +1 -2
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.d.ts +4 -3
- package/lib/versionInfo.d.ts.map +1 -1
- package/lib/versionInfo.js +30 -30
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts.map +1 -1
- package/lib/widgets/buttons/iconLinks.js +2 -2
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.d.ts +1 -1
- package/lib/widgets/buttons.d.ts.map +1 -1
- package/lib/widgets/buttons.js +1 -3
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +1 -2
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.js +1 -2
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +47 -48
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +38 -39
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +44 -45
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +23 -24
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +91 -93
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.js +2 -3
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js +1 -2
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +1 -2
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js +1 -2
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +79 -80
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +1 -2
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js +1 -2
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +1 -2
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.d.ts.map +1 -1
- package/lib/widgets/widgetHelpers.js +3 -3
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +57 -57
|
@@ -18,8 +18,7 @@ var _aclControl = require("./acl-control");
|
|
|
18
18
|
var utils = _interopRequireWildcard(require("../utils"));
|
|
19
19
|
var debug = _interopRequireWildcard(require("../debug"));
|
|
20
20
|
var style = _interopRequireWildcard(require("../style"));
|
|
21
|
-
function
|
|
22
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
21
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t5 in e) "default" !== _t5 && {}.hasOwnProperty.call(e, _t5) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t5)) && (i.get || i.set) ? o(f, _t5, i) : f[_t5] = e[_t5]); return f; })(e, t); }
|
|
23
22
|
/**
|
|
24
23
|
* Contains the [[AccessController]] class
|
|
25
24
|
* @packageDocumentation
|
|
@@ -204,39 +203,39 @@ var AccessController = exports.AccessController = /*#__PURE__*/function () {
|
|
|
204
203
|
value: function () {
|
|
205
204
|
var _addAcls = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
206
205
|
var _this6 = this;
|
|
207
|
-
var message, aclGraph, _message;
|
|
208
|
-
return _regenerator["default"].wrap(function
|
|
206
|
+
var message, aclGraph, _message, _t;
|
|
207
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
209
208
|
while (1) switch (_context.prev = _context.next) {
|
|
210
209
|
case 0:
|
|
211
210
|
if (!(!this.defaultHolder || !this.defaultACLDoc)) {
|
|
212
|
-
_context.next =
|
|
211
|
+
_context.next = 1;
|
|
213
212
|
break;
|
|
214
213
|
}
|
|
215
214
|
message = 'Unable to find defaults to copy';
|
|
216
215
|
debug.error(message);
|
|
217
216
|
return _context.abrupt("return", Promise.reject(message));
|
|
218
|
-
case
|
|
217
|
+
case 1:
|
|
219
218
|
aclGraph = (0, _acl.adoptACLDefault)(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc);
|
|
220
219
|
aclGraph.statements.forEach(function (st) {
|
|
221
220
|
return _this6.store.add(st.subject, st.predicate, st.object, _this6.targetACLDoc);
|
|
222
221
|
});
|
|
223
|
-
_context.prev =
|
|
224
|
-
_context.next =
|
|
222
|
+
_context.prev = 2;
|
|
223
|
+
_context.next = 3;
|
|
225
224
|
return this.store.fetcher.putBack(this.targetACLDoc);
|
|
226
|
-
case
|
|
225
|
+
case 3:
|
|
227
226
|
this.isUsingDefaults = false;
|
|
228
227
|
return _context.abrupt("return", Promise.resolve());
|
|
229
|
-
case
|
|
230
|
-
_context.prev =
|
|
231
|
-
|
|
232
|
-
_message = " Error writing back access control file! ".concat(
|
|
228
|
+
case 4:
|
|
229
|
+
_context.prev = 4;
|
|
230
|
+
_t = _context["catch"](2);
|
|
231
|
+
_message = " Error writing back access control file! ".concat(_t);
|
|
233
232
|
debug.error(_message);
|
|
234
233
|
return _context.abrupt("return", Promise.reject(_message));
|
|
235
|
-
case
|
|
234
|
+
case 5:
|
|
236
235
|
case "end":
|
|
237
236
|
return _context.stop();
|
|
238
237
|
}
|
|
239
|
-
}, _callee, this, [[
|
|
238
|
+
}, _callee, this, [[2, 4]]);
|
|
240
239
|
}));
|
|
241
240
|
function addAcls() {
|
|
242
241
|
return _addAcls.apply(this, arguments);
|
|
@@ -247,14 +246,14 @@ var AccessController = exports.AccessController = /*#__PURE__*/function () {
|
|
|
247
246
|
key: "addDefaults",
|
|
248
247
|
value: function () {
|
|
249
248
|
var _addDefaults = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
250
|
-
return _regenerator["default"].wrap(function
|
|
249
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
251
250
|
while (1) switch (_context2.prev = _context2.next) {
|
|
252
251
|
case 0:
|
|
253
252
|
this.defaultsCombo = new _accessGroups.AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, {
|
|
254
253
|
defaults: true
|
|
255
254
|
});
|
|
256
255
|
this.defaultsDiffer = true;
|
|
257
|
-
case
|
|
256
|
+
case 1:
|
|
258
257
|
case "end":
|
|
259
258
|
return _context2.stop();
|
|
260
259
|
}
|
|
@@ -269,41 +268,41 @@ var AccessController = exports.AccessController = /*#__PURE__*/function () {
|
|
|
269
268
|
key: "removeAcls",
|
|
270
269
|
value: function () {
|
|
271
270
|
var _removeAcls = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
272
|
-
var message;
|
|
273
|
-
return _regenerator["default"].wrap(function
|
|
271
|
+
var message, _t2, _t3;
|
|
272
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
274
273
|
while (1) switch (_context3.prev = _context3.next) {
|
|
275
274
|
case 0:
|
|
276
275
|
_context3.prev = 0;
|
|
277
|
-
_context3.next =
|
|
276
|
+
_context3.next = 1;
|
|
278
277
|
return this.store.fetcher["delete"](this.targetACLDoc.uri, {});
|
|
279
|
-
case
|
|
278
|
+
case 1:
|
|
280
279
|
this.isUsingDefaults = true;
|
|
281
|
-
_context3.prev =
|
|
282
|
-
_context3.next =
|
|
280
|
+
_context3.prev = 2;
|
|
281
|
+
_context3.next = 3;
|
|
283
282
|
return (0, _acl.getProspectiveHolder)(this.targetDoc.uri);
|
|
284
|
-
case
|
|
283
|
+
case 3:
|
|
285
284
|
this.prospectiveDefaultHolder = _context3.sent;
|
|
286
|
-
_context3.next =
|
|
285
|
+
_context3.next = 5;
|
|
287
286
|
break;
|
|
288
|
-
case
|
|
289
|
-
_context3.prev =
|
|
290
|
-
|
|
287
|
+
case 4:
|
|
288
|
+
_context3.prev = 4;
|
|
289
|
+
_t2 = _context3["catch"](2);
|
|
291
290
|
// No need to show this error in status, but good to warn about it in console
|
|
292
|
-
debug.warn(
|
|
293
|
-
case
|
|
294
|
-
_context3.next =
|
|
291
|
+
debug.warn(_t2);
|
|
292
|
+
case 5:
|
|
293
|
+
_context3.next = 7;
|
|
295
294
|
break;
|
|
296
|
-
case
|
|
297
|
-
_context3.prev =
|
|
298
|
-
|
|
299
|
-
message = "Error deleting access control file: ".concat(this.targetACLDoc, ": ").concat(
|
|
295
|
+
case 6:
|
|
296
|
+
_context3.prev = 6;
|
|
297
|
+
_t3 = _context3["catch"](0);
|
|
298
|
+
message = "Error deleting access control file: ".concat(this.targetACLDoc, ": ").concat(_t3);
|
|
300
299
|
debug.error(message);
|
|
301
300
|
return _context3.abrupt("return", Promise.reject(message));
|
|
302
|
-
case
|
|
301
|
+
case 7:
|
|
303
302
|
case "end":
|
|
304
303
|
return _context3.stop();
|
|
305
304
|
}
|
|
306
|
-
}, _callee3, this, [[0,
|
|
305
|
+
}, _callee3, this, [[0, 6], [2, 4]]);
|
|
307
306
|
}));
|
|
308
307
|
function removeAcls() {
|
|
309
308
|
return _removeAcls.apply(this, arguments);
|
|
@@ -314,31 +313,31 @@ var AccessController = exports.AccessController = /*#__PURE__*/function () {
|
|
|
314
313
|
key: "removeDefaults",
|
|
315
314
|
value: function () {
|
|
316
315
|
var _removeDefaults = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
317
|
-
var fallbackCombo;
|
|
318
|
-
return _regenerator["default"].wrap(function
|
|
316
|
+
var fallbackCombo, _t4;
|
|
317
|
+
return _regenerator["default"].wrap(function (_context4) {
|
|
319
318
|
while (1) switch (_context4.prev = _context4.next) {
|
|
320
319
|
case 0:
|
|
321
320
|
fallbackCombo = this.defaultsCombo;
|
|
322
321
|
_context4.prev = 1;
|
|
323
322
|
this.defaultsCombo = null;
|
|
324
323
|
this.defaultsDiffer = false;
|
|
325
|
-
_context4.next =
|
|
324
|
+
_context4.next = 2;
|
|
326
325
|
return this.save();
|
|
327
|
-
case
|
|
328
|
-
_context4.next =
|
|
326
|
+
case 2:
|
|
327
|
+
_context4.next = 4;
|
|
329
328
|
break;
|
|
330
|
-
case
|
|
331
|
-
_context4.prev =
|
|
332
|
-
|
|
329
|
+
case 3:
|
|
330
|
+
_context4.prev = 3;
|
|
331
|
+
_t4 = _context4["catch"](1);
|
|
333
332
|
this.defaultsCombo = fallbackCombo;
|
|
334
333
|
this.defaultsDiffer = true;
|
|
335
|
-
debug.error(
|
|
336
|
-
return _context4.abrupt("return", Promise.reject(
|
|
337
|
-
case
|
|
334
|
+
debug.error(_t4);
|
|
335
|
+
return _context4.abrupt("return", Promise.reject(_t4));
|
|
336
|
+
case 4:
|
|
338
337
|
case "end":
|
|
339
338
|
return _context4.stop();
|
|
340
339
|
}
|
|
341
|
-
}, _callee4, this, [[1,
|
|
340
|
+
}, _callee4, this, [[1, 3]]);
|
|
342
341
|
}));
|
|
343
342
|
function removeDefaults() {
|
|
344
343
|
return _removeDefaults.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-controller.js","names":["_acl","require","_rdflib","_accessGroups","_aclControl","utils","_interopRequireWildcard","debug","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","AccessController","exports","subject","noun","context","statusElement","targetIsProtected","targetDoc","targetACLDoc","defaultHolder","defaultACLDoc","prospectiveDefaultHolder","store","dom","_classCallCheck2","_defineProperty2","rootElement","createElement","setAttribute","aclGroupContent","isContainer","uri","slice","isUsingDefaults","aclDefaultStore","adoptACLDefault","mainCombo","AccessGroups","defaults","defaultsCombo","defaultsDiffer","sameACL","aclMap","_createClass2","key","value","render","innerHTML","renderStatus","concat","defaultHolderLink","appendChild","href","innerText","shortNameForFolder","renderRemoveDefaultsController","isEditable","renderAddDefaultsController","renderAddAclsController","renderRemoveAclsController","_this","useDefaultButton","label","bigButton","addEventListener","removeAcls","then","error","_this2","addAclButton","addAcls","_this3","containerElement","defaultsController","noticeElement","defaultsControllerNotice","button","addDefaults","_this4","removeDefaults","renderTemporaryStatus","message","_this5","aclControlBoxStatusRevealed","temporaryStatusInit","setTimeout","temporaryStatusEnd","_addAcls","_asyncToGenerator2","_regenerator","mark","_callee","_this6","aclGraph","_message","wrap","_callee$","_context","prev","next","abrupt","Promise","reject","statements","forEach","st","add","predicate","object","fetcher","putBack","resolve","t0","stop","apply","arguments","_addDefaults","_callee2","_callee2$","_context2","_removeAcls","_callee3","_callee3$","_context3","getProspectiveHolder","sent","warn","t1","_removeDefaults","_callee4","fallbackCombo","_callee4$","_context4","save","_this7","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'\nimport * as style from '../style'\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: HTMLDivElement\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 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: HTMLDocument\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.setAttribute('style', style.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.setAttribute('style', style.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 if (!message) {\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n }\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"access-controller.js","names":["_acl","require","_rdflib","_accessGroups","_aclControl","utils","_interopRequireWildcard","debug","style","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t5","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AccessController","exports","subject","noun","context","statusElement","targetIsProtected","targetDoc","targetACLDoc","defaultHolder","defaultACLDoc","prospectiveDefaultHolder","store","dom","_classCallCheck2","_defineProperty2","rootElement","createElement","setAttribute","aclGroupContent","isContainer","uri","slice","isUsingDefaults","aclDefaultStore","adoptACLDefault","mainCombo","AccessGroups","defaults","defaultsCombo","defaultsDiffer","sameACL","aclMap","_createClass2","key","value","render","innerHTML","renderStatus","concat","defaultHolderLink","appendChild","href","innerText","shortNameForFolder","renderRemoveDefaultsController","isEditable","renderAddDefaultsController","renderAddAclsController","renderRemoveAclsController","_this","useDefaultButton","label","bigButton","addEventListener","removeAcls","then","error","_this2","addAclButton","addAcls","_this3","containerElement","defaultsController","noticeElement","defaultsControllerNotice","button","addDefaults","_this4","removeDefaults","renderTemporaryStatus","message","_this5","aclControlBoxStatusRevealed","temporaryStatusInit","setTimeout","temporaryStatusEnd","_addAcls","_asyncToGenerator2","_regenerator","mark","_callee","_this6","aclGraph","_message","_t","wrap","_context","prev","next","abrupt","Promise","reject","statements","forEach","st","add","predicate","object","fetcher","putBack","resolve","stop","apply","arguments","_addDefaults","_callee2","_context2","_removeAcls","_callee3","_t2","_t3","_context3","getProspectiveHolder","sent","warn","_removeDefaults","_callee4","fallbackCombo","_t4","_context4","save","_this7","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'\nimport * as style from '../style'\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: HTMLDivElement\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 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: HTMLDocument\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.setAttribute('style', style.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.setAttribute('style', style.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.setAttribute('style', style.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.setAttribute('style', style.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.setAttribute('style', style.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 if (!message) {\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n }\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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","ignoreList":[]}
|
package/lib/acl/access-groups.js
CHANGED
|
@@ -19,8 +19,7 @@ var ns = _interopRequireWildcard(require("../ns"));
|
|
|
19
19
|
var _addAgentButtons = require("./add-agent-buttons");
|
|
20
20
|
var debug = _interopRequireWildcard(require("../debug"));
|
|
21
21
|
var style = _interopRequireWildcard(require("../style"));
|
|
22
|
-
function
|
|
23
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t3 in e) "default" !== _t3 && {}.hasOwnProperty.call(e, _t3) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t3)) && (i.get || i.set) ? o(f, _t3, i) : f[_t3] = e[_t3]); return f; })(e, t); }
|
|
24
23
|
/**
|
|
25
24
|
* Contains the [[AccessGroups]]
|
|
26
25
|
* and [[AccessGroupsOptions]] classes
|
|
@@ -253,7 +252,7 @@ var AccessGroups = exports.AccessGroups = /*#__PURE__*/function () {
|
|
|
253
252
|
value: function () {
|
|
254
253
|
var _deleteAgent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(combo, pred, obj) {
|
|
255
254
|
var combos, comboToRemove;
|
|
256
|
-
return _regenerator["default"].wrap(function
|
|
255
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
257
256
|
while (1) switch (_context.prev = _context.next) {
|
|
258
257
|
case 0:
|
|
259
258
|
combos = this.byCombo[combo] || [];
|
|
@@ -266,9 +265,9 @@ var AccessGroups = exports.AccessGroups = /*#__PURE__*/function () {
|
|
|
266
265
|
if (comboToRemove) {
|
|
267
266
|
combos.splice(combos.indexOf(comboToRemove), 1);
|
|
268
267
|
}
|
|
269
|
-
_context.next =
|
|
268
|
+
_context.next = 1;
|
|
270
269
|
return this.controller.save();
|
|
271
|
-
case
|
|
270
|
+
case 1:
|
|
272
271
|
case "end":
|
|
273
272
|
return _context.stop();
|
|
274
273
|
}
|
|
@@ -283,15 +282,15 @@ var AccessGroups = exports.AccessGroups = /*#__PURE__*/function () {
|
|
|
283
282
|
key: "addNewURI",
|
|
284
283
|
value: function () {
|
|
285
284
|
var _addNewURI = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(uri) {
|
|
286
|
-
return _regenerator["default"].wrap(function
|
|
285
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
287
286
|
while (1) switch (_context2.prev = _context2.next) {
|
|
288
287
|
case 0:
|
|
289
|
-
_context2.next =
|
|
288
|
+
_context2.next = 1;
|
|
290
289
|
return this.handleDroppedUri(uri, kToCombo(1));
|
|
291
|
-
case
|
|
292
|
-
_context2.next =
|
|
290
|
+
case 1:
|
|
291
|
+
_context2.next = 2;
|
|
293
292
|
return this.controller.save();
|
|
294
|
-
case
|
|
293
|
+
case 2:
|
|
295
294
|
case "end":
|
|
296
295
|
return _context2.stop();
|
|
297
296
|
}
|
|
@@ -307,29 +306,30 @@ var AccessGroups = exports.AccessGroups = /*#__PURE__*/function () {
|
|
|
307
306
|
value: function () {
|
|
308
307
|
var _handleDroppedUris = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(uris, combo) {
|
|
309
308
|
var _this5 = this;
|
|
310
|
-
|
|
309
|
+
var _t;
|
|
310
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
311
311
|
while (1) switch (_context3.prev = _context3.next) {
|
|
312
312
|
case 0:
|
|
313
313
|
_context3.prev = 0;
|
|
314
|
-
_context3.next =
|
|
314
|
+
_context3.next = 1;
|
|
315
315
|
return Promise.all(uris.map(function (uri) {
|
|
316
316
|
return _this5.handleDroppedUri(uri, combo);
|
|
317
317
|
}));
|
|
318
|
-
case
|
|
319
|
-
_context3.next =
|
|
318
|
+
case 1:
|
|
319
|
+
_context3.next = 2;
|
|
320
320
|
return this.controller.save();
|
|
321
|
-
case
|
|
322
|
-
_context3.next =
|
|
321
|
+
case 2:
|
|
322
|
+
_context3.next = 4;
|
|
323
323
|
break;
|
|
324
|
-
case
|
|
325
|
-
_context3.prev =
|
|
326
|
-
|
|
327
|
-
return _context3.abrupt("return", Promise.reject(
|
|
328
|
-
case
|
|
324
|
+
case 3:
|
|
325
|
+
_context3.prev = 3;
|
|
326
|
+
_t = _context3["catch"](0);
|
|
327
|
+
return _context3.abrupt("return", Promise.reject(_t));
|
|
328
|
+
case 4:
|
|
329
329
|
case "end":
|
|
330
330
|
return _context3.stop();
|
|
331
331
|
}
|
|
332
|
-
}, _callee3, this, [[0,
|
|
332
|
+
}, _callee3, this, [[0, 3]]);
|
|
333
333
|
}));
|
|
334
334
|
function handleDroppedUris(_x5, _x6) {
|
|
335
335
|
return _handleDroppedUris.apply(this, arguments);
|
|
@@ -343,46 +343,46 @@ var AccessGroups = exports.AccessGroups = /*#__PURE__*/function () {
|
|
|
343
343
|
var _this6 = this;
|
|
344
344
|
var secondAttempt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
345
345
|
return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
346
|
-
var agent, thing, _this6$_store,
|
|
347
|
-
return _regenerator["default"].wrap(function
|
|
346
|
+
var agent, thing, _this6$_store, message, error, _t2;
|
|
347
|
+
return _regenerator["default"].wrap(function (_context4) {
|
|
348
348
|
while (1) switch (_context4.prev = _context4.next) {
|
|
349
349
|
case 0:
|
|
350
350
|
agent = findAgent(uri, _this6.store); // eg 'agent', 'origin', agentClass'
|
|
351
351
|
thing = (0, _rdflib.sym)(uri);
|
|
352
352
|
if (!(!agent && !secondAttempt)) {
|
|
353
|
-
_context4.next =
|
|
353
|
+
_context4.next = 5;
|
|
354
354
|
break;
|
|
355
355
|
}
|
|
356
356
|
debug.log(" Not obvious: looking up dropped thing ".concat(thing));
|
|
357
|
-
_context4.prev =
|
|
358
|
-
_context4.next =
|
|
359
|
-
return (_this6$_store = _this6._store) === null || _this6$_store === void 0
|
|
360
|
-
case
|
|
361
|
-
_context4.next =
|
|
357
|
+
_context4.prev = 1;
|
|
358
|
+
_context4.next = 2;
|
|
359
|
+
return (_this6$_store = _this6._store) === null || _this6$_store === void 0 || (_this6$_store = _this6$_store.fetcher) === null || _this6$_store === void 0 ? void 0 : _this6$_store.load(thing.doc());
|
|
360
|
+
case 2:
|
|
361
|
+
_context4.next = 4;
|
|
362
362
|
break;
|
|
363
|
-
case
|
|
364
|
-
_context4.prev =
|
|
365
|
-
|
|
366
|
-
message = "Ignore error looking up dropped thing: ".concat(
|
|
363
|
+
case 3:
|
|
364
|
+
_context4.prev = 3;
|
|
365
|
+
_t2 = _context4["catch"](1);
|
|
366
|
+
message = "Ignore error looking up dropped thing: ".concat(_t2);
|
|
367
367
|
debug.error(message);
|
|
368
368
|
return _context4.abrupt("return", Promise.reject(new Error(message)));
|
|
369
|
-
case
|
|
369
|
+
case 4:
|
|
370
370
|
return _context4.abrupt("return", _this6.handleDroppedUri(uri, combo, true));
|
|
371
|
-
case
|
|
371
|
+
case 5:
|
|
372
372
|
if (agent) {
|
|
373
|
-
_context4.next =
|
|
373
|
+
_context4.next = 6;
|
|
374
374
|
break;
|
|
375
375
|
}
|
|
376
376
|
error = " Error: Drop fails to drop appropriate thing! ".concat(uri);
|
|
377
377
|
debug.error(error);
|
|
378
378
|
return _context4.abrupt("return", Promise.reject(new Error(error)));
|
|
379
|
-
case
|
|
379
|
+
case 6:
|
|
380
380
|
_this6.setACLCombo(combo, uri, agent, _this6.controller.subject);
|
|
381
|
-
case
|
|
381
|
+
case 7:
|
|
382
382
|
case "end":
|
|
383
383
|
return _context4.stop();
|
|
384
384
|
}
|
|
385
|
-
}, _callee4, null, [[
|
|
385
|
+
}, _callee4, null, [[1, 3]]);
|
|
386
386
|
})();
|
|
387
387
|
});
|
|
388
388
|
function handleDroppedUri(_x7, _x8) {
|