solid-ui 2.4.14-46ae8b5d → 2.4.14-bbf45639

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 +334 -441
  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 +348 -492
  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 +168 -198
  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 +446 -459
  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 +318 -515
  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 +27 -35
  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 +84 -90
  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 +5 -4
  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 +14 -21
  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 +1391 -1935
  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 +26 -37
  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 +1 -4
  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 +209 -214
  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 +4 -10
  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 +1 -4
  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 +30 -28
  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 +109 -126
  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 +7 -11
  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 +2 -6
  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 +285 -361
  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 +116 -132
  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 +23 -30
  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 +103 -207
  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 +21 -30
  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 +83 -131
  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 +82 -69
  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 +4 -10
  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 +210 -237
  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 +1 -4
  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 +5 -11
  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 +187 -181
  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 +794 -954
  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 +170 -199
  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 +235 -342
  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 +130 -155
  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 +121 -113
  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 +23 -28
  190. package/lib/versionInfo.js.map +1 -1
  191. package/lib/webpack-bundle.js +244 -159
  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 +19 -30
  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 +935 -1113
  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 +18 -24
  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 +234 -325
  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 +249 -276
  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 +317 -497
  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 +160 -212
  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 +489 -718
  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 +208 -239
  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 +31 -50
  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 +102 -81
  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 +52 -50
  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 +18 -30
  256. package/lib/widgets/widgetHelpers.js.map +1 -1
  257. package/package.json +7 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/acl/access-groups.ts"],"names":["ACL","ns","acl","COLLOQUIAL","RECOMMENDED","EXPLANATION","AccessGroups","doc","aclDoc","controller","store","options","defaults","_store","aclMap","byCombo","addAgentButton","AddAgentButtons","rootElement","dom","createElement","classList","add","classes","accessGroupList","innerHTML","renderGroups","forEach","group","appendChild","isEditable","render","groupElements","comboIndex","combo","kToCombo","push","renderGroup","groupRow","accessGroupListItem","widgets","makeDropTarget","uris","handleDroppedUris","then","error","renderStatus","groupColumns","renderGroupElements","column","groupNameColumn","toggle","innerText","ktToList","groupAgentsColumn","groupAgentsTable","combos","map","pred","obj","renderAgent","agentElement","groupDescriptionElement","personRow","personTR","deleteFunction","deleteAgent","removeChild","comboToRemove","find","comboPred","comboObj","splice","indexOf","save","uri","handleDroppedUri","Promise","all","reject","secondAttempt","agent","findAgent","thing","debug","log","fetcher","load","message","Error","setACLCombo","subject","res","removeAgentFromCombos","k","i","length","y","sort","join","list","kb","types","findTypeURIs","ty","startsWith","split","endsWith","slice","vcard","sameTerm","foaf","rdf","owl","pref","any","solid"],"mappings":"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","sourcesContent":["/**\n * Contains the [[AccessGroups]]\n * and [[AccessGroupsOptions]] classes\n * @packageDocumentation\n */\n\nimport { fetcher, IndexedFormula, NamedNode, sym } 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 { LiveStore } from 'pane-registry'\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/solid/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: LiveStore\n\n constructor (\n private doc: NamedNode,\n private aclDoc: NamedNode,\n public controller: AccessController,\n store: IndexedFormula,\n private options: AccessGroupsOptions = {}\n ) {\n this.defaults = options.defaults || false\n fetcher(store, {})\n\n // The store will already have an updater at this point:\n // store.updater = new UpdateManager(store)\n\n this._store = store as LiveStore // TODO hacky, find a better solution\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: 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: obj }\n\n if (ns.vcard('Group').uri in types) {\n return { pred: 'agentGroup', obj: 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: 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: obj }\n }\n if (ns.solid('AppProvider').uri in types) {\n return { pred: 'origin', obj: obj }\n }\n if (ns.solid('AppProviderClass').uri in types) {\n return { pred: 'originClass', obj: obj }\n }\n debug.log(' Triage fails for ' + uri)\n return null\n}\n"],"file":"access-groups.js"}
1
+ {"version":3,"file":"access-groups.js","sourceRoot":"","sources":["../../src/acl/access-groups.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
@@ -1,47 +1,74 @@
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.ACLControlBox5 = ACLControlBox5;
11
- exports.handleDrop = handleDrop;
12
- exports.preventBrowserDropEvents = preventBrowserDropEvents;
13
- exports.preventDrag = preventDrag;
14
- exports.setGlobalWindow = setGlobalWindow;
15
- exports.shortNameForFolder = shortNameForFolder;
16
-
17
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
18
-
19
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
20
-
21
- var ns = _interopRequireWildcard(require("../ns"));
22
-
23
- var utils = _interopRequireWildcard(require("../utils"));
24
-
25
- var _acl = require("./acl");
26
-
27
- var _accessController = require("./access-controller");
28
-
29
- var _jss = require("../jss");
30
-
31
- var _styles = require("./styles");
32
-
33
- var _debug = require("../debug");
34
-
35
- 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); }
36
-
37
- 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; }
38
-
39
2
  /**
40
3
  * Functions for rendering the ACL User Interface.
41
4
  * See https://github.com/solid/userguide/blob/main/views/sharing/userguide.md#view
42
5
  * for a screenshot.
43
6
  * @packageDocumentation
44
7
  */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
