solid-ui 2.4.16-9d8eda18 → 2.4.16-9e276990
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/acl/access-controller.d.ts.map +1 -1
- package/lib/acl/access-controller.js +5 -1
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +2 -2
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +1 -5
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +4 -2
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts.map +1 -1
- package/lib/acl/add-agent-buttons.js +5 -5
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/authn/authSession.d.ts +4 -0
- package/lib/authn/authSession.d.ts.map +1 -0
- package/lib/authn/authSession.js +25 -0
- package/lib/authn/authSession.js.map +1 -0
- package/lib/authn/authn.d.ts +193 -0
- package/lib/authn/authn.d.ts.map +1 -0
- package/lib/authn/authn.js +2238 -0
- package/lib/authn/authn.js.map +1 -0
- package/lib/{signup → authn}/config-default.js +0 -0
- package/lib/authn/config-default.js.map +1 -0
- package/lib/authn/index.d.ts +35 -0
- package/lib/authn/index.d.ts.map +1 -0
- package/lib/authn/index.js +44 -0
- package/lib/authn/index.js.map +1 -0
- package/lib/{signup → authn}/signup.js +0 -0
- package/lib/authn/signup.js.map +1 -0
- package/lib/authn/types.d.ts +25 -0
- package/lib/authn/types.d.ts.map +1 -0
- package/lib/authn/types.js +6 -0
- package/lib/authn/types.js.map +1 -0
- package/lib/chat/bookmarks.js +22 -20
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +15 -13
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +10 -10
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +16 -14
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +21 -17
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +21 -16
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +24 -24
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.d.ts.map +1 -1
- package/lib/create/create.js +9 -9
- package/lib/create/create.js.map +1 -1
- package/lib/folders.js +6 -2
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.js +4 -4
- package/lib/footer/index.js.map +1 -1
- package/lib/header/index.d.ts.map +1 -1
- package/lib/header/index.js +8 -11
- package/lib/header/index.js.map +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +34 -27
- package/lib/index.js.map +1 -1
- package/lib/logic.d.ts +8 -0
- package/lib/logic.d.ts.map +1 -0
- package/lib/logic.js +79 -0
- package/lib/logic.js.map +1 -0
- package/lib/matrix/matrix.js +2 -2
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/messageArea.js +10 -9
- package/lib/messageArea.js.map +1 -1
- package/lib/pad.js +2 -2
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts.map +1 -1
- package/lib/participation.js +63 -33
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +8 -8
- package/lib/preferences.js.map +1 -1
- package/lib/table.js +3 -2
- package/lib/table.js.map +1 -1
- package/lib/tabs.js +3 -3
- package/lib/tabs.js.map +1 -1
- package/lib/utils/index.js +6 -6
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.js +4 -4
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +9 -9
- package/lib/versionInfo.js.map +1 -1
- package/lib/webpack-bundle.js +84796 -68391
- package/lib/webpack-bundle.js.map +1 -1
- package/lib/widgets/buttons.js +16 -16
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +2 -2
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +2 -2
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +2 -2
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +11 -6
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +22 -14
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +1 -1
- package/lib/widgets/forms/basic.d.ts.map +1 -1
- package/lib/widgets/forms/basic.js +2 -2
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.d.ts +1 -1
- package/lib/widgets/forms/comment.js +3 -3
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +2 -2
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/formStyle.js +3 -3
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +10 -10
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/peoplePicker.js +2 -2
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/package.json +2 -2
- package/lib/login/login.d.ts +0 -130
- package/lib/login/login.d.ts.map +0 -1
- package/lib/login/login.js +0 -1412
- package/lib/login/login.js.map +0 -1
- package/lib/signup/config-default.js.map +0 -1
- package/lib/signup/signup.js.map +0 -1
|
@@ -19,17 +19,17 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
19
19
|
|
|
20
20
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
21
|
|
|
22
|
-
var debug = _interopRequireWildcard(require("../debug"));
|
|
23
|
-
|
|
24
22
|
var _iconBase = require("../iconBase");
|
|
25
23
|
|
|
26
|
-
var
|
|
24
|
+
var widgets = _interopRequireWildcard(require("../widgets"));
|
|
27
25
|
|
|
28
26
|
var ns = _interopRequireWildcard(require("../ns"));
|
|
29
27
|
|
|
28
|
+
var _authn = require("../authn/authn");
|
|
29
|
+
|
|
30
30
|
var utils = _interopRequireWildcard(require("../utils"));
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var debug = _interopRequireWildcard(require("../debug"));
|
|
33
33
|
|
|
34
34
|
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); }
|
|
35
35
|
|
|
@@ -243,7 +243,7 @@ var AddAgentButtons = /*#__PURE__*/function () {
|
|
|
243
243
|
switch (_context.prev = _context.next) {
|
|
244
244
|
case 0:
|
|
245
245
|
_context.next = 2;
|
|
246
|
-
return (0,
|
|
246
|
+
return (0, _authn.logInLoadProfile)(eventContext);
|
|
247
247
|
|
|
248
248
|
case 2:
|
|
249
249
|
trustedApps = this.groupList.store.each(eventContext.me, ns.acl('trustedApp')); // @@ TODO fix as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/acl/add-agent-buttons.ts"],"names":["AddAgentButtons","groupList","rootElement","controller","dom","createElement","barElement","innerHTML","appendChild","renderAddButton","widgets","button","icons","iconBase","toggleBar","renderBar","isExpanded","renderPersonButton","renderGroupButton","renderPublicButton","renderAuthenticatedAgentButton","renderBotButton","renderAppsButton","Array","from","children","filter","element","forEach","removeChild","iconForClass","event","renderSimplifiedBar","target","renderNameForm","ns","vcard","then","name","addPerson","renderCleanup","error","renderStatus","addGroup","type","noun","askName","store","addAgent","foaf","uri","renderTemporaryStatus","acl","schema","addBot","eventContext","div","existingApps","renderAppsTable","renderAppsView","newApp","getOriginFromName","Promise","race","origin","addNewURI","trustedApplications","context","session","paneRegistry","byName","trustedApplicationsElement","render","classList","add","classes","trustedAppController","cancelButton","trustedAppCancelButton","insertBefore","firstChild","trustedApps","each","me","trustedOrigins","flatMap","app","textContent","length","resolve","reject","appsTable","trustedAppAddApplicationsTable","any","Error","value","thingTR","personTR","innerTable","innerRow","innerLeftColumn","innerMiddleColumn","utils","label","subject","innerRightColumn","continueButton","domainNameRegexp","match","debug","log","agentUri"],"mappings":"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","sourcesContent":["/**\n * Contains the [[AddAgentButtons]] class\n * @packageDocumentation\n */\n\nimport { NamedNode, Store } from 'rdflib'\nimport { AuthenticationContext } from 'solid-logic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { logInLoadProfile } from '../login/login'\nimport * as ns from '../ns'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { AccessGroups } from './access-groups'\n\n/**\n * Renders the Sharing pane's \"+\" button and the menus behind it,\n * see https://github.com/solid/userguide/blob/main/views/sharing/userguide.md#add\n */\nexport class AddAgentButtons {\n private readonly rootElement: HTMLElement\n private readonly barElement: HTMLElement\n private isExpanded: boolean = false\n\n constructor (private groupList: AccessGroups) {\n this.rootElement = groupList.controller.dom.createElement('div')\n this.barElement = groupList.controller.dom.createElement('div')\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n this.rootElement.appendChild(this.renderAddButton())\n this.rootElement.appendChild(this.barElement)\n return this.rootElement\n }\n\n private renderAddButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_34653_green.svg`,\n 'Add ...',\n () => {\n this.toggleBar()\n this.renderBar()\n }\n )\n }\n\n private renderBar (): void {\n this.barElement.innerHTML = ''\n if (!this.isExpanded) {\n return\n }\n this.barElement.appendChild(this.renderPersonButton())\n this.barElement.appendChild(this.renderGroupButton())\n this.barElement.appendChild(this.renderPublicButton())\n this.barElement.appendChild(this.renderAuthenticatedAgentButton())\n this.barElement.appendChild(this.renderBotButton())\n this.barElement.appendChild(this.renderAppsButton())\n }\n\n private renderSimplifiedBar (button: EventTarget | null) {\n Array.from(this.barElement.children)\n .filter(element => element !== button)\n .forEach(element => this.barElement.removeChild(element))\n }\n\n private renderPersonButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['vcard:Individual'],\n 'Add Person',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.vcard('Individual'), 'person')\n .then(name => this.addPerson(name))\n .then(() => this.renderCleanup())\n .catch(error => this.groupList.controller.renderStatus(error))\n }\n )\n }\n\n private renderGroupButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['vcard:Group'],\n 'Add Group',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.vcard('Group'), 'group')\n .then(name => this.addGroup(name))\n .then(() => this.renderCleanup())\n .catch(error => this.groupList.controller.renderStatus(error))\n }\n )\n }\n\n private renderNameForm (type: NamedNode, noun: string): Promise<string | undefined> {\n return widgets.askName(\n this.groupList.controller.dom,\n this.groupList.store,\n this.barElement,\n ns.vcard('URI'),\n type,\n noun\n )\n }\n\n private renderPublicButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['foaf:Agent'],\n 'Add Everyone',\n () => this.addAgent(ns.foaf('Agent').uri)\n .then(() => this.groupList.controller.renderTemporaryStatus('Adding the general public to those who can read. Drag the globe to a different level to give them more access.'))\n .then(() => this.renderCleanup()))\n }\n\n private renderAuthenticatedAgentButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_99101.svg`,\n 'Anyone logged In',\n () => this.addAgent(ns.acl('AuthenticatedAgent').uri)\n .then(() => this.groupList.controller.renderTemporaryStatus('Adding anyone logged in to those who can read. Drag the ID icon to a different level to give them more access.'))\n .then(() => this.renderCleanup()))\n }\n\n private renderBotButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + 'noun_Robot_849764.svg',\n 'A Software Agent (bot)',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.schema('Application'), 'bot')\n .then(name => this.addBot(name))\n .then(() => this.renderCleanup())\n })\n }\n\n private renderAppsButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_15177.svg`,\n 'A Web App (origin)',\n event => {\n this.renderSimplifiedBar(event.target)\n const eventContext = {\n div: this.barElement,\n dom: this.groupList.controller.dom\n }\n const existingApps = this.renderAppsTable(eventContext)\n .catch(error => this.groupList.controller.renderStatus(error))\n this.renderAppsView()\n const newApp = this.renderNameForm(ns.schema('WebApplication'), 'webapp domain')\n .then(name => this.getOriginFromName(name))\n Promise.race([\n existingApps,\n newApp\n ])\n .then(origin => {\n if (origin) {\n this.groupList.addNewURI(origin)\n }\n })\n .then(() => this.renderCleanup())\n }\n )\n }\n\n private renderAppsView (): void {\n const trustedApplications = this.groupList.controller.context.session.paneRegistry.byName('trustedApplications')\n if (trustedApplications) {\n const trustedApplicationsElement = trustedApplications.render(null, this.groupList.controller.context)\n trustedApplicationsElement.classList.add(this.groupList.controller.classes.trustedAppController)\n\n const cancelButton = widgets.cancelButton(this.groupList.controller.dom, () => this.renderCleanup())\n cancelButton.classList.add(this.groupList.controller.classes.trustedAppCancelButton)\n trustedApplicationsElement.insertBefore(cancelButton, trustedApplicationsElement.firstChild)\n\n this.barElement.appendChild(trustedApplicationsElement)\n }\n }\n\n private async renderAppsTable (eventContext: AuthenticationContext): Promise<string> {\n await logInLoadProfile(eventContext)\n const trustedApps = (this.groupList.store as Store).each(eventContext.me, ns.acl('trustedApp')) as Array<NamedNode> // @@ TODO fix as\n const trustedOrigins = trustedApps.flatMap(app => (this.groupList.store as Store).each(app, ns.acl('origin'))) // @@ TODO fix as\n\n this.barElement.appendChild(this.groupList.controller.dom.createElement('p')).textContent = `You have ${trustedOrigins.length} selected web apps.`\n return new Promise((resolve, reject) => {\n const appsTable = this.barElement.appendChild(this.groupList.controller.dom.createElement('table'))\n appsTable.classList.add(this.groupList.controller.classes.trustedAppAddApplicationsTable)\n trustedApps.forEach(app => {\n const origin = (this.groupList.store as Store).any(app, ns.acl('origin')) // @@ TODO fix as\n if (!origin) {\n reject(new Error(`Unable to pick app: ${app.value}`))\n }\n const thingTR = widgets.personTR(this.groupList.controller.dom, ns.acl('origin'), origin, {})\n const innerTable = this.groupList.controller.dom.createElement('table')\n const innerRow = innerTable.appendChild(this.groupList.controller.dom.createElement('tr'))\n\n const innerLeftColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerLeftColumn.appendChild(thingTR)\n\n const innerMiddleColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerMiddleColumn.textContent = `Give access to ${this.groupList.controller.noun} ${utils.label(this.groupList.controller.subject)}?`\n\n const innerRightColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerRightColumn.appendChild(widgets.continueButton(this.groupList.controller.dom, () => resolve(origin!.value)))\n\n appsTable.appendChild(innerTable)\n })\n })\n }\n\n private renderCleanup (): void {\n this.renderBar()\n this.groupList.render()\n }\n\n private async addPerson (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a person and has an owner who agrees they own it\n debug.log(`Adding to ACL person: ${name}`)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async addGroup (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a group and has an owner who agrees they own it\n debug.log('Adding to ACL group: ' + name)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async addAgent (agentUri: string): Promise<void> {\n await this.groupList.addNewURI(agentUri)\n this.toggleBar()\n }\n\n private async addBot (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a bot and has an owner who agrees they own it\n debug.log('Adding to ACL bot: ' + name)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async getOriginFromName (name?: string): Promise<string | void> {\n if (!name) return Promise.resolve() // user cancelled\n const domainNameRegexp = /^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$/i\n // https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a domain name'))\n }\n const origin = 'https://' + name\n debug.log('Adding to ACL origin: ' + origin)\n this.toggleBar()\n return origin\n }\n\n private toggleBar (): void {\n this.isExpanded = !this.isExpanded\n }\n}\n"],"file":"add-agent-buttons.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/acl/add-agent-buttons.ts"],"names":["AddAgentButtons","groupList","rootElement","controller","dom","createElement","barElement","innerHTML","appendChild","renderAddButton","widgets","button","icons","iconBase","toggleBar","renderBar","isExpanded","renderPersonButton","renderGroupButton","renderPublicButton","renderAuthenticatedAgentButton","renderBotButton","renderAppsButton","Array","from","children","filter","element","forEach","removeChild","iconForClass","event","renderSimplifiedBar","target","renderNameForm","ns","vcard","then","name","addPerson","renderCleanup","error","renderStatus","addGroup","type","noun","askName","store","addAgent","foaf","uri","renderTemporaryStatus","acl","schema","addBot","eventContext","div","existingApps","renderAppsTable","renderAppsView","newApp","getOriginFromName","Promise","race","origin","addNewURI","trustedApplications","context","session","paneRegistry","byName","trustedApplicationsElement","render","classList","add","classes","trustedAppController","cancelButton","trustedAppCancelButton","insertBefore","firstChild","trustedApps","each","me","trustedOrigins","flatMap","app","textContent","length","resolve","reject","appsTable","trustedAppAddApplicationsTable","any","Error","value","thingTR","personTR","innerTable","innerRow","innerLeftColumn","innerMiddleColumn","utils","label","subject","innerRightColumn","continueButton","domainNameRegexp","match","debug","log","agentUri"],"mappings":"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","sourcesContent":["/**\n * Contains the [[AddAgentButtons]] class\n * @packageDocumentation\n */\n\nimport { AccessGroups } from './access-groups'\nimport { icons } from '../iconBase'\nimport * as widgets from '../widgets'\nimport * as ns from '../ns'\nimport { logInLoadProfile } from '../authn/authn'\nimport * as utils from '../utils'\nimport { NamedNode, Store } from 'rdflib'\nimport { AuthenticationContext } from '../authn/types'\nimport * as debug from '../debug'\n\n/**\n * Renders the Sharing pane's \"+\" button and the menus behind it,\n * see https://github.com/solid/userguide/blob/main/views/sharing/userguide.md#add\n */\nexport class AddAgentButtons {\n private readonly rootElement: HTMLElement\n private readonly barElement: HTMLElement\n private isExpanded: boolean = false\n\n constructor (private groupList: AccessGroups) {\n this.rootElement = groupList.controller.dom.createElement('div')\n this.barElement = groupList.controller.dom.createElement('div')\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n this.rootElement.appendChild(this.renderAddButton())\n this.rootElement.appendChild(this.barElement)\n return this.rootElement\n }\n\n private renderAddButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_34653_green.svg`,\n 'Add ...',\n () => {\n this.toggleBar()\n this.renderBar()\n }\n )\n }\n\n private renderBar (): void {\n this.barElement.innerHTML = ''\n if (!this.isExpanded) {\n return\n }\n this.barElement.appendChild(this.renderPersonButton())\n this.barElement.appendChild(this.renderGroupButton())\n this.barElement.appendChild(this.renderPublicButton())\n this.barElement.appendChild(this.renderAuthenticatedAgentButton())\n this.barElement.appendChild(this.renderBotButton())\n this.barElement.appendChild(this.renderAppsButton())\n }\n\n private renderSimplifiedBar (button: EventTarget | null) {\n Array.from(this.barElement.children)\n .filter(element => element !== button)\n .forEach(element => this.barElement.removeChild(element))\n }\n\n private renderPersonButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['vcard:Individual'],\n 'Add Person',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.vcard('Individual'), 'person')\n .then(name => this.addPerson(name))\n .then(() => this.renderCleanup())\n .catch(error => this.groupList.controller.renderStatus(error))\n }\n )\n }\n\n private renderGroupButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['vcard:Group'],\n 'Add Group',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.vcard('Group'), 'group')\n .then(name => this.addGroup(name))\n .then(() => this.renderCleanup())\n .catch(error => this.groupList.controller.renderStatus(error))\n }\n )\n }\n\n private renderNameForm (type: NamedNode, noun: string): Promise<string | undefined> {\n return widgets.askName(\n this.groupList.controller.dom,\n this.groupList.store,\n this.barElement,\n ns.vcard('URI'),\n type,\n noun\n )\n }\n\n private renderPublicButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['foaf:Agent'],\n 'Add Everyone',\n () => this.addAgent(ns.foaf('Agent').uri)\n .then(() => this.groupList.controller.renderTemporaryStatus('Adding the general public to those who can read. Drag the globe to a different level to give them more access.'))\n .then(() => this.renderCleanup()))\n }\n\n private renderAuthenticatedAgentButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_99101.svg`,\n 'Anyone logged In',\n () => this.addAgent(ns.acl('AuthenticatedAgent').uri)\n .then(() => this.groupList.controller.renderTemporaryStatus('Adding anyone logged in to those who can read. Drag the ID icon to a different level to give them more access.'))\n .then(() => this.renderCleanup()))\n }\n\n private renderBotButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + 'noun_Robot_849764.svg',\n 'A Software Agent (bot)',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.schema('Application'), 'bot')\n .then(name => this.addBot(name))\n .then(() => this.renderCleanup())\n })\n }\n\n private renderAppsButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_15177.svg`,\n 'A Web App (origin)',\n event => {\n this.renderSimplifiedBar(event.target)\n const eventContext = {\n div: this.barElement,\n dom: this.groupList.controller.dom\n }\n const existingApps = this.renderAppsTable(eventContext)\n .catch(error => this.groupList.controller.renderStatus(error))\n this.renderAppsView()\n const newApp = this.renderNameForm(ns.schema('WebApplication'), 'webapp domain')\n .then(name => this.getOriginFromName(name))\n Promise.race([\n existingApps,\n newApp\n ])\n .then(origin => {\n if (origin) {\n this.groupList.addNewURI(origin)\n }\n })\n .then(() => this.renderCleanup())\n }\n )\n }\n\n private renderAppsView (): void {\n const trustedApplications = this.groupList.controller.context.session.paneRegistry.byName('trustedApplications')\n if (trustedApplications) {\n const trustedApplicationsElement = trustedApplications.render(null, this.groupList.controller.context)\n trustedApplicationsElement.classList.add(this.groupList.controller.classes.trustedAppController)\n\n const cancelButton = widgets.cancelButton(this.groupList.controller.dom, () => this.renderCleanup())\n cancelButton.classList.add(this.groupList.controller.classes.trustedAppCancelButton)\n trustedApplicationsElement.insertBefore(cancelButton, trustedApplicationsElement.firstChild)\n\n this.barElement.appendChild(trustedApplicationsElement)\n }\n }\n\n private async renderAppsTable (eventContext: AuthenticationContext): Promise<string> {\n await logInLoadProfile(eventContext)\n const trustedApps = (this.groupList.store as Store).each(eventContext.me, ns.acl('trustedApp')) as Array<NamedNode> // @@ TODO fix as\n const trustedOrigins = trustedApps.flatMap(app => (this.groupList.store as Store).each(app, ns.acl('origin'))) // @@ TODO fix as\n\n this.barElement.appendChild(this.groupList.controller.dom.createElement('p')).textContent = `You have ${trustedOrigins.length} selected web apps.`\n return new Promise((resolve, reject) => {\n const appsTable = this.barElement.appendChild(this.groupList.controller.dom.createElement('table'))\n appsTable.classList.add(this.groupList.controller.classes.trustedAppAddApplicationsTable)\n trustedApps.forEach(app => {\n const origin = (this.groupList.store as Store).any(app, ns.acl('origin')) // @@ TODO fix as\n if (!origin) {\n reject(new Error(`Unable to pick app: ${app.value}`))\n }\n const thingTR = widgets.personTR(this.groupList.controller.dom, ns.acl('origin'), origin, {})\n const innerTable = this.groupList.controller.dom.createElement('table')\n const innerRow = innerTable.appendChild(this.groupList.controller.dom.createElement('tr'))\n\n const innerLeftColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerLeftColumn.appendChild(thingTR)\n\n const innerMiddleColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerMiddleColumn.textContent = `Give access to ${this.groupList.controller.noun} ${utils.label(this.groupList.controller.subject)}?`\n\n const innerRightColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerRightColumn.appendChild(widgets.continueButton(this.groupList.controller.dom, () => resolve(origin!.value)))\n\n appsTable.appendChild(innerTable)\n })\n })\n }\n\n private renderCleanup (): void {\n this.renderBar()\n this.groupList.render()\n }\n\n private async addPerson (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a person and has an owner who agrees they own it\n debug.log(`Adding to ACL person: ${name}`)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async addGroup (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a group and has an owner who agrees they own it\n debug.log('Adding to ACL group: ' + name)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async addAgent (agentUri: string): Promise<void> {\n await this.groupList.addNewURI(agentUri)\n this.toggleBar()\n }\n\n private async addBot (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a bot and has an owner who agrees they own it\n debug.log('Adding to ACL bot: ' + name)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async getOriginFromName (name?: string): Promise<string | void> {\n if (!name) return Promise.resolve() // user cancelled\n const domainNameRegexp = /^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$/i\n // https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a domain name'))\n }\n const origin = 'https://' + name\n debug.log('Adding to ACL origin: ' + origin)\n this.toggleBar()\n return origin\n }\n\n private toggleBar (): void {\n this.isExpanded = !this.isExpanded\n }\n}\n"],"file":"add-agent-buttons.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authSession.d.ts","sourceRoot":"","sources":["../../src/authn/authSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAER,MAAM,oCAAoC,CAAA;AAE3C,QAAA,IAAI,WAAW,EAAE,OAAO,CAAA;AAgBxB,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _solidClientAuthnBrowser = require("@inrupt/solid-client-authn-browser");
|
|
9
|
+
|
|
10
|
+
var authSession; // @ts-ignore
|
|
11
|
+
|
|
12
|
+
if (!window.authSession) {
|
|
13
|
+
authSession = new _solidClientAuthnBrowser.Session({
|
|
14
|
+
clientAuthentication: (0, _solidClientAuthnBrowser.getClientAuthenticationWithDependencies)({})
|
|
15
|
+
}, 'mySession'); // @ts-ignore
|
|
16
|
+
|
|
17
|
+
window.authSession = authSession;
|
|
18
|
+
} else {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
authSession = window.authSession;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var _default = authSession;
|
|
24
|
+
exports["default"] = _default;
|
|
25
|
+
//# sourceMappingURL=authSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/authn/authSession.ts"],"names":["authSession","window","Session","clientAuthentication"],"mappings":";;;;;;;AAAA;;AAKA,IAAIA,WAAJ,C,CACA;;AACA,IAAI,CAACC,MAAM,CAACD,WAAZ,EAAyB;AACvBA,EAAAA,WAAW,GAAG,IAAIE,gCAAJ,CACZ;AACEC,IAAAA,oBAAoB,EAAE,sEAAwC,EAAxC;AADxB,GADY,EAIZ,WAJY,CAAd,CADuB,CAOvB;;AACAF,EAAAA,MAAM,CAACD,WAAP,GAAqBA,WAArB;AACD,CATD,MASO;AACL;AACAA,EAAAA,WAAW,GAAGC,MAAM,CAACD,WAArB;AACD;;eAEcA,W","sourcesContent":["import {\n Session,\n getClientAuthenticationWithDependencies\n} from '@inrupt/solid-client-authn-browser'\n\nlet authSession: Session\n// @ts-ignore\nif (!window.authSession) {\n authSession = new Session(\n {\n clientAuthentication: getClientAuthenticationWithDependencies({})\n },\n 'mySession'\n )\n // @ts-ignore\n window.authSession = authSession\n} else {\n // @ts-ignore\n authSession = window.authSession\n}\n\nexport default authSession\n"],"file":"authSession.js"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signing in, signing up, profile and preferences reloading
|
|
3
|
+
* Type index management
|
|
4
|
+
*
|
|
5
|
+
* Many functions in this module take a context object which
|
|
6
|
+
* holds various RDF symbols, add to it, and return a promise of it.
|
|
7
|
+
*
|
|
8
|
+
* * `me` RDF symbol for the user's WebID
|
|
9
|
+
* * `publicProfile` The user's public profile, iff loaded
|
|
10
|
+
* * `preferencesFile` The user's personal preference file, iff loaded
|
|
11
|
+
* * `index.public` The user's public type index file
|
|
12
|
+
* * `index.private` The user's private type index file
|
|
13
|
+
*
|
|
14
|
+
* Not RDF symbols:
|
|
15
|
+
* * `noun` A string in english for the type of thing -- like "address book"
|
|
16
|
+
* * `instance` An array of nodes which are existing instances
|
|
17
|
+
* * `containers` An array of nodes of containers of instances
|
|
18
|
+
* * `div` A DOM element where UI can be displayed
|
|
19
|
+
* * `statusArea` A DOM element (opt) progress stuff can be displayed, or error messages
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
import { NamedNode } from 'rdflib';
|
|
23
|
+
import { PaneDefinition } from 'pane-registry';
|
|
24
|
+
import { AppDetails, AuthenticationContext } from './types';
|
|
25
|
+
export declare const authSession: import("@inrupt/solid-client-authn-browser").Session;
|
|
26
|
+
/**
|
|
27
|
+
* Look for and load the User who has control over it
|
|
28
|
+
*/
|
|
29
|
+
export declare function findOriginOwner(doc: NamedNode | string): string | boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Saves `webId` in `context.me`
|
|
32
|
+
* @param webId
|
|
33
|
+
* @param context
|
|
34
|
+
*
|
|
35
|
+
* @returns Returns the WebID, after setting it
|
|
36
|
+
*/
|
|
37
|
+
export declare function saveUser(webId: NamedNode | string | null, context?: AuthenticationContext): NamedNode | null;
|
|
38
|
+
/**
|
|
39
|
+
* Wrapper around [[offlineTestID]]
|
|
40
|
+
* @returns {NamedNode|null}
|
|
41
|
+
*/
|
|
42
|
+
export declare function defaultTestUser(): NamedNode | null;
|
|
43
|
+
/**
|
|
44
|
+
* Checks synchronously whether user is logged in
|
|
45
|
+
*
|
|
46
|
+
* @returns Named Node or null
|
|
47
|
+
*/
|
|
48
|
+
export declare function currentUser(): NamedNode | null;
|
|
49
|
+
/**
|
|
50
|
+
* Resolves with the logged in user's WebID
|
|
51
|
+
*
|
|
52
|
+
* @param context
|
|
53
|
+
*/
|
|
54
|
+
export declare function logIn(context: AuthenticationContext): Promise<AuthenticationContext>;
|
|
55
|
+
/**
|
|
56
|
+
* Logs the user in and loads their WebID profile document into the store
|
|
57
|
+
*
|
|
58
|
+
* @param context
|
|
59
|
+
*
|
|
60
|
+
* @returns Resolves with the context after login / fetch
|
|
61
|
+
*/
|
|
62
|
+
export declare function logInLoadProfile(context: AuthenticationContext): Promise<AuthenticationContext>;
|
|
63
|
+
/**
|
|
64
|
+
* Loads preference file
|
|
65
|
+
* Do this after having done log in and load profile
|
|
66
|
+
*
|
|
67
|
+
* @private
|
|
68
|
+
*
|
|
69
|
+
* @param context
|
|
70
|
+
*/
|
|
71
|
+
export declare function logInLoadPreferences(context: AuthenticationContext): Promise<AuthenticationContext>;
|
|
72
|
+
export declare function loadTypeIndexes(context: AuthenticationContext): Promise<AuthenticationContext>;
|
|
73
|
+
/**
|
|
74
|
+
* Returns promise of context with arrays of symbols
|
|
75
|
+
*
|
|
76
|
+
* 2016-12-11 change to include forClass arc a la
|
|
77
|
+
* https://github.com/solid/solid/blob/main/proposals/data-discovery.md
|
|
78
|
+
*/
|
|
79
|
+
export declare function findAppInstances(context: AuthenticationContext, theClass: NamedNode, isPublic?: boolean): Promise<AuthenticationContext>;
|
|
80
|
+
/**
|
|
81
|
+
* Register a new app in a type index
|
|
82
|
+
*/
|
|
83
|
+
export declare function registerInTypeIndex(context: AuthenticationContext, instance: NamedNode, theClass: NamedNode, isPublic: boolean): Promise<AuthenticationContext>;
|
|
84
|
+
/**
|
|
85
|
+
* UI to control registration of instance
|
|
86
|
+
*/
|
|
87
|
+
export declare function registrationControl(context: AuthenticationContext, instance: any, theClass: any): Promise<AuthenticationContext | void>;
|
|
88
|
+
/**
|
|
89
|
+
* UI to List at all registered things
|
|
90
|
+
*/
|
|
91
|
+
export declare function registrationList(context: AuthenticationContext, options: {
|
|
92
|
+
private?: boolean;
|
|
93
|
+
public?: boolean;
|
|
94
|
+
type?: NamedNode;
|
|
95
|
+
}): Promise<AuthenticationContext>;
|
|
96
|
+
/**
|
|
97
|
+
* Simple Access Control
|
|
98
|
+
*
|
|
99
|
+
* This function sets up a simple default ACL for a resource, with
|
|
100
|
+
* RWC for the owner, and a specified access (default none) for the public.
|
|
101
|
+
* In all cases owner has read write control.
|
|
102
|
+
* Parameter lists modes allowed to public
|
|
103
|
+
*
|
|
104
|
+
* @param options
|
|
105
|
+
* @param options.public eg ['Read', 'Write']
|
|
106
|
+
*
|
|
107
|
+
* @returns Resolves with aclDoc uri on successful write
|
|
108
|
+
*/
|
|
109
|
+
export declare function setACLUserPublic(docURI: string, me: NamedNode, options: {
|
|
110
|
+
defaultForNew?: boolean;
|
|
111
|
+
public?: [];
|
|
112
|
+
}): Promise<NamedNode>;
|
|
113
|
+
/**
|
|
114
|
+
* Returns `sym($SolidTestEnvironment.username)` if
|
|
115
|
+
* `$SolidTestEnvironment.username` is defined as a global
|
|
116
|
+
* @returns {NamedNode|null}
|
|
117
|
+
*/
|
|
118
|
+
export declare function offlineTestID(): NamedNode | null;
|
|
119
|
+
export declare function renderSignInPopup(dom: HTMLDocument): void;
|
|
120
|
+
/**
|
|
121
|
+
* @returns {Promise<string|null>} Resolves with WebID URI or null
|
|
122
|
+
*/
|
|
123
|
+
/**
|
|
124
|
+
* Retrieves currently logged in webId from either
|
|
125
|
+
* defaultTestUser or SolidAuth
|
|
126
|
+
* @param [setUserCallback] Optional callback
|
|
127
|
+
*
|
|
128
|
+
* @returns Resolves with webId uri, if no callback provided
|
|
129
|
+
*/
|
|
130
|
+
export declare function checkUser<T>(setUserCallback?: (me: NamedNode | null) => T): Promise<NamedNode | T | null>;
|
|
131
|
+
/**
|
|
132
|
+
* Login status box
|
|
133
|
+
*
|
|
134
|
+
* A big sign-up/sign in box or a logout box depending on the state
|
|
135
|
+
*
|
|
136
|
+
* @param dom
|
|
137
|
+
* @param listener
|
|
138
|
+
*
|
|
139
|
+
* @returns
|
|
140
|
+
*/
|
|
141
|
+
export declare function loginStatusBox(dom: HTMLDocument, listener?: ((uri: string | null) => void) | null, options?: {
|
|
142
|
+
buttonStyle?: string;
|
|
143
|
+
}): HTMLElement;
|
|
144
|
+
/**
|
|
145
|
+
* Workspace selection etc
|
|
146
|
+
* See https://github.com/solid/userguide/issues/16
|
|
147
|
+
*/
|
|
148
|
+
/**
|
|
149
|
+
* Returns a UI object which, if it selects a workspace,
|
|
150
|
+
* will callback(workspace, newBase).
|
|
151
|
+
* See https://github.com/solid/userguide/issues/16 for more info on workspaces.
|
|
152
|
+
*
|
|
153
|
+
* If necessary, will get an account, preference file, etc. In sequence:
|
|
154
|
+
*
|
|
155
|
+
* - If not logged in, log in.
|
|
156
|
+
* - Load preference file
|
|
157
|
+
* - Prompt user for workspaces
|
|
158
|
+
* - Allows the user to just type in a URI by hand
|
|
159
|
+
*
|
|
160
|
+
* Calls back with the workspace and the base URI
|
|
161
|
+
*
|
|
162
|
+
* @param dom
|
|
163
|
+
* @param appDetails
|
|
164
|
+
* @param callbackWS
|
|
165
|
+
*/
|
|
166
|
+
export declare function selectWorkspace(dom: HTMLDocument, appDetails: AppDetails, callbackWS: (workspace: string | null, newBase: string) => void): HTMLElement;
|
|
167
|
+
/**
|
|
168
|
+
* Creates a new instance of an app.
|
|
169
|
+
*
|
|
170
|
+
* An instance of an app could be e.g. an issue tracker for a given project,
|
|
171
|
+
* or a chess game, or calendar, or a health/fitness record for a person.
|
|
172
|
+
*
|
|
173
|
+
* Note that this use of the term 'app' refers more to entries in the user's
|
|
174
|
+
* type index than to actual software applications that use the personal data
|
|
175
|
+
* to which these entries point.
|
|
176
|
+
*
|
|
177
|
+
* @param dom
|
|
178
|
+
* @param appDetails
|
|
179
|
+
* @param callback
|
|
180
|
+
*
|
|
181
|
+
* @returns A div with a button in it for making a new app instance
|
|
182
|
+
*/
|
|
183
|
+
export declare function newAppInstance(dom: HTMLDocument, appDetails: AppDetails, callback: (workspace: string | null, newBase: string) => void): HTMLElement;
|
|
184
|
+
/**
|
|
185
|
+
* Retrieves whether the currently logged in user is a power user
|
|
186
|
+
* and/or a developer
|
|
187
|
+
*/
|
|
188
|
+
export declare function getUserRoles(): Promise<Array<NamedNode>>;
|
|
189
|
+
/**
|
|
190
|
+
* Filters which panes should be available, based on the result of [[getUserRoles]]
|
|
191
|
+
*/
|
|
192
|
+
export declare function filterAvailablePanes(panes: Array<PaneDefinition>): Promise<Array<PaneDefinition>>;
|
|
193
|
+
//# sourceMappingURL=authn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authn.d.ts","sourceRoot":"","sources":["../../src/authn/authn.ts"],"names":[],"mappings":"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"}
|