solid-ui 2.4.25 → 2.4.26-068520ea

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 (82) hide show
  1. package/dist/main.js +1866 -1158
  2. package/dist/main.js.map +1 -1
  3. package/lib/acl/access-controller.js.map +1 -1
  4. package/lib/acl/access-groups.js.map +1 -1
  5. package/lib/acl/acl-control.js.map +1 -1
  6. package/lib/acl/acl.js.map +1 -1
  7. package/lib/acl/add-agent-buttons.js.map +1 -1
  8. package/lib/acl/index.js.map +1 -1
  9. package/lib/acl/styles.js.map +1 -1
  10. package/lib/chat/bookmarks.js +6 -7
  11. package/lib/chat/bookmarks.js.map +1 -1
  12. package/lib/chat/chatLogic.js +250 -61
  13. package/lib/chat/chatLogic.js.map +1 -1
  14. package/lib/chat/dateFolder.js.map +1 -1
  15. package/lib/chat/infinite.js +604 -426
  16. package/lib/chat/infinite.js.map +1 -1
  17. package/lib/chat/message.js +286 -158
  18. package/lib/chat/message.js.map +1 -1
  19. package/lib/chat/messageTools.js +464 -276
  20. package/lib/chat/messageTools.js.map +1 -1
  21. package/lib/chat/thread.js +166 -144
  22. package/lib/chat/thread.js.map +1 -1
  23. package/lib/create/create.js.map +1 -1
  24. package/lib/create/index.js.map +1 -1
  25. package/lib/debug.js.map +1 -1
  26. package/lib/folders.js.map +1 -1
  27. package/lib/footer/index.js.map +1 -1
  28. package/lib/footer/styleMap.js.map +1 -1
  29. package/lib/header/empty-profile.js.map +1 -1
  30. package/lib/header/index.js.map +1 -1
  31. package/lib/header/styleMap.js.map +1 -1
  32. package/lib/iconBase.js.map +1 -1
  33. package/lib/index.js.map +1 -1
  34. package/lib/jss/index.js.map +1 -1
  35. package/lib/log.js +7 -7
  36. package/lib/log.js.map +1 -1
  37. package/lib/login/login.js.map +1 -1
  38. package/lib/matrix/index.js.map +1 -1
  39. package/lib/matrix/matrix.js.map +1 -1
  40. package/lib/media/index.js.map +1 -1
  41. package/lib/media/media-capture.js.map +1 -1
  42. package/lib/messageArea.js.map +1 -1
  43. package/lib/noun_Camera_1618446_000000.js.map +1 -1
  44. package/lib/ns.js.map +1 -1
  45. package/lib/pad.js.map +1 -1
  46. package/lib/participation.js.map +1 -1
  47. package/lib/preferences.js +4 -0
  48. package/lib/preferences.js.map +1 -1
  49. package/lib/signup/config-default.js.map +1 -1
  50. package/lib/signup/signup.js.map +1 -1
  51. package/lib/stories/decorators.js.map +1 -1
  52. package/lib/style.js.map +1 -1
  53. package/lib/style_multiSelect.js.map +1 -1
  54. package/lib/table.js.map +1 -1
  55. package/lib/tabs.js.map +1 -1
  56. package/lib/utils/headerFooterHelpers.js.map +1 -1
  57. package/lib/utils/index.js.map +1 -1
  58. package/lib/utils/label.js.map +1 -1
  59. package/lib/versionInfo.d.ts +2 -0
  60. package/lib/versionInfo.d.ts.map +1 -1
  61. package/lib/versionInfo.js +17 -15
  62. package/lib/versionInfo.js.map +1 -1
  63. package/lib/widgets/buttons/iconLinks.js.map +1 -1
  64. package/lib/widgets/buttons.js.map +1 -1
  65. package/lib/widgets/dragAndDrop.js.map +1 -1
  66. package/lib/widgets/error.js.map +1 -1
  67. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  68. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  69. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  70. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  71. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  72. package/lib/widgets/forms/basic.js.map +1 -1
  73. package/lib/widgets/forms/comment.js.map +1 -1
  74. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  75. package/lib/widgets/forms/fieldParams.js.map +1 -1
  76. package/lib/widgets/forms/formStyle.js.map +1 -1
  77. package/lib/widgets/forms.js.map +1 -1
  78. package/lib/widgets/index.js.map +1 -1
  79. package/lib/widgets/multiSelect.js.map +1 -1
  80. package/lib/widgets/peoplePicker.js.map +1 -1
  81. package/lib/widgets/widgetHelpers.js.map +1 -1
  82. package/package.json +20 -19