28
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
+ return new (P || (P = Promise))(function (resolve, reject) {
30
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
34
+ });
35
+ };
36
+ var __generator = (this && this.__generator) || function (thisArg, body) {
37
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
38
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
39
+ function verb(n) { return function (v) { return step([n, v]); }; }
40
+ function step(op) {
41
+ if (f) throw new TypeError("Generator is already executing.");
42
+ while (_) try {
43
+ 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;
44
+ if (y = 0, t) op = [op[0] & 2, t.value];
45
+ switch (op[0]) {
46
+ case 0: case 1: t = op; break;
47
+ case 4: _.label++; return { value: op[1], done: false };
48
+ case 5: _.label++; y = op[1]; op = [0]; continue;
49
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
50
+ default:
51
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
52
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
53
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
54
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
55
+ if (t[2]) _.ops.pop();
56
+ _.trys.pop(); continue;
57
+ }
58
+ op = body.call(thisArg, _);
59
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
60
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
61
+ }
62
+ };
63
+ Object.defineProperty(exports, "__esModule", { value: true });
64
+ exports.setGlobalWindow = exports.ACLControlBox5 = exports.shortNameForFolder = exports.handleDrop = exports.preventDrag = exports.preventBrowserDropEvents = void 0;
65
+ var ns = __importStar(require("../ns"));
66
+ var utils = __importStar(require("../utils"));
67
+ var acl_1 = require("./acl");
68
+ var access_controller_1 = require("./access-controller");
69
+ var jss_1 = require("../jss");
70
+ var styles_1 = require("./styles");
71
+ var debug_1 = require("../debug");
45
72
  var global = window;
46
73
  var preventBrowserDropEventsDone = Symbol('prevent double triggering of drop event');
47
74
  /**
@@ -56,38 +83,35 @@ var preventBrowserDropEventsDone = Symbol('prevent double triggering of drop eve
56
83
  * @param document The DOM
57
84
  * @returns void
58
85
  */
59
-
60
86
  function preventBrowserDropEvents(document) {
61
- (0, _debug.log)('preventBrowserDropEvents called.');
62
-
63
- if (typeof global !== 'undefined') {
64
- if (global[preventBrowserDropEventsDone]) return;
65
- global[preventBrowserDropEventsDone] = true;
66
- }
67
-
68
- document.addEventListener('drop', handleDrop, false);
69
- document.addEventListener('dragenter', preventDrag, false);
70
- document.addEventListener('dragover', preventDrag, false);
87
+ (0, debug_1.log)('preventBrowserDropEvents called.');
88
+ if (typeof global !== 'undefined') {
89
+ if (global[preventBrowserDropEventsDone])
90
+ return;
91
+ global[preventBrowserDropEventsDone] = true;
92
+ }
93
+ document.addEventListener('drop', handleDrop, false);
94
+ document.addEventListener('dragenter', preventDrag, false);
95
+ document.addEventListener('dragover', preventDrag, false);
71
96
  }
97
+ exports.preventBrowserDropEvents = preventBrowserDropEvents;
72
98
  /** @internal */
73
-
74
-
75
99
  function preventDrag(e) {
76
- e.stopPropagation();
77
- e.preventDefault();
100
+ e.stopPropagation();
101
+ e.preventDefault();
78
102
  }
103
+ exports.preventDrag = preventDrag;
79
104
  /** @internal */
80
-
81
-
82
105
  function handleDrop(e) {
83
- if (e.dataTransfer.files.length > 0) {
84
- if (!global.confirm('Are you sure you want to drop this file here? (Cancel opens it in a new tab)')) {
85
- e.stopPropagation();
86
- e.preventDefault();
87
- (0, _debug.log)('@@@@ document-level DROP suppressed: ' + e.dataTransfer.dropEffect);
106
+ if (e.dataTransfer.files.length > 0) {
107
+ if (!global.confirm('Are you sure you want to drop this file here? (Cancel opens it in a new tab)')) {
108
+ e.stopPropagation();
109
+ e.preventDefault();
110
+ (0, debug_1.log)('@@@@ document-level DROP suppressed: ' + e.dataTransfer.dropEffect);
111
+ }
88
112
  }
89
- }
90
113
  }
114
+ exports.handleDrop = handleDrop;
91
115
  /**
92
116
  * Get a folder's own filename in the directory tree. Also works for
93
117
  * domain names; the URL protocol ('https://') acts as the tree root
@@ -119,29 +143,25 @@ function handleDrop(e) {
119
143
  * @param x RDF Node for the folder URL
120
144
  * @returns Short name for the folder
121
145
  */
122
-
123
-
124
146
  function shortNameForFolder(x) {
125
- var str = x.uri; // Strip the trailing slash
126
-
127
- if (str.slice(-1) === '/') {
128
- str = str.slice(0, -1);
129
- } // Remove the path if present, keeping only the part
130
- // after the last slash.
131
-
132
-
133
- var slash = str.lastIndexOf('/');
134
-
135
- if (slash >= 0) {
136
- str = str.slice(slash + 1);
137
- } // Return the folder's filename, or '/' if nothing found
138
- // (but see https://github.com/solid/solid-ui/issues/196
139
- // regarding whether this happens at the domain root or
140
- // not)
141
-
142
-
143
- return str || '/';
147
+ var str = x.uri;
148
+ // Strip the trailing slash
149
+ if (str.slice(-1) === '/') {
150
+ str = str.slice(0, -1);
151
+ }
152
+ // Remove the path if present, keeping only the part
153
+ // after the last slash.
154
+ var slash = str.lastIndexOf('/');
155
+ if (slash >= 0) {
156
+ str = str.slice(slash + 1);
157
+ }
158
+ // Return the folder's filename, or '/' if nothing found
159
+ // (but see https://github.com/solid/solid-ui/issues/196
160
+ // regarding whether this happens at the domain root or
161
+ // not)
162
+ return str || '/';
144
163
  }
164
+ exports.shortNameForFolder = shortNameForFolder;
145
165
  /**
146
166
  * A wrapper that retrieves ACL data and uses it
147
167
  * to render an [[AccessController]] component.
@@ -150,134 +170,84 @@ function shortNameForFolder(x) {
150
170
  * when it was introduced into solid-ui in
151
171
  * https://github.com/solid/solid-ui/commit/948b874bd93e7bf5160e6e224821b888f07d15f3#diff-4192a29f38a0ababd563b36b47eba5bbR54
152
172
  */
153
-
154
-
155
173
  function ACLControlBox5(subject, context, noun, kb) {
156
- var dom = context.dom;
157
- var doc = subject.doc(); // The ACL is actually to the doc describing the thing
158
-
159
- var classes = (0, _jss.getClasses)(dom.head, _styles.styles).classes;
160
- var container = dom.createElement('div');
161
- container.classList.add(classes.aclControlBoxContainer);
162
- var header = container.appendChild(dom.createElement('h1'));
163
- header.textContent = "Sharing for ".concat(noun, " ").concat(utils.label(subject));
164
- header.classList.add(classes.aclControlBoxHeader);
165
- var status = container.appendChild(dom.createElement('div'));
166
- status.classList.add(classes.aclControlBoxStatus);
167
-
168
- try {
169
- loadController(doc, kb, subject, noun, context, classes, dom, status).then(function (controller) {
170
- return container.appendChild(controller.render());
171
- });
172
- } catch (error) {
173
- status.innerText = error;
174
- }
175
-
176
- return container;
177
- }
178
-
179
- function loadController(_x, _x2, _x3, _x4, _x5, _x6, _x7, _x8) {
180
- return _loadController.apply(this, arguments);
174
+ var dom = context.dom;
175
+ var doc = subject.doc(); // The ACL is actually to the doc describing the thing
176
+ var classes = (0, jss_1.getClasses)(dom.head, styles_1.styles).classes;
177
+ var container = dom.createElement('div');
178
+ container.classList.add(classes.aclControlBoxContainer);
179
+ var header = container.appendChild(dom.createElement('h1'));
180
+ header.textContent = "Sharing for ".concat(noun, " ").concat(utils.label(subject));
181
+ header.classList.add(classes.aclControlBoxHeader);
182
+ var status = container.appendChild(dom.createElement('div'));
183
+ status.classList.add(classes.aclControlBoxStatus);
184
+ try {
185
+ loadController(doc, kb, subject, noun, context, classes, dom, status)
186
+ .then(function (controller) { return container.appendChild(controller.render()); });
187
+ }
188
+ catch (error) {
189
+ status.innerText = error;
190
+ }
191
+ return container;
181
192
  }
182
-
183
- function _loadController() {
184
- _loadController = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(doc, kb, subject, noun, context, classes, dom, status) {
185
- return _regenerator["default"].wrap(function _callee2$(_context2) {
186
- while (1) {
187
- switch (_context2.prev = _context2.next) {
188
- case 0:
189
- return _context2.abrupt("return", new Promise(function (resolve, reject) {
190
- return (0, _acl.getACLorDefault)(doc, /*#__PURE__*/function () {
191
- var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(ok, isDirectACL, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc) {
192
- var targetDirectory, targetIsProtected, prospectiveDefaultHolder, getController;
193
- return _regenerator["default"].wrap(function _callee$(_context) {
194
- while (1) {
195
- switch (_context.prev = _context.next) {
196
- case 0:
197
- getController = function _getController(prospectiveDefaultHolder) {
198
- return new _accessController.AccessController(subject, noun, context, status, classes, targetIsProtected, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc, prospectiveDefaultHolder, kb, dom);
199
- };
200
-
201
- if (ok) {
202
- _context.next = 3;
203
- break;
204
- }
205
-
206
- return _context.abrupt("return", reject(new Error("Error reading ".concat(isDirectACL ? '' : ' default ', "ACL. status ").concat(targetDoc, ": ").concat(targetACLDoc))));
207
-
208
- case 3:
209
- targetDirectory = getDirectory(targetDoc);
210
- targetIsProtected = isStorage(targetDoc, targetACLDoc, kb) || hasProtectedAcl(targetDoc);
211
-
212
- if (!(!targetIsProtected && targetDirectory)) {
213
- _context.next = 16;
214
- break;
215
- }
216
-
217
- _context.prev = 6;
218
- _context.next = 9;
219
- return (0, _acl.getProspectiveHolder)(targetDirectory);
220
-
221
- case 9:
222
- prospectiveDefaultHolder = _context.sent;
223
- return _context.abrupt("return", resolve(getController(prospectiveDefaultHolder)));
224
-
225
- case 13:
226
- _context.prev = 13;
227
- _context.t0 = _context["catch"](6);
228
- // No need to show this error in status, but good to warn about it in console
229
- (0, _debug.warn)(_context.t0);
230
-
231
- case 16:
232
- return _context.abrupt("return", resolve(getController()));
233
-
234
- case 17:
235
- case "end":
236
- return _context.stop();
237
- }
193
+ exports.ACLControlBox5 = ACLControlBox5;
194
+ function loadController(doc, kb, subject, noun, context, classes, dom, status) {
195
+ return __awaiter(this, void 0, void 0, function () {
196
+ var _this = this;
197
+ return __generator(this, function (_a) {
198
+ return [2 /*return*/, new Promise(function (resolve, reject) { return (0, acl_1.getACLorDefault)(doc, function (ok, isDirectACL, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc) { return __awaiter(_this, void 0, void 0, function () {
199
+ function getController(prospectiveDefaultHolder) {
200
+ return new access_controller_1.AccessController(subject, noun, context, status, classes, targetIsProtected, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc, prospectiveDefaultHolder, kb, dom);
238
201
  }
239
- }, _callee, null, [[6, 13]]);
240
- }));
241
-
242
- return function (_x9, _x10, _x11, _x12, _x13, _x14) {
243
- return _ref.apply(this, arguments);
244
- };
245
- }());
246
- }));
247
-
248
- case 1:
249
- case "end":
250
- return _context2.stop();
251
- }
252
- }
253
- }, _callee2);
254
- }));
255
- return _loadController.apply(this, arguments);
202
+ var targetDirectory, targetIsProtected, prospectiveDefaultHolder, error_1;
203
+ return __generator(this, function (_a) {
204
+ switch (_a.label) {
205
+ case 0:
206
+ if (!ok) {
207
+ return [2 /*return*/, reject(new Error("Error reading ".concat(isDirectACL ? '' : ' default ', "ACL. status ").concat(targetDoc, ": ").concat(targetACLDoc)))];
208
+ }
209
+ targetDirectory = getDirectory(targetDoc);
210
+ targetIsProtected = isStorage(targetDoc, targetACLDoc, kb) || hasProtectedAcl(targetDoc);
211
+ if (!(!targetIsProtected && targetDirectory)) return [3 /*break*/, 4];
212
+ _a.label = 1;
213
+ case 1:
214
+ _a.trys.push([1, 3, , 4]);
215
+ return [4 /*yield*/, (0, acl_1.getProspectiveHolder)(targetDirectory)];
216
+ case 2:
217
+ prospectiveDefaultHolder = _a.sent();
218
+ return [2 /*return*/, resolve(getController(prospectiveDefaultHolder))];
219
+ case 3:
220
+ error_1 = _a.sent();
221
+ // No need to show this error in status, but good to warn about it in console
222
+ (0, debug_1.warn)(error_1);
223
+ return [3 /*break*/, 4];
224
+ case 4: return [2 /*return*/, resolve(getController())];
225
+ }
226
+ });
227
+ }); }); })];
228
+ });
229
+ });
256
230
  }
