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.
Files changed (257) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/lib/acl/access-controller.d.ts +0 -0
  4. package/lib/acl/access-controller.d.ts.map +0 -0
  5. package/lib/acl/access-controller.js +441 -334
  6. package/lib/acl/access-controller.js.map +1 -1
  7. package/lib/acl/access-groups.d.ts +1 -2
  8. package/lib/acl/access-groups.d.ts.map +1 -1
  9. package/lib/acl/access-groups.js +495 -347
  10. package/lib/acl/access-groups.js.map +1 -1
  11. package/lib/acl/acl-control.d.ts +0 -0
  12. package/lib/acl/acl-control.d.ts.map +0 -0
  13. package/lib/acl/acl-control.js +198 -168
  14. package/lib/acl/acl-control.js.map +1 -1
  15. package/lib/acl/acl.d.ts +1 -2
  16. package/lib/acl/acl.d.ts.map +1 -1
  17. package/lib/acl/acl.js +463 -444
  18. package/lib/acl/acl.js.map +1 -1
  19. package/lib/acl/add-agent-buttons.d.ts +0 -0
  20. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  21. package/lib/acl/add-agent-buttons.js +515 -318
  22. package/lib/acl/add-agent-buttons.js.map +1 -1
  23. package/lib/acl/index.d.ts +0 -0
  24. package/lib/acl/index.d.ts.map +0 -0
  25. package/lib/acl/index.js +35 -27
  26. package/lib/acl/index.js.map +1 -1
  27. package/lib/acl/styles.d.ts +0 -0
  28. package/lib/acl/styles.d.ts.map +0 -0
  29. package/lib/acl/styles.js +90 -84
  30. package/lib/acl/styles.js.map +1 -1
  31. package/lib/acl/types.d.ts +0 -0
  32. package/lib/acl/types.d.ts.map +0 -0
  33. package/lib/acl/types.js +4 -5
  34. package/lib/acl/types.js.map +1 -1
  35. package/lib/authn/authSession.d.ts +0 -0
  36. package/lib/authn/authSession.d.ts.map +0 -0
  37. package/lib/authn/authSession.js +21 -14
  38. package/lib/authn/authSession.js.map +1 -1
  39. package/lib/authn/authn.d.ts +0 -0
  40. package/lib/authn/authn.d.ts.map +0 -0
  41. package/lib/authn/authn.js +1935 -1391
  42. package/lib/authn/authn.js.map +1 -1
  43. package/lib/authn/config-default.js +0 -0
  44. package/lib/authn/config-default.js.map +0 -0
  45. package/lib/authn/index.d.ts +0 -0
  46. package/lib/authn/index.d.ts.map +0 -0
  47. package/lib/authn/index.js +37 -26
  48. package/lib/authn/index.js.map +1 -1
  49. package/lib/authn/signup.js +0 -0
  50. package/lib/authn/signup.js.map +0 -0
  51. package/lib/authn/types.d.ts +0 -0
  52. package/lib/authn/types.d.ts.map +0 -0
  53. package/lib/authn/types.js +4 -1
  54. package/lib/authn/types.js.map +1 -1
  55. package/lib/chat/bookmarks.js +0 -0
  56. package/lib/chat/bookmarks.js.map +0 -0
  57. package/lib/chat/dateFolder.js +0 -0
  58. package/lib/chat/dateFolder.js.map +0 -0
  59. package/lib/chat/infinite.js +0 -0
  60. package/lib/chat/infinite.js.map +0 -0
  61. package/lib/chat/message.js +0 -0
  62. package/lib/chat/message.js.map +0 -0
  63. package/lib/chat/messageTools.js +0 -0
  64. package/lib/chat/messageTools.js.map +0 -0
  65. package/lib/chat/thread.js +0 -0
  66. package/lib/chat/thread.js.map +0 -0
  67. package/lib/create/create.d.ts +0 -0
  68. package/lib/create/create.d.ts.map +0 -0
  69. package/lib/create/create.js +214 -209
  70. package/lib/create/create.js.map +1 -1
  71. package/lib/create/index.d.ts +0 -0
  72. package/lib/create/index.d.ts.map +0 -0
  73. package/lib/create/index.js +10 -4
  74. package/lib/create/index.js.map +1 -1
  75. package/lib/create/types.d.ts +0 -0
  76. package/lib/create/types.d.ts.map +0 -0
  77. package/lib/create/types.js +4 -1
  78. package/lib/create/types.js.map +1 -1
  79. package/lib/debug.d.ts +0 -0
  80. package/lib/debug.d.ts.map +0 -0
  81. package/lib/debug.js +28 -30
  82. package/lib/debug.js.map +1 -1
  83. package/lib/folders.js +0 -0
  84. package/lib/folders.js.map +0 -0
  85. package/lib/footer/index.d.ts +0 -0
  86. package/lib/footer/index.d.ts.map +0 -0
  87. package/lib/footer/index.js +126 -109
  88. package/lib/footer/index.js.map +1 -1
  89. package/lib/footer/styleMap.d.ts +0 -0
  90. package/lib/footer/styleMap.d.ts.map +0 -0
  91. package/lib/footer/styleMap.js +11 -7
  92. package/lib/footer/styleMap.js.map +1 -1
  93. package/lib/header/empty-profile.d.ts +0 -0
  94. package/lib/header/empty-profile.d.ts.map +0 -0
  95. package/lib/header/empty-profile.js +6 -2
  96. package/lib/header/empty-profile.js.map +1 -1
  97. package/lib/header/index.d.ts +0 -0
  98. package/lib/header/index.d.ts.map +0 -0
  99. package/lib/header/index.js +361 -285
  100. package/lib/header/index.js.map +1 -1
  101. package/lib/header/styleMap.d.ts +0 -0
  102. package/lib/header/styleMap.d.ts.map +0 -0
  103. package/lib/header/styleMap.js +132 -116
  104. package/lib/header/styleMap.js.map +1 -1
  105. package/lib/iconBase.d.ts +0 -0
  106. package/lib/iconBase.d.ts.map +0 -0
  107. package/lib/iconBase.js +30 -23
  108. package/lib/iconBase.js.map +1 -1
  109. package/lib/icons/solid_logo.d.ts +0 -0
  110. package/lib/icons/solid_logo.d.ts.map +0 -0
  111. package/lib/icons/solid_logo.js +0 -0
  112. package/lib/icons/solid_logo.js.map +1 -1
  113. package/lib/index.d.ts +1 -1
  114. package/lib/index.d.ts.map +1 -1
  115. package/lib/index.js +207 -103
  116. package/lib/index.js.map +1 -1
  117. package/lib/jss/index.d.ts +0 -0
  118. package/lib/jss/index.d.ts.map +0 -0
  119. package/lib/jss/index.js +30 -21
  120. package/lib/jss/index.js.map +1 -1
  121. package/lib/log.d.ts +0 -0
  122. package/lib/log.d.ts.map +0 -0
  123. package/lib/log.js +131 -83
  124. package/lib/log.js.map +1 -1
  125. package/lib/logic.d.ts +2 -2
  126. package/lib/logic.d.ts.map +1 -1
  127. package/lib/logic.js +73 -82
  128. package/lib/logic.js.map +1 -1
  129. package/lib/matrix/index.d.ts +0 -0
  130. package/lib/matrix/index.d.ts.map +0 -0
  131. package/lib/matrix/index.js +10 -4
  132. package/lib/matrix/index.js.map +1 -1
  133. package/lib/matrix/matrix.d.ts +0 -0
  134. package/lib/matrix/matrix.d.ts.map +0 -0
  135. package/lib/matrix/matrix.js +237 -210
  136. package/lib/matrix/matrix.js.map +1 -1
  137. package/lib/matrix/types.d.ts +0 -0
  138. package/lib/matrix/types.d.ts.map +0 -0
  139. package/lib/matrix/types.js +4 -1
  140. package/lib/matrix/types.js.map +1 -1
  141. package/lib/media/index.d.ts +0 -0
  142. package/lib/media/index.d.ts.map +0 -0
  143. package/lib/media/index.js +11 -5
  144. package/lib/media/index.js.map +1 -1
  145. package/lib/media/media-capture.d.ts +0 -0
  146. package/lib/media/media-capture.d.ts.map +0 -0
  147. package/lib/media/media-capture.js +181 -187
  148. package/lib/media/media-capture.js.map +1 -1
  149. package/lib/messageArea.js +0 -0
  150. package/lib/messageArea.js.map +0 -0
  151. package/lib/noun_Camera_1618446_000000.js +0 -0
  152. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  153. package/lib/ns.js +0 -0
  154. package/lib/ns.js.map +0 -0
  155. package/lib/pad.d.ts +0 -0
  156. package/lib/pad.d.ts.map +0 -0
  157. package/lib/pad.js +954 -794
  158. package/lib/pad.js.map +1 -1
  159. package/lib/participation.d.ts +0 -0
  160. package/lib/participation.d.ts.map +0 -0
  161. package/lib/participation.js +199 -170
  162. package/lib/participation.js.map +1 -1
  163. package/lib/preferences.js +0 -0
  164. package/lib/preferences.js.map +0 -0
  165. package/lib/stories/decorators.js +0 -0
  166. package/lib/stories/decorators.js.map +0 -0
  167. package/lib/style.js +0 -0
  168. package/lib/style.js.map +0 -0
  169. package/lib/table.js +0 -0
  170. package/lib/table.js.map +0 -0
  171. package/lib/tabs.d.ts +0 -0
  172. package/lib/tabs.d.ts.map +0 -0
  173. package/lib/tabs.js +342 -235
  174. package/lib/tabs.js.map +1 -1
  175. package/lib/typings.d.js +0 -0
  176. package/lib/typings.d.js.map +0 -0
  177. package/lib/utils/headerFooterHelpers.d.ts +0 -0
  178. package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
  179. package/lib/utils/headerFooterHelpers.js +155 -130
  180. package/lib/utils/headerFooterHelpers.js.map +1 -1
  181. package/lib/utils/index.js +0 -0
  182. package/lib/utils/index.js.map +0 -0
  183. package/lib/utils/label.d.ts +0 -0
  184. package/lib/utils/label.d.ts.map +0 -0
  185. package/lib/utils/label.js +113 -121
  186. package/lib/utils/label.js.map +1 -1
  187. package/lib/versionInfo.d.ts +0 -0
  188. package/lib/versionInfo.d.ts.map +0 -0
  189. package/lib/versionInfo.js +28 -23
  190. package/lib/versionInfo.js.map +1 -1
  191. package/lib/webpack-bundle.js +264 -175
  192. package/lib/webpack-bundle.js.map +1 -1
  193. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  194. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  195. package/lib/widgets/buttons/iconLinks.js +30 -19
  196. package/lib/widgets/buttons/iconLinks.js.map +1 -1
  197. package/lib/widgets/buttons.d.ts +0 -0
  198. package/lib/widgets/buttons.d.ts.map +0 -0
  199. package/lib/widgets/buttons.js +1113 -935
  200. package/lib/widgets/buttons.js.map +1 -1
  201. package/lib/widgets/dragAndDrop.js +0 -0
  202. package/lib/widgets/dragAndDrop.js.map +0 -0
  203. package/lib/widgets/error.d.ts +0 -0
  204. package/lib/widgets/error.d.ts.map +0 -0
  205. package/lib/widgets/error.js +24 -18
  206. package/lib/widgets/error.js.map +1 -1
  207. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  208. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  209. package/lib/widgets/forms/autocomplete/autocompleteBar.js +325 -234
  210. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  211. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  212. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  213. package/lib/widgets/forms/autocomplete/autocompleteField.js +280 -246
  214. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  215. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  216. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  217. package/lib/widgets/forms/autocomplete/autocompletePicker.js +497 -317
  218. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  219. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  220. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  221. package/lib/widgets/forms/autocomplete/language.js +214 -159
  222. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  223. package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
  224. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  225. package/lib/widgets/forms/autocomplete/publicData.js +725 -485
  226. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  227. package/lib/widgets/forms/basic.d.ts +0 -0
  228. package/lib/widgets/forms/basic.d.ts.map +0 -0
  229. package/lib/widgets/forms/basic.js +239 -208
  230. package/lib/widgets/forms/basic.js.map +1 -1
  231. package/lib/widgets/forms/comment.d.ts +0 -0
  232. package/lib/widgets/forms/comment.d.ts.map +0 -0
  233. package/lib/widgets/forms/comment.js +48 -48
  234. package/lib/widgets/forms/comment.js.map +1 -1
  235. package/lib/widgets/forms/fieldFunction.d.ts +0 -0
  236. package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
  237. package/lib/widgets/forms/fieldFunction.js +50 -31
  238. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  239. package/lib/widgets/forms/fieldParams.d.ts +0 -0
  240. package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
  241. package/lib/widgets/forms/fieldParams.js +81 -102
  242. package/lib/widgets/forms/fieldParams.js.map +1 -1
  243. package/lib/widgets/forms/formStyle.d.ts +0 -0
  244. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  245. package/lib/widgets/forms/formStyle.js +50 -52
  246. package/lib/widgets/forms/formStyle.js.map +1 -1
  247. package/lib/widgets/forms.js +0 -0
  248. package/lib/widgets/forms.js.map +0 -0
  249. package/lib/widgets/index.js +0 -0
  250. package/lib/widgets/index.js.map +0 -0
  251. package/lib/widgets/peoplePicker.js +0 -0
  252. package/lib/widgets/peoplePicker.js.map +0 -0
  253. package/lib/widgets/widgetHelpers.d.ts +0 -0
  254. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  255. package/lib/widgets/widgetHelpers.js +30 -18
  256. package/lib/widgets/widgetHelpers.js.map +1 -1
  257. package/package.json +7 -7
