solid-ui 2.4.14-alpha → 2.4.14-bbf45639-aade069c
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/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +441 -334
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +1 -2
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +495 -347
- 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 +198 -168
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +1 -2
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +463 -444
- 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 +515 -318
- 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 +35 -27
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.d.ts +0 -0
- package/lib/acl/styles.d.ts.map +0 -0
- package/lib/acl/styles.js +90 -84
- package/lib/acl/styles.js.map +1 -1
- package/lib/acl/types.d.ts +0 -0
- package/lib/acl/types.d.ts.map +0 -0
- package/lib/acl/types.js +4 -5
- package/lib/acl/types.js.map +1 -1
- package/lib/authn/authSession.d.ts +0 -0
- package/lib/authn/authSession.d.ts.map +0 -0
- package/lib/authn/authSession.js +21 -14
- package/lib/authn/authSession.js.map +1 -1
- package/lib/authn/authn.d.ts +0 -0
- package/lib/authn/authn.d.ts.map +0 -0
- package/lib/authn/authn.js +1935 -1391
- package/lib/authn/authn.js.map +1 -1
- package/lib/authn/config-default.js +0 -0
- package/lib/authn/config-default.js.map +0 -0
- package/lib/authn/index.d.ts +0 -0
- package/lib/authn/index.d.ts.map +0 -0
- package/lib/authn/index.js +37 -26
- package/lib/authn/index.js.map +1 -1
- package/lib/authn/signup.js +0 -0
- package/lib/authn/signup.js.map +0 -0
- package/lib/authn/types.d.ts +0 -0
- package/lib/authn/types.d.ts.map +0 -0
- package/lib/authn/types.js +4 -1
- package/lib/authn/types.js.map +1 -1
- package/lib/chat/bookmarks.js +0 -0
- package/lib/chat/bookmarks.js.map +0 -0
- package/lib/chat/dateFolder.js +0 -0
- package/lib/chat/dateFolder.js.map +0 -0
- package/lib/chat/infinite.js +0 -0
- package/lib/chat/infinite.js.map +0 -0
- package/lib/chat/message.js +0 -0
- package/lib/chat/message.js.map +0 -0
- package/lib/chat/messageTools.js +0 -0
- package/lib/chat/messageTools.js.map +0 -0
- package/lib/chat/thread.js +0 -0
- package/lib/chat/thread.js.map +0 -0
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +214 -209
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +10 -4
- package/lib/create/index.js.map +1 -1
- package/lib/create/types.d.ts +0 -0
- package/lib/create/types.d.ts.map +0 -0
- package/lib/create/types.js +4 -1
- package/lib/create/types.js.map +1 -1
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +28 -30
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +0 -0
- package/lib/footer/index.d.ts.map +0 -0
- package/lib/footer/index.js +126 -109
- 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 +11 -7
- package/lib/footer/styleMap.js.map +1 -1
- 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 +6 -2
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.d.ts +0 -0
- package/lib/header/index.d.ts.map +0 -0
- package/lib/header/index.js +361 -285
- 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 +132 -116
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +30 -23
- package/lib/iconBase.js.map +1 -1
- 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 +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +207 -103
- package/lib/index.js.map +1 -1
- package/lib/jss/index.d.ts +0 -0
- package/lib/jss/index.d.ts.map +0 -0
- package/lib/jss/index.js +30 -21
- package/lib/jss/index.js.map +1 -1
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +131 -83
- package/lib/log.js.map +1 -1
- package/lib/logic.d.ts +2 -2
- package/lib/logic.d.ts.map +1 -1
- package/lib/logic.js +73 -82
- package/lib/logic.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 +10 -4
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +237 -210
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.d.ts +0 -0
- package/lib/matrix/types.d.ts.map +0 -0
- package/lib/matrix/types.js +4 -1
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +11 -5
- package/lib/media/index.js.map +1 -1
- 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 +181 -187
- 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 +0 -0
- package/lib/pad.d.ts.map +0 -0
- package/lib/pad.js +954 -794
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +0 -0
- package/lib/participation.d.ts.map +0 -0
- package/lib/participation.js +199 -170
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +0 -0
- package/lib/preferences.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/table.js +0 -0
- package/lib/table.js.map +0 -0
- package/lib/tabs.d.ts +0 -0
- package/lib/tabs.d.ts.map +0 -0
- package/lib/tabs.js +342 -235
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +0 -0
- package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
- package/lib/utils/headerFooterHelpers.js +155 -130
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +0 -0
- package/lib/utils/index.js.map +0 -0
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +113 -121
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +28 -23
- package/lib/versionInfo.js.map +1 -1
- package/lib/webpack-bundle.js +264 -175
- package/lib/webpack-bundle.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 +30 -19
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.d.ts +0 -0
- package/lib/widgets/buttons.d.ts.map +0 -0
- package/lib/widgets/buttons.js +1113 -935
- package/lib/widgets/buttons.js.map +1 -1
- 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 +24 -18
- package/lib/widgets/error.js.map +1 -1
- 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 +325 -234
- 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 +280 -246
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +497 -317
- 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 +214 -159
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.js +725 -485
- 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 +239 -208
- package/lib/widgets/forms/basic.js.map +1 -1
- 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 +48 -48
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.d.ts +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
- package/lib/widgets/forms/fieldFunction.js +50 -31
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.d.ts +0 -0
- package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
- package/lib/widgets/forms/fieldParams.js +81 -102
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- 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 +50 -52
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +0 -0
- package/lib/widgets/forms.js.map +0 -0
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- 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 +30 -18
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +7 -7
package/lib/acl/access-groups.js
CHANGED
|
@@ -1,382 +1,530 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.AccessGroups = void 0;
|
|
11
|
+
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
+
|
|
20
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _rdflib = require("rdflib");
|
|
25
|
+
|
|
26
|
+
var _acl = require("./acl");
|
|
27
|
+
|
|
28
|
+
var widgets = _interopRequireWildcard(require("../widgets"));
|
|
29
|
+
|
|
30
|
+
var ns = _interopRequireWildcard(require("../ns"));
|
|
31
|
+
|
|
32
|
+
var _addAgentButtons = require("./add-agent-buttons");
|
|
33
|
+
|
|
34
|
+
var debug = _interopRequireWildcard(require("../debug"));
|
|
35
|
+
|
|
36
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
37
|
+
|
|
38
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
+
|
|
2
40
|
/**
|
|
3
41
|
* Contains the [[AccessGroups]]
|
|
4
42
|
* and [[AccessGroupsOptions]] classes
|
|
5
43
|
* @packageDocumentation
|
|
6
44
|
*/
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
25
|
-
};
|
|
26
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
29
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
30
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
31
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
32
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
36
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
37
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
38
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
39
|
-
function step(op) {
|
|
40
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
41
|
-
while (_) try {
|
|
42
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
43
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
44
|
-
switch (op[0]) {
|
|
45
|
-
case 0: case 1: t = op; break;
|
|
46
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
47
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
48
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
49
|
-
default:
|
|
50
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
51
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
52
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
53
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
54
|
-
if (t[2]) _.ops.pop();
|
|
55
|
-
_.trys.pop(); continue;
|
|
56
|
-
}
|
|
57
|
-
op = body.call(thisArg, _);
|
|
58
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
59
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
63
|
-
exports.AccessGroups = void 0;
|
|
64
|
-
var rdflib_1 = require("rdflib");
|
|
65
|
-
var acl_1 = require("./acl");
|
|
66
|
-
var widgets = __importStar(require("../widgets"));
|
|
67
|
-
var ns = __importStar(require("../ns"));
|
|
68
|
-
var add_agent_buttons_1 = require("./add-agent-buttons");
|
|
69
|
-
var debug = __importStar(require("../debug"));
|
|
70
45
|
var ACL = ns.acl;
|
|
71
46
|
var COLLOQUIAL = {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
47
|
+
13: 'Owners',
|
|
48
|
+
9: 'Owners (write locked)',
|
|
49
|
+
5: 'Editors',
|
|
50
|
+
3: 'Posters',
|
|
51
|
+
2: 'Submitters',
|
|
52
|
+
1: 'Viewers'
|
|
78
53
|
};
|
|
79
54
|
var RECOMMENDED = {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
55
|
+
13: true,
|
|
56
|
+
5: true,
|
|
57
|
+
3: true,
|
|
58
|
+
2: true,
|
|
59
|
+
1: true
|
|
85
60
|
};
|
|
86
61
|
var EXPLANATION = {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
62
|
+
13: 'can read, write, and control sharing.',
|
|
63
|
+
9: 'can read and control sharing, currently write-locked.',
|
|
64
|
+
5: 'can read and change information',
|
|
65
|
+
3: 'can add new information, and read but not change existing information',
|
|
66
|
+
2: 'can add new information but not read any',
|
|
67
|
+
1: 'can read but not change information'
|
|
93
68
|
};
|
|
69
|
+
/**
|
|
70
|
+
* Type for the options parameter of [[AccessGroups]]
|
|
71
|
+
*/
|
|
72
|
+
|
|
94
73
|
/**
|
|
95
74
|
* Renders the table of Owners, Editors, Posters, Submitters, Viewers
|
|
96
75
|
* for https://github.com/solid/userguide/blob/main/views/sharing/userguide.md
|
|
97
76
|
*/
|
|
98
|
-
var AccessGroups =
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
77
|
+
var AccessGroups = /*#__PURE__*/function () {
|
|
78
|
+
function AccessGroups(doc, aclDoc, controller, store) {
|
|
79
|
+
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
80
|
+
(0, _classCallCheck2["default"])(this, AccessGroups);
|
|
81
|
+
this.doc = doc;
|
|
82
|
+
this.aclDoc = aclDoc;
|
|
83
|
+
this.controller = controller;
|
|
84
|
+
this.options = options;
|
|
85
|
+
(0, _defineProperty2["default"])(this, "defaults", void 0);
|
|
86
|
+
(0, _defineProperty2["default"])(this, "byCombo", void 0);
|
|
87
|
+
(0, _defineProperty2["default"])(this, "aclMap", void 0);
|
|
88
|
+
(0, _defineProperty2["default"])(this, "addAgentButton", void 0);
|
|
89
|
+
(0, _defineProperty2["default"])(this, "rootElement", void 0);
|
|
90
|
+
(0, _defineProperty2["default"])(this, "_store", void 0);
|
|
91
|
+
this.defaults = options.defaults || false;
|
|
92
|
+
(0, _rdflib.fetcher)(store, {}); // The store will already have an updater at this point:
|
|
93
|
+
// store.updater = new UpdateManager(store)
|
|
94
|
+
|
|
95
|
+
this._store = store; // TODO hacky, find a better solution
|
|
96
|
+
|
|
97
|
+
this.aclMap = (0, _acl.readACL)(doc, aclDoc, store, this.defaults);
|
|
98
|
+
this.byCombo = (0, _acl.ACLbyCombination)(this.aclMap);
|
|
99
|
+
this.addAgentButton = new _addAgentButtons.AddAgentButtons(this);
|
|
100
|
+
this.rootElement = this.controller.dom.createElement('div');
|
|
101
|
+
this.rootElement.classList.add(this.controller.classes.accessGroupList);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
(0, _createClass2["default"])(AccessGroups, [{
|
|
105
|
+
key: "store",
|
|
106
|
+
get: function get() {
|
|
107
|
+
return this._store;
|
|
108
|
+
},
|
|
109
|
+
set: function set(store) {
|
|
110
|
+
this._store = store;
|
|
111
|
+
this.aclMap = (0, _acl.readACL)(this.doc, this.aclDoc, store, this.defaults);
|
|
112
|
+
this.byCombo = (0, _acl.ACLbyCombination)(this.aclMap);
|
|
115
113
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
var
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
groupElements.push(this.renderGroup(comboIndex, combo));
|
|
143
|
-
}
|
|
114
|
+
}, {
|
|
115
|
+
key: "render",
|
|
116
|
+
value: function render() {
|
|
117
|
+
var _this = this;
|
|
118
|
+
|
|
119
|
+
this.rootElement.innerHTML = '';
|
|
120
|
+
this.renderGroups().forEach(function (group) {
|
|
121
|
+
return _this.rootElement.appendChild(group);
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
if (this.controller.isEditable) {
|
|
125
|
+
this.rootElement.appendChild(this.addAgentButton.render());
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return this.rootElement;
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
key: "renderGroups",
|
|
132
|
+
value: function renderGroups() {
|
|
133
|
+
var groupElements = [];
|
|
134
|
+
|
|
135
|
+
for (var comboIndex = 15; comboIndex > 0; comboIndex--) {
|
|
136
|
+
var combo = kToCombo(comboIndex);
|
|
137
|
+
|
|
138
|
+
if (this.controller.isEditable && RECOMMENDED[comboIndex] || this.byCombo[combo]) {
|
|
139
|
+
groupElements.push(this.renderGroup(comboIndex, combo));
|
|
144
140
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
groupNameColumn.classList.add(this.controller.classes.group);
|
|
162
|
-
groupNameColumn.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
|
|
163
|
-
groupNameColumn.innerText = COLLOQUIAL[comboIndex] || ktToList(comboIndex);
|
|
164
|
-
var groupAgentsColumn = this.controller.dom.createElement('div');
|
|
165
|
-
groupAgentsColumn.classList.add(this.controller.classes.group);
|
|
166
|
-
groupAgentsColumn.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
|
|
167
|
-
var groupAgentsTable = groupAgentsColumn.appendChild(this.controller.dom.createElement('table'));
|
|
168
|
-
var combos = this.byCombo[combo] || [];
|
|
169
|
-
combos
|
|
170
|
-
.map(function (_a) {
|
|
171
|
-
var pred = _a[0], obj = _a[1];
|
|
172
|
-
return _this.renderAgent(groupAgentsTable, combo, pred, obj);
|
|
173
|
-
})
|
|
174
|
-
.forEach(function (agentElement) { return groupAgentsTable.appendChild(agentElement); });
|
|
175
|
-
var groupDescriptionElement = this.controller.dom.createElement('div');
|
|
176
|
-
groupDescriptionElement.classList.add(this.controller.classes.group);
|
|
177
|
-
groupDescriptionElement.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
|
|
178
|
-
groupDescriptionElement.innerText = EXPLANATION[comboIndex] || 'Unusual combination';
|
|
179
|
-
return [groupNameColumn, groupAgentsColumn, groupDescriptionElement];
|
|
180
|
-
};
|
|
181
|
-
AccessGroups.prototype.renderAgent = function (groupAgentsTable, combo, pred, obj) {
|
|
182
|
-
var _this = this;
|
|
183
|
-
var personRow = widgets.personTR(this.controller.dom, ACL(pred), (0, rdflib_1.sym)(obj), this.controller.isEditable
|
|
184
|
-
? {
|
|
185
|
-
deleteFunction: function () { return _this.deleteAgent(combo, pred, obj)
|
|
186
|
-
.then(function () { return groupAgentsTable.removeChild(personRow); })
|
|
187
|
-
.catch(function (error) { return _this.controller.renderStatus(error); }); }
|
|
188
|
-
}
|
|
189
|
-
: {});
|
|
190
|
-
return personRow;
|
|
191
|
-
};
|
|
192
|
-
AccessGroups.prototype.deleteAgent = function (combo, pred, obj) {
|
|
193
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
194
|
-
var combos, comboToRemove;
|
|
195
|
-
return __generator(this, function (_a) {
|
|
196
|
-
switch (_a.label) {
|
|
197
|
-
case 0:
|
|
198
|
-
combos = this.byCombo[combo] || [];
|
|
199
|
-
comboToRemove = combos.find(function (_a) {
|
|
200
|
-
var comboPred = _a[0], comboObj = _a[1];
|
|
201
|
-
return comboPred === pred && comboObj === obj;
|
|
202
|
-
});
|
|
203
|
-
if (comboToRemove) {
|
|
204
|
-
combos.splice(combos.indexOf(comboToRemove), 1);
|
|
205
|
-
}
|
|
206
|
-
return [4 /*yield*/, this.controller.save()];
|
|
207
|
-
case 1:
|
|
208
|
-
_a.sent();
|
|
209
|
-
return [2 /*return*/];
|
|
210
|
-
}
|
|
211
|
-
});
|
|
212
|
-
});
|
|
213
|
-
};
|
|
214
|
-
AccessGroups.prototype.addNewURI = function (uri) {
|
|
215
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
216
|
-
return __generator(this, function (_a) {
|
|
217
|
-
switch (_a.label) {
|
|
218
|
-
case 0: return [4 /*yield*/, this.handleDroppedUri(uri, kToCombo(1))];
|
|
219
|
-
case 1:
|
|
220
|
-
_a.sent();
|
|
221
|
-
return [4 /*yield*/, this.controller.save()];
|
|
222
|
-
case 2:
|
|
223
|
-
_a.sent();
|
|
224
|
-
return [2 /*return*/];
|
|
225
|
-
}
|
|
226
|
-
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return groupElements;
|
|
144
|
+
}
|
|
145
|
+
}, {
|
|
146
|
+
key: "renderGroup",
|
|
147
|
+
value: function renderGroup(comboIndex, combo) {
|
|
148
|
+
var _this2 = this;
|
|
149
|
+
|
|
150
|
+
var groupRow = this.controller.dom.createElement('div');
|
|
151
|
+
groupRow.classList.add(this.controller.classes.accessGroupListItem);
|
|
152
|
+
widgets.makeDropTarget(groupRow, function (uris) {
|
|
153
|
+
return _this2.handleDroppedUris(uris, combo).then(function () {
|
|
154
|
+
return _this2.controller.render();
|
|
155
|
+
})["catch"](function (error) {
|
|
156
|
+
return _this2.controller.renderStatus(error);
|
|
227
157
|
});
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
158
|
+
});
|
|
159
|
+
var groupColumns = this.renderGroupElements(comboIndex, combo);
|
|
160
|
+
groupColumns.forEach(function (column) {
|
|
161
|
+
return groupRow.appendChild(column);
|
|
162
|
+
});
|
|
163
|
+
return groupRow;
|
|
164
|
+
}
|
|
165
|
+
}, {
|
|
166
|
+
key: "renderGroupElements",
|
|
167
|
+
value: function renderGroupElements(comboIndex, combo) {
|
|
168
|
+
var _this3 = this;
|
|
169
|
+
|
|
170
|
+
var groupNameColumn = this.controller.dom.createElement('div');
|
|
171
|
+
groupNameColumn.classList.add(this.controller.classes.group);
|
|
172
|
+
groupNameColumn.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
|
|
173
|
+
groupNameColumn.innerText = COLLOQUIAL[comboIndex] || ktToList(comboIndex);
|
|
174
|
+
var groupAgentsColumn = this.controller.dom.createElement('div');
|
|
175
|
+
groupAgentsColumn.classList.add(this.controller.classes.group);
|
|
176
|
+
groupAgentsColumn.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
|
|
177
|
+
var groupAgentsTable = groupAgentsColumn.appendChild(this.controller.dom.createElement('table'));
|
|
178
|
+
var combos = this.byCombo[combo] || [];
|
|
179
|
+
combos.map(function (_ref) {
|
|
180
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
181
|
+
pred = _ref2[0],
|
|
182
|
+
obj = _ref2[1];
|
|
183
|
+
|
|
184
|
+
return _this3.renderAgent(groupAgentsTable, combo, pred, obj);
|
|
185
|
+
}).forEach(function (agentElement) {
|
|
186
|
+
return groupAgentsTable.appendChild(agentElement);
|
|
187
|
+
});
|
|
188
|
+
var groupDescriptionElement = this.controller.dom.createElement('div');
|
|
189
|
+
groupDescriptionElement.classList.add(this.controller.classes.group);
|
|
190
|
+
groupDescriptionElement.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
|
|
191
|
+
groupDescriptionElement.innerText = EXPLANATION[comboIndex] || 'Unusual combination';
|
|
192
|
+
return [groupNameColumn, groupAgentsColumn, groupDescriptionElement];
|
|
193
|
+
}
|
|
194
|
+
}, {
|
|
195
|
+
key: "renderAgent",
|
|
196
|
+
value: function renderAgent(groupAgentsTable, combo, pred, obj) {
|
|
197
|
+
var _this4 = this;
|
|
198
|
+
|
|
199
|
+
var personRow = widgets.personTR(this.controller.dom, ACL(pred), (0, _rdflib.sym)(obj), this.controller.isEditable ? {
|
|
200
|
+
deleteFunction: function deleteFunction() {
|
|
201
|
+
return _this4.deleteAgent(combo, pred, obj).then(function () {
|
|
202
|
+
return groupAgentsTable.removeChild(personRow);
|
|
203
|
+
})["catch"](function (error) {
|
|
204
|
+
return _this4.controller.renderStatus(error);
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
} : {});
|
|
208
|
+
return personRow;
|
|
209
|
+
}
|
|
210
|
+
}, {
|
|
211
|
+
key: "deleteAgent",
|
|
212
|
+
value: function () {
|
|
213
|
+
var _deleteAgent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(combo, pred, obj) {
|
|
214
|
+
var combos, comboToRemove;
|
|
215
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
216
|
+
while (1) {
|
|
217
|
+
switch (_context.prev = _context.next) {
|
|
218
|
+
case 0:
|
|
219
|
+
combos = this.byCombo[combo] || [];
|
|
220
|
+
comboToRemove = combos.find(function (_ref3) {
|
|
221
|
+
var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
|
|
222
|
+
comboPred = _ref4[0],
|
|
223
|
+
comboObj = _ref4[1];
|
|
224
|
+
|
|
225
|
+
return comboPred === pred && comboObj === obj;
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
if (comboToRemove) {
|
|
229
|
+
combos.splice(combos.indexOf(comboToRemove), 1);
|
|
248
230
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
231
|
+
|
|
232
|
+
_context.next = 5;
|
|
233
|
+
return this.controller.save();
|
|
234
|
+
|
|
235
|
+
case 5:
|
|
236
|
+
case "end":
|
|
237
|
+
return _context.stop();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}, _callee, this);
|
|
241
|
+
}));
|
|
242
|
+
|
|
243
|
+
function deleteAgent(_x, _x2, _x3) {
|
|
244
|
+
return _deleteAgent.apply(this, arguments);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
return deleteAgent;
|
|
248
|
+
}()
|
|
249
|
+
}, {
|
|
250
|
+
key: "addNewURI",
|
|
251
|
+
value: function () {
|
|
252
|
+
var _addNewURI = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(uri) {
|
|
253
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
254
|
+
while (1) {
|
|
255
|
+
switch (_context2.prev = _context2.next) {
|
|
256
|
+
case 0:
|
|
257
|
+
_context2.next = 2;
|
|
258
|
+
return this.handleDroppedUri(uri, kToCombo(1));
|
|
259
|
+
|
|
260
|
+
case 2:
|
|
261
|
+
_context2.next = 4;
|
|
262
|
+
return this.controller.save();
|
|
263
|
+
|
|
264
|
+
case 4:
|
|
265
|
+
case "end":
|
|
266
|
+
return _context2.stop();
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}, _callee2, this);
|
|
270
|
+
}));
|
|
271
|
+
|
|
272
|
+
function addNewURI(_x4) {
|
|
273
|
+
return _addNewURI.apply(this, arguments);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
return addNewURI;
|
|
277
|
+
}()
|
|
278
|
+
}, {
|
|
279
|
+
key: "handleDroppedUris",
|
|
280
|
+
value: function () {
|
|
281
|
+
var _handleDroppedUris = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(uris, combo) {
|
|
282
|
+
var _this5 = this;
|
|
283
|
+
|
|
284
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
285
|
+
while (1) {
|
|
286
|
+
switch (_context3.prev = _context3.next) {
|
|
287
|
+
case 0:
|
|
288
|
+
_context3.prev = 0;
|
|
289
|
+
_context3.next = 3;
|
|
290
|
+
return Promise.all(uris.map(function (uri) {
|
|
291
|
+
return _this5.handleDroppedUri(uri, combo);
|
|
292
|
+
}));
|
|
293
|
+
|
|
294
|
+
case 3:
|
|
295
|
+
_context3.next = 5;
|
|
296
|
+
return this.controller.save();
|
|
297
|
+
|
|
298
|
+
case 5:
|
|
299
|
+
_context3.next = 10;
|
|
300
|
+
break;
|
|
301
|
+
|
|
302
|
+
case 7:
|
|
303
|
+
_context3.prev = 7;
|
|
304
|
+
_context3.t0 = _context3["catch"](0);
|
|
305
|
+
return _context3.abrupt("return", Promise.reject(_context3.t0));
|
|
306
|
+
|
|
307
|
+
case 10:
|
|
308
|
+
case "end":
|
|
309
|
+
return _context3.stop();
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}, _callee3, this, [[0, 7]]);
|
|
313
|
+
}));
|
|
314
|
+
|
|
315
|
+
function handleDroppedUris(_x5, _x6) {
|
|
316
|
+
return _handleDroppedUris.apply(this, arguments);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
return handleDroppedUris;
|
|
320
|
+
}()
|
|
321
|
+
}, {
|
|
322
|
+
key: "handleDroppedUri",
|
|
323
|
+
value: function () {
|
|
324
|
+
var _handleDroppedUri = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(uri, combo) {
|
|
325
|
+
var secondAttempt,
|
|
326
|
+
agent,
|
|
327
|
+
thing,
|
|
328
|
+
_this$_store,
|
|
329
|
+
_this$_store$fetcher,
|
|
330
|
+
message,
|
|
331
|
+
error,
|
|
332
|
+
_args4 = arguments;
|
|
333
|
+
|
|
334
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
335
|
+
while (1) {
|
|
336
|
+
switch (_context4.prev = _context4.next) {
|
|
337
|
+
case 0:
|
|
338
|
+
secondAttempt = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : false;
|
|
339
|
+
agent = findAgent(uri, this.store); // eg 'agent', 'origin', agentClass'
|
|
340
|
+
|
|
341
|
+
thing = (0, _rdflib.sym)(uri);
|
|
342
|
+
|
|
343
|
+
if (!(!agent && !secondAttempt)) {
|
|
344
|
+
_context4.next = 18;
|
|
345
|
+
break;
|
|
287
346
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
347
|
+
|
|
348
|
+
debug.log(" Not obvious: looking up dropped thing ".concat(thing));
|
|
349
|
+
_context4.prev = 5;
|
|
350
|
+
_context4.next = 8;
|
|
351
|
+
return (_this$_store = this._store) === null || _this$_store === void 0 ? void 0 : (_this$_store$fetcher = _this$_store.fetcher) === null || _this$_store$fetcher === void 0 ? void 0 : _this$_store$fetcher.load(thing.doc());
|
|
352
|
+
|
|
353
|
+
case 8:
|
|
354
|
+
_context4.next = 15;
|
|
355
|
+
break;
|
|
356
|
+
|
|
357
|
+
case 10:
|
|
358
|
+
_context4.prev = 10;
|
|
359
|
+
_context4.t0 = _context4["catch"](5);
|
|
360
|
+
message = "Ignore error looking up dropped thing: ".concat(_context4.t0);
|
|
361
|
+
debug.error(message);
|
|
362
|
+
return _context4.abrupt("return", Promise.reject(new Error(message)));
|
|
363
|
+
|
|
364
|
+
case 15:
|
|
365
|
+
return _context4.abrupt("return", this.handleDroppedUri(uri, combo, true));
|
|
366
|
+
|
|
367
|
+
case 18:
|
|
368
|
+
if (agent) {
|
|
369
|
+
_context4.next = 22;
|
|
370
|
+
break;
|
|
307
371
|
}
|
|
372
|
+
|
|
373
|
+
error = " Error: Drop fails to drop appropriate thing! ".concat(uri);
|
|
374
|
+
debug.error(error);
|
|
375
|
+
return _context4.abrupt("return", Promise.reject(new Error(error)));
|
|
376
|
+
|
|
377
|
+
case 22:
|
|
378
|
+
this.setACLCombo(combo, uri, agent, this.controller.subject);
|
|
379
|
+
|
|
380
|
+
case 23:
|
|
381
|
+
case "end":
|
|
382
|
+
return _context4.stop();
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
}, _callee4, this, [[5, 10]]);
|
|
386
|
+
}));
|
|
387
|
+
|
|
388
|
+
function handleDroppedUri(_x7, _x8) {
|
|
389
|
+
return _handleDroppedUri.apply(this, arguments);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
return handleDroppedUri;
|
|
393
|
+
}()
|
|
394
|
+
}, {
|
|
395
|
+
key: "setACLCombo",
|
|
396
|
+
value: function setACLCombo(combo, uri, res, subject) {
|
|
397
|
+
if (!(combo in this.byCombo)) {
|
|
398
|
+
this.byCombo[combo] = [];
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
this.removeAgentFromCombos(uri); // Combos are mutually distinct
|
|
402
|
+
|
|
403
|
+
this.byCombo[combo].push([res.pred, res.obj.uri]);
|
|
404
|
+
debug.log("ACL: setting access to ".concat(subject, " by ").concat(res.pred, ": ").concat(res.obj));
|
|
405
|
+
}
|
|
406
|
+
}, {
|
|
407
|
+
key: "removeAgentFromCombos",
|
|
408
|
+
value: function removeAgentFromCombos(uri) {
|
|
409
|
+
for (var k = 0; k < 16; k++) {
|
|
410
|
+
var combos = this.byCombo[kToCombo(k)];
|
|
411
|
+
|
|
412
|
+
if (combos) {
|
|
413
|
+
for (var i = 0; i < combos.length; i++) {
|
|
414
|
+
while (i < combos.length && combos[i][1] === uri) {
|
|
415
|
+
combos.splice(i, 1);
|
|
308
416
|
}
|
|
417
|
+
}
|
|
309
418
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}]);
|
|
422
|
+
return AccessGroups;
|
|
423
|
+
}();
|
|
424
|
+
|
|
313
425
|
exports.AccessGroups = AccessGroups;
|
|
426
|
+
|
|
314
427
|
function kToCombo(k) {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
428
|
+
var y = ['Read', 'Append', 'Write', 'Control'];
|
|
429
|
+
var combo = [];
|
|
430
|
+
|
|
431
|
+
for (var i = 0; i < 4; i++) {
|
|
432
|
+
if (k & 1 << i) {
|
|
433
|
+
combo.push('http://www.w3.org/ns/auth/acl#' + y[i]);
|
|
321
434
|
}
|
|
322
|
-
|
|
323
|
-
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
combo.sort();
|
|
438
|
+
return combo.join('\n');
|
|
324
439
|
}
|
|
440
|
+
|
|
325
441
|
function ktToList(k) {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
442
|
+
var list = '';
|
|
443
|
+
var y = ['Read', 'Append', 'Write', 'Control'];
|
|
444
|
+
|
|
445
|
+
for (var i = 0; i < 4; i++) {
|
|
446
|
+
if (k & 1 << i) {
|
|
447
|
+
list += y[i];
|
|
332
448
|
}
|
|
333
|
-
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
return list;
|
|
334
452
|
}
|
|
453
|
+
|
|
335
454
|
function findAgent(uri, kb) {
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
455
|
+
var obj = (0, _rdflib.sym)(uri);
|
|
456
|
+
var types = kb.findTypeURIs(obj);
|
|
457
|
+
|
|
458
|
+
for (var ty in types) {
|
|
459
|
+
debug.log(' drop object type includes: ' + ty);
|
|
460
|
+
} // An Origin URI is one like https://fred.github.io eith no trailing slash
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
if (uri.startsWith('http') && uri.split('/').length === 3) {
|
|
464
|
+
// there is no third slash
|
|
465
|
+
return {
|
|
466
|
+
pred: 'origin',
|
|
467
|
+
obj: obj
|
|
468
|
+
}; // The only way to know an origin alas
|
|
469
|
+
} // @@ This is an almighty kludge needed because drag and drop adds extra slashes to origins
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
if (uri.startsWith('http') && uri.split('/').length === 4 && uri.endsWith('/')) {
|
|
473
|
+
// there IS third slash
|
|
474
|
+
debug.log('Assuming final slash on dragged origin URI was unintended!');
|
|
475
|
+
return {
|
|
476
|
+
pred: 'origin',
|
|
477
|
+
obj: (0, _rdflib.sym)(uri.slice(0, -1))
|
|
478
|
+
}; // Fix a URI where the drag and drop system has added a spurious slash
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
if (ns.vcard('WebID').uri in types) return {
|
|
482
|
+
pred: 'agent',
|
|
483
|
+
obj: obj
|
|
484
|
+
};
|
|
485
|
+
|
|
486
|
+
if (ns.vcard('Group').uri in types) {
|
|
487
|
+
return {
|
|
488
|
+
pred: 'agentGroup',
|
|
489
|
+
obj: obj
|
|
490
|
+
}; // @@ note vcard membership not RDFs
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
if (obj.sameTerm(ns.foaf('Agent')) || obj.sameTerm(ns.acl('AuthenticatedAgent')) || // AuthenticatedAgent
|
|
494
|
+
obj.sameTerm(ns.rdf('Resource')) || obj.sameTerm(ns.owl('Thing'))) {
|
|
495
|
+
return {
|
|
496
|
+
pred: 'agentClass',
|
|
497
|
+
obj: obj
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
if (ns.vcard('Individual').uri in types || ns.foaf('Person').uri in types || ns.foaf('Agent').uri in types) {
|
|
502
|
+
var pref = kb.any(obj, ns.foaf('preferredURI'));
|
|
503
|
+
if (pref) return {
|
|
504
|
+
pred: 'agent',
|
|
505
|
+
obj: (0, _rdflib.sym)(pref)
|
|
506
|
+
};
|
|
507
|
+
return {
|
|
508
|
+
pred: 'agent',
|
|
509
|
+
obj: obj
|
|
510
|
+
};
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
if (ns.solid('AppProvider').uri in types) {
|
|
514
|
+
return {
|
|
515
|
+
pred: 'origin',
|
|
516
|
+
obj: obj
|
|
517
|
+
};
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
if (ns.solid('AppProviderClass').uri in types) {
|
|
521
|
+
return {
|
|
522
|
+
pred: 'originClass',
|
|
523
|
+
obj: obj
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
debug.log(' Triage fails for ' + uri);
|
|
528
|
+
return null;
|
|
381
529
|
}
|
|
382
530
|
//# sourceMappingURL=access-groups.js.map
|