257
-
258
231
  function getDirectory(doc) {
259
- var str = doc.uri.split('#')[0];
260
- var p = str.slice(0, -1).lastIndexOf('/');
261
- var q = str.indexOf('//');
262
- return q >= 0 && p < q + 2 || p < 0 ? null : str.slice(0, p + 1);
232
+ var str = doc.uri.split('#')[0];
233
+ var p = str.slice(0, -1).lastIndexOf('/');
234
+ var q = str.indexOf('//');
235
+ return (q >= 0 && p < q + 2) || p < 0 ? null : str.slice(0, p + 1);
263
236
  }
264
-
265
237
  function isStorage(doc, aclDoc, store) {
266
- // @@ TODO: The methods used for targetIsStorage are HACKs - it should not be relied upon, and work is
267
- // @@ underway to standardize a behavior that does not rely upon this hack
268
- // @@ hopefully fixed as part of https://github.com/solid/data-interoperability-panel/issues/10
269
- return store.holds(doc, ns.rdf('type'), ns.space('Storage'), aclDoc);
238
+ // @@ TODO: The methods used for targetIsStorage are HACKs - it should not be relied upon, and work is
239
+ // @@ underway to standardize a behavior that does not rely upon this hack
240
+ // @@ hopefully fixed as part of https://github.com/solid/data-interoperability-panel/issues/10
241
+ return store.holds(doc, ns.rdf('type'), ns.space('Storage'), aclDoc);
270
242
  }