@@ -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
- 13: 'Owners',
73
- 9: 'Owners (write locked)',
74
- 5: 'Editors',
75
- 3: 'Posters',
76
- 2: 'Submitters',
77
- 1: 'Viewers'
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
- 13: true,
81
- 5: true,
82
- 3: true,
83
- 2: true,
84
- 1: true
55
+ 13: true,
56
+ 5: true,
57
+ 3: true,
58
+ 2: true,
59
+ 1: true
85
60
  };
86
61
  var EXPLANATION = {
87
- 13: 'can read, write, and control sharing.',
88
- 9: 'can read and control sharing, currently write-locked.',
89
- 5: 'can read and change information',
90
- 3: 'can add new information, and read but not change existing information',
91
- 2: 'can add new information but not read any',
92
- 1: 'can read but not change information'
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 = /** @class */ (function () {
99
- function AccessGroups(doc, aclDoc, controller, store, options) {
100
- if (options === void 0) { options = {}; }
101
- this.doc = doc;
102
- this.aclDoc = aclDoc;
103
- this.controller = controller;
104
- this.options = options;
105
- this.defaults = options.defaults || false;
106
- (0, rdflib_1.fetcher)(store, {});
107
- // The store will already have an updater at this point:
108
- // store.updater = new UpdateManager(store)
109
- this._store = store; // TODO hacky, find a better solution
110
- this.aclMap = (0, acl_1.readACL)(doc, aclDoc, store, this.defaults);
111
- this.byCombo = (0, acl_1.ACLbyCombination)(this.aclMap);
112
- this.addAgentButton = new add_agent_buttons_1.AddAgentButtons(this);
113
- this.rootElement = this.controller.dom.createElement('div');
114
- this.rootElement.classList.add(this.controller.classes.accessGroupList);
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
- Object.defineProperty(AccessGroups.prototype, "store", {
117
- get: function () {
118
- return this._store;
119
- },
120
- set: function (store) {
121
- this._store = store;
122
- this.aclMap = (0, acl_1.readACL)(this.doc, this.aclDoc, store, this.defaults);
123
- this.byCombo = (0, acl_1.ACLbyCombination)(this.aclMap);
124
- },
125
- enumerable: false,
126
- configurable: true
127
- });
128
- AccessGroups.prototype.render = function () {
129
- var _this = this;
130
- this.rootElement.innerHTML = '';
131
- this.renderGroups().forEach(function (group) { return _this.rootElement.appendChild(group); });
132
- if (this.controller.isEditable) {
133
- this.rootElement.appendChild(this.addAgentButton.render());
134
- }
135
- return this.rootElement;
136
- };
137
- AccessGroups.prototype.renderGroups = function () {
138
- var groupElements = [];
139
- for (var comboIndex = 15; comboIndex > 0; comboIndex--) {
140
- var combo = kToCombo(comboIndex);
141
- if ((this.controller.isEditable && RECOMMENDED[comboIndex]) || this.byCombo[combo]) {
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
- return groupElements;
146
- };
147
- AccessGroups.prototype.renderGroup = function (comboIndex, combo) {
148
- var _this = this;
149
- var groupRow = this.controller.dom.createElement('div');
150
- groupRow.classList.add(this.controller.classes.accessGroupListItem);
151
- widgets.makeDropTarget(groupRow, function (uris) { return _this.handleDroppedUris(uris, combo)
152
- .then(function () { return _this.controller.render(); })
153
- .catch(function (error) { return _this.controller.renderStatus(error); }); });
154
- var groupColumns = this.renderGroupElements(comboIndex, combo);
155
- groupColumns.forEach(function (column) { return groupRow.appendChild(column); });
156
- return groupRow;
157
- };
158
- AccessGroups.prototype.renderGroupElements = function (comboIndex, combo) {
159
- var _this = this;
160
- var groupNameColumn = this.controller.dom.createElement('div');
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
- AccessGroups.prototype.handleDroppedUris = function (uris, combo) {
230
- return __awaiter(this, void 0, void 0, function () {
231
- var error_1;
232
- var _this = this;
233
- return __generator(this, function (_a) {
234
- switch (_a.label) {
235
- case 0:
236
- _a.trys.push([0, 3, , 4]);
237
- return [4 /*yield*/, Promise.all(uris.map(function (uri) { return _this.handleDroppedUri(uri, combo); }))];
238
- case 1:
239
- _a.sent();
240
- return [4 /*yield*/, this.controller.save()];
241
- case 2:
242
- _a.sent();
243
- return [3 /*break*/, 4];
244
- case 3:
245
- error_1 = _a.sent();
246
- return [2 /*return*/, Promise.reject(error_1)];
247
- case 4: return [2 /*return*/];
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
- AccessGroups.prototype.handleDroppedUri = function (uri, combo, secondAttempt) {
253
- if (secondAttempt === void 0) { secondAttempt = false; }
254
- return __awaiter(this, void 0, void 0, function () {
255
- var agent, thing, error_2, message, error;
256
- return __generator(this, function (_a) {
257
- switch (_a.label) {
258
- case 0:
259
- agent = findAgent(uri, this.store) // eg 'agent', 'origin', agentClass'
260
- ;
261
- thing = (0, rdflib_1.sym)(uri);
262
- if (!(!agent && !secondAttempt)) return [3 /*break*/, 5];
263
- debug.log(" Not obvious: looking up dropped thing ".concat(thing));
264
- _a.label = 1;
265
- case 1:
266
- _a.trys.push([1, 3, , 4]);
267
- return [4 /*yield*/, this._store.fetcher.load(thing.doc())];
268
- case 2:
269
- _a.sent();
270
- return [3 /*break*/, 4];
271
- case 3:
272
- error_2 = _a.sent();
273
- message = "Ignore error looking up dropped thing: ".concat(error_2);
274
- debug.error(message);
275
- return [2 /*return*/, Promise.reject(new Error(message))];
276
- case 4: return [2 /*return*/, this.handleDroppedUri(uri, combo, true)];
277
- case 5:
278
- if (!agent) {
279
- error = " Error: Drop fails to drop appropriate thing! ".concat(uri);
280
- debug.error(error);
281
- return [2 /*return*/, Promise.reject(new Error(error))];
282
- }
283
- _a.label = 6;
284
- case 6:
285
- this.setACLCombo(combo, uri, agent, this.controller.subject);
286
- return [2 /*return*/];
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
- AccessGroups.prototype.setACLCombo = function (combo, uri, res, subject) {
292
- if (!(combo in this.byCombo)) {
293
- this.byCombo[combo] = [];
294
- }
295
- this.removeAgentFromCombos(uri); // Combos are mutually distinct
296
- this.byCombo[combo].push([res.pred, res.obj.uri]);
297
- debug.log("ACL: setting access to ".concat(subject, " by ").concat(res.pred, ": ").concat(res.obj));
298
- };
299
- AccessGroups.prototype.removeAgentFromCombos = function (uri) {
300
- for (var k = 0; k < 16; k++) {
301
- var combos = this.byCombo[kToCombo(k)];
302
- if (combos) {
303
- for (var i = 0; i < combos.length; i++) {
304
- while (i < combos.length && combos[i][1] === uri) {
305
- combos.splice(i, 1);
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
- return AccessGroups;
312
- }());
419
+ }
420
+ }
421
+ }]);
422
+ return AccessGroups;
423
+ }();
424
+
313
425
  exports.AccessGroups = AccessGroups;
426
+
314
427
  function kToCombo(k) {
315
- var y = ['Read', 'Append', 'Write', 'Control'];
316
- var combo = [];
317
- for (var i = 0; i < 4; i++) {
318
- if (k & (1 << i)) {
319
- combo.push('http://www.w3.org/ns/auth/acl#' + y[i]);
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
- combo.sort();
323
- return combo.join('\n');
435
+ }
436
+
437
+ combo.sort();
438
+ return combo.join('\n');
324
439
  }
440
+
325
441
  function ktToList(k) {
326
- var list = '';
327
- var y = ['Read', 'Append', 'Write', 'Control'];
328
- for (var i = 0; i < 4; i++) {
329
- if (k & (1 << i)) {
330
- list += y[i];
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
- return list;
449
+ }
450
+
451
+ return list;
334
452
  }
453
+
335
454
  function findAgent(uri, kb) {
336
- var obj = (0, rdflib_1.sym)(uri);
337
- var types = kb.findTypeURIs(obj);
338
- for (var ty in types) {
339
- debug.log(' drop object type includes: ' + ty);
340
- }
341
- // An Origin URI is one like https://fred.github.io eith no trailing slash
342
- if (uri.startsWith('http') && uri.split('/').length === 3) {
343
- // there is no third slash
344
- return { pred: 'origin', obj: obj }; // The only way to know an origin alas
345
- }
346
- // @@ This is an almighty kludge needed because drag and drop adds extra slashes to origins
347
- if (uri.startsWith('http') &&
348
- uri.split('/').length === 4 &&
349
- uri.endsWith('/')) {
350
- // there IS third slash
351
- debug.log('Assuming final slash on dragged origin URI was unintended!');
352
- return { pred: 'origin', obj: (0, rdflib_1.sym)(uri.slice(0, -1)) }; // Fix a URI where the drag and drop system has added a spurious slash
353
- }
354
- if (ns.vcard('WebID').uri in types)
355
- return { pred: 'agent', obj: obj };
356
- if (ns.vcard('Group').uri in types) {
357
- return { pred: 'agentGroup', obj: obj }; // @@ note vcard membership not RDFs
358
- }
359
- if (obj.sameTerm(ns.foaf('Agent')) ||
360
- obj.sameTerm(ns.acl('AuthenticatedAgent')) || // AuthenticatedAgent
361
- obj.sameTerm(ns.rdf('Resource')) ||
362
- obj.sameTerm(ns.owl('Thing'))) {
363
- return { pred: 'agentClass', obj: obj };
364
- }
365
- if (ns.vcard('Individual').uri in types ||
366
- ns.foaf('Person').uri in types ||
367
- ns.foaf('Agent').uri in types) {
368
- var pref = kb.any(obj, ns.foaf('preferredURI'));
369
- if (pref)
370
- return { pred: 'agent', obj: (0, rdflib_1.sym)(pref) };
371
- return { pred: 'agent', obj: obj };
372
- }
373
- if (ns.solid('AppProvider').uri in types) {
374
- return { pred: 'origin', obj: obj };
375
- }
376
- if (ns.solid('AppProviderClass').uri in types) {
377
- return { pred: 'originClass', obj: obj };
378
- }
379
- debug.log(' Triage fails for ' + uri);
380
- return null;
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