solid-ui 2.4.27 → 2.4.28

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 (91) hide show
  1. package/README.md +6 -1
  2. package/dist/670.solid-ui.min.js +1 -0
  3. package/dist/805.solid-ui.min.js +3 -0
  4. package/dist/805.solid-ui.min.js.LICENSE.txt +58 -0
  5. package/dist/805.solid-ui.min.js.map +1 -0
  6. package/dist/_2b19.solid-ui.js +14 -0
  7. package/dist/_2b19.solid-ui.js.map +1 -0
  8. package/dist/index.html +1 -9
  9. package/dist/{main.js → solid-ui.js} +7906 -20465
  10. package/dist/solid-ui.js.map +1 -0
  11. package/dist/solid-ui.min.js +3 -0
  12. package/dist/solid-ui.min.js.LICENSE.txt +54 -0
  13. package/dist/solid-ui.min.js.map +1 -0
  14. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +12134 -0
  15. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -0
  16. package/lib/acl/access-controller.d.ts +2 -3
  17. package/lib/acl/access-controller.d.ts.map +1 -1
  18. package/lib/acl/access-controller.js +17 -15
  19. package/lib/acl/access-controller.js.map +1 -1
  20. package/lib/acl/access-groups.d.ts.map +1 -1
  21. package/lib/acl/access-groups.js +78 -8
  22. package/lib/acl/access-groups.js.map +1 -1
  23. package/lib/acl/acl-control.d.ts.map +1 -1
  24. package/lib/acl/acl-control.js +10 -11
  25. package/lib/acl/acl-control.js.map +1 -1
  26. package/lib/acl/acl.d.ts +1 -1
  27. package/lib/acl/acl.js +1 -1
  28. package/lib/acl/acl.js.map +1 -1
  29. package/lib/acl/add-agent-buttons.d.ts.map +1 -1
  30. package/lib/acl/add-agent-buttons.js +4 -3
  31. package/lib/acl/add-agent-buttons.js.map +1 -1
  32. package/lib/chat/chatLogic.js +63 -26
  33. package/lib/chat/chatLogic.js.map +1 -1
  34. package/lib/chat/keys.d.ts +13 -0
  35. package/lib/chat/keys.d.ts.map +1 -0
  36. package/lib/chat/keys.js +233 -0
  37. package/lib/chat/keys.js.map +1 -0
  38. package/lib/chat/message.js +67 -8
  39. package/lib/chat/message.js.map +1 -1
  40. package/lib/chat/signature.d.ts +24 -0
  41. package/lib/chat/signature.d.ts.map +1 -0
  42. package/lib/chat/signature.js +112 -0
  43. package/lib/chat/signature.js.map +1 -0
  44. package/lib/footer/index.d.ts.map +1 -1
  45. package/lib/footer/index.js +5 -1
  46. package/lib/footer/index.js.map +1 -1
  47. package/lib/header/index.d.ts.map +1 -1
  48. package/lib/header/index.js +41 -20
  49. package/lib/header/index.js.map +1 -1
  50. package/lib/login/login.d.ts.map +1 -1
  51. package/lib/login/login.js +39 -37
  52. package/lib/login/login.js.map +1 -1
  53. package/lib/style.js +60 -2
  54. package/lib/style.js.map +1 -1
  55. package/lib/utils/headerFooterHelpers.d.ts +0 -4
  56. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  57. package/lib/utils/headerFooterHelpers.js +0 -27
  58. package/lib/utils/headerFooterHelpers.js.map +1 -1
  59. package/lib/utils/keyHelpers/accessData.d.ts +10 -0
  60. package/lib/utils/keyHelpers/accessData.d.ts.map +1 -0
  61. package/lib/utils/keyHelpers/accessData.js +232 -0
  62. package/lib/utils/keyHelpers/accessData.js.map +1 -0
  63. package/lib/utils/keyHelpers/acl.d.ts +20 -0
  64. package/lib/utils/keyHelpers/acl.d.ts.map +1 -0
  65. package/lib/utils/keyHelpers/acl.js +93 -0
  66. package/lib/utils/keyHelpers/acl.js.map +1 -0
  67. package/lib/versionInfo.js +6 -6
  68. package/lib/versionInfo.js.map +1 -1
  69. package/lib/widgets/buttons.d.ts.map +1 -1
  70. package/lib/widgets/buttons.js +43 -49
  71. package/lib/widgets/buttons.js.map +1 -1
  72. package/lib/widgets/forms.js +8 -4
  73. package/lib/widgets/forms.js.map +1 -1
  74. package/package.json +13 -10
  75. package/dist/main.js.map +0 -1
  76. package/lib/acl/styles.d.ts +0 -90
  77. package/lib/acl/styles.d.ts.map +0 -1
  78. package/lib/acl/styles.js +0 -98
  79. package/lib/acl/styles.js.map +0 -1
  80. package/lib/footer/styleMap.d.ts +0 -8
  81. package/lib/footer/styleMap.d.ts.map +0 -1
  82. package/lib/footer/styleMap.js +0 -15
  83. package/lib/footer/styleMap.js.map +0 -1
  84. package/lib/header/styleMap.d.ts +0 -117
  85. package/lib/header/styleMap.d.ts.map +0 -1
  86. package/lib/header/styleMap.js +0 -139
  87. package/lib/header/styleMap.js.map +0 -1
  88. package/lib/jss/index.d.ts +0 -20
  89. package/lib/jss/index.d.ts.map +0 -1
  90. package/lib/jss/index.js +0 -47
  91. package/lib/jss/index.js.map +0 -1