271
-
272
243
  function hasProtectedAcl(targetDoc) {
273
- // @@ TODO: This is hacky way of knowing whether or not a certain ACL file can be removed
274
- // Hopefully we'll find a better, standardized solution to this - https://github.com/solid/specification/issues/37
275
- return targetDoc.uri === targetDoc.site().uri;
244
+ // @@ TODO: This is hacky way of knowing whether or not a certain ACL file can be removed
245
+ // Hopefully we'll find a better, standardized solution to this - https://github.com/solid/specification/issues/37
246
+ return targetDoc.uri === targetDoc.site().uri;
276
247
  }
277
248
  /** @internal */
278
-
279
-
280
249
  function setGlobalWindow(window) {
281
- global = window;
250
+ global = window;
282
251
  }
252
+ exports.setGlobalWindow = setGlobalWindow;
283
253
  //# sourceMappingURL=acl-control.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/acl/acl-control.ts"],"names":["global","window","preventBrowserDropEventsDone","Symbol","preventBrowserDropEvents","document","addEventListener","handleDrop","preventDrag","e","stopPropagation","preventDefault","dataTransfer","files","length","confirm","dropEffect","shortNameForFolder","x","str","uri","slice","slash","lastIndexOf","ACLControlBox5","subject","context","noun","kb","dom","doc","classes","head","styles","container","createElement","classList","add","aclControlBoxContainer","header","appendChild","textContent","utils","label","aclControlBoxHeader","status","aclControlBoxStatus","loadController","then","controller","render","error","innerText","Promise","resolve","reject","ok","isDirectACL","targetDoc","targetACLDoc","defaultHolder","defaultACLDoc","getController","prospectiveDefaultHolder","AccessController","targetIsProtected","Error","targetDirectory","getDirectory","isStorage","hasProtectedAcl","split","p","q","indexOf","aclDoc","store","holds","ns","rdf","space","site","setGlobalWindow"],"mappings":"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","sourcesContent":["/**\n * Functions for rendering the ACL User Interface.\n * See https://github.com/solid/userguide/blob/main/views/sharing/userguide.md#view\n * for a screenshot.\n * @packageDocumentation\n */\n\nimport * as ns from '../ns'\nimport * as utils from '../utils'\nimport { getACLorDefault, getProspectiveHolder } from './acl'\nimport { IndexedFormula, NamedNode } from 'rdflib'\nimport { DataBrowserContext } from 'pane-registry'\nimport { AccessController } from './access-controller'\nimport { getClasses } from '../jss'\nimport { styles } from './styles'\nimport { log, warn } from '../debug'\n\nlet global: Window = window\nconst preventBrowserDropEventsDone = Symbol('prevent double triggering of drop event')\n\n/**\n * See https://coshx.com/preventing-drag-and-drop-disasters-with-a-chrome-userscript\n * Without this dropping anything onto a browser page will cause chrome etc to jump to diff page\n * throwing away all the user's work.\n *\n * In apps which may use drag and drop, this utility takes care of the fact\n * by default in a browser, an uncaught user drop into a browser window\n * causes the browser to lose all its work in that window and navigate to another page\n *\n * @param document The DOM\n * @returns void\n */\nexport function preventBrowserDropEvents (document: HTMLDocument): void {\n log('preventBrowserDropEvents called.')\n if (typeof global !== 'undefined') {\n if (global[preventBrowserDropEventsDone]) return\n global[preventBrowserDropEventsDone] = true\n }\n\n document.addEventListener('drop', handleDrop, false)\n document.addEventListener('dragenter', preventDrag, false)\n document.addEventListener('dragover', preventDrag, false)\n}\n\n/** @internal */\nexport function preventDrag (e) {\n e.stopPropagation()\n e.preventDefault()\n}\n\n/** @internal */\nexport function handleDrop (e) {\n if (e.dataTransfer.files.length > 0) {\n if (\n !global.confirm('Are you sure you want to drop this file here? (Cancel opens it in a new tab)')\n ) {\n e.stopPropagation()\n e.preventDefault()\n log('@@@@ document-level DROP suppressed: ' + e.dataTransfer.dropEffect\n )\n }\n }\n}\n\n/**\n * Get a folder's own filename in the directory tree. Also works for\n * domain names; the URL protocol ('https://') acts as the tree root\n * with short name '/' (see also test/unit/acl/acl-control.test.ts).\n *\n * ```typescript\n * shortNameForFolder($rdf.namedNode('http://example.com/some/folder/'))\n * // 'folder'\n *\n * shortNameForFolder($rdf.namedNode('http://example.com/some/folder'))\n * // 'folder'\n *\n * shortNameForFolder($rdf.namedNode('http://example.com/'))\n * // 'example.com'\n *\n * shortNameForFolder($rdf.namedNode('http://example.com'))\n * // 'example.com'\n *\n * shortNameForFolder($rdf.namedNode('http://'))\n * // '/'\n * ```\n *\n * It also works with relative URLs:\n * ```typescript\n * shortNameForFolder($rdf.namedNode('../folder/'))\n * // 'folder'\n * ```\n *\n * @param x RDF Node for the folder URL\n * @returns Short name for the folder\n */\nexport function shortNameForFolder (x: NamedNode): string {\n let str = x.uri\n\n // Strip the trailing slash\n if (str.slice(-1) === '/') {\n str = str.slice(0, -1)\n }\n\n // Remove the path if present, keeping only the part\n // after the last slash.\n const slash = str.lastIndexOf('/')\n if (slash >= 0) {\n str = str.slice(slash + 1)\n }\n // Return the folder's filename, or '/' if nothing found\n // (but see https://github.com/solid/solid-ui/issues/196\n // regarding whether this happens at the domain root or\n // not)\n return str || '/'\n}\n\n/**\n * A wrapper that retrieves ACL data and uses it\n * to render an [[AccessController]] component.\n * Presumably the '5' is a version number of some sort,\n * but all we know is it was already called ACLControlBox5\n * when it was introduced into solid-ui in\n * https://github.com/solid/solid-ui/commit/948b874bd93e7bf5160e6e224821b888f07d15f3#diff-4192a29f38a0ababd563b36b47eba5bbR54\n */\nexport function ACLControlBox5 (\n subject: NamedNode,\n context: DataBrowserContext,\n noun: string,\n kb: IndexedFormula\n): HTMLElement {\n const dom = context.dom\n const doc = subject.doc() // The ACL is actually to the doc describing the thing\n const classes = getClasses(dom.head, styles).classes\n\n const container = dom.createElement('div')\n container.classList.add(classes.aclControlBoxContainer)\n\n const header = container.appendChild(dom.createElement('h1'))\n header.textContent = `Sharing for ${noun} ${utils.label(subject)}`\n header.classList.add(classes.aclControlBoxHeader)\n\n const status = container.appendChild(dom.createElement('div'))\n status.classList.add(classes.aclControlBoxStatus)\n\n try {\n loadController(doc, kb, subject, noun, context, classes, dom, status)\n .then(controller => container.appendChild(controller.render()))\n } catch (error) {\n status.innerText = error\n }\n\n return container\n}\n\nasync function loadController (\n doc: NamedNode,\n kb: IndexedFormula,\n subject: NamedNode,\n noun: string,\n context: DataBrowserContext,\n classes: Record<string, string>,\n dom: HTMLDocument,\n status: HTMLElement\n): Promise<AccessController> {\n return new Promise((resolve, reject) => getACLorDefault(doc, async (\n ok,\n isDirectACL,\n targetDoc,\n targetACLDoc,\n defaultHolder,\n defaultACLDoc\n ) => {\n if (!ok) {\n return reject(new Error(`Error reading ${isDirectACL ? '' : ' default '}ACL. status ${targetDoc}: ${targetACLDoc}`))\n }\n const targetDirectory = getDirectory(targetDoc as NamedNode)\n const targetIsProtected = isStorage(targetDoc as NamedNode, targetACLDoc as NamedNode, kb) || hasProtectedAcl(targetDoc as NamedNode)\n if (!targetIsProtected && targetDirectory) {\n try {\n const prospectiveDefaultHolder = await getProspectiveHolder(targetDirectory)\n return resolve(getController(prospectiveDefaultHolder))\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n warn(error)\n }\n }\n return resolve(getController())\n\n function getController (prospectiveDefaultHolder?: NamedNode) {\n return new AccessController(subject, noun, context, status, classes, targetIsProtected, targetDoc as NamedNode, targetACLDoc as NamedNode, defaultHolder as NamedNode,\n defaultACLDoc as NamedNode, prospectiveDefaultHolder, kb, dom)\n }\n }))\n}\n\nfunction getDirectory (doc: NamedNode): string | null {\n const str = doc.uri.split('#')[0]\n const p = str.slice(0, -1).lastIndexOf('/')\n const q = str.indexOf('//')\n return (q >= 0 && p < q + 2) || p < 0 ? null : str.slice(0, p + 1)\n}\n\nfunction isStorage (doc: NamedNode, aclDoc: NamedNode, store: IndexedFormula): boolean {\n // @@ TODO: The methods used for targetIsStorage are HACKs - it should not be relied upon, and work is\n // @@ underway to standardize a behavior that does not rely upon this hack\n // @@ hopefully fixed as part of https://github.com/solid/data-interoperability-panel/issues/10\n return store.holds(doc, ns.rdf('type'), ns.space('Storage'), aclDoc)\n}\n\nfunction hasProtectedAcl (targetDoc: NamedNode): boolean {\n // @@ TODO: This is hacky way of knowing whether or not a certain ACL file can be removed\n // Hopefully we'll find a better, standardized solution to this - https://github.com/solid/specification/issues/37\n return targetDoc.uri === targetDoc.site().uri\n}\n\n/** @internal */\nexport function setGlobalWindow (window: Window) {\n global = window\n}\n"],"file":"acl-control.js"}
1
+ {"version":3,"file":"acl-control.js","sourceRoot":"","sources":["../../src/acl/acl-control.ts"],"names":[],"mappings":"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"}
package/lib/acl/acl.d.ts CHANGED
@@ -5,8 +5,7 @@
5
5
  * @packageDocumentation
6
6
  */
7
7
  import { AgentMapMap, AgentMapUnion, ComboList } from './types';
8
- import { IndexedFormula, NamedNode } from 'rdflib';
9
- import { LiveStore } from 'pane-registry';
8
+ import { IndexedFormula, NamedNode, LiveStore } from 'rdflib';
10
9
  /**
11
10
  * Take the "default" ACL and convert it into the equivlent ACL
12
11
  * which the resource would have had. Return it as a new separate store.
@@ -1 +1 @@
1
- {"version":3,"file":"acl.d.ts","sourceRoot":"","sources":["../../src/acl/acl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acl.d.ts","sourceRoot":"","sources":["../../src/acl/acl.ts"],"names":[],"mappings":"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"}