@@ -1 +1 @@
1
- {"version":3,"file":"add-agent-buttons.js","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","ensureLoadedProfile","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"],"sources":["../../src/acl/add-agent-buttons.ts"],"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 { ensureLoadedProfile } 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/solidos/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 ensureLoadedProfile(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"],"mappings":"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"}
1
+ {"version":3,"file":"add-agent-buttons.js","names":["debug","_interopRequireWildcard","require","_iconBase","_login","ns","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AddAgentButtons","groupList","_classCallCheck2","_defineProperty2","rootElement","controller","dom","createElement","barElement","_createClass2","value","render","innerHTML","appendChild","renderAddButton","_this","button","concat","icons","iconBase","toggleBar","renderBar","isExpanded","renderPersonButton","renderGroupButton","renderPublicButton","renderAuthenticatedAgentButton","renderBotButton","renderAppsButton","renderSimplifiedBar","_this2","Array","from","children","filter","element","forEach","removeChild","_this3","iconForClass","event","target","renderNameForm","vcard","then","name","addPerson","renderCleanup","error","renderStatus","_this4","addGroup","type","noun","askName","store","_this5","addAgent","foaf","uri","renderTemporaryStatus","_this6","acl","_this7","schema","addBot","_this8","eventContext","div","existingApps","renderAppsTable","renderAppsView","newApp","getOriginFromName","Promise","race","origin","addNewURI","_this9","trustedApplications","context","session","paneRegistry","byName","trustedApplicationsElement","classList","add","classes","trustedAppController","cancelButton","trustedAppCancelButton","insertBefore","firstChild","_renderAppsTable","_asyncToGenerator2","_regenerator","mark","_callee","_this10","trustedApps","trustedOrigins","wrap","_callee$","_context","prev","next","ensureLoadedProfile","each","me","flatMap","app","textContent","length","abrupt","resolve","reject","appsTable","trustedAppAddApplicationsTable","any","Error","thingTR","personTR","innerTable","innerRow","innerLeftColumn","innerMiddleColumn","label","subject","innerRightColumn","continueButton","stop","_x","apply","arguments","_addPerson","_callee2","domainNameRegexp","_callee2$","_context2","match","log","_x2","_addGroup","_callee3","_callee3$","_context3","_x3","_addAgent","_callee4","agentUri","_callee4$","_context4","_x4","_addBot","_callee5","_callee5$","_context5","_x5","_getOriginFromName","_callee6","_callee6$","_context6","_x6","exports"],"sources":["../../src/acl/add-agent-buttons.ts"],"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 { ensureLoadedProfile } 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/solidos/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 ensureLoadedProfile(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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["acl","adoptACLDefault","readACL","sameACL","ACLunion","loadUnionACL","ACLbyCombination","makeACLGraph","makeACLGraphbyCombo","ACLToString","comboToString","makeACLString","putACLObject","putACLbyCombo","fixIndividualCardACL","fixIndividualACL","setACL","getACLorDefault","getACL","aclControl","preventBrowserDropEvents","shortNameForFolder","ACLControlBox5"],"sources":["../../src/acl/index.ts"],"sourcesContent":["/**\n * Re-exports all the exports from the various files in the src/acl/ folder\n * @packageDocumentation\n */\n\nimport {\n ACLbyCombination,\n ACLToString,\n ACLunion,\n adoptACLDefault,\n comboToString,\n fixIndividualACL,\n fixIndividualCardACL,\n getACL,\n getACLorDefault,\n loadUnionACL,\n makeACLGraph,\n makeACLGraphbyCombo,\n makeACLString,\n putACLbyCombo,\n putACLObject,\n readACL,\n sameACL,\n setACL\n} from './acl'\nimport {\n ACLControlBox5,\n preventBrowserDropEvents,\n shortNameForFolder\n} from './acl-control'\n\nexport const acl = {\n adoptACLDefault,\n readACL,\n sameACL,\n ACLunion,\n loadUnionACL,\n ACLbyCombination,\n makeACLGraph,\n makeACLGraphbyCombo,\n ACLToString,\n comboToString,\n makeACLString,\n putACLObject,\n putACLbyCombo,\n fixIndividualCardACL,\n fixIndividualACL,\n setACL,\n getACLorDefault,\n getACL\n}\n\nexport const aclControl = {\n preventBrowserDropEvents,\n shortNameForFolder,\n ACLControlBox5\n}\n"],"mappings":";;;;;;AAKA;AAoBA;AAzBA;AACA;AACA;AACA;;AA4BO,IAAMA,GAAG,GAAG;EACjBC,eAAe,EAAfA,oBAAe;EACfC,OAAO,EAAPA,YAAO;EACPC,OAAO,EAAPA,YAAO;EACPC,QAAQ,EAARA,aAAQ;EACRC,YAAY,EAAZA,iBAAY;EACZC,gBAAgB,EAAhBA,qBAAgB;EAChBC,YAAY,EAAZA,iBAAY;EACZC,mBAAmB,EAAnBA,wBAAmB;EACnBC,WAAW,EAAXA,gBAAW;EACXC,aAAa,EAAbA,kBAAa;EACbC,aAAa,EAAbA,kBAAa;EACbC,YAAY,EAAZA,iBAAY;EACZC,aAAa,EAAbA,kBAAa;EACbC,oBAAoB,EAApBA,yBAAoB;EACpBC,gBAAgB,EAAhBA,qBAAgB;EAChBC,MAAM,EAANA,WAAM;EACNC,eAAe,EAAfA,oBAAe;EACfC,MAAM,EAANA;AACF,CAAC;AAAA;AAEM,IAAMC,UAAU,GAAG;EACxBC,wBAAwB,EAAxBA,oCAAwB;EACxBC,kBAAkB,EAAlBA,8BAAkB;EAClBC,cAAc,EAAdA;AACF,CAAC;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_acl","require","_aclControl","acl","adoptACLDefault","readACL","sameACL","ACLunion","loadUnionACL","ACLbyCombination","makeACLGraph","makeACLGraphbyCombo","ACLToString","comboToString","makeACLString","putACLObject","putACLbyCombo","fixIndividualCardACL","fixIndividualACL","setACL","getACLorDefault","getACL","exports","aclControl","preventBrowserDropEvents","shortNameForFolder","ACLControlBox5"],"sources":["../../src/acl/index.ts"],"sourcesContent":["/**\n * Re-exports all the exports from the various files in the src/acl/ folder\n * @packageDocumentation\n */\n\nimport {\n ACLbyCombination,\n ACLToString,\n ACLunion,\n adoptACLDefault,\n comboToString,\n fixIndividualACL,\n fixIndividualCardACL,\n getACL,\n getACLorDefault,\n loadUnionACL,\n makeACLGraph,\n makeACLGraphbyCombo,\n makeACLString,\n putACLbyCombo,\n putACLObject,\n readACL,\n sameACL,\n setACL\n} from './acl'\nimport {\n ACLControlBox5,\n preventBrowserDropEvents,\n shortNameForFolder\n} from './acl-control'\n\nexport const acl = {\n adoptACLDefault,\n readACL,\n sameACL,\n ACLunion,\n loadUnionACL,\n ACLbyCombination,\n makeACLGraph,\n makeACLGraphbyCombo,\n ACLToString,\n comboToString,\n makeACLString,\n putACLObject,\n putACLbyCombo,\n fixIndividualCardACL,\n fixIndividualACL,\n setACL,\n getACLorDefault,\n getACL\n}\n\nexport const aclControl = {\n preventBrowserDropEvents,\n shortNameForFolder,\n ACLControlBox5\n}\n"],"mappings":";;;;;;AAKA,IAAAA,IAAA,GAAAC,OAAA;AAoBA,IAAAC,WAAA,GAAAD,OAAA;AAzBA;AACA;AACA;AACA;;AA4BO,IAAME,GAAG,GAAG;EACjBC,eAAe,EAAfA,oBAAe;EACfC,OAAO,EAAPA,YAAO;EACPC,OAAO,EAAPA,YAAO;EACPC,QAAQ,EAARA,aAAQ;EACRC,YAAY,EAAZA,iBAAY;EACZC,gBAAgB,EAAhBA,qBAAgB;EAChBC,YAAY,EAAZA,iBAAY;EACZC,mBAAmB,EAAnBA,wBAAmB;EACnBC,WAAW,EAAXA,gBAAW;EACXC,aAAa,EAAbA,kBAAa;EACbC,aAAa,EAAbA,kBAAa;EACbC,YAAY,EAAZA,iBAAY;EACZC,aAAa,EAAbA,kBAAa;EACbC,oBAAoB,EAApBA,yBAAoB;EACpBC,gBAAgB,EAAhBA,qBAAgB;EAChBC,MAAM,EAANA,WAAM;EACNC,eAAe,EAAfA,oBAAe;EACfC,MAAM,EAANA;AACF,CAAC;AAAAC,OAAA,CAAAnB,GAAA,GAAAA,GAAA;AAEM,IAAMoB,UAAU,GAAG;EACxBC,wBAAwB,EAAxBA,oCAAwB;EACxBC,kBAAkB,EAAlBA,8BAAkB;EAClBC,cAAc,EAAdA;AACF,CAAC;AAAAJ,OAAA,CAAAC,UAAA,GAAAA,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","aclControlBoxContainer","margin","aclControlBoxHeader","fontSize","aclControlBoxStatus","display","aclControlBoxStatusRevealed","aclGroupContent","maxWidth","accessGroupList","gridTemplateColumns","width","accessGroupListItem","defaultsController","defaultsControllerNotice","color","flexGrow","bigButton","backgroundColor","border","borderRadius","paddingBottom","paddingTop","group","trustedAppAddApplicationsTable","trustedAppCancelButton","trustedAppControllerI","borderColor","borderWidth","temporaryStatusInit","background","temporaryStatusEnd","transition"],"sources":["../../src/acl/styles.ts"],"sourcesContent":["/**\n * Contains CSS styles for the Sharing pane,\n * see https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md\n * @packageDocumentation\n */\nexport const styles = {\n aclControlBoxContainer: {\n margin: '1em'\n },\n aclControlBoxHeader: {\n fontSize: '120%',\n margin: '0 0 1rem'\n },\n aclControlBoxStatus: {\n display: 'none',\n margin: '1rem 0'\n },\n aclControlBoxStatusRevealed: {\n display: 'block'\n },\n aclGroupContent: {\n maxWidth: 650\n },\n accessGroupList: {\n display: 'grid',\n gridTemplateColumns: '1fr',\n margin: '1em',\n width: '100%'\n },\n accessGroupListItem: {\n display: 'grid',\n gridTemplateColumns: '100px auto 30%'\n },\n defaultsController: {\n display: 'flex'\n },\n defaultsControllerNotice: {\n color: '#888',\n flexGrow: 1,\n fontSize: '80%'\n },\n bigButton: {\n backgroundColor: 'white',\n border: '0.1em solid #888',\n borderRadius: '0.3em',\n maxWidth: '50%',\n paddingBottom: '1em',\n paddingTop: '1em'\n },\n group: {\n color: '#888'\n },\n 'group-1': {\n color: 'green'\n },\n 'group-2': {\n color: '#cc0'\n },\n 'group-3': {\n color: 'orange'\n },\n 'group-5': {\n color: 'red'\n },\n 'group-9': {\n color: 'blue'\n },\n 'group-13': {\n color: 'purple'\n },\n trustedAppAddApplicationsTable: {\n backgroundColor: '#eee'\n },\n trustedAppCancelButton: {\n float: 'right' as 'right' // @@ a little hack - https://stackoverflow.com/questions/52781251/using-typescript-jss-with-react-throws-type-is-unassignable-for-some-css-prop\n },\n trustedAppControllerI: {\n borderColor: 'orange',\n borderRadius: '1em',\n borderWidth: '0.1em'\n },\n temporaryStatusInit: {\n background: 'green'\n },\n temporaryStatusEnd: {\n background: 'transparent',\n transition: 'background 5s linear'\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAG;EACpBC,sBAAsB,EAAE;IACtBC,MAAM,EAAE;EACV,CAAC;EACDC,mBAAmB,EAAE;IACnBC,QAAQ,EAAE,MAAM;IAChBF,MAAM,EAAE;EACV,CAAC;EACDG,mBAAmB,EAAE;IACnBC,OAAO,EAAE,MAAM;IACfJ,MAAM,EAAE;EACV,CAAC;EACDK,2BAA2B,EAAE;IAC3BD,OAAO,EAAE;EACX,CAAC;EACDE,eAAe,EAAE;IACfC,QAAQ,EAAE;EACZ,CAAC;EACDC,eAAe,EAAE;IACfJ,OAAO,EAAE,MAAM;IACfK,mBAAmB,EAAE,KAAK;IAC1BT,MAAM,EAAE,KAAK;IACbU,KAAK,EAAE;EACT,CAAC;EACDC,mBAAmB,EAAE;IACnBP,OAAO,EAAE,MAAM;IACfK,mBAAmB,EAAE;EACvB,CAAC;EACDG,kBAAkB,EAAE;IAClBR,OAAO,EAAE;EACX,CAAC;EACDS,wBAAwB,EAAE;IACxBC,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,CAAC;IACXb,QAAQ,EAAE;EACZ,CAAC;EACDc,SAAS,EAAE;IACTC,eAAe,EAAE,OAAO;IACxBC,MAAM,EAAE,kBAAkB;IAC1BC,YAAY,EAAE,OAAO;IACrBZ,QAAQ,EAAE,KAAK;IACfa,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDC,KAAK,EAAE;IACLR,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,UAAU,EAAE;IACVA,KAAK,EAAE;EACT,CAAC;EACDS,8BAA8B,EAAE;IAC9BN,eAAe,EAAE;EACnB,CAAC;EACDO,sBAAsB,EAAE;IACtB,SAAO,OAAkB,CAAC;EAC5B,CAAC;;EACDC,qBAAqB,EAAE;IACrBC,WAAW,EAAE,QAAQ;IACrBP,YAAY,EAAE,KAAK;IACnBQ,WAAW,EAAE;EACf,CAAC;EACDC,mBAAmB,EAAE;IACnBC,UAAU,EAAE;EACd,CAAC;EACDC,kBAAkB,EAAE;IAClBD,UAAU,EAAE,aAAa;IACzBE,UAAU,EAAE;EACd;AACF,CAAC;AAAA"}
1
+ {"version":3,"file":"styles.js","names":["styles","aclControlBoxContainer","margin","aclControlBoxHeader","fontSize","aclControlBoxStatus","display","aclControlBoxStatusRevealed","aclGroupContent","maxWidth","accessGroupList","gridTemplateColumns","width","accessGroupListItem","defaultsController","defaultsControllerNotice","color","flexGrow","bigButton","backgroundColor","border","borderRadius","paddingBottom","paddingTop","group","trustedAppAddApplicationsTable","trustedAppCancelButton","trustedAppControllerI","borderColor","borderWidth","temporaryStatusInit","background","temporaryStatusEnd","transition","exports"],"sources":["../../src/acl/styles.ts"],"sourcesContent":["/**\n * Contains CSS styles for the Sharing pane,\n * see https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md\n * @packageDocumentation\n */\nexport const styles = {\n aclControlBoxContainer: {\n margin: '1em'\n },\n aclControlBoxHeader: {\n fontSize: '120%',\n margin: '0 0 1rem'\n },\n aclControlBoxStatus: {\n display: 'none',\n margin: '1rem 0'\n },\n aclControlBoxStatusRevealed: {\n display: 'block'\n },\n aclGroupContent: {\n maxWidth: 650\n },\n accessGroupList: {\n display: 'grid',\n gridTemplateColumns: '1fr',\n margin: '1em',\n width: '100%'\n },\n accessGroupListItem: {\n display: 'grid',\n gridTemplateColumns: '100px auto 30%'\n },\n defaultsController: {\n display: 'flex'\n },\n defaultsControllerNotice: {\n color: '#888',\n flexGrow: 1,\n fontSize: '80%'\n },\n bigButton: {\n backgroundColor: 'white',\n border: '0.1em solid #888',\n borderRadius: '0.3em',\n maxWidth: '50%',\n paddingBottom: '1em',\n paddingTop: '1em'\n },\n group: {\n color: '#888'\n },\n 'group-1': {\n color: 'green'\n },\n 'group-2': {\n color: '#cc0'\n },\n 'group-3': {\n color: 'orange'\n },\n 'group-5': {\n color: 'red'\n },\n 'group-9': {\n color: 'blue'\n },\n 'group-13': {\n color: 'purple'\n },\n trustedAppAddApplicationsTable: {\n backgroundColor: '#eee'\n },\n trustedAppCancelButton: {\n float: 'right' as 'right' // @@ a little hack - https://stackoverflow.com/questions/52781251/using-typescript-jss-with-react-throws-type-is-unassignable-for-some-css-prop\n },\n trustedAppControllerI: {\n borderColor: 'orange',\n borderRadius: '1em',\n borderWidth: '0.1em'\n },\n temporaryStatusInit: {\n background: 'green'\n },\n temporaryStatusEnd: {\n background: 'transparent',\n transition: 'background 5s linear'\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAG;EACpBC,sBAAsB,EAAE;IACtBC,MAAM,EAAE;EACV,CAAC;EACDC,mBAAmB,EAAE;IACnBC,QAAQ,EAAE,MAAM;IAChBF,MAAM,EAAE;EACV,CAAC;EACDG,mBAAmB,EAAE;IACnBC,OAAO,EAAE,MAAM;IACfJ,MAAM,EAAE;EACV,CAAC;EACDK,2BAA2B,EAAE;IAC3BD,OAAO,EAAE;EACX,CAAC;EACDE,eAAe,EAAE;IACfC,QAAQ,EAAE;EACZ,CAAC;EACDC,eAAe,EAAE;IACfJ,OAAO,EAAE,MAAM;IACfK,mBAAmB,EAAE,KAAK;IAC1BT,MAAM,EAAE,KAAK;IACbU,KAAK,EAAE;EACT,CAAC;EACDC,mBAAmB,EAAE;IACnBP,OAAO,EAAE,MAAM;IACfK,mBAAmB,EAAE;EACvB,CAAC;EACDG,kBAAkB,EAAE;IAClBR,OAAO,EAAE;EACX,CAAC;EACDS,wBAAwB,EAAE;IACxBC,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,CAAC;IACXb,QAAQ,EAAE;EACZ,CAAC;EACDc,SAAS,EAAE;IACTC,eAAe,EAAE,OAAO;IACxBC,MAAM,EAAE,kBAAkB;IAC1BC,YAAY,EAAE,OAAO;IACrBZ,QAAQ,EAAE,KAAK;IACfa,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDC,KAAK,EAAE;IACLR,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,UAAU,EAAE;IACVA,KAAK,EAAE;EACT,CAAC;EACDS,8BAA8B,EAAE;IAC9BN,eAAe,EAAE;EACnB,CAAC;EACDO,sBAAsB,EAAE;IACtB,SAAO,OAAkB,CAAC;EAC5B,CAAC;;EACDC,qBAAqB,EAAE;IACrBC,WAAW,EAAE,QAAQ;IACrBP,YAAY,EAAE,KAAK;IACnBQ,WAAW,EAAE;EACf,CAAC;EACDC,mBAAmB,EAAE;IACnBC,UAAU,EAAE;EACd,CAAC;EACDC,kBAAkB,EAAE;IAClBD,UAAU,EAAE,aAAa;IACzBE,UAAU,EAAE;EACd;AACF,CAAC;AAAAC,OAAA,CAAAlC,MAAA,GAAAA,MAAA"}
@@ -28,8 +28,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
28
28
  * @packageDocumentation
29
29
  */
30
30
 
31
- /* global alert confirm */
32
-
33
31
  // pull in first avoid cross-refs
34
32
 
35
33
  var UI = {
@@ -122,7 +120,8 @@ function _findBookmarkDocument() {
122
120
  }
123
121
  userContext.bookmarkDocument = userContext.instances[0];
124
122
  if (userContext.instances.length > 1) {
125
- alert('More than one bookmark file! ' + userContext.instances);
123
+ debug.warn('More than one bookmark file! ' + userContext.instances); // @@ todo - deal with > 1
124
+ // Note should pick up community bookmarks as well
126
125
  }
127
126
  _context.next = 28;
128
127
  break;
@@ -143,7 +142,7 @@ function _findBookmarkDocument() {
143
142
  case 18:
144
143
  _context.prev = 18;
145
144
  _context.t0 = _context["catch"](12);
146
- alert.error("Can't make fresh bookmark file:" + _context.t0);
145
+ debug.warn("Can't make fresh bookmark file:" + _context.t0);
147
146
  return _context.abrupt("return", userContext);
148
147
  case 22:
149
148
  _context.next = 24;
@@ -153,7 +152,7 @@ function _findBookmarkDocument() {
153
152
  _context.next = 28;
154
153
  break;
155
154
  case 27:
156
- alert('You seem to have no bookmark file and not even a profile file.');
155
+ debug.warn('You seem to have no bookmark file and not even a profile file.');
157
156
  case 28:
158
157
  return _context.abrupt("return", userContext);
159
158
  case 29:
@@ -208,7 +207,7 @@ function _addBookmark() {
208
207
  _context2.prev = 14;
209
208
  _context2.t0 = _context2["catch"](9);
210
209
  msg = 'Making bookmark: ' + _context2.t0;
211
- alert.error(msg);
210
+ debug.warn(msg);
212
211
  return _context2.abrupt("return", null);
213
212
  case 19:
214
213
  return _context2.abrupt("return", bookmark);
@@ -261,7 +260,7 @@ function _toggleBookmark() {
261
260
  _context3.prev = 15;
262
261
  _context3.t0 = _context3["catch"](8);
263
262
  debug.error('Cant delete bookmark:' + _context3.t0);
264
- alert('Cant delete bookmark:' + _context3.t0);
263
+ debug.warn('Cant delete bookmark:' + _context3.t0);
265
264
  case 19:
266
265
  i++;
267
266
  _context3.next = 7;
@@ -1 +1 @@
1
- {"version":3,"file":"bookmarks.js","names":["UI","icons","ns","media","pad","rdf","style","utils","widgets","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","createIfNotExists","doc","Promise","resolve","reject","store","fetcher","load","then","response","debug","log","err","status","webOperation","uri","data","contentType","requested","updatePromise","del","ins","updater","update","ok","errorBody","Error","findBookmarkDocument","userContext","theClass","fileTail","isPublic","findAppInstances","instances","length","bookmarkDocument","alert","publicProfile","newBookmarkFile","sym","dir","error","registerInTypeIndex","index","addBookmark","context","target","title","me","authn","currentUser","author","any","foaf","anyValue","sioc","slice","bookmarkDoc","bookmark","newThing","st","dct","Date","msg","toggleBookmark","bookmarkButton","bookmarks","each","confirm","i","connectedStatements","backgroundColor","renderBookmarksButton","setBookmarkButtonColor","bookmarked","buttonStyle","button","iconBase"],"sources":["../../src/chat/bookmarks.js"],"sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\n/* global alert confirm */\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n/** Create a resource if it really does not exist\n * Be absolutely sure something does not exist before creating a new empty file\n * as otherwise existing could be deleted.\n * @param doc {NamedNode} - The resource\n */\nfunction createIfNotExists (doc) {\n return new Promise(function (resolve, reject) {\n store.fetcher.load(doc).then(\n response => {\n debug.log('createIfNotExists doc exists, all good ' + doc)\n // store.fetcher.webOperation('HEAD', doc.uri).then(response => {\n resolve(response)\n },\n err => {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists doc does NOT exist, will create... ' + doc\n )\n\n store.fetcher\n .webOperation('PUT', doc.uri, {\n data: '',\n contentType: 'text/turtle'\n })\n .then(\n response => {\n // fetcher.requested[doc.uri] = 'done' // do not need to read ?? but no headers\n delete store.fetcher.requested[doc.uri] // delete cached 404 error\n debug.log('createIfNotExists doc created ok ' + doc)\n resolve(response)\n },\n err => {\n debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err)\n reject(err)\n }\n )\n } else {\n debug.log(\n 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err\n )\n reject(err)\n }\n }\n )\n })\n}\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n alert('More than one bookmark file! ' + userContext.instances)\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await createIfNotExists(newBookmarkFile)\n } catch (e) {\n alert.error(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n newBookmarkFile,\n userContext.index,\n theClass\n )\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n alert('You seem to have no bookmark file and not even a profile file.')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n alert.error(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n alert('Cant delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"bookmarks.js","names":["debug","_interopRequireWildcard","require","_iconBase","_index","ns","pad","rdf","style","utils","widgets","_solidLogic","_login","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","media","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","createIfNotExists","doc","Promise","resolve","reject","store","fetcher","load","then","response","log","err","status","webOperation","uri","data","contentType","requested","updatePromise","del","ins","updater","update","ok","errorBody","Error","findBookmarkDocument","_x","_findBookmarkDocument","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","userContext","theClass","fileTail","isPublic","newBookmarkFile","wrap","_callee$","_context","prev","next","findAppInstances","instances","length","bookmarkDocument","warn","publicProfile","sym","dir","t0","abrupt","registerInTypeIndex","index","stop","addBookmark","_x2","_x3","_addBookmark","_callee2","context","target","title","me","author","bookmarkDoc","bookmark","msg","_callee2$","_context2","authn","currentUser","any","foaf","anyValue","sioc","slice","newThing","st","dct","Date","toggleBookmark","_x4","_x5","_x6","_toggleBookmark","_callee3","bookmarkButton","bookmarks","i","_callee3$","_context3","each","confirm","connectedStatements","backgroundColor","error","sent","renderBookmarksButton","_x7","_x8","_renderBookmarksButton","_callee5","setBookmarkButtonColor","_setBookmarkButtonColor","_callee5$","_context5","_setBookmarkButtonCol2","_callee4","bookmarked","_callee4$","_context4","buttonStyle","_setBookmarkButtonCol","_x9","button","iconBase"],"sources":["../../src/chat/bookmarks.js"],"sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n/** Create a resource if it really does not exist\n * Be absolutely sure something does not exist before creating a new empty file\n * as otherwise existing could be deleted.\n * @param doc {NamedNode} - The resource\n */\nfunction createIfNotExists (doc) {\n return new Promise(function (resolve, reject) {\n store.fetcher.load(doc).then(\n response => {\n debug.log('createIfNotExists doc exists, all good ' + doc)\n // store.fetcher.webOperation('HEAD', doc.uri).then(response => {\n resolve(response)\n },\n err => {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists doc does NOT exist, will create... ' + doc\n )\n\n store.fetcher\n .webOperation('PUT', doc.uri, {\n data: '',\n contentType: 'text/turtle'\n })\n .then(\n response => {\n // fetcher.requested[doc.uri] = 'done' // do not need to read ?? but no headers\n delete store.fetcher.requested[doc.uri] // delete cached 404 error\n debug.log('createIfNotExists doc created ok ' + doc)\n resolve(response)\n },\n err => {\n debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err)\n reject(err)\n }\n )\n } else {\n debug.log(\n 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err\n )\n reject(err)\n }\n }\n )\n })\n}\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n debug.warn('More than one bookmark file! ' + userContext.instances) // @@ todo - deal with > 1\n // Note should pick up community bookmarks as well\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await createIfNotExists(newBookmarkFile)\n } catch (e) {\n debug.warn(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n newBookmarkFile,\n userContext.index,\n theClass\n )\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n debug.warn('You seem to have no bookmark file and not even a profile file.')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n debug.warn(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n debug.warn('Cant delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"mappings":"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"}