@@ -13,7 +13,6 @@ export declare class AccessController {
13
13
  noun: string;
14
14
  context: DataBrowserContext;
15
15
  private statusElement;
16
- classes: Record<string, string>;
17
16
  targetIsProtected: boolean;
18
17
  private targetDoc;
19
18
  private targetACLDoc;
@@ -21,14 +20,14 @@ export declare class AccessController {
21
20
  private defaultACLDoc;
22
21
  private prospectiveDefaultHolder;
23
22
  store: any;
24
- dom: any;
23
+ dom: HTMLDocument;
25
24
  mainCombo: AccessGroups;
26
25
  defaultsCombo: AccessGroups | null;
27
26
  private readonly isContainer;
28
27
  private defaultsDiffer;
29
28
  private readonly rootElement;
30
29
  private isUsingDefaults;
31
- constructor(subject: NamedNode, noun: string, context: DataBrowserContext, statusElement: HTMLElement, classes: Record<string, string>, targetIsProtected: boolean, targetDoc: NamedNode, targetACLDoc: NamedNode, defaultHolder: NamedNode | null, defaultACLDoc: NamedNode | null, prospectiveDefaultHolder: NamedNode | undefined, store: any, dom: any);
30
+ constructor(subject: NamedNode, noun: string, context: DataBrowserContext, statusElement: HTMLElement, targetIsProtected: boolean, targetDoc: NamedNode, targetACLDoc: NamedNode, defaultHolder: NamedNode | null, defaultACLDoc: NamedNode | null, prospectiveDefaultHolder: NamedNode | undefined, store: any, dom: HTMLDocument);
32
31
  get isEditable(): boolean;
33
32
  render(): HTMLElement;
34
33
  private renderRemoveAclsController;
@@ -1 +1 @@
1
- {"version":3,"file":"access-controller.d.ts","sourceRoot":"","sources":["../../src/acl/access-controller.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAkB,SAAS,EAAiB,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAKlD;;GAEG;AACH,qBAAa,gBAAgB;IASlB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,kBAAkB;IAClC,OAAO,CAAC,aAAa;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,OAAO;IACjC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,wBAAwB;IACzB,KAAK;IACL,GAAG;IApBL,SAAS,EAAE,YAAY,CAAA;IACvB,aAAa,EAAE,YAAY,GAAG,IAAI,CAAA;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,eAAe,CAAS;gBAGvB,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAC1B,aAAa,EAAE,WAAW,EAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,iBAAiB,EAAE,OAAO,EACzB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,wBAAwB,EAAE,SAAS,GAAG,SAAS,EAChD,KAAK,KAAA,EACL,GAAG,KAAA;IAmBZ,IAAW,UAAU,IAAK,OAAO,CAEhC;IAEM,MAAM,IAAK,WAAW;IA6B7B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,8BAA8B;IAiB/B,qBAAqB,CAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAa7C,YAAY,CAAE,OAAO,EAAE,MAAM,GAAG,IAAI;YAM7B,OAAO;YAmBP,WAAW;YAKX,UAAU;YAiBV,cAAc;IAcrB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CA0C9B"}
1
+ {"version":3,"file":"access-controller.d.ts","sourceRoot":"","sources":["../../src/acl/access-controller.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAkB,SAAS,EAAiB,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAMlD;;GAEG;AACH,qBAAa,gBAAgB;IASlB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,kBAAkB;IAClC,OAAO,CAAC,aAAa;IACd,iBAAiB,EAAE,OAAO;IACjC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,wBAAwB;IACzB,KAAK;IACL,GAAG,EAAE,YAAY;IAnBnB,SAAS,EAAE,YAAY,CAAA;IACvB,aAAa,EAAE,YAAY,GAAG,IAAI,CAAA;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,eAAe,CAAS;gBAGvB,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAC1B,aAAa,EAAE,WAAW,EAC3B,iBAAiB,EAAE,OAAO,EACzB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,wBAAwB,EAAE,SAAS,GAAG,SAAS,EAChD,KAAK,KAAA,EACL,GAAG,EAAE,YAAY;IAmB1B,IAAW,UAAU,IAAK,OAAO,CAEhC;IAEM,MAAM,IAAK,WAAW;IA6B7B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,8BAA8B;IAiB/B,qBAAqB,CAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAa7C,YAAY,CAAE,OAAO,EAAE,MAAM,GAAG,IAAI;YAQ7B,OAAO;YAmBP,WAAW;YAKX,UAAU;YAiBV,cAAc;IAcrB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CA0C9B"}
@@ -17,6 +17,7 @@ var _accessGroups = require("./access-groups");
17
17
  var _aclControl = require("./acl-control");
18
18
  var utils = _interopRequireWildcard(require("../utils"));
19
19
  var debug = _interopRequireWildcard(require("../debug"));
20
+ var style = _interopRequireWildcard(require("../style"));
20
21
  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); }
21
22
  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; }
22
23
  /**
@@ -27,13 +28,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
27
28
  * Rendered HTML component used in the databrowser's Sharing pane.
28
29
  */
29
30
  var AccessController = /*#__PURE__*/function () {
30
- function AccessController(subject, noun, context, statusElement, classes, targetIsProtected, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc, prospectiveDefaultHolder, store, dom) {
31
+ function AccessController(subject, noun, context, statusElement, targetIsProtected, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc, prospectiveDefaultHolder, store, dom) {
31
32
  (0, _classCallCheck2["default"])(this, AccessController);
32
33
  this.subject = subject;
33
34
  this.noun = noun;
34
35
  this.context = context;
35
36
  this.statusElement = statusElement;
36
- this.classes = classes;
37
37
  this.targetIsProtected = targetIsProtected;
38
38
  this.targetDoc = targetDoc;
39
39
  this.targetACLDoc = targetACLDoc;
@@ -49,7 +49,7 @@ var AccessController = /*#__PURE__*/function () {
49
49
  (0, _defineProperty2["default"])(this, "rootElement", void 0);
50
50
  (0, _defineProperty2["default"])(this, "isUsingDefaults", void 0);
51
51
  this.rootElement = dom.createElement('div');
52
- this.rootElement.classList.add(classes.aclGroupContent);
52
+ this.rootElement.setAttribute('style', style.aclGroupContent);
53
53
  this.isContainer = targetDoc.uri.slice(-1) === '/'; // Give default for all directories
54
54
  if (defaultHolder && defaultACLDoc) {
55
55
  this.isUsingDefaults = true;
@@ -109,7 +109,7 @@ var AccessController = /*#__PURE__*/function () {
109
109
  var _this = this;
110
110
  var useDefaultButton = this.dom.createElement('button');
111
111
  useDefaultButton.innerText = "Remove custom sharing settings for this ".concat(this.noun, " -- just use default").concat(this.prospectiveDefaultHolder ? " for ".concat(utils.label(this.prospectiveDefaultHolder)) : '');
112
- useDefaultButton.classList.add(this.classes.bigButton);
112
+ useDefaultButton.setAttribute('style', style.bigButton);
113
113
  useDefaultButton.addEventListener('click', function () {
114
114
  return _this.removeAcls().then(function () {
115
115
  return _this.render();
@@ -125,7 +125,7 @@ var AccessController = /*#__PURE__*/function () {
125
125
  var _this2 = this;
126
126
  var addAclButton = this.dom.createElement('button');
127
127
  addAclButton.innerText = "Set specific sharing for this ".concat(this.noun);
128
- addAclButton.classList.add(this.classes.bigButton);
128
+ addAclButton.setAttribute('style', style.bigButton);
129
129
  addAclButton.addEventListener('click', function () {
130
130
  return _this2.addAcls().then(function () {
131
131
  return _this2.render();
@@ -140,13 +140,13 @@ var AccessController = /*#__PURE__*/function () {
140
140
  value: function renderAddDefaultsController() {
141
141
  var _this3 = this;
142
142
  var containerElement = this.dom.createElement('div');
143
- containerElement.classList.add(this.classes.defaultsController);
143
+ containerElement.setAttribute('style', style.defaultsController);
144
144
  var noticeElement = containerElement.appendChild(this.dom.createElement('div'));
145
145
  noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.';
146
- noticeElement.classList.add(this.classes.defaultsControllerNotice);
146
+ noticeElement.setAttribute('style', style.defaultsControllerNotice);
147
147
  var button = containerElement.appendChild(this.dom.createElement('button'));
148
148
  button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder';
149
- button.classList.add(this.classes.bigButton);
149
+ button.setAttribute('style', style.bigButton);
150
150
  button.addEventListener('click', function () {
151
151
  return _this3.addDefaults().then(function () {
152
152
  return _this3.render();
@@ -159,13 +159,13 @@ var AccessController = /*#__PURE__*/function () {
159
159
  value: function renderRemoveDefaultsController() {
160
160
  var _this4 = this;
161
161
  var containerElement = this.dom.createElement('div');
162
- containerElement.classList.add(this.classes.defaultsController);
162
+ containerElement.setAttribute('style', style.defaultsController);
163
163
  var noticeElement = containerElement.appendChild(this.dom.createElement('div'));
164
164
  noticeElement.innerText = 'Access to things within this folder:';
165
- noticeElement.classList.add(this.classes.defaultsControllerNotice);
165
+ noticeElement.setAttribute('style', style.defaultsControllerNotice);
166
166
  var button = containerElement.appendChild(this.dom.createElement('button'));
167
167
  button.innerText = 'Set default for folder contents to just track the sharing for the folder';
168
- button.classList.add(this.classes.bigButton);
168
+ button.setAttribute('style', style.bigButton);
169
169
  button.addEventListener('click', function () {
170
170
  return _this4.removeDefaults().then(function () {
171
171
  return _this4.render();
@@ -180,11 +180,11 @@ var AccessController = /*#__PURE__*/function () {
180
180
  value: function renderTemporaryStatus(message) {
181
181
  var _this5 = this;
182
182
  // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87
183
- this.statusElement.classList.add(this.classes.aclControlBoxStatusRevealed);
183
+ this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed);
184
184
  this.statusElement.innerText = message;
185
- this.statusElement.classList.add(this.classes.temporaryStatusInit);
185
+ this.statusElement.setAttribute('style', style.temporaryStatusInit);
186
186
  setTimeout(function () {
187
- _this5.statusElement.classList.add(_this5.classes.temporaryStatusEnd);
187
+ _this5.statusElement.setAttribute('style', style.temporaryStatusEnd);
188
188
  });
189
189
  setTimeout(function () {
190
190
  _this5.statusElement.innerText = '';
@@ -194,7 +194,9 @@ var AccessController = /*#__PURE__*/function () {
194
194
  key: "renderStatus",
195
195
  value: function renderStatus(message) {
196
196
  // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87
197
- this.statusElement.classList.toggle(this.classes.aclControlBoxStatusRevealed, !!message);
197
+ if (!message) {
198
+ this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed);
199
+ }
198
200
  this.statusElement.innerText = message;
199
201
  }
200
202
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"access-controller.js","names":["_acl","require","_rdflib","_accessGroups","_aclControl","utils","_interopRequireWildcard","debug","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AccessController","subject","noun","context","statusElement","classes","targetIsProtected","targetDoc","targetACLDoc","defaultHolder","defaultACLDoc","prospectiveDefaultHolder","store","dom","_classCallCheck2","_defineProperty2","rootElement","createElement","classList","add","aclGroupContent","isContainer","uri","slice","isUsingDefaults","aclDefaultStore","adoptACLDefault","mainCombo","AccessGroups","defaults","defaultsCombo","defaultsDiffer","sameACL","aclMap","_createClass2","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","toggle","_addAcls","_asyncToGenerator2","_regenerator","mark","_callee","_this6","aclGraph","_message","wrap","_callee$","_context","prev","next","abrupt","Promise","reject","statements","forEach","st","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","exports"],"sources":["../../src/acl/access-controller.ts"],"sourcesContent":["/**\n * Contains the [[AccessController]] class\n * @packageDocumentation\n */\n\nimport { adoptACLDefault, getProspectiveHolder, makeACLGraphbyCombo, sameACL } from './acl'\nimport { fetcher, graph, NamedNode, UpdateManager } from 'rdflib'\nimport { AccessGroups } from './access-groups'\nimport { DataBrowserContext } from 'pane-registry'\nimport { shortNameForFolder } from './acl-control'\nimport * as utils from '../utils'\nimport * as debug from '../debug'\n\n/**\n * Rendered HTML component used in the databrowser's Sharing pane.\n */\nexport class AccessController {\n public mainCombo: AccessGroups\n public defaultsCombo: AccessGroups | null\n private readonly isContainer: boolean\n private defaultsDiffer: boolean\n private readonly rootElement: HTMLElement\n private isUsingDefaults: boolean\n\n constructor (\n public subject: NamedNode,\n public noun: string,\n public context: DataBrowserContext,\n private statusElement: HTMLElement,\n public classes: Record<string, string>,\n public targetIsProtected: boolean,\n private targetDoc: NamedNode,\n private targetACLDoc: NamedNode,\n private defaultHolder: NamedNode | null,\n private defaultACLDoc: NamedNode | null,\n private prospectiveDefaultHolder: NamedNode | undefined,\n public store,\n public dom\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.classList.add(classes.aclGroupContent)\n this.isContainer = targetDoc.uri.slice(-1) === '/' // Give default for all directories\n if (defaultHolder && defaultACLDoc) {\n this.isUsingDefaults = true\n const aclDefaultStore = adoptACLDefault(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc)\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer })\n this.defaultsCombo = null\n this.defaultsDiffer = false\n } else {\n this.isUsingDefaults = false\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, store)\n this.defaultsCombo = new AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer })\n this.defaultsDiffer = !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n }\n }\n\n public get isEditable (): boolean {\n return !this.isUsingDefaults\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n if (this.isUsingDefaults) {\n this.renderStatus(`The sharing for this ${this.noun} is the default for folder `)\n if (this.defaultHolder) {\n const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'))\n defaultHolderLink.href = this.defaultHolder.uri\n defaultHolderLink.innerText = shortNameForFolder(this.defaultHolder)\n }\n } else if (!this.defaultsDiffer && this.isContainer) {\n this.renderStatus('This is also the default for things in this folder.')\n } else {\n this.renderStatus('')\n }\n this.rootElement.appendChild(this.mainCombo.render())\n if (this.defaultsCombo && this.defaultsDiffer) {\n this.rootElement.appendChild(this.renderRemoveDefaultsController())\n this.rootElement.appendChild(this.defaultsCombo.render())\n } else if (this.isEditable && this.isContainer) {\n this.rootElement.appendChild(this.renderAddDefaultsController())\n }\n if (!this.targetIsProtected && this.isUsingDefaults) {\n this.rootElement.appendChild(this.renderAddAclsController())\n } else if (!this.targetIsProtected) {\n this.rootElement.appendChild(this.renderRemoveAclsController())\n }\n return this.rootElement\n }\n\n private renderRemoveAclsController (): HTMLElement {\n const useDefaultButton = this.dom.createElement('button')\n useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`\n useDefaultButton.classList.add(this.classes.bigButton)\n useDefaultButton.addEventListener('click', () => this.removeAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return useDefaultButton\n }\n\n private renderAddAclsController (): HTMLElement {\n const addAclButton = this.dom.createElement('button')\n addAclButton.innerText = `Set specific sharing for this ${this.noun}`\n addAclButton.classList.add(this.classes.bigButton)\n addAclButton.addEventListener('click', () => this.addAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return addAclButton\n }\n\n private renderAddDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.classList.add(this.classes.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.'\n noticeElement.classList.add(this.classes.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder'\n button.classList.add(this.classes.bigButton)\n button.addEventListener('click', () => this.addDefaults()\n .then(() => this.render()))\n return containerElement\n }\n\n private renderRemoveDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.classList.add(this.classes.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.classList.add(this.classes.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set default for folder contents to just track the sharing for the folder'\n button.classList.add(this.classes.bigButton)\n button.addEventListener('click', () => this.removeDefaults()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return containerElement\n }\n\n public renderTemporaryStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.classList.add(this.classes.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.classList.add(this.classes.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.classList.add(this.classes.temporaryStatusEnd)\n })\n setTimeout(() => {\n this.statusElement.innerText = ''\n }, 5000)\n }\n\n public renderStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.classList.toggle(this.classes.aclControlBoxStatusRevealed, !!message)\n this.statusElement.innerText = message\n }\n\n private async addAcls (): Promise<void> {\n if (!this.defaultHolder || !this.defaultACLDoc) {\n const message = 'Unable to find defaults to copy'\n debug.error(message)\n return Promise.reject(message)\n }\n const aclGraph = adoptACLDefault(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc)\n aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc))\n try {\n await this.store.fetcher.putBack(this.targetACLDoc)\n this.isUsingDefaults = false\n return Promise.resolve()\n } catch (error) {\n const message = ` Error writing back access control file! ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async addDefaults (): Promise<void> {\n this.defaultsCombo = new AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true })\n this.defaultsDiffer = true\n }\n\n private async removeAcls (): Promise<void> {\n try {\n await this.store.fetcher.delete(this.targetACLDoc.uri, {})\n this.isUsingDefaults = true\n try {\n this.prospectiveDefaultHolder = await getProspectiveHolder(this.targetDoc.uri)\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n debug.warn(error)\n }\n } catch (error) {\n const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async removeDefaults (): Promise<void> {\n const fallbackCombo = this.defaultsCombo\n try {\n this.defaultsCombo = null\n this.defaultsDiffer = false\n await this.save()\n } catch (error) {\n this.defaultsCombo = fallbackCombo\n this.defaultsDiffer = true\n debug.error(error)\n return Promise.reject(error)\n }\n }\n\n public save (): Promise<void> {\n // build graph\n const newAClGraph = graph()\n if (!this.isContainer) {\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n } else if (this.defaultsCombo && this.defaultsDiffer) {\n // Pair of controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true)\n } else {\n // Linked controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true)\n }\n\n // add authenticated fetcher\n newAClGraph.fetcher = fetcher(newAClGraph, { fetch: this.store.fetcher._fetch })\n const updater = newAClGraph.updater || new UpdateManager(newAClGraph)\n\n // save ACL resource\n return new Promise((resolve, reject) => {\n updater.put(\n this.targetACLDoc,\n newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc),\n 'text/turtle',\n (uri, ok, message) => {\n if (!ok) {\n return reject(new Error(`ACL file save failed: ${message}`))\n }\n this.store.fetcher.unload(this.targetACLDoc)\n this.store.add(newAClGraph.statements)\n this.store.fetcher.requested[this.targetACLDoc.uri] = 'done' // missing: save headers\n this.mainCombo.store = this.store\n if (this.defaultsCombo) {\n this.defaultsCombo.store = this.store\n }\n this.defaultsDiffer = !!this.defaultsCombo && !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n debug.log('ACL modification: success!')\n resolve()\n }\n )\n })\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"access-controller.js","names":["_acl","require","_rdflib","_accessGroups","_aclControl","utils","_interopRequireWildcard","debug","style","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AccessController","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","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","exports"],"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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"access-groups.d.ts","sourceRoot":"","sources":["../../src/acl/access-groups.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAO,KAAK,EAAE,MAAM,QAAQ,CAAA;AAI9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAsB,MAAM,SAAS,CAAA;AAgCpE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,YAAY;IASrB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IACP,UAAU,EAAE,gBAAgB;IAEnC,OAAO,CAAC,OAAO;IAZjB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAC3B,OAAO,EAAE,SAAS,CAAA;IAClB,MAAM,EAAE,WAAW,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,MAAM,CAAO;gBAGX,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,SAAS,EAClB,UAAU,EAAE,gBAAgB,EACnC,KAAK,EAAE,KAAK,EAAE,mBAAmB;IACzB,OAAO,GAAE,mBAAwB;IAW3C,IAAW,KAAK,UAEf;IAED,IAAW,KAAK,CAAE,KAAK,OAAA,EAItB;IAEM,MAAM,IAAK,WAAW;IAS7B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,WAAW;YAWL,WAAW;IASZ,SAAS,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAKrC,iBAAiB;YASjB,gBAAgB;IAqB9B,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,qBAAqB;CAY9B"}
1
+ {"version":3,"file":"access-groups.d.ts","sourceRoot":"","sources":["../../src/acl/access-groups.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAO,KAAK,EAAE,MAAM,QAAQ,CAAA;AAI9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAsB,MAAM,SAAS,CAAA;AAiCpE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,YAAY;IASrB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IACP,UAAU,EAAE,gBAAgB;IAEnC,OAAO,CAAC,OAAO;IAZjB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAC3B,OAAO,EAAE,SAAS,CAAA;IAClB,MAAM,EAAE,WAAW,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,MAAM,CAAO;gBAGX,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,SAAS,EAClB,UAAU,EAAE,gBAAgB,EACnC,KAAK,EAAE,KAAK,EAAE,mBAAmB;IACzB,OAAO,GAAE,mBAAwB;IAW3C,IAAW,KAAK,UAEf;IAED,IAAW,KAAK,CAAE,KAAK,OAAA,EAItB;IAEM,MAAM,IAAK,WAAW;IAS7B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,mBAAmB;IA4F3B,OAAO,CAAC,WAAW;YAWL,WAAW;IASZ,SAAS,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAKrC,iBAAiB;YASjB,gBAAgB;IAqB9B,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,qBAAqB;CAY9B"}
@@ -18,6 +18,7 @@ var widgets = _interopRequireWildcard(require("../widgets"));
18
18
  var ns = _interopRequireWildcard(require("../ns"));
19
19
  var _addAgentButtons = require("./add-agent-buttons");
20
20
  var debug = _interopRequireWildcard(require("../debug"));
21
+ var style = _interopRequireWildcard(require("../style"));
21
22
  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); }
22
23
  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; }
23
24
  /**
@@ -80,7 +81,7 @@ var AccessGroups = /*#__PURE__*/function () {
80
81
  this.byCombo = (0, _acl.ACLbyCombination)(this.aclMap);
81
82
  this.addAgentButton = new _addAgentButtons.AddAgentButtons(this);
82
83
  this.rootElement = this.controller.dom.createElement('div');
83
- this.rootElement.classList.add(this.controller.classes.accessGroupList);
84
+ this.rootElement.setAttribute('style', style.accessGroupList);
84
85
  }
85
86
  (0, _createClass2["default"])(AccessGroups, [{
86
87
  key: "store",
@@ -122,7 +123,7 @@ var AccessGroups = /*#__PURE__*/function () {
122
123
  value: function renderGroup(comboIndex, combo) {
123
124
  var _this2 = this;
124
125
  var groupRow = this.controller.dom.createElement('div');
125
- groupRow.classList.add(this.controller.classes.accessGroupListItem);
126
+ groupRow.setAttribute('style', style.accessGroupListItem);
126
127
  widgets.makeDropTarget(groupRow, function (uris) {
127
128
  return _this2.handleDroppedUris(uris, combo).then(function () {
128
129
  return _this2.controller.render();
@@ -141,12 +142,58 @@ var AccessGroups = /*#__PURE__*/function () {
141
142
  value: function renderGroupElements(comboIndex, combo) {
142
143
  var _this3 = this;
143
144
  var groupNameColumn = this.controller.dom.createElement('div');
144
- groupNameColumn.classList.add(this.controller.classes.group);
145
- groupNameColumn.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
145
+ groupNameColumn.setAttribute('style', style.group);
146
+ if (this.controller.isEditable) {
147
+ switch (comboIndex) {
148
+ case 1:
149
+ groupNameColumn.setAttribute('style', style.group1);
150
+ break;
151
+ case 2:
152
+ groupNameColumn.setAttribute('style', style.group2);
153
+ break;
154
+ case 3:
155
+ groupNameColumn.setAttribute('style', style.group3);
156
+ break;
157
+ case 5:
158
+ groupNameColumn.setAttribute('style', style.group5);
159
+ break;
160
+ case 9:
161
+ groupNameColumn.setAttribute('style', style.group9);
162
+ break;
163
+ case 13:
164
+ groupNameColumn.setAttribute('style', style.group13);
165
+ break;
166
+ default:
167
+ groupNameColumn.setAttribute('style', style.group);
168
+ }
169
+ }
146
170
  groupNameColumn.innerText = COLLOQUIAL[comboIndex] || ktToList(comboIndex);
147
171
  var groupAgentsColumn = this.controller.dom.createElement('div');
148
- groupAgentsColumn.classList.add(this.controller.classes.group);
149
- groupAgentsColumn.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
172
+ groupAgentsColumn.setAttribute('style', style.group);
173
+ if (this.controller.isEditable) {
174
+ switch (comboIndex) {
175
+ case 1:
176
+ groupAgentsColumn.setAttribute('style', style.group1);
177
+ break;
178
+ case 2:
179
+ groupAgentsColumn.setAttribute('style', style.group2);
180
+ break;
181
+ case 3:
182
+ groupAgentsColumn.setAttribute('style', style.group3);
183
+ break;
184
+ case 5:
185
+ groupAgentsColumn.setAttribute('style', style.group5);
186
+ break;
187
+ case 9:
188
+ groupAgentsColumn.setAttribute('style', style.group9);
189
+ break;
190
+ case 13:
191
+ groupAgentsColumn.setAttribute('style', style.group13);
192
+ break;
193
+ default:
194
+ groupAgentsColumn.setAttribute('style', style.group);
195
+ }
196
+ }
150
197
  var groupAgentsTable = groupAgentsColumn.appendChild(this.controller.dom.createElement('table'));
151
198
  var combos = this.byCombo[combo] || [];
152
199
  combos.map(function (_ref) {
@@ -158,8 +205,31 @@ var AccessGroups = /*#__PURE__*/function () {
158
205
  return groupAgentsTable.appendChild(agentElement);
159
206
  });
160
207
  var groupDescriptionElement = this.controller.dom.createElement('div');
161
- groupDescriptionElement.classList.add(this.controller.classes.group);
162
- groupDescriptionElement.classList.toggle(this.controller.classes["group-".concat(comboIndex)], this.controller.isEditable);
208
+ groupDescriptionElement.setAttribute('style', style.group);
209
+ if (this.controller.isEditable) {
210
+ switch (comboIndex) {
211
+ case 1:
212
+ groupDescriptionElement.setAttribute('style', style.group1);
213
+ break;
214
+ case 2:
215
+ groupDescriptionElement.setAttribute('style', style.group2);
216
+ break;
217
+ case 3:
218
+ groupDescriptionElement.setAttribute('style', style.group3);
219
+ break;
220
+ case 5:
221
+ groupDescriptionElement.setAttribute('style', style.group5);
222
+ break;
223
+ case 9:
224
+ groupDescriptionElement.setAttribute('style', style.group9);
225
+ break;
226
+ case 13:
227
+ groupDescriptionElement.setAttribute('style', style.group13);
228
+ break;
229
+ default:
230
+ groupDescriptionElement.setAttribute('style', style.group);
231
+ }
232
+ }
163
233
  groupDescriptionElement.innerText = EXPLANATION[comboIndex] || 'Unusual combination';
164
234
  return [groupNameColumn, groupAgentsColumn, groupDescriptionElement];
165
235
  }
@@ -1 +1 @@
1
- {"version":3,"file":"access-groups.js","names":["_rdflib","require","_acl","widgets","_interopRequireWildcard","ns","_addAgentButtons","debug","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ACL","acl","COLLOQUIAL","RECOMMENDED","EXPLANATION","AccessGroups","doc","aclDoc","controller","store","options","arguments","length","undefined","_classCallCheck2","_defineProperty2","defaults","_store","aclMap","readACL","byCombo","ACLbyCombination","addAgentButton","AddAgentButtons","rootElement","dom","createElement","classList","add","classes","accessGroupList","_createClass2","value","render","_this","innerHTML","renderGroups","forEach","group","appendChild","isEditable","groupElements","comboIndex","combo","kToCombo","push","renderGroup","_this2","groupRow","accessGroupListItem","makeDropTarget","uris","handleDroppedUris","then","error","renderStatus","groupColumns","renderGroupElements","column","_this3","groupNameColumn","toggle","concat","innerText","ktToList","groupAgentsColumn","groupAgentsTable","combos","map","_ref","_ref2","_slicedToArray2","pred","renderAgent","agentElement","groupDescriptionElement","_this4","personRow","personTR","sym","deleteFunction","deleteAgent","removeChild","_deleteAgent","_asyncToGenerator2","_regenerator","mark","_callee","comboToRemove","wrap","_callee$","_context","prev","next","find","_ref3","_ref4","comboPred","comboObj","splice","indexOf","save","stop","_x","_x2","_x3","apply","_addNewURI","_callee2","uri","_callee2$","_context2","handleDroppedUri","addNewURI","_x4","_handleDroppedUris","_callee3","_this5","_callee3$","_context3","Promise","all","t0","abrupt","reject","_x5","_x6","_handleDroppedUri","_this6","secondAttempt","_callee4","agent","thing","_this6$_store","_this6$_store$fetcher","message","_callee4$","_context4","findAgent","log","fetcher","load","Error","setACLCombo","subject","_x7","_x8","res","removeAgentFromCombos","k","i","exports","y","sort","join","list","kb","types","findTypeURIs","ty","startsWith","split","endsWith","slice","vcard","sameTerm","foaf","rdf","owl","pref","any","solid"],"sources":["../../src/acl/access-groups.ts"],"sourcesContent":["/**\n * Contains the [[AccessGroups]]\n * and [[AccessGroupsOptions]] classes\n * @packageDocumentation\n */\n\nimport { NamedNode, sym, Store } from 'rdflib'\nimport { ACLbyCombination, readACL } from './acl'\nimport * as widgets from '../widgets'\nimport * as ns from '../ns'\nimport { AccessController } from './access-controller'\nimport { AgentMapMap, ComboList, PartialAgentTriple } from './types'\nimport { AddAgentButtons } from './add-agent-buttons'\nimport * as debug from '../debug'\n\nconst ACL = ns.acl\n\nconst COLLOQUIAL = {\n 13: 'Owners',\n 9: 'Owners (write locked)',\n 5: 'Editors',\n 3: 'Posters',\n 2: 'Submitters',\n 1: 'Viewers'\n}\n\nconst RECOMMENDED = {\n 13: true,\n 5: true,\n 3: true,\n 2: true,\n 1: true\n}\n\nconst EXPLANATION = {\n 13: 'can read, write, and control sharing.',\n 9: 'can read and control sharing, currently write-locked.',\n 5: 'can read and change information',\n 3: 'can add new information, and read but not change existing information',\n 2: 'can add new information but not read any',\n 1: 'can read but not change information'\n}\n\n/**\n * Type for the options parameter of [[AccessGroups]]\n */\nexport interface AccessGroupsOptions {\n defaults?: boolean\n}\n\n/**\n * Renders the table of Owners, Editors, Posters, Submitters, Viewers\n * for https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md\n */\nexport class AccessGroups {\n private readonly defaults: boolean\n public byCombo: ComboList\n public aclMap: AgentMapMap\n private readonly addAgentButton: AddAgentButtons\n private readonly rootElement: HTMLElement\n private _store: Store // @@ was LiveStore but does not need to be connected to web\n\n constructor (\n private doc: NamedNode,\n private aclDoc: NamedNode,\n public controller: AccessController,\n store: Store, // @@ was LiveStore\n private options: AccessGroupsOptions = {}\n ) {\n this.defaults = options.defaults || false\n this._store = store\n this.aclMap = readACL(doc, aclDoc, store, this.defaults)\n this.byCombo = ACLbyCombination(this.aclMap)\n this.addAgentButton = new AddAgentButtons(this)\n this.rootElement = this.controller.dom.createElement('div')\n this.rootElement.classList.add(this.controller.classes.accessGroupList)\n }\n\n public get store () {\n return this._store\n }\n\n public set store (store) {\n this._store = store\n this.aclMap = readACL(this.doc, this.aclDoc, store, this.defaults)\n this.byCombo = ACLbyCombination(this.aclMap)\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n this.renderGroups().forEach(group => this.rootElement.appendChild(group))\n if (this.controller.isEditable) {\n this.rootElement.appendChild(this.addAgentButton.render())\n }\n return this.rootElement\n }\n\n private renderGroups (): HTMLElement[] {\n const groupElements: HTMLElement[] = []\n for (let comboIndex = 15; comboIndex > 0; comboIndex--) {\n const combo = kToCombo(comboIndex)\n if ((this.controller.isEditable && RECOMMENDED[comboIndex]) || this.byCombo[combo]) {\n groupElements.push(this.renderGroup(comboIndex, combo))\n }\n }\n return groupElements\n }\n\n private renderGroup (comboIndex: number, combo: string): HTMLElement {\n const groupRow = this.controller.dom.createElement('div')\n groupRow.classList.add(this.controller.classes.accessGroupListItem)\n widgets.makeDropTarget(groupRow, (uris) => this.handleDroppedUris(uris, combo)\n .then(() => this.controller.render())\n .catch(error => this.controller.renderStatus(error)))\n const groupColumns = this.renderGroupElements(comboIndex, combo)\n groupColumns.forEach(column => groupRow.appendChild(column))\n return groupRow\n }\n\n private renderGroupElements (comboIndex, combo): HTMLElement[] {\n const groupNameColumn = this.controller.dom.createElement('div')\n groupNameColumn.classList.add(this.controller.classes.group)\n groupNameColumn.classList.toggle(this.controller.classes[`group-${comboIndex}`], this.controller.isEditable)\n groupNameColumn.innerText = COLLOQUIAL[comboIndex] || ktToList(comboIndex)\n\n const groupAgentsColumn = this.controller.dom.createElement('div')\n groupAgentsColumn.classList.add(this.controller.classes.group)\n groupAgentsColumn.classList.toggle(this.controller.classes[`group-${comboIndex}`], this.controller.isEditable)\n const groupAgentsTable = groupAgentsColumn.appendChild(this.controller.dom.createElement('table'))\n const combos = this.byCombo[combo] || []\n combos\n .map(([pred, obj]) => this.renderAgent(groupAgentsTable, combo, pred, obj))\n .forEach(agentElement => groupAgentsTable.appendChild(agentElement))\n\n const groupDescriptionElement = this.controller.dom.createElement('div')\n groupDescriptionElement.classList.add(this.controller.classes.group)\n groupDescriptionElement.classList.toggle(this.controller.classes[`group-${comboIndex}`], this.controller.isEditable)\n groupDescriptionElement.innerText = EXPLANATION[comboIndex] || 'Unusual combination'\n\n return [groupNameColumn, groupAgentsColumn, groupDescriptionElement]\n }\n\n private renderAgent (groupAgentsTable, combo, pred, obj): HTMLElement {\n const personRow = widgets.personTR(this.controller.dom, ACL(pred), sym(obj), this.controller.isEditable\n ? {\n deleteFunction: () => this.deleteAgent(combo, pred, obj)\n .then(() => groupAgentsTable.removeChild(personRow))\n .catch(error => this.controller.renderStatus(error))\n }\n : {})\n return personRow\n }\n\n private async deleteAgent (combo, pred, obj): Promise<void> {\n const combos = this.byCombo[combo] || []\n const comboToRemove = combos.find(([comboPred, comboObj]) => comboPred === pred && comboObj === obj)\n if (comboToRemove) {\n combos.splice(combos.indexOf(comboToRemove), 1)\n }\n await this.controller.save()\n }\n\n public async addNewURI (uri: string): Promise<void> {\n await this.handleDroppedUri(uri, kToCombo(1))\n await this.controller.save()\n }\n\n private async handleDroppedUris (uris: string[], combo: string): Promise<void> {\n try {\n await Promise.all(uris.map(uri => this.handleDroppedUri(uri, combo)))\n await this.controller.save()\n } catch (error) {\n return Promise.reject(error)\n }\n }\n\n private async handleDroppedUri (uri: string, combo: string, secondAttempt: boolean = false): Promise<void> {\n const agent = findAgent(uri, this.store) // eg 'agent', 'origin', agentClass'\n const thing = sym(uri)\n if (!agent && !secondAttempt) {\n debug.log(` Not obvious: looking up dropped thing ${thing}`)\n try {\n await this._store?.fetcher?.load(thing.doc())\n } catch (error) {\n const message = `Ignore error looking up dropped thing: ${error}`\n debug.error(message)\n return Promise.reject(new Error(message))\n }\n return this.handleDroppedUri(uri, combo, true)\n } else if (!agent) {\n const error = ` Error: Drop fails to drop appropriate thing! ${uri}`\n debug.error(error)\n return Promise.reject(new Error(error))\n }\n this.setACLCombo(combo, uri, agent, this.controller.subject)\n }\n\n private setACLCombo (combo: string, uri: string, res: PartialAgentTriple, subject: NamedNode): void {\n if (!(combo in this.byCombo)) {\n this.byCombo[combo] = []\n }\n this.removeAgentFromCombos(uri) // Combos are mutually distinct\n this.byCombo[combo].push([res.pred, res.obj.uri])\n debug.log(`ACL: setting access to ${subject} by ${res.pred}: ${res.obj}`)\n }\n\n private removeAgentFromCombos (uri: string): void {\n for (let k = 0; k < 16; k++) {\n const combos = this.byCombo[kToCombo(k)]\n if (combos) {\n for (let i = 0; i < combos.length; i++) {\n while (i < combos.length && combos[i][1] === uri) {\n combos.splice(i, 1)\n }\n }\n }\n }\n }\n}\n\nfunction kToCombo (k: number): string {\n const y = ['Read', 'Append', 'Write', 'Control']\n const combo: string[] = []\n for (let i = 0; i < 4; i++) {\n if (k & (1 << i)) {\n combo.push('http://www.w3.org/ns/auth/acl#' + y[i])\n }\n }\n combo.sort()\n return combo.join('\\n')\n}\n\nfunction ktToList (k: number): string {\n let list = ''\n const y = ['Read', 'Append', 'Write', 'Control']\n for (let i = 0; i < 4; i++) {\n if (k & (1 << i)) {\n list += y[i]\n }\n }\n return list\n}\n\nfunction findAgent (uri, kb): PartialAgentTriple | null {\n const obj = sym(uri)\n const types = kb.findTypeURIs(obj)\n for (const ty in types) {\n debug.log(' drop object type includes: ' + ty)\n }\n // An Origin URI is one like https://fred.github.io eith no trailing slash\n if (uri.startsWith('http') && uri.split('/').length === 3) {\n // there is no third slash\n return { pred: 'origin', obj } // The only way to know an origin alas\n }\n // @@ This is an almighty kludge needed because drag and drop adds extra slashes to origins\n if (\n uri.startsWith('http') &&\n uri.split('/').length === 4 &&\n uri.endsWith('/')\n ) {\n // there IS third slash\n debug.log('Assuming final slash on dragged origin URI was unintended!')\n return { pred: 'origin', obj: sym(uri.slice(0, -1)) } // Fix a URI where the drag and drop system has added a spurious slash\n }\n\n if (ns.vcard('WebID').uri in types) return { pred: 'agent', obj }\n\n if (ns.vcard('Group').uri in types) {\n return { pred: 'agentGroup', obj } // @@ note vcard membership not RDFs\n }\n if (\n obj.sameTerm(ns.foaf('Agent')) ||\n obj.sameTerm(ns.acl('AuthenticatedAgent')) || // AuthenticatedAgent\n obj.sameTerm(ns.rdf('Resource')) ||\n obj.sameTerm(ns.owl('Thing'))\n ) {\n return { pred: 'agentClass', obj }\n }\n if (\n ns.vcard('Individual').uri in types ||\n ns.foaf('Person').uri in types ||\n ns.foaf('Agent').uri in types\n ) {\n const pref = kb.any(obj, ns.foaf('preferredURI'))\n if (pref) return { pred: 'agent', obj: sym(pref) }\n return { pred: 'agent', obj }\n }\n if (ns.solid('AppProvider').uri in types) {\n return { pred: 'origin', obj }\n }\n if (ns.solid('AppProviderClass').uri in types) {\n return { pred: 'originClass', obj }\n }\n debug.log(' Triage fails for ' + uri)\n return null\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"access-groups.js","names":["_rdflib","require","_acl","widgets","_interopRequireWildcard","ns","_addAgentButtons","debug","style","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ACL","acl","COLLOQUIAL","RECOMMENDED","EXPLANATION","AccessGroups","doc","aclDoc","controller","store","options","arguments","length","undefined","_classCallCheck2","_defineProperty2","defaults","_store","aclMap","readACL","byCombo","ACLbyCombination","addAgentButton","AddAgentButtons","rootElement","dom","createElement","setAttribute","accessGroupList","_createClass2","value","render","_this","innerHTML","renderGroups","forEach","group","appendChild","isEditable","groupElements","comboIndex","combo","kToCombo","push","renderGroup","_this2","groupRow","accessGroupListItem","makeDropTarget","uris","handleDroppedUris","then","error","renderStatus","groupColumns","renderGroupElements","column","_this3","groupNameColumn","group1","group2","group3","group5","group9","group13","innerText","ktToList","groupAgentsColumn","groupAgentsTable","combos","map","_ref","_ref2","_slicedToArray2","pred","renderAgent","agentElement","groupDescriptionElement","_this4","personRow","personTR","sym","deleteFunction","deleteAgent","removeChild","_deleteAgent","_asyncToGenerator2","_regenerator","mark","_callee","comboToRemove","wrap","_callee$","_context","prev","next","find","_ref3","_ref4","comboPred","comboObj","splice","indexOf","save","stop","_x","_x2","_x3","apply","_addNewURI","_callee2","uri","_callee2$","_context2","handleDroppedUri","addNewURI","_x4","_handleDroppedUris","_callee3","_this5","_callee3$","_context3","Promise","all","t0","abrupt","reject","_x5","_x6","_handleDroppedUri","_this6","secondAttempt","_callee4","agent","thing","_this6$_store","_this6$_store$fetcher","message","_callee4$","_context4","findAgent","log","concat","fetcher","load","Error","setACLCombo","subject","_x7","_x8","res","removeAgentFromCombos","k","i","exports","y","sort","join","list","kb","types","findTypeURIs","ty","startsWith","split","endsWith","slice","vcard","sameTerm","foaf","rdf","owl","pref","any","solid"],"sources":["../../src/acl/access-groups.ts"],"sourcesContent":["/**\n * Contains the [[AccessGroups]]\n * and [[AccessGroupsOptions]] classes\n * @packageDocumentation\n */\n\nimport { NamedNode, sym, Store } from 'rdflib'\nimport { ACLbyCombination, readACL } from './acl'\nimport * as widgets from '../widgets'\nimport * as ns from '../ns'\nimport { AccessController } from './access-controller'\nimport { AgentMapMap, ComboList, PartialAgentTriple } from './types'\nimport { AddAgentButtons } from './add-agent-buttons'\nimport * as debug from '../debug'\nimport * as style from '../style'\n\nconst ACL = ns.acl\n\nconst COLLOQUIAL = {\n 13: 'Owners',\n 9: 'Owners (write locked)',\n 5: 'Editors',\n 3: 'Posters',\n 2: 'Submitters',\n 1: 'Viewers'\n}\n\nconst RECOMMENDED = {\n 13: true,\n 5: true,\n 3: true,\n 2: true,\n 1: true\n}\n\nconst EXPLANATION = {\n 13: 'can read, write, and control sharing.',\n 9: 'can read and control sharing, currently write-locked.',\n 5: 'can read and change information',\n 3: 'can add new information, and read but not change existing information',\n 2: 'can add new information but not read any',\n 1: 'can read but not change information'\n}\n\n/**\n * Type for the options parameter of [[AccessGroups]]\n */\nexport interface AccessGroupsOptions {\n defaults?: boolean\n}\n\n/**\n * Renders the table of Owners, Editors, Posters, Submitters, Viewers\n * for https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md\n */\nexport class AccessGroups {\n private readonly defaults: boolean\n public byCombo: ComboList\n public aclMap: AgentMapMap\n private readonly addAgentButton: AddAgentButtons\n private readonly rootElement: HTMLElement\n private _store: Store // @@ was LiveStore but does not need to be connected to web\n\n constructor (\n private doc: NamedNode,\n private aclDoc: NamedNode,\n public controller: AccessController,\n store: Store, // @@ was LiveStore\n private options: AccessGroupsOptions = {}\n ) {\n this.defaults = options.defaults || false\n this._store = store\n this.aclMap = readACL(doc, aclDoc, store, this.defaults)\n this.byCombo = ACLbyCombination(this.aclMap)\n this.addAgentButton = new AddAgentButtons(this)\n this.rootElement = this.controller.dom.createElement('div')\n this.rootElement.setAttribute('style', style.accessGroupList)\n }\n\n public get store () {\n return this._store\n }\n\n public set store (store) {\n this._store = store\n this.aclMap = readACL(this.doc, this.aclDoc, store, this.defaults)\n this.byCombo = ACLbyCombination(this.aclMap)\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n this.renderGroups().forEach(group => this.rootElement.appendChild(group))\n if (this.controller.isEditable) {\n this.rootElement.appendChild(this.addAgentButton.render())\n }\n return this.rootElement\n }\n\n private renderGroups (): HTMLElement[] {\n const groupElements: HTMLElement[] = []\n for (let comboIndex = 15; comboIndex > 0; comboIndex--) {\n const combo = kToCombo(comboIndex)\n if ((this.controller.isEditable && RECOMMENDED[comboIndex]) || this.byCombo[combo]) {\n groupElements.push(this.renderGroup(comboIndex, combo))\n }\n }\n return groupElements\n }\n\n private renderGroup (comboIndex: number, combo: string): HTMLElement {\n const groupRow = this.controller.dom.createElement('div')\n groupRow.setAttribute('style', style.accessGroupListItem)\n widgets.makeDropTarget(groupRow, (uris) => this.handleDroppedUris(uris, combo)\n .then(() => this.controller.render())\n .catch(error => this.controller.renderStatus(error)))\n const groupColumns = this.renderGroupElements(comboIndex, combo)\n groupColumns.forEach(column => groupRow.appendChild(column))\n return groupRow\n }\n\n private renderGroupElements (comboIndex, combo): HTMLElement[] {\n const groupNameColumn = this.controller.dom.createElement('div')\n groupNameColumn.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupNameColumn.setAttribute('style', style.group1)\n break\n case 2:\n groupNameColumn.setAttribute('style', style.group2)\n break\n case 3:\n groupNameColumn.setAttribute('style', style.group3)\n break\n case 5:\n groupNameColumn.setAttribute('style', style.group5)\n break\n case 9:\n groupNameColumn.setAttribute('style', style.group9)\n break\n case 13:\n groupNameColumn.setAttribute('style', style.group13)\n break\n default:\n groupNameColumn.setAttribute('style', style.group)\n }\n }\n groupNameColumn.innerText = COLLOQUIAL[comboIndex] || ktToList(comboIndex)\n\n const groupAgentsColumn = this.controller.dom.createElement('div')\n groupAgentsColumn.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupAgentsColumn.setAttribute('style', style.group1)\n break\n case 2:\n groupAgentsColumn.setAttribute('style', style.group2)\n break\n case 3:\n groupAgentsColumn.setAttribute('style', style.group3)\n break\n case 5:\n groupAgentsColumn.setAttribute('style', style.group5)\n break\n case 9:\n groupAgentsColumn.setAttribute('style', style.group9)\n break\n case 13:\n groupAgentsColumn.setAttribute('style', style.group13)\n break\n default:\n groupAgentsColumn.setAttribute('style', style.group)\n }\n }\n const groupAgentsTable = groupAgentsColumn.appendChild(this.controller.dom.createElement('table'))\n const combos = this.byCombo[combo] || []\n combos\n .map(([pred, obj]) => this.renderAgent(groupAgentsTable, combo, pred, obj))\n .forEach(agentElement => groupAgentsTable.appendChild(agentElement))\n\n const groupDescriptionElement = this.controller.dom.createElement('div')\n groupDescriptionElement.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupDescriptionElement.setAttribute('style', style.group1)\n break\n case 2:\n groupDescriptionElement.setAttribute('style', style.group2)\n break\n case 3:\n groupDescriptionElement.setAttribute('style', style.group3)\n break\n case 5:\n groupDescriptionElement.setAttribute('style', style.group5)\n break\n case 9:\n groupDescriptionElement.setAttribute('style', style.group9)\n break\n case 13:\n groupDescriptionElement.setAttribute('style', style.group13)\n break\n default:\n groupDescriptionElement.setAttribute('style', style.group)\n }\n }\n groupDescriptionElement.innerText = EXPLANATION[comboIndex] || 'Unusual combination'\n\n return [groupNameColumn, groupAgentsColumn, groupDescriptionElement]\n }\n\n private renderAgent (groupAgentsTable, combo, pred, obj): HTMLElement {\n const personRow = widgets.personTR(this.controller.dom, ACL(pred), sym(obj), this.controller.isEditable\n ? {\n deleteFunction: () => this.deleteAgent(combo, pred, obj)\n .then(() => groupAgentsTable.removeChild(personRow))\n .catch(error => this.controller.renderStatus(error))\n }\n : {})\n return personRow\n }\n\n private async deleteAgent (combo, pred, obj): Promise<void> {\n const combos = this.byCombo[combo] || []\n const comboToRemove = combos.find(([comboPred, comboObj]) => comboPred === pred && comboObj === obj)\n if (comboToRemove) {\n combos.splice(combos.indexOf(comboToRemove), 1)\n }\n await this.controller.save()\n }\n\n public async addNewURI (uri: string): Promise<void> {\n await this.handleDroppedUri(uri, kToCombo(1))\n await this.controller.save()\n }\n\n private async handleDroppedUris (uris: string[], combo: string): Promise<void> {\n try {\n await Promise.all(uris.map(uri => this.handleDroppedUri(uri, combo)))\n await this.controller.save()\n } catch (error) {\n return Promise.reject(error)\n }\n }\n\n private async handleDroppedUri (uri: string, combo: string, secondAttempt: boolean = false): Promise<void> {\n const agent = findAgent(uri, this.store) // eg 'agent', 'origin', agentClass'\n const thing = sym(uri)\n if (!agent && !secondAttempt) {\n debug.log(` Not obvious: looking up dropped thing ${thing}`)\n try {\n await this._store?.fetcher?.load(thing.doc())\n } catch (error) {\n const message = `Ignore error looking up dropped thing: ${error}`\n debug.error(message)\n return Promise.reject(new Error(message))\n }\n return this.handleDroppedUri(uri, combo, true)\n } else if (!agent) {\n const error = ` Error: Drop fails to drop appropriate thing! ${uri}`\n debug.error(error)\n return Promise.reject(new Error(error))\n }\n this.setACLCombo(combo, uri, agent, this.controller.subject)\n }\n\n private setACLCombo (combo: string, uri: string, res: PartialAgentTriple, subject: NamedNode): void {\n if (!(combo in this.byCombo)) {\n this.byCombo[combo] = []\n }\n this.removeAgentFromCombos(uri) // Combos are mutually distinct\n this.byCombo[combo].push([res.pred, res.obj.uri])\n debug.log(`ACL: setting access to ${subject} by ${res.pred}: ${res.obj}`)\n }\n\n private removeAgentFromCombos (uri: string): void {\n for (let k = 0; k < 16; k++) {\n const combos = this.byCombo[kToCombo(k)]\n if (combos) {\n for (let i = 0; i < combos.length; i++) {\n while (i < combos.length && combos[i][1] === uri) {\n combos.splice(i, 1)\n }\n }\n }\n }\n }\n}\n\nfunction kToCombo (k: number): string {\n const y = ['Read', 'Append', 'Write', 'Control']\n const combo: string[] = []\n for (let i = 0; i < 4; i++) {\n if (k & (1 << i)) {\n combo.push('http://www.w3.org/ns/auth/acl#' + y[i])\n }\n }\n combo.sort()\n return combo.join('\\n')\n}\n\nfunction ktToList (k: number): string {\n let list = ''\n const y = ['Read', 'Append', 'Write', 'Control']\n for (let i = 0; i < 4; i++) {\n if (k & (1 << i)) {\n list += y[i]\n }\n }\n return list\n}\n\nfunction findAgent (uri, kb): PartialAgentTriple | null {\n const obj = sym(uri)\n const types = kb.findTypeURIs(obj)\n for (const ty in types) {\n debug.log(' drop object type includes: ' + ty)\n }\n // An Origin URI is one like https://fred.github.io eith no trailing slash\n if (uri.startsWith('http') && uri.split('/').length === 3) {\n // there is no third slash\n return { pred: 'origin', obj } // The only way to know an origin alas\n }\n // @@ This is an almighty kludge needed because drag and drop adds extra slashes to origins\n if (\n uri.startsWith('http') &&\n uri.split('/').length === 4 &&\n uri.endsWith('/')\n ) {\n // there IS third slash\n debug.log('Assuming final slash on dragged origin URI was unintended!')\n return { pred: 'origin', obj: sym(uri.slice(0, -1)) } // Fix a URI where the drag and drop system has added a spurious slash\n }\n\n if (ns.vcard('WebID').uri in types) return { pred: 'agent', obj }\n\n if (ns.vcard('Group').uri in types) {\n return { pred: 'agentGroup', obj } // @@ note vcard membership not RDFs\n }\n if (\n obj.sameTerm(ns.foaf('Agent')) ||\n obj.sameTerm(ns.acl('AuthenticatedAgent')) || // AuthenticatedAgent\n obj.sameTerm(ns.rdf('Resource')) ||\n obj.sameTerm(ns.owl('Thing'))\n ) {\n return { pred: 'agentClass', obj }\n }\n if (\n ns.vcard('Individual').uri in types ||\n ns.foaf('Person').uri in types ||\n ns.foaf('Agent').uri in types\n ) {\n const pref = kb.any(obj, ns.foaf('preferredURI'))\n if (pref) return { pred: 'agent', obj: sym(pref) }\n return { pred: 'agent', obj }\n }\n if (ns.solid('AppProvider').uri in types) {\n return { pred: 'origin', obj }\n }\n if (ns.solid('AppProviderClass').uri in types) {\n return { pred: 'originClass', obj }\n }\n debug.log(' Triage fails for ' + uri)\n return null\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acl-control.d.ts","sourceRoot":"","sources":["../../src/acl/acl-control.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AASlD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAUtE;AAED,gBAAgB;AAChB,wBAAgB,WAAW,CAAE,CAAC,KAAA,QAG7B;AAED,gBAAgB;AAChB,wBAAgB,UAAU,CAAE,CAAC,KAAA,QAW5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAmBxD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,KAAK,GACR,WAAW,CAuBb;AA+DD,gBAAgB;AAChB,wBAAgB,eAAe,CAAE,MAAM,EAAE,MAAM,QAE9C"}
1
+ {"version":3,"file":"acl-control.d.ts","sourceRoot":"","sources":["../../src/acl/acl-control.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAQlD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAUtE;AAED,gBAAgB;AAChB,wBAAgB,WAAW,CAAE,CAAC,KAAA,QAG7B;AAED,gBAAgB;AAChB,wBAAgB,UAAU,CAAE,CAAC,KAAA,QAW5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAmBxD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,KAAK,GACR,WAAW,CAsBb;AA8DD,gBAAgB;AAChB,wBAAgB,eAAe,CAAE,MAAM,EAAE,MAAM,QAE9C"}